Skip to content

Commit 06b88e1

Browse files
committed
v0.9.1 update
1 parent 03ffbf7 commit 06b88e1

50 files changed

Lines changed: 552 additions & 21588 deletions

Some content is hidden

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

.github/workflows/smoke_test.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Smoke Tests
2+
3+
on:
4+
push:
5+
branches: [main, devel]
6+
pull_request:
7+
branches: [main, devel]
8+
9+
jobs:
10+
smoke_test:
11+
name: "${{ matrix.profile }} (NF ${{ matrix.nextflow_version }})${{ matrix.quantification_mode && format(' [{0}]', matrix.quantification_mode) || '' }}${{ matrix.bam_only && ' [bam_only]' || '' }}"
12+
runs-on: ubuntu-latest
13+
strategy:
14+
matrix:
15+
include:
16+
# Nextflow 26.04.0 - all profiles
17+
- {nextflow_version: "26.04.0", profile: test_sc_fastq}
18+
- {nextflow_version: "26.04.0", profile: test_sc_bam}
19+
- {nextflow_version: "26.04.0", profile: test_sc_multi}
20+
- {nextflow_version: "26.04.0", profile: test_visium}
21+
- {nextflow_version: "26.04.0", profile: test_custom}
22+
# latest-stable - all profiles (default EM_clusters)
23+
- {nextflow_version: "latest-stable", profile: test_sc_fastq}
24+
- {nextflow_version: "latest-stable", profile: test_sc_bam}
25+
- {nextflow_version: "latest-stable", profile: test_sc_multi}
26+
- {nextflow_version: "latest-stable", profile: test_visium}
27+
- {nextflow_version: "latest-stable", profile: test_custom}
28+
# latest-stable - extra parameter variants
29+
- {nextflow_version: "latest-stable", profile: test_sc_fastq, quantification_mode: EM}
30+
- {nextflow_version: "latest-stable", profile: test_sc_multi, quantification_mode: EM}
31+
- {nextflow_version: "latest-stable", profile: test_sc_fastq, quantification_mode: no_quant}
32+
- {nextflow_version: "latest-stable", profile: test_sc_fastq, bam_only: true}
33+
steps:
34+
- uses: actions/checkout@v4
35+
- uses: nf-core/setup-nextflow@v2
36+
with:
37+
version: ${{ matrix.nextflow_version }}
38+
- name: Run ${{ matrix.profile }}
39+
run: |
40+
nextflow run . -profile test_base,${{ matrix.profile }},docker \
41+
${{ matrix.quantification_mode && format('--quantification_mode {0}', matrix.quantification_mode) || '' }} \
42+
${{ matrix.bam_only && '--bam_only' || '' }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.claude/
2+
CLAUDE.md
23
.smoke_test/
34
.nextflow/
45
.nextflow.log*

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ This file contains all notable changes to Bambu-Pipe.
44

55
---
66

7+
## [v0.9.1] - 2026-05-20
8+
9+
### Added
10+
- Harmony batch correction for multi-sample Seurat clustering
11+
- Processing of CB/UB tagged custom BAM files
12+
- GitHub Actions workflow to run smoke test on push and pull request to `main` and `devel` branches
13+
14+
### Changed
15+
- Upgraded pipeline to support Nextflow version `26.04.0` and above
16+
717
## [v0.9-beta] - 2026-05-11
818

919
### Added
@@ -25,7 +35,7 @@ This file contains all notable changes to Bambu-Pipe.
2535
- `quantification_mode` parameter to control quantification strategy (`no_quant`, `EM`, `EM_clusters`)
2636
- Seurat clustering as a dedicated process (`SEURAT_CLUSTERING`) for cluster-based EM quantification
2737
- Joint clustering across all samples on a combined gene counts matrix (previously per-sample)
28-
- Cluster output restructured to an ordered list of `CompressedCharacterList`s, one per sample in `quantData` order (previously a flat single CCL mixing all samples)
38+
- Cluster output restructured to an ordered list of `CompressedCharacterList`, one per sample in `quantData` order (previously a flat single CCL mixing all samples)
2939
- `SEURAT_CLUSTERING` now takes gene counts matrix and sample names as inputs instead of the full `quantData` object
3040
- `clusterCells` helper inlined into the process (previously sourced from `bin/utilityFunctions.R`)
3141
- `early_stop_stage` parameter to terminate the pipeline after BAM or RDS generation

README.md

Lines changed: 116 additions & 112 deletions
Large diffs are not rendered by default.

conf/dev.config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ params {
44
valid_chemistries = ['10x3v2', '10x3v3', '10x3v4', '10x5v2', '10x5v3', 'visium-v1', 'visium-v2', 'visium-v3', 'visium-v4', 'visium-v5']
55
valid_technologies = ['ONT', 'PacBio']
66
valid_quantification_modes = ['no_quant', 'EM', 'EM_clusters']
7-
valid_early_stop_stages = ['rds', 'bam', null]
87
save_intermediates = false
98
qfilter_threshold = 10
109
flexiplex_f_5prime = 8
1110
flexiplex_f_3prime = 13
1211
flexiplex_e = 1
1312
process_by_chromosome = true
13+
seurat_dim_single = 15
14+
seurat_dim_multi = 30
1415
fusion_mode = false
1516
jaffal_ref_dir = null
1617
jaffal_code_dir = "$projectDir/jaffal"

conf/smoke_test.config

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,36 +20,43 @@ profiles {
2020
}
2121
workDir = "${projectDir}/.smoke_test/work"
2222
params {
23-
genome = "${projectDir}/examples/GRCh38.primary_assembly.genome.chr9_1_1000000.fa"
24-
annotation = "${projectDir}/examples/gencode.v49.primary_assembly.annotation.chr9_1_1000000.gtf"
23+
genome = "${projectDir}/examples/GRCh38.primary_assembly.genome.chr21.fa.gz"
24+
annotation = "${projectDir}/examples/gencode.v49.primary_assembly.annotation.chr21.gtf.gz"
2525
}
2626
}
2727

28-
test_fastq {
28+
test_sc_fastq {
2929
params {
30-
input = "${projectDir}/examples/samplesheet_test_fastq.csv"
31-
output_dir = "${projectDir}/.smoke_test/test_fastq/output"
30+
input = "${projectDir}/examples/samplesheet_test_sc_fastq.csv"
31+
output_dir = "${projectDir}/.smoke_test/test_sc_fastq/output"
3232
}
3333
}
3434

35-
test_bam {
35+
test_sc_bam {
3636
params {
37-
input = "${projectDir}/examples/samplesheet_test_bam.csv"
38-
output_dir = "${projectDir}/.smoke_test/test_bam/output"
37+
input = "${projectDir}/examples/samplesheet_test_sc_bam.csv"
38+
output_dir = "${projectDir}/.smoke_test/test_sc_bam/output"
3939
}
4040
}
4141

42-
test_rds {
42+
test_sc_multi {
4343
params {
44-
input = "${projectDir}/examples/samplesheet_test_rds.csv"
45-
output_dir = "${projectDir}/.smoke_test/test_rds/output"
44+
input = "${projectDir}/examples/samplesheet_test_sc_multi.csv"
45+
output_dir = "${projectDir}/.smoke_test/test_sc_multi/output"
4646
}
4747
}
4848

49-
test_multi {
49+
test_visium {
5050
params {
51-
input = "${projectDir}/examples/samplesheet_test_multi.csv"
52-
output_dir = "${projectDir}/.smoke_test/test_multi/output"
51+
input = "${projectDir}/examples/samplesheet_test_visium.csv"
52+
output_dir = "${projectDir}/.smoke_test/test_visium/output"
53+
}
54+
}
55+
56+
test_custom {
57+
params {
58+
input = "${projectDir}/examples/samplesheet_test_custom.csv"
59+
output_dir = "${projectDir}/.smoke_test/test_custom/output"
5360
}
5461
}
5562

containers/r/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ RUN micromamba install -y -n base -c conda-forge -c bioconda \
1313
r-biocmanager=1.30.27 \
1414
bioconductor-bambu=3.12.1 \
1515
r-seurat=5.4.0 \
16+
r-harmony=2.0.2 \
1617
gxx=15.2.0 \
1718
&& micromamba clean --all --yes
1819

1.88 MB
Binary file not shown.
1.96 MB
Binary file not shown.
-97.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)