cgat-developers / cgat-flow

cgat-flow repository
MIT License
13 stars 9 forks source link

PipelinePreprocess MasterProcessor adds extra ';' to bash script #33

Closed logust79 closed 6 years ago

logust79 commented 6 years ago

When I ran pipeline_readqc with multiple processors, such as 'trimgalore,trimmomatic', the final bash script has an extra ; between the two processors, such as the following

/cluster/project8/vyp/JingYu/git/WGS/ctmph8sxzcof.sh: line 18: syntax error near unexp
ected token `;'

    mkdir -p output/tmp/ctmp9x3mqri8; trim_galore -q 20 --length 30             --paired
           --phred33             --output_dir output/tmp/ctmp9x3mqri8             3067.fas
tq.1.gz 3067.fastq.2.gz             2>>processed.dir/trimmed-3067-trimgalore.log;
    mv output/tmp/ctmp9x3mqri8/3067.fastq.1.gz_val_1.fq.gz output/tmp/ctmp9x3mqri8/trimgal
ore-30673067.fastq.1.gz;             mv output/tmp/ctmp9x3mqri8/3067.fastq.2.gz_val_2.fq.g
z output/tmp/ctmp9x3mqri8/trimgalore-30673067.fastq.2.gz;              ; trimmomatic PE
          -threads 1             -phred33             output/tmp/ctmp9x3mqri8/trimgalore-3
0673067.fastq.1.gz output/tmp/ctmp9x3mqri8/trimgalore-30673067.fastq.2.gz             proc
essed.dir/trimmed-3067.fastq.1.gz processed.dir/trimmed-3067-trimmomatic.1.unpaired
      processed.dir/trimmed-3067.fastq.2.gz processed.dir/trimmed-3067-trimmomatic.2.unpai
red             LEADING:8 TRAILING:8 SLIDINGWINDOW:4:15 MINLEN:36             2>> processe
d.dir/trimmed-3067-trimmomatic.log;             gzip processed.dir/trimmed-3067-trimmomati
c.*.unpaired;              rm -rf output/tmp/ctmpcuccymu2;rm -rf output/tmp/ctmp9x3mqri8

The culprit is here https://github.com/cgat-developers/cgat-flow/blob/master/CGATPipelines/PipelinePreprocess.py#L287 Since every subcommand already comes with ;, there is no need to join the list with ;. Change the line to: cmd_process = " ".join(cmd_processors) solved the problem.

sebastian-luna-valero commented 6 years ago

Thanks @logust79