Skip to content

Release 4.0.0#766

Merged
rannick merged 1182 commits intomasterfrom
dev
Sep 18, 2025
Merged

Release 4.0.0#766
rannick merged 1182 commits intomasterfrom
dev

Conversation

@rannick
Copy link
Collaborator

@rannick rannick commented Sep 11, 2025

v4.0.0 - [2025-09-10]

Added

  • Normalized gene expression calculated #488
  • Primary assembly now used as main reference genome FASTA file, as recommended by the STAR manual #488
  • Use of only ensembl GTF file, not chr.gtf file as GTF reference file #488
  • Add nf-test to local module: ENSEMBL_DOWNLOAD #539
  • Add nf-test to local module: HGNC_DOWNLOAD #540
  • Add nf-test to local subworkflow: STRINGTIE_WORKFLOW #541
  • Option to avoid using COSMIC (for example in the case of clinical use) #547
  • Add nf-test to nf-core module: PICARD_COLLECTRNASEQMETRICS and update module #551
  • Add --skip_vcf boolean parameter to skip vcf file generation #554
  • Add nf-test to local module: FUSIONREPORT_DOWNLOAD #560
  • Add nf-test to local subworkflow: QC_WORKFLOW #568
  • Add nf-test to local subworkflow: TRIM_WORKFLOW #572
  • Add nf-test to local module: FUSIONREPORT_DETECT. Improve FUSIONREPORT_DOWNLOAD module #577
  • Add nf-test to local subworkflow: ARRIBA_WORKFLOW #578
  • Add nf-test to local module: STARFUSION_BUILD. #585
  • Add nf-test to local module: STARFUSION_DETECT. #586
  • Added a new module CTATSPLICING_STARTOCANCERINTRONS and a new parameter --ctatsplicing. This options creates reports on cancer splicing aberrations and requires one or both of --arriba and --starfusion to be given. #587
  • Add parameter --references_only when no data should be analysed, but only the references should be built #505
  • Add nf-test to local subworkflow: FUSIONCATCHER_WORKFLOW #591
  • Add nf-test to local subworkflow: STARFUSION_WORKFLOW. #597
  • Add nf-test to local module: FUSIONINSPECTOR. #601
  • Added CTATSPLICING_PREPGENOMELIB to update the starfusion genome library directory with a cancer splicing index. #610
  • Add nf-test to local subworkflow: FUSIONREPORT_WORKFLOW. #607
  • Add nf-test to local module: ARRIBA_VISUALISATION. #625
  • Added the following fields to the samplesheet #647:
    • bam: A BAM file aligned with STAR, it's the responsibility of the pipeline user to make sure this file has been correctly called.
    • bai: The index of the BAM file, this is not required when a bam file has been given but can increase the pipeline speed a bit.
    • cram: A CRAM file aligned with STAR, it's the responsibility of the pipeline user to make sure this file has been correctly called.
    • crai: The index of the CRAM file, this is not required when a cram file has been given but can increase the pipeline speed a bit.
    • junctions: A file containing the junctions determined by STAR (needed by starfusion and ctatsplicing)
    • splice_junctions A file containing the splice junctions determined by STAR (needed by ctatsplicing)
  • Added --fusioncatcher_download_link. #650
  • Added the seq_platform and seq_center fields to the samplesheet. These values can be used to overwrite the value of --seq_platform and --seq_center on a sample-by-sample basis #654
  • Moved strandedness determination for picard collectrnaseqmetrics into modules.config #658
  • Using option --human_gencode_filter while building STARFusion references for human species #657
  • Added --star_limit_bam_sort_ram to set the maximum memory for sorting the BAM files in STAR. #668
  • Update STAR-Fusion to 1.15.0 and update nf-core modules #664
  • Update fusionreport 4.0.0 that replaces the score of a fusion with a Fusion Indication Index #667
  • Added a extra trimming step for fusioncatcher in case a different read-length is wished for this tool only #674
  • Added support for references hosted on the nf-core AWS S3 bucket. #717
  • Added --dfam_hmm, --dfam_h3f, --dfam_h3i, --dfam_h3m, --dfam_h3p, --pfam_file and --annot_filter_url parameters to allow use of custom files in STARFUSION_BUILD module #709
  • Add nf-test to local module: VCF_COLLECT. #745
  • Added nf-test for local subworkflow: FUSIONINSPECTOR_WORKFLOW. #753

