diff --git a/q2_types/per_sample_sequences/_transformer.py b/q2_types/per_sample_sequences/_transformer.py index 6e657c67..3354e0ae 100644 --- a/q2_types/per_sample_sequences/_transformer.py +++ b/q2_types/per_sample_sequences/_transformer.py @@ -94,6 +94,15 @@ def _11(dirfmt: CasavaOneEightLanelessPerSampleDirFmt) \ dirfmt, SingleLanePerSamplePairedEndFastqDirFmt, parse_lane=False) +@plugin.register_transformer +def _27(dirfmt: SingleLanePerSampleSingleEndFastqDirFmt) \ + -> CasavaOneEightSingleLanePerSampleDirFmt: + casava = CasavaOneEightSingleLanePerSampleDirFmt(mode='w') + for fastq in dirfmt.path.glob('*.fastq.gz'): + shutil.copy(os.path.join(str(dirfmt), fastq), str(casava)) + return casava + + @plugin.register_transformer def _5(dirfmt: SingleLanePerSamplePairedEndFastqDirFmt) \ -> SingleLanePerSampleSingleEndFastqDirFmt: diff --git a/q2_types/per_sample_sequences/tests/test_transformer.py b/q2_types/per_sample_sequences/tests/test_transformer.py index 3bc8fbec..1c49ef61 100644 --- a/q2_types/per_sample_sequences/tests/test_transformer.py +++ b/q2_types/per_sample_sequences/tests/test_transformer.py @@ -138,12 +138,13 @@ def test_casava_one_eight_single_lane_per_sample_dirfmt_to_slpssefdf(self): for act, exp in zip(obs, input): self.assertEqual(act, exp) - def test_casava_one_eight_single_lane_per_sample_dirfmt_to_slpspefdf(self): - filenames = ('Human-Kneecap_S1_L001_R1_001.fastq.gz',) + def test_slpssefdf_to_casava_one_eight_single_lane_per_sample_dirfmt(self): + filenames = ('single-end-two-sample-data2/MANIFEST', + 'metadata.yml', + 'Human-Kneecap_S1_L001_R1_001.fastq.gz') input, obs = self.transform_format( - CasavaOneEightSingleLanePerSampleDirFmt, - SingleLanePerSamplePairedEndFastqDirFmt, filenames=filenames - ) + SingleLanePerSampleSingleEndFastqDirFmt, + CasavaOneEightSingleLanePerSampleDirFmt, filenames=filenames) input = skbio.io.read( '%s/Human-Kneecap_S1_L001_R1_001.fastq.gz' % str(input),