def test_taxonomy_add_lineage1(): t = Taxonomy() lineage = { '{}_'.format(rank): '{}{}'.format(rank, 1) for rank in TAXON_RANKS } t.add_lineage(**lineage)
def test_taxonomy_add_lineage2(): t = Taxonomy() lineage = { '{}_'.format(rank): '{}{}'.format(rank, 1) for rank in TAXON_RANKS } lineage['subspecies'] = 'subspecies1' t.add_lineage(**lineage)
def taxonomy(): t = Taxonomy() for x in range(10): lineage = { '{}_'.format(rank): '{}{}'.format(rank, x) for rank in TAXON_RANKS } t.add_lineage(**lineage) return t
def test_taxonomy_add_lineage3(): t = Taxonomy() lineage = { '{}_'.format(rank): '{}{}'.format(rank, 1) for rank in TAXON_RANKS } lineage['subspecies'] = 'subspecies1' lineage['cultivar'] = 'cultivar1' with pytest.raises(ValueError): t.add_lineage(**lineage)
def test_taxonomy_serialise_msgpack(taxonomy, tmpdir): file_name = tmpdir.join('tx.msgpack').strpath taxonomy.save_data(file_name) tx2 = Taxonomy(file_name) assert taxonomy._taxa == tx2._taxa
def test_taxonomy_find_by_name_rank4(): taxonomy = Taxonomy() taxonomy.add_lineage(superkingdom='test_k', phylum='test_p1', order='test_o') taxonomy.add_lineage(superkingdom='test_k', phylum='test_p2', order='test_o') taxon_id = taxonomy.find_by_name('test_o', rank='order', strict=False) assert len(taxon_id) == 2
def test_taxonomy_find_by_name_rank3(): taxonomy = Taxonomy() taxonomy.add_lineage(superkingdom='test_k', phylum='test_p1', order='test_o') taxonomy.add_lineage(superkingdom='test_k', phylum='test_p2', order='test_o') with pytest.raises(KeyError): taxon_id = taxonomy.find_by_name('test_o', rank='order')
def test_taxonomy_add_taxon2(): taxonomy = Taxonomy() taxonomy.add_lineage(superkingdom='test_k', phylum='test_p1', order='test_o') taxon_id = taxonomy.add_lineage(superkingdom='test_k', phylum='test_p2', order='test_o') with pytest.raises(KeyError): taxonomy.add_taxon('test_o', rank='order', parent_id=1)
def test_taxonomy_add_taxon1(): taxonomy = Taxonomy() taxonomy.add_lineage(superkingdom='test_k', phylum='test_p1', order='test_o') taxon_id = taxonomy.add_lineage(superkingdom='test_k', phylum='test_p2', order='test_o') parent_id = taxonomy.find_by_name('test_p2', rank='phylum') assert taxon_id == taxonomy.add_taxon('test_o', rank='order', parent_id=parent_id)
def test_taxonomy_parse_gtdb_lineage(): lineage = 'd__kingdom1;p__phylum1;o__order1;c__class1;f__family1;g__genus1;s__species1' result_dict = Taxonomy.parse_gtdb_lineage(lineage) assert result_dict == { 'superkingdom': 'kingdom1', 'phylum': 'phylum1', 'order': 'order1', 'class': 'class1', 'family': 'family1', 'genus': 'genus1', 'species': 'species1' }
def test_read_ncbi_taxonomy(taxonomy_files): taxonomy = Taxonomy() taxonomy.read_from_ncbi_dump(*taxonomy_files) assert taxonomy.find_by_name('prevotella', rank='genus') == 838