This is my code for running a samtools command internally, via Galaxy: open INP,"< $ARGV[0]" or die "Cannot open file: $!"; $file = "$ARGV[1]"; open OUT, "> $file" or die "Cannot open file: $!"; @out = `/home/applications/samtools-0.1.7a/samtools view -bS $ARGV[0] 2>&1`; print OUT @out; close INP; close OUT; The 2>&1 is used to redirect the STDERR to STDOUT. When I run this in the console, it gives a non-empty file. But when run it in Galaxy, Galaxy can no longer find the path. This error message is given to me. Traceback (most recent call last): File "/home/applications/galaxy-dist/lib/galaxy/jobs/runners/local.py", line 126, in run_job job_wrapper.finish( stdout, stderr ) File "/home/applications/galaxy-dist/lib/galaxy/jobs/__init__.py", line 618, in finish dataset.set_meta( overwrite = False ) File "/home/applications/galaxy-dist/lib/galaxy/model/__init__.py", line 874, in set_meta return self.datatype.set_meta( self, **kwd ) File "/home/applications/galaxy-dist/lib/galaxy/datatypes/binary.py", line 179, in set_meta raise Exception, "Error Setting BAM Metadata: %s" % stderr Exception: Error Setting BAM Metadata: /bin/sh: samtools: command not found The weird thing is, when I remove the 2>&1 from the code and run it again in Galaxy, I am able to get this diagnostic message: [samopen] SAM header is present: 66338 sequences. This is the reason why I added the 2>&1 in the first place, so that this diagnostic message would be 'ignored' (since it is detected as an error). Now, if the other code (the one without 2>&1) is able to produce the aforementioned diagnostic message, then I assume that it is able to at least execute the samtools command internally. But when I add the 2>&1, galaxy can no longer find the command. Do I need to specify a path somewhere in the galaxy-dist? I apologize for the very long message. Thanks in advance, CL