Skip to content

Commit 91b541d

Browse files
authored
Merge pull request #219 from nf-core/dev
Release 4.1.1
2 parents 121bb31 + 1c83a06 commit 91b541d

43 files changed

Lines changed: 376 additions & 363 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nf-core.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ template:
2424
- fastqc
2525
- multiqc
2626
- igenomes
27-
version: 4.1.0
27+
version: 4.1.1

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,19 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
## [[4.1.1](https://github.com/nf-core/pixelator/releases/tag/4.1.1)] - 2026-05-29
7+
8+
### Enhancements & fixes
9+
10+
- Improve documentation by @Aratz [#216](https://github.com/nf-core/pixelator/pull/216)
11+
- Update pixelator by @Aratz [#217](https://github.com/nf-core/pixelator/pull/217)
12+
13+
### Software dependencies
14+
15+
| Dependency | Old version | New version |
16+
| ----------- | ----------- | ----------- |
17+
| `pixelator` | 0.27.1 | 0.27.2 |
18+
619
## [[4.1.0](https://github.com/nf-core/pixelator/releases/tag/4.1.0)] - 2026-05-28
720

821
### Enhancements & fixes

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ For hashed PNA data (Proxiome kit v2), the samplesheet will look as follows:
6262

6363
```csv
6464
pool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2
65-
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
66-
pool1,2,sample2,s2,case,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
67-
pool2,1,sample3,s3,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool2_R1_001.fastq.gz,pool2_R2_001.fastq.gz
65+
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
66+
pool1,2,sample2,s2,case,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
67+
pool2,1,sample3,s3,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool2_R1_001.fastq.gz,pool2_R2_001.fastq.gz
6868
```
6969

7070
> [!NOTE]
71-
> For an example with non-hashed PNA data (Proxiome kit v1), see [Proxiome v1 samplesheet](../assets/samplesheet_proxiome_v1.csv)
71+
> For an example with non-hashed PNA data (Proxiome kit v1), see [Proxiome v1 samplesheet](../assets/example_samplesheet_proxiome_v1.csv)
7272
7373
> [!WARNING]
7474
> Panel and design names have been completely renamed in pixelator 0.26
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
pool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2
2-
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
3-
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
2+
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
3+
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz

assets/schema_input.json

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"type": "array",
77
"items": {
88
"type": "object",
9-
"required": ["sample", "design", "fastq_1"],
9+
"required": ["sample", "sample_alias", "condition", "design", "fastq_1"],
1010
"additionalProperties": false,
1111
"allOf": [
1212
{
@@ -31,25 +31,18 @@
3131
"const": "proxiome-v2"
3232
},
3333
"panel": {
34-
"const": "proxiome-v2-immuno-155-v1.0"
34+
"pattern": "^proxiome-v2-"
3535
}
3636
},
3737
"required": ["design", "panel"]
3838
},
3939
"then": {
4040
"required": ["pool", "hash_index"],
41-
"errorMessage": "The `pool` and `hash_index` columns are required for `proxiome-v2` design with panel `proxiome-v2-immuno-155-v1.0`."
41+
"errorMessage": "The `pool` and `hash_index` columns are required for `proxiome-v2` design with a `proxiome-v2` panel."
4242
}
4343
}
4444
],
4545
"properties": {
46-
"sample": {
47-
"type": "string",
48-
"pattern": "^\\S+$",
49-
"errorMessage": "Sample name must be provided and cannot contain spaces",
50-
"description": "Sample name (no spaces).",
51-
"meta": ["id"]
52-
},
5346
"pool": {
5447
"type": "string",
5548
"pattern": "^\\S+$",
@@ -60,6 +53,23 @@
6053
"type": "integer",
6154
"meta": ["hash_index"]
6255
},
56+
"sample": {
57+
"type": "string",
58+
"pattern": "^\\S+$",
59+
"errorMessage": "Sample name must be provided and cannot contain spaces",
60+
"description": "Sample name (no spaces).",
61+
"meta": ["id"]
62+
},
63+
"sample_alias": {
64+
"type": "string",
65+
"description": "Alternative sample name.",
66+
"meta": ["sample_alias"]
67+
},
68+
"condition": {
69+
"type": "string",
70+
"description": "Experimental condition for the sample.",
71+
"meta": ["condition"]
72+
},
6373
"design": {
6474
"type": "string",
6575
"pattern": "^\\S+$",
@@ -91,26 +101,6 @@
91101
"pattern": "^\\S+\\.f(ast)?q\\.gz$",
92102
"errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'",
93103
"description": "Optional FASTQ(.gz) path for read 2 (no spaces)."
94-
},
95-
"condition": {
96-
"type": "string",
97-
"description": "Optional experimental condition for the sample.",
98-
"meta": ["condition"]
99-
},
100-
"reference_condition": {
101-
"type": "string",
102-
"description": "Optional reference condition for differential analysis.",
103-
"meta": ["reference_condition"]
104-
},
105-
"sample_alias": {
106-
"type": "string",
107-
"description": "Optional alternative sample name.",
108-
"meta": ["sample_alias"]
109-
},
110-
"alternative_condition": {
111-
"type": "string",
112-
"description": "Optional alternative condition for the sample.",
113-
"meta": ["alternative_condition"]
114104
}
115105
}
116106
}

docs/output.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ of the graph (i.e. the putative cells) and assign a unique ID to each component.
105105

106106
From this step and onwards, the output file are in PXL format. This is a custom format used by pixelator to make PNA data easier
107107
to work with. Internally it used duckdb to store the data. For more information on the PXL format, please refer to
108-
the [pixelator documentation](https://software.pixelgen.com/pixelator/outputs/pxl-format/).
108+
the [pixelator documentation](https://software.pixelgen.com/pixelator/outputs/pxl-file/).
109109

110110
<details markdown="1">
111111
<summary>Output files</summary>
@@ -248,7 +248,7 @@ The output from this step will be placed in the output folder root.
248248

249249
</details>
250250

251-
[Nextflow](https://www.nextflow.io/docs/latest/tracing.html) provides excellent functionality for generating various reports relevant to the running and execution of the pipeline. This will allow you to troubleshoot errors with the running of the pipeline, and also provide you with other information such as launch commands, run times and resource usage.
251+
[Nextflow](https://docs.seqera.io/platform-cloud/reports/overview) provides excellent functionality for generating various reports relevant to the running and execution of the pipeline. This will allow you to troubleshoot errors with the running of the pipeline, and also provide you with other information such as launch commands, run times and resource usage.
252252

253253
### Output directory structure
254254

docs/usage.md

Lines changed: 91 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,66 @@
44

55
> _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._
66
7-
## Introduction
7+
## Quick start
8+
9+
The typical command for running the pipeline is as follows:
10+
11+
```bash
12+
nextflow run nf-core/pixelator \
13+
-profile docker,cells_8k \
14+
--input ./samplesheet.csv \
15+
--outdir ./results \
16+
--technology proxiome-v2
17+
```
18+
19+
This will launch the pipeline with the `docker` configuration profile, and resource configurations
20+
for 8000 cells. If you have samples with 1000 cells as input, pick the `cells_1k` profile instead.
21+
See below for more information about profiles.
22+
23+
Note that the pipeline will create the following files in your working directory:
24+
25+
```bash
26+
work # Directory containing the nextflow working files
27+
<OUTDIR> # Finished results in specified location (defined with --outdir)
28+
.nextflow_log # Log file from Nextflow
29+
# Other nextflow hidden files, eg. history of pipeline runs and old logs.
30+
```
31+
32+
## Parameters
33+
34+
nf-core/pixelator can take a wide range of parameters, three of which are mandatory:
35+
36+
- `--input`: the path to your samplesheet
37+
- `--outdir`: the directory where the `.pxl` files and the experiment summary will be saved.
38+
- `--technology`: the workflow to use to process your data (`proxiome_v1` or `proxiome_v2`), depending on the kit that was used to process the samples.
39+
40+
Detailed documentation about each parameter can be found at [https://nf-co.re/pixelator/parameters/](https://nf-co.re/pixelator/parameters/).
41+
42+
If you wish to repeatedly use the same parameters for multiple runs, rather than specifying each flag in the command, you can specify these in a params file.
43+
44+
Pipeline settings can be provided in a `yaml` or `json` file via `-params-file <file>`.
45+
46+
> [!WARNING]
47+
> Do not use `-c <file>` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/running/run-pipelines#configuring-pipelines), other infrastructural tweaks (such as output directories), or module arguments (args).
48+
49+
The above pipeline run specified with a params file in yaml format:
50+
51+
```bash
52+
nextflow run nf-core/pixelator -profile docker,cells_8k -params-file params.yaml
53+
```
54+
55+
with:
56+
57+
```yaml title="params.yaml"
58+
input: './samplesheet.csv'
59+
outdir: './results/'
60+
<...>
61+
```
62+
63+
You can also generate such `YAML`/`JSON` files via [nf-core/launch](https://nf-co.re/launch).
64+
65+
> [!NOTE]
66+
> By default, processes from nf-core/pixelator will use the path defined in `TMPDIR` to store temporary file. If this variable is not defined, they will fallback to `/tmp`.
867
968
## Samplesheet input
1069

@@ -15,37 +74,16 @@ Use this parameter to specify its location.
1574
--input '[path to samplesheet file]'
1675
```
1776

18-
We provide example samplesheets for [Proxiome v1 data](../assets/samplesheet_proxiome_v1.csv)
19-
and [Proxiome v2 data](../assets/samplesheet_proxiome_v2.csv), that can be used as a template to
77+
We provide example samplesheets for [Proxiome v1 data](../assets/example_samplesheet_proxiome_v1.csv)
78+
and [Proxiome v2 data](../assets/example_samplesheet_proxiome_v2.csv), that can be used as a template to
2079
create your own samplesheet.
2180

2281
### Format
2382

2483
The samplesheet is a CSV or TSV formatted file with a few required and some optional columns.
2584
You can export to CSV from spreadsheet programs such as Microsoft Excel, Google Sheets and LibreOffice Calc.
2685

27-
Following table provides an overview of all possible columns in the samplesheet.
28-
The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 5 columns
29-
to match those defined in the table below.
30-
31-
> [!WARNING]
32-
> It is important that you select a panel file that matches the kit lot version you are
33-
> using for your experiment. Using a mismatched panel file will lead to incorrect antibody
34-
> assignments and erroneous results.
35-
>
36-
> An updated list of which panel files correspond to which kit lot versions can be found
37-
> on the [Pixelgen Technologies website](https://www.pixelgen.com/panel-file-for-data-processing/)
38-
39-
Below is an example of a simple samplesheet with two samples.
40-
41-
```csv
42-
sample,sample_alias,condition,design,panel,fastq_1,fastq_2
43-
sample1,s1,control,pna-2,proxiome-immuno-155-v2,sample1_R1_001.fastq.gz,sample1_R2_001.fastq.gz
44-
sample2,s2,treatment,pna-2,proxiome-immuno-155-v2,sample2_R1_001.fastq.gz,sample2_R2_001.fastq.gz
45-
```
46-
47-
Columns not defined in the table below are ignored by the pipeline but can be useful
48-
to add extra information for downstream processing.
86+
The following table provides an overview of all possible columns in the samplesheet.
4987

5088
| Column | Required | Description |
5189
| ----------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -64,6 +102,22 @@ One of them has to be specified.
64102

65103
The pipeline will auto-detect whether a sample is single- or paired-end based on if both `fastq_1` and `fastq_2` or only `fastq_1` is present in the samplesheet.
66104

105+
> [!WARNING]
106+
> It is important that you select a panel file that matches the kit lot version you are
107+
> using for your experiment. Using a mismatched panel file will lead to incorrect antibody
108+
> assignments and erroneous results.
109+
>
110+
> An updated list of which panel files correspond to which kit lot versions can be found
111+
> on the [Pixelgen Technologies website](https://www.pixelgen.com/panel-file-for-data-processing/)
112+
113+
Below is an example of a simple samplesheet with two samples.
114+
115+
```csv
116+
sample,sample_alias,condition,design,panel,fastq_1,fastq_2
117+
sample1,s1,control,proxiome-v1,proxiome-v1-immuno-155-v1.1,sample1_R1_001.fastq.gz,sample1_R2_001.fastq.gz
118+
sample2,s2,treatment,proxiome-v1,proxiome-v1-immuno-155-v1.1,sample2_R1_001.fastq.gz,sample2_R2_001.fastq.gz
119+
```
120+
67121
### Pooling samples
68122

69123
Pooled samples are supported with the Proxiome v2 kit. To process them, include
@@ -73,8 +127,8 @@ Typically there are 8 hashed samples per pool (numbering 1 to 8).
73127

74128
```csv
75129
pool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2
76-
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
77-
pool2,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
130+
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
131+
pool2,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_R1_001.fastq.gz,pool1_R2_001.fastq.gz
78132
```
79133

80134
### Multiple runs of the same sample
@@ -91,19 +145,19 @@ Below is an example for the same sample sequenced across 3 lanes:
91145

92146
```csv title="samplesheet.csv"
93147
sample,sample_alias,condition,design,panel,fastq_1,fastq_2
94-
uropod_control_1,s1,control,pna-2,proxiome-immuno-155-v2,uropod_control_S1_L001_R1_001.fastq.gz,uropod_control_S1_L001_R2_001.fastq.gz
95-
uropod_control_1,s1,control,pna-2,proxiome-immuno-155-v2,uropod_control_S1_L002_R1_001.fastq.gz,uropod_control_S1_L002_R2_001.fastq.gz
96-
uropod_control_1,s1,control,pna-2,proxiome-immuno-155-v2,uropod_control_S1_L003_R1_001.fastq.gz,uropod_control_S1_L003_R2_001.fastq.gz
148+
uropod_control_1,s1,control,proxiome-v1,proxiome-v1-immuno-155-v1.1,uropod_control_S1_L001_R1_001.fastq.gz,uropod_control_S1_L001_R2_001.fastq.gz
149+
uropod_control_1,s1,control,proxiome-v1,proxiome-v1-immuno-155-v1.1,uropod_control_S1_L002_R1_001.fastq.gz,uropod_control_S1_L002_R2_001.fastq.gz
150+
uropod_control_1,s1,control,proxiome-v1,proxiome-v1-immuno-155-v1.1,uropod_control_S1_L003_R1_001.fastq.gz,uropod_control_S1_L003_R2_001.fastq.gz
97151
```
98152

99153
The same approach applies when pooled hashed samples are sequenced again:
100154

101155
```csv title="samplesheet.csv"
102156
pool,hash_index,sample,sample_alias,condition,design,panel,fastq_1,fastq_2
103-
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_run1_R1_001.fastq.gz,pool1_run1_R2_001.fastq.gz
104-
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_run2_R1_001.fastq.gz,pool1_run2_R2_001.fastq.gz
105-
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_run1_R1_001.fastq.gz,pool1_run1_R2_001.fastq.gz
106-
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v1.0,pool1_run2_R1_001.fastq.gz,pool1_run2_R2_001.fastq.gz
157+
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_run1_R1_001.fastq.gz,pool1_run1_R2_001.fastq.gz
158+
pool1,1,sample1,s1,control,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_run2_R1_001.fastq.gz,pool1_run2_R2_001.fastq.gz
159+
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_run1_R1_001.fastq.gz,pool1_run1_R2_001.fastq.gz
160+
pool1,2,sample2,s2,treatment,proxiome-v2,proxiome-v2-immuno-155-v2.0,pool1_run2_R1_001.fastq.gz,pool1_run2_R2_001.fastq.gz
107161
```
108162

109163
### Relative paths
@@ -168,54 +222,9 @@ A list of available panels can be listed by running following command:
168222
pixelator single-cell-pna --list-panels
169223
```
170224

171-
## Running the pipeline
172-
173-
The typical command for running the pipeline is as follows:
174-
175-
```bash
176-
nextflow run nf-core/pixelator --input ./samplesheet.csv --outdir ./results -profile docker,cells_8k --technology proxiome-v2
177-
```
178-
179-
This will launch the pipeline with the `docker` configuration profile, and resource configurations
180-
for 8000 cells. If you have samples with 1000 cells as input, pick the `cells_1k` profile instead.
181-
See below for more information about profiles.
182-
183-
Note that the pipeline will create the following files in your working directory:
184-
185-
```bash
186-
work # Directory containing the nextflow working files
187-
<OUTDIR> # Finished results in specified location (defined with --outdir)
188-
.nextflow_log # Log file from Nextflow
189-
# Other nextflow hidden files, eg. history of pipeline runs and old logs.
190-
```
191-
192-
If you wish to repeatedly use the same parameters for multiple runs, rather than specifying each flag in the command, you can specify these in a params file.
193-
194-
Pipeline settings can be provided in a `yaml` or `json` file via `-params-file <file>`.
195-
196-
> [!WARNING]
197-
> Do not use `-c <file>` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/running/run-pipelines#configuring-pipelines), other infrastructural tweaks (such as output directories), or module arguments (args).
198-
199-
The above pipeline run specified with a params file in yaml format:
200-
201-
```bash
202-
nextflow run nf-core/pixelator -profile docker,cells_8k -params-file params.yaml
203-
```
204-
205-
with:
206-
207-
```yaml title="params.yaml"
208-
input: './samplesheet.csv'
209-
outdir: './results/'
210-
<...>
211-
```
212-
213-
You can find an extensive example of a `params.yaml` file with all options and
214-
documentation in comments [here](../assets/params-file.yml).
215-
You can also generate such `YAML`/`JSON` files via [nf-core/launch](https://nf-co.re/launch).
216-
217-
> [!NOTE]
218-
> By default, processes from nf-core/pixelator will use the path defined in `TMPDIR` to store temporary file. If this variable is not defined, they will fallback to `/tmp`.
225+
Alternatively, these panel files can be downloaded from the [`pixelator`
226+
repository](https://github.com/PixelgenTechnologies/pixelator/tree/main/src/pixelator/pna/resources/panels).
227+
These files can then serve as a base for further customizations.
219228

220229
### Updating the pipeline
221230

0 commit comments

Comments
 (0)