R qtl2 Rewrite of a very old R package
summary
A 20-year R/qtl codebase contains 39k lines of R and 25k lines of C, with one R function of 1,400 lines and a CSV-parsing loop that spends 58 seconds scanning column headers. A ground-up rewrite into R/qtl2 targets high-dimensional phenotypes (tens of thousands), multi-strain and advanced crosses, and faster IO. The rewrite uses Rcpp, roxygen2, testthat and adds automated tests and cleaner data structures; the new package improves performance and extensibility though some rough edges remain.
AI-written summary · about
chapters (15)
- 0:00Start
- 3:48Intercross
- 7:28Input file
- 9:25Stupidest code ever
- 11:03More typically bad code
- 12:00Baroque data structures
- 12:33Inconsistencies
- 12:59Useless warning messages
- 14:00Tests
- 15:18How did this happen?
- 16:17Documentation
- 17:03User support
- 17:43QTL mapping
- 18:10Heterogeneous stock
- 18:49R/qt|2: Let's not make the same mistakes
related talks
34mFast Code Without Breaking Things
40mThe Art of Teuthology
47mDomain driven redesign
22mRSpec: The Bad Parts
18mHow non-programmers can make sparks fly when using testthat during package development
10mSporq: An Interactive Environment for Exploring Code Using Query-by-Example
17mCrane Lowers Rocq Safely into C++
49mWriting better code with help from Qt and the compiler
