Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
db8002b
Import samtools/merge module
charles-plessy May 27, 2026
0ab27ac
Add a multi_cram option.
charles-plessy May 28, 2026
8a99fc1
Merge the fasta_bgzip_index_dict_samtools outputs in a single channel.
charles-plessy May 28, 2026
48fcd5a
Also output the dictionary file.
charles-plessy May 29, 2026
f37dcf9
Patch samtools/merge to preserve local paths to the reference.
charles-plessy May 29, 2026
dcfa35f
Correct default value of params.multi_cram, for use in if statements.
charles-plessy May 29, 2026
e20e2ca
Properly handle the case when maf-convert does not need a genome sequ…
charles-plessy May 29, 2026
8f2fa02
Produce a merged CRAM file with all the target-query alignments.
charles-plessy May 29, 2026
4a19cd1
Document the changes.
charles-plessy May 29, 2026
0fcb2dc
Also update the subworkflow's snapshot.
charles-plessy May 29, 2026
c93da93
Merge branch 'dev' into multi-cram-issue-60
charles-plessy May 29, 2026
c870d97
Fix changelog borken by merge
charles-plessy May 29, 2026
c6cbffe
prek run --show-diff-on-failure --color=always --all-files
charles-plessy May 29, 2026
9f136d4
Use CRAM 3.0 to be consistent with maf-convert.
charles-plessy May 30, 2026
cc1fd26
Generate 4 channels at once.
charles-plessy Jun 2, 2026
220e3c2
Use the 4 channels generated with multiMap.
charles-plessy Jun 2, 2026
fbec929
Use the 4 channels generated with multiMap.
charles-plessy Jun 2, 2026
2bfdc19
Use the same bgzipped genome channel everywhere
charles-plessy Jun 2, 2026
1ad1902
prek run --show-diff-on-failure --color=always --all-files
charles-plessy Jun 2, 2026
0e58188
Simplify one if/else statement in just one if.
charles-plessy Jun 2, 2026
15df6b6
Use nf-core's version of FASTA_BGZIP_INDEX_DICT_SAMTOOLS…
charles-plessy Jun 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Added`

- New `--multi_cram` option to produce a multi-query CRAM file combining all the alignments ([#60](https://github.com/nf-core/pairgenomealign/pull/60)).
- New `--multiqc_thumbs` option to produce alignment thumbnails in the MultiQC report ([#93](https://github.com/nf-core/pairgenomealign/pull/93)).
- New `--strand` option to index only one strand of the genome, which reduces memory usage at the expense of speed, and suppresses `-/+` alignments ([#97](https://github.com/nf-core/pairgenomealign/pull/97)).
- New `--query` and `--queryName` convenience options to skip samplesheet creation when there is only one _query_ genome to align ([#112](https://github.com/nf-core/pairgenomealign/pull/112)).
Expand All @@ -15,11 +16,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

| Old parameter | New parameter |
| ------------- | ------------------ |
| | `--multi_cram` |
| | `--multiqc_thumbs` |
| | `--query` |
| | `--queryName` |
| | `--strand` |

### `Dependencies`

| Dependency | Old version | New version |
| ---------------- | ----------- | ----------- |
| `SAMTOOLS_MERGE` | | 1.23.1 |

## [v2.2.3](https://github.com/nf-core/pairgenomealign/releases/tag/2.2.3) "Reitou mikan" - [May 20th 2026]

### `Fixed`
Expand Down
15 changes: 14 additions & 1 deletion conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,16 @@ process {
ext.prefix = { "${meta.id}.m2m_plt_filtered" }
}

withName: ALIGNMENT_CRAM {
publishDir = [
enabled: false
]
}

withName: ALIGNMENT_MERGE {
ext.args = { "-O cram,version=3.0 --write-index" }
}

withName: 'MULTIQC' {
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
publishDir = [
Expand Down Expand Up @@ -140,6 +150,8 @@ process {
]
}

// FASTA_BGZIP_INDEX_DICT_SAMTOOLS subworkflow:

withName: 'SAMTOOLS_BGZIP' {
publishDir = [
path: { "${params.outdir}/alignment" },
Expand All @@ -158,7 +170,8 @@ process {
withName: 'SAMTOOLS_DICT' {
ext.args = { "-u ./${fasta} -a ${meta.id}" }
publishDir = [
enabled: false
path: { "${params.outdir}/alignment" },
mode: params.publish_dir_mode,
]
}

Expand Down
2 changes: 2 additions & 0 deletions docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ Basic statistics on nucleotide content and contig length are collected for align
- `*.o2o_aln.maf.gz` is the _**one-to-one**_ alignment between the _target_ and _query_ genomes.
- `*.o2o_aln.tsv` reports nucleotide percent identity of the _**one-to-one**_ alignment for MultiQC.
- For each _**one-to-one**_ alignment there will be an additional file in a format such as Axt, Chain, GFF or SAM/BAM/CRAM if you used the `--export_aln_to` parameter. These extra files are always compressed with gzip when their format is text-based. The SAM/BAM/CRAM files are always sorted. Their header features all sequences from the _target_ genome, including the ones that did not align to the _query_ so that alignment files can be merged without disturbing the sort order.
- The _target_ genome sequence, compressed with `bgzip` and indexed by `samtools` is also present when BAM or CRAM files are produced.
- A multi-_query_ CRAM sequence is present when `--multi_cram` is used, named like the _target_ genome but with the `cram` suffix.

</details>

Expand Down
1 change: 1 addition & 0 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ The parameters are described in details in the [online documentation](https://nf
- `--m2m` enables the computation of the _many-to-many_ alignment, which reports alignments without enforcing uniqueness. This mode is required for self‑alignments and is useful for duplication or repeat analyses, but can exhaust computing resources on large or highly repetitive genomes.
- The `--skip_dotplot_*` options disable dotplot visualisations. This is particularly useful when comparing very similar and repetitive genomes (for example, two vertebrate genomes from the same species), where dotplots other than the _one‑to‑one_ alignment can become extremely dense and difficult to interpret, without affecting the underlying alignments.
- Users who need formats other than MAF can use the `--export_aln_to` parameter to generate additional coordinate‑based (PSL, GFF) or full alignment (SAM/BAM/CRAM) outputs for downstream analyses. Other formats like Axt or Chain are also supported.
- `--multi_cram` produces a single CRAM file that combines all alignments. It is neither a pangenome nor a multiple sequence alignment; however, once you make use of it—by loading it into the [Integrative Genomics Viewer](https://igv.org/), or extracting slices and converting them into multiple sequence alignments—it becomes a very powerful resource.

## Fixed arguments (taken from the [LAST cookbook][] and the [LAST tuning][] manual)

Expand Down
6 changes: 6 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@
"git_sha": "9a48bce39a67e2cb34b8f125fc1d50f0ad98b616",
"installed_by": ["modules"]
},
"samtools/merge": {
"branch": "master",
"git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120",
"installed_by": ["modules"],
"patch": "modules/nf-core/samtools/merge/samtools-merge.diff"
},
"seqtk/cutn": {
"branch": "master",
"git_sha": "a46713779030a5f508117080cbf4b693dd4c6e33",
Expand Down
10 changes: 10 additions & 0 deletions modules/nf-core/samtools/merge/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 51 additions & 0 deletions modules/nf-core/samtools/merge/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

122 changes: 122 additions & 0 deletions modules/nf-core/samtools/merge/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions modules/nf-core/samtools/merge/samtools-merge.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading