Skip to content

Latest commit

 

History

History
27 lines (22 loc) · 1.89 KB

CONTRIBUTING.md

File metadata and controls

27 lines (22 loc) · 1.89 KB

Contributing

Thanks for helping. The two most valuable contributions are marker rows and vendor fixtures.

Adding a marker

Edit gnomancer/data/markers.tsv. Every row needs:

  • ref and effect on 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 note if 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.

Adding a vendor

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.

Rules

  • Never commit a real raw-data file or a real report. .gitignore blocks 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.