Getting Past The Simplified Biology Textbook Version Of Cellular Life
The three-domain system still holds up in most intro courses, but if you have spent any real time looking at phylogenetic data, the boundary between prokaryotes and eukaryotes starts looking a lot messier than textbooks suggest. This matters because misreading where one domain ends and another begins leads to actual mistakes in experimental design, database searches, and interpreting genomic results. I am not going to rewrite evolutionary theory here. What I will cover is what actually shows up when you look at real sequence data and how to work with it without getting tripped up by edge cases that nobody warns you about. Horizontal gene transfer between prokaryotic lineages is now documented across thousands of gene families, and the impact on eukaryotic genomes is far more significant than anyone taught in standard programs. Mitochondria and plastids originated from endosymbiotic bacteria, which is textbook material, but the ongoing movement of genetic material across domains goes well beyond those classical events. There are documented cases of bacterial genes integrated into nuclear genomes of eukaryotes that remain functional and expressed. You find this in plants, animals, and fungi depending on the clade. The phylogenetic signal in individual gene trees sometimes places eukaryotic sequences nested within bacterial clades, and that is not always an artifact of incomplete lineage sorting or poor alignment.
When I first started working through this problem in a project, I ran a standard BLAST search followed by MAFFT alignment and RAxML tree building on a dataset of metabolic genes from a newly sequenced soil sample. The resulting tree placed several expected eukaryotic sequences inside a Proteobacteria clade with strong bootstrap support. My initial reaction was to blame contamination or misassembly. It turned out that at least some of those hits were genuine lateral transfers that had been there all along. I spent about three days chasing that rabbit before finally running a composition bias test and checking for codon usage deviation against the surrounding genomic context. The workable approach was to separate out horizontally transferred genes using Alien Hunter, filter them from the primary alignment, and then rebuild the tree with the remaining conserved markers. That single step changed the topology enough to resolve the conflict without discarding the data entirely. The most frustrating part of dealing with cross-domain sequence overlap is that standard reference databases contain mislabeled or chimeric entries that compound the confusion. NCBI RefSeq has improved substantially, but older entries still circulate, and GenBank continues to accept submissions with questionable taxonomy assignments. When you are building a custom reference set from scratch, you end up spending more time cleaning data than running analyses. Another issue is that short-read assembly collapses in regions with high repeat content, which happens frequently in genome regions flanking inserted mobile elements. If you are trying to confirm a horizontal transfer event in a eukaryotic genome, short reads alone often cannot give you the flanking context needed to distinguish a true integration from a sequencing artifact. Paired-end reads with insert sizes above two thousand base pairs help, but the reliable workaround is long-read validation with Oxford Nanopore or PacBio. I usually target the putative insertion site with a primer panel and run amplicon sequencing on a MinION. It takes roughly four hours from library prep to basecalling, and it resolves ambiguities that assemblies leave hanging.
Gene tree versus species tree discordance is unavoidable when lateral transfer is active. A single gene tree will not reliably reflect organismal relationships in these cases. The standard multilocus approach helps only if you exclude the problematic genes first. Tools like PhyloMagnet and T-REX can identify transfer events, but they require you to set appropriate thresholds manually. Default parameters tend to overcall transfers in fast-evolving lineages and undercall them in conserved ones. I generally test multiple cutoff values and compare the resulting sets rather than trusting any single run. Alignment quality remains a persistent bottleneck. Auto-alignment programs produce garbage in conserved regions with high divergence across domains. Manual refinement in AliView or similar editors is slower but often necessary. The time tradeoff is real: roughly forty-five minutes of manual curation per alignment can save you from publishing an incorrect topology. I stopped skipping that step after I lost a week to a poorly aligned ribosomal protein dataset.
Get the Full Details

Practical Workflow For Working With Cross-Domain Signal
Start by defining your gene set. Use BUSCO or OrthoFinder to pull conserved single-copy orthogroups from your target organisms. Filter out orthogroups with unusually high within-group divergence before alignment. Run MAFFT with the iterative refinement option enabled, then trim with trimmator or BMGE. Build an initial species tree from the concatenated alignment using IQ-TREE or RAxML, recording per-gene log-likelihoods for later comparison. Identify outlier genes with AU tests or SH tests to flag potential horizontal transfers. Remove or analyze those separately. Rebuild the species tree from the remaining conserved genes. This process typically reduces runtime by half compared to including every gene in the first concatenation, since outlier genes often force alignment software into slower modes. Nothing fully resolves the problem of ancient transfer events that predate the deepest splits in the tree. Composition bias, incomplete sampling, and limited taxon coverage mean that some signals will remain ambiguous regardless of the method you apply. Bayesian approaches with site-heterogeneous models like CAT in PhyloBayes reduce artifacts caused by GC bias, but they are computationally expensive and often impractical for large datasets exceeding five hundred taxa. Maximum likelihood methods with LG or WAG matrices run faster but occasionally produce misleading groupings when base composition varies strongly across the input sequences. The most honest answer is that the prokaryote-eukaryote boundary is better understood now as a porous interface shaped by continuous genetic exchange rather than a clean separation. Treating it as anything else in analysis leads to incorrect conclusions. The practical takeaway is to design workflows that explicitly account for lateral transfer instead of assuming vertical inheritance dominates every signal in your data.