Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ template:
name: pairgenomealign
org: nf-core
outdir: .
version: 3.0.0
version: 3.0.1dev
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [v3.0.1](https://github.com/nf-core/pairgenomealign/releases/tag/3.0.1) "Tokoroten" - [June 29th 2026]

### `Fixed`

- Fix strict syntax error when using `--multi-cram`.
- Run the long test with the `RY4` seed and `--multi-cram` as a better showcase.

## [v3.0.0](https://github.com/nf-core/pairgenomealign/releases/tag/3.0.0) "Tokoroten" - [June 26th 2026]

### `Breaking changes`
Expand Down
2 changes: 1 addition & 1 deletion assets/multiqc_config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
report_comment: >
This report has been generated by the <a href="https://github.com/nf-core/pairgenomealign/releases/tag/3.0.0" target="_blank">nf-core/pairgenomealign</a> analysis pipeline. For information about how to interpret these results, please see the <a href="https://nf-co.re/pairgenomealign/3.0.0/docs/output" target="_blank">documentation</a>.
This report has been generated by the <a href="https://github.com/nf-core/pairgenomealign/tree/dev" target="_blank">nf-core/pairgenomealign</a> analysis pipeline. For information about how to interpret these results, please see the <a href="https://nf-co.re/pairgenomealign/dev/docs/output" target="_blank">documentation</a>.
report_section_order:
"nf-core-pairgenomealign-methods-description":
order: -1000
Expand Down
3 changes: 2 additions & 1 deletion conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ params {
targetName = 'Homo_sapiens_GRCh38.p14'

// Other parameters
seed = 'RY128'
seed = 'RY4'
multi_cram = true

// Genome references
genome = 'R64-1-1'
Expand Down
2 changes: 1 addition & 1 deletion nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ manifest {
mainScript = 'main.nf'
defaultBranch = 'master'
nextflowVersion = '!>=26.04.0'
version = '3.0.0'
version = '3.0.1dev'
doi = ''
}

Expand Down
18 changes: 9 additions & 9 deletions ro-crate-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
{
"@id": "./",
"@type": "Dataset",
"creativeWorkStatus": "Stable",
"datePublished": "2026-06-26T08:37:37+00:00",
"creativeWorkStatus": "InProgress",
"datePublished": "2026-06-28T08:43:43+00:00",
"description": "<h1>\n <picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/images/nf-core-pairgenomealign_logo_dark.png\">\n <img alt=\"nf-core/pairgenomealign\" src=\"docs/images/nf-core-pairgenomealign_logo_light.png\">\n </picture>\n</h1>\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/pairgenomealign)\n[![GitHub Actions CI Status](https://github.com/nf-core/pairgenomealign/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/pairgenomealign/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/pairgenomealign/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/pairgenomealign/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/pairgenomealign/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.13910535-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.13910535)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A526.04.0-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/pairgenomealign)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23pairgenomealign-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/pairgenomealign)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\n**nf-core/pairgenomealign** is a reproducible pipeline for pairwise whole‑genome alignment built on the LAST toolchain. It aligns one or more _query_ genomes to a _target_ genome using adaptive seeding, trained scoring parameters, and global‑score optimisation (chaining).\n\nThe pipeline supports both closely and distantly related genomes by allowing users to tune the target index seeding to trade off speed and memory usage against alignment sensitivity and specificity. Other alignment parameters are automatically inferred by LAST, reducing the need for manual tuning.\n\nAlignments can be reported unfiltered (e.g. for self‑alignments, duplication analyses, or repeat exploration) or reduced to a best global one‑to‑one set (e.g. for synteny analyses). Output is provided in coordinate‑only formats (PSL, GFF) or full alignment formats (MAF, SAM/BAM/CRAM), together with pairwise dot‑plot-style visualisations for rapid inspection.\n\n![Tubemap workflow summary](docs/images/pairgenomealign-tubemap.png \"Tubemap workflow summary\")\n\nThe main steps of the pipeline are:\n\n1. Genome QC ([`assembly-scan`](https://github.com/rpetit3/assembly-scan)).\n2. Genome indexing ([`lastdb`](https://gitlab.com/mcfrith/last/-/blob/main/doc/lastdb.rst)).\n3. Alignment parameter discovery ([`last-train`](https://gitlab.com/mcfrith/last/-/blob/main/doc/last-train.rst)).\n4. Whole-genome pairwise alignments ([`lastal`](https://gitlab.com/mcfrith/last/-/blob/main/doc/lastal.rst)).\n5. Reduction to _one-to-one_ relations ([`last-split`](https://gitlab.com/mcfrith/last/-/blob/main/doc/last-split.rst))\n6. Alignment plotting ([`last-dotplot`](https://gitlab.com/mcfrith/last/-/blob/main/doc/last-dotplot.rst)).\n7. Alignment export to various formats with [`maf-convert`](https://gitlab.com/mcfrith/last/-/blob/main/doc/maf-convert.rst), plus [`Samtools`](https://www.htslib.org/) for SAM/BAM/CRAM.\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,fasta\nquery_1,path-to-query-genome-file-one.fasta\nquery_2,path-to-query-genome-file-two.fasta\n```\n\nEach row represents a fasta file, this can also contain multiple rows to accomodate multiple query genomes in fasta format.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run nf-core/pairgenomealign \\\n -profile <docker/singularity/.../institute> \\\n --target sequencefile.fa \\\n --input samplesheet.csv \\\n --outdir <OUTDIR>\n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/running/run-pipelines#using-parameter-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/pairgenomealign/usage) and the [parameter documentation](https://nf-co.re/pairgenomealign/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/pairgenomealign/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/pairgenomealign/output).\n\n## Credits\n\n`nf-core/pairgenomealign` was originally written by [charles-plessy](https://github.com/charles-plessy); the original versions are available at <https://github.com/oist/plessy_pairwiseGenomeComparison>.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n- [Mahdi Mohammed](https://github.com/U13bs1125) ported the original pipeline to _nf-core_ template 2.14.x.\n- [Martin Frith](https://github.com/mcfrith/), the author of LAST, gave us extensive feedback and advices.\n- [Michael Mansfield](https://github.com/mjmansfi) tested the pipeline and provided critical comments.\n- [Aleksandra Bliznina](https://github.com/aleksandrabliznina) contributed to the creation of the initial `last/*` modules.\n- [Jiashun Miao](https://github.com/miaojiashun) and [Huyen Pham](https://github.com/ngochuyenpham) tested the pipeline on vertebrate genomes.\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](docs/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#pairgenomealign` channel](https://nfcore.slack.com/channels/pairgenomealign) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\nIf you use this pipeline, please cite:\n\n> **Extreme genome scrambling in marine planktonic Oikopleura dioica cryptic species.**\n> Charles Plessy, Michael J. Mansfield, Aleksandra Bliznina, Aki Masunaga, Charlotte West, Yongkai Tan, Andrew W. Liu, Jan Grašič, María Sara del Río Pisula, Gaspar Sánchez-Serna, Marc Fabrega-Torrus, Alfonso Ferrández-Roldán, Vittoria Roncalli, Pavla Navratilova, Eric M. Thompson, Takeshi Onuma, Hiroki Nishida, Cristian Cañestro, Nicholas M. Luscombe.\n> _Genome Res._ 2024. 34: 426-440; doi: [10.1101/2023.05.09.539028](https://doi.org/10.1101/gr.278295.123). PubMed ID: [38621828](https://pubmed.ncbi.nlm.nih.gov/38621828/)\n\n[OIST research news article](https://www.oist.jp/news-center/news/2024/4/25/oikopleura-who-species-identity-crisis-genome-community)\n\nAnd also please cite the [LAST papers](https://gitlab.com/mcfrith/last/-/blob/main/doc/last-papers.rst).\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n",
"hasPart": [
{
Expand Down Expand Up @@ -105,7 +105,7 @@
},
"mentions": [
{
"@id": "#d8ba32c4-7749-4683-94f4-dc36f857cf59"
"@id": "#e4cf3328-d836-493b-bc86-21b56cf26c9e"
}
],
"name": "nf-core/pairgenomealign"
Expand Down Expand Up @@ -146,7 +146,7 @@
}
],
"dateCreated": "",
"dateModified": "2026-06-26T17:37:37Z",
"dateModified": "2026-06-28T17:43:43Z",
"dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/",
"keywords": [
"nf-core",
Expand All @@ -173,10 +173,10 @@
},
"url": [
"https://github.com/nf-core/pairgenomealign",
"https://nf-co.re/pairgenomealign/3.0.0/"
"https://nf-co.re/pairgenomealign/dev/"
],
"version": [
"3.0.0"
"3.0.1dev"
]
},
{
Expand All @@ -192,11 +192,11 @@
"version": "!>=26.04.0"
},
{
"@id": "#d8ba32c4-7749-4683-94f4-dc36f857cf59",
"@id": "#e4cf3328-d836-493b-bc86-21b56cf26c9e",
"@type": "TestSuite",
"instance": [
{
"@id": "#cb8849ff-1b52-4bbd-8bb8-ef3daee14f88"
"@id": "#d135e5c9-3d23-41fe-abc4-54c87a421827"
}
],
"mainEntity": {
Expand All @@ -205,7 +205,7 @@
"name": "Test suite for nf-core/pairgenomealign"
},
{
"@id": "#cb8849ff-1b52-4bbd-8bb8-ef3daee14f88",
"@id": "#d135e5c9-3d23-41fe-abc4-54c87a421827",
"@type": "TestInstance",
"name": "GitHub Actions workflow for testing nf-core/pairgenomealign",
"resource": "repos/nf-core/pairgenomealign/actions/workflows/nf-test.yml",
Expand Down
4 changes: 2 additions & 2 deletions tests/default.nf.test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"seqtk": "1.4-r122"
},
"Workflow": {
"nf-core/pairgenomealign": "v3.0.0"
"nf-core/pairgenomealign": "v3.0.1dev"
}
},
[
Expand Down Expand Up @@ -131,7 +131,7 @@
"MT192765.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"timestamp": "2026-06-26T18:13:11.395194951",
"timestamp": "2026-06-28T17:42:53.028869312",
"meta": {
"nf-test": "0.9.5",
"nextflow": "26.04.4"
Expand Down
3 changes: 2 additions & 1 deletion workflows/pairgenomealign.nf
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ workflow PAIRGENOMEALIGN {

ch_targetgenome_indexed = ch_targetgenome.map { meta, target -> [ meta, target, [], [], [], [] ] }
export_formats = params.export_aln_to.tokenize(',')
if (params.multi_cram | export_formats.contains('cram') | export_formats.contains('bam') | export_formats.contains('bcf') | export_formats.contains('gff')) {
def needs_genome = ['cram','bam','bcf','gff'].any { export_formats.contains(it) }
if (params.multi_cram || needs_genome) {
FASTA_BGZIP_INDEX_DICT_SAMTOOLS( ch_targetgenome )
ch_targetgenome_indexed = FASTA_BGZIP_INDEX_DICT_SAMTOOLS.out.fasta_fai_gzi_dict.first()
}
Expand Down
Loading