Skip to content

Commit ff44414

Browse files
committed
changed pipeline name from nf-core-resolvi to parallax
1 parent d9de340 commit ff44414

26 files changed

Lines changed: 250 additions & 232 deletions

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# nf-core/resolvinf: Changelog
1+
# nf-core/parallax: Changelog
22

33
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
55

66
## v1.0dev - [2025-06-06]
77

8-
Initial release of nf-core/resolvinf, created with the [nf-core](http://nf-co.re/) template.
8+
Initial release of nf-core/parallax, created with the [nf-core](http://nf-co.re/) template.
99

1010
### `Added`
1111

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
FROM nfcore/base:2.1
22
LABEL authors="Christopher Tastad" \
3-
description="Docker image containing all software requirements for the nf-core/resolvinf pipeline"
3+
description="Docker image containing all software requirements for the nf-core/parallax pipeline"
44

55
# Install the conda environment
66
COPY environment.yml /
77
RUN conda env create -f /environment.yml && conda clean -a
88

99
# Add conda installation dir to PATH (instead of doing 'conda activate')
10-
ENV PATH /opt/conda/envs/nf-core-resolvinf-1.0dev/bin:$PATH
10+
ENV PATH /opt/conda/envs/parallax-1.0dev/bin:$PATH
1111

1212
# Dump the details of the installed packages to a file for posterity
13-
RUN conda env export --name nf-core-resolvinf-1.0dev > nf-core-resolvinf-1.0dev.yml
13+
RUN conda env export --name parallax-1.0dev > parallax-1.0dev.yml
1414

1515
# Install additional Python packages not available in conda
1616
RUN pip install --no-cache-dir \

README.md

Lines changed: 42 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# ![nf-core/resolvinf](docs/images/nf-core-resolvinf_logo.png)
1+
# ![nf-core/parallax](docs/images/nf-core-parallax_logo.png)
22

33
**A Nextflow implementation of ResolVI and scVIVA for comprehensive spatial transcriptomics analysis**.
44

5-
[![GitHub Actions CI Status](https://github.com/nf-core/resolvinf/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/resolvinf/actions)
6-
[![GitHub Actions Linting Status](https://github.com/nf-core/resolvinf/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/resolvinf/actions)
5+
[![GitHub Actions CI Status](https://github.com/nf-core/parallax/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/parallax/actions)
6+
[![GitHub Actions Linting Status](https://github.com/nf-core/parallax/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/parallax/actions)
77
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A523.04.0-brightgreen.svg)](https://www.nextflow.io/)
88

99
[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](http://bioconda.github.io/)
10-
[![Docker](https://img.shields.io/docker/automated/nfcore/resolvinf.svg)](https://hub.docker.com/r/nfcore/resolvinf)
10+
[![Docker](https://img.shields.io/docker/automated/nfcore/parallax.svg)](https://hub.docker.com/r/nfcore/parallax)
1111

1212
## Introduction
1313

14-
**nf-core/resolvinf** is a comprehensive bioinformatics pipeline that integrates **ResolVI** (Resolution of Variational Inference) and **scVIVA** (single-cell Variational Inference for Variational Analysis) for advanced spatial transcriptomics data analysis. This dual-method approach provides state-of-the-art noise correction, cell type prediction, and niche-aware differential expression analysis.
14+
**nf-core/parallax** is a comprehensive bioinformatics pipeline that integrates **ResolVI** (Resolution of Variational Inference) and **scVIVA** (single-cell Variational Inference for Variational Analysis) for advanced spatial transcriptomics data analysis. This dual-method approach provides state-of-the-art noise correction, cell type prediction, and niche-aware differential expression analysis.
1515

1616
### Key Technologies
1717

@@ -59,7 +59,7 @@ This parallel architecture maximizes computational efficiency while providing co
5959
3. Download the pipeline and test it on a minimal dataset with a single command:
6060

6161
```bash
62-
nextflow run nf-core/resolvinf -profile test,docker --outdir <OUTDIR>
62+
nextflow run nf-core/parallax -profile test,docker --outdir <OUTDIR>
6363
```
6464

6565
Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (`YOURPROFILE` in the example command above). You can chain multiple config profiles in a comma-separated string.
@@ -72,7 +72,7 @@ This parallel architecture maximizes computational efficiency while providing co
7272
4. Start running your own analysis!
7373

7474
```bash
75-
nextflow run nf-core/resolvinf --input samplesheet.csv --outdir <OUTDIR> -profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
75+
nextflow run nf-core/parallax --input samplesheet.csv --outdir <OUTDIR> -profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
7676
```
7777

7878
## Input Requirements
@@ -154,6 +154,7 @@ The scVIVA workflow supports flexible condition specifications for niche-aware d
154154
### Condition Types
155155

156156
#### 1. **Cell Type Comparisons** (Simple)
157+
157158
Compare different cell types without specific conditions:
158159

159160
```json
@@ -167,6 +168,7 @@ Compare different cell types without specific conditions:
167168
```
168169

169170
#### 2. **Treatment/Disease Conditions**
171+
170172
Compare the same cell type across different treatments or disease states:
171173

172174
```json
@@ -183,6 +185,7 @@ Compare the same cell type across different treatments or disease states:
183185
```
184186

185187
#### 3. **Spatial Region Conditions**
188+
186189
Compare cell types or conditions across different spatial regions:
187190

188191
```json
@@ -199,6 +202,7 @@ Compare cell types or conditions across different spatial regions:
199202
```
200203

201204
#### 4. **Sample-Based Conditions**
205+
202206
Map specific samples to conditions when metadata isn't directly encoded:
203207

204208
```json
@@ -217,6 +221,7 @@ Map specific samples to conditions when metadata isn't directly encoded:
217221
```
218222

219223
#### 5. **Cross-Condition Cell Type Comparisons**
224+
220225
Compare different cell types across different conditions:
221226

222227
```json
@@ -236,37 +241,40 @@ Compare different cell types across different conditions:
236241

237242
The pipeline automatically detects and establishes conditions using the following priority order:
238243

239-
1. **Explicit condition column**: Uses the column specified in ```condition_column```
240-
2. **Sample mapping**: Creates conditions from ```samples_condition1``` and ```samples_condition2``` lists
241-
3. **Spatial regions**: Uses ```spatial_region``` column if available
242-
4. **Common metadata columns**: Automatically detects ```treatment```, ```tissue_type```, etc.
243-
5. **Sample ID fallback**: Uses ```sample_id``` as conditions if no other method works
244+
1. **Explicit condition column**: Uses the column specified in `condition_column`
245+
2. **Sample mapping**: Creates conditions from `samples_condition1` and `samples_condition2` lists
246+
3. **Spatial regions**: Uses `spatial_region` column if available
247+
4. **Common metadata columns**: Automatically detects `treatment`, `tissue_type`, etc.
248+
5. **Sample ID fallback**: Uses `sample_id` as conditions if no other method works
244249

245250
### Required Data Preparation
246251

247252
Ensure your AnnData objects contain the necessary metadata:
248253

249254
#### Essential Columns
250-
- **Cell type predictions**: ```resolvi_predicted``` (automatically generated by ResolVI)
251-
- **Sample information**: ```sample_id``` (automatically added during preprocessing)
255+
256+
- **Cell type predictions**: `resolvi_predicted` (automatically generated by ResolVI)
257+
- **Sample information**: `sample_id` (automatically added during preprocessing)
252258

253259
#### Optional Condition Columns
254-
- ```condition```: General condition labels
255-
- ```treatment```: Treatment/control labels
256-
- ```tissue_type```: Tissue or disease state labels
257-
- ```spatial_region```: Spatial region annotations
258-
- ```timepoint```: Temporal conditions
260+
261+
- `condition`: General condition labels
262+
- `treatment`: Treatment/control labels
263+
- `tissue_type`: Tissue or disease state labels
264+
- `spatial_region`: Spatial region annotations
265+
- `timepoint`: Temporal conditions
259266
- Custom condition columns as specified in your comparisons
260267

261268
### File Formats
262269

263270
#### JSON Format (Recommended)
271+
264272
```json
265273
[
266274
{
267275
"name": "comparison_name",
268276
"group1": "Cell_Type_1",
269-
"group2": "Cell_Type_2",
277+
"group2": "Cell_Type_2",
270278
"condition1": "condition_A",
271279
"condition2": "condition_B",
272280
"condition_column": "metadata_column",
@@ -277,6 +285,7 @@ Ensure your AnnData objects contain the necessary metadata:
277285
```
278286

279287
#### CSV Format
288+
280289
```csv
281290
name,group1,group2,condition1,condition2,condition_column
282291
tcells_vs_bcells,T cells,B cells,,,
@@ -286,16 +295,18 @@ treated_vs_control_tcells,T cells,T cells,treated,control,treatment
286295
### Usage Examples
287296

288297
#### Basic cell type comparison:
298+
289299
```bash
290-
nextflow run nf-core/resolvinf \
300+
nextflow run nf-core/parallax \
291301
--input samplesheet.csv \
292302
--scviva_comparisons simple_comparisons.json \
293303
--outdir results
294304
```
295305

296306
#### Complex condition-based analysis:
307+
297308
```bash
298-
nextflow run nf-core/resolvinf \
309+
nextflow run nf-core/parallax \
299310
--input samplesheet.csv \
300311
--scviva_comparisons complex_comparisons.json \
301312
--annotation_label cell_type \
@@ -313,18 +324,20 @@ nextflow run nf-core/resolvinf \
313324
### Troubleshooting
314325

315326
#### Common Issues:
327+
316328
- **"Cannot establish conditions"**: Check that specified condition columns exist in your data
317329
- **"Insufficient cells"**: Reduce the number of comparisons or combine similar conditions
318-
- **"Sample not found"**: Verify sample IDs in ```samples_condition1/2``` match your data exactly
330+
- **"Sample not found"**: Verify sample IDs in `samples_condition1/2` match your data exactly
319331

320332
#### Debug Information:
333+
321334
The pipeline logs detailed information about:
335+
322336
- Available metadata columns
323337
- Condition establishment methods used
324338
- Cell counts for each comparison group
325339
- Success/failure status for each comparison
326340

327-
328341
## Key Parameters
329342

330343
### Core ResolVI Parameters
@@ -419,7 +432,7 @@ Ensure your execution environment has appropriate GPU drivers and CUDA support w
419432

420433
## Documentation
421434

422-
The nf-core/resolvinf pipeline comes with documentation about the pipeline:
435+
The nf-core/parallax pipeline comes with documentation about the pipeline:
423436

424437
1. [Installation](https://nf-co.re/usage/installation)
425438
2. Pipeline configuration
@@ -460,7 +473,7 @@ The combination of ResolVI and scVIVA provides:
460473

461474
## Credits
462475

463-
nf-core/resolvinf was originally written by Christopher Tastad.
476+
nf-core/parallax was originally written by Christopher Tastad.
464477

465478
We thank the following people for their extensive assistance in the development of this pipeline:
466479

@@ -473,16 +486,16 @@ We thank the following people for their extensive assistance in the development
473486

474487
If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).
475488

476-
For further information or help, don't hesitate to get in touch on the [Slack `#resolvinf` channel](https://nfcore.slack.com/channels/resolvinf) (you can join with [this invite](https://nf-co.re/join/slack)).
489+
For further information or help, don't hesitate to get in touch on the [Slack `#parallax` channel](https://nfcore.slack.com/channels/parallax) (you can join with [this invite](https://nf-co.re/join/slack)).
477490

478491
## Citations
479492

480-
If you use nf-core/resolvinf for your analysis, please cite:
493+
If you use nf-core/parallax for your analysis, please cite:
481494

482495
### Pipeline
483496

484497
<!-- TODO: Add DOI after first release -->
485-
<!-- > **nf-core/resolvinf: A Nextflow implementation of ResolVI and scVIVA for comprehensive spatial transcriptomics analysis**
498+
<!-- > **nf-core/parallax: A Nextflow implementation of ResolVI and scVIVA for comprehensive spatial transcriptomics analysis**
486499
>
487500
> Christopher Tastad et al.
488501
>

assets/email_template.html

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,71 @@
11
<html>
2+
23
<head>
3-
<head>
4-
<meta charset="utf-8">
5-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6-
<meta name="viewport" content="width=device-width, initial-scale=1">
7-
8-
<meta name="description" content="nf-core/resolvinf: A Nextflow implementation of ResolVI for 10x Xenium data">
9-
<title>nf-core/resolvinf Pipeline Report</title>
10-
</head>
4+
5+
<head>
6+
<meta charset="utf-8">
7+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
10+
<meta name="description"
11+
content="nf-core/parallax: A Nextflow implementation of downstream analysis for 10x Xenium data">
12+
<title>nf-core/parallax Pipeline Report</title>
13+
</head>
14+
1115
<body>
12-
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">
16+
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">
1317

14-
<img src="cid:nfcorepipelinelogo">
18+
<img src="cid:nfcorepipelinelogo">
1519

16-
<h1>nf-core/resolvinf v${version}</h1>
17-
<h2>Run Name: $runName</h2>
20+
<h1>nf-core/parallax v${version}</h1>
21+
<h2>Run Name: $runName</h2>
1822

19-
<% if (!success){
20-
out << """
21-
<div style="color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
22-
<h4 style="margin-top:0; color: inherit;">nf-core/resolvinf execution completed unsuccessfully!</h4>
23-
<p>The exit status of the task that caused the workflow execution to fail was: <code>$exitStatus</code>.</p>
24-
<p>The full error message was:</p>
25-
<pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0;">${errorReport}</pre>
23+
<% if (!success){ out << """
24+
<div style=" color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px;
25+
border: 1px solid transparent; border-radius: 4px;">
26+
<h4 style="margin-top:0; color: inherit;">nf-core/parallax execution completed unsuccessfully!</h4>
27+
<p>The exit status of the task that caused the workflow execution to fail was: <code>$exitStatus</code>.</p>
28+
<p>The full error message was:</p>
29+
<pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0;">${errorReport}</pre>
2630
</div>
2731
"""
28-
} else {
32+
} else {
2933
out << """
30-
<div style="color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
31-
nf-core/resolvinf execution completed successfully!
32-
</div>
33-
"""
34-
}
35-
%>
34+
<div style=" color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; padding: 15px; margin-bottom: 20px;
35+
border: 1px solid transparent; border-radius: 4px;">
36+
nf-core/parallax execution completed successfully!
37+
</div>
38+
"""
39+
}
40+
%>
3641

37-
<p>The workflow was completed at <strong>$dateComplete</strong> (duration: <strong>$duration</strong>)</p>
38-
<p>The command used to launch the workflow was as follows:</p>
39-
<pre style="white-space: pre-wrap; overflow: visible; background-color: #ededed; padding: 15px; border-radius: 4px; margin-bottom:30px;">$commandLine</pre>
42+
<p>The workflow was completed at <strong>$dateComplete</strong> (duration: <strong>$duration</strong>)</p>
43+
<p>The command used to launch the workflow was as follows:</p>
44+
<pre
45+
style="white-space: pre-wrap; overflow: visible; background-color: #ededed; padding: 15px; border-radius: 4px; margin-bottom:30px;">
46+
$commandLine</pre>
4047

41-
<h3>Pipeline Configuration:</h3>
42-
<table style="width:100%; max-width:100%; border-spacing: 0; border-collapse: collapse; border:0; margin-bottom: 30px;">
43-
<tbody style="border-bottom: 1px solid #ddd;">
44-
<% out << summary.collect{ k,v -> "<tr><th style='text-align:left; padding: 8px 0; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'>$k</th><td style='text-align:left; padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'><pre style='white-space: pre-wrap; overflow: visible;'>$v</pre></td></tr>" }.join("\n") %>
45-
</tbody>
46-
</table>
48+
<h3>Pipeline Configuration:</h3>
49+
<table
50+
style="width:100%; max-width:100%; border-spacing: 0; border-collapse: collapse; border:0; margin-bottom: 30px;">
51+
<tbody style="border-bottom: 1px solid #ddd;">
52+
<% out << summary.collect{ k,v -> "<tr>
53+
<th
54+
style='text-align:left; padding: 8px 0; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'>
55+
$k</th>
56+
<td
57+
style='text-align:left; padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'>
58+
<pre style='white-space: pre-wrap; overflow: visible;'>$v</pre>
59+
</td>
60+
</tr>" }.join("\n") %>
61+
</tbody>
62+
</table>
4763

48-
<p>nf-core/resolvinf</p>
49-
<p><a href="https://github.com/nf-core/resolvinf">https://github.com/nf-core/resolvinf</a></p>
64+
<p>nf-core/parallax</p>
65+
<p><a href="https://github.com/nf-core/parallax">https://github.com/nf-core/parallax</a></p>
5066

51-
</div>
67+
</div>
5268

5369
</body>
70+
5471
</html>

assets/email_template.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
|\\ | |__ __ / ` / \\ |__) |__ } {
55
| \\| | \\__, \\__/ | \\ |___ \\`-._,-`-,
66
`._,._,'
7-
nf-core/resolvinf v${version}
7+
nf-core/parallax v${version}
88
----------------------------------------------------
99

1010
Run Name: $runName
1111

1212
<% if (success){
13-
out << "## nf-core/resolvinf execution completed successfully! ##"
13+
out << "## nf-core/parallax execution completed successfully! ##"
1414
} else {
1515
out << """####################################################
16-
## nf-core/resolvinf execution completed unsuccessfully! ##
16+
## nf-core/parallax execution completed unsuccessfully! ##
1717
####################################################
1818
The exit status of the task that caused the workflow execution to fail was: $exitStatus.
1919
The full error message was:
@@ -36,5 +36,5 @@ Pipeline Configuration:
3636
<% out << summary.collect{ k,v -> " - $k: $v" }.join("\n") %>
3737

3838
--
39-
nf-core/resolvinf
40-
https://github.com/nf-core/resolvinf
39+
nf-core/parallax
40+
https://github.com/nf-core/parallax

0 commit comments

Comments
 (0)