def test_fasta_with_fungi(self): result = fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [BiologicalSequence("ATCG", id="AB21", description="Fungi")])
def test_fasta_with_fungi(self): result = fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [Sequence("ATCG", metadata={'id': "AB21", 'description': "Fungi"})])
def test_fasta_with_many_fungi(self): result = fungi_from_fasta(self.fasta_many_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [ BiologicalSequence("GGGG", id="AB123", description="Fungi"), BiologicalSequence("CCCC", id="AB125", description="Fungi"), BiologicalSequence("AAAA", id="AB126", description="Fungi"), ])
def test_fasta_with_many_fungi(self): result = fungi_from_fasta(self.fasta_many_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [ Sequence("GGGG", metadata={'id': "AB123", 'description': "Fungi"}), Sequence("CCCC", metadata={'id': "AB125", 'description': "Fungi"}), Sequence("AAAA", metadata={'id': "AB126", 'description': "Fungi"}), ])
def test_fasta_with_fungi(self): result = fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [ Sequence("ATCG", metadata={ 'id': "AB21", 'description': "Fungi" }) ])
def test_fasta_with_many_fungi(self): result = fungi_from_fasta(self.fasta_many_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual(list(result), [ Sequence("GGGG", metadata={ 'id': "AB123", 'description': "Fungi" }), Sequence("CCCC", metadata={ 'id': "AB125", 'description': "Fungi" }), Sequence("AAAA", metadata={ 'id': "AB126", 'description': "Fungi" }), ])
def extract_fungi( aligned_silva_file: AlignedDNAFASTAFormat, accession_file: SilvaAccessionFormat, taxonomy_file: SilvaTaxonomyFormat, ) -> AlignedDNAFASTAFormat: aligned_silva_fh = aligned_silva_file.open() accession_fh = accession_file.open() taxonomy_fh = taxonomy_file.open() fasta_file = AlignedDNAFASTAFormat() skbio.write(fungi_from_fasta(aligned_silva_fh, accession_fh, taxonomy_fh), into=str(fasta_file), format='fasta') # TODO this code is a good example of pithy return for plugins # TODO redo other functions in the same way by instantiating a return fasta_file
def test_duplicate_map_numbers(self): with self.assertRaises(ValueError): list( fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_duplicates))
def test_fasta_with_fungi(self): result = fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_fungi) self.assertEqual( list(result), [BiologicalSequence("ATCG", id="AB21", description="Fungi")])
def test_fasta_no_fungi(self): result = fungi_from_fasta(self.fasta_no_fungi, self.accession, self.taxonomy_no_fungi) self.assertEqual(list(result), [])
def test_duplicate_map_numbers(self): with self.assertRaises(ValueError): list(fungi_from_fasta(self.fasta_with_fungi, self.accession, self.taxonomy_with_duplicates))