EDTA
EDTA copied to clipboard
use command -v instead of which
As per the Unix and Linux StackExcchange: Why not use "which"? What to use then?, command -v
has been the POSIX standard way to find paths to commands since around 2008 or earlier.
Using EDTA.pl via Biocontainers on a Red Hat-family system, the container's which
(from BusyBox) isn't compatible with the OS definition of which
:
$ command -v which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
Out of the box, the EDTA container fails on Red Hat-family systems as follows:
$ singularity exec EDTA.sif EDTA.pl --genome test.fa
#########################################################
##### Extensive de-novo TE Annotator (EDTA) v2.2.0 #####
##### Shujun Ou ([email protected]) #####
#########################################################
Parameters: --genome test.fa
Thu May 23 14:59:44 CDT 2024 Dependency checking:
Error: gt is not found in the genometools path ./!
But removing the OS-provided which
function allows the container to work:
$ unset which
$ singularity exec EDTA.sif EDTA.pl --genome test.fa
#########################################################
##### Extensive de-novo TE Annotator (EDTA) v2.2.0 #####
##### Shujun Ou ([email protected]) #####
#########################################################
Parameters: --genome test.fa
Thu May 23 14:59:49 CDT 2024 Dependency checking:
All passed!
Replacing all of the which
calls in the Perl scripts with command -v
should resolve this.