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

ERROR ~ No such variable: Exception evaluating property 'out' for nextflow.script.ChannelOut #70

Closed
amizeranschi opened this issue Jun 27, 2023 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@amizeranschi
Copy link

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

nextflow.log

System information

No response

@amizeranschi amizeranschi added the bug Something isn't working label Jun 27, 2023
@jma1991
Copy link
Collaborator

jma1991 commented Jun 27, 2023

Hi @amizeranschi

Please could you provide the custom config used in the command, along with the sample and contrast sheets?

@jma1991 jma1991 assigned jma1991 and unassigned jma1991 Jun 27, 2023
@amizeranschi
Copy link
Author

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'
}

@jma1991
Copy link
Collaborator

jma1991 commented Jun 27, 2023

Thanks @amizeranschi, will get back to you after reviewing

@jma1991 jma1991 self-assigned this Jul 10, 2023
@amizeranschi
Copy link
Author

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.

@jma1991
Copy link
Collaborator

jma1991 commented Jul 20, 2023

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.

@amizeranschi
Copy link
Author

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?

@jma1991
Copy link
Collaborator

jma1991 commented Jul 20, 2023

Good that your issue has been solved. I will implement the fixes in #72 right now.

@jma1991 jma1991 closed this as completed Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants