ERROR ~ No such variable: Exception evaluating property 'out' for nextflow.script.ChannelOut
amizeranschi opened this issue · 7 comments
Description of the bug
Hello,
I'm getting the error from the title when testing the pipeline, starting from BAM files produced by nf-core/rnaseq. Tested with the latest dev version and Nextflow 23.04.0
. This the the output:
------------------------------------------------------
[- ] process > NFCORE_RNASPLICE:RNASPLICE:PREPARE_GENOME:GUNZIP_GTF -
[- ] process > NFCORE_RNASPLICE:RNASPLICE:PREPARE_GENOME:GTF_GENE_FILTER -
[- ] process > NFCORE_RNASPLICE:RNASPLICE:PREPARE_GENOME:MAKE_TRANSCRIPTS_FASTA -
[- ] process > NFCORE_RNASPLICE:RNASPLICE:PREPARE_GENOME:CUSTOM_GETCHROMSIZES -
ERROR ~ No such variable: Exception evaluating property 'out' for nextflow.script.ChannelOut, Reason: groovy.lang.MissingPropertyException: No such property: out for class: groovyx.gpars.dataflow.DataflowBroadcast
-- Check script '/data/share/.nextflow/assets/nf-core/rnasplice/./workflows/rnasplice.nf' at line: 175 or see '.nextflow.log' file for more details
The last printed message seems to refer to this part of the code: https://github.com/nf-core/rnasplice/blob/dev/workflows/rnasplice.nf#L175-L179
I am attaching the full log below.
Command used and terminal output
No response
Relevant files
System information
No response
Please could you provide the custom config used in the command, along with the sample and contrast sheets?
Hi, sure. This is the sample sheet:
sample,condition,genome_bam
K562_TARDBP_TREATED_REP1,K562_TARDBP_TREATED,test-rnaseq/star_salmon/K562_TARDBP_TREATED_REP1.markdup.sorted.bam
K562_TARDBP_TREATED_REP2,K562_TARDBP_TREATED,test-rnaseq/star_salmon/K562_TARDBP_TREATED_REP2.markdup.sorted.bam
K562_TARDBP_CONTROL_REP1,K562_TARDBP_CONTROL,test-rnaseq/star_salmon/K562_TARDBP_CONTROL_REP1.markdup.sorted.bam
K562_TARDBP_CONTROL_REP2,K562_TARDBP_CONTROL,test-rnaseq/star_salmon/K562_TARDBP_CONTROL_REP2.markdup.sorted.bam
HepG2_TARDBP_TREATED_REP1,HepG2_TARDBP_TREATED,test-rnaseq/star_salmon/HepG2_TARDBP_TREATED_REP1.markdup.sorted.bam
HepG2_TARDBP_TREATED_REP2,HepG2_TARDBP_TREATED,test-rnaseq/star_salmon/HepG2_TARDBP_TREATED_REP2.markdup.sorted.bam
HepG2_TARDBP_CONTROL_REP1,HepG2_TARDBP_CONTROL,test-rnaseq/star_salmon/HepG2_TARDBP_CONTROL_REP1.markdup.sorted.bam
HepG2_TARDBP_CONTROL_REP2,HepG2_TARDBP_CONTROL,test-rnaseq/star_salmon/HepG2_TARDBP_CONTROL_REP2.markdup.sorted.bam
This is the contrast sheet:
contrast,treatment,control
K562_TARDBP_TREATED_CONTROL,K562_TARDBP_TREATED,K562_TARDBP_CONTROL
HepG2_TARDBP_TREATED_CONTROL,K562_TARDBP_TREATED,HepG2_TARDBP_CONTROL
And this is the custom.config. I only use it here to enforce running on HTCondor. Everything else in there so far is relevant to nf-core/sarek
.
// Function to ensure that resource requirements dont go beyond
// a maximum limit
process.executor = 'condor'
env.TILEDB_DISABLE_FILE_LOCKING='1'
def check_max(obj, type) {
if (type == 'memory') {
try {
if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1)
return params.max_memory as nextflow.util.MemoryUnit
else
return obj
} catch (all) {
println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj"
return obj
}
} else if (type == 'time') {
try {
if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1)
return params.max_time as nextflow.util.Duration
else
return obj
} catch (all) {
println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj"
return obj
}
} else if (type == 'cpus') {
try {
return Math.min( obj, params.max_cpus as int )
} catch (all) {d
println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj"
return obj
}
}
}
process {
withName:'INDEX_CRAM|INDEX_MARKDUPLICATES|INDEX_MERGE_BAM|SAMTOOLS_INDEX|GATK4_APPLYBQSR|GATK4_BASERECALIBRATOR'{
cpus = { check_max( 1 * task.attempt, 'cpus' ) }
memory = { check_max( 3.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
}
}
process {
withName:'BCFTOOLS_SORT|BCFTOOLS_STATS|SAMTOOLS_STATS|SAMTOOLS_MERGE|MERGE_BAM|INDEX_MERGE_BAM|GATK4_VARIANTRECALIBRATOR|GATK4_APPLYVQSR_INDEL|GATK4_APPLYVQSR_SNP|GATK4_APPLYVQSR|VARIANTRECALIBRATOR_INDEL|VARIANTRECALIBRATOR_SNP|TABIX_TABIX|TABIX|TABIX_BGZIPTABIX|TABIX_BGZIP_TIDDIT_SV'{
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 7.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
}
}
process {
withName:'TABIX_BGZIPTABIX_INTERVAL_SPLIT|GATK4_APPLYBQSR_SPARK|GATK4_BASERECALIBRATOR_SPARK|GATK4_GATHERBQSRREPORTS|GATK4_GENOTYPEGVCFS'{
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 7.GB * task.attempt, 'memory' ) }
time = { check_max( 24.h * task.attempt, 'time' ) }
}
}
process {
withName:'GATK4_MERGEVCFS|MERGE_GENOTYPEGVCFS|MERGE_VQSR|MERGE_MANTA_SMALL_INDELS|MERGE_MANTA_SV|MERGE_MANTA_DIPLOID|BWA_INDEX|BWAMEM2_INDEX'{
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 128.GB * task.attempt, 'memory' ) }
time = { check_max( 48.h * task.attempt, 'time' ) }
}
}
process {
withName:'FASTQC|MOSDEPTH|GATK4_HAPLOTYPECALLER|GATK4_GENOMICSDBIMPORT|CNVKIT_BATCH'{
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
memory = { check_max( 15.GB * task.attempt, 'memory' ) }
time = { check_max( 12.h * task.attempt, 'time' ) }
}
}
process {
withName:'MANTA_GERMLINE|TIDDIT_SV'{
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
memory = { check_max( 30.GB * task.attempt, 'memory' ) }
time = { check_max( 24.h * task.attempt, 'time' ) }
}
}
process {
withName:'FASTP|GATK4_MARKDUPLICATES|ENSEMBLVEP'{
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
memory = { check_max( 30.GB * task.attempt, 'memory' ) }
time = { check_max( 48.h * task.attempt, 'time' ) }
}
}
process {
withName:'BWAMEM1_MEM|BWAMEM2_MEM|GATK4_MARKDUPLICATES_SPARK'{
cpus = { check_max( 16 * task.attempt, 'cpus' ) }
memory = { check_max( 60.GB * task.attempt, 'memory' ) }
time = { check_max( 24.h * task.attempt, 'time' ) }
}
}
process {
withName:'CNNSCOREVARIANTS'{
time = 336.h
}
}
trace {
enabled = true
fields = 'task_id,hash,native_id,name,status,exit,submit,start,complete,duration,realtime,%cpu,peak_rss,peak_vmem,rchar,wchar'
}
Thanks @amizeranschi, will get back to you after reviewing
Hi! Is there any update on this issue? It would be great to have this pipeline working from BAM files produced with nf-core/rnaseq, in order to avoid having to map reads a second time to the reference genome.
Hi @amizeranschi ,
We've just pushed a bunch of changes to dev, and this should have fixed your issue. Remember to force nextflow download the latest changes, rather than a cache of the one you currently have on your computer. Let us know how you get on.
Thanks @jma1991 for letting me know. I tried testing again and now I'm running into the issue described here: #72
Could you guys also implement the fixes proposed there by @dkoppstein and @valentinoruggieri?