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
- fetch-mito — download the RefSeq release
mitochondrion.*.genomic.gbff.gzfiles (cached by HTTP Last-Modified). - 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/geneand/productagainst the synonym table below; take the protein from/translation(never re-translated; if absent, translated with the record's/transl_table). - fetch-bact — download RefSeq proteomes (
datasets download genome accession … --include protein) for the curated bacterial genome list. - 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.
- sample — deterministic taxonomically balanced subsample of mitogenomes for the diversification tree (see below).
- 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. - trees — origin: IQ-TREE (LG+F+G4; automated monthly runs use
--fastwith 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; thedeepprofile uses LG+C20+F+G4 with a PMSF guide tree), rooted on the β/γ-proteobacterial outgroup. Diversification: FastTree-lg -gamma, rooted on jakobids. - 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
| Marker | Used in | Mitochondrial synonyms (matched after normalisation) | Bacterial homologue — RefSeq product patterns used to seed the HMM |
|---|---|---|---|
| cox1 | origin, diversification | cox1p; 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 subunit1 | cytochrome 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 |
| cox2 | origin, diversification | cox2p; 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 ii | cytochrome c oxidase subunit II$ | cytochrome c oxidase subunit 2$ | cytochrome-c oxidase subunit II | \bctaC\b | \bcoxB\b |
| cox3 | origin, diversification | cox3p; 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 iii | cytochrome c oxidase subunit III$ | cytochrome c oxidase subunit 3$ | cytochrome-c oxidase subunit III | \bctaE\b | \bcoxC\b |
| cob | origin, diversification | cobp; cob; cytb; cyt-b; cyb; mt-cyb; cytochrome b; apocytochrome b; cytochrome b/b6 | ubiquinol-cytochrome c reductase cytochrome b subunit | cytochrome b$ | cytochrome bc1 complex cytochrome b subunit | quinol-cytochrome c reductase cytochrome b | \bpetB\b | \bqcrB\b |
| atp6 | origin, diversification | atp6p; 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 6 | F0F1 ATP synthase subunit A$ | ATP synthase subunit a$ | F0F1 ATP synthase subunit a$ | \batpB\b |
| atp8 | stats only | atp8p; 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 | — |
| atp9 | origin, diversification | atp9p; 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 |
| atp1 | origin | atp1; 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 1 | F0F1 ATP synthase subunit alpha | ATP synthase subunit alpha | \batpA\b |
| nad1 | origin, diversification | nad1; nd1; nadh1; mt-nd1; nadh dehydrogenase subunit 1; nadh dehydrogenase subunit i; nadh-ubiquinone oxidoreductase chain 1; nadh dehydrogenase 1; nadh dehydrogenase subunit1 | NADH-quinone oxidoreductase subunit NuoH | NADH-quinone oxidoreductase subunit H | NADH dehydrogenase subunit H$ | \bnuoH\b | NADH-quinone oxidoreductase subunit 1$ |
| nad2 | origin, diversification | nad2; nd2; nadh2; mt-nd2; nadh dehydrogenase subunit 2; nadh dehydrogenase subunit ii; nadh-ubiquinone oxidoreductase chain 2; nadh dehydrogenase 2 | NADH-quinone oxidoreductase subunit NuoN | NADH-quinone oxidoreductase subunit N | \bnuoN\b | NADH-quinone oxidoreductase subunit 14$ NuoL/NuoM/NuoN antiporter-like family |
| nad3 | origin, diversification | nad3; nd3; nadh3; mt-nd3; nadh dehydrogenase subunit 3; nadh dehydrogenase subunit iii; nadh-ubiquinone oxidoreductase chain 3; nadh dehydrogenase 3 | NADH-quinone oxidoreductase subunit NuoA | NADH-quinone oxidoreductase subunit A$ | \bnuoA\b | NADH-quinone oxidoreductase subunit 3$ |
| nad4 | origin, diversification | nad4; nd4; nadh4; mt-nd4; nadh dehydrogenase subunit 4; nadh dehydrogenase subunit iv; nadh-ubiquinone oxidoreductase chain 4; nadh dehydrogenase 4 | NADH-quinone oxidoreductase subunit NuoM | NADH-quinone oxidoreductase subunit M$ | \bnuoM\b | NADH-quinone oxidoreductase subunit 13$ NuoL/NuoM/NuoN antiporter-like family |
| nad4L | origin, diversification | nad4l; nd4l; nadh4l; mt-nd4l; nadh dehydrogenase subunit 4l; nadh dehydrogenase subunit ivl; nadh-ubiquinone oxidoreductase chain 4l; nadh dehydrogenase 4l | NADH-quinone oxidoreductase subunit NuoK | NADH-quinone oxidoreductase subunit K$ | \bnuoK\b | NADH-quinone oxidoreductase subunit 11$ |
| nad5 | origin, diversification | nad5; nd5; nadh5; mt-nd5; nadh dehydrogenase subunit 5; nadh dehydrogenase subunit v; nadh-ubiquinone oxidoreductase chain 5; nadh dehydrogenase 5 | NADH-quinone oxidoreductase subunit NuoL | NADH-quinone oxidoreductase subunit L$ | \bnuoL\b | NADH-quinone oxidoreductase subunit 12$ NuoL/NuoM/NuoN antiporter-like family |
| nad6 | origin, diversification | nad6; nd6; nadh6; mt-nd6; nadh dehydrogenase subunit 6; nadh dehydrogenase subunit vi; nadh-ubiquinone oxidoreductase chain 6; nadh dehydrogenase 6 | NADH-quinone oxidoreductase subunit NuoJ | NADH-quinone oxidoreductase subunit J$ | \bnuoJ\b | NADH-quinone oxidoreductase subunit 10$ |
| nad7 | origin, diversification | nad7; nd7; nadh dehydrogenase subunit 7; nadh dehydrogenase subunit vii; nadh-ubiquinone oxidoreductase 49 kda subunit; nadh dehydrogenase 49 kda subunit | NADH-quinone oxidoreductase subunit NuoD | NADH-quinone oxidoreductase subunit D$ | NADH dehydrogenase \(quinone\) subunit D | \bnuoD\b | NADH-quinone oxidoreductase subunit 4$ |
| nad8 | origin | nad8; nd8; nadh dehydrogenase subunit 8; nadh-ubiquinone oxidoreductase 23 kda subunit; nadh dehydrogenase 23 kda subunit | NADH-quinone oxidoreductase subunit NuoI | NADH-quinone oxidoreductase subunit I$ | \bnuoI\b | NADH-quinone oxidoreductase subunit 8$ |
| nad9 | origin, diversification | nad9; nd9; nadh dehydrogenase subunit 9; nadh-ubiquinone oxidoreductase 30 kda subunit; nadh dehydrogenase 30 kda subunit | NADH-quinone oxidoreductase subunit NuoC | NADH-quinone oxidoreductase subunit C$ | NADH-quinone oxidoreductase subunit C/D | \bnuoC\b | NADH-quinone oxidoreductase subunit 3$ |
| nad11 | origin | nad11; nd11; nadh dehydrogenase subunit 11; nadh-ubiquinone oxidoreductase 75 kda subunit; nadh dehydrogenase 75 kda subunit | NADH-quinone oxidoreductase subunit NuoG | NADH-quinone oxidoreductase subunit G$ | \bnuoG\b | NADH-quinone oxidoreductase subunit 7$ |
| sdh2 | origin | sdh2; sdhb; succinate dehydrogenase subunit 2; succinate dehydrogenase iron-sulfur subunit; succinate dehydrogenase iron-sulfur protein; succinate dehydrogenase subunit b | succinate dehydrogenase iron-sulfur subunit | succinate dehydrogenase.*iron-sulfur | \bsdhB\b |
| sdh3 | origin | sdh3; sdhc; succinate dehydrogenase subunit 3; succinate dehydrogenase cytochrome b subunit; succinate dehydrogenase subunit c; succinate dehydrogenase cytochrome b560 subunit | succinate dehydrogenase cytochrome b subunit | succinate dehydrogenase, cytochrome b556 subunit | \bsdhC\b |
| sdh4 | origin | sdh4; sdhd; succinate dehydrogenase subunit 4; succinate dehydrogenase membrane anchor subunit; succinate dehydrogenase subunit d; succinate dehydrogenase hydrophobic membrane anchor protein | succinate dehydrogenase membrane anchor subunit | succinate dehydrogenase, hydrophobic membrane anchor protein | \bsdhD\b |
| tufA | origin | tufa; tuf; elongation factor tu; translation elongation factor tu; elongation factor tu (ef-tu) | elongation factor Tu$ | translation elongation factor Tu | \btufA\b |
| rpoB | origin | rpob; 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$ | \brpoB\b |
| rpoC | origin | rpoc; 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 |
| secY | origin | secy; preprotein translocase subunit secy; protein translocase subunit secy; preprotein translocase secy subunit | preprotein translocase subunit SecY | \bsecY\b |
| rps3 | origin | rps3p; var1; rps3; ribosomal protein s3; small subunit ribosomal protein s3; 30s ribosomal protein s3; ribosomal protein s3 (rps3) | 30S ribosomal protein S3$ | \brpsC\b |
| rps12 | origin | rps12; ribosomal protein s12; small subunit ribosomal protein s12; 30s ribosomal protein s12 | 30S ribosomal protein S12$ | \brpsL\b |
| rpl2 | origin | rpl2; ribosomal protein l2; large subunit ribosomal protein l2; 50s ribosomal protein l2 | 50S ribosomal protein L2$ | \brplB\b |
| rpl5 | origin | rpl5; ribosomal protein l5; large subunit ribosomal protein l5; 50s ribosomal protein l5 | 50S ribosomal protein L5$ | \brplE\b |
| rpl16 | origin | rpl16; ribosomal protein l16; large subunit ribosomal protein l16; 50s ribosomal protein l16 | 50S ribosomal protein L16$ | \brplP\b |
| rpl14 | origin | rpl14; ribosomal protein l14; large subunit ribosomal protein l14; 50s ribosomal protein l14 | 50S ribosomal protein L14$ | \brplN\b |
| rps19 | origin | rps19; ribosomal protein s19; small subunit ribosomal protein s19; 30s ribosomal protein s19 | 30S ribosomal protein S19$ | \brpsS\b |
| rps7 | origin | rps7; ribosomal protein s7; small subunit ribosomal protein s7; 30s ribosomal protein s7 | 30S ribosomal protein S7$ | \brpsG\b |
| rps11 | origin | rps11; ribosomal protein s11; small subunit ribosomal protein s11; 30s ribosomal protein s11 | 30S ribosomal protein S11$ | \brpsK\b |
| rpl6 | origin | rpl6; ribosomal protein l6; large subunit ribosomal protein l6; 50s ribosomal protein l6 | 50S 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)
| Group | Taxon | Assembly | Level |
|---|---|---|---|
| Rickettsiales | Rickettsia prowazekii | GCF_000277165.1 | Complete Genome |
| Rickettsiales | Rickettsia bellii | GCF_000012385.1 | Complete Genome |
| Rickettsiales | Orientia tsutsugamushi | GCF_900327255.1 | Complete Genome |
| Rickettsiales | Anaplasma phagocytophilum | GCF_000964685.1 | Contig |
| Rickettsiales | Ehrlichia chaffeensis | GCF_000013145.1 | Complete Genome |
| Rickettsiales | Wolbachia pipientis | GCF_947533255.1 | Complete Genome |
| Rickettsiales | Neorickettsia sennetsu | GCF_000013165.1 | Complete Genome |
| Rickettsiales | Midichloria mitochondrii | GCF_000219355.1 | Complete Genome |
| Holosporales | Holospora obtusa | GCF_000469665.2 | Contig |
| Holosporales | Holospora undulata | GCF_000388175.3 | Scaffold |
| Pelagibacterales | Pelagibacter ubique | GCF_000012345.1 | Complete Genome |
| Pelagibacterales | Pelagibacter sp. IMCC9063 | GCF_000195085.1 | Complete Genome |
| Rhodospirillales | Rhodospirillum rubrum | GCF_000013085.1 | Complete Genome |
| Rhodospirillales | Azospirillum brasilense | GCF_007827425.1 | Contig |
| Rhodospirillales | Acetobacter pasteurianus | GCF_009914215.2 | Complete Genome |
| Rhodospirillales | Gluconobacter oxydans | GCF_000583855.1 | Complete Genome |
| Rhodospirillales | Magnetospirillum gryphiswaldense | GCF_002995515.1 | Complete Genome |
| Rhodospirillales | Tistrella mobilis | GCF_057418525.1 | Complete Genome |
| Rhodospirillales | Rhodovibrio salinarum | GCF_000515255.1 | Scaffold |
| Sphingomonadales | Sphingomonas wittichii | GCF_017607425.1 | Complete Genome |
| Sphingomonadales | Zymomonas mobilis | GCF_000498655.1 | Complete Genome |
| Sphingomonadales | Erythrobacter litoralis | GCF_001719165.1 | Complete Genome |
| Sphingomonadales | Sphingobium japonicum | GCF_000091125.1 | Complete Genome |
| Sphingomonadales | Sphingomonas paucimobilis | GCF_016027095.1 | Complete Genome |
| Hyphomicrobiales | Rhizobium etli | GCF_000092045.1 | Complete Genome |
| Hyphomicrobiales | Sinorhizobium meliloti | GCF_037023865.1 | Complete Genome |
| Hyphomicrobiales | Agrobacterium fabrum | GCF_000092025.1 | Complete Genome |
| Hyphomicrobiales | Bradyrhizobium diazoefficiens | GCF_001642675.1 | Complete Genome |
| Hyphomicrobiales | Brucella melitensis | GCF_000007125.1 | Complete Genome |
| Hyphomicrobiales | Bartonella henselae | GCF_019930925.1 | Complete Genome |
| Hyphomicrobiales | Methylobacterium extorquens | GCF_000083545.1 | Complete Genome |
| Hyphomicrobiales | Mesorhizobium japonicum | GCF_012913625.1 | Complete Genome |
| Hyphomicrobiales | Rhodopseudomonas palustris | GCF_016584445.1 | Complete Genome |
| Hyphomicrobiales | Hyphomicrobium denitrificans | GCF_000143145.1 | Complete Genome |
| Caulobacterales | Caulobacter vibrioides | GCF_000022005.1 | Complete Genome |
| Caulobacterales | Brevundimonas subvibrioides | GCF_000144605.1 | Complete Genome |
| Caulobacterales | Phenylobacterium zucineum | GCF_000017265.1 | Complete Genome |
| Rhodobacterales | Cereibacter sphaeroides | GCF_003324715.1 | Complete Genome |
| Rhodobacterales | Paracoccus denitrificans | GCF_004063735.1 | Complete Genome |
| Rhodobacterales | Ruegeria pomeroyi | GCF_000011965.2 | Complete Genome |
| Rhodobacterales | Dinoroseobacter shibae | GCF_000018145.1 | Complete Genome |
| Rhodobacterales | Roseobacter denitrificans | GCF_002983865.1 | Complete Genome |
| Magnetococcales | Magnetococcus marinus | GCF_000014865.1 | Complete Genome |
| Other Alphaproteobacteria | Micavibrio aeruginosavorus | GCF_000226315.1 | Complete Genome |
| Other Alphaproteobacteria | Parvularcula bermudensis | GCF_000152825.2 | Complete Genome |
| Other Alphaproteobacteria | Kordiimonas gwangyangensis | GCF_000375545.1 | Contig |
| Other Alphaproteobacteria | Sneathiella glossodoripedis | GCF_055385085.1 | Complete Genome |
| Other Alphaproteobacteria | Kiloniella laminariae | GCF_000374005.1 | Scaffold |
| Other Alphaproteobacteria | Geminicoccus roseus | GCF_000427665.1 | Scaffold |
| Other Alphaproteobacteria | Emcibacter nanhaiensis | GCF_006385175.1 | Contig |
| Other Alphaproteobacteria | Hyphomonas neptunium | GCF_000013025.1 | Complete Genome |
| Other Alphaproteobacteria | Maricaulis maris | GCF_003634045.1 | Scaffold |
| Other Alphaproteobacteria | Rhodothalassium salexigens | GCF_004341375.1 | Scaffold |
| Outgroups | Escherichia coli | GCF_000005845.2 | Complete Genome |
| Outgroups | Pseudomonas aeruginosa | GCF_000006765.1 | Complete Genome |
| Outgroups | Neisseria meningitidis | GCF_022869645.1 | Complete Genome |
| Outgroups | Burkholderia cenocepacia | GCF_001718895.1 | Complete Genome |
| Outgroups | Nitrosomonas europaea | GCF_054182965.1 | Complete Genome |
| Outgroups | Ralstonia pickettii | GCF_014142625.1 | Contig |
| Outgroups | Vibrio cholerae | GCF_008369605.1 | Complete Genome |
| Outgroups | Xanthomonas campestris | GCF_013388375.1 | Complete 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