diff --git a/.github/actions/get-shards/action.yml b/.github/actions/get-shards/action.yml index e2833ee9..2f6859ce 100644 --- a/.github/actions/get-shards/action.yml +++ b/.github/actions/get-shards/action.yml @@ -21,7 +21,7 @@ runs: using: "composite" steps: - name: Install nf-test - uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2 + uses: nf-core/setup-nf-test@v2 with: version: ${{ env.NFT_VER }} - name: Get number of shards diff --git a/.github/actions/nf-test/action.yml b/.github/actions/nf-test/action.yml index 4175e3c8..ba7095e8 100644 --- a/.github/actions/nf-test/action.yml +++ b/.github/actions/nf-test/action.yml @@ -20,24 +20,24 @@ runs: using: "composite" steps: - name: Setup Nextflow - uses: nf-core/setup-nextflow@893c28b667aedeba26e37f296d260ccc5bc4d914 # v3 + uses: nf-core/setup-nextflow@v3 with: version: "${{ env.NXF_VERSION }}" - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7 with: - python-version: "3.14" + python-version: "3.15" - name: Install nf-test - uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2 + uses: nf-core/setup-nf-test@v2 with: version: "${{ env.NFT_VER }}" install-pdiff: true - name: Setup apptainer if: contains(inputs.profile, 'singularity') - uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2.0.0 + uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2 - name: Set up Singularity if: contains(inputs.profile, 'singularity') @@ -48,7 +48,7 @@ runs: - name: Conda setup if: contains(inputs.profile, 'conda') - uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4 + uses: conda-incubator/setup-miniconda@be893c923ea9cf1cf7cd510fbdde27c7e18cbdcb # v4.1.0 with: auto-update-conda: true conda-solver: libmamba diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 9c965f00..a4a16d62 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -23,7 +23,7 @@ jobs: echo "revision=${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT" - name: Launch workflow via Seqera Platform - uses: seqeralabs/action-tower-launch@9856f1ae20c8b02884733f79b7cd0e3ea5d2bdab # v2.4 + uses: seqeralabs/action-tower-launch@v2 with: workspace_id: ${{ vars.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} @@ -57,7 +57,7 @@ jobs: } profiles: test_full - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: Seqera Platform debug log file path: | diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index c0b68716..20bbdba9 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -12,7 +12,7 @@ jobs: steps: # Launch workflow using Seqera Platform CLI tool action - name: Launch workflow via Seqera Platform - uses: seqeralabs/action-tower-launch@9856f1ae20c8b02884733f79b7cd0e3ea5d2bdab # v2.4 + uses: seqeralabs/action-tower-launch@v2 with: workspace_id: ${{ vars.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} @@ -25,7 +25,7 @@ jobs: } profiles: test - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: Seqera Platform debug log file path: | diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 92e27d8a..3e14545f 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -56,7 +56,7 @@ jobs: - name: Upload PR comment artifact if: failure() - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: pr-comment path: pr-comment/ diff --git a/.github/workflows/download_pipeline.yml b/.github/workflows/download_pipeline.yml index e749ad59..ff451264 100644 --- a/.github/workflows/download_pipeline.yml +++ b/.github/workflows/download_pipeline.yml @@ -42,18 +42,18 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Install Nextflow - uses: nf-core/setup-nextflow@893c28b667aedeba26e37f296d260ccc5bc4d914 # v3 + uses: nf-core/setup-nextflow@v3 - name: Disk space cleanup - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + uses: jlumbroso/free-disk-space@ceedf095f4ec1a097402bc6bd80831f2e1a6fde6 # v2.0.0 - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7 with: - python-version: "3.14" + python-version: "3.15" architecture: "x64" - name: Setup Apptainer - uses: eWaterCycle/setup-apptainer@4bb22c52d4f63406c49e94c804632975787312b3 # v2.0.0 + uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2 with: apptainer-version: 1.3.6 @@ -135,7 +135,7 @@ jobs: fi - name: Upload Nextflow logfile for debugging purposes - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: nextflow_logfile.txt path: .nextflow.log* diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 277f12fb..7811abe5 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -14,10 +14,10 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Install Nextflow - uses: nf-core/setup-nextflow@893c28b667aedeba26e37f296d260ccc5bc4d914 # v3 + uses: nf-core/setup-nextflow@v3 - name: Run prek - uses: j178/prek-action@5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16 # v2 + uses: j178/prek-action@44924fe9ef4a6f88253c4b6b1bf11c689d3ce53d # v3.1.0 nf-core: runs-on: ubuntu-latest @@ -26,15 +26,15 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Install Nextflow - uses: nf-core/setup-nextflow@893c28b667aedeba26e37f296d260ccc5bc4d914 # v3 + uses: nf-core/setup-nextflow@v3 - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7 with: - python-version: "3.14" + python-version: "3.15" architecture: "x64" - name: Setup uv - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 - name: read .nf-core.yml uses: pietrobolcato/action-read-yaml@9f13718d61111b69f30ab4ac683e67a56d254e1d # 1.1.0 @@ -67,7 +67,7 @@ jobs: - name: Upload linting log file artifact if: ${{ always() }} - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: linting-logs path: | @@ -88,7 +88,7 @@ jobs: - name: Upload PR comment artifact if: ${{ always() }} - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: pr-comment path: pr-comment/ diff --git a/.github/workflows/nf-test.yml b/.github/workflows/nf-test.yml index 683b1983..9181a640 100644 --- a/.github/workflows/nf-test.yml +++ b/.github/workflows/nf-test.yml @@ -129,7 +129,7 @@ jobs: - name: Upload PR comment fragment if: ${{ always() && steps.run_nf_test.outcome == 'failure' && matrix.NXF_VER == 'latest-everything' }} - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7 with: name: pr-comment-fragment-${{ strategy.job-index }} path: pr-comment-fragment/ @@ -163,7 +163,7 @@ jobs: - name: Download PR comment fragments if: ${{ always() }} - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 continue-on-error: true with: pattern: pr-comment-fragment-* @@ -197,7 +197,7 @@ jobs: - name: Upload PR comment artifact if: ${{ always() }} - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7 with: name: pr-comment path: pr-comment/ diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index ab7b59dd..093fa638 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -31,7 +31,7 @@ jobs: if: github.event.workflow_run.event == 'pull_request' steps: - name: Download PR comment artifact - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + uses: dawidd6/action-download-artifact@eab87c9830c39eff17e5a6eadb20bfb4bc880477 # v27 with: run_id: ${{ github.event.workflow_run.id }} name: pr-comment diff --git a/.github/workflows/template-version-comment.yml b/.github/workflows/template-version-comment.yml index 149e2851..775758ba 100644 --- a/.github/workflows/template-version-comment.yml +++ b/.github/workflows/template-version-comment.yml @@ -54,7 +54,7 @@ jobs: fi - name: Upload PR comment artifact - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: pr-comment path: pr-comment/ diff --git a/.gitignore b/.gitignore index c8f923e5..d6d0f1b4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,5 @@ null/ .vscode .nf-test* .lineage/ +.nf-test/ +.nf-test.log diff --git a/.nf-core.yml b/.nf-core.yml index 0afcd510..aa20e2d0 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -13,7 +13,7 @@ lint: - .github/workflows/branch.yml - .github/workflows/linting.yml multiqc_config: false -nf_core_version: 4.1.0 +nf_core_version: 4.2.1 repository_type: pipeline template: author: Pixelgen Technologies AB @@ -27,4 +27,4 @@ template: - fastqc - multiqc - igenomes - version: 5.0.3 + version: 6.0.0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b8719a04..f4187ee7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: hooks: - id: prettier additional_dependencies: - - prettier@3.9.6 + - prettier@3.9.10 - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..8389b2db --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,12 @@ +{ + // See https://github.com/nf-core/vscode-extensionpack + "recommendations": [ + "codezombiech.gitignore", + "esbenp.prettier-vscode", + "jebbs.markdown-extended", + "mechatroner.rainbow-csv", + "nextflow.nextflow", + "onnovalkering.vscode-singularity", + "redhat.vscode-yaml" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 4c79cdd4..a0033586 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,4 @@ { - "markdown.styles": [ - "public/vscode_markdown.css" - ], - "nextflow.formatting.harshilAlignment": true + // Render nf-core website admonitions nicely in markdown previews + "markdown.styles": ["https://nf-co.re/vscode_markdown.css"] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f1cd392..2a063f6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,40 @@ 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). +## [[6.0.0](https://github.com/nf-core/pixelator/releases/tag/6.0.0)] - 2026-11-02 + +### Major + +#### Enhancements & fixes + +- Update pixelator to 0.31.0. By @Aratz [#270](https://github.com/nf-core/pixelator/pull/270) + +### Patches + +#### Enhancements & fixes + +- Setup AWS megatests. By @Aratz [#267](https://github.com/nf-core/pixelator/pull/267) +- Update nf-core template to 4.2.1 by @Aratz [#269](https://github.com/nf-core/pixelator/pull/269) +- Update pixelatorES to 0.15.1. By @Aratz [#270](https://github.com/nf-core/pixelator/pull/270) + +### Parameters + +| Old parameter | New parameter | +| ---------------------------------------------- | ------------- | +| `--pna_analysis_proximity_nbr_of_permutations` | | + +> [!NOTE] +> Parameter has been **updated** if both old and new parameter information is present. +> Parameter has been **added** if just the new parameter information is present. +> Parameter has been **removed** if new parameter information isn't present. + +### Software dependencies + +| Dependency | Old version | New version | +| ------------- | ----------- | ----------- | +| `pixelator` | 0.30.0 | 0.31.0 | +| `pixelatorES` | 0.11.2 | 0.15.1 | + ## [[5.0.3](https://github.com/nf-core/pixelator/releases/tag/5.0.3)] - 2026-10-07 ### Patches diff --git a/README.md b/README.md index 0c020a81..ca8b9592 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com) [![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/) -[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.1.0-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.1.0) +[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.2.1-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.2.1) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) diff --git a/conf/base.config b/conf/base.config index 1cd3e261..4baed515 100644 --- a/conf/base.config +++ b/conf/base.config @@ -61,7 +61,6 @@ process { maxRetries = 2 } withLabel: process_gpu { - ext.use_gpu = { workflow.profile.contains('gpu') } accelerator = { workflow.profile.contains('gpu') ? 1 : null } } } diff --git a/conf/modules.pna.config b/conf/modules.pna.config index 9fdf35d1..e39aa1c2 100644 --- a/conf/modules.pna.config +++ b/conf/modules.pna.config @@ -218,7 +218,6 @@ process { ext.args = { [ params.pna_analysis_compute_proximity ? "--compute-proximity" : '', - params.pna_analysis_proximity_nbr_of_permutations ? "--proximity-nbr-of-permutations ${params.pna_analysis_proximity_nbr_of_permutations}" : '', params.pna_analysis_compute_k_cores ? "--compute-k-cores" : '', params.pna_analysis_compute_svd_var_explained ? "--compute-svd-var-explained" : '', params.pna_analysis_svd_nbr_of_pivots ? "--svd-nbr-of-pivots ${params.pna_analysis_svd_nbr_of_pivots}" : '', diff --git a/conf/test_full.config b/conf/test_full.config index 9c42b7cb..7ac6a81b 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for running minimal tests + Nextflow config file for running full-size tests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defines input files and everything required to run a fast and simple pipeline test for the pna pipline @@ -11,4 +11,12 @@ ---------------------------------------------------------------------------------------- */ -includeConfig 'test_proxiome_v2.config' +params { + config_profile_name = 'Full test profile' + config_profile_description = 'Full test profile to check pipeline function' + + // Input data + input = "https://raw.githubusercontent.com/nf-core/test-datasets/f6fd3ce6cd14c0b94a4f6e26a02d9956b45824a7/new-test-data/samplesheet/pna/samplesheet_full_tests.csv" + + technology = "proxiome-v2" +} diff --git a/docs/images/nf-core-pixelator-metromap.svg b/docs/images/nf-core-pixelator-metromap.svg index 870f814d..372a50e8 100644 --- a/docs/images/nf-core-pixelator-metromap.svg +++ b/docs/images/nf-core-pixelator-metromap.svg @@ -1,56 +1,56 @@ - + - - - - + + + + - + - + - - - - - - + + + + + + - + - - - + + + - + - + - + - - + + - + - - - - + + + + - - - + + + @@ -60,200 +60,200 @@ - + - - - - + + + + - - - - - + + + + + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + diff --git a/docs/usage.md b/docs/usage.md index 3f61cf83..3c808a51 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -130,7 +130,7 @@ uses pool names for pooled processing steps and sample names after sample callin ```csv pool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2 pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz -pool2,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz +pool2,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool2_R1_001.fastq.gz,pool2_R2_001.fastq.gz ``` ### Multiple runs of the same sample diff --git a/modules/local/experiment_summary/main.nf b/modules/local/experiment_summary/main.nf index e92cbd79..7f7ff258 100644 --- a/modules/local/experiment_summary/main.nf +++ b/modules/local/experiment_summary/main.nf @@ -4,8 +4,8 @@ process EXPERIMENT_SUMMARY { label "error_retry" container "${params.experiment_summary_container?: workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelatores:0.12.0' - : 'quay.io/pixelgen-technologies/pixelatores:0.12.0'}" + ? 'quay.io/pixelgen-technologies/pixelatores:0.15.1' + : 'quay.io/pixelgen-technologies/pixelatores:0.15.1'}" input: path samplesheet_path diff --git a/modules/local/experiment_summary/tests/main.nf.test.snap b/modules/local/experiment_summary/tests/main.nf.test.snap index 29ab59f5..9b93a93b 100644 --- a/modules/local/experiment_summary/tests/main.nf.test.snap +++ b/modules/local/experiment_summary/tests/main.nf.test.snap @@ -11,14 +11,14 @@ [ "EXPERIMENT_SUMMARY", "experiment-summary", - "0.12.0 " + "0.15.1 " ] ] ], - "timestamp": "2026-06-17T08:45:43.718413469", + "timestamp": "2026-11-02T10:02:10.053644359", "meta": { "nf-test": "0.9.5", - "nextflow": "25.10.5" + "nextflow": "26.10.4" } }, "PNA experiment summary - stub": { @@ -27,14 +27,14 @@ [ "EXPERIMENT_SUMMARY", "experiment-summary", - "0.12.0 " + "0.15.1 " ] ] ], - "timestamp": "2026-06-17T08:44:46.211800729", + "timestamp": "2026-11-02T09:59:31.911836514", "meta": { "nf-test": "0.9.5", - "nextflow": "25.10.5" + "nextflow": "26.10.4" } } -} +} \ No newline at end of file diff --git a/modules/local/pixelator/amplicon/main.nf b/modules/local/pixelator/amplicon/main.nf index 5d61da15..1f71d18e 100644 --- a/modules/local/pixelator/amplicon/main.nf +++ b/modules/local/pixelator/amplicon/main.nf @@ -5,8 +5,8 @@ process PIXELATOR_AMPLICON { // TODO: Add conda // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(reads, arity: '1..*') diff --git a/modules/local/pixelator/amplicon/tests/main.nf.test.snap b/modules/local/pixelator/amplicon/tests/main.nf.test.snap index 10f36224..a3e87ac3 100644 --- a/modules/local/pixelator/amplicon/tests/main.nf.test.snap +++ b/modules/local/pixelator/amplicon/tests/main.nf.test.snap @@ -59,7 +59,7 @@ [ "PIXELATOR_AMPLICON", "pixelator", - "0.30.0" + "0.31.0" ] ], "amplicon": [ @@ -110,7 +110,7 @@ [ "PIXELATOR_AMPLICON", "pixelator", - "0.30.0" + "0.31.0" ] ] } @@ -139,7 +139,7 @@ [ "PIXELATOR_AMPLICON", "pixelator", - "0.30.0" + "0.31.0" ] ] ], diff --git a/modules/local/pixelator/analysis/main.nf b/modules/local/pixelator/analysis/main.nf index f69d78df..e1774755 100644 --- a/modules/local/pixelator/analysis/main.nf +++ b/modules/local/pixelator/analysis/main.nf @@ -6,8 +6,8 @@ process PIXELATOR_ANALYSIS { // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(data) diff --git a/modules/local/pixelator/analysis/tests/main.nf.test.snap b/modules/local/pixelator/analysis/tests/main.nf.test.snap index e6886491..5d469475 100644 --- a/modules/local/pixelator/analysis/tests/main.nf.test.snap +++ b/modules/local/pixelator/analysis/tests/main.nf.test.snap @@ -17,7 +17,7 @@ [ "PIXELATOR_ANALYSIS", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -103,7 +103,7 @@ [ "PIXELATOR_ANALYSIS", "pixelator", - "0.30.0" + "0.31.0" ] ], "all_results": [ @@ -169,7 +169,7 @@ [ "PIXELATOR_ANALYSIS", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/modules/local/pixelator/collapse/main.nf b/modules/local/pixelator/collapse/main.nf index eebfddca..7b6d0993 100644 --- a/modules/local/pixelator/collapse/main.nf +++ b/modules/local/pixelator/collapse/main.nf @@ -7,8 +7,8 @@ process PIXELATOR_COLLAPSE { // TODO: Add conda // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(reads), path(panel_file), val(panel), val(design) diff --git a/modules/local/pixelator/collapse/tests/main.nf.test.snap b/modules/local/pixelator/collapse/tests/main.nf.test.snap index 8f25381e..3f9fb82e 100644 --- a/modules/local/pixelator/collapse/tests/main.nf.test.snap +++ b/modules/local/pixelator/collapse/tests/main.nf.test.snap @@ -17,7 +17,7 @@ [ "PIXELATOR_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -91,7 +91,7 @@ [ "PIXELATOR_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ], "collapsed": [ @@ -146,7 +146,7 @@ [ "PIXELATOR_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/modules/local/pixelator/combine_collapse/main.nf b/modules/local/pixelator/combine_collapse/main.nf index 558e0618..fc847b2b 100644 --- a/modules/local/pixelator/combine_collapse/main.nf +++ b/modules/local/pixelator/combine_collapse/main.nf @@ -6,8 +6,8 @@ process PIXELATOR_COMBINE_COLLAPSE { // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(parquet_files, stageAs: "parquet/*"), path(json_report_files, stageAs: "reports/*") diff --git a/modules/local/pixelator/combine_collapse/tests/main.nf.test.snap b/modules/local/pixelator/combine_collapse/tests/main.nf.test.snap index 961942d8..6b59bfe6 100644 --- a/modules/local/pixelator/combine_collapse/tests/main.nf.test.snap +++ b/modules/local/pixelator/combine_collapse/tests/main.nf.test.snap @@ -16,7 +16,7 @@ [ "PIXELATOR_COMBINE_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -86,7 +86,7 @@ [ "PIXELATOR_COMBINE_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ], "log": [ @@ -137,7 +137,7 @@ [ "PIXELATOR_COMBINE_COLLAPSE", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/modules/local/pixelator/demux/main.nf b/modules/local/pixelator/demux/main.nf index 43783fc0..4637e053 100644 --- a/modules/local/pixelator/demux/main.nf +++ b/modules/local/pixelator/demux/main.nf @@ -6,8 +6,8 @@ process PIXELATOR_DEMUX { // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(reads), path(panel_file), val(panel), val(design) diff --git a/modules/local/pixelator/demux/tests/main.nf.test.snap b/modules/local/pixelator/demux/tests/main.nf.test.snap index 418b1e82..27eccc25 100644 --- a/modules/local/pixelator/demux/tests/main.nf.test.snap +++ b/modules/local/pixelator/demux/tests/main.nf.test.snap @@ -20,7 +20,7 @@ [ "PIXELATOR_DEMUX", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -115,7 +115,7 @@ [ "PIXELATOR_DEMUX", "pixelator", - "0.30.0" + "0.31.0" ] ], "demuxed": [ @@ -191,7 +191,7 @@ [ "PIXELATOR_DEMUX", "pixelator", - "0.30.0" + "0.31.0" ] ] } @@ -237,7 +237,7 @@ [ "PIXELATOR_DEMUX", "pixelator", - "0.30.0" + "0.31.0" ] ] ], diff --git a/modules/local/pixelator/denoise/main.nf b/modules/local/pixelator/denoise/main.nf index bb2a0041..3541cca7 100644 --- a/modules/local/pixelator/denoise/main.nf +++ b/modules/local/pixelator/denoise/main.nf @@ -6,8 +6,8 @@ process PIXELATOR_DENOISE { // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(data) diff --git a/modules/local/pixelator/denoise/tests/main.nf.test.snap b/modules/local/pixelator/denoise/tests/main.nf.test.snap index a3f438e1..f9815acb 100644 --- a/modules/local/pixelator/denoise/tests/main.nf.test.snap +++ b/modules/local/pixelator/denoise/tests/main.nf.test.snap @@ -16,7 +16,7 @@ [ "PIXELATOR_DENOISE", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -102,7 +102,7 @@ [ "PIXELATOR_DENOISE", "pixelator", - "0.30.0" + "0.31.0" ] ], "all_results": [ @@ -168,7 +168,7 @@ [ "PIXELATOR_DENOISE", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/modules/local/pixelator/graph/main.nf b/modules/local/pixelator/graph/main.nf index f9e22ce9..53cb0440 100644 --- a/modules/local/pixelator/graph/main.nf +++ b/modules/local/pixelator/graph/main.nf @@ -4,8 +4,8 @@ process PIXELATOR_GRAPH { label 'process_long' container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(edge_list), path(panel_file), val(panel) diff --git a/modules/local/pixelator/graph/tests/main.nf.test.snap b/modules/local/pixelator/graph/tests/main.nf.test.snap index 4ed5c7ac..48d97ee9 100644 --- a/modules/local/pixelator/graph/tests/main.nf.test.snap +++ b/modules/local/pixelator/graph/tests/main.nf.test.snap @@ -75,7 +75,7 @@ [ "PIXELATOR_GRAPH", "pixelator", - "0.30.0" + "0.31.0" ] ], "all_results": [ @@ -141,7 +141,7 @@ [ "PIXELATOR_GRAPH", "pixelator", - "0.30.0" + "0.31.0" ] ] } @@ -170,7 +170,7 @@ [ "PIXELATOR_GRAPH", "pixelator", - "0.30.0" + "0.31.0" ] ] ], diff --git a/modules/local/pixelator/layout/main.nf b/modules/local/pixelator/layout/main.nf index 77a01a8a..198ff30b 100644 --- a/modules/local/pixelator/layout/main.nf +++ b/modules/local/pixelator/layout/main.nf @@ -5,8 +5,8 @@ process PIXELATOR_LAYOUT { // TODO: Add conda // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(data) diff --git a/modules/local/pixelator/layout/tests/main.nf.test.snap b/modules/local/pixelator/layout/tests/main.nf.test.snap index dbc95a87..841b42f9 100644 --- a/modules/local/pixelator/layout/tests/main.nf.test.snap +++ b/modules/local/pixelator/layout/tests/main.nf.test.snap @@ -17,7 +17,7 @@ [ "PIXELATOR_LAYOUT", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -103,7 +103,7 @@ [ "PIXELATOR_LAYOUT", "pixelator", - "0.30.0" + "0.31.0" ] ], "all_results": [ @@ -169,7 +169,7 @@ [ "PIXELATOR_LAYOUT", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/modules/local/pixelator/list_options/main.nf b/modules/local/pixelator/list_options/main.nf index 60a07c7c..c5e2a0d8 100644 --- a/modules/local/pixelator/list_options/main.nf +++ b/modules/local/pixelator/list_options/main.nf @@ -5,8 +5,8 @@ process PIXELATOR_LIST_OPTIONS { // TODO: Add conda back // conda "${moduleDir}/environment.yml" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" output: path "design_options.txt", emit: designs diff --git a/modules/local/pixelator/sample_calling/main.nf b/modules/local/pixelator/sample_calling/main.nf index 230dde46..5d80b04d 100644 --- a/modules/local/pixelator/sample_calling/main.nf +++ b/modules/local/pixelator/sample_calling/main.nf @@ -5,8 +5,8 @@ process PIXELATOR_SAMPLE_CALLING { // TODO: Add conda // conda "bioconda::pixelator=0.18.2" container "${params.pixelator_container?:workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'quay.io/pixelgen-technologies/pixelator:0.30.0' - : 'quay.io/pixelgen-technologies/pixelator:0.30.0'}" + ? 'quay.io/pixelgen-technologies/pixelator:0.31.0' + : 'quay.io/pixelgen-technologies/pixelator:0.31.0'}" input: tuple val(meta), path(data), path(samplesheet) diff --git a/modules/local/pixelator/sample_calling/tests/main.nf.test.snap b/modules/local/pixelator/sample_calling/tests/main.nf.test.snap index 1a253c5a..8c4ff1dd 100644 --- a/modules/local/pixelator/sample_calling/tests/main.nf.test.snap +++ b/modules/local/pixelator/sample_calling/tests/main.nf.test.snap @@ -23,7 +23,7 @@ [ "PIXELATOR_SAMPLE_CALLING", "pixelator", - "0.30.0" + "0.31.0" ] ] ], @@ -114,7 +114,7 @@ [ "PIXELATOR_SAMPLE_CALLING", "pixelator", - "0.30.0" + "0.31.0" ] ], "all_results": [ @@ -184,7 +184,7 @@ [ "PIXELATOR_SAMPLE_CALLING", "pixelator", - "0.30.0" + "0.31.0" ] ] } diff --git a/nextflow.config b/nextflow.config index 5ffcdc71..1b16c19c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -89,7 +89,6 @@ params { // PNA analysis pna_analysis_compute_proximity = true - pna_analysis_proximity_nbr_of_permutations = 100 pna_analysis_compute_k_cores = true pna_analysis_compute_svd_var_explained = true pna_analysis_svd_nbr_of_pivots = 50 @@ -385,14 +384,14 @@ manifest { mainScript = 'main.nf' defaultBranch = 'master' nextflowVersion = '!>=25.10.4' - version = '5.0.3' + version = '6.0.0' doi = '10.1101/2023.06.05.543770' diagram = 'docs/images/nf-core-pixelator-metromap.svg' } // Nextflow plugins plugins { - id 'nf-schema@2.7.2' + id 'nf-schema@2.7.3' // Validation of pipeline parameters and creation of an input channel from a sample sheet id 'nf-slack@0.5.1' } diff --git a/nextflow_schema.json b/nextflow_schema.json index 2e7cb488..fb81fc2a 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -420,13 +420,6 @@ "type": "boolean", "default": true }, - "pna_analysis_proximity_nbr_of_permutations": { - "type": "integer", - "fa_icon": "fas fa-random", - "description": "Number of permutations to use when computing the expected proximity scores", - "default": 100, - "minimum": 50 - }, "pna_analysis_compute_svd_var_explained": { "description": "Compute the variance explained by the SVD components", "fa_icon": "fas fa-chart-pie", @@ -645,6 +638,7 @@ }, "trace_report_suffix": { "type": "string", + "fa_icon": "far fa-calendar", "description": "Suffix to add to the trace report filename. Default is the date and time in the format yyyy-MM-dd_HH-mm-ss.", "hidden": true }, diff --git a/nf-test.config b/nf-test.config index 598e68d5..f00cafb5 100644 --- a/nf-test.config +++ b/nf-test.config @@ -37,7 +37,7 @@ config { // load the necessary plugins plugins { - load "nft-utils@0.0.3" + load "nft-utils@1.2.1" load "nft-fasta@1.0.0" load "nft-compress@0.1.0" } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index 09a4b39a..962c09f3 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -22,8 +22,8 @@ "@id": "./", "@type": "Dataset", "creativeWorkStatus": "Stable", - "datePublished": "2026-10-07T06:08:42+00:00", - "description": "

