1

The SPAdes is not working on my Nextflow for some reason, I already have it installed.

I used the following code, but it doesn't seem to work. Can anyone please help point out where the problem is?

#!/usr/bin/env nextflow
nextflow.enable.dsl=2
params.resultsDir = 'results/spades'
params.saveMode = 'copy'
params.filePattern = "./*_{R1,R2}.fastq.gz"

Channel
    .fromFilePairs(params.filePattern)
    .into { ch_in_spades }

process spades {
    publishDir params.resultsDir, mode: params.saveMode

    input:
    tuple genomeName, file(genomeReads) from ch_in_spades

    output:
    path """${genomeName}_scaffolds.fasta""" into ch_out_spades


    script:

 """
    spades.py -k 21,33,55,77 --careful --only-assembler --pe1-1 ${genomeReads[0]} --pe1-2 ${genomeReads>    cp ${genomeName}/scaffolds.fasta ${genomeName}_scaffolds.fasta`
    """
Terra
  • 21
  • 1

1 Answers1

0

Using DSL 2, we no longer need the from and into channel declarations. Workflows can now be defined using the workflow keyword, for example:

params.resultsDir = './results'
params.saveMode = 'copy'

params.filePattern = "./*_R{1,2}.fastq.gz"
process spades {

    publishDir "${params.resultsDir}/spades", mode: params.saveMode

    input:
    tuple val(genomeName), path(genomeReads) 

    output:
    tuple val(genomeName), path("${genomeName}_scaffolds.fasta")

    script:
    def (r1, r2) = genomeReads

    """
    spades.py \\
        -k 21,33,55,77 \\
        --careful \\
        --only-assembler \\
        --pe1-1 "${r1}" \\
        --pe1-2 "${r2}" \\
        -o "${genomeName}"    

    mv \\
        "${genomeName}/scaffolds.fasta" \\
        "${genomeName}_scaffolds.fasta"
    """
}
workflow {
    
    Channel
        .fromFilePairs( params.filePattern )
        .set { ch_in_spades }

    spades( ch_in_spades )

    spades.out.view()
}
Steve
  • 51,466
  • 13
  • 89
  • 103