Problem
R/qtl2 is the gold standard for biparental QTL mapping, but calling it from external applications (Excel add-ins, Python wrappers, web services) requires either:
- Writing intermediate CSV/TSV files and shelling out to Rscript
- Using rpy2 which adds complex dependency management
- Writing custom R wrapper scripts that parse CLI arguments
Each frontend re-invents this wrapper, leading to fragmentation and maintenance burden.
Feature request
An optional headless/JSON mode that:
- Accepts input via JSON (or JSON + CSV for large genotype matrices)
- Returns results as JSON (LOD scores, peaks, support intervals, permutation thresholds)
- Runs as a single CLI command
- Could be a thin wrapper package (e.g. churchill-lab/qtl2api)
Use case
ExcelMapBasedQTL (https://github.com/light-suzuki/Genotype) is an Excel VSTO add-in for map-based QTL narrowing of F2 populations. It currently integrates R/qtl2 via a custom r/qtl2_scan.R script. A standardized JSON API would make this integration reproducible across frontends and reduce wrapper code.
Other projects with the same need:
- QTL IciMapping headless pipeline integration
- Galaxy workflow system QTL tools
- Web-based QTL dashboards (Shiny/Streamlit)
Why this matters
- Reproducibility: a JSON contract is versionable and testable
- Interoperability: Python, C#, JavaScript frontends all speak JSON natively
- CI/validation: input/output schemas can be validated without R
- Lowers barrier: users of Excel/Galaxy/web tools can access R/qtl2 without writing R code
Would the maintainers consider adding or documenting a stable JSON-based headless interface?
Problem
R/qtl2 is the gold standard for biparental QTL mapping, but calling it from external applications (Excel add-ins, Python wrappers, web services) requires either:
Each frontend re-invents this wrapper, leading to fragmentation and maintenance burden.
Feature request
An optional headless/JSON mode that:
Use case
ExcelMapBasedQTL (https://github.com/light-suzuki/Genotype) is an Excel VSTO add-in for map-based QTL narrowing of F2 populations. It currently integrates R/qtl2 via a custom r/qtl2_scan.R script. A standardized JSON API would make this integration reproducible across frontends and reduce wrapper code.
Other projects with the same need:
Why this matters
Would the maintainers consider adding or documenting a stable JSON-based headless interface?