Shalev Yaacov

Multi-modal models for genetic diagnosis

I build computational frameworks that fuse evolutionary conservation, protein-sequence embeddings, and interaction networks to rank candidate disease genes against clinical phenotypes — validated on real patient cohorts, not benchmarks.

3
modalities fused
in one model
19,573
genes scored
genome-wide
17
phenotypic
disease modules
1
shipped
deployed clinical
decision-support tool
see the engine →
Open to R&D roles / M.Sc. researcher · Tabach Lab, HUJI / Faculty Excellence Scholar 2024–26

Where is the missing half hiding?

For roughly 40% of patients with an inherited retinal disease, sequencing comes back inconclusive. The variants are there. The pipelines are asking the wrong question.

Diagnostic tools read one gene at a time and ask whether it spells a known disease. But genes don't work alone — they co-evolve in modules across hundreds of millions of years, leaving a graded trace of conservation and loss across the tree of life.

That trace is independent of anything anyone has published about the gene. Which is exactly why it can point somewhere new.

Retinal disease is the test bed.
The framework itself is agnostic to the organ.

Two phases, hinged on one question

Phase 1 · Characterisation
1 Cluster 442 genes → 17 modules 2 Validate two independent tests 3 Infer patient phenotypes → ranked modules
Pivot

But what if the patient has no mutation in any known gene?

Phase 2 · Discovery
4 Expand beyond research- biased data 5 Score 19,573 genes, three models voting 6 Intersect candidates × unexplained patients
Characterisation
  1. 01
    Cluster. Group 442 known disease genes by phenotypic similarity across 5,654 HPO terms, yielding 17 modules that reorganize classical disease boundaries around shared biology.
    Layer 3 How the modules are built
  2. 02
    Validate. Two independent tests, and the modules had to pass both. First: do they recover disease groupings recognised in the clinical literature? Second: are they coherent evolutionarily — do their genes share conservation patterns across ~2,000 genomes? The second test is the stronger one, because evolutionary signal is blind to how much a gene has been studied.
  3. 03
    Infer. A patient's phenotype profile goes in; ranked disease modules come out, with candidate genes ordered inside the top module. This narrows the diagnostic search space before any sequencing result is reinterpreted. §03 The engine — this phase, built out in full →
Pivot

But what if the patient carries no mutation in any known disease gene?

The search has to widen past the ~500 genes already on the list. The obstacle is that a gene nobody has studied has no phenotype annotation — it is invisible to exactly the kind of data the first phase runs on.

Discovery
  1. 04
    Expand. Move to data that doesn't depend on research history. Evolutionary conservation, protein-sequence embeddings, and interaction-network topology give the same coverage for a famous gene and an anonymous one.
  2. 05
    Score. A supervised classifier scores all 19,573 genes. Three independent models vote, and genes without agreement are filtered out — as are genes with no expression in retinal tissue. §04 The model — this phase, built out in full →
  3. 06
    Intersect. Cross the surviving candidates with variants carried by patients who still have no genetic explanation, producing ranked gene–patient hypotheses for clinical follow-up.

The framework doesn't claim to find causal genes. It produces a much shorter list of candidates worth investigating.

Module structure
Network view
Layer 3 How the evolutionary signal is read

The evolutionary layer is a normalized phylogenetic profile (NPP). Every human gene gets a continuous vector of similarity scores — one per species — normalized against phylogenetic distance so that a gene's conservation can be compared across clades without the tree's own shape dominating the signal.

When several genes lose that conservation in the same clade at the same time, the columns of the matrix drop in concert. That aligned drop — a co-loss signature — is the evidence that the genes share a function. Genes that travel together work together.

Phylogenetic profile

A continuous vector of normalized similarity scores, one per species, describing how conserved a gene is across the tree of life.

Co-evolution

Two genes co-evolve when their normalized profiles rise and fall together across clades, suggesting shared function.

HPO

Human Phenotype Ontology, a controlled vocabulary describing patient symptoms, used to link genes to organs.

The five steps
  1. 01Map each human gene's orthologs across ~2,000 eukaryotic genomes.
  2. 02Score conservation as a continuous similarity, normalized against phylogenetic distance so the tree's own shape doesn't dominate.
  3. 03Read each gene as a profile — a vector of one score per species.
  4. 04Compare profiles across genes: those that lose conservation in the same clades at the same time are co-evolving.
  5. 05Treat that shared loss pattern as evidence of shared function, independent of anything published about the gene.

NPP does two jobs here. In the first phase it independently validates the modules. In the second it becomes one of the three inputs to the classifier.

Each row is a gene, each column a species. Dark means conserved, pale means lost. Genes with matching patterns are co-evolving — hover any row to read its profile.
NPP_MATRIX · 13 genes × 30 species (schematic) hover a cell to read
High similarity
Co-loss signature
Low / absent