Changed

  • Updated modules and migrated non-specific modules to nf-core/modules #484
  • Updated to nf-core/tools 3.0.2 #504
  • Remove local module RRNA_TRANSCRIPTS (replaced by nf-core module) #541
  • Allow fastq files without a dot before .fn(.gz)/.fastq(.gz) files #548
  • Remove double nested folder introduced in #577, #581
  • Use docker.io and galaxy containers for fusioncatcher and starfusion (incl. fusioninspector) instead of wave as they are not functional on wave #588
  • Update STAR-Fusion to 1.14 #588
  • Use "-genePredExt -geneNameAsName2 -ignoreGroupsWithoutExons" (to mimic gms/tomte) for GTF_TO_REFFLAT #505
  • Integrate reference building in the main workflow #505
  • Move from ensembl to gencode base #505
  • Update from ensembl 102 to gencode 46 default references #505
  • UpdateFUSIONINSPECTOR to v2.10.0. #601
  • Remove local module STARFUSION_DOWNLOAD #598
  • Fix error message when parameter outdir is missing #611
  • Updated documentation for fusion-report score calculation to reflect 80/20 weight distribution between thttps://github.com/nf-core/rnafusion/pull/633ool detection and database hits #620
  • The STAR alignment now only runs once instead of multiple times when using --arriba and --starfusion #633
  • The --cram parameter has been converted to a boolean value instead of the comma-separated list of values. Use this parameter if you also want to create CRAM files from the BAM files created with STAR #633
  • Update htslib and samtools version in star/align to 1.21 #634
  • Updated Zenodo DOI in badge #639
  • --run_fusioncatcher back to fusioncatcher #641
  • Removed --fastp_trim, --arriba, --ctatsplicing, --fusioncatcher, --starfusion, --stringtie and --all and replaced these parameters with the --tools parameter. This parameter takes a comma-delimited list of tool names to run for the pipeline and is a required parameter. Following tools are supported by this parameter #645:
    • arriba
    • ctatsplicing
    • fusioncatcher
    • starfusion
    • stringtie
    • fusionreport
    • fastp
    • salmon
    • fusioninspector
    • all => This will automatically run all of the above tools
  • Updated all wget containers to conda-forge::wget=1.21.4 #655
  • Using FusionInspector abridged output (that now contains coding effects) for downstream analysis #669
  • Replaced local FUSIONREPORT and FUSIONREPORT_DOWNLOAD with FUSIONREPORT_DETECT and FUSIONREPORT_DOWNLOAD from nf-core #703
  • Updated arriba to v2.5.0 #693
  • Update logo #715
  • Slight documentation update #719
  • Replaced local STARFUSION_BUILD for module from nf-core #709
  • Modified test_build profile to use a reduced version of Pfam and Dfam files #733
  • Updated the documentation to reflect the changes done in this release #741
  • Changed local ARRIBA_VISUALIZATION, CTATSPLICING_STARTOCANCERINTRONS, CTATSPLICING_PREPGENOMELIB, FUSIONINSPECTOR, STARFUSION_DETECT for its nf-core module versions #740
  • Replaced local subworkflow TRIM_WORKFLOW for its nf-core subworkflow equivalent FASTQ_FASTQC_UMITOOLS_FASTP #752
  • Changed local FASTQ_ALIGN_STAR for subworkflow from nf-core #756
  • Replaced local subworkflow STRINGTIE_WORKFLOW for its nf-core version BAM_STRINGTIE_MERGE and the local module module GTF_TO_REFFLAT for nf-core's UCSC_GTFTOGENEPRED [Migrate sbwf stringtie and module gtfftoreflat #758](Migrate sbwf stringtie and module gtfftoreflat #758
  • Update modules and close todos as preparation for release #759

Fixed

  • Fixed some Nextflow run-commands in the docs #491
  • Fixed bug when trying to build indices behind a proxy and wget was unable to download arriba indices #495
  • Fixed bug in FUSIONREPORT_DOWNLOAD when building references with --no_cosmic parameter #555
  • Refactor structure in FUSIONREPORT_DOWNLOAD to use cosmic credentials in ext.args #556
  • Fixed bug in nf-core RRNATRANSCRIPTS module #563
  • Fixed bug in GFFREAD that caused output gffread_fasta not being produced #565
  • Fixed bug in FUSIONCATCHER_DOWNLOAD that caused an error when running with singularity profile #573
  • Fixed missing script gtf2bed which caused local module GET_RRNA_TRANSCRIPTS to fail #602
  • Fixed the codebase to be compatible with the Nextflow language server #634
  • Updated the input validation to be more strict. This will prevent more errors down the line in the pipeline #640
  • The FUSIONINSPECTOR process will no longer fail when no fusions have been found. #651
  • Fixed STAR-Fusion build would fail when downloading Pfam and Dfam resources behind SSL. #653
  • Fix bug in argument handling for FusionInspector #669
  • Upgrade STAR-Fusion to 1.15.1 to solve problem building STAR-Fusion references with --human_gencode_filter #683
  • Fix missing memory unit for fusioncatcher #674
  • Fix fusioncatcher download link #693
  • Fix fusionreport singularity container #713
  • Fix behavior when no fusion is present (log a warning and avoid running depending processes)#714
  • Fix CTAT-SPLICING output when no cancer introns were found #722
  • Update VCF_COLLECT script to adapt to transcript_version not being an entry in fusioninspector gtf anymore #726
  • Fix rRNA detection and make it more customizable with nf-core modules #736
  • Fix rRNA detection in GTF using transcript_type #749
  • Fixed nf-test for QC_WORKFLOW subworkflow #756
  • Fixed issue with bed creation, modifying AGAT arguments for non-coding CDS #763
  • Fixed fusioncatcher hardlink issues in filesystems that don't allow hardlinks #764

Removed

  • Remove fusionGDB from documentation and fusion-report download stubs #503
  • Removed test-build as reference building gets integrated in the main workflow #505
  • Removed parameter --build_references
  • Removed fusioncatcher build #650
  • Removed subworkflow with less than two modules: ARRIBA_WORKFLOW #692
  • Removed subworkflow with less than two modules: STARFUSION_WORKFLOW #707
  • Removed subworkflow with less than two modules: CTATSPLICING_WORKFLOW #704
  • Removed subworkflow with less than two modules: FUSIONREPORT_WORKFLOW #721
  • Removed local module GET_RRNA_TRANSCRIPTS #736
  • Removed old unused parameters params.download_refs and params.fusioncatcher_download_link #752

Parameters

Old parameter New parameter
--no_cosmic
--build_references --references_only
--fastp_trim --tools fastp
--arriba --tools arriba
--run_fusioncatcher --tools fusioncatcher
--starfusion --tools starfusion
--stringtie --tools stringtie
--all --tools all
--fusioncatcher_download_link
--trim_tail_fusioncatcher
--save_trimmed_fail
--save_merged
--min_trimmed_reads
--trim_tail_fusioncatcher

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/rnafusion branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

@grst grst requested a review from apeltzer September 11, 2025 13:45
Copy link
Contributor

@nschan nschan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly minor comments, I approve now assuming you will adress them as you see fit :)

rannick and others added 3 commits September 16, 2025 16:38
Co-authored-by: Niklas Schandry <schandry@gmail.com>
Co-authored-by: Niklas Schandry <schandry@gmail.com>
Co-authored-by: Niklas Schandry <schandry@gmail.com>
Copy link

@johandahlberg johandahlberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have looked things over and I see nothing blocking merging this. You can find some comments and questions from me here, and also as line comments on some of the files.

I have checked out the repo, run the nf-test tests locally and run the minimal test pipeline. Since I am something of a nextflow rookie I have focused on trying to review and make suggestions from the user perspective.

Tests

Running nf-test test --profile +docker .. I got quite a few test failures due to out of memory errors, e.g:

Test [381185aa] 'stub test ctatsplicing' java.lang.OutOfMemoryError: Required array size too large

Which surprised me a bit since it happed also for the stub tests. Is that expected? I'm running on a machine with 128G of RAM?

Running nextflow run . -profile test,docker --outdir test-results -stub worked fine.

Documentation

Going over the docs and following the links I noticed that it seems that data has not been generated under the results folder for the actual tools. I only found data for the references and the pipeline info. It also does not correspond to the description of the output in the docs (https://nf-co.re/rnafusion/dev/docs/output).

This is related for previous releases not to this one specifically, but I thought it might be indicative of something failing in the release process, so I wanted to mention it.

I also found some broken images under: https://nf-co.re/rnafusion/dev/docs/output#multiqc
image

Other
One thing I noticed was that a lot of the reference data being downloaded seemed to be some pretty big plain text files. I'm wondering if the download times couldn't be reduced somewhat by compressing them and providing a script that downloads and then decompresses them on the target system?

Copy link
Member

@apeltzer apeltzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll also do some battle testing with our internal (synthetic) known Fusion data.

@rannick
Copy link
Collaborator Author

rannick commented Sep 18, 2025

@johandahlberg I cannot reproduce your memory issue and manage to run the tests on my laptop that definitely does not have 128GB RAM. We will leave the optimizations for the references download for next release, but feel free to open an issue about this to see it moving forward!

@rannick
Copy link
Collaborator Author

rannick commented Sep 18, 2025

All suggestions added in from the code_review branch

@rannick rannick merged commit 37a1765 into master Sep 18, 2025
35 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants