Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
9a5f963
Bump version 2.4.0dev
Aratz Jan 19, 2026
0b6ec1b
Merge pull request #180 from Aratz/postrelease_2.3.1
Aratz Jan 19, 2026
37815c5
Drop support for MPX
johandahlberg Feb 4, 2026
51a1fec
Add back accidentally removed file
johandahlberg Feb 4, 2026
b5d9cbe
Remove MPX options from schema
johandahlberg Feb 4, 2026
01d440c
Fix up modules and conf files
johandahlberg Feb 4, 2026
3e40c6d
Remove more MPX references
johandahlberg Feb 4, 2026
07ba1c3
Add missing params back
johandahlberg Feb 4, 2026
f2c0aa3
Add missing parameter to schema
johandahlberg Feb 4, 2026
ba3f6b9
Reference 2.3.1 for MPX, update metromap 3.0
johandahlberg Feb 4, 2026
77dea43
Update docs/usage.md
johandahlberg Feb 9, 2026
604a72e
Merge pull request #182 from PixelgenTechnologies/feature/pna-1940-dr…
johandahlberg Feb 9, 2026
a9daeea
default to 8000 UMIs as minimum component size
ptajvar Feb 12, 2026
566a6d2
update CHANGELOG.md
ptajvar Feb 12, 2026
7094800
Merge pull request #183 from nf-core/feature/default-to-8000-as-min-c…
johandahlberg Feb 12, 2026
176e073
Fix types in json schemas
johandahlberg Feb 11, 2026
90b51ec
Schema touch-ups with creation tool
johandahlberg Feb 12, 2026
7236f59
Update CHANGELOG
johandahlberg Feb 12, 2026
20b3a9d
Update CHANGELOG.md
johandahlberg Feb 17, 2026
7c7cfc9
Merge pull request #184 from PixelgenTechnologies/chore/fix-json-sche…
Aratz Feb 23, 2026
7ce4e1e
Add override for experiment summary container
Aratz Feb 24, 2026
56b329f
Update changelog
Aratz Feb 24, 2026
b3c8f0a
Add schemas to nf-test triggers
Aratz Feb 24, 2026
29a23bd
Add schema for missing optional columns
Aratz Feb 24, 2026
f74e03b
Remove format field for fastq_1 and fastq_2
Aratz Feb 24, 2026
5a552b0
Update changelog
Aratz Feb 26, 2026
a80f070
Merge pull request #186 from Aratz/feature/pna-2110_pixelatorES_conta…
Aratz Feb 26, 2026
5375c3b
Update dependencies
Aratz Feb 23, 2026
2321b8c
Bump version to 3.0.0
Aratz Feb 23, 2026
626a10b
Restore `test_full` profile
Aratz Feb 23, 2026
380c4d3
Merge pull request #185 from nf-core/prerelease_3.0.0
Aratz Feb 26, 2026
14c2b95
Fix release dates
Aratz Mar 3, 2026
6b76682
Remove MPX from citations
Aratz Mar 3, 2026
037895f
Merge pull request #188 from Aratz/fix/review_comments
Aratz Mar 3, 2026
b903720
Raise error when unsupported design is encountered
Aratz Mar 3, 2026
7d1bc0c
Add removed parameters to changelog
Aratz Mar 3, 2026
cf960ed
Fix typo
Aratz Mar 3, 2026
abd1747
Update template version in README
Aratz Mar 3, 2026
cb384c1
Use `error(...)` instead of `exit(1, ...)`
Aratz Mar 3, 2026
d633d1b
Merge pull request #189 from Aratz/fix/review_comments
Aratz Mar 4, 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
6 changes: 3 additions & 3 deletions .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ lint:
- assets/nf-core-pixelator_logo_light.png
- .github/PULL_REQUEST_TEMPLATE.md
multiqc_config: false
nf_core_version: 3.5.1
nf_core_version: 3.5.2
repository_type: pipeline
template:
author: Pixelgen Technologies AB
description: Pipeline for analysis of Molecular Pixelation assays
description: Pipeline for analysis of Proximity Network Assay data
force: false
is_nfcore: true
name: pixelator
Expand All @@ -23,4 +23,4 @@ template:
- fastqc
- multiqc
- igenomes
version: 2.3.1
version: 3.0.0
78 changes: 77 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,83 @@
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).

## [[2.3.1](https://github.com/nf-core/pixelator/releases/tag/2.3.1)] - 2025-01-14
## [[3.0.0](https://github.com/nf-core/pixelator/releases/tag/3.0.0)] - 2026-02-23

### Changed