From patient phenotypes to ranked genes

A clinician enters what they observe. The engine returns a ranked list of disease modules and candidate genes, with the reasoning behind every score.

Validation

Validated against solved cases from the Molecular Ophthalmology Laboratory at Hadassah Medical Center, which holds one of the world's largest inherited retinal disease cohorts.

Layer 3 Inference and scoring

Naive Bayes module inference with a module-leakage parameter, gene scoring via SMA-GS, and an optional population-frequency layer trained without supervision on solved cases. The layer independently recovered known founder effects — including FAM161A in North African Jewish patients — which were never given to it as input.

Three towers, one prediction

This is the answer to the discovery problem: a three-tower PyTorch network that fuses evolutionary conservation, ESM2 protein-language embeddings, and PPI network topology to score genes that phenotype data alone can't reach.

NPP conservation, ~2,000 genomes ESM2 protein-language embedding PPI interaction-network topology Fusion concatenate → MLP OUTPUT · 17 CLASSES one phenotypic module per gene
0.44
macro-F1 on a 17-class problem, about 7.5× the random baseline
434
labeled genes, 5-fold stratified cross-validation
19,573
genes scored genome-wide
The ablation finding

All seven possible tower combinations were trained and compared. PPI network topology alone turned out to be the strongest single predictor — stronger than evolutionary conservation, stronger than protein sequence, and stronger than all three fused.

The fusion model was more stable across folds and covered small modules better, which is why it remained the working model, but the honest headline is that the network signal dominates.

Genome-wide concordance

Three independent models score all 19,573 unlabeled genes: the fused three-tower network, an NPP-only model, and a PPI-only model. Genes are retained only where at least two of the three agree on module assignment, and flagged as highest confidence where all three converge. Disagreement is treated as a filter, not as noise to be averaged over.

Fused three-tower NPP only PPI only CONFIDENCE TIERS All three agree highest confidence Two of three agree retained No majority filtered out
Layer 3 Reproducibility

Fixed seeds across torch, numpy and the fold splitter, so all seven variants see identical splits and ablation comparisons aren't confounded by fold assignment. A runtime assertion verifies each gene is evaluated exactly once on a model that never trained on it.

Layer 3 Where it breaks

Per-module F1 ranges from 0.08 to 0.77. Modules with high internal coherence are learned well; heterogeneous ones aren't. The distribution is reported, not averaged away.

Field notebook

Five more projects that make up the framework. Each one shipped, each one on GitHub.

Industry practicum

Six months at Pre-Cure Biotech, a personalized oncology startup, building the data infrastructure the science runs on.

Designed and deployed a relational data management system that replaced spreadsheet-based clinical workflows with structured, queryable infrastructure.

Cloud deployment, LLM-assisted data entry, and a schema built around how the team actually works rather than how the data happened to arrive.

The research half of this portfolio asks what the data means. This half is about making the data usable in the first place — and in a company, that comes first.

What's in the drawer

Built on Python and R, with the wet-lab background that keeps me honest about what the data actually came from.

Languages
A

Python (PyTorch, scikit-learn, pandas, Biopython), R (tidyverse, Bioconductor, ComplexHeatmap), bash, git

Methods
B

Multi-modal deep learning, protein language models, network embeddings, phylogenetic profiling, unsupervised clustering, Bayesian inference

Infrastructure
C

HPC and SLURM job submission, reproducible pipelines with fixed-seed validation, cloud deployment, LLM-assisted workflows

Layer 3 Databases and tools
Clustal Omega
BLAST
PyMOL
PDB
AlphaFold
Rummagene
FUMA
EnrichR
Cytoscape
STRING
UniProt
GeneCards
OMIM
ClinVar
gnomAD
UCSC Genome Browser
NCBI
Ensembl
Seurat
Scanpy
Claude Code
Cursor
Codex
Ollama
Budibase
Layer 3 Before the matrices
Wet-lab craft

Before the matrices, there were pipettes. Recombinant expression of bovine lactoferrin and human keratin in E. coli and Arabidopsis, in collaboration with Miruku at Prof. Oded Shoseyov's lab — including a co-authored chapter in Alternative Dairy Products and Technologies.

cloning
FPLC
qPCR
ELISA
plant transformation
protein purification
recombinant expression
Co-authored book chapter →

References available upon request.

Origin story
B.Sc. · Octopus motor learning

B.Sc. Marine Biotechnology, internship in Marine Agriculture, Ruppin Academic Center · GPA 91/100

Designed and analyzed behavioral experiments on octopus learning strategies. Where my taste for data on stubborn, complex biological systems began.

References available upon request.

Let's talk
biology
and data.

Open to R&D roles in computational biology and machine learning, research collaborations, and anything in between.

© 2026 Shalev Yaacov · Hebrew University of Jerusalem
Continuously evolving.
Tweaks