Skip to content

Repository files navigation

anistrang — 4 of the 154 residues in the mammoth meatball's myoglobin are distinctively mammoth

How this started · What this is · The findings · What I got wrong · Try it · License

tests code: MIT data and figures: CC BY 4.0 sources: UniProt, NCBI, TimeTree every figure regenerates from a script corrections kept in the record

mammoth sheep dodo Steller's sea cow thylacine

aurochs passenger pigeon great auk apple and pig

anistrang

De-extinction and cultivated meat: a fact-checked review, and three packages that compute the numbers nobody published.


How this started

A folder of MrBeast transcripts. One episode about futuristic technology mentions de-extinction and lab-grown chicken, in the breezy way YouTube mentions things, and it raised an obvious question: is any of this real, and how would I know?

So the first half of this repo is a long, boringly careful fact-check.

Some of what fell out:

  • The episode aired 2026-01-24. Upside Foods, one of the companies in it, had been selling nothing for about two years — and had quietly pivoted to selling cell culture media to pharma the day before, on 2026-01-23.
  • Colossal's valuation reached $10.2 B while cultivated-meat funding fell 96% from its 2021 peak. Same decade, same biotech, opposite directions. The report argues the difference is that only one of them has to win on price in a commodity market.
  • Vow's 2023 mammoth meatball was mammoth myoglobin with "gaps filled from African elephant", grown in sheep cells, unveiled at a museum in Amsterdam. Nobody ate it. Vow's own CSO: "I've got no idea what the potential allergenicity might be."
  • The famous 1951 Explorers Club mammoth dinner was green sea turtle. Somebody genotyped the leftovers and published it in PLOS ONE in 2016.

📄 The full report — the sources, the timeline, and an appendix listing the twelve things it could not confirm.

Then the fact-check ran out of road. "Gaps filled from African elephant" — how many gaps? Vow never said. Nobody had asked. And the sequences are public.

So the second half of this repo is three Python packages that answer it.


What this is

A reading guide, so you know what you are looking at before you scroll.

Part one A fact-checked review of de-extinction and cultivated meat as they stood in August 2026, built from primary sources. Everything it could not confirm is listed in its own appendix rather than dropped. → the full report
Part two Three Python packages that answer the question the review ran out of road on: "gaps filled from African elephant" — how many gaps? Everything below Part 1 is output from those.
The claim Every number here is recomputed from UniProt, NCBI and TimeTree by a named script. Nothing is quoted from a press release without being checked, and nothing is estimated where it could be measured.
Not the claim This is not peer-reviewed, and it is one person's work. The corpus is small — 43 nuclear protein comparisons — and biased toward whatever survives in ancient specimens. Where a result rests on that, it says so on the spot.
Best entry point If you read one thing, read §5 — nothing to copy and §6 — the test I couldn't rig. If you want to know how far to trust any of it, § what I got wrong is the honest answer.

Three packages

chimaera  ── what can be combined with what, and what you'd actually get
    ├── walghvogel  ── ...and what it would taste like
    └── tzeentch    ── ...and what it would look like

Every number below is recomputed from UniProt, NCBI and TimeTree by a script in this repo. Where a number is wrong, the file that produced it says so.


1. "Combining" is five different verbs

Press releases use one word — hybrid, chimera, fused — for five physically unrelated operations. Separate them and something falls out immediately.

operator what it physically is genetic result what stops it
blend tissues mixed in a bowl none almost nothing
express one foreign gene in a chassis chassis + one protein protein folding
edit chassis loci rewritten chassis + N foreign alleles edit burden, epistasis
graft blastocyst complementation organ-level chimerism phylogenetic distance
cross hybridisation 50/50 genomes chromosome pairing

You can combine a pig and an apple — 1.53 billion years apart — far more easily than a baboon and a sheep, 94 million years apart. As long as you don't do it genetically.

Which is why every cultivated meat product actually on sale is a blend. Aleph's approved steak is 10–20% cultivated cells. GOOD Meat's was 3%. Meatly's pet food is 4%. Not squeamishness — blend is the only operator whose difficulty doesn't explode with evolutionary distance.

The operator was wrong, and eleven animals proved it

That table is a model, and models are worth exactly as much as their calibration. cross decays with divergence, anchored on a line that reads "horse × donkey (~4 Ma) ... halving at 4 Ma puts the mule at the midpoint."

Horse and donkey are 11.1 Ma apart. TimeTree 5, same source as everything else here. The half-life had been set from a wrong number, so the mule scored 0.146 — the model called the most-bred hybrid in history barely feasible, and missed its own stated target by a factor of three. Nothing caught it, because the operator had never once been scored against a hybrid that exists.

So I scored it against eleven that do.

cross Ma 2n what actually happens score
goat × Pyrenean ibex 1.77 60/60 fertile 0.895
cattle × yak (dzo) 4.3 60/60 females fertile 0.765
cattle × bison (beefalo) 4.3 60/60 females fertile 0.765
dromedary × Bactrian camel 4.35 74/74 fully fertile 0.762
lion × tiger (liger) 6.8 38/38 females fertile 0.654
sheep × goat (geep) 9.3 54/60 usually dies in gestation 0.559
horse × donkey (mule) 11.1 64/62 viable, sterile 0.500
horse × zebra (zorse) 11.1 64/44 viable, sterile 0.500
cattle × sheep 24.6 60/54 nothing 0.215
chicken × Japanese quail 39.0 78/78 embryos develop 0.088 ❌
cattle × pig 62.0 60/38 nothing 0.021

Fixed, the mule lands on exactly 0.500 and ten of eleven come out right. The old calibration had been calling the beefalo — a registered commercial breed — and a camel hybrid people have bred on purpose for millennia, implausible.

Two things worth noticing in that table. Sheep and goats are closer together than horses and donkeys, and their cross almost always dies while the mule built half the transport of the pre-industrial world. And chicken × quail is 39 Ma — four times the sheep–goat gap — and the embryos develop anyway.

The usual explanation is chromosomes: chickens and quail both carry 2n=78, while sheep and goats differ by three fusions. I expected that to beat divergence outright. It doesn't. A single divergence cutoff near 8 Ma separates fertile from sterile 11 times out of 11; matched karyotype manages 10. Reported the way it came out, with a test pinning the direction so the better story can't quietly come back.

The one de-extinction that produced a live birth

The top row of that table isn't a curiosity. Goat × Pyrenean ibex is why the bucardo attempt had a surrogate at all.

The Pyrenean ibex went extinct on 6 January 2000, when a falling tree killed the last one. Cells had been banked. In 2003 a clone was implanted into goat–ibex hybrid females, and one was carried to term.

It is the only time an extinct animal has ever been born. It lived about seven minutes and died of a malformed lung.

chimaera scores that cross at 0.895 — the highest in the table, and correctly so. The cross was never the hard part. Nothing in this repo's feasibility model has anything to say about the lung, which is the whole problem: a high score means this step is not what stops you.


2. So: how much mammoth?

Take UniProt's mammoth myoglobin. Align it to the African elephant myoglobin Vow said they patched it with. Sort every residue into three buckets.

of 154 residues
distinctive — mammoth data and different from elephant 2.60% — 4 residues
mammoth data, but identical to elephant anyway 79.87%
no mammoth data at all. Pure elephant. 17.53% — the entire C-terminal third

Four residues. The mammoth meatball was 97% not-mammoth, and about a fifth of it was elephant with the label filed off.

Across 95 reconstructions in 7 extinct species, the median distinctive fraction is 1.84%. Half of every "resurrected" protein in the public record differs from its living cousin by fewer than one residue in fifty.

But — and this is what stops it being a gotcha — Campbell et al. 2010 showed that the handful of substitutions separating mammoth from elephant haemoglobin carries the entire cold adaptation. Two per cent of the residues can be the whole animal. This measures how much sequence is distinctive. It says nothing whatsoever about whether it matters.


The animals this is all about


dodo · Savery, c. 1626

thylacine · Hobart Zoo, 1928

quagga · London Zoo, c. 1870

great auk · Audubon

passenger pigeon · Audubon

woolly mammoth · mounted

Steller's sea cow · skeleton

aurochs · reconstruction

The drawings at the top of this page are mine. These are the animals.

The quagga photograph is one of only five ever taken of a living one, and the thylacine is the individual that died at Hobart Zoo in 1936, after which there were none. Both are public domain because both animals have been gone long enough for the copyright to lapse — an odd way to be reminded of the timescale this repo is measuring.

Public domain, CC0 and CC BY-SA from Wikimedia Commons, fetched by scripts/fetch_commons_images.py, with every author and licence recorded in assets/photos/CREDITS.yaml.


3. Is the ruler straight?

Fair question. Maybe this measures ancient-DNA quality rather than biology.

There's an external check available, because TimeTree knows how long ago each pair split from a completely separate body of evidence.

Nuclear r = +0.794, mitochondrial +0.617. And the natural control behaves: the aurochs is 0.05 Ma from domestic cattle, and the nuclear measurement returns exactly zero. A method that found difference there would be reporting noise.

While we're checking things — the fallback used when TimeTree has no entry is a clade-age guess, and it's worth knowing how bad that is:

Across 188 pairs: 164 within ±15%, and 163 of those are overestimates. Which is exactly what the method's own caveat predicts, since a clade's age is its deepest split. Biased, usable, and now measured instead of assumed.


4. The denominator nobody prints

Every de-extinction headline gives you a numerator. 45 genes edited. 20 edits at 14 loci. 12 genes in the woolly mouse. Out of how many?

Six mammoth proteins gave an answer so wide it carried no information (19%–81% of the proteome). So instead: fit one substitution rate across every nuclear observation at once, using the fact that a long protein is more likely to show a difference than a short one.

λ = 5.7 × 10⁻⁴ per residue per Ma, from 43 nuclear observations. Which is squarely inside the range reported for protein evolution generally — and nothing in the fit was told to land there, so that's a free sanity check.

The answer: Colossal's 45 mammoth genes represent 0.32%–0.50% of the genes expected to differ.

⚠️ The fit leans hard on one animal — Steller's sea cow supplies 32 of the 43 observations, and dropping it moves λ by 43%. But the conclusion barely budges. The rate is fragile; the answer isn't. Both facts have tests.


5. Sometimes there is nothing to copy

Here's the one I didn't expect.

Colossal edited 12 genes in the woolly mouse. FGF5 — hair length — is one of them. So I pulled every proboscidean FGF5 in the record.

271 residues. Four species. One variable site, and the mammoth isn't even the odd one out — it carries the majority allele, and the African forest elephant is the outlier.

There is no mammoth-specific FGF5 protein to copy. Editing a mouse "toward mammoth" at that gene cannot mean copying a mammoth variant, because none exists. Which independently corroborates Colossal's own statement that only 2 of the 12 genes had direct mammoth counterparts.

Then the obvious follow-up: how often is that true?

Twelve of 43 nuclear comparisons come back identical. But "identical" is only interesting when it was the unlikely outcome — a 27-residue fragment across 6.4 Ma comes back identical by arithmetic alone. So each null gets scored against a rate refitted with its own species thrown out (otherwise the sea cow would be grading its own homework). Five of twelve survive.

Extrapolate to whole proteomes and the two flagship programmes fail in opposite directions:

target divergence share with nothing to copy
mammoth → Asian elephant 6.4 Ma 41% — ~8,265 genes
thylacine → dunnart 44 Ma 6% — ~1,183 genes

The mammoth is so close to an elephant that a huge chunk of the genome offers nothing to edit toward. The thylacine is so far from a dunnart that nearly every gene differs. One edit list is short because there's little to change; the other isn't short at all. Neither is the tractable middle a headline implies.


6. The test I couldn't rig

That 41% can't be checked inside the corpus. The corpus produced it, and there is no second mammoth.

But the divergence can be matched. TimeTree puts human–chimpanzee at 6.4 Ma — the exact same median it gives mammoth–Asian elephant. Two living species, complete proteomes, no ancient DNA, no imputation, no fragments, and not a single primate anywhere in the fit.

predicted identical 26.3%
observed identical 25.7% — 9 of 35, 95% CI 14.2%–42.1%
published, all orthologues 29% (Nature 437:69, 2005)

A rate fitted entirely on degraded ancient sequence from elephants, sirenians and marsupials lands 0.6 percentage points from a living primate pair it was never shown. And the measurement independently reproduces the published figure, which checks the alignment code as well as the model.

The mechanism shows up with nothing tuned to this pair. Short proteins come back identical, long ones don't — and the exceptions are ones evolutionary biology already has names for. PRM1 is 51 residues with 8 substitutions (protamine is famously one of the fastest-evolving proteins known). RUNX2 is 569 residues and identical against 12% odds (a skeletal transcription factor under heavy constraint).

⚠️ This tests the model's mechanism, not anything mammoth-specific, and it can't: the gene set is the corpus's own, so it inherits the same bias toward short, abundant, well-conserved proteins.


7. Somebody already patented a mammoth

A sequence listing is part of a legal claim. So a granted patent naming an extinct species is asserting something about that species. I checked twelve extinct taxa.

Exactly one real hit: US 12478079 B2, granted 2025-11-25, "Compositions comprising a casein." A precision-fermentation dairy patent whose 66-sequence listing spans 20 species, from sperm whale to echidna to woolly mammoth.

Not for de-extinction. For cheese.

Run the same decomposition on it and both patented mammoth caseins show zero amino-acid substitutions against the elephant caseins in the same document. Casein is intrinsically disordered and weakly constrained — caseins differ noticeably even between close relatives. Zero substitutions across 6.4 Ma is not what divergence looks like.

