Skip to content

adamlauzon/DNA-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNA Analyzer

Upload a raw DNA data export from a consumer testing service and get a personalized report of health, trait, drug-response, and ancestry findings — matched against a curated local database of 10,600+ SNPs, with live SNPedia lookups for anything not already cached locally.

Everything runs locally: uploaded files are parsed, matched, and deleted immediately after analysis. Nothing is stored server-side.

Features

  • Drag-and-drop upload for raw DNA files (.txt, .csv, .zip)
  • Multi-format parser — supports 23andMe, AncestryDNA, MyHeritage, and FamilyTreeDNA raw data exports
  • Local SNP database — 10,600+ curated entries across health (9.5k), ancestry (400), trait (550), and drug-response (130) categories, merged from curated research data and SNPedia
  • Live SNPedia fallback for SNPs not yet in the local database, with single and batch lookup
  • Downloadable HTML report with Chart.js visualizations, generated client-side from your results — shareable as a standalone file
  • Results sorted by significance (magnitude) within each category

Stack

  • Frontend: Angular (standalone components), served on its own dev server
  • Backend: Node.js / Express, with Multer for uploads and csv-parse for file parsing
  • Data: Local JSON/JS SNP database + SNPedia API integration

Getting started

npm run install:all   # installs root, backend, and frontend dependencies
npm start              # runs backend and frontend concurrently

This starts the Express API and the Angular dev server together. Open the frontend URL printed in the console and upload a raw DNA export to generate a report.

Project structure

backend/
  src/
    routes/dna.js           # /api/dna/analyze, /lookup, /batch-lookup, /database, /report
    services/dnaParser.js   # format detection + parsing (23andMe/Ancestry/MyHeritage/FTDNA)
    services/snpediaService.js
    services/reportGenerator.js  # standalone HTML report generation
    data/snpDatabase.js     # curated local SNP database
frontend/
  src/app/
    components/upload/      # drag-and-drop file upload
    components/results/     # findings display
    services/dna.service.ts

Disclaimer

This tool is for educational and informational purposes only. It is not a substitute for professional medical advice, diagnosis, or treatment. Consult a qualified healthcare provider or genetic counselor before making any health decisions based on these results.

About

Analyzes raw 23andMe/AncestryDNA/MyHeritage/FTDNA DNA exports against a 10,600+ SNP database for health, trait, drug-response, and ancestry findings, with SNPedia lookups and a downloadable HTML report.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages