Methods that Reproduce: Parameters, Versions, and Seeds
Reading time ~6 minutes · Published September 22, 2025
Checklist A — Wet Lab (minimal kit)
Parameters
- Exact concentrations (stock and working), pH, solvent, buffer composition.
- Volumes, temperatures (set & observed), durations, ramp rates, humidity if relevant.
- Equipment make/model and firmware (e.g., Thermocycler v3.1.7).
- Calibration/maintenance date for critical instruments.
- Environmental conditions that matter (biosafety cabinet class, CO₂ %, incubator position).
Versions
- Reagent lot numbers and suppliers for everything that touches the assay.
- Kit/catalog numbers and protocol revision IDs.
- SOP version used; deviation log with timestamp and initials.
- Reference to validated method (if adapted), with your delta notes.
Seeds
- Randomisation schema for sample assignment (e.g., computer-generated using seed=20250922).
- Order effects control (plate layout, lane order, run order) recorded in the notebook.
- Aliquot numbering and blinding codebook stored with access control.
Checklist B — Computation (minimal kit)
Parameters
- All CLI flags and config values (commit a
config.yamlor.tomlfile). - Data preprocessing steps (filters, exclusion rules, imputation strategy).
- Hardware details that affect determinism (CPU/GPU model, CUDA/cuDNN versions).
Versions
- Repository URL + immutable commit hash (e.g., git rev-parse HEAD).
- Environment lockfile (
requirements.txt+ hashes,poetry.lock, orenvironment.yml). - Interpreter and OS version (e.g., Python 3.11.8 on Ubuntu 22.04.4 LTS).
- Container spec (Dockerfile digest) if used.
Seeds
- Set and log seeds for
random,numpy,torch/jax/tensorflow. - Enable determinism flags (e.g., PyTorch
torch.use_deterministic_algorithms(True)) and record any ops that remain nondeterministic. - Log library/version-specific reproducibility notes (e.g., CuBLAS workspace, FFT backends).
Copy-paste method templates
Wet-lab methods paragraph
“All reactions were performed at [temperature] using [instrument make/model; firmware]. Reagents and kits were sourced from [supplier] with lot numbers recorded in the ELN ([lots]). Buffer composition was [exact recipe] at pH [value]. Volumes and incubation times were [values]. Deviations from SOP v[x.y] are logged with timestamps. Randomisation used a computer-generated list (seed=[value]) to assign samples to wells; blinding codes and plate maps are archived in [location].”
Computational methods paragraph
“Analyses were executed from repository commit [hash] in a container specified by [image:tag@digest]. The environment lockfile ([requirements.txt|poetry.lock|environment.yml]) and OS details are archived alongside the results. Configuration parameters are stored in config.yaml and printed at runtime. Seeds were set for all libraries (numpy, torch, random) and determinism flags enabled where available; any nondeterministic ops are listed in the run README. Reproduction requires running make reproduce, which fetches raw data, constructs the environment, and executes the pipeline.”
Team handoff & archival
- Wet lab: export ELN PDF daily; store images, plate maps, and instrument methods together.
- Computation: publish artifact bundle (logs, configs, lockfiles, data dictionary, toy dataset).
- Publications: include Data/Code Availability with repository link, commit hash, and archive DOI.
Keywords: reproducible research checklist, methods section