Two other things the survey turned up: the aurochs "hits" are artefacts (the peptides start with GRKKRRQRRR, the HIV-1 Tat tag — they're engineered constructs, and Bos primigenius also names domestic cattle), and Colossal's most-publicised animal, the dire wolf, has zero protein sequences in UniProt, NCBI, and the patent literature.


8. Fine — but what would it taste like?

This repo opens by asking how much mammoth was in the mammoth meatball. Here is the other half of that question, which nobody asked either.

Vow's meatball was sheep muscle cells expressing one mammoth protein, grown in a bioreactor. Run that exact construct through the flavour model:

sheep, farmed the meatball
myoglobin (bloody) 6.0 6.5
BCFA (mutton) 9.0 0.45
Maillard (roast) 6.0 2.7
reads as mutton, sheepy, bloody, roast bloody, roast, fishy, green

The mammoth gene buys +0.5 on one axis — which is what 2.60% of one protein gets you. Meanwhile the bioreactor collapses branched-chain fatty acids from 9.0 to 0.45, and BCFA is the compound class that makes lamb taste like lamb.

The mutton note doesn't survive, and no mammoth note arrives.

There is a trap in the arithmetic here, and I walked into it. Summed across all seven traits the meatball is closer to mammoth than farmed sheep is — which sounds like the transgene working. It isn't. Sheep sits far from mammoth largely because of its BCFA, so destroying the BCFA closes the gap. Over 90% of the movement toward mammoth comes from stripping out the sheep; under a tenth comes from the mammoth gene. A test asserts that split, because the aggregate number on its own tells the flattering version.

The same trap, with the sheep taken out

Same mammoth genome, farmed versus cultivated. Myoglobin: unchanged at 8.5. Branched-chain fatty acids: 2.0 → 0.1. Maillard precursors: 6.0 → 2.7.

A bioreactor has no rumen and no post-mortem glycolysis. The flavour was never only in the genome — and an extinct animal can only ever be cultivated. You cannot get the farmed column back.

Five dishes people have actually heard of


turducken

beef Wellington

cassoulet

duck à l'orange

prosciutto e melone

Turducken first. Chicken inside duck inside turkey — the most elaborate composite dish anyone actually eats, three species in one object, and the model scores it 1.000. A pure physical blend, so evolutionary distance costs nothing at all. Nothing genetic comes anywhere near that easy.

The other four are pairings, each prepared twice.

dish plated fused lost
lamb-and-beef kofta 6.5 2.7 −3.8
beef Wellington 6.8 3.2 −3.6
cassoulet 6.2 2.7 −3.5
duck à l'orange 5.4 2.9 −2.5
pork with apple 4.8 2.7 −2.1
prosciutto e melone (raw) 3.4 2.7 −0.7

Every cooked dish loses its roast, including the ones with no fruit in them.

The last row is the point. Prosciutto e melone is the control: it is served raw. If fusing simply carried a flat penalty, it would pay the same tax. It loses 0.7 where the cooked dishes lose 2.1 to 3.8 — because what fusing actually costs you is the cooking. A fused product has to be grown, and a bioreactor has no Maillard chemistry to lose in the first place. That is the difference between a mechanism and an artefact, and a test enforces it.

The kofta is worth a second look too. Sheep carrying beef myoglobin is the same shape as sheep carrying mammoth myoglobin, and it loses "mutton, sheepy" the same way. So the meatball result is about cultivation, not about mammoths.

And how much cultivated meat can you actually taste?

product cultivated cells myoglobin
farmed beef 100% 8.0
Aleph Thin-Cut Steak (2026) 15% 1.20
Meatly pet food (2025) 4% 0.32
GOOD Meat 3 (2024) 3% 0.24

Myoglobin is what makes meat read as meat, and in a blend it scales with mass fraction — so a 3% product carries 3% of beef's. That is arithmetic and holds whatever the rest is made of. Every cultivated product ever sold sits in the flat part of that curve.

⚠️ The crossover where a meat note finally leads comes out near 54%, and that number is soft: apple is the only plant in the corpus and is far more aromatic than the soy and pea protein real products use.

The original pairing

Same trap, different dish. What if you fused an apple and a pig?

stewed together fused (apple ester genes in pig cells)
esters (fruity) 2.8 6.4
Maillard (roast) 4.8 2.7
reads as roast, savoury, soft fat fruity, apple, soft fat

The fruit arrives and the roast leaves with it, because a fused product has to be grown rather than slaughtered. You cannot fuse your way to the dish.

The uncomfortable part of a flavour model is that its predictions are mostly uncheckable — the animals are gone. Except that some of them were eaten by people who wrote it down.

⚠️ And this is explicitly not offered as validation. The baselines were written by someone who had already read the testimony, so the agreement is circular and says so. A test enforces preregistration for everything added from here on.


9. And what would it look like?

Say "fish crossed with a bird" and everyone pictures roughly the same creature.

an imagined fish-bird chimera
What people picture
what the model predicts
What the model predicts

Transfer every gill gene a fish has into a bird and the gill axis barely moves. Amniotes kept the pharyngeal arches and most of the patterning genes, and they still have no gills — because what was lost is the downstream competence, not the instruction. The dashed outlines are what the transfer doesn't produce.

⚠️ Both drawings are original. This package is named for the Warhammer god of change because that is the register people imagine chimeras in — but there is no Games Workshop artwork here and there will not be. It is theirs, and a credit line would not make redistributing it acceptable. The name and one drawing in that spirit is the whole of the reference.

This isn't a hunch. It's the best-documented case in the field:

The same four enamel genes close 41% of the distance to the donor in a mouse and 7% in a chicken. Restore the competence first and the chicken jumps to 23% — from two genes that build no enamel whatsoever.

a talpid² chicken embryo with conical teeth
The one that worked. Harris et al. 2006 got archosaurian teeth in a chicken — with no tooth gene supplied and no fish involved. A mutation restored competence the lineage had switched off, and the programme still ran, ~70 million years after birds last used it. The embryos don't hatch.

A chimera generator that grants every requested trait would be worthless. The value is in the refusals.

There's also a natural controlled experiment sitting in the data — two extinct birds from the same family that differ in essentially one thing:


Five things I got wrong

Left in on purpose. A repo that only shows its wins is telling you less than it looks like — and in two of these five, the mistake is what produced the result.

1. Ambiguity codes counted as differences. Seven of Steller's sea cow haemoglobin's twenty-four "substitutions" were the letter X. Scoring those as differences credits an extinct animal with information nobody has. Caught by sanity-checking an outlier that looked too good.

2. Rate-limiting silently destroyed a dataset. A throttled UniProt run overwrote a 67-pair index with 21 pairs, without an error. Now: retry with backoff, a distinct exception for transport failure, and the writer refuses to shrink the dataset without --force.

3. Compartment classification was wrong in both directions at once. It used gene-symbol prefixes. ATP7 is a nuclear copper transporter that the ATP prefix called mitochondrial; NADH5 and NADH6 are mitochondrial ND5 and ND6 that don't start with ND, so they were counted as nuclear. The errors cancelled each other, which is how they survived. Fixing them moved the headline numbers by 2–3% — and took the nuclear external correlation from +0.276 to +0.794, because one misfiled gene had been dragging the whole trend apart. Nobody went looking for that; it fell out of listing gene symbols for something else.

4. I overstated the FGF5 claim. With only one pairwise comparison it looked as though the mammoth carried a phylogenetically diagnostic state — which would have proved the sequence was genuinely read rather than imputed off an elephant. Adding the fourth sequence killed that argument: mammoth carries the majority allele, which diagnoses nothing. The failed argument is preserved in the data file rather than deleted, and a test asserts it's still there.

5. The cross operator missed its own calibration point by 3×. Its anchor said "halving at 4 Ma puts the mule at the midpoint" — but horse and donkey are 11.1 Ma apart, so the mule came out at 0.146 instead of 0.5. The model was calling a registered commercial breed implausible. It survived because every test I had written checked the model against itself; nothing checked it against an animal you could go and look at. The fix is in data/feasibility.yaml with a correction: field next to the number, because the number is what a reader sees.


House rules

  • No unsourced predictions. Every claim carries an evidence chain with weakest-link confidence. Speculative output is withheld by default.
  • Calibration lives in YAML, not code, next to the precedent it's derived from. Disagree with a result, find the assumption in one file.
  • Negative controls that can actually fail. The testimony validator has tests proving it returns INCONSISTENT when it should. A check that cannot fail proves nothing.
  • Circularity gets flagged, not buried.
  • When a modelling choice can't be settled, both options get reported — and the default is the conservative one, the one that weakens this project's own claim.

Try it

git clone https://github.com/koriyoshi2041/anistrang.git
cd anistrang
pip install pydantic pyyaml biopython matplotlib numpy pytest

for p in chimaera walghvogel tzeentch; do
  (cd projects/$p && PYTHONPATH=.:../chimaera python3 -m pytest -q)
done

# recompute the headline number from UniProt
cd projects/chimaera
python3 scripts/fetch_sequences.py        # UniProt → local cache
python3 scripts/analyse_provenance.py     # align and decompose
python3 scripts/make_figures.py           # all nine figures

Layout

anistrang/
├── de-extinction-and-cultivated-meat-2026.md    the research report
├── docs/reference-repos.md                guide to 8 cloned open-source projects
├── scripts/clone-reference-repos.sh       fetch those 8 (gitignored, ~213 MB)
└── projects/
    ├── chimaera/      composition engine · provenance · saturation
    ├── walghvogel/    flavour channel
    └── tzeentch/      morphology channel

Each package has its own README with the full method, the caveats, and the places its conclusions don't hold: chimaera · walghvogel · tzeentch

The pick of the reference repos is a GFI-funded notebook that replicates Humbird's techno-economic analysis — the most-cited sceptical paper in cultivated meat, reproduced with money from the field's main advocacy group. You can re-run it with your own assumptions.

License

licence
source code MIT
data, figures, illustrations, prose CC BY 4.0 — attribution required
assets/photos/ each file under its own Wikimedia Commons terms, see CREDITS.yaml

About

How much mammoth is actually in a mammoth meatball? De-extinction and cultivated meat: a fact-checked report, plus three packages that compute the numbers nobody published.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages