BinPro / CONCOCT

Clustering cONtigs with COverage and ComposiTion
Other
119 stars 48 forks source link

error with concoct_coverage_table.py #288

Open emaxortiz opened 4 years ago

emaxortiz commented 4 years ago

Hello, I'm getting the following error when I try to submit a job to a server using torque/qsub.

This is my command: module load concoct-1.1.0 concoct_coverage_table.py contigs_10K.bed contigs_map.sorted.bam > coverage_table.tsv

And this is the error from the server.

Traceback (most recent call last): File "/apps/concoct-1.1.0/scripts/concoct_coverage_table.py", line 91, in generate_input_table(args.bedfile, args.bamfiles, samplenames=samplenames) File "/apps/concoct-1.1.0/scripts/concoct_coverage_table.py", line 37, in generate_input_table p = subprocess.Popen(["samtools", "bedcov", bedfile] + bamfiles, stdout=subprocess.PIPE) File "/apps/python-2.7.15/lib/python2.7/subprocess.py", line 394, in init errread, errwrite) File "/apps/python-2.7.15/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory"

Apparently, when you try to use a subprocess through popen you need to modify one particular line in the script and specify "shell=true" if you're passing a string to subprocess.call. Is this making any sense?

Some examples from similar errors (and in the same lines) I got from different forums. "If you're going to pass the command as a string to Popen and if the commands have pipes to other commands in there, you need to use the shell=True keyword. "

"Use shell=True if you're passing a string to subprocess.call"

Could you please guide me with this? Thanks.