TransPi icon indicating copy to clipboard operation
TransPi copied to clipboard

Trinotate preparation step in Precheck script silently fails with missing Perl module

Open IdoBar opened this issue 1 year ago • 0 comments

When running the Precheck script bash precheck_TransPi.sh ~/scratch/sandbox/TransPi_test, the Trinotate preparation process fails with the following message:

Can't locate DBI.pm in @INC (you may need to install the DBI module) (@INC contains: /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scrip
ts/admin/util/../../PerlLib /export/home/s2978925/conda3/lib/perl5/5.32/site_perl /export/home/s2978925/conda3/lib/perl5/site_perl /export/home/s2978925/conda3
/lib/perl5/5.32/vendor_perl /export/home/s2978925/conda3/lib/perl5/vendor_perl /export/home/s2978925/conda3/lib/perl5/5.32/core_perl /export/home/s2978925/cond
a3/lib/perl5/core_perl .) at /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/util/../../PerlLib/Sqlite_connect.pm line 15.
BEGIN failed--compilation aborted at /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/util/../../PerlLib/Sqlite_connect.pm li
ne 15.
Compilation failed in require at /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/util/EMBL_dat_to_Trinotate_sqlite_resourceD
B.pl line 8.
BEGIN failed--compilation aborted at /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/util/EMBL_dat_to_Trinotate_sqlite_resou
rceDB.pl line 8.
Error, cmd: /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/util/EMBL_dat_to_Trinotate_sqlite_resourceDB.pl --sqlite Trinota
te.sqlite --create died with ret 512 at /scratch/s2978925/sandbox/TransPi_test/DBs/sqlite_db/Trinotate_build_scripts/admin/../PerlLib/Pipeliner.pm line 102.
        Pipeliner::run(Pipeliner=HASH(0x560f9ee83548)) called at ./Trinotate_build_scripts/admin/Build_Trinotate_Boilerplate_SQLite_db.pl line 120
rm: cannot remove ‘Pfam-A.hmm.gz’: No such file or directory

This is caused by the missing Perl module (DBI), which is an easy fix, but why doesn't this step happens within the Nextflow pipeline when the required tools and modules are already set up (within a conda environment or a container)? I would also suggest that the script will report this error in the final statement rather than send the user to look for error messages in the output.

Thanks, Ido

IdoBar avatar Aug 12 '22 12:08 IdoBar