endixk / ezaai

EzAAI - High Throughput Prokaryotic AAI Calculator
http://leb.snu.ac.kr/ezaai
GNU General Public License v3.0
36 stars 3 forks source link

`calculate` error when using `-p blastp` #7

Open bluegenes opened 2 years ago

bluegenes commented 2 years ago

Thanks for your help with the previous issue - I'm back with a different one!

I'd like to use blastp for some AAI calculations. I used conda to install blastp in the same environment I was previously using for EzAAI calculations (info below). I'm running a single instance at a time.

As I understand it, I use the same extract command to prepare databases, regardless of mapping type - is that incorrect?

Using the sample data from your tutorial:

java -jar EzAAI_v1.11.jar calculate -i db/Ci.db -j db/Lc.db \
      -t 10 -p blastp -o test.blastp.tsv -v

I get the following error:

[FEB 24 08:51:15] EzAAI   |:  EzAAI - v1.11 [Feb. 2022]
getEngineName() called
[FEB 24 08:51:16] EzAAI   |:  Calculating AAI... [Task 1/1]
[FEB 24 08:51:16] EzAAI   |:  Preparing to run reciprocal BLASTp+...
[FEB 24 08:51:16] EzAAI   |:  Running BLASTp+... (/tmp/bdd397448b571442_faa/i0.faa vs. /tmp/bdd397448b571442_faa/j0.faa)
java.io.FileNotFoundException: /tmp/bdd397448b571442_vice.out (No such file or directory)
        at java.base/java.io.FileInputStream.open0(Native Method)
        at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
        at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
        at java.base/java.io.FileReader.<init>(FileReader.java:75)
        at leb.process.ProcFuncAnnoByBlastPlus.parseOutFile(ProcFuncAnnoByBlastPlus.java:283)
        at leb.process.ProcFuncAnnoByBlastPlus.execute(ProcFuncAnnoByBlastPlus.java:273)
        at leb.process.ProcCalcPairwiseAAI.pairwiseBlastp(ProcCalcPairwiseAAI.java:499)
        at leb.process.ProcCalcPairwiseAAI.calculateProteomePairWithDetails(ProcCalcPairwiseAAI.java:248)
        at leb.main.EzAAI.runCalculate(EzAAI.java:361)
        at leb.main.EzAAI.run(EzAAI.java:493)
        at leb.main.EzAAI.main(EzAAI.java:528)
[FEB 24 08:51:16] ERROR   |:  Program terminated with error.

Please let me know if you have ideas on how to proceed. Thanks!

Conda environment:

conda list -p /home/ntpierce/miniconda3/066c58eb7ac25d2ab6a302135cb3ad40
# packages in environment at /home/ntpierce/miniconda3/066c58eb7ac25d2ab6a302135cb3ad40:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
blast                     2.12.0               h3289130_3    bioconda
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
curl                      7.81.0               h494985f_0    conda-forge
entrez-direct             16.2                 he881be0_0    bioconda
gawk                      5.1.0                h7f98852_0    conda-forge
gettext                   0.19.8.1          h73d1719_1008    conda-forge
krb5                      1.19.2               h48eae69_3    conda-forge
libcurl                   7.81.0               h494985f_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_12    conda-forge
libgomp                   11.2.0              h1d223b6_12    conda-forge
libidn2                   2.3.2                h7f98852_0    conda-forge
libnghttp2                1.46.0               ha19adfc_0    conda-forge
libssh2                   1.10.0               ha35d2d1_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_12    conda-forge
libunistring              0.9.10               h7f98852_0    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
mmseqs2                   13.45111             h95f258a_1    bioconda
ncurses                   6.3                  h9c3ff4c_0    conda-forge
openssl                   3.0.0                h7f98852_2    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
perl                      5.32.1          1_h7f98852_perl5    conda-forge
perl-archive-tar          2.40            pl5321hdfd78af_0    bioconda
perl-carp                 1.50            pl5321hd8ed1ab_0    conda-forge
perl-common-sense         3.75            pl5321hdfd78af_0    bioconda
perl-compress-raw-bzip2   2.101           pl5321h1b792b2_0    bioconda
perl-compress-raw-zlib    2.101           pl5321h1b792b2_1    bioconda
perl-encode               3.16            pl5321h779adbc_0    bioconda
perl-exporter             5.74            pl5321hd8ed1ab_0    conda-forge
perl-exporter-tiny        1.002002        pl5321hdfd78af_0    bioconda
perl-extutils-makemaker   7.64            pl5321hd8ed1ab_0    conda-forge
perl-io-compress          2.102           pl5321h1b792b2_0    bioconda
perl-io-zlib              1.11            pl5321hdfd78af_0    bioconda
perl-json                 4.05            pl5321hdfd78af_0    bioconda
perl-json-xs              2.34            pl5321h7d875b9_4    bioconda
perl-list-moreutils       0.430           pl5321hdfd78af_0    bioconda
perl-list-moreutils-xs    0.430           pl5321h779adbc_0    bioconda
perl-parent               0.238           pl5321hd8ed1ab_0    conda-forge
perl-pathtools            3.75            pl5321h779adbc_2    bioconda
perl-scalar-list-utils    1.60            pl5321h779adbc_0    bioconda
perl-types-serialiser     1.01            pl5321hdfd78af_0    bioconda
prodigal                  2.6.3                h779adbc_3    bioconda
tk                        8.6.11               h27826a3_1    conda-forge
wget                      1.20.3               ha35d2d1_1    conda-forge
zlib                      1.2.11            h36c2ea0_1013    conda-forge
endixk commented 2 years ago

Hello again,

I've checked your issue and indeed the program did not properly worked with BLASTp+.

The issue was occurred since the program was trying to handle multiple binary paths with single variable, therefore being confused identifying the proper path it should use.

In your case, the program tried to run mmseqs binary to which the proper command should use blastp binary.

I have modified the program a little bit to adjust this problem, by providing independent path for each dependent program.

Again, you can download the newer version (v1.12) using this link.

Thank you so much for hunting down the issues that I have overlooked.

Regards, Daniel