- Set default pna_graph_component_size_min_threshold to 8000 instead of null (i.e. automatic) by @ptajvar [#183](https://github.com/nf-core/pixelator/pull/183).

### Removed

- Support for MPX in the pipeline by @johandahlberg [#182](https://github.com/nf-core/pixelator/pull/182)

### Enhancements & fixes

- Update schema files (e.g. explicitly use integer types for integers, rather than numbers) by @johandahlberg [#184](https://github.com/nf-core/pixelator/pull/184), [#186](https://github.com/nf-core/pixelator/pull/186)
- Add option to select custom containers for the experiment summary by @Aratz [#186](https://github.com/nf-core/pixelator/pull/186)

### Parameters

| Old parameter | New parameter |
| ---------------------------------------- | -------------------------------- |
| | `--experiment_summary_container` |
| `--save_amplicon_reads` | |
| `--trim_front` | |
| `--trim_tail` | |
| `--max_length` | |
| `--min_length` | |
| `--max_n_bases` | |
| `--avg_qual` | |
| `--dedup` | |
| `--remove_polyg` | |
| `--adapterqc_mismatches` | |
| `--save_qc_passed_reads` | |
| `--save_qc_failed_reads` | |
| `--demux_mismatches` | |
| `--demux_min_length` | |
| `--save_demux_processed_reads` | |
| `--save_demux_failed_reads` | |
| `--markers_ignore` | |
| `--algorithm` | |
| `--max_neighbours` | |
| `--collapse_mismatches` | |
| `--collapse_min_count` | |
| `--save_collapsed_reads` | |
| `--multiplet_recovery` | |
| `--graph_max_refinement_recursion_depth` | |
| `--graph_max_edges_to_split` | |
| `--graph_min_count` | |
| `--save_edgelist` | |
| `--min_size` | |
| `--max_size` | |
| `--dynamic_filter` | |
| `--aggregate_calling` | |
| `--save_raw_component_metrics` | |
| `--save_annotate_dataset` | |
| `--skip_analysis` | |
| `--compute_polarization` | |
| `--compute_colocalization` | |
| `--use_full_bipartite` | |
| `--polarization_transformation` | |
| `--polarization_n_permutations` | |
| `--polarization_min_marker_count` | |
| `--colocalization_transformation` | |
| `--colocalization_neighbourhood_size` | |
| `--colocalization_n_permutations` | |
| `--colocalization_min_region_count` | |
| `--colocalization_min_marker_count` | |
| `--save_analysis_dataset` | |
| `--skip_layout` | |
| `--no_node_marker_counts` | |
| `--layout_algorithm` | |
| `--skip_report` | |

> [!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.

## [[2.3.1](https://github.com/nf-core/pixelator/releases/tag/2.3.1)] - 2026-01-14

- Update usage documentation by @vincent-van-hoef [#176](https://github.com/nf-core/pixelator/pull/176)
- Use PNA data in test profile by @Aratz [#177](https://github.com/nf-core/pixelator/pull/177)
Expand Down
2 changes: 1 addition & 1 deletion CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

- [pixelator](https://doi.org/10.1038/s41592-024-02268-9)

> Karlsson, F., Kallas, T., Thiagarajan, D. et al. “Molecular pixelation: spatial proteomics of single cells by sequencing.“ Nat Methods 21, 1044–1052 (2024). https://doi.org/10.1038/s41592-024-02268-9
> Karlsson, F., Simonetti, M.,Galonska, C. et al. "Single-Cell Protein Interactomes by the Proximity Network Assay". _bioRxiv_ 2025.06.19.660329; doi: [10.1101/2025.06.19.660329](https://doi.org/10.1101/2025.06.19.660329)

- [cutadapt](http://dx.doi.org/10.14806/ej.17.1.200)

Expand Down
30 changes: 7 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.04.0-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-3.5.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/3.5.1)
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.5.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/3.5.2)
[![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/)
Expand All @@ -24,14 +24,12 @@
## Introduction

**nf-core/pixelator** is a bioinformatics best-practice analysis pipeline for analysis of data from the
Molecular Pixelation (MPX) and Proximity Network (PNA) assays. It takes a samplesheet as input and will process your data
Proximity Network (PNA) assay. It takes a samplesheet as input and will process your data
using `pixelator` to produce a PXL file containing single-cell protein abundance and protein interactomics data.

![](./docs/images/nf-core-pixelator-metromap.svg)

Depending on the input data the pipeline will run different steps.

For PNA data, the pipeline will run the following steps:
The pipeline will run the following steps:

1. Do quality control checks of input reads and build amplicons ([`pixelator single-cell-pna amplicon`](https://github.com/PixelgenTechnologies/pixelator))
2. Create groups of amplicons based on their marker assignments ([`pixelator single-cell-pna demux`](https://github.com/PixelgenTechnologies/pixelator))
Expand All @@ -42,17 +40,9 @@ For PNA data, the pipeline will run the following steps:
7. Generate 3D graph layouts for visualization of cells ([`pixelator single-cell-pna layout`](https://github.com/PixelgenTechnologies/pixelator))
8. Proxiome Experiment Summary generation using [PixelatorES](https://github.com/PixelgenTechnologies/pixelatorES)

For MPX data, the pipeline will run the following steps:

1. Build an amplicons from the input reads ([`pixelator single-cell-mpx amplicon`](https://github.com/PixelgenTechnologies/pixelator))
2. Read QC and filtering, correctness of the pixel binding sequence sequences ([`pixelator single-cell-mpx preqc | pixelator adapterqc`](https://github.com/PixelgenTechnologies/pixelator))
3. Assign a marker (barcode) to each read ([`pixelator single-cell-mpx demux`](https://github.com/PixelgenTechnologies/pixelator))
4. Error correction, duplicate removal, compute read counts ([`pixelator single-cell-mpx collapse`](https://github.com/PixelgenTechnologies/pixelator))
5. Compute the components of the graph from the edge list in order to create putative cells ([`pixelator single-cell-mpx graph`](https://github.com/PixelgenTechnologies/pixelator))
6. Call and annotate cells ([`pixelator single-cell-mpx annotate`](https://github.com/PixelgenTechnologies/pixelator))
7. Analyze the cells for polarization and colocalization ([`pixelator single-cell-mpx analysis`](https://github.com/PixelgenTechnologies/pixelator))
8. Generate 3D graph layouts for visualization of cells ([`pixelator single-cell-mpx layout`](https://github.com/PixelgenTechnologies/pixelator))
9. Report generation ([`pixelator single-cell-mpx report`](https://github.com/PixelgenTechnologies/pixelator))
> [!NOTE]
> 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/),
> which is the last version to support that data type.

> [!WARNING]
> Since Nextflow 23.07.0-edge, Nextflow no longer mounts the host's home directory when using Apptainer or Singularity.
Expand Down Expand Up @@ -128,13 +118,7 @@ You can cite the `nf-core` publication as follows:
>
> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).

You can cite the molecular pixelation technology as follows:

> **Molecular pixelation: spatial proteomics of single cells by sequencing.**
>
> Filip Karlsson, Tomasz Kallas, Divya Thiagarajan, Max Karlsson, Maud Schweitzer, Jose Fernandez Navarro, Louise Leijonancker, Sylvain Geny, Erik Pettersson, Jan Rhomberg-Kauert, Ludvig Larsson, Hanna van Ooijen, Stefan Petkov, Marcela González-Granillo, Jessica Bunz, Johan Dahlberg, Michele Simonetti, Prajakta Sathe, Petter Brodin, Alvaro Martinez Barrio & Simon Fredriksson
>
> _Nat Methods._ 2024 May 08. doi: [10.1038/s41592-024-02268-9](https://doi.org/10.1038/s41592-024-02268-9)
You can cite the Proximity Network Technology as follows:

> **Single-Cell Protein Interactomes by the Proximity Network Assay.**
>
Expand Down
2 changes: 1 addition & 1 deletion assets/email_template.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="nf-core/pixelator: Pipeline for analysis of Molecular Pixelation assays">
<meta name="description" content="nf-core/pixelator: Pipeline for analysis of Proximity Network Assay data">
<title>nf-core/pixelator Pipeline Report</title>
</head>
<body>
Expand Down
49 changes: 35 additions & 14 deletions assets/schema_input.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,45 +7,66 @@
"items": {
"type": "object",
"required": ["sample", "design", "fastq_1"],
"additionalProperties": false,
"properties": {
"sample": {
"type": "string",
"pattern": "^\\S+$",
"errorMessage": "Sample name must be provided and cannot contain spaces",
"description": "Sample name (no spaces).",
"meta": ["id"]
},
"design": {
"type": "string",
"meta": ["design"],
"errorMessage": "Design must be specified"
"pattern": "^\\S+$",
"errorMessage": "Design must be specified",
"description": "Design identifier (no spaces).",
"meta": ["design"]
},
"panel": {
"errorMessage": "Panel name must be specified",
"type": "string",
"pattern": "^\\S+$",
"description": "Panel identifier (no spaces).",
"errorMessage": "panel or panel_file must be specified",
"meta": ["panel"]
},
"panel_file": {
"type": "string",
"description": "Optional panel file path. Empty string allowed. If set, must end with .csv, .tsv, .yaml, or .yml and contain no spaces.",
"errorMessage": "Panel file must either be left empty or cannot contain spaces and must have extension '.csv', '.tsv' or '.yaml'",
"anyOf": [
{
"type": "string",
"pattern": "^\\S+.(csv|tsv|ya?ml)$"
},
{
"type": "string",
"maxLength": 0
}
]
"pattern": "^$|^\\S+\\.(csv|tsv|ya?ml)$"
},
"fastq_1": {
"type": "string",
"pattern": "^\\S+\\.f(ast)?q\\.gz$",
"description": "FASTQ(.gz) path for read 1 (no spaces).",
"errorMessage": "FastQ file for reads 1 must be provided, cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'"
},
"fastq_2": {
"type": "string",
"pattern": "^\\S+\\.f(ast)?q\\.gz$",
"errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'"
"errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'",
"description": "Optional FASTQ(.gz) path for read 2 (no spaces)."
},
"condition": {
"type": "string",
"description": "Optional experimental condition for the sample.",
"meta": ["condition"]
},
"reference_condition": {
"type": "string",
"description": "Optional reference condition for differential analysis.",
"meta": ["reference_condition"]
},
"sample_alias": {
"type": "string",
"description": "Optional alternative sample name.",
"meta": ["sample_alias"]
},
"alternative_condition": {
"type": "string",
"description": "Optional alternative condition for the sample.",
"meta": ["alternative_condition"]
}
}
}
Expand Down
Loading
Loading