Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release 4.2.0 #357

Merged
merged 9 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [4.2.0] - dev
## [4.2.0] - Evanesco

### `Added`

Expand All @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- [#344](https://github.com/nf-core/airrflow/pull/344) Added option to save non-productive sequences
- [#344](https://github.com/nf-core/airrflow/pull/344) Allow for maskprimers align with UMI on both V gene and C gene primers.
- [#344](https://github.com/nf-core/airrflow/pull/344) Update pipeline template to nf-core tools v3.0.2.
- [357](https://github.com/nf-core/airrflow/pull/357) Deprecate isotype_column parameter in favor of annotating C region from internal c_region alignment or c_primer alignment into the c_call column.

### `Fixed`

Expand All @@ -24,8 +25,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### `Dependencies`

| Dependency | Old version | New version |
| ---------- | ----------- | ----------- |
| enchantr | 0.1.16 | 0.1.19 |
| presto | 0.7.1 | 0.7.2 |

### `Deprecated parameters`

- `isotype_column`: if `c_call` column value is NA, now `c_region` and `c_primer` column values respectively are annotated into the `c_call` column.

## [4.1.0] - Avenseguim

### `Added`
Expand Down
2 changes: 1 addition & 1 deletion assets/multiqc_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ report_comment: >

This report has been generated by the <a href="https://github.com/nf-core/airrflow/releases/tag/4.0" target="_blank">nf-core/airrflow</a>
analysis pipeline. For information about how to interpret these results, please see the
<a href="https://nf-co.re/airrflow/4.1.0/docs/output" target="_blank">documentation</a>.
<a href="https://nf-co.re/airrflow/4.2.0/docs/output" target="_blank">documentation</a>.

module_order:
- fastqc:
Expand Down
2 changes: 1 addition & 1 deletion assets/tutorial/airrflow.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
nextflow run nf-core/airrflow -r 4.1.0 \
nextflow run nf-core/airrflow -r 4.2.0 \
-profile docker \
--mode assembled \
--input samplesheet.tsv \
Expand Down
1 change: 0 additions & 1 deletion conf/clontech_umi_bcr.config
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,4 @@ params {
primer_r1_maxerror = 0.2
assemblepairs_sequential = true
primer_consensus = 0.6
isotype_column = 'cregion'
}
18 changes: 9 additions & 9 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
ext.args = '--skiprc --pf CPRIMER'
ext.args = '--skiprc --pf C_PRIMER'
ext.args2 = '-f ID PRIMER ERROR'
}

Expand All @@ -164,7 +164,7 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
ext.args = '--skiprc --revpr --pf CREGION'
ext.args = '--skiprc --revpr --pf C_REGION'
ext.args2 = '-f ID PRIMER ERROR --outname cregion_alignment'
}

Expand Down Expand Up @@ -269,7 +269,7 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
ext.args = '--1f CREGION --coord illumina'
ext.args = '--1f C_REGION --coord illumina'
}

withName: PRESTO_PAIRSEQ_EXTRACT {
Expand Down Expand Up @@ -331,8 +331,8 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
// Use homogeneous CPRIMER for consensus
ext.args = ["--pf CPRIMER --maxerror ${params.buildconsensus_maxerror} --maxgap ${params.buildconsensus_maxgap}",
// Use homogeneous C_PRIMER for consensus
ext.args = ["--pf C_PRIMER --maxerror ${params.buildconsensus_maxerror} --maxgap ${params.buildconsensus_maxgap}",
params.primer_consensus ? "--prcons $params.primer_consensus" : "",
params.cluster_sets ? "--bf CLUSTER" : "--bf BARCODE",
].join(" ").trim()
Expand Down Expand Up @@ -416,7 +416,7 @@ process {
enabled: false
]
ext.subcommand = 'rename'
ext.args = '-f PRCONS -k CREGION'
ext.args = '-f PRCONS -k C_REGION'
}

withName: PRESTO_PARSEHEADERS_PRIMERS_SANS_UMI {
Expand Down Expand Up @@ -449,7 +449,7 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
ext.args = '-n 0 --inner --uf CREGION --cf CONSCOUNT --act sum --keepmiss'
ext.args = '-n 0 --inner --uf C_REGION --cf CONSCOUNT --act sum --keepmiss'
ext.args2 = '-f HEADER DUPCOUNT CONSCOUNT'
}

Expand All @@ -459,7 +459,7 @@ process {
mode: params.publish_dir_mode,
pattern: "*{txt,log,tab}"
]
ext.args = '-n 0 --inner --uf PRCONS CREGION --cf CONSCOUNT --act sum --keepmiss'
ext.args = '-n 0 --inner --uf PRCONS C_REGION --cf CONSCOUNT --act sum --keepmiss'
ext.args2 = '-f HEADER DUPCOUNT CONSCOUNT'
}

Expand Down Expand Up @@ -495,7 +495,7 @@ process {
// V(D)J annotation
// -----------------

withName: FETCH_DATABASES {
withName: 'FETCH_*' {
publishDir = [
path: { "${params.outdir}/databases" },
mode: params.publish_dir_mode,
Expand Down
1 change: 0 additions & 1 deletion conf/nebnext_umi_bcr.config
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,4 @@ params {
cregion_maxlen = 100
cregion_maxerror = 0.3
cregion_mask_mode = 'tag'
isotype_column = 'cregion'
}
1 change: 0 additions & 1 deletion conf/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ params {
umi_start = 6
umi_position = 'R1'
index_file = true
isotype_column = 'c_primer'
lineage_trees = true
}

Expand Down
1 change: 0 additions & 1 deletion conf/test_fetchimgt.config
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ params {
umi_start = 6
umi_position = 'R1'
index_file = true
isotype_column = 'c_primer'
}

process{
Expand Down
1 change: 0 additions & 1 deletion conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ params {
umi_length = 15
umi_start = 0
umi_position = 'R1'
isotype_column = 'c_primer'
}

process {
Expand Down
1 change: 0 additions & 1 deletion conf/test_maskprimers_align.config
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,5 @@ params {
umi_start = 6
umi_position = 'R1'
index_file = true
isotype_column = 'c_primer'
maskprimers_align = true
}
1 change: 0 additions & 1 deletion conf/test_maskprimers_extract.config
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ params {
umi_start = 6
umi_position = 'R1'
index_file = true
isotype_column = 'c_primer'
lineage_trees = false
primer_r1_mask_mode = 'trim'
primer_r2_mask_mode = 'cut'
Expand Down
1 change: 0 additions & 1 deletion conf/test_no_umi.config
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ params {
vprimer_start = 4
primer_revpr = true
umi_length = 0
isotype_column = 'c_primer'

// Input data
input = pipelines_testdata_base_path + 'testdata-no-umi/Metadata_test-no-umi_airr.tsv'
Expand Down
1 change: 0 additions & 1 deletion conf/test_nocluster.config
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ params {
cluster_sets = false
index_file = true
clonal_threshold = 0.15
isotype_column = 'c_primer'
}

process{
Expand Down
1 change: 0 additions & 1 deletion conf/test_raw_immcantation_devel.config
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ params {
umi_start = 6
umi_position = 'R1'
index_file = true
isotype_column = 'c_primer'
}

process{
Expand Down
2 changes: 1 addition & 1 deletion modules/local/airrflow_report/airrflow_report.nf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ process AIRRFLOW_REPORT {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tab) // sequence tsv table in AIRR format
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/collapse_duplicates.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ process COLLAPSE_DUPLICATES {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tabs) // tuple [val(meta), sequence tsv in AIRR format ]
Expand Down
3 changes: 1 addition & 2 deletions modules/local/enchantr/define_clones.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ process DEFINE_CLONES {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tabs) // meta, sequence tsv in AIRR format
Expand Down Expand Up @@ -59,7 +59,6 @@ process DEFINE_CLONES {
'threshold'=${thr}, \\
'singlecell'='${params.singlecell}', \\
'outdir'=getwd(), \\
'isotype_column'='${params.isotype_column}', \\
'nproc'=${task.cpus}, \\
'log'='${meta.id}_clone_command_log' ${args}))"

Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/detect_contamination.nf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ process DETECT_CONTAMINATION {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
path(tabs)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/dowser_lineages.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ process DOWSER_LINEAGES {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tabs)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/find_threshold.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ process FIND_THRESHOLD {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"


input:
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/remove_chimeric.nf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ process REMOVE_CHIMERIC {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"


input:
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/report_file_size.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ process REPORT_FILE_SIZE {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
path logs
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/single_cell_qc.nf
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ process SINGLE_CELL_QC {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
path(tabs)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/enchantr/validate_input.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ process VALIDATE_INPUT {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
file samplesheet
Expand Down
2 changes: 1 addition & 1 deletion modules/local/reveal/add_meta_to_tab.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ process ADD_META_TO_TAB {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

cache 'deep' // Without 'deep' this process would run when using -resume

Expand Down
2 changes: 1 addition & 1 deletion modules/local/reveal/filter_junction_mod3.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ process FILTER_JUNCTION_MOD3 {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tab) // sequence tsv in AIRR format
Expand Down
2 changes: 1 addition & 1 deletion modules/local/reveal/filter_quality.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ process FILTER_QUALITY {
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "docker.io/immcantation/airrflow:4.1.0"
container "docker.io/immcantation/airrflow:4.2.0"

input:
tuple val(meta), path(tab) // sequence tsv in AIRR format
Expand Down
3 changes: 1 addition & 2 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ params {
reference_fasta = "${params.pipelines_testdata_base_path}database-cache/imgtdb_base.zip"
fetch_imgt = false
save_databases = true
isotype_column = 'c_call'
skip_alignment_filter = false

// -----------------------
Expand Down Expand Up @@ -375,7 +374,7 @@ manifest {
description = """B and T cell repertoire analysis pipeline with the Immcantation framework."""
mainScript = 'main.nf'
nextflowVersion = '!>=24.04.2'
version = '4.1.0'
version = '4.2.0'
doi = 'https://doi.org/10.1371/journal.pcbi.1012265'
}

Expand Down
7 changes: 0 additions & 7 deletions nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -395,13 +395,6 @@
"type": "boolean",
"description": "Set this flag to fetch the IMGT reference data at runtime.",
"fa_icon": "fas fa-cloud-download-alt"
},
"isotype_column": {
"type": "string",
"description": "Set the column in the AIRR rearrangement file that isotype information should be gathered from.",
"default": "c_call",
"fa_icon": "fas fa-border-all",
"help_text": "Default is the `c_call` column. For bulk protocols one can use the c_primers or cregion columns (check `align_cregion`). The primer or cregions fasta file header need to contain the strings `IGHA`, `IGHD`, `IGHG`... for the isotypes to be properly parsed. This will be used for plotting mutation frequency by isotype in the clonal analysis report."
}
},
"fa_icon": "fas fa-edit"
Expand Down
2 changes: 1 addition & 1 deletion subworkflows/local/presto_umi.nf
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ workflow PRESTO_UMI {

// Build consensus of sequences with same UMI barcode
if (params.maskprimers_align_race) {
// Only consider CPRIMER frequency when building consensus
// Only consider C_PRIMER frequency when building consensus
PRESTO_BUILDCONSENSUS_ALIGN_RACE (
ch_for_buildconsensus
)
Expand Down