Skip to content
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## LOGAN development version

- Fixed container mount error - removed broken paths. (#111, @samarth8392)
- Fixed input file name collision in Octopus variant calling. (#111, @samarth8392)
- Fixed AnnotSV database path resolution in tumor-only SV workflows. (#111, @samarth8392)

## LOGAN 0.3.2

- Uses Nextflow v25 for logan run; fixes the bug in stub run in nf v24.10 (see: https://github.com/nextflow-io/nextflow/issues/5456) (#99, @samarth8392)
Expand Down
1 change: 1 addition & 0 deletions conf/biowulf.config
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ singularity {
autoMounts = true
cacheDir = "/data/CCBR_Pipeliner/SIFS"
envWhitelist = 'https_proxy,http_proxy,ftp_proxy,DISPLAY,SLURM_JOBID,SINGULARITY_BINDPATH'
runOptions = '-B /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/AnnotSV:/annotsv_db'
}

env.SINGULARITY_CACHEDIR = "/data/CCBR_Pipeliner/SIFS"
Expand Down
2 changes: 1 addition & 1 deletion conf/ci_stub.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ singularity {
autoMounts = true
cacheDir = "/data/CCBR_Pipeliner/SIFS"
envWhitelist = 'https_proxy,http_proxy,ftp_proxy,DISPLAY,SLURM_JOBID,SINGULARITY_BINDPATH'
runOptions = '-B /gs10,/gs11,/gs12,/spin1,/data/CCBR_Pipeliner/,/vf/users,/gpfs,/fdb'
runOptions = '-B /data/CCBR_Pipeliner/,/vf/users,/gpfs,/fdb'
}

env.SINGULARITY_CACHEDIR = "/data/CCBR_Pipeliner/SIFS"
Expand Down
3 changes: 3 additions & 0 deletions conf/genomes.config
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ params {
vepspecies = "homo_sapiens"
vepbuild = "GRCh38"
annotsvgenome = "GRCh38"
annotsvdb = "/data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/AnnotSV"
octopus_sforest= "--somatic-forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/somatic.v0.7.4.forest"
octopus_gforest= "--forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/germline.v0.7.4.forest"
SEQUENZAGC = "/data/CCBR_Pipeliner/Pipelines/XAVIER/resources/hg38/SEQUENZA/hg38.gc200Base.wig.gz"
Expand Down Expand Up @@ -185,6 +186,7 @@ params {
vepspecies = "homo_sapiens"
vepbuild = "GRCh38"
annotsvgenome = "GRCh38"
annotsvdb = "/data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/AnnotSV"
octopus_sforest= "--somatic-forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/somatic.v0.7.4.forest"
octopus_gforest= "--forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/germline.v0.7.4.forest"
SEQUENZAGC = "/data/CCBR_Pipeliner/Pipelines/XAVIER/resources/hg38/SEQUENZA/hg38.gc200Base.wig.gz"
Expand Down Expand Up @@ -240,6 +242,7 @@ params {
vepspecies = "homo_sapiens"
vepbuild = "GRCh38"
annotsvgenome = "GRCh38"
annotsvdb = "/data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/AnnotSV"
octopus_sforest= "--somatic-forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/somatic.v0.7.4.forest"
octopus_gforest= "--forest /data/CCBR_Pipeliner/Pipelines/LOGAN/resources/hg38/octopus/germline.v0.7.4.forest"
SEQUENZAGC = "/data/CCBR_Pipeliner/Pipelines/XAVIER/resources/hg38/SEQUENZA/hg38.gc200Base.wig.gz"
Expand Down
62 changes: 27 additions & 35 deletions modules/local/annotsv.nf
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
GENOMEREF=file(params.genomes[params.genome].genome)
ANNOTSVGENOME=params.genomes[params.genome].annotsvgenome


process annotsv_tn {
//AnnotSV for Manta/Svaba/GRIDSS works with either vcf.gz or .vcf files
//Requires bedtools,bcftools
//AnnotSV for Manta/Svaba/GRIDSS works with either vcf.gz or .vcf files
//Requires bedtools,bcftools
errorStrategy = 'ignore'
container = "${params.containers.annotcnvsv}"
container "${params.containers.annotcnvsv}"

input:
tuple val(tumorname), path(somaticvcf), val(sv)
Expand All @@ -16,91 +14,82 @@ process annotsv_tn {
path("${sv}/${tumorname}.tsv"),
path("${sv}/${tumorname}.unannotated.tsv")


script:
def annotsvGenome = params.genomes[params.genome].annotsvgenome
"""
mkdir ${sv}

AnnotSV -SVinputFile ${somaticvcf} \
-genomeBuild $ANNOTSVGENOME \
-genomeBuild ${annotsvGenome} \
-annotationsDir /annotsv_db \
-SVinputInfo 1 -outputFile ${tumorname} \
-outputDir ${sv}

# Create empty files if AnnotSV didn't produce output (empty VCF)
touch ${sv}/${tumorname}.tsv
touch ${sv}/${tumorname}.unannotated.tsv
"""

stub:
"""
mkdir ${sv}

touch "${sv}/${tumorname}.tsv"
touch "${sv}/${tumorname}.unannotated.tsv"
"""
}




process gunzip {
label 'process_single'

input:
tuple val(tumorname),
path(vcf), val(sv)
tuple val(tumorname), path(vcf), val(sv)

output:
tuple val(tumorname),
path("${tumorname}.tumorSV_${sv}.vcf"), val(sv)

script:
"""
gunzip -f ${vcf} > ${tumorname}.tumorSV_${sv}.vcf
gunzip -c ${vcf} > ${tumorname}.tumorSV_${sv}.vcf
"""

stub:

"""
touch ${tumorname}.tumorSV_${sv}.vcf
"""

}


process survivor_sv {
container = "${params.containers.annotcnvsv}"
container "${params.containers.annotcnvsv}"

input:
tuple val(tumorname),
path(vcfs), val(svs)
tuple val(tumorname), path(vcfs), val(svs)

output:
tuple val(tumorname),
path("${tumorname}_merged.vcf"),
val("survivor")


script:
strin = vcfs.join("\\n")

def strin = vcfs.join("\\n")
"""
echo -e '$strin' > filelistin
echo -e '${strin}' > filelistin
SURVIVOR merge filelistin 1000 2 1 1 1 30 ${tumorname}_merged.vcf
"""

stub:
strin = vcfs.join("\\n")
def strin = vcfs.join("\\n")
"""
echo -e '$strin' > filelistin
echo -e '${strin}' > filelistin
touch "${tumorname}_merged.vcf"
"""
}


process annotsv_tonly {
//AnnotSV for Manta/Svaba works with either vcf.gz or .vcf files
//Requires bedtools,bcftools
//AnnotSV for Manta/Svaba works with either vcf.gz or .vcf files
//Requires bedtools,bcftools
errorStrategy = 'ignore'

container = "${params.containers.annotcnvsv}"
container "${params.containers.annotcnvsv}"

input:
tuple val(tumorname), path(somaticvcf), val(sv)
Expand All @@ -110,23 +99,26 @@ process annotsv_tonly {
path("${sv}/${tumorname}.tsv"),
path("${sv}/${tumorname}.unannotated.tsv")


script:
def annotsvGenome = params.genomes[params.genome].annotsvgenome
"""
mkdir ${sv}

AnnotSV -SVinputFile ${somaticvcf} \
-genomeBuild $ANNOTSVGENOME \
-genomeBuild ${annotsvGenome} \
-annotationsDir /annotsv_db \
-SVinputInfo 1 -outputFile ${tumorname} \
-outputDir ${sv}

# Create empty files if AnnotSV didn't produce output (empty VCF)
touch ${sv}/${tumorname}.tsv
touch ${sv}/${tumorname}.unannotated.tsv
"""

stub:
"""
mkdir ${sv}

touch "${sv}/${tumorname}.tsv"
touch "${sv}/${tumorname}.unannotated.tsv"
"""
}
}
4 changes: 2 additions & 2 deletions modules/local/ascat.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if (params.genome.matches("hg38(.*)")){


process ascat_tn {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down Expand Up @@ -57,7 +57,7 @@ process ascat_tn {


process ascat_tn_exome {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bcftools_stats.nf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ process bcftools_stats {
@Output:
Text file containing a collection of summary statistics
*/
container = "${params.containers.logan}"
container "${params.containers.logan}"
label 'process_medium'

input:
Expand Down
8 changes: 4 additions & 4 deletions modules/local/bwamem/bwamem2.nf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
GENOMEREF = file(params.genomes[params.genome].genome)

process bwamem2 {
container = "${params.containers.logan}"
tag { name }
container "${params.containers.logan}"
tag { samplename }
errorStrategy { task.exitStatus in [137,140,143] ? 'retry' : 'terminate' }
maxRetries 2

Expand Down Expand Up @@ -53,7 +53,7 @@ process bwamem2 {


process BWAMEM2_SPLIT {
container = "${params.containers.logan}"
container "${params.containers.logan}"
tag { name }
errorStrategy { task.exitStatus in [137,140,143] ? 'retry' : 'terminate' }
maxRetries 2
Expand Down Expand Up @@ -105,7 +105,7 @@ process BWAMEM2_SPLIT {


process COMBINE_ALIGNMENTS {
container = "${params.containers.logan}"
container "${params.containers.logan}"
label 'process_medium'

input:
Expand Down
8 changes: 4 additions & 4 deletions modules/local/cnvkit.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ REFFLAT = file(params.genomes[params.genome].REFFLAT)
ACCESS = file(params.genomes[params.genome].ACCESS)

process cnvkit {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down Expand Up @@ -40,7 +40,7 @@ process cnvkit {
}

process cnvkit_exome {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down Expand Up @@ -74,7 +74,7 @@ process cnvkit_exome {


process cnvkit_tonly {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down Expand Up @@ -104,7 +104,7 @@ process cnvkit_tonly {
}

process cnvkit_exome_tonly {
container = "${params.containers.cnv}"
container "${params.containers.cnv}"
label 'process_medium'

input:
Expand Down
12 changes: 6 additions & 6 deletions modules/local/deepsomatic.nf
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if(params.exome && params.ffpe) {
}

process deepsomatic_tn_step1 {
container = "${params.containers.deepsomatic}"
container "${params.containers.deepsomatic}"
label 'process_somaticcaller'
errorStrategy { task.exitStatus == 1 ? 'ignore' : 'terminate' }

Expand Down Expand Up @@ -52,7 +52,7 @@ process deepsomatic_tn_step1 {


process deepsomatic_tonly_step1 {
container = "${params.containers.deepsomatic}"
container "${params.containers.deepsomatic}"
label 'process_somaticcaller'
errorStrategy { task.exitStatus == 1 ? 'ignore' : 'terminate' }

Expand Down Expand Up @@ -91,7 +91,7 @@ process deepsomatic_tonly_step1 {

//Step 2 can run in CPU or GPU mode for now use only CPUs
process deepsomatic_step2 {
container = "${params.containers.deepsomatic}"
container "${params.containers.deepsomatic}"
label 'process_somaticcaller'
errorStrategy { task.exitStatus == 1 ? 'ignore' : 'terminate' }

Expand Down Expand Up @@ -123,7 +123,7 @@ process deepsomatic_step2 {
}

process deepsomatic_tonly_step2 {
container = "${params.containers.deepsomatic}"
container "${params.containers.deepsomatic}"
label 'process_somaticcaller'
errorStrategy { task.exitStatus == 1 ? 'ignore' : 'terminate' }

Expand Down Expand Up @@ -157,7 +157,7 @@ process deepsomatic_tonly_step2 {

//Step 3 DV
process deepsomatic_step3 {
container = "${params.containers.deepsomatic}"
container "${params.containers.deepsomatic}"
label 'process_somaticcaller'
errorStrategy { task.exitStatus == 1 ? 'ignore' : 'terminate' }

Expand Down Expand Up @@ -188,7 +188,7 @@ process deepsomatic_step3 {


process bcfconcat {
container = "${params.containers.logan}"
container "${params.containers.logan}"
label 'process_low'

input:
Expand Down
10 changes: 5 additions & 5 deletions modules/local/deepvariant.nf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ any form of indel realignment,

//Deep Variant
process deepvariant_step1 {
container = "${params.containers.deepvariant}"
container "${params.containers.deepvariant}"
label 'process_somaticcaller'

input:
Expand Down Expand Up @@ -46,7 +46,7 @@ process deepvariant_step1 {

//Step 2 requires GPU
process deepvariant_step2 {
container = "${params.containers.deepvariant}"
container "${params.containers.deepvariant}"
//clusterOptions '--gres=lscratch:100,gpu:p100:1 --partition=gpu'
label 'process_somaticcaller'

Expand Down Expand Up @@ -79,7 +79,7 @@ process deepvariant_step2 {

//Step 3 DV
process deepvariant_step3 {
container = "${params.containers.deepvariant}"
container "${params.containers.deepvariant}"
label 'process_somaticcaller'

input:
Expand Down Expand Up @@ -113,7 +113,7 @@ process deepvariant_step3 {


process bcfconcat {
container = "${params.containers.logan}"
container "${params.containers.logan}"
label 'process_low'

input:
Expand All @@ -138,7 +138,7 @@ process bcfconcat {


process glnexus {
container = "${params.containers.logan}"
container "${params.containers.logan}"
label 'process_medium'

input:
Expand Down
Loading