Inspiration

Genetic test results can be difficult to understand even when they contain an important finding. A result such as RHO p.Pro23His or ABCA4 p.Gly1961Glu is meaningful to a specialist, but to a patient or family it can look like an unexplained string of letters and numbers. The evidence needed to understand that result is also fragmented across clinical databases, protein resources, scientific papers, structure databases, and clinical-trial registries. We wanted to build a system that does more than answer a question conversationally: it should actively investigate a variant, gather the evidence, show where the biology happens, and explain what is known and what is still uncertain.

What it does

RetinaFold investigates inherited retinal-disease variants. A user selects a gene and variant, and NVIDIA Nemotron acts as the investigation agent. It calls tools that retrieve clinical evidence from ClinVar, protein information from UniProt, a predicted wild-type protein structure from AlphaFold DB, scientific literature from PubMed, and potentially relevant studies from ClinicalTrials.gov. RetinaFold also incorporates a real NVIDIA BioNeMo Evo 2 zero-shot sequence analysis comparing the genomic reference sequence with the variant sequence. The interface shows the retinal cell type where the gene functions, highlights the affected amino-acid residue in an interactive 3D protein view, displays the evidence sources, and generates a patient-friendly report that clearly separates clinical evidence from computational evidence.

How we built it

We built RetinaFold as a Next.js application using TypeScript, React, and Tailwind CSS. The application uses NVIDIA Nemotron through NVIDIA's hosted API as an agent rather than as a simple chat interface. Nemotron can call structured tools for canonical variant context, ClinVar, UniProt, AlphaFold DB, PubMed, ClinicalTrials.gov, and BioNeMo Evo 2 results. We used NVIDIA Brev with an L40S GPU and BioNeMo Framework 2.5 to run Evo 2 1B zero-shot sequence scoring on 8,192-base GRCh38 windows for our three demo variants. The resulting reference and variant likelihood scores are stored as reproducible evidence for the demo, while the remaining evidence sources are queried live. AlphaFold structures are rendered with 3Dmol.js and the affected residue is highlighted. We intentionally keep the architecture stateless and do not collect patient data.

Challenges we ran into

The biggest technical challenge was integrating tools that have very different interfaces, identifiers, and failure modes into one reliable agent workflow. We also hit a GPU/container compatibility issue: the newest BioNeMo recipe image expected a newer NVIDIA driver than the Brev instance provided, so we traced the CUDA/driver mismatch and moved to the compatible BioNeMo Framework 2.5 workflow.

What we learned

We learned how much work is required to make an agent trustworthy when it operates across scientific data sources. Tool calling is only part of the problem: identifiers must be normalized, sources must be attributed, missing evidence must be handled, and conflicting evidence must remain visible. We learned how to run BioNeMo Evo 2 on a GPU environment, debug CUDA/driver compatibility, construct genomic sequence windows, and interpret zero-shot sequence likelihood differences carefully. We also learned that a useful healthcare-facing AI product needs strong boundaries around what the system can and cannot claim.

Built With

  • 3dmol.js;
  • alphafold
  • apis;
  • bioinformatics;
  • bionemo;
  • clinicaltrials.gov;
  • clinvar;
  • css;
  • db;
  • genomics;
  • ncbi
  • nemotron;
  • next.js;
  • pubmed;
  • react;
  • tailwind
  • typescript;
  • uniprot;
Share this project:

Updates

Submission history