mitophyThe evolution of mitochondria — literature phylogenies and self-updating de novo analyses

Data & Methods

Everything on this site is produced by an open pipeline (source) that runs monthly on GitHub Actions, commits its results and rebuilds the pages. This page documents the inputs and settings; the changelog records what each run used.

Pipeline overview

  1. fetch-mito — download the RefSeq release mitochondrion.*.genomic.gbff.gz files (cached by HTTP Last-Modified).
  2. extract-mito — stream-parse all records; keep complete genomes (5,000–3,000,000 bp, definition contains “complete genome”, no “partial/unverified”); per genome record organism, NCBI lineage, length, GC, counts of CDS/tRNA/rRNA, /transl_table; assign CDS to marker genes by matching normalised /gene and /product against the synonym table below; take the protein from /translation (never re-translated; if absent, translated with the record's /transl_table).
  3. fetch-bact — download RefSeq proteomes (datasets download genome accession … --include protein) for the curated bacterial genome list.
  4. orthologs — for each origin marker, collect mitochondrial proteins of the listed eukaryotes plus bacterial seed proteins whose RefSeq product name matches the marker; align (MAFFT), build a profile HMM (pyhmmer/HMMER3), search all proteomes; keep the best hit per proteome (E ≤ 1e-10, bit score ≥ 50); a protein claimed by two markers goes to the marker where it scores higher (paralogue resolution, e.g. NuoL/M/N ↔ nad5/4/2, heme–copper oxidase family ↔ cox1); a second-best hit within 10% of the best is flagged ambiguous. Mitochondrial sequences are validated against the same HMM.
  5. sample — deterministic taxonomically balanced subsample of mitogenomes for the diversification tree (see below).
  6. align — per marker MAFFT (origin: --localpair --maxiterate 1000 --anysymbol --quiet; diversification: --auto --anysymbol --quiet), trimAl (origin: -automated1; diversification: -gt 0.5), occupancy filter (origin: taxa ≥ 4 markers, markers in ≥ 40% of taxa; diversification: ≥ 5 markers, ≥ 50%), concatenation with a partition file.
  7. trees — origin: IQ-TREE (LG+F+G4; automated monthly runs use --fast with 1000 SH-aLRT replicates because ultrafast bootstrap is incompatible with the fast search and a full search does not fit the 6 h CI limit; local runs use a full search with 1000 UFBoot + 1000 SH-aLRT; the deep profile uses LG+C20+F+G4 with a PMSF guide tree), rooted on the β/γ-proteobacterial outgroup. Diversification: FastTree -lg -gamma, rooted on jakobids.
  8. stats, provenance, site — tables and charts over all genomes; run record; static HTML rendered with Jinja2; trees drawn client-side by a small dependency-free SVG viewer (mtree.js).

Idempotence: every stage hashes its inputs and is skipped when nothing changed. Tool versions in the last run: python 3.12.13, biopython 1.88, pyhmmer 0.12.1, mafft 7.526, trimal 1.5.rev1, iqtree iqtree3 3.1.3, fasttree 2.2.0, datasets 18.35.0.

Marker genes

MarkerUsed inMitochondrial synonyms (matched after normalisation)Bacterial homologue — RefSeq product patterns used to seed the HMM
cox1origin, diversificationcox1p; cox1; coi; co1; coxi; cox-1; mt-co1; cytochrome c oxidase subunit 1; cytochrome c oxidase subunit i; cytochrome oxidase subunit 1; cytochrome oxidase subunit i; cytochrome c oxidase subunit1cytochrome c oxidase subunit I$ | cytochrome c oxidase subunit 1$ | cytochrome-c oxidase subunit I | ^cytochrome c oxidase subunit I, | \bctaD\b | \bcoxA\b
heme-copper oxidase family (cyoB, qoxB, ccoN, cbb3-type) — best hit + margin check
cox2origin, diversificationcox2p; cox2; coii; co2; coxii; cox-2; mt-co2; cytochrome c oxidase subunit 2; cytochrome c oxidase subunit ii; cytochrome oxidase subunit 2; cytochrome oxidase subunit iicytochrome c oxidase subunit II$ | cytochrome c oxidase subunit 2$ | cytochrome-c oxidase subunit II | \bctaC\b | \bcoxB\b
cox3origin, diversificationcox3p; cox3; coiii; co3; coxiii; cox-3; mt-co3; cytochrome c oxidase subunit 3; cytochrome c oxidase subunit iii; cytochrome oxidase subunit 3; cytochrome oxidase subunit iiicytochrome c oxidase subunit III$ | cytochrome c oxidase subunit 3$ | cytochrome-c oxidase subunit III | \bctaE\b | \bcoxC\b
coborigin, diversificationcobp; cob; cytb; cyt-b; cyb; mt-cyb; cytochrome b; apocytochrome b; cytochrome b/b6ubiquinol-cytochrome c reductase cytochrome b subunit | cytochrome b$ | cytochrome bc1 complex cytochrome b subunit | quinol-cytochrome c reductase cytochrome b | \bpetB\b | \bqcrB\b
atp6origin, diversificationatp6p; atp6; atpase6; atpase 6; mt-atp6; atp synthase f0 subunit 6; atp synthase fo subunit 6; atp synthase subunit 6; atp synthase subunit a; atp synthase f0 subunit a; atpase subunit 6; atp synthase subunit 6 (atpase6); f0-atp synthase subunit 6F0F1 ATP synthase subunit A$ | ATP synthase subunit a$ | F0F1 ATP synthase subunit a$ | \batpB\b
atp8stats onlyatp8p; atp8; atpase8; atpase 8; mt-atp8; atp synthase f0 subunit 8; atp synthase fo subunit 8; atp synthase subunit 8; atpase subunit 8; atp synthase protein 8
atp9origin, diversificationatp9p; atp9; atpase9; atp synthase f0 subunit 9; atp synthase fo subunit 9; atp synthase subunit 9; atp synthase subunit c; atp synthase f0 subunit c; atpase subunit 9; atp synthase c subunit; atp synthase subunit c (proteolipid)F0F1 ATP synthase subunit C$ | ATP synthase subunit c$ | F0F1 ATP synthase subunit c$ | \batpE\b
atp1originatp1; atpa; atp synthase f1 subunit alpha; atp synthase subunit alpha; atp synthase alpha subunit; atp synthase f1 subunit 1; atpase alpha subunit; atp synthase subunit 1F0F1 ATP synthase subunit alpha | ATP synthase subunit alpha | \batpA\b
nad1origin, diversificationnad1; nd1; nadh1; mt-nd1; nadh dehydrogenase subunit 1; nadh dehydrogenase subunit i; nadh-ubiquinone oxidoreductase chain 1; nadh dehydrogenase 1; nadh dehydrogenase subunit1NADH-quinone oxidoreductase subunit NuoH | NADH-quinone oxidoreductase subunit H | NADH dehydrogenase subunit H$ | \bnuoH\b | NADH-quinone oxidoreductase subunit 1$
nad2origin, diversificationnad2; nd2; nadh2; mt-nd2; nadh dehydrogenase subunit 2; nadh dehydrogenase subunit ii; nadh-ubiquinone oxidoreductase chain 2; nadh dehydrogenase 2NADH-quinone oxidoreductase subunit NuoN | NADH-quinone oxidoreductase subunit N | \bnuoN\b | NADH-quinone oxidoreductase subunit 14$
NuoL/NuoM/NuoN antiporter-like family
nad3origin, diversificationnad3; nd3; nadh3; mt-nd3; nadh dehydrogenase subunit 3; nadh dehydrogenase subunit iii; nadh-ubiquinone oxidoreductase chain 3; nadh dehydrogenase 3NADH-quinone oxidoreductase subunit NuoA | NADH-quinone oxidoreductase subunit A$ | \bnuoA\b | NADH-quinone oxidoreductase subunit 3$
nad4origin, diversificationnad4; nd4; nadh4; mt-nd4; nadh dehydrogenase subunit 4; nadh dehydrogenase subunit iv; nadh-ubiquinone oxidoreductase chain 4; nadh dehydrogenase 4NADH-quinone oxidoreductase subunit NuoM | NADH-quinone oxidoreductase subunit M$ | \bnuoM\b | NADH-quinone oxidoreductase subunit 13$
NuoL/NuoM/NuoN antiporter-like family
nad4Lorigin, diversificationnad4l; nd4l; nadh4l; mt-nd4l; nadh dehydrogenase subunit 4l; nadh dehydrogenase subunit ivl; nadh-ubiquinone oxidoreductase chain 4l; nadh dehydrogenase 4lNADH-quinone oxidoreductase subunit NuoK | NADH-quinone oxidoreductase subunit K$ | \bnuoK\b | NADH-quinone oxidoreductase subunit 11$
nad5origin, diversificationnad5; nd5; nadh5; mt-nd5; nadh dehydrogenase subunit 5; nadh dehydrogenase subunit v; nadh-ubiquinone oxidoreductase chain 5; nadh dehydrogenase 5NADH-quinone oxidoreductase subunit NuoL | NADH-quinone oxidoreductase subunit L$ | \bnuoL\b | NADH-quinone oxidoreductase subunit 12$
NuoL/NuoM/NuoN antiporter-like family
nad6origin, diversificationnad6; nd6; nadh6; mt-nd6; nadh dehydrogenase subunit 6; nadh dehydrogenase subunit vi; nadh-ubiquinone oxidoreductase chain 6; nadh dehydrogenase 6NADH-quinone oxidoreductase subunit NuoJ | NADH-quinone oxidoreductase subunit J$ | \bnuoJ\b | NADH-quinone oxidoreductase subunit 10$
nad7origin, diversificationnad7; nd7; nadh dehydrogenase subunit 7; nadh dehydrogenase subunit vii; nadh-ubiquinone oxidoreductase 49 kda subunit; nadh dehydrogenase 49 kda subunitNADH-quinone oxidoreductase subunit NuoD | NADH-quinone oxidoreductase subunit D$ | NADH dehydrogenase \(quinone\) subunit D | \bnuoD\b | NADH-quinone oxidoreductase subunit 4$
nad8originnad8; nd8; nadh dehydrogenase subunit 8; nadh-ubiquinone oxidoreductase 23 kda subunit; nadh dehydrogenase 23 kda subunitNADH-quinone oxidoreductase subunit NuoI | NADH-quinone oxidoreductase subunit I$ | \bnuoI\b | NADH-quinone oxidoreductase subunit 8$
nad9origin, diversificationnad9; nd9; nadh dehydrogenase subunit 9; nadh-ubiquinone oxidoreductase 30 kda subunit; nadh dehydrogenase 30 kda subunitNADH-quinone oxidoreductase subunit NuoC | NADH-quinone oxidoreductase subunit C$ | NADH-quinone oxidoreductase subunit C/D | \bnuoC\b | NADH-quinone oxidoreductase subunit 3$
nad11originnad11; nd11; nadh dehydrogenase subunit 11; nadh-ubiquinone oxidoreductase 75 kda subunit; nadh dehydrogenase 75 kda subunitNADH-quinone oxidoreductase subunit NuoG | NADH-quinone oxidoreductase subunit G$ | \bnuoG\b | NADH-quinone oxidoreductase subunit 7$
sdh2originsdh2; sdhb; succinate dehydrogenase subunit 2; succinate dehydrogenase iron-sulfur subunit; succinate dehydrogenase iron-sulfur protein; succinate dehydrogenase subunit bsuccinate dehydrogenase iron-sulfur subunit | succinate dehydrogenase.*iron-sulfur | \bsdhB\b
sdh3originsdh3; sdhc; succinate dehydrogenase subunit 3; succinate dehydrogenase cytochrome b subunit; succinate dehydrogenase subunit c; succinate dehydrogenase cytochrome b560 subunitsuccinate dehydrogenase cytochrome b subunit | succinate dehydrogenase, cytochrome b556 subunit | \bsdhC\b
sdh4originsdh4; sdhd; succinate dehydrogenase subunit 4; succinate dehydrogenase membrane anchor subunit; succinate dehydrogenase subunit d; succinate dehydrogenase hydrophobic membrane anchor proteinsuccinate dehydrogenase membrane anchor subunit | succinate dehydrogenase, hydrophobic membrane anchor protein | \bsdhD\b
tufAorigintufa; tuf; elongation factor tu; translation elongation factor tu; elongation factor tu (ef-tu)elongation factor Tu$ | translation elongation factor Tu | \btufA\b
rpoBoriginrpob; dna-directed rna polymerase subunit beta; rna polymerase beta subunit; dna-directed rna polymerase beta subunit; rna polymerase subunit betaDNA-directed RNA polymerase subunit beta$ | \brpoB\b
rpoCoriginrpoc; dna-directed rna polymerase subunit beta'; rna polymerase beta' subunit; dna-directed rna polymerase beta' subunit; rna polymerase subunit beta'DNA-directed RNA polymerase subunit beta'$ | \brpoC\b
secYoriginsecy; preprotein translocase subunit secy; protein translocase subunit secy; preprotein translocase secy subunitpreprotein translocase subunit SecY | \bsecY\b
rps3originrps3p; var1; rps3; ribosomal protein s3; small subunit ribosomal protein s3; 30s ribosomal protein s3; ribosomal protein s3 (rps3)30S ribosomal protein S3$ | \brpsC\b
rps12originrps12; ribosomal protein s12; small subunit ribosomal protein s12; 30s ribosomal protein s1230S ribosomal protein S12$ | \brpsL\b
rpl2originrpl2; ribosomal protein l2; large subunit ribosomal protein l2; 50s ribosomal protein l250S ribosomal protein L2$ | \brplB\b
rpl5originrpl5; ribosomal protein l5; large subunit ribosomal protein l5; 50s ribosomal protein l550S ribosomal protein L5$ | \brplE\b
rpl16originrpl16; ribosomal protein l16; large subunit ribosomal protein l16; 50s ribosomal protein l1650S ribosomal protein L16$ | \brplP\b
rpl14originrpl14; ribosomal protein l14; large subunit ribosomal protein l14; 50s ribosomal protein l1450S ribosomal protein L14$ | \brplN\b
rps19originrps19; ribosomal protein s19; small subunit ribosomal protein s19; 30s ribosomal protein s1930S ribosomal protein S19$ | \brpsS\b
rps7originrps7; ribosomal protein s7; small subunit ribosomal protein s7; 30s ribosomal protein s730S ribosomal protein S7$ | \brpsG\b
rps11originrps11; ribosomal protein s11; small subunit ribosomal protein s11; 30s ribosomal protein s1130S ribosomal protein S11$ | \brpsK\b
rpl6originrpl6; ribosomal protein l6; large subunit ribosomal protein l6; 50s ribosomal protein l650S ribosomal protein L6$ | \brplF\b

Taxa in the origin analysis

Mitochondrial genomes (43 listed)

Matched by organism name to RefSeq; gene-rich protist mtDNAs are preferred, plus a few animals, fungi and plants. Those actually used are shown in the tree; the tree's taxa file lists accessions.

Andalucia godoyi, Reclinomonas americana, Jakoba libera, Jakoba bahamiensis, Seculamonas ecuadoriensis, Histiona aroides, Malawimonas jakobiformis, Naegleria gruberi, Diphylleia rotans, Ancoracysta twista, Marchantia polymorpha, Physcomitrium patens, Mesostigma viride, Nephroselmis olivacea, Prototheca wickerhamii, Chondrus crispus, Porphyra purpurea, Cyanidioschyzon merolae, Cyanidium caldarium, Cyanophora paradoxa, Rhodomonas salina, Hemiselmis andersenii, Phytophthora infestans, Synura synuroidea, Ochromonas danica, Cafeteria roenbergensis, Tetrahymena thermophila, Paramecium gigas, Emiliania huxleyi, Acanthamoeba castellanii, Dictyostelium discoideum, Monosiga brevicollis, Allomyces macrogynus, Rhizophydium sp. 136, Saccharomyces cerevisiae, Trichoplax adhaerens, Homo sapiens, Phaeodactylum tricornutum, Ectocarpus siliculosus, Chlorokybus atmophyticus, Chara vulgaris, Polytomella parva, Pycnococcus provasolii

Bacterial genomes (61)

GroupTaxonAssemblyLevel
RickettsialesRickettsia prowazekiiGCF_000277165.1Complete Genome
RickettsialesRickettsia belliiGCF_000012385.1Complete Genome
RickettsialesOrientia tsutsugamushiGCF_900327255.1Complete Genome
RickettsialesAnaplasma phagocytophilumGCF_000964685.1Contig
RickettsialesEhrlichia chaffeensisGCF_000013145.1Complete Genome
RickettsialesWolbachia pipientisGCF_947533255.1Complete Genome
RickettsialesNeorickettsia sennetsuGCF_000013165.1Complete Genome
RickettsialesMidichloria mitochondriiGCF_000219355.1Complete Genome
HolosporalesHolospora obtusaGCF_000469665.2Contig
HolosporalesHolospora undulataGCF_000388175.3Scaffold
PelagibacteralesPelagibacter ubiqueGCF_000012345.1Complete Genome
PelagibacteralesPelagibacter sp. IMCC9063GCF_000195085.1Complete Genome
RhodospirillalesRhodospirillum rubrumGCF_000013085.1Complete Genome
RhodospirillalesAzospirillum brasilenseGCF_007827425.1Contig
RhodospirillalesAcetobacter pasteurianusGCF_009914215.2Complete Genome
RhodospirillalesGluconobacter oxydansGCF_000583855.1Complete Genome
RhodospirillalesMagnetospirillum gryphiswaldenseGCF_002995515.1Complete Genome
RhodospirillalesTistrella mobilisGCF_057418525.1Complete Genome
RhodospirillalesRhodovibrio salinarumGCF_000515255.1Scaffold
SphingomonadalesSphingomonas wittichiiGCF_017607425.1Complete Genome
SphingomonadalesZymomonas mobilisGCF_000498655.1Complete Genome
SphingomonadalesErythrobacter litoralisGCF_001719165.1Complete Genome
SphingomonadalesSphingobium japonicumGCF_000091125.1Complete Genome
SphingomonadalesSphingomonas paucimobilisGCF_016027095.1Complete Genome
HyphomicrobialesRhizobium etliGCF_000092045.1Complete Genome
HyphomicrobialesSinorhizobium melilotiGCF_037023865.1Complete Genome
HyphomicrobialesAgrobacterium fabrumGCF_000092025.1Complete Genome
HyphomicrobialesBradyrhizobium diazoefficiensGCF_001642675.1Complete Genome
HyphomicrobialesBrucella melitensisGCF_000007125.1Complete Genome
HyphomicrobialesBartonella henselaeGCF_019930925.1Complete Genome
HyphomicrobialesMethylobacterium extorquensGCF_000083545.1Complete Genome
HyphomicrobialesMesorhizobium japonicumGCF_012913625.1Complete Genome
HyphomicrobialesRhodopseudomonas palustrisGCF_016584445.1Complete Genome
HyphomicrobialesHyphomicrobium denitrificansGCF_000143145.1Complete Genome
CaulobacteralesCaulobacter vibrioidesGCF_000022005.1Complete Genome
CaulobacteralesBrevundimonas subvibrioidesGCF_000144605.1Complete Genome
CaulobacteralesPhenylobacterium zucineumGCF_000017265.1Complete Genome
RhodobacteralesCereibacter sphaeroidesGCF_003324715.1Complete Genome
RhodobacteralesParacoccus denitrificansGCF_004063735.1Complete Genome
RhodobacteralesRuegeria pomeroyiGCF_000011965.2Complete Genome
RhodobacteralesDinoroseobacter shibaeGCF_000018145.1Complete Genome
RhodobacteralesRoseobacter denitrificansGCF_002983865.1Complete Genome
MagnetococcalesMagnetococcus marinusGCF_000014865.1Complete Genome
Other AlphaproteobacteriaMicavibrio aeruginosavorusGCF_000226315.1Complete Genome
Other AlphaproteobacteriaParvularcula bermudensisGCF_000152825.2Complete Genome
Other AlphaproteobacteriaKordiimonas gwangyangensisGCF_000375545.1Contig
Other AlphaproteobacteriaSneathiella glossodoripedisGCF_055385085.1Complete Genome
Other AlphaproteobacteriaKiloniella laminariaeGCF_000374005.1Scaffold
Other AlphaproteobacteriaGeminicoccus roseusGCF_000427665.1Scaffold
Other AlphaproteobacteriaEmcibacter nanhaiensisGCF_006385175.1Contig
Other AlphaproteobacteriaHyphomonas neptuniumGCF_000013025.1Complete Genome
Other AlphaproteobacteriaMaricaulis marisGCF_003634045.1Scaffold
Other AlphaproteobacteriaRhodothalassium salexigensGCF_004341375.1Scaffold
OutgroupsEscherichia coliGCF_000005845.2Complete Genome
OutgroupsPseudomonas aeruginosaGCF_000006765.1Complete Genome
OutgroupsNeisseria meningitidisGCF_022869645.1Complete Genome
OutgroupsBurkholderia cenocepaciaGCF_001718895.1Complete Genome
OutgroupsNitrosomonas europaeaGCF_054182965.1Complete Genome
OutgroupsRalstonia pickettiiGCF_014142625.1Contig
OutgroupsVibrio choleraeGCF_008369605.1Complete Genome
OutgroupsXanthomonas campestrisGCF_013388375.1Complete Genome

Sampling for the diversification tree

RefSeq is dominated by animals (~93% Opisthokonta). To obtain a readable, taxonomically balanced tree the pipeline keeps one genome per species (preferring genomes with more markers, then longer, then older accessions), always includes 42 reference genomes, and then fills per-stratum quotas — Metazoa 240, Fungi 90, Viridiplantae 90, Rhodophyta 40, SAR 80, Other eukaryotes 200 — by dividing each quota as evenly as possible among lineage children at every level of the NCBI lineage (hierarchical balanced allocation), so vertebrates and insects cannot swamp the sample. Selection is deterministic and “sticky”: previously selected accessions are kept when still eligible, so month-to-month changes are small and are listed in the changelog.

Groups and colours

Taxa are assigned to display groups by matching NCBI lineage names in this order: Jakobida · Discoba · Metamonada · Malawimonadida · Metazoa · Choanoflagellata · Ichthyosporea · Fungi · Amoebozoa · Apusozoa · CRuMs · Streptophyta · Chlorophyta · Rhodophyta · Glaucophyta · Cryptophyta · Haptophyta · Stramenopiles · Alveolata · Rhizaria · Telonemia · Other eukaryotes · Rickettsiales · Holosporales · Pelagibacterales · Rhodospirillales · Sphingomonadales · Hyphomicrobiales · Caulobacterales · Rhodobacterales · Magnetococcales · Other Alphaproteobacteria · Betaproteobacteria · Gammaproteobacteria · Bacteria.

Headline computation

The “where do mitochondria branch” statement is computed from the rooted origin tree: the MRCA of all mitochondrial tips is found; monophyly means the MRCA's clade contains no bacteria; the sister group is the other child of the MRCA's parent, and it is summarised by group composition (Rickettsiales only → “sister to Rickettsiales”; all sampled Alphaproteobacteria → “sister to all Alphaproteobacteria”; otherwise the composition is listed).

Reproduce locally

git clone https://github.com/evozoa/mitophy && cd mitophy
micromamba create -y -f environment.yml -n mitophy && micromamba activate mitophy
mitophy all --profile quick --workdir work-quick   # ~10 min smoke run
mitophy all                                        # full run (origin tree with UFBoot: hours)
mitophy all --profile deep --threads 20            # site-heterogeneous origin tree → results/origin_deep
mitophy site && python -m http.server -d _site 8000