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

unselected RNA-seq based workflow #334

Merged
merged 49 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
11c4195
first steps & sc run
mapo9 Mar 21, 2024
6639f0f
input change
mapo9 Mar 25, 2024
2a42c32
stage before pull
mapo9 Apr 10, 2024
9d2c18a
Merge remote-tracking branch 'origin/master' into dev
mapo9 Apr 10, 2024
47a7642
merged most recent airrflow version
mapo9 Apr 11, 2024
a5af202
barcode airr test
mapo9 Apr 11, 2024
2f492b0
Merge pull request #325 from nf-core/dev
ggabernet Apr 23, 2024
48e1b68
dev update
mapo9 May 6, 2024
e434be7
Merge branch 'master' of https://github.com/mapo9/airrflow into trust4
mapo9 May 6, 2024
6242a6f
skip presto reporting which doesnt happen when trust4 is used
mapo9 May 7, 2024
761eccc
linting
mapo9 May 8, 2024
2da37e2
fastp before trust4
mapo9 May 8, 2024
d262a38
fastp before trust4
mapo9 May 10, 2024
50418e1
bulk and sc rnaseq input
mapo9 May 16, 2024
c6f95bf
bulk rnaseq test workflow
mapo9 May 16, 2024
c72146c
sc rnaseq tests
mapo9 May 16, 2024
7746378
docs
mapo9 May 16, 2024
5ef2f60
linting & prettier
mapo9 May 16, 2024
0bc5c19
trailing whitespace
mapo9 May 16, 2024
82c0688
trailing whitespace
mapo9 May 16, 2024
1a3a629
bugfix
mapo9 May 21, 2024
d822084
trailing whitespace
mapo9 May 21, 2024
90cada8
view statement removed
mapo9 May 21, 2024
35cf7f4
incorporating review comments
mapo9 May 23, 2024
cbdc415
fix test
mapo9 May 23, 2024
948bb53
removed view statement
mapo9 May 23, 2024
f13eeab
Merge branch 'dev' of https://github.com/ggabernet/nf-core-airrflow i…
ggabernet May 28, 2024
616349f
generate reference fasta
ggabernet May 28, 2024
9443bc8
channel in wrong subworkflow
ggabernet May 28, 2024
310e302
generate trust4 reference
ggabernet May 28, 2024
b9e977f
Merge branch 'dev' of https://github.com/nf-core/airrflow into trust4
ggabernet May 29, 2024
236e0f9
update container airrflow 4.1.0
ggabernet May 30, 2024
0c72700
test the dev container
ggabernet May 30, 2024
7101a6d
update container
ggabernet May 30, 2024
7304208
update changelog
ggabernet May 30, 2024
d933c48
improve protocol logs
ggabernet May 30, 2024
cf55590
presto wasnt updated
ggabernet May 30, 2024
fa5664e
fix linting
ggabernet May 30, 2024
032a56d
rm irrelevant param
ggabernet May 30, 2024
140c25c
Merge branch 'dev' of https://github.com/ggabernet/nf-core-airrflow i…
ggabernet May 30, 2024
0d7e636
merge dev
ggabernet May 31, 2024
bd3bbe2
add param skip alignment filter
ggabernet May 31, 2024
46a5fa2
add 'config_profile_url' default
mapo9 Jun 3, 2024
ba3eea1
trust4 nf-core module
mapo9 Jun 5, 2024
c186a69
improve docs
ggabernet Jul 17, 2024
cb6badc
Merge branch 'trust4' of https://github.com/mapo9/airrflow into trust4
ggabernet Jul 17, 2024
5e6e1a9
fix prettier
ggabernet Jul 17, 2024
b8dc66e
add locus selection to rnaseq workflow
ggabernet Jul 17, 2024
cfa4f73
fix issue with merge_UMI
ggabernet Jul 17, 2024
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
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ jobs:
"test_10x_sc",
"test_clontech_umi",
"test_nebnext_umi",
"test_rnaseq_bulk",
"test_rnaseq_sc",
]
fail-fast: false
steps:
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
| Dependency | Old version | New version |
| ---------- | ----------- | ----------- |
| biopython | 1.71 | 1.81 |
| enchantr | 0.1.15 | 0.1.16 |
| scoper | 1.2.1 | 1.3.0 |
| dowser | 1.2.0 | 2.1.0 |
| igphyml | 1.1.5 | 2.0.0 |

## [4.0] - 2024-04-22 Ascendio

Expand Down
8 changes: 8 additions & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,14 @@ process {
]
}

