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

New changes towards Enchantr 0.0.5 #205

Merged
merged 26 commits into from
Nov 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b486e45
changes for new enchantr version
ggabernet Nov 15, 2022
7839e16
fix pythonnousersite for immcantation devel container
ggabernet Nov 15, 2022
32dac10
fix output define clones
ggabernet Nov 15, 2022
ac297b1
add raw and assembled Immcantation tests
ggabernet Nov 15, 2022
cd21e07
ci tests no fail fast
ggabernet Nov 16, 2022
380bcd5
Merge branch 'enchantr-400' of https://github.com/nf-core/airrflow in…
ggabernet Nov 18, 2022
954e1ac
Merge branch 'new-enchantr' of https://github.com/ggabernet/bcellmagi…
ggabernet Nov 18, 2022
b012477
save metadata table
ggabernet Nov 18, 2022
6ff9c29
join meta after scqc process
ggabernet Nov 18, 2022
1bac309
clonal analysis with meta
ggabernet Nov 18, 2022
bce3e31
find threshold update
ggabernet Nov 19, 2022
f8df4ad
define clones by group
ggabernet Nov 19, 2022
b1a08d5
airr compliant fastq samplesheets
ggabernet Nov 20, 2022
17cf431
organize params
ggabernet Nov 20, 2022
db7fb15
test validate input airr
ggabernet Nov 20, 2022
b727c48
add workflow overview plot
ggabernet Nov 20, 2022
047ddde
add metro map
ggabernet Nov 20, 2022
af071d3
update meta input
ggabernet Nov 20, 2022
365a6b7
updated docs samplesheet fastq
ggabernet Nov 21, 2022
6c06764
add mandatory fields to check samplesheet
ggabernet Nov 21, 2022
e068a3d
add input docs
ggabernet Nov 21, 2022
d1c1b36
implement define clones per clone group and report for all
ggabernet Nov 21, 2022
a19a0ba
update modules config
ggabernet Nov 21, 2022
3dab5ac
fix test profiles
ggabernet Nov 21, 2022
b893196
fix subject_id parsing
ggabernet Nov 22, 2022
9a6dea6
add changeo label
ggabernet Nov 23, 2022
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: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
NXF_VER:
- "21.10.3"
- "latest-everything"
profile: ["test_immcantation_devel"]
profile: ["test_assembled_immcantation_devel", "test_raw_immcantation_devel"]
fail-fast: false
steps:
- name: Check out pipeline code
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
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).

## [3.0dev] -

### `Added`

- Added compulsory AIRR fields in input samplesheet.

### `Fixed`

### `Dependencies`

### `Deprecated`

## [2.3.0] - 2022-09-22 "Expelliarmus"

### `Added`
Expand Down
4 changes: 4 additions & 0 deletions bin/check_samplesheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ def check_samplesheet(file_in):
"species",
"pcr_target_locus",
"single_cell",
"sex",
"tissue",
"biomaterial_provider",
"age"
]
header = [x.strip('"') for x in fin.readline().strip().split("\t")]
for col in REQUIRED_COLUMNS:
Expand Down
19 changes: 16 additions & 3 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ process {

withName: ADD_META_TO_TAB {
publishDir = [
path: { "${params.outdir}/vdj_annotation/06-annotat-metadata/${meta.id}" },
path: { "${params.outdir}/vdj_annotation/06-annotate-metadata/${meta.id}" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
Expand Down Expand Up @@ -352,13 +352,26 @@ process {
]
}

withName: DEFINE_CLONES {
withName: DEFINE_CLONES_COMPUTE {
publishDir = [
path: { "${params.outdir}/clonal_analysis/define_clones" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
ext.args = ['outname':'', 'model':'hierarchical', 'method':'nt', 'linkage':'single', 'outputby':'sample_id']
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':30]
}

withName: DEFINE_CLONES_REPORT {
publishDir = [
path: { "${params.outdir}/clonal_analysis/define_clones" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':30]
}

withName: DOWSER_LINEAGES {
Expand Down
10 changes: 9 additions & 1 deletion conf/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ params {
max_time = '6.h'

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/C_primers.fasta'
vprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/V_primers.fasta'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
Expand All @@ -35,3 +35,11 @@ params {
umi_start = 6
umi_position = 'R1'
}

process{
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/airrflow -profile test,<docker/singularity>
* nextflow run nf-core/airrflow -profile test_assembled_immcantation_devel,<docker/singularity>
*/

params {
Expand All @@ -19,8 +19,8 @@ params {
// Input data
mode = 'assembled'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-reveal/test_reveal_metadata.tsv'
imgtdb_base = '/usr/local/share/germlines/imgt'
igblast_base = '/usr/local/share/igblast'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
igblast_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/igblast_base.zip'
igphyml = '/usr/local/share/igphyml/src/igphyml'

reassign = true
Expand Down
11 changes: 10 additions & 1 deletion conf/test_fetchimgt.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ params {
max_time = '6.h'

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/C_primers.fasta'
vprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/V_primers.fasta'

Expand All @@ -33,3 +33,12 @@ params {
umi_start = 6
umi_position = 'R1'
}

process{
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}

2 changes: 1 addition & 1 deletion conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ params {
config_profile_description = 'Full test dataset to check pipeline function'

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/metadata_pcr_umi_airr.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/metadata_pcr_umi_airr_300.tsv'
cprimers = 's3://nf-core-awsmegatests/airrflow/input_data/pcr_umi/cprimers.fasta'
vprimers = 's3://nf-core-awsmegatests/airrflow/input_data/pcr_umi/vprimers.fasta'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
Expand Down
11 changes: 8 additions & 3 deletions conf/test_no_umi.config
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ params {
umi_length = 0

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-no-umi/Metadata_test-no-umi.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-no-umi/Metadata_test-no-umi_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-no-umi/Greiff2014_CPrimers.fasta'
vprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-no-umi/Greiff2014_VPrimers.fasta'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
Expand All @@ -39,6 +39,11 @@ process {
// When not using UMIs, set the coord parameter based on source (e.g., sra or illumina)
withName: PRESTO_ASSEMBLEPAIRS_SANS_UMI {
ext.args = '--rc tail --coord sra --maxerror 0.3'
}

}
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}

10 changes: 9 additions & 1 deletion conf/test_nocluster.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ params {
max_time = '6.h'

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/C_primers.fasta'
vprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/V_primers.fasta'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
Expand All @@ -36,3 +36,11 @@ params {
umi_position = 'R1'
cluster_sets = false
}

process{
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}
54 changes: 54 additions & 0 deletions conf/test_raw_immcantation_devel.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nextflow config file for running minimal tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.

Use as follows:
nextflow run nf-core/airrflow -profile test_raw_immcantation_devel,<docker/singularity> --outdir <OUTDIR>

----------------------------------------------------------------------------------------
*/

params {
config_profile_name = 'Test profile'
config_profile_description = 'Minimal test dataset to check pipeline function'

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

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/Metadata_test_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/C_primers.fasta'
vprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-bcr/V_primers.fasta'

imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
igblast_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/igblast_base.zip'
igphyml = '/usr/local/share/igphyml/src/igphyml'

mode = 'fastq'

library_generation_method = 'specific_pcr_umi'
cprimer_position = 'R1'
index_file = true
umi_length = 8
umi_start = 6
umi_position = 'R1'
}

process{
withLabel:immcantation{
container = 'immcantation/suite:devel'
}
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}

env {
PYTHONNOUSERSITE = 0
}
10 changes: 9 additions & 1 deletion conf/test_tcr.config
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,18 @@ params {


// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-tcr/TCR_metadata.tsv'
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-tcr/TCR_metadata_airr.tsv'
cprimers = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-tcr/cprimers.fasta'
race_linker = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/testdata-tcr/linker.fasta'
imgtdb_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/imgtdb_base.zip'
igblast_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/airrflow/database-cache/igblast_base.zip'

}

process{
withName:"DEFINE_CLONES*"{
ext.args = ['outname':'', 'model':'hierarchical',
'method':'nt', 'linkage':'single',
'outputby':'sample_id', 'min_n':10]
}
}
Binary file added docs/images/airrflow_workflow_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading