Charles Darwin’s On the Origin of Species is a long book. It contains exactly one picture. Not a picture of a finch, a fossil, or a beetle. It’s a diagram of a branching tree.
That tells us something. Darwin believed the deepest truth about living things was their family history. Every creature alive today, he argued, is a twig on one enormous tree, and if we trace the branches back far enough, we’ll reach a single trunk—one original ancestor for all life on earth.
For more than 150 years, that tree has been the centrepiece of the evolutionary argument. School textbooks print it. Museums build exhibits around it. And when anyone questions evolution, the tree is usually the first thing trotted out: Look at the pattern. Living things sort neatly into groups inside groups. Only shared ancestry can explain that.
Here’s what’s remarkable. Over the last 30 years, as scientists began reading entire genomes, the tree has begun to misbehave. Different genes tell different stories. Whole branches refuse to sit still. And the scientists reporting all this weren’t creationists—they were leading evolutionary biologists.
In 2018, computer scientist Winston Ewert proposed something bold. What if the pattern of life isn’t a tree at all, but something software engineers see every day—a dependency graph? And what if that model fits the actual data better?
This post explains the problem, explains Ewert’s answer, tests it honestly against the strongest objections, and asks what it all means for creationists, who believe all things were made by one wise Author.
First, what does the “tree of life” actually claim?
Before we can weigh the evidence, we need three terms clear in our heads.
THREE KEY TERMS
Common descent. The claim that all living things are physically descended from one original ancestor, the way all cousins descend from one set of grandparents. “Universal common descent” means this is true of every organism without exception, from bacteria to blue whales.
Nested hierarchy. A pattern of groups inside groups, with no overlap. Think of postal addresses: your house sits inside a street, which sits inside a city, which sits inside a state. A house never belongs to two cities at once. Biologists say living things sort the same way—cats inside carnivores, inside mammals, inside vertebrates.
Gene tree. A family tree built from one single gene, compared across many species. If you build a gene tree from Gene A and another from Gene B, and both are simply recording the same family history, the two trees should match.
Now the argument in its strongest form. If living things really did branch from common ancestors, one generation at a time, the results must be nested. Descent produces branching, and branching produces groups inside groups. Nothing else, evolutionists argue, would produce that pattern. So the nested hierarchy isn’t merely consistent with common descent; it’s predicted by it.
That is a genuinely powerful argument, and any alternative model has two jobs to do. It must explain the deviations from the pattern—and it must explain why the pattern is there in the first place. Most design arguments only do the first job. Ewert’s model attempts both.
The problem the textbooks don’t advertise: conflicting gene trees
When biologists could only compare bones and body shapes, the tree looked tidy. When they began comparing thousands of genes, it stopped looking tidy. Here’s the trail of discovery.
A timeline of trouble
- 1999—the first serious warning. W Ford Doolittle, a molecular biologist, argued in Science that the history of life simply cannot be properly represented as a tree. He wasn’t attacking evolution, only arguing the standard picture of it was wrong.
- 2003—one gene, one tree, many trees. Antonis Rokas and colleagues published in Nature a study of 106 genes across eight species of yeast. Individual genes supported conflicting family trees, and no single gene on its own recovered the tree that the combined data gave. Eight closely related species of yeast—and yet, 106 genes couldn’t agree.
- 2006—the bushes. Antonis Rokas and Sean Carroll published a paper in PLoS Biology on “bushes” in the tree of life. At many important points, they argued, the data don’t resolve into neat branches at all, but rather, into an unreadable bush.
- 2006—the tree of 1%. Tal Dagan and William Martin argued in Genome Biology that for single-celled organisms, only a tiny fraction of genes yield a consistent tree. The title said it: a tree of about 1% of the genome.
- 2009—two different things. Eric Bapteste and a group of co-authors argued in Biology Direct that prokaryotic evolution and the tree of life are two different subjects, and should stop being treated as one.
- 2013—convergence at the molecular level. Joe Parker and colleagues reported in Nature that bats and dolphins, which both use echolocation but aren’t close relatives, show matching genetic signatures across roughly 200 locations in the genome. Similar solutions had appeared independently—which means genes can mislead tree-builders badly.
- 2014 and 2015—the birds. Erich Jarvis led one genome-scale study of bird relationships; Richard Prum led another. Both used enormous amounts of data. They produced trees that contradict each other.
- 2017—a handful of genes decides. Xing-Xing Shen, Chris Todd Hittinger and Antonis Rokas showed some hotly contested relationships in the tree flip depending on just a few genes out of thousands. So much for “the genomes have settled it”.
- Ongoing—the animal root. Which animals branched off first, sponges or comb jellies? The answer changes depending on which genes are sampled and which statistical model is used. Casey Dunn’s team, Davide Pisani’s team and Darrin Schultz’s team have all weighed in, and the question is still live.
Add to all this the orphan genes. Diethard Tautz and Tomislav Domazet-Lošo have documented that every genome sequenced so far contains genes with no detectable relatives anywhere else in life. On a tree, every gene should have cousins. Many simply do not.
The rescue mechanisms—and why they’re the real issue
Evolutionary biologists aren’t embarrassed by these findings, because they have explanations. It’s important to state them fairly, because each one is scientifically legitimate.
| THE RESCUE MECHANISM | WHAT IT MEANS IN PLAIN ENGLISH |
|---|---|
| Horizontal gene transfer | A gene jumped sideways between unrelated organisms instead of being inherited from a parent. |
| Incomplete lineage sorting | Gene versions already varied in the ancestral population, so genes and species split in different orders. |
| Differential gene loss | The gene was inherited by everyone, then independently lost by many groups—leaving a patchy distribution. |
| Hidden paralogy | We’re accidentally comparing two different copies of a gene and treating them as one. |
| Long-branch attraction | A known statistical artefact that makes fast-changing lineages look falsely related. |
| Convergent evolution | The same solution arose twice independently, creating false signals of kinship. |
Now here’s the point. Not one of these mechanisms is invented. Each is real and observed. The difficulty is cumulative, not individual. When every departure from the tree has a rescue mechanism waiting for it, the tree stops working as a prediction that could be tested and starts working as a framework.
THE HONEST PROBLEM
The data are not random. Biology really does look substantially tree-like—far more than chance would produce. Concatenating many genes together often does recover a stable, sensible tree.
So the question isn’t “tree or chaos?” But this: what kind of process produces a pattern that’s mostly nested but persistently violated? Any serious design model has to answer that. Simply pointing at the anomalies isn’t an answer.
Winston Ewert’s proposal: life as a dependency graph
Winston Ewert holds a PhD in computer science from Baylor University, where he studied under Robert J. Marks II. He is a software engineer by trade and a senior fellow at the Discovery Institute’s Center for Science and Culture. In July 2018 he published a 27 page paper in journal, BIO-Complexity titled “The Dependency Graph of Life”.
WHAT’S A DEPENDENCY GRAPH? (THE IDEA IN ONE PICTURE)
Imagine three programmes: a web browser, a banking app and a video game. All three need to compress data, so all three use the same compression module. All three need secure connections, so all three use the same security module.
Now draw arrows from each programme to the modules it uses. What you get isn’t a family tree. The programmes didn’t descend from one another. They share code because one designer wrote a useful module once and plugged it in wherever it was needed.
That structure is called a dependency graph: a network of things depending on other things, with the arrows all running one way. Engineers work with these every single day.
Ewert’s hypothesis: living things share genes in much the same way. Genes come in gene families—clusters of related genes doing a related job. Treat each gene family as a reusable module, and species as products that draw on those modules.
This immediately explains both halves of the puzzle:
- Why the pattern looks nested. If modules are organised in layers, with broad, foundational modules used by everything and specialised modules used by narrower groups, the result will look strongly hierarchical—just as it does.
- Why the nesting keeps breaking. Wherever a designer reuses a module across the hierarchy—giving the same functional solution to two unrelated creatures that need it—the neat nesting is violated. On the tree model that violation is an anomaly requiring rescue. On the graph model it is simply what reuse looks like.
What Ewert actually tested
Here’s where the paper is genuinely unusual. Ewert didn’t merely tell a story. He built a mathematical model, built a rival mathematical model of the standard tree, and let the data choose between them.
- The data. Not DNA sequences, but which species have which gene families at all—present or absent. He took this from nine public databases built by mainstream biologists, not by him.
- The method. Bayesian model comparison. He used flat starting assumptions to keep bias to a minimum, and followed a rule called Dollo parsimony: each gene family begins only once, whether on a branch of the tree or inside a designed module.
- The comparison. For each database he asked one question: which model better explains where the gene families actually turn up—the standard tree of life, or a dependency graph?
WHAT IS A BAYES FACTOR?
A Bayes factor is a number that tells us how much better one model explains the evidence than another.
It also penalises complicated models. A model with lots of flexibility can easily be adjusted to fit the data. The mathematics therefore gives such models a penalty for being so flexible.
This is important when comparing a design model with other explanations. The objection is often: “A designer could do anything, so the design explanation can explain everything—and therefore nothing.” A Bayes factor takes the model’s flexibility into account rather than simply giving it a free pass.
Bayes factors are often measured in bits. As a rule of thumb, about 3.3 bits is already considered strong evidence for one model over another. Keep that number in mind.
The results weren’t marginal. In all nine databases, the dependency graph model was preferred—and by margins that are difficult to take in.
| DATA SET | HOW STRONGLY THE DEPENDENCY GRAPH WAS PREFERRED OVER THE TREE |
|---|---|
| HomoloGene (the weakest result of the nine) | about 10,064 bits |
| The other eight databases | roughly 40,967 to 515,450 bits |
| Threshold usually treated as “strong evidence” | about 3.3 bits |
Read that table again slowly. The worst result for the dependency graph was thousands of times past the threshold at which statisticians normally say a matter is settled.
Why does the tree model lose so heavily? Because of gene loss. To explain a gene family that appears in two distant groups but is missing from everything in between, the tree must posit the gene was present in the common ancestor and then independently thrown away, over and over, in lineage after lineage. Multiply that across thousands of gene families and the bookkeeping becomes staggering. The graph model needs none of it: one module, reused where it was needed.
The software analogy—its power and its limits
Analogies persuade because they make an abstract idea concrete. They mislead when we forget where they stop. So let’s do both jobs.
Where the analogy helps
- Shared software libraries. Two programmes made by the same company may use the same spell-checking code without one being descended from the other.
- Car platforms. Volkswagen’s MQB platform is used in Volkswagen, Audi, Skoda and SEAT cars. The vehicles look different and serve different markets, but share the same basic architecture. Assuming that shared parts always mean shared ancestry would lead to a nonsensical family tree of cars.
- Software packages. When we install software, we often see the message, “This requires these other packages.” These relationships form a dependency network, not a simple family tree.
What the analogy predicts—and could get wrong
A model earns scientific respect by risking failure. Here’s what the dependency graph model expects, and what would embarrass it:
| QUESTION | WHAT THE TREE MODEL EXPECTS | WHAT THE DEPENDENCY GRAPH EXPECTS |
|---|---|---|
| Why do distant species share a gene family? | They inherited it from a shared ancestor, and it was lost in between. | The same module was reused because the same function was needed. |
| What predicts which species share modules? | Ancestry, and ancestry only. | Ancestry-like layering, plus functional and ecological need. |
| What would count against the model? | A pattern with no meaningful hierarchy at all. | Reuse that tracks ancestry perfectly and never tracks function; or module boundaries that carve across coherent functions arbitrarily. |
Where the analogy stops
- Organisms reproduce; code doesn’t. Programs do not have offspring. Living things do. So descent is genuinely happening in biology in a way it never happens in software.
- This challenges universal common descent, not descent as such. Nobody disputes that your dog descends from earlier dogs. The question is whether one unbroken chain of descent connects dogs to daffodils.
- Intelligent design is a broad tent. Michael Behe, one of the movement’s best-known figures, accepts common descent while arguing undirected natural selection cannot build molecular machinery. Ewert’s model is one proposal within a larger conversation.
Answering the strongest objections
A watertight case isn’t one that avoids hard questions. It’s one that goes looking for them.
Objection 1: “Design predicts nothing—it just explains whatever we find.“
This is a common objection and, against sloppy design arguments, it often lands. But it doesn’t land here. Ewert defined his model mathematically before testing it, so the results could have gone against his prediction. Bayesian comparison also penalises models that are too flexible. So a vague claim that “a designer could do anything” really does predict nothing. A clearly defined design model is different.
Objection 2: “Human artefacts don’t form nested hierarchies, so the analogy fails.“
This objection isn’t as decisive as it may seem. Designed objects often show messy, overlapping similarities rather than a neat family tree. Interestingly, that’s what genome-scale biology has found: biological relationships aren’t always cleanly nested. So the objection may actually weaken the claim that a clean nested hierarchy is required for design.
Objection 3: Shared mistakes—the hardest problem
This is the objection we take most seriously, and it isn’t easily dismissed.
Some shared features look less like reused tools and more like shared errors. Humans and other primates, for example, have broken copies of the GULO gene, which functioning animals use to make vitamin C. The breaks occur in corresponding places. Endogenous retroviruses—viral DNA embedded in genomes—also appear at matching locations in different species. Processed pseudogenes can look like accidental copies.
Reusing a useful design feature makes sense. But copying the same mistake into unrelated organisms is much harder to explain by design.
Three things need saying honestly:
- Ewert’s model is largely silent here. It analysed presence and absence of functional gene families. It wasn’t designed to address shared broken sequences, and it doesn’t.
- Design advocates have responses, of varying strength. Some point to research finding regulatory functions for particular retroviral sequences. Others point to insertion hotspots—regions where viruses preferentially insert, which would produce matching positions without common ancestry. Others accept limited common ancestry within groups and locate these patterns there.
- None of this is settled, and we don’t pretend it is. This is a live area of research and a genuine pressure point on the young-earth and separate-ancestry positions.
Objection 4: “Ewert’s version of the tree model was a straw man.“
Critics argue Ewert’s tree model was too simple. For example, it didn’t fully account for horizontal gene transfer, differences in the rate at which genes are lost, or errors in genetic sequencing and annotation. Computational biologist Joshua Swamidass points out that even within a single species—where common ancestry is certain—genetic data are far from tree-like.
These are serious criticisms. First, if imperfect tree-likeness doesn’t count against common descent, it’s fair to ask why evolutionary studies routinely measure how closely their data fit a tree and then prefer the best-fitting tree. We shouldn’t treat the tree as a strong prediction when it works and as no prediction at all when it doesn’t.
Second, if Ewert’s model is too simple, the answer is to build a better model and test it again. That’s how science normally progresses. Ewert’s work provides a starting point for doing exactly that.
Objection 5: “BIO-Complexity is an intelligent design journal.“
That’s true. BIO-Complexity is a small, peer-reviewed journal that’s sympathetic to intelligent design. But that doesn’t make Ewert’s argument wrong.
Ewert used data from mainstream genetic databases and a standard method of Bayesian model comparison. His approach and code can be examined and challenged. If the analysis is wrong, the strongest response is to show where the mathematics or reasoning fails. Rejecting an argument simply because of the journal in which it appeared isn’t good science. Let’s judge an argument by its evidence and reasoning, not by its letterhead.
The deeper question: one Author, one architecture
Step back from the statistics for a moment, because something important is happening underneath them.
Why would we expect reused modules across unrelated creatures? Because that’s what one mind building many things does. Scripture isn’t shy about naming that mind. Colossians 1:16-17 (ESV) says of Christ: “For by Him all things were created, in heaven and on earth, visible and invisible, whether thrones or dominions or rulers or authorities—all things were created through Him and for Him. And He is before all things, and in Him all things hold together.”
Notice the last phrase. Not merely made by Him, but held together in Him. A shared architecture running through unrelated creatures is precisely what we’d expect if one Word upholds them all.
And the reuse isn’t laziness. Psalm 104:24 (ESV) says: “O Lord, how manifold are your works! In wisdom have you made them all; the earth is full of your creatures.” Wisdom, in Scripture, is skill—the craftsman’s competence. A wise builder reuses what works and varies what needs varying. That’s not sloppiness or shortcut.
AN ILLUSTRATION CLOSE TO HOME
We already hold a document that works like a dependency graph. The Bible is 66 books, written across centuries by many human authors in three languages and a dozen genres. And the same modules appear everywhere: exodus, temple, sacrifice, exile and return, wilderness and rest, the suffering servant.
Micah didn’t inherit the exodus motif from Hosea by literary descent. Both drew on it because one Author was building one structure and reusing what served it. Nobody reads Scripture and concludes Leviticus is the great-grandfather of Hebrews. We recognise a designing hand reusing good material.
That’s exactly the inference Ewert is asking us to consider about the genome.
The creationist “orchard” and why it fits
There’s also an interesting connection with work by creationist biologists. Genesis repeatedly speaks of creatures being made according to their kinds. Building on this idea, Kurt Wise and Todd Wood developed what’s often called the orchard model: not one universal tree of life, but many separate trees, each beginning with a created kind. There can be real branching and descent within each tree, but no common ancestry connecting all the trees.
An orchard, combined with the idea that different organisms can share reused biological modules, looks structurally like a dependency network. Interestingly, two very different approaches—one based on Genesis and comparative biology, the other on software engineering and Bayesian statistics—point toward a similar kind of structure. That convergence is worth serious consideration.
THE ONE-PARAGRAPH SUMMARY (IF YOU REMEMBER NOTHING ELSE)
Evolutionary biology predicted genomes would reveal one clean tree. Genomes have revealed something messier: mostly hierarchical, persistently broken, held together by a growing set of rescue mechanisms. Winston Ewert modelled the alternative that software engineers live inside every day—reusable modules assembled into a dependency graph—and across nine mainstream databases that model fitted the data far better than the tree. The shared-mistakes evidence remains a real and unresolved challenge. But the confident claim that only common ancestry can explain the pattern of life is no longer safe, and Christians may say so without embarrassment.
Conclusion: the shape of the evidence
Darwin drew a tree because he believed history was the deepest explanation of a living thing.
30 years of genome sequencing haven’t delivered the tree. They’ve delivered something that looks far more like architecture: layered, modular, hierarchical in places and cheerfully unhierarchical in others. Engineers recognise the pattern instantly, because they build it.
We should hold this evidence with an open hand. Models will be refined and some arguments in this post will be improved upon or corrected. But we hold the Author with a closed one. “In wisdom have you made them all” was true before anyone sequenced a genome, and it will be true when the last database has been rebuilt.
Frequently Asked Questions
Who is Winston Ewert, and is he a biologist?
He’s not. Winston Ewert is a software engineer with a PhD in computer science from Baylor University, where he worked under Robert J. Marks II, and he is a senior fellow at the Discovery Institute’s Center for Science and Culture. His paper compares how well two mathematical models account for a published data set. That’s squarely within a computer scientist’s competence, and much modern phylogenetics is itself done by people trained in computation rather than in dissection. The right test of the paper is whether its mathematics is sound and its data honestly used—not whether its author owns a microscope. If the modelling is flawed, a biologist or statistician can demonstrate exactly where.
Is BIO-Complexity a real peer-reviewed journal?
Yes, with qualifications that we should name rather than dodge. BIO-Complexity is peer-reviewed and openly accessible, but it’s small, publishes few papers, and was founded by scholars sympathetic to intelligent design. Mainstream biologists generally don’t regard it as a leading venue. One thing follows. Nobody should treat publication venue as a substitute for reading an argument. Ewert’s data came from mainstream databases and his method is standard Bayesian model comparison used across many fields.
Does the dependency graph model require belief in a young earth?
No. This is a point of confusion worth clearing up. Ewert’s model concerns the pattern of gene family distribution, not the age of the earth or the timescale over which anything happened. A young-earth creationist can adopt it comfortably. So can an old-earth creationist. So, in principle, can someone who accepts a very long history but denies that a single unbroken chain of descent links all organisms.
If humans and chimpanzees share around 98% of their DNA, does that not settle common ancestry?
The figure is often quoted more confidently than the underlying data warrant, because the percentage depends heavily on what is being compared and which regions are included; estimates shift when insertions, deletions and hard-to-align regions are counted. But suppose the number is broadly right. Similarity by itself doesn’t identify its own cause. Two cars from the same manufacturer share most of their parts because one designer built both, not because one is the parent of the other. Shared design and shared descent both predict similarity, so similarity alone cannot decide between them. The deeper Christian objection is different anyway. Scripture doesn’t locate human uniqueness in a genome. Genesis 1:27 (ESV) grounds it elsewhere: “So God created man in his own image, in the image of God he created him; male and female he created them.” The image of God is a matter of standing, calling and relationship to the Creator, and no percentage of shared sequence adds to it or subtracts from it.
Why do we share genes with yeast, bananas and bacteria?
Because we’re all doing many of the same jobs. Every living cell must extract energy, copy DNA, build proteins, control what passes through its membrane and repair damage. The genes involved in that basic machinery are shared very widely. On a tree model, this shared core is inherited from a universal common ancestor. On a dependency graph model, it’s a foundational set of modules used by everything, in the same way that nearly all software depends on a small number of core libraries.
Is “common design” just intelligent design under a different name?
They overlap but aren’t identical, and the distinction is worth keeping. Intelligent design is the broader claim that certain features of nature are better explained by an intelligent cause than by undirected processes; it says nothing necessarily about how organisms are related to one another. Common design is the narrower claim that shared features between species are explained by a shared designer rather than by shared ancestry. That’s why intelligent design advocates disagree among themselves. Michael Behe accepts common descent while arguing that natural selection cannot produce molecular machines. Winston Ewert’s model challenges universal common descent directly.
Does rejecting the tree of life mean rejecting natural selection and speciation altogether?
Not at all, and Christians who suggest otherwise make our position look ridiculous. Natural selection is observable and uncontroversial: bacteria develop antibiotic resistance, moth populations shift colour, finch beaks change with drought. Speciation—populations diverging until they no longer interbreed—is likewise observed. What’s disputed is the extrapolation: whether these processes, given enough time, account for the origin of genuinely new body plans, new organs and new information-rich systems, and whether one unbroken chain of descent connects every organism that has ever lived.
The orchard model developed by creationist biologists such as Kurt Wise and Todd Wood grants a great deal of change and diversification within created kinds. The disagreement is about boundaries and mechanisms, not about whether living things change.
Related Reads
- Common Descent or Common Design: Which Explains Life’s Unity?
- Does Similarity Prove Common Ancestry? The Homology Problem
- When Similarity Proves Nothing: Convergent Evolution and the Case for Common Design
- Can Random Mutations Create New Genes?
- The Cambrian Explosion: Why the Fossil Record Runs Top-Down
- DNA Evidence for Intelligent Design: New Challenges for Evolution
- Are Similarities Between Species Best Explained by Evolution?
- Irreducible Complexity: A Compelling Case for Intelligent Design

