diff --git a/q2_types/per_sample_sequences/_transformer.py b/q2_types/per_sample_sequences/_transformer.py index 066ad64f..78f8e16a 100644 --- a/q2_types/per_sample_sequences/_transformer.py +++ b/q2_types/per_sample_sequences/_transformer.py @@ -11,6 +11,7 @@ import gzip import shutil import warnings +import tempfile import collections import skbio @@ -97,7 +98,11 @@ def _11(dirfmt: CasavaOneEightLanelessPerSampleDirFmt) \ @plugin.register_transformer def _12(dirfmt: SingleLanePerSampleSingleEndFastqDirFmt) \ -> CasavaOneEightSingleLanePerSampleDirFmt: - return CasavaOneEightSingleLanePerSampleDirFmt(str(dirfmt), mode='r') + casavaDir = tempfile.mkdtemp() + for file in os.listdir(str(dirfmt)): + if 'MANIFEST' not in file and 'metadata' not in file: + shutil.copy(os.path.join(str(dirfmt), file), casavaDir) + return CasavaOneEightSingleLanePerSampleDirFmt(casavaDir, mode='r') @plugin.register_transformer diff --git a/q2_types/per_sample_sequences/tests/test_transformer.py b/q2_types/per_sample_sequences/tests/test_transformer.py index e5faaa6c..1c49ef61 100644 --- a/q2_types/per_sample_sequences/tests/test_transformer.py +++ b/q2_types/per_sample_sequences/tests/test_transformer.py @@ -139,11 +139,12 @@ def test_casava_one_eight_single_lane_per_sample_dirfmt_to_slpssefdf(self): self.assertEqual(act, exp) def test_slpssefdf_to_casava_one_eight_single_lane_per_sample_dirfmt(self): - filenames = ('Human-Kneecap_S1_L001_R1_001.fastq.gz',) + filenames = ('single-end-two-sample-data2/MANIFEST', + 'metadata.yml', + 'Human-Kneecap_S1_L001_R1_001.fastq.gz') input, obs = self.transform_format( SingleLanePerSampleSingleEndFastqDirFmt, - CasavaOneEightSingleLanePerSampleDirFmt, filenames=filenames - ) + CasavaOneEightSingleLanePerSampleDirFmt, filenames=filenames) input = skbio.io.read( '%s/Human-Kneecap_S1_L001_R1_001.fastq.gz' % str(input),