01 Data provenance
Every analysis states where its data came from and whether it is real, public, illustrative or simulated. That distinction appears in the project's status label, in its findings, and in its limitations — not in a footnote.
| Kind | What it means | Where it appears |
|---|---|---|
| Live public data | Fetched from a named API at run time, on a stated genome assembly | Ensembl, gnomAD, PubChem, STRING |
| Illustrative | Values defined in the code to demonstrate a method | Expression workflow, drug–gene categories |
| Simulated | Generated from a statistical model, with no biological claim | All GWAS projects, statistics studio |
02 Environments and dependencies
The published analyses are notebooks with their dependencies stated. For the pipeline work I propose, the standard is higher: pinned versions in a lockfile, a container image, and a workflow engine that records which step produced which file.
The gap between "it ran on my machine" and "it will run on yours next year" is mostly about pinning. An unpinned dependency is a slow-acting bug.
03 Randomness
Anything stochastic gets a fixed seed, and the seed is a visible parameter rather than a hidden constant. In the statistics studio the seed is a slider: you can move it and watch the "significant" hits change, which is a more honest demonstration of sampling variability than any paragraph I could write about it.
# Deterministic by construction
rng = numpy.random.default_rng(seed=7)
04 The live API problem
Several analyses query Ensembl at run time. This is good for freshness and bad for reproducibility: Ensembl adds transcripts between releases, so the same notebook can return a different count of transcript annotations months apart without anything being wrong.
This is not hypothetical. The CYP2C19 analysis recorded 66 transcript annotations when the notebook was run. The live Lab tool queries the same variant today and the consequence-term counts no longer match, because the annotation set has moved.
05 Status honesty
Every project carries one of four labels, and I apply them strictly. Work in development is not described as published. Proposals do not have a results section, because they have no results.
06 What I don't claim
Some things that would be easy to imply on a portfolio site, and which are not true of this work:
- No peer-reviewed publications. The research outputs here are independent work, not reviewed by anyone.
- No clinical validation of anything. The pharmacogenomics work is educational and explicitly not a prescribing tool.
- No performance metric appears anywhere unless a model was actually trained and evaluated. There are currently no such metrics on this site.
- No claim that simulated results demonstrate biological findings.
- Several published projects use small illustrative datasets, which is stated in their findings rather than only in the repository.