From b9026c49e032d016bf9450bba3f308b0ca6458cd Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sat, 25 Oct 2025 08:40:20 +0100 Subject: [PATCH 1/9] Mock API call for OLS to remove network dependency --- tests/databases/ols/fetch_test.py | 174 +++++++++++++++++++++--------- 1 file changed, 125 insertions(+), 49 deletions(-) diff --git a/tests/databases/ols/fetch_test.py b/tests/databases/ols/fetch_test.py index 382377363..70d368634 100644 --- a/tests/databases/ols/fetch_test.py +++ b/tests/databases/ols/fetch_test.py @@ -13,6 +13,8 @@ limitations under the License. """ +from unittest.mock import Mock, patch + import pytest from furl import furl @@ -49,62 +51,136 @@ def test_can_get_correct_term_url(term, url): @pytest.mark.ols -@pytest.mark.network def test_can_fetch_a_go_term(): - assert ols.term("GO:0005739") == OntologyTerm( - ontology="GO", - ontology_id="GO:0005739", - name="mitochondrion", - definition=( - "A semiautonomous, self replicating organelle that occurs in " - "varying numbers, shapes, and sizes in the cytoplasm of virtually " - "all eukaryotic cells. It is notably the site of tissue " - "respiration." - ), - synonyms=["mitochondria"], - insdc_qualifier=None, - ) + # Mock OLS4 API response for GO:0005739 (mitochondrion) + mock_response = Mock() + mock_response.json.return_value = { + "label": "mitochondrion", + "annotation": { + "definition": [ + "A semiautonomous, self replicating organelle that occurs in " + "varying numbers, shapes, and sizes in the cytoplasm of virtually " + "all eukaryotic cells. It is notably the site of tissue " + "respiration." + ], + "has_exact_synonym": ["mitochondria"], + }, + } + mock_response.raise_for_status = Mock() + + with patch("rnacentral_pipeline.databases.ols.fetch.requests.get", return_value=mock_response): + assert ols.term("GO:0005739") == OntologyTerm( + ontology="GO", + ontology_id="GO:0005739", + name="mitochondrion", + definition=( + "A semiautonomous, self replicating organelle that occurs in " + "varying numbers, shapes, and sizes in the cytoplasm of virtually " + "all eukaryotic cells. It is notably the site of tissue " + "respiration." + ), + synonyms=["mitochondria"], + insdc_qualifier=None, + ) @pytest.mark.ols def test_can_fetch_an_so_term(): - assert ols.term("SO:0000276") == OntologyTerm( - ontology="SO", - ontology_id="SO:0000276", - name="miRNA", - definition=( - "Small, ~22-nt, RNA molecule that is the endogenous " - "transcript of a miRNA gene (or the product of other non " - "coding RNA genes. Micro RNAs are produced from precursor " - "molecules (SO:0001244) that can form local hairpin " - "structures, which ordinarily are processed (usually via the " - "Dicer pathway) such that a single miRNA molecule " - "accumulates from one arm of a hairpin precursor molecule. " - "Micro RNAs may trigger the cleavage of their target molecules " - "or act as translational repressors." - ), - synonyms=[ - "INSDC_feature:ncRNA", - "micro RNA", - "microRNA", - "small temporal RNA", - "stRNA", - ], - insdc_qualifier="miRNA", - ) + # Mock OLS4 API response for SO:0000276 (miRNA) + mock_response = Mock() + mock_response.json.return_value = { + "label": "miRNA", + "annotation": { + "definition": [ + "Small, ~22-nt, RNA molecule that is the endogenous " + "transcript of a miRNA gene (or the product of other non " + "coding RNA genes. Micro RNAs are produced from precursor " + "molecules (SO:0001244) that can form local hairpin " + "structures, which ordinarily are processed (usually via the " + "Dicer pathway) such that a single miRNA molecule " + "accumulates from one arm of a hairpin precursor molecule. " + "Micro RNAs may trigger the cleavage of their target molecules " + "or act as translational repressors." + ], + "has_exact_synonym": [ + "INSDC_qualifier:miRNA", + "INSDC_feature:ncRNA", + "micro RNA", + "microRNA", + "small temporal RNA", + "stRNA", + ], + }, + } + mock_response.raise_for_status = Mock() + + with patch("rnacentral_pipeline.databases.ols.fetch.requests.get", return_value=mock_response): + assert ols.term("SO:0000276") == OntologyTerm( + ontology="SO", + ontology_id="SO:0000276", + name="miRNA", + definition=( + "Small, ~22-nt, RNA molecule that is the endogenous " + "transcript of a miRNA gene (or the product of other non " + "coding RNA genes. Micro RNAs are produced from precursor " + "molecules (SO:0001244) that can form local hairpin " + "structures, which ordinarily are processed (usually via the " + "Dicer pathway) such that a single miRNA molecule " + "accumulates from one arm of a hairpin precursor molecule. " + "Micro RNAs may trigger the cleavage of their target molecules " + "or act as translational repressors." + ), + synonyms=[ + "INSDC_feature:ncRNA", + "micro RNA", + "microRNA", + "small temporal RNA", + "stRNA", + ], + insdc_qualifier="miRNA", + ) @pytest.mark.ols def test_caching_works_as_expected(): - ols.term.cache_clear() - assert ols.term.cache_info().hits == 0 - assert ols.term.cache_info().misses == 0 - assert ols.term("SO:0000276").name == "miRNA" - assert ols.term.cache_info().hits == 0 - assert ols.term.cache_info().misses == 1 - for count in range(10): - print(ols.term.cache_info()) - print(count) - assert ols.term("SO:0000276").insdc_qualifier == "miRNA" - assert ols.term.cache_info().hits == count + 1 + # Mock OLS4 API response for SO:0000276 (miRNA) + mock_response = Mock() + mock_response.json.return_value = { + "label": "miRNA", + "annotation": { + "definition": [ + "Small, ~22-nt, RNA molecule that is the endogenous " + "transcript of a miRNA gene (or the product of other non " + "coding RNA genes. Micro RNAs are produced from precursor " + "molecules (SO:0001244) that can form local hairpin " + "structures, which ordinarily are processed (usually via the " + "Dicer pathway) such that a single miRNA molecule " + "accumulates from one arm of a hairpin precursor molecule. " + "Micro RNAs may trigger the cleavage of their target molecules " + "or act as translational repressors." + ], + "has_exact_synonym": [ + "INSDC_qualifier:miRNA", + "INSDC_feature:ncRNA", + "micro RNA", + "microRNA", + "small temporal RNA", + "stRNA", + ], + }, + } + mock_response.raise_for_status = Mock() + + with patch("rnacentral_pipeline.databases.ols.fetch.requests.get", return_value=mock_response): + ols.term.cache_clear() + assert ols.term.cache_info().hits == 0 + assert ols.term.cache_info().misses == 0 + assert ols.term("SO:0000276").name == "miRNA" + assert ols.term.cache_info().hits == 0 assert ols.term.cache_info().misses == 1 + for count in range(10): + print(ols.term.cache_info()) + print(count) + assert ols.term("SO:0000276").insdc_qualifier == "miRNA" + assert ols.term.cache_info().hits == count + 1 + assert ols.term.cache_info().misses == 1 From 59f02300f63372e3337565ae782b02a545d9a376 Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sat, 25 Oct 2025 09:00:36 +0100 Subject: [PATCH 2/9] Add mocking for gtdb taxonomy in tmRNA tests to remove network calls --- tests/databases/tmrna/parser_test.py | 116 ++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 3 deletions(-) diff --git a/tests/databases/tmrna/parser_test.py b/tests/databases/tmrna/parser_test.py index 27e422e74..254954f1e 100644 --- a/tests/databases/tmrna/parser_test.py +++ b/tests/databases/tmrna/parser_test.py @@ -13,14 +13,126 @@ limitations under the License. """ +from unittest.mock import patch + import pytest from rnacentral_pipeline.databases.data import Entry, SequenceFeature from rnacentral_pipeline.databases.tmrna import parser +# Taxonomy mappings extracted from test data to avoid network calls +# Maps GTDB lineage strings to NCBI taxonomy IDs +TAXONOMY_MAPPINGS = { + "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella chromatophora": 39717, + "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella longichromatophora": 1708747, + "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella micropora": 1928728, + "Plastids,d__Eukaryota,Schizocladia ischiensis": 196139, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas curvata": 233186, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas paramecium": 2898, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas pyrenoidifera": 233184, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Chroomonadaceae,Chroomonas placoidea": 173977, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae,Guillardia theta": 55529, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae,Teleaulax amphioxeia": 77931, + "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Pyrenomonadaceae,Rhodomonas salina": 3034, + "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora biloba": 1489483, + "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora paradoxa": 2762, + "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora sudae": 1522369, + "Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae,Durinskia baltica": 59809, + "Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae,Kryptoperidinium foliaceum": 160619, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae,Bolidomonas sp": 722751, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae,Triparma laevis": 1534972, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Dictyochales,Dictyocha speculum": 3111310, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Florenciellales,Florenciella parvula": 236787, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Pedinellales,Pseudopedinella elastica": 35684, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Rhizochromulinales,Rhizochromulina marina": 1034831, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,Eustigmatophyceae sp": 5747, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Characiopsis acuta": 2040456, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Chlorobotrys sp": 2974601, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Lietzensia polymorpha": 2962110, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Neustupella aerophytica": 2962111, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Vischeria punctata": 643629, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Vischeria sp": 2974601, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Monodopsis sp": 425072, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis gaditana": 72520, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis granulata": 43926, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis limnetica": 120807, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis oceanica": 145522, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis oculata": 43925, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis salina": 2511165, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Neomonodaceae,Pseudellipsoidion edaphicum": 1431838, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Goniochloridales,f__Goniochloridaceae,Trachydiscus minutus": 1032745, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Olisthodiscophyceae,f__Olisthodiscaceae,Olisthodiscus luteus": 83000, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Aureococcus anophagefferens": 44056, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Aureoumbra lagunensis": 44058, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Pelagomonas sp": 54409, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Dictyotales,f__Dictyotaceae,Dictyopteris divaricata": 156996, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Acinetosporaceae,Pylaiella littoralis": 2885, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae,Cladosiphon okamuranus": 309737, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae,Pleurocladia lacustris": 246121, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ectocarpaceae,Ectocarpus siliculosus": 2880, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ishigeaceae,Ishige okamurae": 233772, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Colpomenia_sinuosa": 2891, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Endarachne binghamiae": 698476, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon canaliculatus": 2567908, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon lomentaria": 27967, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon promiscuus": 1403536, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae,Fucus vesiculosus": 49266, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae,Silvetia siliquosa": 93837, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Coccophora langsdorfii": 74099, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum confusum": 74091, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum fulvellum": 3016, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum fusiforme": 590727, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum horneri": 74089, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum macrocarpum": 74092, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum plagiophyllum": 1436148, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum polycystum": 127578, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum siliquastrum": 127572, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum thunbergii": 127542, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Agaraceae,Costaria costata": 2872, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria crassifolia": 98220, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria crispa": 441892, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria marginata": 98221, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria praelonga": 88159, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Undaria pinnatifida": 74381, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria digitata": 80365, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria rodriguezii": 1740620, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria solidungula": 309363, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Macrocystis integrifolia": 169774, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Macrocystis pyrifera": 35122, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Saccharina japonica": 88149, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Saccharina latissima": 309358, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Ecklonia radiata": 309355, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Lessonia flavicans": 169771, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Lessonia spicata": 1899210, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,Haramonas pauciplastida": 478668, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae,Chattonella marina": 90936, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae,Heterosigma akashiwo": 2829, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Gonyostomum semen": 375454, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Merotricha bacillata": 658122, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Vacuolaria virescens": 44451, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae,Mallomonas splendens": 52552, + "Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae,Synura uvella": 52557, + "Plastids,d__Eukaryota,k__Ochrophyta,p__Bacillariophyta,c__Bacillariophyceae,f__Entomoneidaceae,Entomoneis sp": 186041, + "d__Bacteria,p__UBA6262,c__UBA6262,o__WVXT01,f__WVXT01,WVXT01__sp009619095,WVXT01 sp009619095": 1869227, + "d__Bacteria,p__Verrucomicrobiota,c__Verrucomicrobiae,o__Opitutales,f__UBA953,UBA953__sp003569205,UBA953 sp003569205": 415000, +} + + +@pytest.fixture(scope="module") +def mock_taxonomy(): + """Mock the taxonomy lookup to avoid network calls to ENA/UniProt APIs""" + def mock_phylogeny_to_taxid(lineage: str) -> int: + if lineage in TAXONOMY_MAPPINGS: + return TAXONOMY_MAPPINGS[lineage] + # Raise error for unmapped lineages - should not happen with complete test data + raise ValueError(f"Unmapped lineage in test data: {lineage}") + + with patch("rnacentral_pipeline.databases.helpers.gtdb.phylogeny_to_taxid", side_effect=mock_phylogeny_to_taxid): + yield + @pytest.fixture(scope="module") -def data(): +def data(mock_taxonomy): with open("data/tmrna/example.tsv", "r") as raw: data = {} for item in parser.parse(raw): @@ -29,12 +141,10 @@ def data(): return data -@pytest.mark.network def test_can_parse_file(data): assert len(data) == 108 -@pytest.mark.network @pytest.mark.parametrize( "id,expected", [ From 55d14ba30f88c0c2ddd471dd024f190234333357 Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sat, 25 Oct 2025 09:31:41 +0100 Subject: [PATCH 3/9] Update tmrna test with current data --- data/tmrna/example.tsv | 128 +++---------- tests/databases/tmrna/parser_test.py | 266 ++++++++++----------------- 2 files changed, 124 insertions(+), 270 deletions(-) diff --git a/data/tmrna/example.tsv b/data/tmrna/example.tsv index 71b9e7f68..27c7b50f1 100644 --- a/data/tmrna/example.tsv +++ b/data/tmrna/example.tsv @@ -1,102 +1,26 @@ -#ID Form Segments Tag Gencode Evidence Taxonomy Sequence InstanceCt Instances Note -Paulinella__chromatophora.1 Permuted Acceptor:1-70,IVS:71-76,Coding:77-275,TagCDS:149-199,CCAequiv:71-73 ANNIVRFSRQAAPVAA* 11 aragorn-1.2.40:108.8,infernal-1.1.2:293.2/cyano_tmRNA Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae GTTCGGTTATTGCCGAACTAGGTGGCTCACACCAATGTTTCGGACAGCGGTTCGATTCCGCTCAGCTCCAttattaGGGGCTGCAATGGTTTCGACGGGGCATCAGGAGGGTTACTGAAGCCTGCTCGGTAAGAGCAAATTAGTAACAgcgaacaacatcgttcgtttctcccgtcaagcggcccctgtggctgccTGACCCTAGATAGGGAGATGAGGTAAAGTCAGCCTTATAACCCAAATGACTCAAGGGGCCTGTAAGGGCCCCATCATTA 1 CP000815.1/744167-744441 -Paulinella__longichromatophora.1 Permuted Acceptor:1-70,IVS:71-82,Coding:83-280,TagCDS:155-205,CCAequiv:71-73 ANNIVRFSRQAAPVAA* 11 aragorn-1.2.40:108.8,infernal-1.1.2:279.5/cyano_tmRNA Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae GTTCGGTTTTAGCCGAACTAGGTGGCTTACACCAATGTTTCGGACAGCGGTTCGATTCCGCTCAGCTCCActggctagtttcGGGGCTGCAATGGTTTCGACGGGGCATGAGGAAGGTTACTGAAGCCTGCTCGGTAAGAGCAAATTTGTAACAgcgaacaacatcgttcgtttctctcgtcaagctgcccctgtggccgccTGACCTTAGCTAGAGAGATGGGGTAAGTCAGCCTTATAACCCAAATGACTCGTGGGACCTGGAAGGGTCCCTAAGTTT 1 MG264610.1/711476-711755 -Paulinella__micropora.1 Permuted Acceptor:1-70,IVS:71-76,Coding:77-274,TagCDS:149-199,CCAequiv:71-73 ANNIVRFSRQAALVAA* 11 aragorn-1.2.40:108.5,infernal-1.1.2:286.9/cyano_tmRNA Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae GTTCGGTTTTAGCCGAACTAGGTGGCTTACACCAGTGTTTCGGACAGCGGTTCGATTCCGCTCAGCTCCAtcacgaGGGGCTGCAATGGTTTCGACGGGGCATGAGGAAGGTTACTGAAGCCTGCTCGGCAAGAGCAAAATCGTATCTgcgaacaacatcgttcgtttctcccgtcaagctgctcttgtagcagccTGACCTTAGTTAAGGAGATGGGGTAAGTCAGCCTTATAACCCAAATGACTCATGGGACCTGGAAGGGTCCCTAAATTT 2 KY124271.1/713251-713524,LC490351.1/683987-684260 -Paulinella__micropora.2 Permuted Acceptor:1-70,IVS:71-76,Coding:77-274,TagCDS:149-199,CCAequiv:71-73 ANNIVRFSRQAAPVAA* 11 aragorn-1.2.40:108.5,infernal-1.1.2:288.4/cyano_tmRNA Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae GTTCGGTTTTAGCCGAACTAGGTGGCTTACACCAGTGTTTCGGACAGCGGTTCGATTCCGCTCAGCTCCAtcacgaGGGGCTGCAATGGTTTCGACGGGGCATGAGGAAGGTTACTGAAGCCTGCTCGGCAAGAGCAAAATCGTATCTgcgaacaacatcgttcgtttctcccgtcaagctgctcctgtagcagccTGACCTTAGTTAAGGAGATGGGGTAAGTCAGCCTTATAACCCAAATGACTCATGGGACCTGGAAGGGTCCCTAAATTT 2 KX897545.1/713048-713321,MG976688.1/713153-713426 -Schizocladia__ischiensis.1 Standard Body:1-380,TagCDS:84-128,CCAequiv:381-383 VNNIITFNKKLTFA* 11 aragorn-1.2.40:111.1 Plastids,d__Eukaryota GGGGCTGTTTTGGTTTTGACATTTAAAATGAAATAAATTAATAAGCAGAATACAATAGACATTGTATCCAATTAAGAATAATTgtaaacaacattattacatttaataaaaaactaacttttgcaTAAAATTTAGGAGTTTTTTATGGTTAATTTAATATAGAATTAACTTATATGATAAAACTATTGCTCTAAAATTTAATACTTTTTAGGTAAGTACAATCAACTATAAAATAATTTACTATTTTTTCCATTTGTTATAAAGATTAAATTAATCTCTGATAAAATTCACTAAAATAAAATCTAAAAATTAACTAAATCTGTGAATTAAAATAATTCATTTTATTTAAATGGACGTGGGTTCAATTCCCACCAGCTCCAata 1 NC_053868.1/437-819 -Cryptomonas__curvata.1 Standard Body:1-335,TagCDS:95-139,CCAequiv:336-338 ANNILSFERKLALV* 11 aragorn-1.2.40:109.0,infernal-1.1.2:109.0/tmRNA Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae GGGACTGTTCAGGTATCGACACTCTCTAAAATTTTGTATTATGATTCAAGTCAAGCTTAAATTTTCTTGTAAAACAAAATTTAAAACTATAAACgcaaacaacattctgtcgtttgaacgcaaacttgctttagtaTAAACCTAAAACTAGTTTAAATTATAAAACACATAAGTCGAATAACAGGAAGTTTCTAAATAACTAAAAACTATTGCAATTCCCGACAATCTGAATGAGATCTAAAAATAGTTGCTTTAAATATTGAATAAAGCTAAACTTGTGAATGAATATATAAACGTTGAGCGAGTGGACGTGGGTTCAATTCCCACCAGTTCCAtat 1 NC_035720.1/52138-51801 -Cryptomonas__paramecium.1 Standard Body:1-298,TagCDS:88-156,CCAequiv:299-301 ASNIVSFQKSPSLASKLFSHRI* 11 aragorn-1.2.40:101.2 Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae GGGGCTGTAAGGCGTCGACATTCATGGAACTGAGAAGTCAAACAAGTCAAGTTTAAACCATCTTGTAAAAATGGAGTTTAATTAAATgcaagcaacatagtttcatttcaaaagtccccttcactcgcttctaagttattctcgcatagaattTAGAACTCATTAATTACGAAAGAAAAATTCTCAAGAAATACACCAAAAAGAGAGAAGTCGCCTTATATTTTGAATAAGGCTATACTTGTAACTATAGACGCTAAAAGATAATGAATGGACGTGAGTTCAAATCTCACCAGCTCCAaat 1 NC_013703.1/6162-5862 -Cryptomonas__pyrenoidifera.1 Standard Body:1-337,TagCDS:95-139,CCAequiv:338-340 ANNILSFERKFALV* 11 aragorn-1.2.40:107.3 Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae GGGACTGTTCAGGTATCGACACTTTCTATAATTTTATACTATGATTCAAGTCAAGCGTAAACTTTCTTGTAAAACTAAGTTTAAAAATACAAATgcaaacaatattctatcgtttgaacgcaaatttgctttagtaTAAACCTAAAAAAATTATGGCTTAAACTATAACAAATACTAATTAACATAGGAGATTTTTAATTCTTAAAAATCAGTATTATCCAAAATGAATTCGGTGAGATAAAAAAATAGTTGCTTTAAATATGGAATAAAGCTAAACTTGTGAATGAATATATATAAATTAAGCGAGTGGACGTGGGTTCAATTCCCACCAGTTCCAtag 1 NC_069042.1/115811-116150 -Chroomonas__placoidea.1 Standard Body:1-360,TagCDS:95-139,CCAequiv:361-363 ANNIIPFSRKVALV* 11 aragorn-1.2.40:109.5,infernal-1.1.2:108.6/tmRNA Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Chroomonadaceae GGGGCTGTAAAGGTATCGACACTTTTAACAAAATAATAGTATGATTCAAGTCAAGATCGAGTATATCTTGTAAATAAGGCTCAAAACAATAAATgcaaataatataatacctttctctcgtaaggtagcgttagtaTAGAAATCAGTTTTTATACTTTATAAAAATAGTGCTTGACAAGTAATTAGTTATAATTTTTACTGGGGATAGTAACTACATTACTCTAAAACTAAATATTATATATCCCATCTTGAAACCTAATATGCTAAAAAAAAAGCTTTAATTATTGAATAAAGCTAAACTTGTGAACGAGTATATTATAAAGTTGGGAGTGGACGTGGGTTCAAATCCCACCAGCTCCAaaa 1 NC_035721.1/58418-58056 -Guillardia__theta.1 Standard Body:1-327,TagCDS:97-147,CCAequiv:328-330 ASNIVSFSSKRLVSFA* 11 aragorn-1.2.40:109.8 Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae GGGGCTGATTTGGATTCGACATATAAATTTGCGTGTTTCATTATGAAGCAAGTCAAGTTTAATGATCTTGTAAAAAACATTAAAGTACAAATAAATgcaagcaatatagtttcatttagttcaaaacgtttagtctcttttgcaTAAGCAAAATGTGTTAATAACTTTCTTAGTAGAAATTGGAGAAGTTTACTAAGATTTATATTTACTCCATAATTATTTTAAAGATGGTAAAAAGGTGATTCATCATTTGTATGTTTCTAAACTTTGTGAAAGAATAGTGGGCTCCATTTATAATGAACGTGGGTTCAAATCCCACCAGCTCCAtag 1 NC_000926.1/50514-50185 -Teleaulax__amphioxeia.1 Standard Body:1-318,TagCDS:95-139,CCAequiv:319-321 ANNIVKFSKTYAFA* 11 aragorn-1.2.40:109.4,infernal-1.1.2:109.7/tmRNA Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae GGGGCTGTAATGGTATCGACACTTTAGAAGGTACAATAATGTGATGCAAGCCAAGATTAGATAATTCTTGTAAAAAATATCTAACAAAATAAATgcaaataacatagtaaaattctctaaaacttacgcattcgcaTAAGAATTTTAGAAAAGTTCACTAAAAAACAAACGTAAATTAAACGGGAATTACTTAAATTCCAAGCTGAAATTAAAGAAGAAAATAAAAATATCTGTTTCAGATTTTGTATGAAACTAAGCTTGTGAATGAATATATTGTATAATTTATAGTGGACGTGGGTTCAAATCCCACCAGCTCCAaga 1 NC_027589.1/53734-53414 -Rhodomonas__salina.1 Standard Body:1-350,TagCDS:97-141,CCAequiv:351-353 ANNIVPFSRKVALV* 11 aragorn-1.2.40:109.2,infernal-1.1.2:137.1/tmRNA Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Pyrenomonadaceae GGGGCTGTTACTGGTATCGACATTTTGGAAAGAATAGTATTATGATGCAAGTCAAGATTGAGCTCATCTTGTTAATAAAGCTCATCATAAATAAATgcaaataatattgtacctttttctcgtaaggtcgctttagttTAAGATTGTTTTCCTCATTGGAGACTTGATTAATCTATAAAAATAAGTTAAAGCTAAAACATTGGAAGAAATTTAGCTTATAAATAAAATTCCGTTCTCATAACTTTAGTGGGTAAAAAAATACTTTCTTTGAGTATTGAACAAAGATAAACTTGTGAATGAGTGTGCTACGTAAGCTGAAATGGACGTGGGTTCAAATCCCACCAGCTCCAaaa 1 NC_009573.1/55998-55646 -Cyanophora__biloba.1 Standard Body:1-299,TagCDS:99-146,CCAequiv:300-302 ATNIVRFNRQTVFAV* 11 aragorn-1.2.40:108.5,infernal-1.1.2:104.0/tmRNA Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae GGGGCTGTTTAGGTTTCGACGTTTTTTTTTAATTATGACTGTTAAACAAGTCGAGAATTTGTTCTATCTCGTAAATCAAGAACTATTAAAATTTAAACgcaactaatattgtacgttttaatcgtcaaacagtttttgctgttTAATGATTATTAAATCATAATCTCAAAACCCATATAATTTGGGTATATATTTATTATTTACTTATTTATTTTGCTTCATTAATTCATAGAAGCTATACTTGTGAATAAACGCATAATTTCGAAAAACGGACGTGGGTTCAAATCCCACCAGTTCCActa 1 NC_038216.1/122122-121821 -Cyanophora__paradoxa.1 Standard Body:1-291,TagCDS:99-146,CCAequiv:292-294 ATNIVRFNRKAAFAV* 11 aragorn-1.2.40:109.4,infernal-1.1.2:119.2/tmRNA Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae GGGGCTGTTTAGGTTTCGACGTTTTTTTCTAATTATGTTTGTTAAGCAAGTCGAGGATTTGTTCTATCTCGAAAATCAAGAACTCTCAAAATTTAAACgcaactaatattgtacgttttaaccgtaaagcagctttcgctgttTAATAATTACTTTTAATTTAAAAACCTAATTTTTTTAGGAATTTATTTATTTATTGTTTATCCTGCTTAATGAATTAAAAAAAGCTATACTTGTGAATAAACGCATAATTTAAAAAAACGGACGTGGGTTCAAATCCCACCAGCTCCActc 1 NC_001675.1/84810-84517 -Cyanophora__sudae.1 Standard Body:1-299,TagCDS:99-146,CCAequiv:300-302 ATNIVRFNRQAVFAV* 11 aragorn-1.2.40:108.5,infernal-1.1.2:102.2/tmRNA Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae GGGGCTGTTTAGGTTTCGACGTTTTTTTTTAATTATGACTGTTAAACAAGTCGAGGATGTGTTCTATCTCGTAAATCAAGAACTATTAAAATTTAAACgcaacaaatattgtacgttttaatcgtcaagcagtttttgctgttTAATGATTATTAAATTATAATCTCAAAACCCATATAATTTGGGTATATATTTATTATTTACTTATTTATTTTGCTTGATTAATTCAGAAAAGCTATACTTGTGAATAAACGCATAATTTCGAAAAACGGACGTGGGTTCAAATCCCACCAGTTCCAtta 1 NC_038215.1/142044-141743 -Durinskia__baltica.1 Standard Body:1-327,TagCDS:95-169,CCAequiv:328-330 AKNLLLSLLTVFGLNQRNKLQFAI* 11 aragorn-1.2.40:109.6 Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae GGGGCTGTTTTGGTTTCGACATTTAAATTTAATTATTATATGAATCAGGTCGAAGTTTGTAGTCTTCGTAAAAAAATACAAATTTAAAATAACTgctaaaaatttacttttatcattgttgactgtttttggacttaaccaaagaaacaagttacaatttgctatcTAAACGAATAACTCAAAAAATTTTTTCACTAGTACTAGACGTTTAAGTCGACTCTAGTTTAGAATAATTTATACTACTAATTCTGTTCTTTGAAACTATACCTGTGAACGACTATAATAAGAATTTTTAAATGGACGTGGGTTCAAATCCCATCAGCTCCAgaa 1 NC_014287.1/29580-29909 -Kryptoperidinium__foliaceum.1 Standard Body:1-332,TagCDS:97-174,CCAequiv:333-335 AKNLILSLVSLFGFKTNKNQLQFAI* 11 aragorn-1.2.40:109.6 Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae GGGGCTGTTTTGGTTTCGACATTTAAAACTTATTAATGTATGATGCAGGTCGAAGTTTGTAATCTTCGTACTAAAATACAACATTTCAAAATAACTgctaaaaatttaattttatcattggttagtcttttcggatttaaaacaaacaaaaatcagcttcaatttgctattTAAATGTTCTAAATCAAACAATTTTTCACTAAGACTAGACGTTTTACTCTAATCTAGTTTAGAATAATTTATATTAACAATTCTGTTCATTGAAACTATGCCTGTGAACGAGTACATTAAAGATTTTTAAATGGACGTGGGTTCAATTCCCATCAGCTCCAaat 1 NC_014267.1/32166-32500 -Bolidomonas__sp.1 Standard Body:1-345,TagCDS:94-141,CCAequiv:346-348 ANNILAFNRKSLSFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae NNNNNNNNNNNNNNNNNNNNATTATAAAAATTTTAAATTATGATGCAAGTCGAAAAATATTATTTCGTTAAAAAATATACCTTTAAAATAAATgcaaataacattttagcttttaaccgtaaatctttaagtttcgctTAAAATTATTTATGGAAATTTTTAAGAGTGTCCATCTCTTAAAAATTTGAAAACTTTATGGACATTATAAAACTAGACTTTTCTAGATCTTTTAAGTTAAATTATTACTTAATTCCTTTTAATTTGTTCATTTTAAATGAACTAAACTTGTGAACGATTAATTTATCACTTTTATAATGGACGTGGNNNNNNNNNNNNNNNNNNNNNnnn 1 HG528733.1/1-304 N's: PCR primer-binding sequence -Triparma__laevis.1 Standard Body:1-341,TagCDS:94-141,CCAequiv:342-344 ANNILSFNRKTLSIA* 11 aragorn-1.2.40:109.5 Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae GGGGCTGTAATGGTTTCGACATTATTTAGTTTTTTATTTATGATGCAGGTCGAAAAATATTATTTCGTTAAAAAATATACATTTAAAATAAATgcaaacaacattttatcttttaaccgtaaaactttaagtattgctTAAAATTATTTATGGAAATTTTTAAAAGTATCCATCTTTTAAAAATTTGTAAAATTTATGGATACTGTAAAACTAGACTTTTCTAGATCTTTTAGTTTAAATTATTATTTAAACTTCTTTTATTTGTTTTTTAAAAACTAAACCTGTGAATGAATAAATAAAAAAAAATTTAATGGACGTGGGTTCAATTCCCATCAGCTCCAatt 1 NC_027746.1/20059-20402 -Dictyocha__speculum.1 Standard Body:1-321,TagCDS:88-132,CCAequiv:322-324 AIKNFFFPTKLAFA* 11 aragorn-1.2.40:105.8 Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Dictyochales GGGGCTGCCCTGGTTTCGACAATTGTTTTTTTCTTACGGTGCAAGTCGGTTGATTTTCGAAATAAGTCAAACTTTAATACAATAAATgctattaaaaacttctttttcccaacaaaactagcattcgctTAAATATTTGTTATTATTTTAGAAATTTTACTATTCTAAATAATTAAAAATTCGATACCCTCTAGTTAATACATATATTTAATTTAGTCAAGGTTTTTCTACTTATGCTCTTTAAAAGCTTTATTAAGCTAAACTTGTGAATGATCCTTCAGAAAGTACAATTGCATGTGGGTTCGATTCCCACCAGCTCCAttt 1 NC_043929.1/128341-128664 -Florenciella__parvula.1 Standard Body:1-316,TagCDS:91-138,CCAequiv:317-319 AIKNVFSNQRTLAFA* 11 aragorn-1.2.40:109.9 Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Florenciellales GGGGCTGATAGGTTTCGACAATTTAATATTTTTTTTATTGCAAGTCGAGTTTAATCGACTCGTTAAAATTGATTATAAAAAAAAATAAATgcaatcaaaaacgtattttcaaatcaaagaactctagctttcgctTAGATTTTTGATATTATTTAGTTTATAAATTTAATATTAGATAATTCACCTACTTTTTGCTCTAGATCTTAAGGTTCTAGTTAAGTTATTTGCCTAAAAACTTTGCTTTTTTTAAGCTAAACTTGTGCATGATTTAAAAAAAATATTAGGTTGGACGTGGGTTCAAATCCCACCAGCTCCAaaa 1 NC_044407.1/9109-8791 -Pseudopedinella__elastica.1 Standard Body:1-309,TagCDS:85-132,CCAequiv:310-312 AINNLFNNQKTLAFA* 11 aragorn-1.2.40:105.6 Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Pedinellales GGGGCTGAGTTTGGTATCGACAGTTAAAACTTATTATGAAGCAAGTCGGATTCTCGATCCGTATAATCGAAAATAATAATAATTgctattaacaatttatttaataatcaaaaaactttagctttcgctTAATATTTTGGTATTATATTGATATTGCTTTCTATCATATATAAAAAAAAGTTACTCTTTAATTCATTTAGTATTAAAGTTAAGACTATCAATCCTTATTTTGCTTCTTGCTAAGCTAAACTTGTGAATGATTCATAAATTCTTTTTAATTGCACGTGGGTTCGAATCCCACCAGTTCCAtta 1 NC_044408.1/67351-67040 -Rhizochromulina__marina.1 Standard Body:1-298,TagCDS:84-131,CCAequiv:299-301 AILSLFNIQKPLAIA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Rhizochromulinales GGGACTGTTTTGGTTTCGACAATTATTTAATGATCTAGCTCAAGTCGGTCTCGATCCGTAATCGAAAATTTTAAAAAATAAAAgctattttatcactatttaatatacaaaagcccctagcgattgctTAAGGTTTTATTTTATGTGGAAGTTTCTAGACGCTTACTGCATAAAAAGATAGTCTAGTCCGGGTGAAATCTCATCTTTTTGACATTTAATTTCTATTCATGTAAAGTAAACTTGTATAACACTAGTTCATGAGCGTAATTGGACGTGGGTTCGATTCCCACCAGTTCCAgta 1 NC_043890.1/105510-105810 -Eustigmatophyceae__sp.1 Standard Body:1-331,TagCDS:95-112,CCAequiv:332-334 QAVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae GGGGCTGTTTACTTATTGGTGTCGACGATTGCAAATCCATTGTTGTTTAGATTTTCAAATAATTATCTGTAATTCAATAATTTTTAAAATAAATcaagctgtatttgcaTAAATTTCAGAAATAAAAAATTTAATTTTATTTGAATCATTCAAATAATAAATAGATTATGTTACAATTGTTGTAATAAGTAATACTTTGTGAATAAAAATTTCGCATTTCAATTCACAAAGTTTTAAAGTTAAAATACCTTTCTTAAAAAGTACACTCGTCGAAAAAAGAAATCTAAATTATTACTGCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAttt 1 NC_040296.1/106350-106683 -Eustigmatophyceae__sp.2 Standard Body:1-300,TagCDS:85-102,CCAequiv:301-303 HACFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae GGGGCTGTAATGTAGGCTTTCGACGATTGATGGGAATAAAATTAAAGCAAACATTGTTTGATTATTAAAAATAACTAAATAAAGcacgcttgctttgcaTAAATTTCTTAAACATAAAGTAAAATTTTTCGTAGATTAAATTATTTACGATTATAGTTTTTAAAACTTTTAATTAAAGTAAAAAATTTTTAATTAATTACAAAGTTATAATATTTCCTAGTTAAACCAAAAAACGTAATAAAGACATTAATATATTATCATCCTTTCAATCGCATGTAGGTTCAATTCCTACCAGCTCCAaat 1 NC_040297.1/6557-6859 -Eustigmatophyceae__sp.3 Standard Body:1-327,TagCDS:87-104,CCAequiv:328-330 QAVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae GGGGCTGTTTTTGGTTTCGACGGTTGCAAAAGCAATTACTCTTAGATTTGAAAAAATTTTTTAAAATTAAAAAAATTAAAATAACTcaagcagtttttgcaTAAATTTCAGAGATAACTTTTAAACCTTTTATTTATAAATTCAAATAAAAAATATATTTTGTTATAATATAACATCGCACACTTTTAAAATTGAAATTATGTATTAACTTTTTTTTTAAAAGTATTTAATTCTCAATAATACAAATTAGTAGTAATATAGAAATACGAACTTTAAAATCTAACTTAATAATGCAATCGCATGTAGGTTCAAATCCTACCAGCTCCAtat 1 NC_040298.1/104775-105104 -Eustigmatophyceae__sp.4 Standard Body:1-323,TagCDS:85-102,CCAequiv:324-326 QAVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae GGGGCTGTTTTTGGTATCGACGGTTGCAAAGACAAATTTTTAGATTAAAAAAGATATTTTGATAAATCAAATTTAAAAATAAATcaagctgtttttgcaTAAATTTCAGAAGTAAATTCAAACTTTTATTTTGAGAAATTCAAATAAAAAATAATTTTTGTTAGAATCATTCTAAACATTAGGCTTTTTTAAGTGAATAATTTTCAATAAATAGTCATTTAGAAAGCGTTTAATTTTAAAAAAGAATATTACTGTAAAATAACGAAATAAGAGAATCTATTAAAAAATGCAATCGGATGTAGGTTCAAGTCCTACCAGCTCCAacc 1 NC_040295.1/104142-104467 -Eustigmatophyceae__sp.5 Standard Body:1-278,TagCDS:82-99,CCAequiv:279-281 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae GGGGCTGTTATACGGTTTTCGACGATTGATTTTAATACAAGAAAAAACAAACAATGTTTGAATAATCATTTAAAAACAAAGcaaacttgttttgctTAATTTTCTGAAAATTTTTTCATCCTTAAAAAGGTAATATTCATTAAATTCAAAACTTTAGGAATTATTTAATTCACTATATGTTTATAATTATAATTGAATTTAATTCATTTTGATTATATACTAAATCTAAATTATCTTTGATTTTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtgt 1 NC_066179.1/37480-37200 -Characiopsis__acuta.1 Standard Body:1-276,TagCDS:78-95,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATTTGGTTTTCGACGATTGAAAGTAATAAAAATTTATCAAACAGTGTTTGATCTATGAATAAAAAAAGcaaacatgttttgcgTAGCTTTCTGATAAAACTCTTCTCTTTTTAAGAGCAATTTTATTAAAATCCCTTTTAGAAAAACCTTTTTTATTATTTTCTAAAAGTTTATGTTTATAATTGAATTTATTAGATTTTAGTTGTATACTAAATAAAGATATTTTTAGTTTTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtta 1 NC_040294.1/37359-37081 -Chlorobotrys__sp.1 Standard Body:1-269,TagCDS:80-97,CCAequiv:270-272 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATATGGTTTTCGACGATTAAAATATTTATAAACTTATTAAACAATGTTTAACCTTAGTTAACAAATAAAGcaaacctgctttgctTAAGTTTCTGATAATTTTCTAGCCTTAAATGGTCAATACTTCTAAAAATCATTATAGAAAACAAAAAATTTTTATATGATTAGAATTATAATTATATATATATACTATTAATCATATATTGAAAAAAATAGTTTTAATTTTTAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAttc 1 NC_066178.1/37585-37314 -Lietzensia__polymorpha.1 Standard Body:1-278,TagCDS:80-97,CCAequiv:279-281 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATTTGGTTTTCGACGATTGAAATTTACATAAACTTATCAAACTATGTTTGAATACATATCTAAAACAAAGcaaacttgttttgctTAATTTTCTGAGAATTTTCTGCCTTTAACAGGTTAATATTTTTTTCTTTAATCATTTTAGAAAATCTTATATTAAATTTTCTAAATGTTTGTAATTTTAATTGAATTTATTAAAGTTTAAGTGTATACTAAATAAAAGAGTTTTAGTTTTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAata 1 NC_066181.1/37364-37084 -Neustupella__aerophytica.1 Standard Body:1-275,TagCDS:80-97,CCAequiv:276-278 QACFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATACGGTTTTCGACGGTTGAAATATATGTAAACTAATTAAACAATGTTTAAATTCAATTTCTAAACAAAGcaagcttgttttgctTAGCTTTCTGAGAATTTTACTACCGAAAAGGTTTATAATTTTAAAAACTAATTTTAGAAAATATTTATAAATATTTTCTAAATAGTAATAATTATAATTGTATATATTAAACTTTAATTGTATACTAAATAAAATAGTTTTAGTTTTCAATCGGATGTAGGTTCAACTCCTACCAGCTCCAtta 1 NC_066180.1/37253-36976 -Vischeria__punctata.1 Standard Body:1-277,TagCDS:80-97,CCAequiv:278-280 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATGTGGTTTTCGACGATTGATATGTCTATAAACTAATTAAACAATGTTTAAATTAAACTTTTAAAGAAAGcaaacttgttttgctTAATTTTCTGAAAATTCTAATACCTAGAAAGGTTAATTATCGCTAAAACTAATTTTAAGAAAAATATTAATAAGATTTTCTAAATAGTTATAATTATAATTGTATTTACTAGACTTTAATTGTATACTAAACAAAATAGTTTTAGTTTTCAATCGGATGTAGGTTCAACTCCTACCAGCTCCAtta 1 NC_065488.1/37264-36985 -Vischeria__sp.1 Standard Body:1-277,TagCDS:80-97,CCAequiv:278-280 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae GGGGCTGTTATATGGTTTTCGACGATTGATATGTCTATAAACTAATTAAACAATGTTTAAATTAAACTTTTAAAGAAAGcaaacttgttttgctTAATTTTCTGAAAATTCTAATACCTAGAAAGGTTAATTATCGCTAAAACTAATTTTAAGAAAAATATTATTAAGATTTTCTAAATAGTTATAATTATAATTGTATTTACTAGACTTTAATTGTATACTAAACAAAATAGTTTTAGTTTTCAATCGGATGTAGGTTCAACTCCTACCAGCTCCAtta 1 NC_040300.1/37210-36931 -Monodopsis__sp.1 Standard Body:1-292,TagCDS:82-99,CCAequiv:293-295 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAAATAGGATTTCGACGGTTGAAATTTTTCTAAAAAGACAAACAATGTTTGAAGTTTAACCTTTAAAATAAAGcaaacatgctttgctTAAGTTTCTGAAAATTTACTATCCTTTAATTTAATGGGTTATATTTATTTAAGAATACTTAAATAAATATTTTAAATAATTTTTGTTTAAATGTTTTAAATCCTTATCACTATTATTATACTTTAAGTGTATACTAAAGAAAAGATTTTAAGTTATATTTTTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtaa 1 KX839260.1/37752-37458 -Nannochloropsis__gaditana.1 Standard Body:1-272,TagCDS:81-98,CCAequiv:273-275 QNCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAACTAGGATTTCGACGGTTGAATTTTGTCTAAAAGTACAAACAATGTTTGAATTAATAAAAACAAATAAAGcaaaactgttttgctTAAGTTTCTGAAACATTAATATCCTTTTTAGGGTTATACTTATTTTTAAAATATCTAAGTGAATACACTTAGATATTTTTAATTTTTATACTATTACCATATTTTAAGTTTATACTTATGAATAGATTTTAAGCTATAAAATTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtgg 1 NC_020014.1/46912-46638 -Nannochloropsis__gaditana.2 Standard Body:1-271,TagCDS:81-98,CCAequiv:272-274 QNCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAACTAGGATTTCGACGGTTGAATTTTGTCTAAAAGTACAAACAATGTTTGAATTAATAAAGACAAATAAAGcaaaactgttttgctTAAGTTTCTGAAACATTAATATCCTTTTTAGGGTTATACTTATTTTAAAATATCTAAGTGAACACACTTAGATATTTTTAATTTTTATACTATTACCATATTTTAAGTTTATACTTATGAATAGATTTTAAGCTATAAAATTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtgg 1 KC598084.1/44267-43994 -Nannochloropsis__granulata.1 Standard Body:1-277,TagCDS:81-98,CCAequiv:278-280 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTTTTCGACGGTTGAATTTTATCTAAAAGTACAAACATTGTTTGAATCCTAAACAAAAAATAAAGcaaacttgctttgctTAAGTTTCTGAAACATTAATATCCTCTTGAGGGCCATAATTAATTAAAAAAATATATTTATAAATTATTATATAAATGTATTTTTAACCCTTATACTATTACTATACTTTAAGTGTATACTAATGAAAAGATTTTAAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtaa 1 NC_022259.1/44336-44057 -Nannochloropsis__limnetica.1 Standard Body:1-276,TagCDS:81-98,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTTTTCGACGGTTGAATTTTATCTAAAAGTACAAACAGTGTTTGAATTCTAAACAAAAAATAAAGcaaacttgctttgctTAAGTTTCTGAAACATTAATATCCTTTTGAGGGCCATAATTAATTAAAAAATATATTAATTCATTAATTTATAGATATATTTTTAACTCTTATACTATTACTATACTTTAAGTGTATACTAATGAAAAGATTTTAAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtag 1 NC_022262.1/44364-44086 -Nannochloropsis__limnetica.2 Standard Body:1-276,TagCDS:81-98,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTTTTCGACGGTTGAATTTTATCTAAAAGTACAAACAGTGTTTGAATTCTAAACAAAAAATAAAGcaaacttgttttgctTAAGTTTCTGAAACATTAATATCCTTTTGAGGGCCATAATTAATTAAAAAATATATTAATTCATTAATTTATAGATATATTTTTAACTCTTATACTATTACTATACTTTAAGTGTATACTAATGAAAAGATTTTAAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtag 1 MT872226.1/44382-44104 -Nannochloropsis__oceanica.1 Standard Body:1-276,TagCDS:81-98,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTCTTCGACGATTGAATTTTATCTAAAAGTACAAACAGTGTTTGAATCCTAAACGAAAAATAAAGcaaacttgctttgctTAAGTTTCTGAAACATTAATATCCTCATAAGGGCTATAGTTAATTCAAAAATATATTCATAAGTTAGTATATCAATATATTTTTAACTCTTATAATATTACCATACTTTAAGTGTATACTAATGAAAAGATTTTCAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtaa 1 NC_022263.1/44312-44034 -Nannochloropsis__oceanica.2 Standard Body:1-276,TagCDS:81-98,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTCTTCGACGATTGAATTTTATCTAAAAGTACAAACAGTGTTTGAATCCTAAACGAAAAATAAAGcaaacttgctttgctTAAGTTTCTGAAACATTAATATCCTCATGAGGGCTATAGTTAATTCAAAAATATATTCATAAGTTAGTATATCAATATATTTTTAACTCTTATAATATTACCATACTTTAAGTGTATACTAATGAAAAGATTTTCAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtaa 1 CP044614.1/56178-55900 -Nannochloropsis__oculata.1 Standard Body:1-276,TagCDS:81-98,CCAequiv:277-279 QTCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAATTAGGTTTTCGACGGTTGAATTTTATCTAAAAGTACAAACAGTGTTTGAATCCTAAACAAAAAATAAAGcaaacttgttttgctTAAGTTTCTGAAACATTAATATCCTTTTAAGGGCCATAATTCATTAAAAAATATATTTGTAAATTAATATATCGATGTATTTTTAATTCTTATACTATTACTATACTTTAAGTGTATACTAATGAGAAGATTTTAAGTTATAAAATTCAGTCGGATGTAGGTTCAAGTCCTACCAGCTCCAtaa 1 NC_022260.1/44291-44013 -Nannochloropsis__salina.1 Standard Body:1-272,TagCDS:82-99,CCAequiv:273-275 QNSFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAACTAGGATTTCGACGGTTGAATTTTATCTAAAAGTACAAACAATGTTTGAATTAATAAAAAACAAATAAAGcaaaacagttttgctTAAGTTTCTGAAACATTAATATCCTTTTTAGGGTTATACTTATTTTAAAATATCTAAGTGAATACACTTAGATATTTTCAATTTTTATACTATTACCATATTTTAAGTTTATACTTATGAATAGATTTTAAGCTATAAAATTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtag 1 NC_022261.1/44330-44056 -Nannochloropsis__salina.2 Standard Body:1-272,TagCDS:82-99,CCAequiv:273-275 QNCFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae GGGGCTGTAAACTAGGATTTCGACGGTTGAATTTTATCTAAAAGTACAAACAATGTTTGAATTAATAAAAAACAAATAAAGcaaaactgttttgctTAAGTTTCTGAAACATTAATATCCTTTTTAGGGTTATACTTATTTTAAAATATCTAAGTGAATACACTTAGATATTTTCAATTTTTATACTATTACCATATTTTAAGTTTATACTTATGAATAGATTTTAAGCTATAAAATTCAGTCGGATGTAGGTTCAAATCCTACCAGCTCCAtag 1 KJ410685.1/113995-113721 -Pseudellipsoidion__edaphicum.1 Standard Body:1-284,TagCDS:82-99,CCAequiv:285-287 QTSFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Neomonodaceae GGGGCTGTCAGAAAGGCTTTCGACGATTAAAAGTATAATGAATTATAAACTATGTTTAATAAAAAAAATTTTAAAATAGAGcaaacatcttttgcaTAACTTTCTTTTCTTAAAAATTATTTATTAAAATAAATATAGACTCTTTATTTGACTAGAATACTGTTTAAACTATAAACATGAATTACTAGCTAAAAATTACTTTTATATTAAAAAATAAAATAAATTAAATAAAAGTTTATTAAAATTCTTTTAGTCGGATGTGGGTTCAAATCCTACCAGCTCCAaat 1 NC_040299.1/110397-110683 -Trachydiscus__minutus.1 Standard Body:1-322,TagCDS:85-102,CCAequiv:323-325 QAVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Goniochloridales,f__Goniochloridaceae GGGGCTGTTTTTGGTGTCGACGGTTGCAAAGGACAATTTTTAGATTAAAAAAGATCTTTTTATAAATCAAATTTACAAATAAATcaagctgtttttgcaTAAATTTCAGAAATAAATTTAGAATTTTATTTGAGCACTTCAAATAAAAAATGGTTTTTGTTAGAATCACTCTAAACATTGGACTTTTTAAGTGACTAATTTTTAGTAAATAGTTATTTTGAAAAGCGTTTAATTTTAAAAAAGAATATTCCTGTAAAATAACGAAACGATAGAATCTATTAAAAAATGCAATCGGATGTAGGTTCAAATCCTACCAGCTCCAatc 1 NC_026851.1/20303-19979 -Olisthodiscus__luteus.1 Standard Body:1-265,TagCDS:77-124,CCAequiv:266-268 ANTILSFKRNLSLAV* 11 aragorn-1.2.40:110.9 Plastids,d__Eukaryota,k__Ochrophyta,c__Olisthodiscophyceae,f__Olisthodiscaceae GGGACTGCTAATGGGTTTCGACAATTAAAACGTTCCTCTATTTCTTTGTAATTAAAATTATTTTCAAAAAATAATTgcaaatactattttatcatttaaacgaaatttaagcttagctgtaTAGAGTTATAATCACTTAAATCATATAATTTTTTAATTATTAAAAAATAAAAATTTGAAACTTGCGTTAATGTTAATATTATGTTATATTAAGGAGTAGAGAAAAACTTTTAATTGGACGTGGGTTCAACTCCCACCAGTTCCAaga 1 NC_057170.1/119329-119596 -Aureococcus__anophagefferens.1 Standard Body:1-333,TagCDS:95-148,CCAequiv:334-336 ANNILKLFTKRPVLAFA* 11 aragorn-1.2.40:106.4,infernal-1.1.2:111.0/tmRNA Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales GGGGCTGACATCGATTCGACAATTAGATTTGAAGGAACAATACAAGTCGAGAATGAGTGTATCTCGTAAACCACCACTCAAATTAAAAATAAATgcaaacaacattttaaagttatttactaagcgtcctgttttagcgtttgctTAAACCGTTTAGCTTCACAATTAGCCGTTTTTACTAAACTGTGAAGAAATTATAAAAGTGCTGCTGATACTATAAGCTAAGAAACATTTATCTATATAAATACCTACATATCACTATGTAACCAGAGCTTGCAATAATATTGACTGGTATAATCTAATTGGACGTGGGTTCAAATCCCACCAGTTCCAaaa 1 NC_012898.1/88021-87686 -Aureoumbra__lagunensis.1 Standard Body:1-306,TagCDS:93-146,CCAequiv:307-309 AKFFNSIFPTRPQLAFA* 11 aragorn-1.2.40:102.3,infernal-1.1.2:107.2/tmRNA Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales GGGGCTGATATCGTTTCGACAATTTAATTTTACTGAAGGCACAAGTCGAGCATTCGTCTTACTCGTAAAATATGGCGTTTAAAAAATTAAATgcaaaattctttaattcaatttttccaactcgtccacaattagcattcgctTAATGTCCGGTTTGGCGACATAAAATTACTGGGCTCATTTTATGTTGTAATTTGCTCGCTGCTAATTTTAGCTAAGAGAATTTTTTCAATCTCTGTTTGTAAACTTGTATAATGTCTTTAGATGAATTAATATTGGACGTGGGTTCAATTCCCACCAGCTCCActa 1 NC_012903.1/92761-92453 -Pelagomonas__sp.1 Standard Body:1-322,TagCDS:95-148,CCAequiv:323-325 ANNILKFFTKSPVVAFA* 11 aragorn-1.2.40:105.9 Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales GGGGCTGAAATCGATTCGACGATTAGGTTTTAAGAGACAATACAAGTCGAGAATGGGAATTTCTCGTTAAAATTTCTCAAAAAAAATAATAAATgcaaataacattttaaaattctttaccaagtctccggtagtagcattcgctTAGAACCTTTGGTTTCACATTAGTCTAATCTTAATCTAATATGAAAATATTTAAGATGCAGCTAAAAAATAAATTTAGCTAAGAACCCTACGCAATCAAATGTATGTATAACAGAACTTGGAATACTATTGACTAATATAATCTAATTGGACGTGGGTTCAAATCCCACCAGTTCCAaaa 1 JX297813.1/1314-1638 -Dictyopteris__divaricata.1 Standard Body:1-363,TagCDS:75-119,CCAequiv:364-366 ANNIINYKQNAIFA* 11 aragorn-1.2.40:108.1 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Dictyotales,f__Dictyotaceae GGGGCTGCAGTGGTTTCGACATTTATGATTTAATAATAAAAAGCAGATAATCATATTAAACTTAACAAATAATTgcaaacaatattattaattacaaacaaaacgctatttttgcaTAAAATTCTAGAATTTTGAATTTAATCCTATATATAATATCTGATTAAATAGTCTAACATATTATTTTACTAAAAATTAAAAAAAATTTAGTTACAGCAATGCTTACATTTCTCTGTATATAACGAGATAAAAAATATAGGTTGAAGGGATATTCTATTTAGAAGATCTTTTTAACTAAATCTGTGAAACTCTAAGATATTTAGATTTTTTCATAAATGGACGTGGGTTCAATTCCCACCAGCTCCTtta 2 NC_036804.1/45782-46147,NC_058752.1/45781-46146 -Pylaiella__littoralis.1 Standard Body:1-395,TagCDS:76-120,CCAequiv:396-398 ANNIMSFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Acinetosporaceae NNNNNNNNNNNNNNNNNNNNATTTAAAATTATAATAGTTACTAAGCAGATTTAAGTCTTAGAATATAAAATAATTgcaaacaacattatgagctttaataaaaaccaagtttttgcaTAAAATACTTGAGTTTTAATATCAATCAATTTTATAATTGTTGATTGAAATAGGTAGAAGATTATTTTTTCTCTTAAATTTTAGTTTTGGTAATTTTACTATCAGTAAAATATAATATTTATAAAATAAATATAAATCGATCCATATTTTTGCTACCAATCTGTTTTTAATAGTTTTAAGCTTATTTTAGCTAAGCAGATTGATAACTAAATCTGTGATTTTAGTACTTAGTTTGATAATTTTTTAAATGGACGTGGNNNNNNNNNNNNNNNNNNNNNnnn 1 HG528735.1/1-354 N's: PCR primer-binding sequence -Cladosiphon__okamuranus.1 Standard Body:1-416,TagCDS:76-120,CCAequiv:417-419 ANNIMSFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae GGGGCTGTGTTGGCTTCGACATTTAAAATGATACTAATTACTAAGCAGATTTAAACCTTAAAATATAAAATAATTgcaaacaatattatgagttttaataaaaaccaagtttttgcaTAAAATTCTTGTGTTTTAATATCAATCAACTCTATAATCGTTGGTTGAAGTAGGTATAAGATTGTTTTCCTCCTAAATATTTATAAAATTTAGTTTTGGTCATATTATTACTATCTACTACGATATGAAATTTATGTTTATTAGTAAATATTAAATATAAACTGATTTACATTTTTGTTAGCAATTTGTTTACTAATAGTTTTAAATTTAACTGAAACAACTGATAACTAAATCTGTGATTTCAGTAATTAGTTTGATAATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTccc 1 NC_046005.1/36242-36660 -Pleurocladia__lacustris.1 Standard Body:1-366,TagCDS:76-120,CCAequiv:367-369 ANNIINFNKNQVFA* 11 aragorn-1.2.40:106.6 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae GGGGTTGCATTGGTTTCGACATTTAAAATTAAACTAATTAATAAGCAGATTTAAACATTAAAATATAAATTAATTgcaaataatattattaatttcaataaaaatcaagtttttgcaTAAAATTCTTGCGTTTTGAAATCAATCAATTAAAATTCGATAATCATTGATTGAACTCAGTAAAAGATTATTATTTCCCTCGTATTTGAAAAAATTTAGTTTTGGTCATGTATAATAAAATACAAAAAATATAATATGGTTTTCAATTGTCTTATTTTTTAAATAAAAAAATTGAGAACTAAATCTGTGAGTTTACCAATTAGTTTAATCTTTTTTAAATGGACGTGGGTTCAAATCCCACCAACTCCTtaa 1 NC_032045.1/72829-72461 -Ectocarpus__siliculosus.1 Standard Body:1-407,TagCDS:76-120,CCAequiv:408-410 ANNIINFNKNQIFA* 11 aragorn-1.2.40:107.7 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ectocarpaceae GGGGTTGTATTGGTTTCGACATTTAGAATTACACTACTTACTAAGCAGATTTATATAGTAGAATATAAAATAATTgcaaacaatattattaattttaataaaaaccaaatttttgcaTAAAAATTTTGGATTTTAAAATCAATCAATTTTATAACTGTTGATTGAAGTGGGTAACAGATTATTTTCACTCTAAAATTTATAAAAATATAGTTTTGGTAAGGTTAATATCCTTATGATATAAAAATTATATTTATTTATATGAAAATTTATAATAAATATAAATTAATACACTTGTTTGTTATTAATTGAATAAATTTGATTAAAACAATTAATAACTAAATCTGTGATTTAAATAATTAGTTTGATAATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTcca 1 NC_013498.1/65461-65870 -Ishige__okamurae.1 Standard Body:1-401,TagCDS:89-133,CCAequiv:402-404 ANNIINFKKHQIFA* 11 aragorn-1.2.40:111.2 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ishigeaceae GGGGCTGTTTTGGCATCGACATTTAAGGATAAGAAAATTTATAAGCAGATCATAATGTACTATATGTACATAGCAAATAAAAATAATTgcaaacaatattattaactttaaaaaacatcaaatttttgcgTAAACTATTTGTCTTCTAATATTAGTCCCAATTGTAATGTAGGACTGATATGGATATATATATTACATTTCTCTAAAGGAATTTAGATTAGGAAGTTATAGGAAAAGACTAACATAACATATTTATTCTATTTCATATAAAAATAATAGTTTATGTTCTTATTTGTACCTTTTATTTTTTTGAACAAAAGGTATAAAAAGAACTATATCTGTGAAAAATAAATTATTTACATATCCTTAGATGGACGTGGGTTCAAATCCCACCAGCTCCAtaa 1 NC_058314.1/26414-26817 -Colpomenia_sinuosa.1 Standard Body:1-392,TagCDS:76-120,CCAequiv:393-395 ANNIINFKKNLVFA* 11 aragorn-1.2.40:108.2 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae GGGGCTGTATTGGTTTCGACATTTAAGATTATACTAATTGCTAAGCAGACTTAAGTCTTAGAATATAAAATAATTgcaaataatattattaattttaaaaaaaacctagtgtttgcaTAAAATTCTTGAGTTTTAACATCAGTCAATTGTCTAATCGTTGATTGAAGTAGGTAAATGATTCGATTTGCGCTATAATTTTGAAAAATTTAGTTTTGGTCATATTAGTAACTATATAATATGAATATAAAATTTATATTTATAATCTAAATGATAAATCTCAACTGATCTACTTTTTGTTATTAATTTTAAATTAATAGCTAAATCTGTGAGTTAAGTGATTAGTTTGATAATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTCCAtaa 1 NC_081925.1/6238-6632 -Endarachne__binghamiae.1 Standard Body:1-379,TagCDS:76-120,CCAequiv:380-382 ANNIINFKKNQVFA* 11 aragorn-1.2.40:107.4 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae GGGGCTGTATTGGTTTCGACATTTAAAATTACACTAATCACTAAGCAGACTTAAGTCTTAAAATATAAAGTAATTgcaaacaatattattaatttcaagaaaaaccaagtttttgcaTAAATTTCTTAGGTTTTAACATCAATCAAGTACTTAATTATTGATTGAACTAGGTAAAGATTATTTTTTCGCTAGATTTTAAAAAAATTTAGTTTTGGCCACATTAGTAGCTATACAATATAAAATTTCTATAGCATCAATAATAAATCTAAACTAATCTAATTTTTTGTTATTAATAACAAAATTAATAACTAAATCTGTGAGATAAGTCATTAGTTTGATGATTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtaa 1 NC_038231.1/38081-38462 -Scytosiphon__canaliculatus.1 Standard Body:1-378,TagCDS:76-120,CCAequiv:379-381 ANNIINFKKNQVFA* 11 aragorn-1.2.40:107.4 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae GGGGCTGTATTGGTTTCGACATTTAAAATTACACTAATTGCTAAGCAGAATTAAGTCTTAGAATATAAAGTAATTgcaaataatattattaattttaaaaaaaaccaagtttttgcaTAAAATTCTTCGGTTTTAACATCAATTAATTATCTAATTGTTAATTGAAGTCGGTAAAAAATTCTTTTTTCCCTAGAATTTTTGAAAATTTAGTTTTGGTCATATTAATAGCCATAGAATATAAATTTCTATAGTATAAATAATAAATATAAACTAATCTAGCTTTTGTTGTTAATAAAAGATTAATAACTAAATCTGTGAGTAAAGTGATTAGTTTGATGATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTcaa 1 NC_044758.1/39346-39726 -Scytosiphon__lomentaria.1 Standard Body:1-380,TagCDS:76-120,CCAequiv:381-383 ANNIINLKKNQVFA* 11 aragorn-1.2.40:106.5 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae GGGGCTGTATTGGTTTCGACATTTTAAATTACACTAATTGCTAAGCAGACTTAAGTCTTAGAATATAAAGTAATTgcaaataatattattaatttaaaaaaaaaccaagtgtttgcaTAAAACTCTTGAATTTTCACATTAATCAATTTTTTAGTTGTTGATTAAAGTAGGCAAAAGATTTTTTTCCGCTAAAATTTAAAAAAGTTTAGTTTTGGTCATATTAGTAGCTATACAATATAAAATTTCTATAGTGTCAATAATAAACGTAAACGGATCTACCCTCTTGTTATTAATAAATTTATTAATAACTAAATCTGTGAGTTAAGTAGTTAGTTTAATAATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTaaa 1 NC_057081.1/64964-65346 -Scytosiphon__promiscuus.1 Standard Body:1-380,TagCDS:76-120,CCAequiv:381-383 ANNIINFKKNQVFA* 11 aragorn-1.2.40:106.5 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae GGGGCTGTATTGGTTTCGACATTTTAAATTACACTAATTGCTAAGCAGACTTAAGTCTTAGAATATAAAGTAATTgcaaataatattattaattttaaaaaaaaccaagtgtttgcaTAAAACTCTTGAATTTTCACATTAATCAATTTTTTAGTTGTTGATTAAAGTAGGCAAAAGATTTTTTTCCGCTAAAATTTAAAAAAGTTTAGTTTTGGTCATATTAGTAGCTATATAATATAAAATTTCTATAGTGTCAATAATAAACGTAAACGGATCTACCCTCTTGTTATTAATAAATTTATTAATAACTAAATCTGTGAGTTAAGTAGTTAGTTTAATAATTTTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTaaa 1 NC_046447.1/38531-38913 -Fucus__vesiculosus.1 Standard Body:1-451,TagCDS:76-120,CCAequiv:452-454 ANNIINFNKSQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae GGGGCTGAATTGGTTTCGACATTTATAATTAAATTAATTAATAAGCAGATTTTATTTTTAAAATATTAAATAATTgcaaataatattattaattttaataaaagccaagtttttgcaTAAAATTCGTGAGTTTTATTATCAATTAATGATAATTTTTAATTGAAAGAGGTAAAAAATTAATTTCTCTAAAACTTTAAAAAAGTTTAGTTTTGGTTTTATATTATACTTATACTATTATAAAGAATAAGAAAATTTTCTTATTATATAAATATATATAGACTATCTAAGTTATTAAAATGTTTAATAATTAATTATTGAATATTTATTATTTATATAATTGAAAAAATTTTAATTAATTAAAAATAATTAAACAAATAACTAAATCTGTGATTTTATTAGTTAGTTCGTTAATTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_016735.1/9552-10005 -Silvetia__siliquosa.1 Standard Body:1-441,TagCDS:76-120,CCAequiv:442-444 ANNIISFNKSQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae GGGGCTGAATTGGTTTCGACATTTATAATTAAATTAATTAATAAGCAGATTTAACTTTTAAGATATTAAATAATTgcaaataatattattagttttaataaaagccaagtttttgcaTAAAATTCGTGAGTTTTATTATCAATTAATGATAATTTTTAATTGAAAGAGGTAAAAAATTAATTTCTCTAAAACTTTAAAAAAGTTTAGTTCTGGTTTTATATTATAATTATACTATTATAAAGAATAAGAAAATTTTCTTATTATAGATATATATATAGACTATCTAAGTTATTAGAATGTTTAATAATTAATTATTGGATCTTTATTCATTATACAATTGAAAAAATTCTAATTAATTAAACAAATAACTAAATCTGTGATTTCATTAGTTAGTTCATTAATTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTgat 1 NC_061768.1/4350-4793 -Coccophora__langsdorfii.1 Standard Body:1-460,TagCDS:77-121,CCAequiv:461-463 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGACTGTAATGGTTTTGACATTTGTAATTAATGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAGAATTCTTTAGTTTTAGTATCAATTAATGATATAGTTCTTAATTGAAATAGGTAAAAAATTATATTTTCCTAAAACTTTTTAAAAGTTTTATATTGATTTTAATATTGAAATTTTCTTATTGTGATATATTGAAGATGAAAAACTTCCTTTATTTAGAAAAATTAACTACTCAAGTTATTATTATTGTTATGAGTTAATGGTTAAATATTTAGAAAATTCAAATAATTTTGAAAAATTTAATTAATTATCCCTAATTAAAAGAATAACTAAATCTGTGATTTTATTAGTTAATTCGACATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGTTCCTtat 1 NC_032288.1/49108-49570 -Sargassum__confusum.1 Standard Body:1-461,TagCDS:77-121,CCAequiv:462-464 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtgTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTCAAATGAGCTTAATTTATAAGAGAAAAGATGAAAAACCTTTTTTTATTTAAAAAAACTAACTACTCAGAGTTATTATTATTTTTATAAATGAATGATTAAACATTTTTAAAATTCCTTGAATTTTAAAAAATTTAATCAATTATCTACAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGACGTTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_066050.1/4231-4694 -Sargassum__fulvellum.1 Standard Body:1-428,TagCDS:77-121,CCAequiv:429-431 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTACTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATACAATTCTTAATTGAAAGAGGTAAAAAAGTATGTTTTCCTAAAACTTATTAAAGTTTTAGATTGATTTTAATATTAAAATGAGCTTAATTCTTGAGATAAAAAAAAAGATGAAAAACCAACTACTCAAAGTTATTATTATTGTTATGAATGAATGATTAAATTTTTTAAAAAATTTAATCATTCATTCATAACAATAATAATAACTAAATCTGTGATTTTATTATTTAATTAGATACTTATTTTAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_066457.1/4292-4722 -Sargassum__fusiforme.1 Standard Body:1-464,TagCDS:77-121,CCAequiv:465-467 ANNIIIFNKSQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATCAGTGTTAATTAATAAGCAGATTTAACTATTAAGATCTCAAATAATTgcaaataatattattatttttaataaaagccaagtttttgtaTAAAATTATTTAGTTTTATTATTAATTACTGATGTAATTCCTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAATGAGCTTAATTCATGAGAAAAAAGATGAAAAACCTTTTTTTTTTATTTAAAAAAACTAACTACTCAGAGTTATTATTATTGTTATAAATGAATGATTAAAGATTTTTAAAATTCAGGGAATTTTAAAAAATTTAATCAATTATTTCCAATTAAAAAGATAACTAAATCTGTGATTTTATTATTTAATTAAACATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_048511.1/9564-10030 -Sargassum__horneri.1 Standard Body:1-400,TagCDS:77-121,CCAequiv:401-403 ANNIIIFNKNQVFV* 11 aragorn-1.2.40:102.0 Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATAGTAAATAATTgcaaataacattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTAGTAAAGCTTTAGATTGATTTTAATATTGAAATGAGCTTAAATCATGAGAGAAAAGATGAAAAACCTTTTTTTTTTATTTAAAAAAACTAACTACTCGGAGTTATTATTATTCATAGCAATAATAATAACTAAATCTGTGATTTTATTATCTAATTAGACATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_029856.1/9528-9930 -Sargassum__macrocarpum.1 Standard Body:1-463,TagCDS:77-121,CCAequiv:464-466 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAACGAGCTTAATTCATGAGAGAAAAGATGAAAAACCTTTTTTTTTATTTAAAAAAACTAACTACTCAGAGTTATTATTATTGTTATGAATGAATGATTAAAGATTTTTAAAATTCTTTGAATTTTAAAAAATTTAATCAATTGTCCCTAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGACATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 2 NC_066459.1/4306-4771,NC_066458.1/4305-4770 -Sargassum__plagiophyllum.1 Standard Body:1-464,TagCDS:77-121,CCAequiv:465-467 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAACTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATGTTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAATGAGATTAATTCATGAGAGAAAAGATGAAAAACCTTTTTTTTTTATTTAAAAAAACTAACTATTCAGAGTTATTATTATTGTTATGAATGACTGATTAAAGATTTAGAAAATTCAAAGAATTTTAAAAAATTTACTCAATTGTCCCTAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGACATTTATTTAAAATGGACGTGGGTTCGAATCCCACCAGCTCCTtat 1 NC_064732.1/49712-50178 -Sargassum__polycystum.1 Standard Body:1-463,TagCDS:77-121,CCAequiv:464-466 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAACTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATGTTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAATGAGATTAATTCATGAGAGAAAAGATGAAAAACCTTTTTTTTTATTTAAAAAAACTAACTATTCAGAGTTATTATTATTGTTATGAATGACTGATTAAAGATTTAGAAAATTCAAAGAATTTTAAAAAATTTAATCAATTGTCCCTAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGACATTTATTTAAAATGGACGTGGGTTCGAATCCCACCAGCTCCTtat 1 NC_064730.1/9549-10014 -Sargassum__siliquastrum.1 Standard Body:1-462,TagCDS:77-121,CCAequiv:463-465 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAACGAGCTTAATTCATGAGAGAAAAGATGAAAAACCTTTTTTTTATTTAAAAAAACTAACTACTCAGAGTTATTATTATTGTTATGAATGAATGATTAAAGATTTTTAAAATTCTTTGAATTTTAAAAAATTTAATCAATTGTCCCTAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGACATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_064337.1/69398-68934 -Sargassum__thunbergii.1 Standard Body:1-463,TagCDS:77-121,CCAequiv:464-466 ANNIIIFNKNQVFV* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae GGGGCTGTAATGGTTTTGACATTTATAATTAGTGTTAATTAATAAGCAGATTTAACTATTAAGATATTAAATAATTgcaaataatattattatttttaataaaaaccaagtttttgtaTAAAATTCTTTAGTTTTATTATCAATTACTGATATAATTCTTAATTGAAAGAGGTAAAAAATTATATTTTCCTAAAACTTATTAAAGCTTTAGATTGATTTTAATATTGAAATGAGCTTAATTTATGAGAGAAAAGATGAAAAACTTTTTTTTTAATTTAAAAAAACTAACTACTCAGAGTTATTATTATTTTTATAAATGAATGATTAAAGATTTTTAAAATTCAAGGAATTTTAAAAAATTTAATCAATTATATACAATTAAAAGAATAACTAAATCTGTGATTTTATTATTTAATTAGAGATTTATTTAAAATGGACGTGGGTTCAAATCCCACCAGCTCCTtat 1 NC_029134.1/9552-10017 -Costaria__costata.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Agaraceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAAGACTTAAAATATACAGTAATTgcaaataacattattaattttaacaaaaaccaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAGATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTTTAATTTTATTTATTAATAGAAAATAAACATAAACTCAACAACTTTTTTGTTAAAAATTCATTTATTTAGCGTTTTAAATGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTGCATTGATTAGTTTAGCAATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_028502.1/44158-43737 -Alaria__crassifolia.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATCTAAACACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAGATAAAGTATTTTAATTTTATTTATTAATATAAAATAAACATAAACTCATCAACTTTCTTGTTAGAAACTTGTTTATTTAGCGTTTTAAAGGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_058771.1/44141-43720 -Alaria__crispa.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATCTAAACACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAGATAAAGTATTTTAATTTTATTTATTGATATAAAATAAACATAAACTCATCAACTTTCTTGTTAGAAACTTGTTTATTTAGCGTTTTAAAGGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 2 NC_058770.1/44152-43731,NC_058768.1/44130-43709 -Alaria__marginata.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATCTAAACACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTTTAATTTTATTTATTGATATAAAATAAACAAAAACTCATCAACTTTCTTGTTAGAAACTTGTTTATTTAGCGTTTTAAAGGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTCCATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_058769.1/44138-43717 -Alaria__praelonga.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATCTAAACACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTCTAATTTTATTTATTGATATAAAATAAACATAAACTCATCAACTTTCTTGTTAGAAACTTGTTTATTTAGCGTTTTAAAGGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcat 1 NC_058772.1/44097-43676 -Undaria__pinnatifida.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFSKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGGTTTAAAAACTTAAACCATATAGTAATTgcaaacaacattattaattttagcaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAAATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTTTAATTTTCTTTATTGATATAAAATAAACATAAACTCATCAACTTTCTTGTTAGAAAATTGTTTATTTAACGTTTTAAAAGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAATCCCACCAGCTCCTcat 1 NC_028503.1/44018-43597 -Laminaria__digitata.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATACAGTAATTgcaaacaatattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGGATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAAATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTTCAATTTTATTTATTGATATAAGATAAACATAAATTCATCAACTTTCTTGTTAAAAATTCGTTTATTTAGTGTTTTAAATTTAACAAAAGTAAATTAATTAATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcat 1 NC_044689.1/44025-43604 -Laminaria__rodriguezii.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGGATTTTAATCTCAATCAATTATATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAATAAAGTATTTCAATTTTATTTATTGATATAAGATAAACATAAATTCATCAACTTTCTTGTTAAAAATTCGTTTATTTAGTGTTTTAAATATAACAAAAGTAAATTAATTAATAACTAAATCTGTGATTACATTGATTAGTTTGATAATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcat 1 NC_057231.1/44008-43587 -Laminaria__solidungula.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATACAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcgTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAAGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAAGTAAAGTATTTTAATTTTATTTATTGATATAAAATAAACATAAACTCATCAACTTTCTTGTTAGAAATTCGTTTATTTGGCGTTTTAAATGTAACAAAAGTAAACTAATTAATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_044690.1/43923-43502 -Macrocystis__integrifolia.1 Standard Body:1-417,TagCDS:77-121,CCAequiv:418-420 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATCCTTAAAACATACAGTAATTgcaaacaacattattaattttaataaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTTTATAATTGTTGATTGAAATAGGAATAAGATTATTTTCCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTGTTATAGATAAAGTATTTTAATTTTATTTATTAAAATAAACATAAACTCATCAACTTTCTTGTTAAAGATTTTTTTATTTACCGTTTTAAAGATAATGGAAGTAAACTAATTAATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcat 1 NC_058274.1/39651-39232 -Macrocystis__pyrifera.1 Standard Body:1-417,TagCDS:77-121,CCAequiv:418-420 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATCCTTAAAACATAAAGTAATTgcaaacaacattattaattttaataaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTTTATAATTGTTGATTGAAATAGGAATAAGATTATTTTCCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTGTCATAGATAAAGTATTTTAATTTTATTTATTAAAATAAACATAAACTCATCAACTTTCTTGTTAAAGATTTTTTTATTTACCGTTTTAAAGATAATGGAAGTAAACTAATTAATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcat 1 NC_065334.1/92313-91894 -Saccharina__japonica.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATACAGTAATTgcaaacaatattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAAGAATAAGATTATTTTCCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAGATAAAGTATTTTAATTTTATTTATTAATATAAAATAAACATAACCTCATCAACTTTCTTGTTAAAAATTCGTTTATTTAGCGTTTTAAATGTAACGGAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 2 NC_079820.1/43900-43479,NC_018523.1/43916-43495 -Saccharina__latissima.1 Standard Body:1-419,TagCDS:77-121,CCAequiv:420-422 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATACAGTAATTgcaaacaatattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAAGAATAAGATTATTTTCCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAGATAAAGTATTTTAATTTTATTTATTAATATAAAATAAACATAAACTCATCAACTTTCTTGTTAAAAATTCGTTTATTTAACGTTTTAAATGTAACGAAAGTAAACTAATTGATAACTAAATCTGTGATTACATTGATTAGTTTGATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 2 NC_049039.1/43952-43531,NC_071183.1/43965-43544 -Ecklonia__radiata.1 Standard Body:1-451,TagCDS:77-121,CCAequiv:452-454 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae GGGGCTGTATTGGTTTCGACATTTATAATTCTATTAATCAATAAGCAGATTTAAATACTTAAAACATATAGTAATTgcaaacaacattattaattttaacaaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACTTCAATCAATTTTATAATTGTTGATTGAAATAGGAATAAGATTATTTTTCTCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATTATATTATACATATAAATTATAAATAAAAGTAAAAGTGTTTTAATTTTATTTATTTATTAATATAAAATAAACATAAATTCATCAACTTTCTTGTTAGAAGTTCGTTTATTTAACGTTTTAAATGTAACGAGAGTAAACCAATTGATAACTAAATCTGTGATTACATTGATTAATTTGATGATTATTTTAAATGGACGTGGGTTCAAGTCCCACCAGCTCCTcat 1 NC_070408.1/44223-43770 -Lessonia__flavicans.1 Standard Body:1-425,TagCDS:77-121,CCAequiv:426-428 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae GGGGCTGTATTGGTTTCGACATTTATAATTTTATTAATCACTAAGCAGATTTAAATACTTAAAAAATACAGTAATTgcaaacaacattattaattttaataaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAAGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATCATAAATAAAGTATTTTAATTTTATTTATTGTTCATATAAAATAAACATAAACTCATCAACTTTCTTGTTACAAATTTGTTTATTTATTGTTTTAAACATAACGAAAGTAAACTAATTAATAACTAAATCTGTGATTCCATTGATTGGTTTAATGATTATCTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_056288.1/44131-43704 -Lessonia__spicata.1 Standard Body:1-425,TagCDS:77-121,CCAequiv:426-428 ANNIINFNKNQVFA* 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae GGGGCTGTATTGGTTTCGACATTTATAATTTTATTAATCACTAAGCAGATTTAAATACTTAAAAAATACAGTAATTgcaaacaacattattaattttaataaaaatcaagtctttgcaTAAATTTCTTGAATTTTAACCTCAATCAATTATATAATTGTTGATTGAAATAAGAATAAGATTATTTTTCCCTAAAACTTTACAAAACTTTAGTTTTGGTATTATTATTATAATAAATAAAGTATTTTAATTTTATTTATTGTTCATATAAAATAAACATAAACTCATCAACTTTCTTGTTAAAAATTTGTTTATTTATTGTGTCAAACGTAACGAAAGTAAACTAATTAATAACTAAATCTGTGATTCCATTGATTAGTTTAATGATTATTTTAAATGGACGTGGGTTCGAGTCCCACCAGCTCCTcac 1 NC_044182.1/44132-43705 -Haramonas__pauciplastida.1 Standard Body:1-325,TagCDS:83-127,CCAequiv:326-328 AKEKTNTNRIYAFC* 11 aragorn-1.2.40:105.5 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae GGGGTTGATAAGGTTTCGACATTCTAATTATCTAGTTTTACAATTGAAAATCTATCTTAGTAAACTGTATTTAACATTATCTgcaaaagaaaaaacaaacactaatagaatctacgctttttgcTAAAAAAAATTAGCAATGTAAAAGATTCAATCTTCTAGTTATTTACTGGCTAAAAGATAAATCTCGCGATTGCAACGCATTAGTGATAAAACTAACCAAGAAAAAAAGTTTATTATAATAGCTTGTAAGACATAAACTGTTTTTCTGAAAAAGTAAGAAAAAAGATTAGAATGGAAGTGGGTTCAATTCCCACCAACTCCGtaa 1 NC_065321.1/76218-75891 -Chattonella__marina.1 Standard Body:1-340,TagCDS:72-116,CCAequiv:341-343 ANNIVSFNRVFAFC* 11 aragorn-1.2.40:104.2 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae GGGGCTGAATGGGTTCGACATTTAAGTAATTGCCTATTGTAATACAAATCTTTTTTTTTTTTAAAATAAACgcaaacaatattgttagttttaatcgagtatttgctttttgcTAAACTAAAACTTTGCATAAAAAATTACCAAAAAACTTTAATAACCACTCTAAACTGACATAAATAGAGGTGGTAAAATTTTATTGTCTTCCCTAAAAAAGTTAAGATTTTAATTTATATTGATTTTAATAGTCTTTTATAGTTAGAATGTATTCTATAAAATAAGTTTGTGAAAAAACATGAAGCATGTTCTTAGTTGGAAGTGGGTTCAAATCCCACCAGCTCCAtaa 1 NC_065320.1/46522-46180 -Heterosigma__akashiwo.1 Standard Body:1-345,TagCDS:71-115,CCAequiv:346-348 ANNSIHFNRVSAFC* 11 aragorn-1.2.40:109.5 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae GGGGCTGAATGGATTCGACATTTAAAAAAACATTTTTATTATACAATCTTTTTAATAAGTAAAAATAACTgcaaataattcaattcattttaaccgagtttcagcattttgtTAATATAGTTTTACTAAAACTTTAGCCAAAATTGTCAGGAAACTTGCTAGTCAATATTTCTTAATTGATAAAAAGTTGACTAAAATTATTAATCTGCACTAACTTAAGAGTTAAGAGTTATAAACTTTAAAATTTTTAATAGTTTTTTATAAAAATTTTAGTATAAAATAAATTTGTGACAAAATAAATAGTGTAATTTTAGATGGAAGTGGGTTCAAGTCCCACCAGTTCCAcaa 1 NC_010772.1/101657-101310 -Gonyostomum__semen.1 Standard Body:1-336,TagCDS:81-125,CCAequiv:337-339 ANNIVRFNKVKCFA* 11 aragorn-1.2.40:109.4 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae GGGGCTGAAATGGGTTCGACATTTAAGTAAATGCTTTTTGAAATACAAAAATAGAAAATTTAAAAACTTAATAAATAACTgcaaataatatagttcgttttaataaagtaaaatgttttgcaTAATTTTTGTTTAACCCTTTAAAAACTTTAAATATCAATTTTAAAATCGAAAAATTTTTAATTGGTAATTTATTTAATTTCTGCTCTTAAATTTAGTTAAGATTTTTACTTGTTTTAAATTAATAGTTTCTTTGAAAAAACTTCTAAGATAAATTTGTGAAAAATCCTAAAGCATAAACTAAGATGGAAGTGGGTTCAAAACCCACCAGCTCCAgaa 1 NC_065317.1/42104-41766 -Merotricha__bacillata.1 Standard Body:1-338,TagCDS:87-131,CCAequiv:339-341 VNNINSFKKINCFA* 11 aragorn-1.2.40:106.4 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae GGGGCTGAAATGGTTTCGACATTTCAAAAAATGATTTATGATATACAAGAATCAAAAATTTTTTTTACTTTAAAATTTAAATAAAAgtaaataatattaatagttttaaaaaaataaattgttttgctTAATTTAGTAAAAATATTTTTATAGTCAATTTTTAAGTTCTAAACAAAAAATTGAAAATAGAAGATTTTTTAGTGCTCTCTTGTAAAGTTAAGATTTTTAAATTTGTACTTTTAGGCATTTGTCTATAATAAATATTTTATAGACTAATTTTGTAAAAATTCATAAAACATTTAATAAAATGGAAGTGGGTTCAATTCCCATCAGCTCCAaaa 1 NC_065318.1/30310-30650 -Vacuolaria__virescens.1 Standard Body:1-347,TagCDS:84-128,CCAequiv:348-350 ANNNISFNRMPIFL* 11 aragorn-1.2.40:106.3 Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae GGGGCTGTATTGGGTTCGACATTTAAGTAAATGATTTATGTAAGACAAATAAATCTTTTAAATTCAAAGTTTTTAAAATAAATgcaaataacaatatttcttttaaccgaatgcctatttttttaTAATTAAAAATTCATTAATATAAAAAAAAACATTACTAATCAATCGAAATTAAAAAAATAAGAATTGGTAGTTTAAATAAATTTGCTCTGTACATATAGTTAAGATTTTTTATTGCTTTTATAATTTTTTATAATAAAGTTTTTATTTATTATAAAATAAATTTGTGAAAAAGCATAAAGCATATTGCTTAATGGAAGTGGGTTCAAACCCCACCAGCTCCAaat 1 NC_065319.1/45104-44755 -Mallomonas__splendens.1 StandardNoCDS Body:1-63,CCAequiv:64-66 undetermined 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae GGGGCTTTTCGGATTCGACATTGATTTTTACAATGGACGTGGGTTCAAATCCCACCAGCTCCAtat 1 NC_040135.1/19788-19723 -Synura__uvella.1 StandardNoCDS Body:1-62,CCAequiv:63-65 undetermined 11 . Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae GGGGCTTTTTGGATTCGACATTGAATTTTCAATGGACGTGGGTTCAAATCCCACAAGCTCCAaaa 1 NC_040134.1/19559-19495 -Entomoneis__sp.1 Standard Body:1-325,TagCDS:97-174,CCAequiv:326-328 AINNFFKAINFNIQNTFFNSLRFAV* 11 aragorn-1.2.40:110.9 Plastids,d__Eukaryota,k__Ochrophyta,p__Bacillariophyta,c__Bacillariophyceae,f__Entomoneidaceae GGGGCTGTTTTGGTTTCGACATTTAAAATTAATTAATATATGATTCAGGCCGAAGCGTGTATTCTTCGTAAAAATCTACACAACATAAATATAACTgctattaacaacttttttaaagcaatcaacttcaatattcaaaacacttttttcaattcattacgatttgctgttTAACAAATTTTAGTGAATAGTTCACTATTTTTAGATACTTTATCTACTATAGTTTAGACTAATTTAATTAATAACTTGTTCTTTGAAACTATGCCTGTGAGCGAGTATATTAATTGATTTTAAATGGACATGGGTTCAATTCCCATCAGTTCCAtgg 1 NC_038001.1/30853-31180 -WVXT01__sp009619095.1 GpIintron Exon1:1-332,TagCDS:96-125,GpI:333-579,Exon2:580-593,CCAequiv:594-596 ADTKLALAA* 11 infernal-1.1.2:138.1/tmRNA d__Bacteria,p__UBA6262,c__UBA6262,o__WVXT01,f__WVXT01,WVXT01__sp009619095 GGGGGCGATCAGGTTTCGACAGGAATAAAGGAGGCAAGGACGGCAGGTCGAGGTTTGTCGAAGGCTCGTTAATCAATCGACAACAAAAACTAAGTgctgacactaagttagcattagccgcgTAAGCGGACACGCTCACCTCTTTTTGCCCATTGGATGGGGATGAGTGTCAGAGAGATGGGATAGTTCCGGCTTTTGCCTTGGAAGTCGGGATGAGATTTAAAGGCTGCTCCGTCTCGAATCCTGTCTTTGGGTAATAAGGCGGGGGAGATTCCAAACAAAGACTAAACCTGTAGATGTCCTGCTGAAATATTTCTGGACGCGGGTTCGATcaaaaggtcgacttccgaagtaattcgggatgcaaaacctggcttacatcagggaaaccctaatcctgataatacaggaaagggtaatcctgaggggcgaaagccctgcagagactgtaatgataggaggtgatatcgttggacgaagttgaaccaacgataaatctatgcctcctataacacgtcaggctccccgattggggatgaagagatagtccataccacttagaaataaatggagtatatgTCCCGCCGCCTCCAcca 1 WJOT01000061.1/9381-9976 -UBA953__sp003569205.1 Standard Body:1-364,TagCDS:93-148,CCAequiv:365-367 frameshift 11 infernal-1.1.2:121.2/tmRNA d__Bacteria,p__Verrucomicrobiota,c__Verrucomicrobiae,o__Opitutales,f__UBA953,UBA953__sp003569205 GGGGGTGTTTCCGGATTCGATTCCCATCAGATATCATGACGGCATGCAGAGGACGTCAGCTCCCTCTTAAATCCAGCTGGCAGCATATAACTgctaaaaacaaccatcacgttcgaaagcgacaacgctttccgcactcgctgctTAATTACAGCGACGGGCCCAGGACGCGCCTGCATTCCTGGATCAGCTCGGTTAACGTGGGCGATCCCCTCCTCTAGTTTCTATCTCCGGGGTAAGTGAGAATGAAGATAGGCCGCACGGGTGCGCATTCCCAAACGCGGTCGAGATCAATAATGACGCTAAGCATGTAGAAGATGTGACGTAAGGATAGGAAGACGCGGGTCGACTCCCGCCACCTCCAcca 1 BGOK01000023.1/25516-25150 +#ID Form Segments Tag Genetic_code Scores(aragorn,alpha,beta,cyano,permuted,mt,tmRNA,tmRNAnew,intron) Taxonomy Sequence Count Instances Search_phase Note +Phage__Bacillus.1 Standard Body:1-309,TagCDS:68-109,CCAequiv:310-312 AKLNITNNELQVA* 11 107.064,0,36.1,22.2,24.1,0,69.4,68.2,13.6 Bacteriophages GGGATTGTTAAGGATTCGACAGGGGAAAATAGTATAAGACATGATACTCGTAAAGCATACGTTACATgctaagttaaatataactaacaacgaattacaagtagccTAGTTAATAGGTGCCAAAACAATAGAGTTGCTCTAACATCTATTTGAGGTTCAAAGATTTGAGCTATTTCTTACTTTAGAATAAAGTAAGTGGTGGAGCCTAGAGAAAACGCTGTAGAAACTAACTATTCAAATTGTAAATGGTATCAAACAAGTGTCTATATGAAAGTCTTCTGGACGCGGGTTCGACTCCCGCCAGTTCCAtat 1 NC_023719.1/412060-412371 1 +Phage__Bordetella.1 Permuted(beta) Acceptor:1-65,IVS:66-140,Coding:141-302,TagCDS:224-256,CCAequiv:66-68 ANDDYIRAAA* 11 105.69,30.7,58.1,32.9,104.5,0,28.9,34.1,27.8 Bacteriophages GGCCTCGGCCCGCGAGACGTGAAGTGAATGGCGTTCGGACGCGGGTTCAATTCCCGCCGGCTCCAccactggcagcattggcgtcgagctcagcatccccggggtccggatcacgggtgagttccagtgctgccagtcatGGGGCCGACCGGTTTCGACGGGCGCGCTGCAGCGGATCGGACTACTCGGCAAGCGGAGCCGTAAACCAAGCAAAATCGTAGACgccaacgacgactacatccgcgccgctgctTAAGCGGTGACGGCCTCCCCCGGCAGGTGGCAACAGAAGCCGGGGACCA 1 NC_047861.1/46086-46387 1 +Phage__Caulobacter.1 Permuted(beta) Acceptor:1-62,IVS:63-159,Coding:160-497,TagCDS:259-321,CCAequiv:63-65 VADNDNDVVAFASAREAIAA* 11 100.182,12.4,21.2,0,71.9,0,18.7,19.0,0 Bacteriophages ATCGTTGTAATTCGGACAACGGAACTGGCGGCAAGACAGGGGTGCGAATCCCCTCGCCTCCAccatcgacgcccggcgctgggagtacgcgactcctgggcagggagtgttaccctggcgggctgcggcccgagccaaaggtagccgggcgtcgttgatGGGGGCGACTAGCTTTCGATTGGCGCTCGGGACTGAAAGACGCAACGGTGGGTGACCTCCACATCGGCTTGCCGGTGATCGGGTCAGGCAACAGTAAATgtcgccgacaatgacaacgacgtcgtggctttcgcctcggctcgtgaagccatcgccgccTAATAAGCGGTAGAGGAGCCCGCCGGGAGCTTGGCAACAGAATCCCGGCAACCCCCTTTCGCAGGCGGGAACACCAACAGGCGATCTGTCGGGCGACCGATTTCCGATCCGTGTTCCCGTCTTCGAAAGGTGGTCAGGCCTACCCTCTTGGTGTGCTATCCAAGGGTCTGGCCACTTTA 1 NC_019410.1/103849-104345 1 +Phage__Caulobacter.10 Permuted(beta) Acceptor:1-62,IVS:63-159,Coding:160-497,TagCDS:259-321,CCAequiv:63-65 VAANDNDVVAFASAREAIAA* 11 100.182,15.7,21.2,20.3,71.4,0,18.7,17.2,0 Bacteriophages ATCGTTGTAATTCGGACAACGGAACTGGCGGCAAGACAGGGGTGCGAATCCCCTCGCCTCCAccatcgacgcccggcgctgggagtacgcgactcctgggcagggagtgttaccctggcgggctgcggcccgagccaaaggtagccgggcgtcgttgatGGGGGCGACTAGCTTTCGATTGGCGCTCGGGACTGAAAGACGCAACGGTGGGTGACCTCCACATCGGCTTGCCGGTGATCGGGTCAGGCAACAGTAAATgtcgccgccaatgacaacgacgtcgtggctttcgcctcggctcgtgaagccatcgccgccTAATAAGCGGTAGAGGAGCCCGCCGGGAGCTTGGCAACAGAATCCCGGCAACCCCCTTTCGCAGGCGGGAACACCAACAGGCGATCTGTCGGGCGACCGATTTCCGATCCGTGTTCCCGTCTTCGAAAGGTGGTCAGGCCTACCCTCTTGGTGTGCTATCCAAGGGTCTGGCCACTTTA 1 NC_019405.1/103281-103777 1 +Phage__Caulobacter.2 Permuted(beta) Acceptor:1-62,IVS:63-160,Coding:161-505,TagCDS:259-321,CCAequiv:63-65 VASNDNDVVAYASAREAIAA* 11 0,30.2,38.6,22.1,82.2,0,21.1,31.2,0 Bacteriophages ATCGTTGTAATTCGGACAACGGAAACGGCGGCAAGACAGGGGTGCGATTCCCCTCGCCTCCAccatgagcccctggcgctgggagtacgcgactcctgggcggggagcgttaccccgacgggatgcgtcccgagcaaaggtgtagccagggtctcatgatGGGGGCGATCAGTTTCGATTGGCGCATGTGACTGGAAGACGCAACGGTGGGTGACCTCCAGGCCAGCTTGCTGGTGATCGGGTCAGTGCAACAGAAATgtcgcatcgaacgacaacgacgtcgtggcttacgcctcggctcgtgaagccatcgccgccTAATAAGCGGTAGAGGCGTGTCCCGGCGGACGCGCGTGTCACAAAAAGGCCCTGCATCTACGGACCGGGGCCAGTCCGCCTCCCACCTTTCGCAGGTGGGATCGTCATCATCGCGTGTCTGTCGGAAACTTCACGTAACCATTGACGATCCCATCTCCGTAAGGTGGTCCCATTCTGGAGCGTGGTG 1 NC_048045.1/101293-101797 1 +Phage__Caulobacter.3 Permuted(alpha) Acceptor:1-64,IVS:65-156,Coding:157-543,TagCDS:251-316,CCAequiv:65-67 VNAANDNDVVVSTMTSVKLAA* 11 102.03,43.3,16.7,19.8,73.3,0,29.7,31.1,0 Bacteriophages GGGACCTGGATGACGGAATATACGGAGACTGAACTGGACCGGGGTGCGATTCCCCGCGCCTCCAccaccaagtctcccggccggtccccacccagggacctgggcgtcgccttcagcgacggcgcccgatctgaacggcgcgggagactttgttctGGGGGCGATCAGCATCGACAGGCAGGGTAAGTAGAAGACGCGACACGGCATGGCTGCCGGTTCCTTCGGGAGCGCTCGGCCCACTTTGACAAATgtcaacgctgcaaacgacaacgacgtcgtggtttcgaccatgacctcggtcaagctggccgctTAACGGCTCGGGGTTCAGGAGGCGCCTTTTCACCCAAGGTCTCCAGCTTGCCCTAAGGGGCTTAGAGGACAGGCGGCGTAAGCCGCGCGATCAACACCAGGGGGCGGCCTGGGTCCCGAAACCGCCCACCCTCCTGCTTTCGCAGGTGGGATCAGAAGGTCGGCCTCAAAATAGGCGATCTGTCGGAAGAAACCCCGTTTCGCCGGCTTTCTGATCCCATCTACGAAAGC 1 NC_048047.1/149044-149586 1 +Phage__Caulobacter.4 Permuted(alpha) Acceptor:1-62,IVS:63-146,Coding:147-477,TagCDS:250-297,CCAequiv:63-65 VNDNDAPVMEQRLAA* 11 100.47,71.0,43.1,0,90.4,0,23.3,34.2,9.7 Bacteriophages ATCGTCGTAATTCGGATGACGTGATTGGTGTCAAGACGCGGGTGCGATTCCCGCCGGCTCCAccaaaaccccaccggccgacgcttcggcgtcacgacctgccccagcgacaggtcggtatctgaacggtacggtggggttctgatGGGGCCGATCAGTTTCGATTGGCATTGAGAGTGAAGGACGCGACGTAGGGTGATCTCCTAGCCAAGGCTTCGGCTGAGGTAATTGGGTCAAACGCTGACAAATgtcaacgacaacgacgctcccgtgatggagcaacgtctggcggccTAAGGGCCTCCAGCGGCGCCCGGTGGGGGCGTGGCAACAGAACCCCACCACCCTGCTTCCGCAGCCGGAGGCGTTGGTACAGGGCGTTTCTGTCGGCAACCGTTTCGCCGCCTTTACGTCTCCGGCTACGAAAACAGGTTTGGGGAGTAGTCCTCCGAGGGATCGGAGAATAACGCTCTCCGG 1 NC_048046.1/140751-141227 1 +Phage__Caulobacter.5 Permuted(beta) Acceptor:1-62,IVS:63-160,Coding:161-498,TagCDS:260-322,CCAequiv:63-65 VADNDNDVVAFASAREAIAA* 11 100.182,12.4,21.2,0,70.3,0,18.7,18.5,0 Bacteriophages ATCGTTGTAATTCGGACAACGGAACTGGCGGCAAGACAGGGGTGCGAATCCCCTCGCCTCCAccatcgacgcccggcgctgggagtacgcgactcctgggcagggtgcgttaccctggcgggctgcggcccgagccaaggggtagccgggcgtcgttgatGGGGGCGACTAGCTTTCGATTGGCGCTCGGGACTGAAAGACGCAACGGTGGGTGACCTCCACATCGGCTTGCCGGTGATCGGGTCAGGCAACAGTAAATgtcgccgacaatgacaacgacgtcgtggctttcgcctcggctcgtgaagccatcgccgccTAATAAGCGGTAGAGGAGCCCGCCGGGAGCTTGGCAACAGAATCCCGGCAACCCCCTTTCGCAGGCGGGAACACCAACAGGCGATCTGTCGGGCGACCGATTTCCGATCCGTGTTCCCGTCTTCGAAAGGTGGTCGGGCCTACCCTCTTGGTGTGCTATCCAAGGGTCTGGCCACTTTA 1 NC_019407.1/102005-102502 1 +Phage__Caulobacter.6 Permuted(beta) Acceptor:1-62,IVS:63-169,Coding:170-503,TagCDS:268-321,CCAequiv:63-65 VAANDNAPFAVREAIAA* 11 0,26.1,33.5,0,88.2,0,23.0,10.6,10.0 Bacteriophages ATCGTTGTAATTCGGACAACGGAAACGGCGGCAAGACGGGGGTGCGATTCCCCCCGCCTCCAccaccacgagcccctggcgctgggagtacgcgactcctgggcagggagtgttaccctggcggaccattgctggcccgagccaaaggtagccgggggttcttgatgctGGGGGCGATCAGCTTCGATTGGCGCATGTGACTGGAAGACGCAACGGTGGGTGACCTCCAGGCCAGCTTGCTGGTGATCGGGTCGAAGCAACAGAAATgtcgctgcaaatgacaacgctccgttcgcggtgcgtgaagccatcgccgccTAATAAGCGGTAGAGGCGTGTCCCGGCGGACGCGCGTGTCACAAAAAGGCCCTGCATCTACGGACCGGGGCCAGTCCGCCACCCACCTTTCGCAGGCGGGGACCTAACTTCGGATGTCTGTCGGGCGATGGATGTTCACCTTGGGTCCCCGTCTTCGAAAGGTGGTCGAAAGACCGTCTAAAAGA 1 NC_019408.1/102544-103046 1 +Phage__Caulobacter.7 Permuted(beta) Acceptor:1-62,IVS:63-160,Coding:161-498,TagCDS:260-322,CCAequiv:63-65 VADNDNDVVAFASAREAIAA* 11 100.182,12.4,21.2,0,69.4,0,18.7,18.5,0 Bacteriophages ATCGTTGTAATTCGGACAACGGAACTGGCGGCAAGACAGGGGTGCGAATCCCCTCGCCTCCAccatcgacgcccggcgctgggagtacgcgactcctgggcggggtgcgttaccctggcgggctgcggcccgagccaaggggtagccgggcgtcgttgatGGGGGCGACTAGCTTTCGATTGGCGCTCGGGACTGAAAGACGCAACGGTGGGTGACCTCCACATCGGCTTGCCGGTGATCGGGTCAGGCAACAGTAAATgtcgccgacaatgacaacgacgtcgtggctttcgcctcggctcgtgaagccatcgccgccTAATAAGCGGTAGAGGAGCCCGCCGGGAGCTTGGCAACAGAATCCCGGCAACCCCCTTTCGCAGGCGGGAACACCAACAGGCGATCTGTCGGGCGACCGATTTCCGATCCGTGTTCCCGTCTTCGAAAGGTGGTCGGGCCTACCCTCTTGGTGTGCTATCCAAGGGTCTGGCCACTTTA 1 NC_019411.1/102572-103069 1 +Phage__Caulobacter.8 Permuted(alpha) Acceptor:1-64,IVS:65-156,Coding:157-544,TagCDS:251-316,CCAequiv:65-67 VNAANDNDVVVSTMTSVKLAA* 11 103.328,48.1,11.0,23.4,75.8,0,31.8,34.9,10.6 Bacteriophages GGGACCTGGATGACGGAATACACGGAGACTGTTCTGGACCGGGGTGCGATTCCCCGCGCCTCCAccaccaagtctcccggccggtccccacccagggacctgggcgtcgccttcagcgacggcgcccgatctgaacggcgcgggagactttgttatGGGGGCGATCAGCATCGACAGGCAGGGTAAGTAGAAGACGCGACACGGCATGGCTGCCGGTTCCTTCGGGAGCGCTAGGCCGACTTTGACAAATgtcaacgctgctaacgacaacgacgtcgtggtttcgaccatgacctcggtcaagctggccgctTAACGGCTCGGGGTTCAGAAGGCGCCTTTTCACCCAATGGCCTTCAGCTTGCCCTAAGGGGCTCAGAGGACAGGCGGCGCAAGCCGCGCGATCAACACCAGGGGGCGGCCTGGGTCCCGAAACCGCCCACCCTCCTGCTTTCGCAGGCGGGATCAAAGGGTCGGCCTCAAAATAGGCGATCTGTCGGAAGAAACCCCGTTTCGCCGGCCTTTTGATCCCGTCTACGAAAGC 1 NC_048048.2/148468-149011 1 +Phage__Caulobacter.9 Permuted(alpha) Acceptor:1-62,IVS:63-146,Coding:147-477,TagCDS:249-296,CCAequiv:63-65 VNDNDAPVMEQLLAA* 11 0,63.0,39.7,23.6,83.8,0,19.8,30.0,0 Bacteriophages ATCGTCGTAATACGGCATACACGATTGGCGGCAAGACAGGGGTGCGATTCCCCTCGCCTCCAccaagaccccaccggccggtgcttcggcgccgcgatctgccccagcgacagatcgaaatctgaacggtgcggtggggtcctgatGGGGGCGATCAGTTTCGATTGGCGCTGTGACTGGAAGACGCGACGTAGGGTGACCTCCTGGCTTAGGCTTCGGCCGAGGTAATTGGGTCAACGCTGACAAATgtcaacgacaacgacgctcccgtgatggagcaactgctggcggccTAACGGCCTAAAGCGGCGCCCGGCGGGGGCGTGTCAACAGAACCCCGCCACCCTGCTTCCGCAGCCGGAGGCGACGACAACTAACGGCATGATCTGTCGGCAACCGATCAACCAGTTTTCGTCTCCGGCTTCGCAAGTAGGTTTGGGGAGTAGTCCTCCGAGGGATCGGAGTATAACGCTCTCC 1 NC_019406.1/132367-132843 1 +Phage__Cellulophaga.1 Standard Body:1-359,TagCDS:89-181,CCAequiv:360-362 GNNTNAVNAQIEANMEAVNAILNLEVAVGV* 11 101.61,16.0,32.6,22.5,18.3,0,95.2,92.2,29.4 Bacteriophages GGGGGCGACTGGTTTTGACAGGGTATAACAGTCGTTAATGTTCAGCGCAGAGAGATAACTGCACAAACTAAGGTGAAATTCTTTAAACggaaacaacacgaatgcggtaaacgcacagatcgaagctaatatggaagcggtaaacgctatccttaaccttgaagtagcagtaggggtaTAAGCTGACCGTTTTATCTGTTTTCTCAAAACAGTTTGGTGGAGCTTCAATCATAACTATGGTTGGCCCCTCTAGCATAAAGAGTCTAAAGAAATGCCGTGTGTAACGATACTACGCAAAAGCTGTATAAAACATTAACGATTAAGTGCTCTGGACGAGGGTTCGATTCCCTCCGCCTCCActa 1 NC_021796.1/27164-26803 1 +Phage__Cellulophaga.2 Standard Body:1-469,TagCDS:84-200,CCAequiv:470-472 GNDTDNTQLKANMTVVHNILNGSDALIGSSVQKLAMVA* 11 107.811,0,17.9,15.8,24.3,0,51.8,53.6,0 Bacteriophages GGGGTCGACTGGTTTTGAACCGAATGAAACTAATAATTATCAGCCAGAGAGATAACTGTAAACTAAGGTGAATTTATTTAAACggaaacgatacagataatacccaattaaaagctaatatgactgttgttcacaacattcttaatggatcagatgccttaattggtagctcagtacagaaattagcaatggtagcaTAAACCAATAGACGAAAAAAGGTTAATAGTAGTCATATGCATAAACTTATACCAGTAACCTTGAAAGACCCGAAATATAGGGGATTTGCATGACATTTATATGTTCGCTAGTCTTAAACATCCATATGGTGCCCTATGTAGTGAAGCTGTAGTATAAGTTTAATTATTTTTTAATTATAAATCTAGCGTAAAGAGTATAAACAAACGTGAAGCTGTATAGTATAATTATTAACTTAATTTGTGTGACGGGGGTTCGAATCCCCCCGACTCCActg 1 NC_021806.1/4031-4502 1 +Phage__Enterococcus.1 Standard Body:1-348,TagCDS:84-116,CCAequiv:349-351 AKNEELLAVA* 11 112.753,0,18.9,15.1,20.2,0,119.6,137.8,73.9 Bacteriophages GGGGTAGTTTTGGTTTCGACTGGCGTAAGAAGTATATGAATAGCGGGCAGAGTGATGACTTAATCATCGCAGTAAATATAACTgctaaaaacgaagaattattagctgtagccTAGTTTTAGACTAGCTACACACTTACCCCTCTAGACTAGGGTCGGTTCTACCTAGAGAACTCATCAACCGACAACGCTGAGGTAAAAGTGGATAACTCAGGAGAGGCTTTACCACTCAGTTAAGGTAATTTCAGTTATTAGTTGTAACCTTAACGTAGATTAAAACTAGTAACTACGCCCGTAGAATTTTGTATGGTTCTACGTTAGGACACGGGTTCGAGTCCCGTCTACTCCAtag 1 NC_029009.1/47047-46697 1 +Phage__Enterococcus.2 Standard Body:1-348,TagCDS:84-116,CCAequiv:349-351 AKNEELLAVA* 11 106.38,0,17.3,22.1,17.9,0,103.0,131.2,33.9 Bacteriophages GGGGCTGTTTTGGTTTCGACTGGCGTAAGAAGTATATGAATAGCGGGCAGAGTGATGACTTAATCATCGCAGTAAATATAACTgctaaaaacgaagaattactagctgtagccTAGTTTTAGACTAGCTACACACTTACCCCTCTAGATTAGGGTCGGTTCTACCTAGAGGATTCATTAACCGACAACGCTGAGGTAAAAGTGGATAACTCAGGAGAGGCTTTACCACTCAGTTAAGGTAATTTCAGTTATTAGTTGTAGCCTTAATGTAGATTAAAACTAGTAACTACGCCCGTAGAATTTTGTATGGTTCTACGTCAACACAGGGGTTCGATTCCCCTCAGTTCCAttt 1 NC_048087.1/49954-49604 1 +Phage__Flavobacterium.1 Standard Body:1-412,TagCDS:91-198,CCAequiv:413-415 GNTNNSVVSLEDNAQVEANMNMAFSLIREDVAVAA* 11 0,0,17.4,0,19.7,0,55.3,68.0,0 Bacteriophages GGGGGTGATTTGGCTTTGATTAGTTATTATAGATTATACAATTCAGCACAGAGAGATAACTGTTTAAAACTAAGGTGAAATCAAGTAATTggaaacacaaataatagtgtagtgtctttagaagataacgcacaagttgaagcaaatatgaatatggctttctctttgattagagaagatgttgcagttgctgccTAAACTATTCGTGGGTTTTGTGTGTTACCCTTATAAATAAATGCTCTGGTGGATTCGTCATATTGAGAAATCAGTTTGACCCTGTTCTAACATAAAGAATTGAAAGAGATGTATTCTATAGTTATTGTGAGAATTAAAATAATACTGATAACATAAAGCTGTATAAAATTGTATTTTTGAAGTAATTAAGACCTGGATTCGACTTCCAGCACCTCCAcag 5 NC_031914.1/84795-84381,NC_031904.1/82420-82006,NC_031931.1/84770-84356,NC_041872.1/82361-81947,NC_031912.1/84950-84536 1 +Phage__Gordonia.1 Standard Body:1-526,TagCDS:176-253,CCAequiv:527-529 AEADVVVSDSDIAEIEAYANEAALV* 11 100.205,13.3,22.9,24.8,40.0,0,96.1,94.7,44.4 Bacteriophages GGGGCCGACAGGTTTCGACATCTGTAAGTGACTCTTGTAAGCGTGCCCGTGTGATGGTTGATGATACCACGGTGACCAAGTCTGCAGCTATGGTTAGCAGTTCCTTATGCAGGAAAAGTTAGGTTCGACTCCTAGCAGACAATTGGTTTAAAGCGTATGCAACTAAACAACAAACgcagaagctgatgttgtagtttccgattcagacatcgcagagatcgaggcttacgccaacgaggctgcactcgtcTGATAAGACCTGGATATAAGGCAGCTAGCGCTCGCTGTATCCTGGATTAACTAAGGCTAGCATTAGATTGGATTTACCTTGGTGTTAGTGCATTGACCGGGGTGTGAAACTCAATGCACAACCTCCGCATCGGTTTGCTGGTGTATGTAGGTCTTAAGATGTGCCCTGCGAGGTACACGCCTGCACGTACCCGATGGGTTGTAAGAAAACCAGATACGCACGTAGAAAGCATGAAGATCAAGCATTTGGACAGGGGTTCAATTCCCCTCGGCTCCAcca 1 NC_070764.1/84051-83523 1 +Phage__Gordonia.2 Standard Body:1-419,TagCDS:98-205,CCAequiv:420-422 NEEANAPVVTEADFAEIEAFANSEAFANSEAAALV* 11 0,10.5,15.4,0,26.0,0,95.7,101.8,12.1 Bacteriophages GGGGCTGACTTTGGTTTCGATTGTGGAAGAAACTGATTGTAAGCGTGCCTGTGTGATGGTCGATTGAGCCACAGAAAGCGCTCGCGACTAAACAACAaatgaggaagctaacgctcccgtcgtcaccgaggcagatttcgccgagatcgaggcattcgccaacagcgaggcattcgccaacagcgaggcagctgcactagtcTGACGACTTCAGCTCTCCAAGAGGCAGGTTCTAGCCAATACTGGAGAGATTATGAGAATAGAACCGACAACCCTCACCGTCTCATGGGTTACAAGGGACAAACGATTCATCAGATCTTGTCGTTTCCGAAGATGAGTCGTATTTAGAAACGACTACGCACGTAGAAAACATTTGGTGAGACTTACACAAGACTCGGGTTCAATTCCCGACAGCTCCAcgt 1 NC_070762.1/89128-88707 1 +Phage__Gordonia.3 Standard Body:1-409,TagCDS:96-185,CCAequiv:410-412 NEDITAPVVTEADFAEIEAFANSEAAALV* 11 0,10.1,19.5,19.6,29.7,0,98.7,104.1,31.7 Bacteriophages GGGGTTGATCGGTTTCGACTGTGAAAGAAACTGATTGTAAGCGTGCCTGTGGGATGGTCGATTGGACTACAGTAAGTGTCCGCGACCGAACAACAaatgaggatattactgcacccgtcgtcaccgaggcagattttgccgagattgaggctttcgccaacagcgaggcagccgcactcgtcTGACGACACGCATCTCTTCTTCGATGGTCGTCCTATACCGGACCGAAGAGGTAATTGACGAATAGGACAACAACCCTCACCGTCTCATGGGTCACAAGGGACAAACATACAGCCGAGCACATCGTGTCATTGAGAAAAGATCGGCAGTGAGATTGAACAATGACTACGCACGTAGAAAGCAGTCTGGCGACTGACACAGGACCCGGGTTCGATTCCCGGCAACTCCAcga 1 NC_070761.1/60800-60389 1 +Phage__Gordonia.4 Standard Body:1-401,TagCDS:101-187,CCAequiv:402-404 EEANAPVVTEADFAEIEAFANSEAAALV* 11 103.94,0,18.8,14.8,26.1,0,86.1,91.3,0 Bacteriophages GGGGCTGACATTGGTTTCGATTGTGGAAGAAACTGATTGTAAGCGTGCCTGTGTGATGGTCGATTGAGCCACAGTAAGCGCTCGCGACTAGACAACAAATgaggaagcaaacgctcccgtcgtcacagaagcagatttcgccgagatcgaggcattcgccaacagcgaggcagctgcgctagtcTGACGACTTCAGCTCTCCAAGGGGCAGGTTCTAGCCGATACTGGAGAGATTATGAGAATAGAACCAACAACCCTCACCGTCCCATGGGTTACAAGGGACAAACGATTCATCGGATCTTGTCGTTTCCGAAGATGAACCGTACTTAGAAACGACTACGCACGTAGAAATCACTCGGCGAGACTTACACAAGACTCGGGTTCGATTCCCGACAGCTCCAcgt 1 NC_070763.1/89484-89081 1 +Phage__Gordonia.5 Standard Body:1-414,TagCDS:98-187,CCAequiv:415-417 ADDNVDADYVAAGIADVEAFLADSVLAKA* 11 106.873,0,20.8,16.4,15.9,0,109.3,120.1,0 Bacteriophages GGGCCTGATCGGTTTCGACTGTTTGATCAGAGTAATTGGAAGCGTGCTGGTGTTTGATTCTATTTCCACCATAAGCGAATGAATCACCTAATTAAGCgccgacgataatgttgacgctgattacgttgccgctggcatcgctgacgtcgaggctttcctcgccgacagcgttctcgctaaggcgTAATCAGGTTATAGGCACTCCGCTTTTCCGGCGCCTATAACATACTCAGAAGGAAAAGTCAGGCACAGTAGCTATCGCCAATATACAACTACTGTGTAAGCAAAAAGAATTGGCAAAGATGTTCAGGTAGGTTGTTAGTAACAAGCCTGAGTCTCACGTTTAAACTAACTACGCACGTAGAAGCTATTACAAAGAAAGACAGGACGGGTGTTCGATTCACCCCAGGTCCActt 1 NC_030915.1/70465-70049 1 +Phage__Gordonia.6 Standard Body:1-526,TagCDS:176-253,CCAequiv:527-529 AEADVVVSDSDIAEIEAYANEAALV* 11 0,13.3,22.9,22.4,40.0,0,96.6,96.3,42.5 Bacteriophages GGGGCCGACAGGTTTCGACATCTGTAAGTGACTCTTGTAAGCGTGCCCGTGTGATGGTTGATGATACCACGGTGACCAAGTCTGCAGCTATGGTTAGCAGTTCCTTATGCAGGAAAAGTTAGGTTCGACTCCTAGCAGACAATTGGTCTAAAGCGTATGCAACTAAACAACAAACgcagaagctgatgttgtagtttccgattcagacatcgcagagatcgaggcttacgccaacgaggctgcactagtcTGATAAGGACCTGGATATAAGGTAGCTAGCGCTCGATGTATCCTGGATTAACTAAGGCTAGCATTAGATTGGATTTACCTTGGTGTTAGTGCATTGACCGGGGTGTGAAACTCAATGCACAACCTCCCGACCGGTTTGCTGGTGTATGTAGGTCTTAAGATGTGCCCGTGAGGTACACGCCTGCACGTACCCGGTGGGTTGTATTAAAACCAGATACGCACGTAGAAAGCATGAAGATCAAGCATTTGGACAGGGGTTCAATTCCCCTCGGCTCCAcca 1 NC_048176.1/85159-84631 1 +Phage__Lactococcus.1 Standard Body:1-347,TagCDS:88-114,CCAequiv:348-350 ANTQLAVA* 11 111.376,0,13.2,12.6,27.1,0,101.3,108.1,31.9 Bacteriophages GGGGTCATAAATGGTATCGACAGGCTATGGCAACTTTAAATCACATTCCGACAAGGATAGTCGTTAAAACCAAAAATAAATATAATTgcaaacactcaattagccgtagccTAAGCTACACAAAGTTTAAGTAATTAAACAGCTAGAAACTGATTCGTCTGGTAGGTTTCTAGTACAAACAGACGTGTGATGGATTCTGATAAGTCACAGATAACAATCAGAACAGCGTTAGTGGATAGTTGTTTATTCAAGAAACTAACAATGTCTATTAAATGAATAAACTATGAATGTAAGAAAGTTTTAAAGTATGTATAGTTTGGACACGAGTTCGACTCTCGTTGACTCCAtca 2 NC_049855.1/52287-52636,NC_049856.1/31786-32135 1 +Phage__Lactococcus.2 Standard Body:1-345,TagCDS:86-112,CCAequiv:346-348 ANTQLAVA* 11 106.07,0,18.4,18.4,31.8,0,104.7,115.1,50.9 Bacteriophages GGGGATGTAAAGGTTTCGACAGACTATGGCAGTCTTAAATCACATTCCGACAAGGACAGTCGTTAAAACCAAACTAAATATAATTgcaaacactcaattagccgtagccTAAGCTACAAAAAAGTTTAAGTAATTAAACAGCTAGAAACTGATTCGTCTGGTAGGTTTCTAGTACAAACAGACGTGTGATGGATTCTGATAAGTCACAGATAACAATCAGAACAGCGTTAGTGGATAGTTGTTTATTCAAGAAACTAATAATGTCTATCAAATGAATAAACTATGAATGTAAGAAAGTTTAAGATATGTATAGTTTGGACGCGGATTCGATTTCCGCCATTTCCAtca 1 NC_027341.1/51020-51367 1 diff --git a/tests/databases/tmrna/parser_test.py b/tests/databases/tmrna/parser_test.py index 254954f1e..7bd035a10 100644 --- a/tests/databases/tmrna/parser_test.py +++ b/tests/databases/tmrna/parser_test.py @@ -20,101 +20,29 @@ from rnacentral_pipeline.databases.data import Entry, SequenceFeature from rnacentral_pipeline.databases.tmrna import parser +# Apply tmrna marker to all tests in this module +pytestmark = pytest.mark.tmrna + +# TODO: Add validation test for Tag field format +# Issue found: Some source data has malformed Tag fields (e.g., "...AAALV11" instead of "...AAALV*") +# Should add test to validate: +# 1. Tag field ends with "*" (stop codon marker) +# 2. Tag field contains only valid amino acid codes + "*" +# 3. Parser handles malformed tags gracefully + # Taxonomy mappings extracted from test data to avoid network calls -# Maps GTDB lineage strings to NCBI taxonomy IDs +# Maps Bacteriophage lineage strings to NCBI taxonomy IDs +# Updated for Bacteriophage-only dataset (25 entries, 8 unique lineages) +# All Bacteriophage entries resolve to tax_id 38018 ("Bacteriophages") TAXONOMY_MAPPINGS = { - "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella chromatophora": 39717, - "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella longichromatophora": 1708747, - "Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae,Paulinella micropora": 1928728, - "Plastids,d__Eukaryota,Schizocladia ischiensis": 196139, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas curvata": 233186, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas paramecium": 2898, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Cryptomonadales,f__Cryptomonadaceae,Cryptomonas pyrenoidifera": 233184, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Chroomonadaceae,Chroomonas placoidea": 173977, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae,Guillardia theta": 55529, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Geminigeraceae,Teleaulax amphioxeia": 77931, - "Plastids,d__Eukaryota,c__Cryptophyceae,o__Pyrenomonadales,f__Pyrenomonadaceae,Rhodomonas salina": 3034, - "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora biloba": 1489483, - "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora paradoxa": 2762, - "Plastids,d__Eukaryota,c__Glaucocystophyceae,f__Cyanophoraceae,Cyanophora sudae": 1522369, - "Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae,Durinskia baltica": 59809, - "Plastids,d__Eukaryota,k__Alveolata,c__Dinophyceae,o__Peridiniales,f__Kryptoperidiniaceae,Kryptoperidinium foliaceum": 160619, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae,Bolidomonas sp": 722751, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Bolidophyceae,o__Parmales,f__Triparmaceae,Triparma laevis": 1534972, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Dictyochales,Dictyocha speculum": 3111310, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Florenciellales,Florenciella parvula": 236787, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Pedinellales,Pseudopedinella elastica": 35684, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Dictyochophyceae,o__Rhizochromulinales,Rhizochromulina marina": 1034831, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,Eustigmatophyceae sp": 5747, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Characiopsis acuta": 2040456, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Chlorobotrys sp": 2974601, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Lietzensia polymorpha": 2962110, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Neustupella aerophytica": 2962111, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Vischeria punctata": 643629, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Chlorobotryaceae,Vischeria sp": 2974601, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Monodopsis sp": 425072, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis gaditana": 72520, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis granulata": 43926, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis limnetica": 120807, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis oceanica": 145522, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis oculata": 43925, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Monodopsidaceae,Nannochloropsis salina": 2511165, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Eustigmatales,f__Neomonodaceae,Pseudellipsoidion edaphicum": 1431838, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Eustigmatophyceae,o__Goniochloridales,f__Goniochloridaceae,Trachydiscus minutus": 1032745, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Olisthodiscophyceae,f__Olisthodiscaceae,Olisthodiscus luteus": 83000, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Aureococcus anophagefferens": 44056, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Aureoumbra lagunensis": 44058, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Pelagophyceae,o__Pelagomonadales,Pelagomonas sp": 54409, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Dictyotales,f__Dictyotaceae,Dictyopteris divaricata": 156996, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Acinetosporaceae,Pylaiella littoralis": 2885, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae,Cladosiphon okamuranus": 309737, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Chordariaceae,Pleurocladia lacustris": 246121, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ectocarpaceae,Ectocarpus siliculosus": 2880, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Ishigeaceae,Ishige okamurae": 233772, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Colpomenia_sinuosa": 2891, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Endarachne binghamiae": 698476, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon canaliculatus": 2567908, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon lomentaria": 27967, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Ectocarpales,f__Scytosiphonaceae,Scytosiphon promiscuus": 1403536, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae,Fucus vesiculosus": 49266, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Fucaceae,Silvetia siliquosa": 93837, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Coccophora langsdorfii": 74099, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum confusum": 74091, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum fulvellum": 3016, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum fusiforme": 590727, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum horneri": 74089, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum macrocarpum": 74092, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum plagiophyllum": 1436148, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum polycystum": 127578, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum siliquastrum": 127572, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Fucales,f__Sargassaceae,Sargassum thunbergii": 127542, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Agaraceae,Costaria costata": 2872, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria crassifolia": 98220, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria crispa": 441892, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria marginata": 98221, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Alaria praelonga": 88159, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Alariaceae,Undaria pinnatifida": 74381, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria digitata": 80365, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria rodriguezii": 1740620, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Laminaria solidungula": 309363, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Macrocystis integrifolia": 169774, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Macrocystis pyrifera": 35122, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Saccharina japonica": 88149, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Laminariaceae,Saccharina latissima": 309358, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Ecklonia radiata": 309355, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Lessonia flavicans": 169771, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Phaeophyceae,o__Laminariales,f__Lessoniaceae,Lessonia spicata": 1899210, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,Haramonas pauciplastida": 478668, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae,Chattonella marina": 90936, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Chattonellaceae,Heterosigma akashiwo": 2829, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Gonyostomum semen": 375454, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Merotricha bacillata": 658122, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Raphidophyceae,o__Chattonellales,f__Vacuolariaceae,Vacuolaria virescens": 44451, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae,Mallomonas splendens": 52552, - "Plastids,d__Eukaryota,k__Ochrophyta,c__Synurophyceae,o__Synurales,f__Mallomonadaceae,Synura uvella": 52557, - "Plastids,d__Eukaryota,k__Ochrophyta,p__Bacillariophyta,c__Bacillariophyceae,f__Entomoneidaceae,Entomoneis sp": 186041, - "d__Bacteria,p__UBA6262,c__UBA6262,o__WVXT01,f__WVXT01,WVXT01__sp009619095,WVXT01 sp009619095": 1869227, - "d__Bacteria,p__Verrucomicrobiota,c__Verrucomicrobiae,o__Opitutales,f__UBA953,UBA953__sp003569205,UBA953 sp003569205": 415000, + "Bacteriophages,Phage Bacillus": 38018, + "Bacteriophages,Phage Bordetella": 38018, + "Bacteriophages,Phage Caulobacter": 38018, + "Bacteriophages,Phage Cellulophaga": 38018, + "Bacteriophages,Phage Enterococcus": 38018, + "Bacteriophages,Phage Flavobacterium": 38018, + "Bacteriophages,Phage Gordonia": 38018, + "Bacteriophages,Phage Lactococcus": 38018, } @@ -142,51 +70,35 @@ def data(mock_taxonomy): def test_can_parse_file(data): - assert len(data) == 108 + assert len(data) == 30 # 25 unique sequences, some with Count > 1 expand to multiple entries @pytest.mark.parametrize( "id,expected", [ ( - "tmrna:CP000815.1/744167-744441", + "tmrna:NC_023719.1/412060-412371", Entry( - primary_id="tmrna:CP000815.1/744167-744441", - accession="tmrna:CP000815.1/744167-744441", + primary_id="tmrna:NC_023719.1/412060-412371", + accession="tmrna:NC_023719.1/412060-412371", seq_version="1", - ncbi_tax_id=39717, + ncbi_tax_id=38018, database="TMRNA_WEB", regions=[], - sequence="GTTCGGTTATTGCCGAACTAGGTGGCTCACACCAATGTTTCGGACAGCGGTTCGATTCCGCTCAGCTCCATTATTAGGGGCTGCAATGGTTTCGACGGGGCATCAGGAGGGTTACTGAAGCCTGCTCGGTAAGAGCAAATTAGTAACAGCGAACAACATCGTTCGTTTCTCCCGTCAAGCGGCCCCTGTGGCTGCCTGACCCTAGATAGGGAGATGAGGTAAAGTCAGCCTTATAACCCAAATGACTCAAGGGGCCTGTAAGGGCCCCATCATTA", + sequence="GGGATTGTTAAGGATTCGACAGGGGAAAATAGTATAAGACATGATACTCGTAAAGCATACGTTACATGCTAAGTTAAATATAACTAACAACGAATTACAAGTAGCCTAGTTAATAGGTGCCAAAACAATAGAGTTGCTCTAACATCTATTTGAGGTTCAAAGATTTGAGCTATTTCTTACTTTAGAATAAAGTAAGTGGTGGAGCCTAGAGAAAACGCTGTAGAAACTAACTATTCAAATTGTAAATGGTATCAAACAAGTGTCTATATGAAAGTCTTCTGGACGCGGGTTCGACTCCCGCCAGTTCCATAT", url="", rna_type="SO:0000584", - inference="Chromatophores,d__Eukaryota,p__Cercozoa,c__Imbricatea,o__Euglyphida,f__Paulinellidae", - parent_accession="CP000815.1", + inference="Bacteriophages", + parent_accession="NC_023719.1", note_data={ - "tmrna_form": "Permuted", + "tmrna_form": "Standard", }, - description="Paulinella chromatophora Permuted tmRNA", + description="Phage Bacillus Standard tmRNA", features=[ SequenceFeature( - name="tmrna_acceptor", - feature_type="tmrna_acceptor", - location=[0, 70], - sequence="", - provider="TMRNA_WEB", - metadata={}, - ), - SequenceFeature( - name="tmrna_ivs", - feature_type="tmrna_ivs", - location=[70, 76], - sequence="", - provider="TMRNA_WEB", - metadata={}, - ), - SequenceFeature( - name="tmrna_coding_region", - feature_type="tmrna_coding_region", - location=[76, 275], + name="tmrna_body", + feature_type="tmrna_body", + location=[0, 309], sequence="", provider="TMRNA_WEB", metadata={}, @@ -194,19 +106,19 @@ def test_can_parse_file(data): SequenceFeature( name="tmrna_tagcds", feature_type="tmrna_tagcds", - location=[148, 199], + location=[67, 109], sequence="", provider="TMRNA_WEB", metadata={ "orf_summary": "Coding sequence", "has_stop": True, - "coding_sequence": "ANNIVRFSRQAAPVAA", + "coding_sequence": "AKLNITNNELQVA", }, ), SequenceFeature( name="tmrna_ccaequiv", feature_type="tmrna_ccaequiv", - location=[70, 73], + location=[309, 312], sequence="", provider="TMRNA_WEB", metadata={}, @@ -215,64 +127,64 @@ def test_can_parse_file(data): ), ), ( - "tmrna:WJOT01000061.1/9381-9976", + "tmrna:NC_047861.1/46086-46387", Entry( - primary_id="tmrna:WJOT01000061.1/9381-9976", - accession="tmrna:WJOT01000061.1/9381-9976", + primary_id="tmrna:NC_047861.1/46086-46387", + accession="tmrna:NC_047861.1/46086-46387", seq_version="1", - ncbi_tax_id=1869227, + ncbi_tax_id=38018, database="TMRNA_WEB", regions=[], - sequence="GGGGGCGATCAGGTTTCGACAGGAATAAAGGAGGCAAGGACGGCAGGTCGAGGTTTGTCGAAGGCTCGTTAATCAATCGACAACAAAAACTAAGTGCTGACACTAAGTTAGCATTAGCCGCGTAAGCGGACACGCTCACCTCTTTTTGCCCATTGGATGGGGATGAGTGTCAGAGAGATGGGATAGTTCCGGCTTTTGCCTTGGAAGTCGGGATGAGATTTAAAGGCTGCTCCGTCTCGAATCCTGTCTTTGGGTAATAAGGCGGGGGAGATTCCAAACAAAGACTAAACCTGTAGATGTCCTGCTGAAATATTTCTGGACGCGGGTTCGATCAAAAGGTCGACTTCCGAAGTAATTCGGGATGCAAAACCTGGCTTACATCAGGGAAACCCTAATCCTGATAATACAGGAAAGGGTAATCCTGAGGGGCGAAAGCCCTGCAGAGACTGTAATGATAGGAGGTGATATCGTTGGACGAAGTTGAACCAACGATAAATCTATGCCTCCTATAACACGTCAGGCTCCCCGATTGGGGATGAAGAGATAGTCCATACCACTTAGAAATAAATGGAGTATATGTCCCGCCGCCTCCACCA", + sequence="GGCCTCGGCCCGCGAGACGTGAAGTGAATGGCGTTCGGACGCGGGTTCAATTCCCGCCGGCTCCACCACTGGCAGCATTGGCGTCGAGCTCAGCATCCCCGGGGTCCGGATCACGGGTGAGTTCCAGTGCTGCCAGTCATGGGGCCGACCGGTTTCGACGGGCGCGCTGCAGCGGATCGGACTACTCGGCAAGCGGAGCCGTAAACCAAGCAAAATCGTAGACGCCAACGACGACTACATCCGCGCCGCTGCTTAAGCGGTGACGGCCTCCCCCGGCAGGTGGCAACAGAAGCCGGGGACCA", url="", rna_type="SO:0000584", - inference="d__Bacteria,p__UBA6262,c__UBA6262,o__WVXT01,f__WVXT01,WVXT01__sp009619095", - parent_accession="WJOT01000061.1", + inference="Bacteriophages", + parent_accession="NC_047861.1", note_data={ - "tmrna_form": "GpIintron", + "tmrna_form": "Permuted(beta)", }, - description="WVXT01 sp009619095 GpIintron tmRNA", + description="Phage Bordetella Permuted(beta) tmRNA", features=[ SequenceFeature( - name="tmrna_exon", - feature_type="tmrna_exon", - location=[0, 332], + name="tmrna_acceptor", + feature_type="tmrna_acceptor", + location=[0, 65], sequence="", provider="TMRNA_WEB", metadata={}, ), SequenceFeature( - name="tmrna_tagcds", - feature_type="tmrna_tagcds", - location=[95, 125], + name="tmrna_ivs", + feature_type="tmrna_ivs", + location=[65, 140], sequence="", provider="TMRNA_WEB", - metadata={ - "orf_summary": "Coding sequence", - "has_stop": True, - "coding_sequence": "ADTKLALAA", - }, + metadata={}, ), SequenceFeature( - name="tmrna_gpi", - feature_type="tmrna_gpi", - location=[332, 579], + name="tmrna_coding_region", + feature_type="tmrna_coding_region", + location=[140, 302], sequence="", provider="TMRNA_WEB", metadata={}, ), SequenceFeature( - name="tmrna_exon", - feature_type="tmrna_exon", - location=[579, 593], + name="tmrna_tagcds", + feature_type="tmrna_tagcds", + location=[223, 256], sequence="", provider="TMRNA_WEB", - metadata={}, + metadata={ + "orf_summary": "Coding sequence", + "has_stop": True, + "coding_sequence": "ANDDYIRAAA", + }, ), SequenceFeature( name="tmrna_ccaequiv", feature_type="tmrna_ccaequiv", - location=[593, 596], + location=[65, 68], sequence="", provider="TMRNA_WEB", metadata={}, @@ -281,28 +193,44 @@ def test_can_parse_file(data): ), ), ( - "tmrna:BGOK01000023.1/25516-25150", + "tmrna:NC_048047.1/149044-149586", Entry( - primary_id="tmrna:BGOK01000023.1/25516-25150", - accession="tmrna:BGOK01000023.1/25516-25150", + primary_id="tmrna:NC_048047.1/149044-149586", + accession="tmrna:NC_048047.1/149044-149586", seq_version="1", - ncbi_tax_id=415000, + ncbi_tax_id=38018, database="TMRNA_WEB", regions=[], - sequence="GGGGGTGTTTCCGGATTCGATTCCCATCAGATATCATGACGGCATGCAGAGGACGTCAGCTCCCTCTTAAATCCAGCTGGCAGCATATAACTGCTAAAAACAACCATCACGTTCGAAAGCGACAACGCTTTCCGCACTCGCTGCTTAATTACAGCGACGGGCCCAGGACGCGCCTGCATTCCTGGATCAGCTCGGTTAACGTGGGCGATCCCCTCCTCTAGTTTCTATCTCCGGGGTAAGTGAGAATGAAGATAGGCCGCACGGGTGCGCATTCCCAAACGCGGTCGAGATCAATAATGACGCTAAGCATGTAGAAGATGTGACGTAAGGATAGGAAGACGCGGGTCGACTCCCGCCACCTCCACCA", + sequence="GGGACCTGGATGACGGAATATACGGAGACTGAACTGGACCGGGGTGCGATTCCCCGCGCCTCCACCACCAAGTCTCCCGGCCGGTCCCCACCCAGGGACCTGGGCGTCGCCTTCAGCGACGGCGCCCGATCTGAACGGCGCGGGAGACTTTGTTCTGGGGGCGATCAGCATCGACAGGCAGGGTAAGTAGAAGACGCGACACGGCATGGCTGCCGGTTCCTTCGGGAGCGCTCGGCCCACTTTGACAAATGTCAACGCTGCAAACGACAACGACGTCGTGGTTTCGACCATGACCTCGGTCAAGCTGGCCGCTTAACGGCTCGGGGTTCAGGAGGCGCCTTTTCACCCAAGGTCTCCAGCTTGCCCTAAGGGGCTTAGAGGACAGGCGGCGTAAGCCGCGCGATCAACACCAGGGGGCGGCCTGGGTCCCGAAACCGCCCACCCTCCTGCTTTCGCAGGTGGGATCAGAAGGTCGGCCTCAAAATAGGCGATCTGTCGGAAGAAACCCCGTTTCGCCGGCTTTCTGATCCCATCTACGAAAGC", url="", rna_type="SO:0000584", - inference="d__Bacteria,p__Verrucomicrobiota,c__Verrucomicrobiae,o__Opitutales,f__UBA953,UBA953__sp003569205", - parent_accession="BGOK01000023.1", + inference="Bacteriophages", + parent_accession="NC_048047.1", note_data={ - "tmrna_form": "Standard", + "tmrna_form": "Permuted(alpha)", }, - description="UBA953 sp003569205 Standard tmRNA", + description="Phage Caulobacter Permuted(alpha) tmRNA", features=[ SequenceFeature( - name="tmrna_body", - feature_type="tmrna_body", - location=[0, 364], + name="tmrna_acceptor", + feature_type="tmrna_acceptor", + location=[0, 64], + sequence="", + provider="TMRNA_WEB", + metadata={}, + ), + SequenceFeature( + name="tmrna_ivs", + feature_type="tmrna_ivs", + location=[64, 156], + sequence="", + provider="TMRNA_WEB", + metadata={}, + ), + SequenceFeature( + name="tmrna_coding_region", + feature_type="tmrna_coding_region", + location=[156, 543], sequence="", provider="TMRNA_WEB", metadata={}, @@ -310,17 +238,19 @@ def test_can_parse_file(data): SequenceFeature( name="tmrna_tagcds", feature_type="tmrna_tagcds", - location=[92, 148], + location=[250, 316], sequence="", provider="TMRNA_WEB", metadata={ - "orf_summary": "frameshift", + "orf_summary": "Coding sequence", + "has_stop": True, + "coding_sequence": "VNAANDNDVVVSTMTSVKLAA", }, ), SequenceFeature( name="tmrna_ccaequiv", feature_type="tmrna_ccaequiv", - location=[364, 367], + location=[64, 67], sequence="", provider="TMRNA_WEB", metadata={}, From dbfe3b8c732e9e25a4ee34d291a0b234747ebb5b Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sat, 25 Oct 2025 09:32:23 +0100 Subject: [PATCH 4/9] Add pytest markers for every database So we can run them in isolation while fixing the tests --- pyproject.toml | 38 ++++++++++++++++++++++++++++++++++++++ pytest.ini | 5 +++++ 2 files changed, 43 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 354b95499..e7b5ad105 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,44 @@ build-backend = "poetry.core.masonry.api" xfail_strict = true filterwarnings = "ignore::DeprecationWarning" markers = [ + "ci: Tests that should run in continuous integration", "slow: Tests that take a long time", "db: Test that require access to our database", + "network: Tests that require network", + "text_mining: tests relating to text mining", + "cli: Test for command line interface", + "cpat: Tests for cpat", + "utils: utility tests", + # Database-specific markers + "crs: tests for crs", + "crw: tests for crw", + "dfam: tests for Dfam", + "ena: tests for ena", + "ensembl: tests for ensembl", + "epmc: tests for europepmc", + "expressionatlas: tests for Expression Atlas", + "genecards: tests for genecards", + "genecards_suite: tests for GeneCards Suite", + "generic: tests for generic json parser", + "gtrnadb: tests for gtrnadb", + "hgnc: tests for hgnc", + "intact: tests for intact", + "ncbi: tests for ncbi", + "ols: tests for ols", + "pdb: tests for pdb", + "pirbase: tests for pirbase", + "psi_mi: tests for psi_mi", + "psicquic: tests for psicquic", + "quickgo: tests for quickgo", + "refseq: tests for refseq", + "rfam: tests for rfam", + "rgd: tests for rgd", + "ribovision: tests for ribovision", + "r2dt: Tests for r2dt related functions", + "sequence_ontology: tests for the sequence ontology", + "so: tests for the sequence ontology", + "silva: tests for silva", + "tarbase: tests for tarbase", + "tmrna: tests for tmRNA", + "trna: Trna related tests", ] diff --git a/pytest.ini b/pytest.ini index 36bac62bb..5a9137a2a 100644 --- a/pytest.ini +++ b/pytest.ini @@ -19,10 +19,13 @@ markers = crs: tests for crs crw: tests for crw + dfam: tests for Dfam ena: tests for ena ensembl: tests for ensembl epmc: tests for europepmc + expressionatlas: tests for Expression Atlas genecards: tests for genecards + genecards_suite: tests for GeneCards Suite generic: tests for generic json parser gtrnadb: tests for gtrnadb hgnc: tests for hgnc @@ -39,7 +42,9 @@ markers = rgd: tests for rgd ribovision: tests for ribovision r2dt: Tests for r2dt related functions + sequence_ontology: tests for the sequence ontology so: tests for the sequence ontology silva: tests for silva tarbase: tests for tarbase + tmrna: tests for tmRNA trna: Trna related tests From 302243a4f59bbe18f4142feb65b760b26369edba Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sat, 25 Oct 2025 09:33:05 +0100 Subject: [PATCH 5/9] Apply test markers to some target tests for sorting out --- tests/databases/europepmc/fetch_test.py | 3 +++ tests/databases/pdb/fetch_test.py | 3 +++ tests/databases/pdb/helpers_test.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/tests/databases/europepmc/fetch_test.py b/tests/databases/europepmc/fetch_test.py index de10759fd..12b582227 100644 --- a/tests/databases/europepmc/fetch_test.py +++ b/tests/databases/europepmc/fetch_test.py @@ -22,6 +22,9 @@ from rnacentral_pipeline.databases.data import Reference from rnacentral_pipeline.databases.data import IdReference +# Apply epmc marker to all tests in this module +pytestmark = pytest.mark.epmc + def lookup(ref_id): return attr.asdict(fetch.lookup(IdReference.build(ref_id))) diff --git a/tests/databases/pdb/fetch_test.py b/tests/databases/pdb/fetch_test.py index 6dd6ba3c8..18b46b3d0 100644 --- a/tests/databases/pdb/fetch_test.py +++ b/tests/databases/pdb/fetch_test.py @@ -19,6 +19,9 @@ from rnacentral_pipeline.databases.pdb import fetch +# Apply pdb marker to all tests in this module +pytestmark = pytest.mark.pdb + @pytest.mark.network def test_produces_correct_data(): diff --git a/tests/databases/pdb/helpers_test.py b/tests/databases/pdb/helpers_test.py index ef57e0c6e..a1a6b2d58 100644 --- a/tests/databases/pdb/helpers_test.py +++ b/tests/databases/pdb/helpers_test.py @@ -18,6 +18,9 @@ from rnacentral_pipeline.databases.pdb import fetch, helpers from rnacentral_pipeline.databases.pdb.data import ChainInfo +# Apply pdb marker to all tests in this module +pytestmark = pytest.mark.pdb + def load(pdb_id: str, chain_id: str) -> ChainInfo: chains = fetch.chains({(pdb_id, chain_id)}) From de604ed51c5a808989c2ed8613e324284e8e2ed7 Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sun, 26 Oct 2025 20:56:15 +0000 Subject: [PATCH 6/9] Add database marker for pdb --- tests/databases/pdb/parser_test.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/databases/pdb/parser_test.py b/tests/databases/pdb/parser_test.py index 3aa3bc70b..a5e35f551 100644 --- a/tests/databases/pdb/parser_test.py +++ b/tests/databases/pdb/parser_test.py @@ -20,6 +20,9 @@ from rnacentral_pipeline.databases.helpers import publications as pubs from rnacentral_pipeline.databases.pdb import fetch, parser +# Apply pdb marker to all tests in this module +pytestmark = pytest.mark.pdb + def load(pdb_id: str, chain_id: str) -> data.Entry: chains = fetch.chains({(pdb_id.lower(), chain_id)}) From b0bacefea3479b9b8c89cf0fd13f092f20e38055 Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sun, 26 Oct 2025 20:59:09 +0000 Subject: [PATCH 7/9] Remove network dependency for EPMC tests. Also removes checks against moving things like citation count that cause spurious failures --- tests/databases/europepmc/fetch_test.py | 466 ++++++++++++++++++++++-- 1 file changed, 429 insertions(+), 37 deletions(-) diff --git a/tests/databases/europepmc/fetch_test.py b/tests/databases/europepmc/fetch_test.py index 12b582227..c9caeceba 100644 --- a/tests/databases/europepmc/fetch_test.py +++ b/tests/databases/europepmc/fetch_test.py @@ -16,6 +16,7 @@ import attr import pytest import asyncio +from unittest.mock import patch from rnacentral_pipeline.databases.europepmc import fetch @@ -25,16 +26,427 @@ # Apply epmc marker to all tests in this module pytestmark = pytest.mark.epmc +# Publication metadata extracted from Europe PMC API to avoid network calls +# Maps PMID to full publication summary data from Europe PMC +PUBLICATIONS = { + "18372920": { + "id": "18372920", + "source": "MED", + "pmid": "18372920", + "pmcid": "PMC11968769", + "doi": "10.1038/onc.2008.72", + "title": "MicroRNA-21 promotes cell transformation by targeting the programmed cell death 4 gene", + "authorString": "Lu Z, Liu M, Stribinskis V, Klinge CM, Ramos KS, Colburn NH, Li Y.", + "journalTitle": "Oncogene", + "issue": "31", + "journalVolume": "27", + "journalIssn": "0950-9232; 1476-5594; ", + "pubYear": "2008", + "pageInfo": "4373-4379", + "pubType": "research support, non-u.s. gov't; research-article; journal article; research support, n.i.h., extramural", + "isOpenAccess": "N", + "inEPMC": "Y", + "inPMC": "Y", + "hasPDF": "Y", + "hasBook": "N", + "hasSuppl": "Y", + "citedByCount": 514, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2008-03-31", + "firstIndexDate": "2008-11-06", + "fullTextIdList": {"fullTextId": ["PMC11968769"]}, + }, + "1903816": { + "id": "1903816", + "source": "MED", + "pmid": "1903816", + "doi": "10.1016/0022-2836(91)90560-s", + "title": "Informational redundancy of tRNA(4Ser) and tRNA(7Ser) genes in Drosophila melanogaster and evidence for intergenic recombination", + "authorString": "Leung J, Sinclair DA, Hayashi S, Tener GM, Grigliatti TA.", + "journalTitle": "J Mol Biol", + "issue": "2", + "journalVolume": "219", + "journalIssn": "0022-2836; 1089-8638; ", + "pubYear": "1991", + "pageInfo": "175-188", + "pubType": "research support, non-u.s. gov't; journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 7, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "Y", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "1991-05-01", + "firstIndexDate": "2008-12-24", + "dbCrossReferenceList": {"dbName": ["EMBL"]}, + }, + "19546886": { + "id": "19546886", + "source": "MED", + "pmid": "19546886", + "doi": "10.1038/cr.2009.72", + "title": "Regulation of the cell cycle gene, BTG2, by miR-21 in human laryngeal carcinoma", + "authorString": "Liu M, Wu H, Liu T, Li Y, Wang F, Wan H, Li X, Tang H.", + "journalTitle": "Cell Res", + "issue": "7", + "journalVolume": "19", + "journalIssn": "1001-0602; 1748-7838; ", + "pubYear": "2009", + "pageInfo": "828-837", + "pubType": "research support, non-u.s. gov't; journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 140, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2009-07-01", + "firstIndexDate": "2009-10-06", + }, + "20533548": { + "id": "20533548", + "source": "MED", + "pmid": "20533548", + "doi": "10.1002/ijc.25506", + "title": "Micro-RNA-21 regulates TGF-β-induced myofibroblast differentiation by targeting PDCD4 in tumor-stroma interaction", + "authorString": "Yao Q, Cao S, Li C, Mengesha A, Kong B, Wei M.", + "journalTitle": "Int J Cancer", + "issue": "8", + "journalVolume": "128", + "journalIssn": "0020-7136; 1097-0215; ", + "pubYear": "2011", + "pageInfo": "1783-1792", + "pubType": "research support, non-u.s. gov't; journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 99, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2011-04-01", + "firstIndexDate": "2010-06-10", + }, + "22034194": { + "id": "22034194", + "source": "MED", + "pmid": "22034194", + "doi": "10.1002/jcp.24006", + "title": "MicroRNA-21 represses human cystathionine gamma-lyase expression by targeting at specificity protein-1 in smooth muscle cells", + "authorString": "Yang G, Pei Y, Cao Q, Wang R.", + "journalTitle": "J Cell Physiol", + "issue": "9", + "journalVolume": "227", + "journalIssn": "0021-9541; 1097-4652; ", + "pubYear": "2012", + "pageInfo": "3192-3200", + "pubType": "research support, non-u.s. gov't; journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 57, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2012-09-01", + "firstIndexDate": "2011-10-29", + }, + "23239100": { + "id": "23239100", + "source": "MED", + "pmid": "23239100", + "doi": "10.1002/jcb.24479", + "title": "miR-21 modulates the ERK-MAPK signaling pathway by regulating SPRY2 expression during human mesenchymal stem cell differentiation", + "authorString": "Mei Y, Bian C, Li J, Du Z, Zhou H, Yang Z, Zhao RC.", + "journalTitle": "J Cell Biochem", + "issue": "6", + "journalVolume": "114", + "journalIssn": "0730-2312; 1097-4644; ", + "pubYear": "2013", + "pageInfo": "1374-1384", + "pubType": "journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 120, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2013-06-01", + "firstIndexDate": "2012-12-17", + }, + "26184978": { + "id": "26184978", + "source": "MED", + "pmid": "26184978", + "pmcid": "PMC4505325", + "doi": "10.1038/srep12276", + "title": "MiR-135b-5p and MiR-499a-3p Promote Cell Proliferation and Migration in Atherosclerosis by Directly Targeting MEF2C", + "authorString": "Xu Z, Han Y, Liu J, Jiang F, Hu H, Wang Y, Liu Q, Gong Y, Li X.", + "journalTitle": "Sci Rep", + "journalVolume": "5", + "journalIssn": "2045-2322", + "pubYear": "2015", + "pageInfo": "12276", + "pubType": "research support, non-u.s. gov't; research-article; journal article", + "isOpenAccess": "Y", + "inEPMC": "Y", + "inPMC": "Y", + "hasPDF": "Y", + "hasBook": "N", + "hasSuppl": "Y", + "citedByCount": 76, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "Y", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2015-07-17", + "firstIndexDate": "2015-07-18", + "fullTextIdList": {"fullTextId": ["PMC4505325"]}, + "dbCrossReferenceList": {"dbName": ["EMBL", "INTACT"]}, + }, + "27334534": { + "id": "27334534", + "source": "MED", + "pmid": "27334534", + "doi": "10.1099/ijsem.0.001195", + "title": "Agathobaculum butyriciproducens gen. nov. \xa0sp. nov., a strict anaerobic, butyrate-producing gut bacterium isolated from human faeces and reclassification of Eubacterium desmolans as Agathobaculum desmolans comb. nov", + "authorString": "Ahn S, Jin TE, Chang DH, Rhee MS, Kim HJ, Lee SJ, Park DS, Kim BC.", + "journalTitle": "Int J Syst Evol Microbiol", + "issue": "9", + "journalVolume": "66", + "journalIssn": "1466-5026; 1466-5034; ", + "pubYear": "2016", + "pageInfo": "3656-3661", + "pubType": "journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 35, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "Y", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2016-06-21", + "firstIndexDate": "2016-06-24", + "dbCrossReferenceList": {"dbName": ["EMBL"]}, + }, + "27389411": { + "id": "27389411", + "source": "MED", + "pmid": "27389411", + "pmcid": "PMC5079273", + "doi": "10.1093/cvr/cvw177", + "title": "MicroRNA-153 targeting of KCNQ4 contributes to vascular dysfunction in hypertension", + "authorString": "Carr G, Barrese V, Stott JB, Povstyan OV, Jepps TA, Figueiredo HB, Zheng D, Jamshidi Y, Greenwood IA.", + "journalTitle": "Cardiovasc Res", + "issue": "2", + "journalVolume": "112", + "journalIssn": "0008-6363; 1755-3245; ", + "pubYear": "2016", + "pageInfo": "581-589", + "pubType": "research-article; journal article", + "isOpenAccess": "Y", + "inEPMC": "Y", + "inPMC": "Y", + "hasPDF": "Y", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 35, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2016-11-01", + "firstIndexDate": "2016-07-09", + "fullTextIdList": {"fullTextId": ["PMC5079273"]}, + }, + "27858507": { + "id": "27858507", + "source": "MED", + "pmid": "27858507", + "pmcid": "PMC5785218", + "doi": "10.1080/15476286.2016.1251002", + "title": "Numerous small hammerhead ribozyme variants associated with Penelope-like retrotransposons cleave RNA as dimers", + "authorString": "Lünse CE, Weinberg Z, Weinberg Z, Breaker RR.", + "journalTitle": "RNA Biol", + "issue": "11", + "journalVolume": "14", + "journalIssn": "1547-6286; 1555-8584; ", + "pubYear": "2017", + "pageInfo": "1499-1507", + "pubType": "research support, non-u.s. gov't; research-article; journal article; research support, n.i.h., extramural", + "isOpenAccess": "N", + "inEPMC": "Y", + "inPMC": "Y", + "hasPDF": "Y", + "hasBook": "N", + "hasSuppl": "Y", + "citedByCount": 15, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "Y", + "firstPublicationDate": "2017-11-03", + "firstIndexDate": "2016-11-19", + "fullTextIdList": {"fullTextId": ["PMC5785218"]}, + "tmAccessionTypeList": {"accessionType": ["pfam"]}, + }, + "28815543": { + "id": "28815543", + "source": "MED", + "pmid": "28815543", + "pmcid": "PMC5890441", + "doi": "10.1007/978-981-10-5203-3_9", + "title": "Understanding the Role of lncRNAs in Nervous System Development.", + "authorString": "Clark BS, Blackshaw S.", + "journalTitle": "Adv Exp Med Biol", + "journalVolume": "1008", + "journalIssn": "0065-2598; 2214-8019; ", + "pubYear": "2017", + "pageInfo": "253-282", + "pubType": "research-article; review; journal article; research support, n.i.h., extramural", + "isOpenAccess": "N", + "inEPMC": "Y", + "inPMC": "Y", + "hasPDF": "Y", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 40, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "2017-01-01", + "firstIndexDate": "2017-08-18", + "fullTextIdList": {"fullTextId": ["PMC5890441"]}, + }, + "375006": { + "id": "375006", + "source": "MED", + "pmid": "375006", + "doi": "10.1007/bf00271669", + "title": "Assembly of the mitochondrial membrane system: two separate genes coding for threonyl-tRNA in the mitochondrial DNA of Saccharomyces cerevisiae", + "authorString": "Macino G, Tzagoloff A.", + "journalTitle": "Mol Gen Genet", + "issue": "2", + "journalVolume": "169", + "journalIssn": "0026-8925", + "pubYear": "1979", + "pageInfo": "183-188", + "pubType": "research support, u.s. gov't, non-p.h.s.; journal article", + "isOpenAccess": "N", + "inEPMC": "N", + "inPMC": "N", + "hasPDF": "N", + "hasBook": "N", + "hasSuppl": "N", + "citedByCount": 20, + "hasReferences": "Y", + "hasTextMinedTerms": "Y", + "hasDbCrossReferences": "N", + "hasLabsLinks": "Y", + "hasTMAccessionNumbers": "N", + "firstPublicationDate": "1979-01-01", + "firstIndexDate": "2008-01-29", + }, +} + + +@pytest.fixture(scope="module") +def mock_europepmc(): + """Mock Europe PMC API to avoid network calls""" + + async def mock_get_data(id_reference): + """Mock the async get_data function that fetches from Europe PMC API""" + # The Europe PMC API returns different results based on the ID type + # We need to find the publication by PMID, regardless of query type + + # Build the query string to find the PMID + # IdReference can be PMID, DOI, or PMCID - we need to find matching publication + external_id = id_reference.external_id + namespace = id_reference.namespace.name + + # Try to find the publication by matching against different ID types + matched_pub = None + for pmid, pub_data in PUBLICATIONS.items(): + if namespace == "pmid" and pub_data.get("pmid") == external_id: + matched_pub = pub_data + break + elif namespace == "doi" and pub_data.get("doi") == external_id: + matched_pub = pub_data + break + elif namespace == "pmcid": + # PMCID can be with or without "PMC" prefix + pub_pmcid = pub_data.get("pmcid", "") + if pub_pmcid == external_id or pub_pmcid == f"PMC{external_id}": + matched_pub = pub_data + break + + # Return Europe PMC API response structure + if not matched_pub: + # No match found - return empty result + return { + "hitCount": 0, + "resultList": {"result": []}, + } + + # Return successful match in Europe PMC API format + return { + "hitCount": 1, + "resultList": {"result": [matched_pub]}, + } + + with patch("rnacentral_pipeline.databases.europepmc.fetch.get_data", side_effect=mock_get_data): + yield + def lookup(ref_id): return attr.asdict(fetch.lookup(IdReference.build(ref_id))) -@pytest.mark.epmc -@pytest.mark.network @pytest.mark.parametrize( "raw_id", [28815543, "PMC5890441", "doi:10.1007/978-981-10-5203-3_9", "28815543"] ) -def test_can_fetch_publication(raw_id): +def test_can_fetch_publication(mock_europepmc, raw_id): idr = IdReference.build(raw_id) res = fetch.summary(idr) @@ -53,10 +465,10 @@ def test_can_fetch_publication(raw_id): "pubType": "research-article; review; journal article; research support, n.i.h., extramural", "isOpenAccess": "N", "inEPMC": "Y", - "inPMC": "N", + "inPMC": "Y", "hasPDF": "Y", "hasBook": "N", - "citedByCount": 17, + "citedByCount": 40, "hasReferences": "Y", "hasTextMinedTerms": "Y", "hasDbCrossReferences": "N", @@ -65,22 +477,18 @@ def test_can_fetch_publication(raw_id): "firstPublicationDate": "2017-01-01", "hasSuppl": "N", "pmcid": "PMC5890441", - "fullTextIdList": {"fullTextId" : ["PMC5890441"]}, + "fullTextIdList": {"fullTextId": ["PMC5890441"]}, "firstIndexDate": "2017-08-18", } -@pytest.mark.epmc -@pytest.mark.network -def test_complains_given_bad_pmid(): +def test_complains_given_bad_pmid(mock_europepmc): with pytest.raises(Exception): fetch.summary(IdReference.build(-1)) -@pytest.mark.epmc -@pytest.mark.network @pytest.mark.parametrize( "raw_id", [27858507, "doi:10.1080/15476286.2016.1251002", "PMCID:PMC5785218"], ) -def test_can_build_reference(raw_id): +def test_can_build_reference(mock_europepmc, raw_id): assert lookup(raw_id) == attr.asdict( Reference( authors=u"Lünse CE, Weinberg Z, Weinberg Z, Breaker RR.", @@ -94,8 +502,6 @@ def test_can_build_reference(raw_id): pmcid="PMC5785218", ) ) -@pytest.mark.epmc -@pytest.mark.network @pytest.mark.parametrize( "pmid,title", [ @@ -121,13 +527,11 @@ def test_can_build_reference(raw_id): ), ], ) -def test_can_deal_with_weird_issues(pmid, title): +def test_can_deal_with_weird_issues(mock_europepmc, pmid, title): data = fetch.lookup(IdReference.build(pmid)) assert data.title == title -@pytest.mark.epmc -@pytest.mark.network -def test_can_deal_with_unicode(): +def test_can_deal_with_unicode(mock_europepmc): data = fetch.lookup(IdReference.build(27334534)) assert attr.asdict(data) == { "authors": "Ahn S, Jin TE, Chang DH, Rhee MS, Kim HJ, Lee SJ, Park DS, Kim BC.", @@ -137,9 +541,7 @@ def test_can_deal_with_unicode(): "doi": "10.1099/ijsem.0.001195", "pmcid": None, } -@pytest.mark.epmc -@pytest.mark.network -def test_builds_correction_location(): +def test_builds_correction_location(mock_europepmc): assert lookup(26184978) == attr.asdict( Reference( authors="Xu Z, Han Y, Liu J, Jiang F, Hu H, Wang Y, Liu Q, Gong Y, Li X.", @@ -154,9 +556,7 @@ def test_builds_correction_location(): pmcid="PMC4505325", ) ) -@pytest.mark.epmc -@pytest.mark.network -def test_can_handle_missing_volume(): +def test_can_handle_missing_volume(mock_europepmc): assert lookup(27389411) == attr.asdict( Reference( authors="Carr G, Barrese V, Stott JB, Povstyan OV, Jepps TA, Figueiredo HB, Zheng D, Jamshidi Y, Greenwood IA.", @@ -167,9 +567,7 @@ def test_can_handle_missing_volume(): pmcid="PMC5079273", ) ) -@pytest.mark.epmc -@pytest.mark.network -def test_it_can_find_if_duplicate_ext_ids(): +def test_it_can_find_if_duplicate_ext_ids(mock_europepmc): assert lookup(375006) == attr.asdict( Reference( authors="Macino G, Tzagoloff A.", @@ -180,9 +578,7 @@ def test_it_can_find_if_duplicate_ext_ids(): pmcid=None, ) ) -@pytest.mark.epmc -@pytest.mark.network -def test_can_lookup_by_doi(): +def test_can_lookup_by_doi(mock_europepmc): assert lookup("doi:10.1007/bf00271669") == attr.asdict( Reference( authors="Macino G, Tzagoloff A.", @@ -194,8 +590,6 @@ def test_can_lookup_by_doi(): ) ) -@pytest.mark.network -@pytest.mark.epmc @pytest.mark.parametrize( "ref_id", [ @@ -206,7 +600,7 @@ def test_can_lookup_by_doi(): "DOI:10.1038/srep12276", ], ) -def test_can_handle_several_reference_formats(ref_id): +def test_can_handle_several_reference_formats(mock_europepmc, ref_id): assert lookup(ref_id) == attr.asdict( Reference( authors="Xu Z, Han Y, Liu J, Jiang F, Hu H, Wang Y, Liu Q, Gong Y, Li X.", @@ -222,8 +616,7 @@ def test_can_handle_several_reference_formats(ref_id): ) ) -@pytest.mark.network -def test_caching_works_as_expected(): +def test_caching_works_as_expected(mock_europepmc): fetch.summary.cache_clear() assert fetch.summary.cache_info().hits == 0 assert fetch.summary.cache_info().misses == 0 @@ -235,8 +628,7 @@ def test_caching_works_as_expected(): assert fetch.summary.cache_info().hits == count + 1 assert fetch.summary.cache_info().misses == 1 -@pytest.mark.network -def test_can_find_unidexable_publication(): +def test_can_find_unidexable_publication(mock_europepmc): ref = lookup("1903816") assert ref == attr.asdict( Reference( From 2a6c20b816a9d73e2aa215427a9a7c00dc5b53b7 Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Sun, 26 Oct 2025 21:17:35 +0000 Subject: [PATCH 8/9] Mock the Ensembl karyotypes API as well --- .../ensembl/metadata/karyotypes_test.py | 75 ++++++++++++++++++- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/tests/databases/ensembl/metadata/karyotypes_test.py b/tests/databases/ensembl/metadata/karyotypes_test.py index 81637ecf5..d711eaa68 100644 --- a/tests/databases/ensembl/metadata/karyotypes_test.py +++ b/tests/databases/ensembl/metadata/karyotypes_test.py @@ -14,6 +14,7 @@ """ import asyncio import pytest +from unittest.mock import Mock, patch from rnacentral_pipeline.databases.ensembl.metadata import karyotypes as karyo @@ -22,9 +23,76 @@ def karyotype(domain, species): raw = asyncio.run(karyo.fetch(species, domain)) return karyo.process(raw) + +# Mock data for Ensembl API responses +HOMO_SAPIENS_RESPONSE = { + "default_coord_system_version": "GRCh38", + "top_level_region": [ + # MT chromosome (no bands) + { + "coord_system": "chromosome", + "length": 16569, + "name": "MT" + }, + # Y chromosome (with detailed cytogenetic bands) + { + "coord_system": "chromosome", + "name": "Y", + "length": 57227415, + "bands": [ + {"stain": "acen", "id": "p11.1", "start": 10300001, "end": 10400000}, + {"id": "p11.2", "stain": "gneg", "start": 600001, "end": 10300000}, + {"id": "p11.31", "stain": "gpos50", "start": 300001, "end": 600000}, + {"stain": "gneg", "id": "p11.32", "start": 1, "end": 300000}, + {"start": 10400001, "end": 10600000, "id": "q11.1", "stain": "acen"}, + {"stain": "gneg", "start": 10600001, "end": 12400000, "id": "q11.21"}, + {"id": "q11.221", "end": 17100000, "start": 12400001, "stain": "gpos50"}, + {"end": 19600000, "start": 17100001, "id": "q11.222", "stain": "gneg"}, + {"stain": "gpos50", "id": "q11.223", "end": 23800000, "start": 19600001}, + {"stain": "gneg", "id": "q11.23", "end": 26600000, "start": 23800001}, + {"end": 57227415, "start": 26600001, "stain": "gvar", "id": "q12"}, + ] + }, + # 192 more regions would be here, but we only need MT and Y for tests + ] + [{"coord_system": "chromosome", "name": str(i), "length": 1000000} for i in range(1, 193)] +} + +GLYCINE_MAX_RESPONSE = { + "default_coord_system_version": "Glycine_max_v2.1", + "top_level_region": [ + { + "coord_system": "chromosome", + "name": "1", + "length": 56831624 + } + # Would have 1189 more chromosomes, but we only need one for the test + ] + [{"coord_system": "chromosome", "name": str(i), "length": 1000000} for i in range(2, 1191)] +} + + +@pytest.fixture +def mock_ensembl_api(): + """Mock Ensembl REST API responses for karyotype data""" + def mock_get(url, **kwargs): + mock_response = Mock() + mock_response.raise_for_status = Mock() + + # Match URL to return appropriate response + if "homo_sapiens" in url: + mock_response.json.return_value = HOMO_SAPIENS_RESPONSE + elif "glycine_max" in url: + mock_response.json.return_value = GLYCINE_MAX_RESPONSE + else: + raise ValueError(f"Unexpected URL in test: {url}") + + return mock_response + + with patch("rnacentral_pipeline.databases.ensembl.metadata.karyotypes.requests.get", side_effect=mock_get): + yield + + @pytest.mark.ensembl -@pytest.mark.network -def test_builds_empty_karyotype_for_missing_data(): +def test_builds_empty_karyotype_for_missing_data(mock_ensembl_api): _, found = karyotype("ensembl", "glycine_max") assert len(found) == 1190 assert found["1"] == { @@ -38,8 +106,7 @@ def test_builds_empty_karyotype_for_missing_data(): } @pytest.mark.ensembl -@pytest.mark.network -def test_builds_with_known_bands(): +def test_builds_with_known_bands(mock_ensembl_api): _, found = karyotype("ensembl", "homo_sapiens") assert len(found) == 194 assert found["MT"] == { From 7ff083a7686b795a7f6d12d6530e1dfcb6d506be Mon Sep 17 00:00:00 2001 From: Andrew Green Date: Mon, 27 Oct 2025 09:09:15 +0000 Subject: [PATCH 9/9] Mock about half the tests in PDBe. Leaves many of the parameterised ones alone --- tests/databases/pdb/conftest.py | 341 +++++++++++++++++++++++++++++ tests/databases/pdb/fetch_test.py | 3 +- tests/databases/pdb/parser_test.py | 9 +- 3 files changed, 345 insertions(+), 8 deletions(-) create mode 100644 tests/databases/pdb/conftest.py diff --git a/tests/databases/pdb/conftest.py b/tests/databases/pdb/conftest.py new file mode 100644 index 000000000..5691e80af --- /dev/null +++ b/tests/databases/pdb/conftest.py @@ -0,0 +1,341 @@ +# -*- coding: utf-8 -*- + +""" +Shared test fixtures for PDB tests. + +This module provides mock fixtures for PDBe API endpoints to allow tests to run +without network dependencies. +""" + +import pytest +from unittest.mock import Mock, patch +from urllib.parse import parse_qs, urlparse + + +# Mock data for PDBe Search API responses (GET endpoint) +# Structure: https://www.ebi.ac.uk/pdbe/search/pdb/select +MOCK_CHAIN_DATA = { + "1j5e": { + "response": { + "numFound": 1, + "docs": [ + { + "pdb_id": "1j5e", + "chain_id": ["A"], + "entity_id": 1, + "tax_id": [274], + "resolution": 3.05, + "release_date": "2002-04-12T01:00:00Z", + "experimental_method": ["X-ray diffraction"], + "title": "Structure of the Thermus thermophilus 30S Ribosomal Subunit", + "molecule_sequence": "UUUGUUGGAGAGUUUGAUCCUGGCUCAGGGUGAACGCUGGCGGCGUGCCUAAGACAUGCAAGUCGUGCGGGCCGCGGGGUUUUACUCCGUGGUCAGCGGCGGACGGGUGAGUAACGCGUGGGUUGACCUACCCGGAAGAGGGGGACAACCCGGGGAAACUCGGGCUAAUCCCCCCAUGUGGACCCGCCCCUUGGGGUGUGUGCCAAAGGGCUUUGCCCGCUUCCGGAUGGGGCCGCGUCCCAUCAGCUAGUUGGUGGGGUAAUGGGCCCACCAAGGCGACGACGGGGUAGCCGGUCUGAGAGGAUGGCCGGCCACAGGGGCACUGAGACACGGGCCCCACUCCUACGGGAGGCAGCAGUUAGGAAUCUUCCGCAAUGGGGCGCAAGCCUGACGGAGCGACGCCGCUUGGAGGAAGAAGCCCUUCGGGGUGGUAAACUCCUGAACCCGGGACGAAACCCCCCGACGAGGGGGACUGACGGUACCGGGGGUAAUAGCGCCGGCCAACUCCGUGCCAGCAGCCGCGGUAAUACGGAGGGCGCGAGCGUUACCCGGAUUCACUGGGCGUAAAGGGCGUGUAGGCGGCCUGGGGGCGUCCCAUGUUGAAAGACCACGGCUCAACCGUGGGGGGAGCGUGGGGAUACGCUCAGGCCUAGACGGUGGGAGAGGGUGGUGGGAAUUCCCGGAGUAGCGGUGAAAUGCGCAGAUACCGGGAGGAACGCCGAUGGCGAAGGCAGCCACCUGGUCCACCCCGUGACGCUGAGGCGCGAAAGCGUGGGGAGCAAACCGGAUUAGAUACCCGGGUAGUUCCACGCCCUAAACGAUUGCGCGCUAGGUCUCUCUGGGUCUCCUGGGGGGCCGAAGCUAACGCGUUAAGCGCGCCGCCUGGGGAGUACGGCCGCAAGGCUGAAACUCAAAGGAAUUGACGGGGGCCCGCACAAGCGGUGGAGCAUGUGGGUUUAAUUCGAAGCAACGCGAAGAACCUUACCAGGCCUUGACAUUGCUAGGGAACCCCGGGUGAAAGCCUGGGGUGCCCCGCGAGGGGGAGCCCUAGCACAGGUGCUGCAUGGCCGUCGUCAGCUCGUGCCGUGAGGUGUUGGGGUUAAGUCCCGCAACGAGCGCAACCCCCCGCCGUUAGUUGCCAGCGGUUCGGCCGGGCACUCUAACGGGACUGCCCGCGAAAGCGGGAGGAAGGAGGGGGACGACGUCUGGUCAGCAUGGCCCCUUACGGCCUGGGCGACACACGUGCUACAAUGGCCACUACAAAGCGAUGCCACCCCGGCAACGGGGAGCUAAUCGCAAAAAGGUUGGGCCCAGUUCGGAUUGGGGGUCUGCAACCCGACCCCAUGAAGCCGGAAUCGCUAGUAAUCGCGGAUCAGCCAUUGCCGCGGUUGAAUACGUUCCCCGGGCCUUGUACACACCGCCCGUCACGCCAUGGGGAGCGGGCCUUACCCGAAGUCGCCGGGAGCCUACGGGCCAAGGGGCCGAGGGUUAGGGCCCGUGACUGGGGGCGAAGUCGUAACAAGGGUAGCUGUACCGGAAGGUGCGGCUGGAUCACCUCCUUUCU", + "molecule_name": ["16S ribosomal RNA"], + "molecule_type": "RNA", + "organism_scientific_name": ["Thermus thermophilus"], + } + ], + } + }, + "1cq5": { + "response": { + "numFound": 1, + "docs": [ + { + "pdb_id": "1cq5", + "chain_id": ["A"], + "entity_id": 1, + "tax_id": [562], + "resolution": None, + "release_date": "1999-08-23T01:00:00Z", + "experimental_method": ["Solution NMR"], + "title": "NMR STRUCTURE OF SRP RNA DOMAIN IV", + "molecule_sequence": "GGCGUUUACCAGGUCAGGUCCGGAAGGAAGCAGCCAAGGCGCC", + "molecule_name": ["SRP RNA DOMAIN IV"], + "molecule_type": "RNA", + "organism_scientific_name": ["Escherichia coli"], + } + ], + } + }, + "1s72": { + "response": { + "numFound": 31, # Note: 1S72 has many chains, but we only mock chain 9 + "docs": [ + { + "pdb_id": "1s72", + "chain_id": ["9"], + "entity_id": 2, + "tax_id": [2238], + "resolution": 2.4, + "release_date": "2004-06-15T01:00:00Z", + "experimental_method": ["X-ray diffraction"], + "title": "REFINED CRYSTAL STRUCTURE OF THE HALOARCULA MARISMORTUI LARGE RIBOSOMAL SUBUNIT AT 2.4 ANGSTROM RESOLUTION", + "molecule_sequence": "UUAGGCGGCCACAGCGGUGGGGUUGCCUCCCGUACCCAUCCCGAACACGGAAGAUAAGCCCACCAGCGUUCCGGGGAGUACUGGAGUGCGCGAGCCUCUGGGAAACCCGGUUCGCCGCCACC", + "molecule_name": ["5S ribosomal RNA"], + "molecule_type": "RNA", + "organism_scientific_name": ["Haloarcula marismortui"], + "rfam_id": ["5S_rRNA"], + } + ], + } + }, + "3t4b": { + "response": { + "numFound": 1, + "docs": [ + { + "pdb_id": "3t4b", + "chain_id": ["A"], + "entity_id": 1, + "tax_id": [32630, 356418], # Multiple taxids - testing strange taxid handling + "resolution": 3.55, + "release_date": "2011-10-12T01:00:00Z", + "experimental_method": ["X-ray diffraction"], + "title": "Crystal Structure of the HCV IRES pseudoknot domain", + "molecule_sequence": "CCUCCCGGGAGAGCCGCUAAGGGGGAAACUCUAUGCGGUACUGCCUGAUAGGGUGCUUGCGAGUGCCCCGGGAGGUCUCGUAGA", + "molecule_name": ["HCV IRES pseudoknot domain plus crystallization module"], + "molecule_type": "RNA", + "organism_scientific_name": [], # Note: No organism name for viral RNA + } + ], + } + }, +} + + +# Mock data for PDBe Publications API responses (POST endpoint) +# Structure: https://www.ebi.ac.uk/pdbe/api/pdb/entry/publications/ +MOCK_PUBLICATION_DATA = { + "1j5e": [ + { + "pubmed_id": "11014182", + "doi": "10.1038/35030006", + "title": "Structure of the 30S ribosomal subunit.", + "journal_info": { + "pdb_abbreviation": "Nature", + "pages": "833-838", + "volume": "407", + "year": 2000 + }, + "author_list": [ + {"full_name": "Wimberly B.T.", "last_name": "Wimberly", "initials": "B.T."}, + {"full_name": "Brodersen D.E.", "last_name": "Brodersen", "initials": "D.E."}, + {"full_name": "Clemons Jr. W.M.", "last_name": "Clemons Jr.", "initials": "W.M."}, + {"full_name": "Morgan-Warren R.J.", "last_name": "Morgan-Warren", "initials": "R.J."}, + {"full_name": "Carter A.P.", "last_name": "Carter", "initials": "A.P."}, + {"full_name": "Vonrhein C.", "last_name": "Vonrhein", "initials": "C."}, + {"full_name": "Hartsch T.", "last_name": "Hartsch", "initials": "T."}, + {"full_name": "Ramakrishnan V.", "last_name": "Ramakrishnan", "initials": "V."}, + ], + }, + { + "pubmed_id": None, + "doi": "10.1038/35030019", + "title": "Functional insights from the structure of the 30S ribosomal subunit and its interactions with antibiotics", + "journal_info": { + "pdb_abbreviation": "Nature", + "pages": "340-348", + "volume": "407", + "year": 2000 + }, + "author_list": [ + {"full_name": "Carter A.P.", "last_name": "Carter", "initials": "A.P."}, + {"full_name": "Clemons W.M.", "last_name": "Clemons", "initials": "W.M."}, + {"full_name": "Brodersen D.E.", "last_name": "Brodersen", "initials": "D.E."}, + {"full_name": "Morgan-Warren R.J.", "last_name": "Morgan-Warren", "initials": "R.J."}, + {"full_name": "Wimberly B.T.", "last_name": "Wimberly", "initials": "B.T."}, + {"full_name": "Ramakrishnan V.", "last_name": "Ramakrishnan", "initials": "V."}, + ], + }, + { + "pubmed_id": None, + "doi": None, + "title": "Structure of a Bacterial 30S Ribosomal Subunit at 5.5 A Resolution", + "journal_info": { + "pdb_abbreviation": "Nature", + "pages": "833-840", + "volume": "400", + "year": 1999 + }, + "author_list": [ + {"full_name": "Clemons Jr. W.M.", "last_name": None, "initials": None}, + {"full_name": "May J.L.C.", "last_name": None, "initials": None}, + {"full_name": "Wimberly B.T.", "last_name": None, "initials": None}, + {"full_name": "McCutcheon J.P.", "last_name": None, "initials": None}, + {"full_name": "Capel M.S.", "last_name": None, "initials": None}, + {"full_name": "Ramakrishnan V.", "last_name": None, "initials": None}, + ], + }, + ], + "1cq5": [ + { + "pubmed_id": "10580470", + "doi": "10.1017/s1355838299991458", + "title": "Structure of the phylogenetically most conserved domain of SRP RNA.", + "journal_info": { + "pdb_abbreviation": "RNA", + "pages": "1453-1463", + "volume": "5", + "year": 1999 + }, + "author_list": [ + {"full_name": "Schmitz U.", "last_name": "Schmitz", "initials": "U."}, + {"full_name": "Behrens S.", "last_name": "Behrens", "initials": "S."}, + {"full_name": "Freymann D.M.", "last_name": "Freymann", "initials": "D.M."}, + {"full_name": "Keenan R.J.", "last_name": "Keenan", "initials": "R.J."}, + {"full_name": "Lukavsky P.", "last_name": "Lukavsky", "initials": "P."}, + {"full_name": "Walter P.", "last_name": "Walter", "initials": "P."}, + {"full_name": "James T.L.", "last_name": "James", "initials": "T.L."}, + ], + } + ], + "1s72": [ + { + "pubmed_id": "15184028", + "doi": "10.1016/j.jmb.2004.03.076", + "title": "The roles of ribosomal proteins in the structure assembly, and evolution of the large ribosomal subunit.", + "journal_info": { + "pdb_abbreviation": "J.Mol.Biol.", + "pages": "1093-1108", + "volume": "340", + "year": 2004 + }, + "author_list": [ + {"full_name": "Klein D.J.", "last_name": "Klein", "initials": "D.J."}, + {"full_name": "Moore P.B.", "last_name": "Moore", "initials": "P.B."}, + {"full_name": "Steitz T.A.", "last_name": "Steitz", "initials": "T.A."}, + ], + } + ], + "3t4b": [ + { + "pubmed_id": "22000514", + "doi": "10.1016/j.str.2011.08.002", + "title": "Crystal structure of the HCV IRES central domain reveals strategy for start-codon positioning.", + "journal_info": { + "pdb_abbreviation": "Structure", + "pages": "1456-1466", + "volume": "19", + "year": 2011 + }, + "author_list": [ + {"full_name": "Khatter H.", "last_name": "Khatter", "initials": "H."}, + {"full_name": "Myasnikov A.G.", "last_name": "Myasnikov", "initials": "A.G."}, + {"full_name": "Natchiar S.K.", "last_name": "Natchiar", "initials": "S.K."}, + {"full_name": "Klaholz B.P.", "last_name": "Klaholz", "initials": "B.P."}, + ], + } + ], +} + + +# Taxonomy data for core PDB test tax IDs +# Maps tax_id -> ENA API response +MOCK_TAXONOMY_DATA = { + 274: { + "scientificName": "Thermus thermophilus", + "lineage": "Bacteria; Deinococcota; Deinococci; Thermales; Thermaceae; Thermus; " + }, + 562: { + "scientificName": "Escherichia coli", + "lineage": "Bacteria; Pseudomonadota; Gammaproteobacteria; Enterobacterales; Enterobacteriaceae; Escherichia; " + }, + 2238: { + "scientificName": "Haloarcula marismortui", + "lineage": "Archaea; Euryarchaeota; Stenosarchaea group; Halobacteria; Halobacteriales; Halobacteriaceae; Haloarcula; " + }, + 32630: { + "scientificName": "Hepatitis C virus genotype 1", + "lineage": "Viruses; Riboviria; Orthornavirae; Kitrinoviricota; Flasuviricetes; Amarillovirales; Flaviviridae; Hepacivirus; " + }, + 356418: { + "scientificName": "Hepatitis C virus genotype 1b", + "lineage": "Viruses; Riboviria; Orthornavirae; Kitrinoviricota; Flasuviricetes; Amarillovirales; Flaviviridae; Hepacivirus; " + }, +} + + +@pytest.fixture(scope="module") +def mock_pdbe_api(): + """ + Mock PDBe Search and Publications APIs to allow tests to run without network. + + This fixture mocks: + 1. GET requests to https://www.ebi.ac.uk/pdbe/search/pdb/select (chain data) + 2. POST requests to https://www.ebi.ac.uk/pdbe/api/pdb/entry/publications/ (publication data) + 3. GET requests to ENA taxonomy API for species lookups + + Only core PDB IDs (1J5E, 1CQ5, 1S72, 3T4B) are fully mocked to support + non-parametrized tests. Parametrized tests remain network-dependent. + """ + + def mock_get(url, **kwargs): + """Mock handler for GET requests - handles both PDBe Search and ENA taxonomy APIs""" + mock_response = Mock() + mock_response.raise_for_status = Mock() + + # Check if this is an ENA taxonomy API request + if "ebi.ac.uk/ena/taxonomy/rest" in url or "rest.uniprot.org/taxonomy" in url: + # Extract tax ID from URL + # URL format: https://www.ebi.ac.uk/ena/taxonomy/rest/tax-id/274 + import re + tax_id_match = re.search(r'/(\d+)(?:\.json)?$', url) + if tax_id_match: + tax_id = int(tax_id_match.group(1)) + if tax_id in MOCK_TAXONOMY_DATA: + mock_response.json.return_value = MOCK_TAXONOMY_DATA[tax_id] + return mock_response + + # Return empty response if tax ID not mocked + mock_response.json.return_value = {} + return mock_response + + # Parse the query parameter to determine which PDB ID is requested + parsed = urlparse(url) + query_params = parse_qs(parsed.query) + + if "q" in query_params: + query = query_params["q"][0] + + # Extract PDB ID from query string (e.g., "pdb_id:1j5e" or "pdb_id:1j5e OR ...") + # Handle simple single PDB queries + if "pdb_id:" in query: + # Extract the first PDB ID from the query + pdb_id = query.split("pdb_id:")[1].split()[0].lower() + + if pdb_id in MOCK_CHAIN_DATA: + mock_response.json.return_value = MOCK_CHAIN_DATA[pdb_id] + return mock_response + + # If we get here, the query wasn't recognized - return empty result + # This allows tests to fail gracefully if they request unmocked PDB IDs + mock_response.json.return_value = {"response": {"numFound": 0, "docs": []}} + return mock_response + + def mock_post(url, **kwargs): + """Mock handler for POST requests to PDBe Publications API""" + mock_response = Mock() + mock_response.raise_for_status = Mock() + + # Parse POST data which is comma-separated PDB IDs + if "data" in kwargs: + pdb_ids = kwargs["data"].split(",") + result = {} + + for pdb_id in pdb_ids: + pdb_id = pdb_id.strip().lower() + if pdb_id in MOCK_PUBLICATION_DATA: + result[pdb_id] = MOCK_PUBLICATION_DATA[pdb_id] + + mock_response.json.return_value = result + return mock_response + + # Empty result if no data provided + mock_response.json.return_value = {} + return mock_response + + # Patch both GET and POST at multiple module levels to catch all API calls + with patch("rnacentral_pipeline.databases.pdb.fetch.requests.get", side_effect=mock_get), \ + patch("rnacentral_pipeline.databases.pdb.fetch.requests.post", side_effect=mock_post), \ + patch("rnacentral_pipeline.databases.helpers.phylogeny.requests.get", side_effect=mock_get): + yield diff --git a/tests/databases/pdb/fetch_test.py b/tests/databases/pdb/fetch_test.py index 18b46b3d0..b0a13714b 100644 --- a/tests/databases/pdb/fetch_test.py +++ b/tests/databases/pdb/fetch_test.py @@ -23,8 +23,7 @@ pytestmark = pytest.mark.pdb -@pytest.mark.network -def test_produces_correct_data(): +def test_produces_correct_data(mock_pdbe_api): chains = fetch.chains({("1S72", "9")}) assert len(chains) == 1 assert chains[0] == fetch.ChainInfo( diff --git a/tests/databases/pdb/parser_test.py b/tests/databases/pdb/parser_test.py index a5e35f551..1ad3d30ad 100644 --- a/tests/databases/pdb/parser_test.py +++ b/tests/databases/pdb/parser_test.py @@ -31,8 +31,7 @@ def load(pdb_id: str, chain_id: str) -> data.Entry: return parser.as_entry(chain_info, references) -@pytest.mark.network -def test_can_build_correct_entry_for_rrna(): +def test_can_build_correct_entry_for_rrna(mock_pdbe_api): cur = attr.asdict(load("1J5E", "A")) print(cur["references"]) assert cur == attr.asdict( @@ -77,13 +76,11 @@ def test_can_build_correct_entry_for_rrna(): ) -@pytest.mark.network -def test_can_handle_strange_taxids(): +def test_can_handle_strange_taxids(mock_pdbe_api): assert load("3T4B", "A").ncbi_tax_id == 32630 -@pytest.mark.network -def test_can_build_correct_entry_for_srp_rna(): +def test_can_build_correct_entry_for_srp_rna(mock_pdbe_api): assert attr.asdict(load("1CQ5", "A")) == attr.asdict( data.Entry( primary_id="1CQ5",