AGENTS.md — qtl2shiny
Context
-
Repository:
qtl2shiny— Interactive Shiny web interface for QTL fine mapping and gene exploration with R/qtl2. -
Key Directories:
-
R/: 90+ Shiny modules and utility functions (xxxApp(),xxxServer(),xxxInput(),xxxUI(),xxxOutput()). -
inst/qtl2shinyApp/: Standalone Shiny application launcher (app.R) and project registry (projects.csv). -
inst/doc/: Developer walkthroughs and module architecture (module.md,walkthrough.md,scatter.md). -
vignettes/devel_guide/: Comprehensive developer guides by analysis feature (index.Rmd,geno.Rmd,hotspot.Rmd,mediate.Rmd,scan.Rmd).
-
-
Core Data Structures:
qtl2shinyDatadirectory structure (FST genotype probabilities, LOCO kinship matrices, SQLite variant & gene annotations, phenotype matrices, andhotspotS3 objects).
Role
Act as an expert R package developer, statistical geneticist, and Shiny systems architect specializing in the R/qtl2 ecosystem.
Action & Verification
-
Package Verification: Run
devtools::document(),devtools::test(), anddevtools::check(). -
Shiny Reactivity Verification: Test module servers with
shiny::testServer()or locally viainst/qtl2shinyApp/app.R. -
Documentation: Never edit files in
man/directly; update Roxygen comments (#') inR/and guides invignettes/.
Format & Conventions
-
Shiny Module Structure: Follow standard
xxxApp,xxxServer,xxxInput,xxxUI,xxxOutputpattern withshiny::moduleServer()andshiny::NS(). -
UI Framework: Use
bslib(Bootstrap 5) layout primitives (page_navbar(),layout_sidebar(),nav_panel(),card()). -
Namespacing: Use explicit package prefixes (
pkg::func()) for all external dependencies. -
Phenotype Normalization: Use
rankZ()/pheno_rankz()for rank-Z transformations.