Imagine one day you decide to wear the wrong size of shoes, one week later you end up dead. Crazy, right? Well, this was a reality a century ago, just before antibiotics. Antibiotics can save us from potentially deadly situations, even as tiny as an infected blister in your toe. Nevertheless, this might change in the future. Bacteria have found ways to cheat and avoid being killed by them. One of them is called Horizontal Gene Transfer, which is an evolutionary phenomenon in which bacteria share the molecular instructions to resist antibiotics. This resistance spreads, like students cheating on a very important exam.
Horizontal Gene Transfer (HGT) is a process where genes are transferred across species, rather than inherited vertically. There are two main ways to detect it: the first focuses on single genomes, looking for unusual patterns in their DNA, such as GC content outliers—genomic “footprints” that suggest foreign genetic material. The second compares multiple genomes by reconstructing gene and species trees. Discrepancies between these trees often reveal candidate transfer events. The research projects below explore this second approach, using theoretical models and algorithms to detect and explain horizontal transfers from evolutionary data.
Project type: Research · Theoretical Bioinformatics · Phylogenetic Networks · Algorithm Design
Role: Lead author · Model definition · Algorithm design · Theoretical Analysis· Communication
Associated paper:
López Sánchez, A. and Lafond, M.
Predicting horizontal gene transfers with perfect transfer networks, Algorithms for Molecular Biology, 2024.
DOI: 10.1186/s13015-023-00242-2
Published: Peer-reviewed journal · Algorithms for Molecular Biology (Springer)
This was my first PhD project, and the seed of a new research direction. We asked whether it's possible to predict horizontal gene transfers using traits rather than sequences—focusing on persistent characters like biochemical markers or transposable elements that are rarely lost once gained. Inspired by classical models like perfect phylogenies and recombination networks, I introduced the concept of Perfect Transfer Networks (PTNs): phylogenetic networks that explain character evolution under minimal loss and unique origin assumptions.
PTNS are networks based on trees where for every character there are two rules. Once a character is gained it is never lost and for every character there exists one green node that is able to reach every other green node in the network.
Polynomial-time algorithm to test whether a given network can explain a dataset.
A constructive algorithm to build PTNs by adding transfer edges to given trees.
Tight bounds on the number of transfers needed to explain a dataset.
This project was not only foundational for my PhD, but also widely presented—from academic conferences to general audiences via the 3MT contest and Google Developer Group events.
Project type: Research · Theoretical Bioinformatics · Phylogenetic Networks · Algorithm Design
Role: Lead author · Model definition · Algorithm design · International Collaboration
Presented at:
RECOMB-CG 2025 · Seoul, South Korea
22nd International Conference on Comparative Genomics, co-located with RECOMB
Proceedings will be published by Springer Nature
Proceedings Link
This project extended the Perfect Transfer Network framework to allow for gene loss events, addressing a key limitation of earlier models. It began after I presented my PTN work and was contacted about a related open question—this sparked an international collaboration and led to two research visits to the University of Leipzig’s Bioinformatics group.
At the heart of the project is a dynamic programming algorithm—akin to the classical Sankoff-Rousseau method—designed to infer the simplest evolutionary scenarios involving both horizontal gene transfers and losses, under a single-origin assumption. The algorithm balances parsimony and biological realism by letting users assign different penalties to transfers and losses.
A formal reduction to the Small Parsimony Problem.
A customizable cost model for event penalization.
A case study exploring transfer “highways” in bacterial species using KEGG functional data.
The results and scripts used were stored in the following repository:
This project also marked a personal milestone—it helped me break through the conceptual barrier of dynamic programming and apply it meaningfully to biological data.