withName: CHANGEO_PARSEDB_SELECT_LOCUS {
publishDir = [
path: { "${params.outdir}/vdj_annotation/select-locus/${meta.id}" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: CHANGEO_PARSEDB_SPLIT {
publishDir = [
path: { "${params.outdir}/vdj_annotation/04-select-productive/${meta.id}" },
Expand Down
26 changes: 26 additions & 0 deletions conf/test_rnaseq_bulk.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/airrflow -profile test_rnaseq_bulk,<docker/singularity>
*/

params {
config_profile_name = 'Test bulk RNA-seq based workflow using TRUST4'
config_profile_description = 'Minimal test dataset to check pipeline function with raw bulk RNA-seq data'

// Limit resources so that this can run on GitHub Actions
max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// params
mode = 'fastq'
library_generation_method = 'trust4'
clonal_threshold = 0

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-rnaseq/rnaseq_metadata.tsv'
}
30 changes: 30 additions & 0 deletions conf/test_rnaseq_sc.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/airrflow -profile test_rnaseq_sc,<docker/singularity>
*/

params {
config_profile_name = 'Test single-cell RNA-seq based workflow using TRUST4'
config_profile_description = 'Minimal test dataset to check pipeline function with raw single-cell RNA-seq data'

// Limit resources so that this can run on GitHub Actions
max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// params
mode = 'fastq'
library_generation_method = 'trust4'
clonal_threshold = 0
barcode_read = "R1"
umi_read = "R1"
read_format = "bc:0:15,um:16:27"
skip_lineage = true

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-rnaseq/sc_rnaseq_metadata.tsv'
}
204 changes: 102 additions & 102 deletions docs/usage.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@
"branch": "master",
"git_sha": "b7ebe95761cd389603f9cc0e0dc384c0f663815a",
"installed_by": ["modules"]
},
"trust4": {
"branch": "master",
"git_sha": "bbb9636dbe460f45fe786d0866f8fd7337e4fc7a",
"installed_by": ["modules"]
}
}
},
Expand Down
4 changes: 2 additions & 2 deletions modules/local/airrflow_report/airrflow_report.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ process AIRRFLOW_REPORT {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tab) // sequence tsv table in AIRR format
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
process CHANGEO_PARSEDB_SELECT {
process CHANGEO_PARSEDB_SELECT_LOCUS {
tag "$meta.id"
label 'process_low'
label 'immcantation'
Expand All @@ -18,25 +18,21 @@ process CHANGEO_PARSEDB_SELECT {
path "versions.yml" , emit: versions

script:
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
if (meta.locus.toUpperCase() == 'IG'){
"""
ParseDb.py select -d $tab $args --outname ${meta.id} > ${meta.id}_select_command_log.txt
ParseDb.py select -d $tab -f locus -u "IG[HKL]" --regex --outname ${meta.id} > ${meta.id}_select_command_log.txt

cat <<-END_VERSIONS > versions.yml
"${task.process}":
igblastn: \$( igblastn -version | grep -o "igblast[0-9\\. ]\\+" | grep -o "[0-9\\. ]\\+" )
changeo: \$( ParseDb.py --version | awk -F' ' '{print \$2}' )
END_VERSIONS
"""
} else if (meta.locus.toUpperCase() == 'TR'){
"""
ParseDb.py select -d $tab $args2 --outname ${meta.id} > "${meta.id}_command_log.txt"
ParseDb.py select -d $tab -f locus -u "TR[ABDG]" --regex --outname ${meta.id} > "${meta.id}_command_log.txt"

cat <<-END_VERSIONS > versions.yml
"${task.process}":
igblastn: \$( igblastn -version | grep -o "igblast[0-9\\. ]\\+" | grep -o "[0-9\\. ]\\+" )
changeo: \$( ParseDb.py --version | awk -F' ' '{print \$2}' )
END_VERSIONS
"""
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/collapse_duplicates.nf
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ process COLLAPSE_DUPLICATES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tabs) // tuple [val(meta), sequence tsv in AIRR format ]
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/define_clones.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process DEFINE_CLONES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tabs) // meta, sequence tsv in AIRR format
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/detect_contamination.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ process DETECT_CONTAMINATION {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/dowser_lineages.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process DOWSER_LINEAGES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/find_threshold.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process FIND_THRESHOLD {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"


input:
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/remove_chimeric.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ process REMOVE_CHIMERIC {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"


input:
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/report_file_size.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ process REPORT_FILE_SIZE {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
path logs
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/single_cell_qc.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ process SINGLE_CELL_QC {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/validate_input.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ process VALIDATE_INPUT {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
file samplesheet
Expand Down
24 changes: 24 additions & 0 deletions modules/local/prepare_trust4_reference.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
process PREPARE_TRUST4_REFERENCE {
tag "$meta.id"
label 'process_medium'

conda "bioconda::trust4=1.0.13"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/trust4:1.0.13--h43eeafb_0':
'biocontainers/trust4:1.0.13--h43eeafb_0' }"

input:
tuple val(meta), path(R1), path(R2)
path(reference_igblast)

output:
tuple val(meta), path("trust4_reference.fa") , emit: trust4_reference

script:
"""
cat ${reference_igblast}/fasta/imgt_${meta.species.toLowerCase()}_*.fasta \\
${reference_igblast}/fasta/imgt_${meta.species.toLowerCase()}_*.fasta >> trust4_reference.fa
"""


}
4 changes: 2 additions & 2 deletions modules/local/reveal/add_meta_to_tab.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ process ADD_META_TO_TAB {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

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

Expand Down
4 changes: 2 additions & 2 deletions modules/local/reveal/filter_junction_mod3.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ process FILTER_JUNCTION_MOD3 {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tab) // sequence tsv in AIRR format
Expand Down
4 changes: 2 additions & 2 deletions modules/local/reveal/filter_quality.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ process FILTER_QUALITY {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:4.0.0':
'docker.io/immcantation/airrflow:4.0.0' }"
'docker.io/immcantation/airrflow:4.1.0':
'docker.io/immcantation/airrflow:4.1.0' }"

input:
tuple val(meta), path(tab) // sequence tsv in AIRR format
Expand Down
9 changes: 9 additions & 0 deletions modules/nf-core/trust4/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading