Skip to content

Refactor ISOFORMSWITCHANALYZER to the nf-core module template and update IsoformSwitchAnalyzeR to 2.12.0 #280

Closed

Description

@piplus2

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

  1. added a commit that references this issue on Sep 14, 2026
    f615d8b
  2. piplus2 commented on Sep 14, 2026

    @piplus2
    ContributorAuthor

    fixed by #281

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions