Skip to content

Release version 2.2.0 with BAM and CRAM support#76

Merged
charles-plessy merged 29 commits into
masterfrom
dev
Jul 10, 2025
Merged

Release version 2.2.0 with BAM and CRAM support#76
charles-plessy merged 29 commits into
masterfrom
dev

Conversation

@charles-plessy

Copy link
Copy Markdown
Collaborator

This release brings support from BAM and CRAM output formats, and allows to specify more than one format at time. It also bring a bunch of small fixes.

Version number is 2.2.0 but I wonder if it should be 3.0.0 if I take semantic versioning seriously, because I renamed one column in a TSV file output in the alignments folder, and it actually broke one of my internal pipelines that was parsing it…

v2.2.0 "Chagara ponzu" - [May 29th 2025]

Added

  • Support for export to BAM and CRAM formats (#31) (#43).
  • SAM/BAM/CRAM alignments files are sorted and their header features all sequences of the target genome.
  • Report ungapped percent identity (#46).
  • Update full-size test genomes to feature more T2T assemblies (#59).
  • Use a single mulled container for LAST, Samtools and open-fonts, to save ~280 Mb of downloads (#58).
  • Allow export to multiple formats (comma-separated list) (#42).
  • Allow skipping of the assembly QC with --skip_assembly_qc (#53).

Dependencies

Dependency Old version New version
SAMTOOLS_BGZIP 1.21
SAMTOOLS_DICT 1.21
SAMTOOLS_FAIDX 1.21

Parameters

Old parameter New parameter
--skip_assembly_qc

Fixed

  • Remove noisy tag in the MULTIQC_ASSEMBLYSCAN_PLOT_DATA local module (#64).
  • Restore BED format support (#56).
  • Document the multiqc_train.txt and multiqc_last_o2o.txt aggregating alignment statistics (#52).
  • Point the test configs samplesheets to nf-core/test-datasets in order to run the AWS full tests (#62).
  • Update metro map, in white background (#71).

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/pairgenomealign branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • 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).

charles-plessy and others added 26 commits May 22, 2025 15:34
Co-authored-by: James A. Fellows Yates <jfy133@gmail.com>
Co-authored-by: James A. Fellows Yates <jfy133@gmail.com>
For milestone 2.2.0
Also, the samplesheet_full.csv was updated to feature more T2T genomes.

Closes #62
Closes #56 for BED support.

SAM, BAM, and CRAM files are sorted for the convenience of the user,
who may for instance want to index them and use them as genome browser
tracks.

For the BAM and CRAM files, a sequence dictionary is computed before
export, to include all the sequences from the _target_ genome including
those that do not have an alignment to a given _query_, so that BAM or
CRAM files from multiple queries can be merged together without breaking
the sort order.

An assembly tag is also added, in case it is useful in the future.
Many small fixes for milestone 2.2.0
Final changes for milestone 2.2.0
@charles-plessy charles-plessy mentioned this pull request Jun 23, 2025
11 tasks
charles-plessy and others added 2 commits June 23, 2025 16:25
Co-authored-by: Matthias Hörtenhuber <mashehu@users.noreply.github.com>
@nf-core-bot

Copy link
Copy Markdown
Member

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 3.2.1.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.

@JudithBernett JudithBernett left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm! Just some minor comments

Comment thread docs/images/pairgenomealign-tubemap.svg
Comment thread docs/usage.md
In some cases, you may wish to change the container or conda environment used by a pipeline steps for a particular tool. By default, nf-core pipelines use containers and software from the [biocontainers](https://biocontainers.pro/) or [bioconda](https://bioconda.github.io/) projects. However, in some cases the pipeline specified version maybe out of date.

To use a different container from the default container or conda environment specified in a pipeline, please see the [updating tool versions](https://nf-co.re/docs/usage/configuration#updating-tool-versions) section of the nf-core website.
To use a different container from the default container or conda environment specified in a pipeline, please see the [updating tool versions](https://nf-co.re/docs/usage/configuration#updating-tool-versions) section of the nf-core website. Also please note that this pipeline uses a [Wave container](https://seqera.io/containers/) combining LAST, Samtools, and open fonts, to save the user from downloading multiple overlapping images (LAST alone, Samtools alone, LAST plus Samtools, and LAST plus open fonts). Changing this container is the simplest way to update LAST if you wish so.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

About the wave container: Maybe it would be good to mention that they are architecture-dependent and that your wave containers are built for amd64 (right?). And that people who need arm64 (e.g., Mac users) need their own container (right?).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I did not realise that wave containers were different from other containers in respect to arm64. Where can I find more information?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I once asked about this on the seqera platform: https://community.seqera.io/t/platform-specificity/1116/6 , but it has been some time since then. I still don't know the best way to handle this, maybe it also does not really matter that much, I was just wondering about it :D

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Uh actually, just saw that they have something in the config:

docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64'

– maybe that's solved then :)

Comment on lines 13 to 14
tuple val(meta3), path(fai)
tuple val(meta4), path(gzi)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

these parameters are unused in the file

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

They are used transparently by the samtools command. Now I sort of remember that in some modules, such parameter names are prefixed with an underscore. Shall I do that at next module update?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

ahh I see :) yes, why not, or just write that in the meta.yml :)

Comment thread workflows/pairgenomealign.nf
Comment thread conf/test.config Outdated
Co-authored-by: Sateesh_Peri <33637490+sateeshperi@users.noreply.github.com>
@charles-plessy charles-plessy merged commit f4e1715 into master Jul 10, 2025
18 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.

4 participants