Thanks for helping. The two most valuable contributions are marker rows and vendor fixtures.
Edit gnomancer/data/markers.tsv. Every row needs:
refandeffecton the GRCh37 forward strand. Check dbSNP (the "+" strand alleles for GRCh37) or SNPedia's orientation field. If the gene is on the minus strand, the literature allele is the complement of what goes here.- A source for the interpretation text: a replicated GWAS, a CPIC/PharmGKB guideline, ClinVar, or a review. Put it in
noteif it is not obvious. - Hedged wording. Effect sizes as "~2x odds", never "you will".
- No rows whose only support is a single small study or a commercial trait report.
Run pytest afterwards: the test suite checks the table parses, alleles are valid, and there are no duplicates.
Parsing lives in the snps library. If a file does not load, first check whether snps
supports it; if not, open an issue there and here with the first 20 lines of the file (header only, no genotypes).
Test data is synthetic: tests/conftest.py builds it with examples/make_demo.py and examples/make_family.py. Extend those generators for a new layout; never add real data.
- Never commit a real raw-data file or a real report.
.gitignoreblocks the common names; stay alert anyway. - Keep the tool offline: the only network calls allowed are downloading public tools and reference files.
- Health wording, concretely:
- Effect sizes only as published odds ("~2x odds") with a source in
note; never "you will" or "you have". - Say "carrier" for one copy of a recessive variant and never call a carrier "affected".
- Every ClinVar or PharmCAT statement ends in "confirm with a clinical test"; the report never names a diagnosis as a fact.
- Protective and benign results are labelled as such so they are not counted as risk.
- Effect sizes only as published odds ("~2x odds") with a source in