Claude Science Hackathon

Two open-source projects I built at the Claude Science Hackathon.

A quick video overview of both projects.

GeneScout

GeneScout app demo.

Live app: GeneScout on Posit Connect Cloud
GitHub: samuelbharti/genescout
Cite: doi.org/10.5281/zenodo.21352389

After sequencing, differential expression, or a perturbation screen, you are left with a long candidate list, and deciding which genes are worth following up means slow, hard-to-reproduce hopping between VCFs, annotation tables, pathway databases, and PubMed, biased toward the genes you already know. GeneScout is an agentic evidence-review workbench that takes a candidate list plus a disease context and returns a plausibility-ranked, cited shortlist: an orchestrator fans out to variant-effect, pathway/disease, and literature agents running in isolated parallel contexts, a citation gate blocks any claim without a source, and a caveats stage down-ranks candidates that look compelling but are common in the population or backed by weak evidence. Every score traces to a database record or a citation, and the report lays out the evidence, the uncertainties, and the recommended next experiments.

GeneScout fans a candidate list out to parallel evidence agents, gates every claim behind a citation, then returns a scored, cited shortlist.

biobouncer

biobouncer demo.

Landing page: samuelbharti.com/biobouncer
GitHub: samuelbharti/biobouncer
Cite: doi.org/10.5281/zenodo.21346522

If you build analyses or Shiny/Dash apps in computational biology, you keep rewriting the same input guards: is this a real gene symbol, a well-formed MONDO id, a valid HGVS string, a UniProt accession that actually exists? Those checks end up scattered as ad-hoc regexes, and the R version and the Python version quietly disagree on edge cases. biobouncer puts them behind one small API that returns the same verdict in both languages across 46 databases and ontologies, with offline pattern and cached-snapshot modes plus live remote lookups. It validates inputs before they reach tools like biomaRt or mygene, and returns a per-element table of valid, normalized, and suggestion, so you can repair a column instead of just rejecting one field.

biobouncer routes a messy column of biological identifiers through one gate and returns one labeled verdict, identical in R and Python.

For questions, collaborations, or follow-up: sbharti@uab.edu