Skip to content

Commit

Permalink
required updates to FeatureData[MAG]
Browse files Browse the repository at this point in the history
  • Loading branch information
misialq committed Jul 11, 2023
1 parent 5737261 commit a632195
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 28 deletions.
20 changes: 10 additions & 10 deletions q2_types_genomics/feature_data/_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@


MAGSequencesDirFmt = model.SingleFileDirectoryFormat(
'MAGSequencesDirFmt', r'mag[0-9]+\.(fa|fasta)$', DNAFASTAFormat)

plugin.register_formats(
MAGSequencesDirFmt
"MAGSequencesDirFmt",
r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-"
r"[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}\.(fa|fasta)$",
DNAFASTAFormat,
)

plugin.register_formats(MAGSequencesDirFmt)


class OrthologAnnotationDirFmt(model.DirectoryFormat):
annotations = model.FileCollection(
r'.+\.annotations',
format=OrthologFileFmt
)
r'.+\.annotations',
format=OrthologFileFmt
)

@annotations.set_path_maker
def annotations_path_maker(self, file_name):
return file_name.split(sep="_")[0]


plugin.register_formats(
OrthologAnnotationDirFmt
)
plugin.register_formats(OrthologAnnotationDirFmt)
40 changes: 22 additions & 18 deletions q2_types_genomics/feature_data/tests/test_transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,27 @@ class TestTransformers(TestPluginBase):
def setUp(self):
super().setUp()
self.mags_fa = {
'mag1': {
'23c5b64e-3f3e-4688-9862-e9dae4fa0f5b': {
'k129_5480': 'TTATTTTCAAGATAATGAGCCAATTTAAGCGGTGTCTGGCCG'
'CCAAGCTGCACGATCACACCTTTAA'
},
'mag2': {
'70c5a728-96a6-4eed-b9f9-9a73153c1385': {
'k129_5112': 'CCCCGGAAAGGGCTGGCGACCGACGATGACCTCGGGAAGCCC'
'CAACTCGCGGCCGATGGCGCGTACCTCGTC'
},
'mag3': {
'7e2a749a-a19a-4b62-8195-0ee601b5fdfb': {
'k129_6525': 'AAACTCTATCAAGCGTATACCAAAGTGAGTGGTGTATTGATC'
'AGTCAGCTCATTATTGAATCGGA',
'k129_6531': 'TCGGATTTGCCGAATGCTTTTTGTAAGGGCCTTCAATTGATT'
'TGGCGATAGCGAGCCCGTATTTACGGT'
}
}
self.mags_fasta = {
'mag1': {
'3b7d53fb-5b60-46c6-8819-aeda065b12e9': {
'k129_5401': 'CCATTGTATGTCTTTAGGTAGCTCCTCATGTTTGAGGTTCAT'
'GTCTTGGATTTTGTTTTCTCCAAAAATC'
},
'6232c7e1-8ed7-47c8-9bdb-b94706a26931': {
'k129_4684': 'TGATACCGACGCGGCACTTGAGTGCGCGCTATCCTTCAAGGA'
'AGCCACATGCGTTATTGTTAAACA',
'k129_5618': 'GTGCTAATCGCACCCTCATGAGCGACACCATTATTCTTTATT'
Expand All @@ -53,10 +57,6 @@ def setUp(self):
'k129_2817': 'GTCGCCAATTAGCAACTATGATGTCTTCTGGAGTACCTTTGG'
'TCCAATCATTTGAAATCA'
},
'mag2': {
'k129_5401': 'CCATTGTATGTCTTTAGGTAGCTCCTCATGTTTGAGGTTCAT'
'GTCTTGGATTTTGTTTTCTCCAAAAATC'
}
}

@staticmethod
Expand Down Expand Up @@ -86,11 +86,13 @@ def read_seqs_into_dict(loc):
return seqs

def test_mag_sequences_dir_fmt_to_dataframe(self):
_, obs = self.transform_format(MAGSequencesDirFmt, pd.DataFrame,
filenames=[
'mags-fasta/mag1.fasta',
'mags-fasta/mag2.fasta',
])
_, obs = self.transform_format(
MAGSequencesDirFmt, pd.DataFrame,
filenames=[
'mags-fasta/3b7d53fb-5b60-46c6-8819-aeda065b12e9.fasta',
'mags-fasta/6232c7e1-8ed7-47c8-9bdb-b94706a26931.fasta',
]
)
exp = self.mags_to_df(self.mags_fasta)
pd.testing.assert_frame_equal(exp, obs)

Expand All @@ -105,11 +107,13 @@ def test_dataframe_to_mag_sequences_dir_fmt(self):
self.assertDictEqual(self.mags_fasta, obs_seqs)

def test_mag_sequences_dir_fmt_to_mag_iterator(self):
_, obs = self.transform_format(MAGSequencesDirFmt, MAGIterator,
filenames=[
'mags-fasta/mag1.fasta',
'mags-fasta/mag2.fasta',
])
_, obs = self.transform_format(
MAGSequencesDirFmt, MAGIterator,
filenames=[
'mags-fasta/6232c7e1-8ed7-47c8-9bdb-b94706a26931.fasta',
'mags-fasta/3b7d53fb-5b60-46c6-8819-aeda065b12e9.fasta',
]
)

exp = self.create_multi_generator(self.mags_fasta)
for e, o in zip(exp, obs):
Expand Down

0 comments on commit a632195

Please sign in to comment.