\n \n \n \"nf-core/pixelator\"\n \n

\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/pixelator)\n[![GitHub Actions CI Status](https://github.com/nf-core/pixelator/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/pixelator/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/pixelator/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/pixelator/actions/workflows/linting.yml)\n[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/pixelator/results)\n[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.10015112-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.10015112)\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%A525.10.4-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.1.0-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.1.0)\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/pixelator)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23pixelator-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/pixelator)[![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/pixelator** is a bioinformatics best-practice analysis pipeline for analysis of data from the\nProximity Network (PNA) assay. It takes a samplesheet as input and will process your data\nusing `pixelator` to produce a PXL file containing single-cell protein abundance and protein interactomics data.\n\n![](./docs/images/nf-core-pixelator-metromap.svg)\n\nThe pipeline will run the following steps:\n\n1. Do quality control checks of input reads and build amplicons ([`pixelator single-cell-pna amplicon`](https://github.com/PixelgenTechnologies/pixelator))\n2. Create groups of amplicons based on their marker assignments ([`pixelator single-cell-pna demux`](https://github.com/PixelgenTechnologies/pixelator))\n3. Derive original molecules to use as edge list downstream by error correcting, and counting input amplicons ([`pixelator single-cell-pna collapse`](https://github.com/PixelgenTechnologies/pixelator))\n4. Compute the components of the graph from the edge list in order to create putative cells ([`pixelator single-cell-pna graph`](https://github.com/PixelgenTechnologies/pixelator))\n5. _(Conditional; only for PNA hashed data)_ Assign components to samples in pooled experiments ([`pixelator single-cell-pna sample-calling`](https://github.com/PixelgenTechnologies/pixelator))\n6. Denoise the cell graphs ([`pixelator single-cell-pna denoise`](https://github.com/PixelgenTechnologies/pixelator))\n7. Analyze the spatial information in the cell graphs ([`pixelator single-cell-pna analysis`](https://github.com/PixelgenTechnologies/pixelator))\n8. Generate 3D graph layouts for visualization of cells ([`pixelator single-cell-pna layout`](https://github.com/PixelgenTechnologies/pixelator))\n9. Proxiome Experiment Summary generation using [PixelatorES](https://github.com/PixelgenTechnologies/pixelatorES)\n\n> [!NOTE]\n> If you are looking to run the pipeline with Molecular Pixelation (MPX) data. Please refer to the [release 2.3.1](https://nf-co.re/pixelator/2.3.1/),\n> which is the last version to support that data type.\n\n> [!WARNING]\n> Since Nextflow 23.07.0-edge, Nextflow no longer mounts the host's home directory when using Apptainer or Singularity.\n> This causes issues in some dependencies. As a workaround, you can revert to the old behavior by setting the environment variable\n> `NXF_APPTAINER_HOME_MOUNT` or `NXF_SINGULARITY_HOME_MOUNT` to `true` in the machine from which you launch the pipeline.\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 (the exact values you need to input depend on the design and panel you are using - please see [https://nf-co.re/pixelator/usage](https://nf-co.re/pixelator/usage) for more details).\nFor hashed PNA data (Proxiome kit v2), the samplesheet will look as follows:\n\n`samplesheet.csv`:\n\n```csv\npool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2\npool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz\npool1,2,sample2,s2,case,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz\npool2,1,sample3,s3,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool2_R1_001.fastq.gz,pool2_R2_001.fastq.gz\n```\n\n> [!NOTE]\n> For an example with non-hashed PNA data (Proxiome kit v1), see [Proxiome v1 samplesheet](../assets/example_samplesheet_proxiome_v1.csv)\n\n> [!WARNING]\n> Panel and design names have been completely renamed in pixelator 0.26\n> (nf-core/pixelator 4.0 and above). Refer to the pixelator\n> [changelog](https://github.com/PixelgenTechnologies/pixelator/releases/tag/v0.26.0)\n> for more details.\n\nEach row represents a sample and gives the design, a panel file and the input fastq files.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run nf-core/pixelator \\\n -profile , \\\n --technology \n --input samplesheet.csv \\\n --outdir \n```\n\n> [!WARNING]\n> This version of the pipeline does not support conda environments, due to issues with upstream dependencies.\n> This means you cannot use the `conda` and `mamba` profiles. Please use `docker` or `singularity` instead.\n> We hope to add support for conda environments in the future.\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/pixelator/usage) and the [parameter documentation](https://nf-co.re/pixelator/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/pixelator/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/pixelator/output).\n\n## Credits\n\nnf-core/pixelator was originally written for [Pixelgen Technologies AB](https://www.pixelgen.com/) by:\n\n- Florian De Temmerman\n- Johan Dahlberg\n- Alvaro Martinez Barrio\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 `#pixelator` channel](https://nfcore.slack.com/channels/pixelator) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\nIf you use nf-core/pixelator for your analysis, please cite it using the following doi: [10.5281/zenodo.10015112](https://doi.org/10.5281/zenodo.10015112)\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\nYou can cite the Proximity Network Technology as follows:\n\n> **Single-Cell Protein Interactomes by the Proximity Network Assay.**\n>\n> Filip Karlsson, Michele Simonetti, Christina Galonska, Max Karlsson, Hanna van Ooijen, Tomasz Kallas, Divya Thiagarajan, Maud Schweitzer, Ludvig Larsson, Vincent van Hoef, Pouria Tajvar, Johan Dahlberg, Florian De Temmerman, Louise Leijonancker, Sylvain Geny, Rikard Forlin, Erika Negrini, Stefan Petkov, Lovisa Franzén, Jessica Bunz, Christine Moge, Henrik Everberg, Petter Brodin, Alvaro Martinez Barrio, Simon Fredriksson\n>\n> _bioRxiv_ 2025.06.19.660329; doi: [10.1101/2025.06.19.660329](https://doi.org/10.1101/2025.06.19.660329)\n", + "datePublished": "2026-11-02T10:00:48+00:00", + "description": "

\n \n \n \"nf-core/pixelator\"\n \n

\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/pixelator)\n[![GitHub Actions CI Status](https://github.com/nf-core/pixelator/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/pixelator/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/pixelator/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/pixelator/actions/workflows/linting.yml)\n[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/pixelator/results)\n[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.10015112-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.10015112)\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%A525.10.4-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.2.1-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.2.1)\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/pixelator)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23pixelator-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/pixelator)[![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/pixelator** is a bioinformatics best-practice analysis pipeline for analysis of data from the\nProximity Network (PNA) assay. It takes a samplesheet as input and will process your data\nusing `pixelator` to produce a PXL file containing single-cell protein abundance and protein interactomics data.\n\n![](./docs/images/nf-core-pixelator-metromap.svg)\n\nThe pipeline will run the following steps:\n\n1. Do quality control checks of input reads and build amplicons ([`pixelator single-cell-pna amplicon`](https://github.com/PixelgenTechnologies/pixelator))\n2. Create groups of amplicons based on their marker assignments ([`pixelator single-cell-pna demux`](https://github.com/PixelgenTechnologies/pixelator))\n3. Derive original molecules to use as edge list downstream by error correcting, and counting input amplicons ([`pixelator single-cell-pna collapse`](https://github.com/PixelgenTechnologies/pixelator))\n4. Compute the components of the graph from the edge list in order to create putative cells ([`pixelator single-cell-pna graph`](https://github.com/PixelgenTechnologies/pixelator))\n5. _(Conditional; only for PNA hashed data)_ Assign components to samples in pooled experiments ([`pixelator single-cell-pna sample-calling`](https://github.com/PixelgenTechnologies/pixelator))\n6. Denoise the cell graphs ([`pixelator single-cell-pna denoise`](https://github.com/PixelgenTechnologies/pixelator))\n7. Analyze the spatial information in the cell graphs ([`pixelator single-cell-pna analysis`](https://github.com/PixelgenTechnologies/pixelator))\n8. Generate 3D graph layouts for visualization of cells ([`pixelator single-cell-pna layout`](https://github.com/PixelgenTechnologies/pixelator))\n9. Proxiome Experiment Summary generation using [PixelatorES](https://github.com/PixelgenTechnologies/pixelatorES)\n\n> [!NOTE]\n> If you are looking to run the pipeline with Molecular Pixelation (MPX) data. Please refer to the [release 2.3.1](https://nf-co.re/pixelator/2.3.1/),\n> which is the last version to support that data type.\n\n> [!WARNING]\n> Since Nextflow 23.07.0-edge, Nextflow no longer mounts the host's home directory when using Apptainer or Singularity.\n> This causes issues in some dependencies. As a workaround, you can revert to the old behavior by setting the environment variable\n> `NXF_APPTAINER_HOME_MOUNT` or `NXF_SINGULARITY_HOME_MOUNT` to `true` in the machine from which you launch the pipeline.\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 (the exact values you need to input depend on the design and panel you are using - please see [https://nf-co.re/pixelator/usage](https://nf-co.re/pixelator/usage) for more details).\nFor hashed PNA data (Proxiome kit v2), the samplesheet will look as follows:\n\n`samplesheet.csv`:\n\n```csv\npool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2\npool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz\npool1,2,sample2,s2,case,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz\npool2,1,sample3,s3,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool2_R1_001.fastq.gz,pool2_R2_001.fastq.gz\n```\n\n> [!NOTE]\n> For an example with non-hashed PNA data (Proxiome kit v1), see [Proxiome v1 samplesheet](../assets/example_samplesheet_proxiome_v1.csv)\n\n> [!WARNING]\n> Panel and design names have been completely renamed in pixelator 0.26\n> (nf-core/pixelator 4.0 and above). Refer to the pixelator\n> [changelog](https://github.com/PixelgenTechnologies/pixelator/releases/tag/v0.26.0)\n> for more details.\n\nEach row represents a sample and gives the design, a panel file and the input fastq files.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run nf-core/pixelator \\\n -profile , \\\n --technology \n --input samplesheet.csv \\\n --outdir \n```\n\n> [!WARNING]\n> This version of the pipeline does not support conda environments, due to issues with upstream dependencies.\n> This means you cannot use the `conda` and `mamba` profiles. Please use `docker` or `singularity` instead.\n> We hope to add support for conda environments in the future.\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/pixelator/usage) and the [parameter documentation](https://nf-co.re/pixelator/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/pixelator/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/pixelator/output).\n\n## Credits\n\nnf-core/pixelator was originally written for [Pixelgen Technologies AB](https://www.pixelgen.com/) by:\n\n- Florian De Temmerman\n- Johan Dahlberg\n- Alvaro Martinez Barrio\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 `#pixelator` channel](https://nfcore.slack.com/channels/pixelator) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\nIf you use nf-core/pixelator for your analysis, please cite it using the following doi: [10.5281/zenodo.10015112](https://doi.org/10.5281/zenodo.10015112)\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\nYou can cite the Proximity Network Technology as follows:\n\n> **Single-Cell Protein Interactomes by the Proximity Network Assay.**\n>\n> Filip Karlsson, Michele Simonetti, Christina Galonska, Max Karlsson, Hanna van Ooijen, Tomasz Kallas, Divya Thiagarajan, Maud Schweitzer, Ludvig Larsson, Vincent van Hoef, Pouria Tajvar, Johan Dahlberg, Florian De Temmerman, Louise Leijonancker, Sylvain Geny, Rikard Forlin, Erika Negrini, Stefan Petkov, Lovisa Franzén, Jessica Bunz, Christine Moge, Henrik Everberg, Petter Brodin, Alvaro Martinez Barrio, Simon Fredriksson\n>\n> _bioRxiv_ 2025.06.19.660329; doi: [10.1101/2025.06.19.660329](https://doi.org/10.1101/2025.06.19.660329)\n", "hasPart": [ { "@id": "main.nf" @@ -102,7 +102,7 @@ }, "mentions": [ { - "@id": "#03e2aad3-814e-4cb3-b1e1-4c42e5beb293" + "@id": "#2b1e2497-b9dc-4098-bc26-c3fcd6b0624c" } ], "name": "nf-core/pixelator" @@ -146,7 +146,7 @@ } ], "dateCreated": "", - "dateModified": "2026-10-07T08:08:42Z", + "dateModified": "2026-11-02T11:00:48Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "keywords": [ "nf-core", @@ -180,10 +180,10 @@ }, "url": [ "https://github.com/nf-core/pixelator", - "https://nf-co.re/pixelator/5.0.3/" + "https://nf-co.re/pixelator/6.0.0/" ], "version": [ - "5.0.3" + "6.0.0" ] }, { @@ -199,11 +199,11 @@ "version": "!>=25.10.4" }, { - "@id": "#03e2aad3-814e-4cb3-b1e1-4c42e5beb293", + "@id": "#2b1e2497-b9dc-4098-bc26-c3fcd6b0624c", "@type": "TestSuite", "instance": [ { - "@id": "#da5b66ac-2f2c-4b42-8c68-aa466126e92a" + "@id": "#4b62f492-0c5e-43e6-b446-98c4b1b7aabb" } ], "mainEntity": { @@ -212,7 +212,7 @@ "name": "Test suite for nf-core/pixelator" }, { - "@id": "#da5b66ac-2f2c-4b42-8c68-aa466126e92a", + "@id": "#4b62f492-0c5e-43e6-b446-98c4b1b7aabb", "@type": "TestInstance", "name": "GitHub Actions workflow for testing nf-core/pixelator", "resource": "repos/nf-core/pixelator/actions/workflows/nf-test.yml", diff --git a/subworkflows/local/utils_nfcore_pixelator_pipeline/main.nf b/subworkflows/local/utils_nfcore_pixelator_pipeline/main.nf index 242b48be..68e096ed 100644 --- a/subworkflows/local/utils_nfcore_pixelator_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_pixelator_pipeline/main.nf @@ -97,7 +97,7 @@ workflow PIPELINE_INITIALISATION { before_text, after_text, command, - false + null ) // diff --git a/tests/proxiome_v1.nf.test.snap b/tests/proxiome_v1.nf.test.snap index 305f741f..f2fb61ba 100644 --- a/tests/proxiome_v1.nf.test.snap +++ b/tests/proxiome_v1.nf.test.snap @@ -103,41 +103,41 @@ "cat": 9.5 }, "PIXELATOR_AMPLICON": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_ANALYSIS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COMBINE_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DEMUX": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DENOISE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_GRAPH": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LAYOUT": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LIST_OPTIONS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "Workflow": { - "nf-core/pixelator": "v5.0.3" + "nf-core/pixelator": "v6.0.0" } } ], - "timestamp": "2026-08-17T11:09:58.197955852", + "timestamp": "2026-11-02T10:05:52.140152755", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.2" + "nextflow": "26.10.4" } }, "Params: all": { @@ -148,34 +148,34 @@ "cat": 9.5 }, "PIXELATOR_AMPLICON": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_ANALYSIS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COMBINE_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DEMUX": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DENOISE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_GRAPH": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LAYOUT": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LIST_OPTIONS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "Workflow": { - "nf-core/pixelator": "v5.0.3" + "nf-core/pixelator": "v6.0.0" } }, [ @@ -273,10 +273,10 @@ ] ], - "timestamp": "2026-08-17T11:09:13.418847968", + "timestamp": "2026-11-02T10:04:34.032861596", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.2" + "nextflow": "26.10.4" } } } \ No newline at end of file diff --git a/tests/proxiome_v2.nf.test.snap b/tests/proxiome_v2.nf.test.snap index 34370b74..1d2838ae 100644 --- a/tests/proxiome_v2.nf.test.snap +++ b/tests/proxiome_v2.nf.test.snap @@ -134,44 +134,44 @@ "cat": 9.5 }, "PIXELATOR_AMPLICON": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_ANALYSIS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COMBINE_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DEMUX": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DENOISE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_GRAPH": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LAYOUT": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LIST_OPTIONS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_SAMPLE_CALLING": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "Workflow": { - "nf-core/pixelator": "v5.0.3" + "nf-core/pixelator": "v6.0.0" } } ], - "timestamp": "2026-09-14T15:22:37.459202663", + "timestamp": "2026-11-02T10:06:38.133795568", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.6" + "nextflow": "26.10.4" } }, "Params: all": { @@ -182,37 +182,37 @@ "cat": 9.5 }, "PIXELATOR_AMPLICON": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_ANALYSIS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_COMBINE_COLLAPSE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DEMUX": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_DENOISE": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_GRAPH": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LAYOUT": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_LIST_OPTIONS": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "PIXELATOR_SAMPLE_CALLING": { - "pixelator": "0.30.0" + "pixelator": "0.31.0" }, "Workflow": { - "nf-core/pixelator": "v5.0.3" + "nf-core/pixelator": "v6.0.0" } }, [ @@ -351,10 +351,10 @@ ] ], - "timestamp": "2026-08-17T11:13:43.166533768", + "timestamp": "2026-11-02T10:05:11.54803972", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.2" + "nextflow": "26.10.4" } } } \ No newline at end of file