You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Refactor ISOFORMSWITCHANALYZER to the nf-core module template and update IsoformSwitchAnalyzeR to 2.12.0 #280
Follow-up to #245 (TXIMPORT), #251 (DRIMSEQ_DMFILTER), #255 (EDGER_EXON) and #264 (DEXSEQ_DTU).
Current situation
modules/local/isoformswitchanalyzer still has only a main.nf: no environment.yml, no meta.yml and no nf-test. The module is only exercised through the pipeline level tests, and there its output on the chrX test data was the fallback message ("No switching genes were found") with an empty features table, so the plotting and consequence steps of the script have never actually run in CI.
It also pins bioconductor-isoformswitchanalyzer 2.2.0 (R 4.3), which is several Bioconductor releases behind the current 2.12.0 (R 4.5).
The script is in bin/run_isoformswitchanalyzer.R, so any change to it re-triggers the whole nf-test suite (bin/* is a trigger), unlike the modules that were already ported to a templates/ script.
Suggested approach
Move the module to the nf-core module template: environment.yml, meta.yml, conda "${moduleDir}/environment.yml", apptainer-aware container line, bin/run_isoformswitchanalyzer.R as a templates/ script, a stub, and versions.yml written by R instead of two eval emits, as the other R modules do.
Update IsoformSwitchAnalyzeR 2.2.0 -> 2.12.0.
Add modules/local/isoformswitchanalyzer/tests/main.nf.test with a real run, a run with a cutoff no isoform reaches (to cover the fallback path the pipeline relies on) and a stub run.
No new test-datasets files should be needed. testdata/salmon_quant/salmon_quant.tar.gz holds the four Salmon quant directories, reference/genes_chrX.gtf the annotation, and the transcript fasta the module takes can be built in the test setup {} from reference/X.fa.gz with GUNZIP and GFFREAD -w, which is what the pipeline does with rsem-prepare-reference.
One bug found while scoping this
run_isoformswitchanalyzer.R writes the overall consequences plot with paste(pathToOutput, 'common_switch_consequences.pdf', sep = ''), i.e. to resultscommon_switch_consequences.pdf next to the results directory rather than inside it. The file is not a declared output, so it is never published.
Activity
port module isoformswitchanalyzer to nf-core structure
piplus2 commentedon Sep 14, 2026
fixed by #281