<p>I am attempting to run TransDecoder on transcriptome data generated by trinity. I have installed CD-HIT and exported the path correctly but TransDecoder fails when trying to run cd-hit-est.</p>

<p><code>Error, cmd: /data/xxx/src/cd-hit/cd-hit-v4.5.4-2011-03-07/cd-hit-est -r 1 -i /spin1</code></p>

<p><code>/users/xxx/trinity-transdecoder/redundant_top -o /spin1/users/xxx/trinity-transdecoder</code></p>

<p><code>/redundant_top.nr90 -M 0 -T 20 &gt;/dev/null 2&gt;/dev/null died with ret 256 at /usr/local</code></p>

<p><code>/apps/trinity/trinityrnaseq_r20131110/trinity-plugins/transdecoder/TransDecoder line </code></p>

<p><code>467.</code></p>

<p>However if I copy and paste this command and try and run it, it seems that cd-hit-est runs correctly and exits without error. I&#39;m not sure what is wrong, if TransDecoder was unable to find the cd-hit-ext executable, it would crash before getting to this point, but it does not.</p>

A perl exit code of 256 is the value from the wait call and <a href="http://stackoverflow.com/questions/3882677/why-is-the-return-value-of-perls-system-not-what-i-expect">should be shifted right by eight</a> (C apparently does the same). So, an exit code of 256 corresponds to an exit code of 1, <a href="http://www.tldp.org/LDP/abs/html/exitcodes.html">which means a general error</a>. This could mean anything from errors in the code to permissions issues.

Try capturing the exit code in bash right after you run CD-HIT; it's possible it exits with a code you don't catch when running in the shell.

    cd-hit-est .....
    echo $?