oschwengers / bakta

Rapid & standardized annotation of bacterial genomes, MAGs & plasmids
GNU General Public License v3.0
445 stars 55 forks source link

'SQL error!', IndexError('tuple index out of range') #275

Open prekijpatel opened 8 months ago

prekijpatel commented 8 months ago

So, here I am with this error which I do not know how to solve. I recently installed Bakta (using conda, but had to use nanoporetech channel to install few dependencies as the others ones were not suppported on this CPU) on one of the new machine in the lab which is based on aarch64-CPU. However, running just the trial run generated this error.

bakta ../1313.fasta -p try -o ./jay/ --db ../db/ --force --verbose --debug
Bakta v1.8.1
Options and arguments:
input: /home/jay/1313.fasta
db: /home/jay/db, version 5.1, full
output: /home/jay/jay/jay
force: True
tmp directory: /tmp/tmpcmre_8ml
prefix: try
threads: 8
debug: True
translation table: 11

Bakta runs in DEBUG mode! Temporary data will not be destroyed at: /tmp/tmpcmre_8ml

parse genome sequences...
imported: 52
filtered & revised: 52
contigs: 52

start annotation...
predict tRNAs...
found: 46
predict tmRNAs...
found: 1
predict rRNAs...
found: 6
predict ncRNAs...
found: 44
predict ncRNA regions...
found: 21
predict CRISPR arrays...
found: 0
predict & annotate CDSs...
predicted: 2097
discarded spurious: 0
revised translational exceptions: 0
--- Logging error ---
Traceback (most recent call last):
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/ups.py", line 43, in lookup
    if(rec is not None and rec[DB_UPS_COL_LENGTH] == len(feature['aa'])):
                           ~~~^^^^^^^^^^^^^^^^^^^
IndexError: tuple index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/logging/__init__.py", line 1160, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/logging/__init__.py", line 999, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/logging/__init__.py", line 703, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/logging/__init__.py", line 392, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "/home/jay/miniconda3/envs/bakta/bin/bakta", line 10, in <module>
    sys.exit(main())
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/main.py", line 247, in main
    cdss_ups, cdss_not_found = ups.lookup(cdss)
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/ups.py", line 57, in lookup
    log.exception('Could not read UPSs from db!', ex)
Message: 'Could not read UPSs from db!'
Arguments: (IndexError('tuple index out of range'),)
Traceback (most recent call last):
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/ups.py", line 43, in lookup
    if(rec is not None and rec[DB_UPS_COL_LENGTH] == len(feature['aa'])):
                           ~~~^^^^^^^^^^^^^^^^^^^
IndexError: tuple index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jay/miniconda3/envs/bakta/bin/bakta", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/main.py", line 247, in main
    cdss_ups, cdss_not_found = ups.lookup(cdss)
                               ^^^^^^^^^^^^^^^^
  File "/home/jay/miniconda3/envs/bakta/lib/python3.12/site-packages/bakta/ups.py", line 58, in lookup
    raise Exception("SQL error!", ex)
Exception: ('SQL error!', IndexError('tuple index out of range'))

Apart from this, since the installation has been a bit different for me (Atleast I think it was, but I am not sure if this is trivial thing only), just putting the list of tools installed in the environment:

(bakta) jay@jetmimd-desktop:~/jay$ conda list
# packages in environment at /home/jay/miniconda3/envs/bakta:
#
# Name                    Version                   Build  Channel
_openmp_mutex             4.5                       2_gnu    conda-forge
about-time                4.2.1              pyhd8ed1ab_0    conda-forge
alive-progress            3.0.1              pyhd8ed1ab_0    conda-forge
aragorn                   1.2.41               h920789f_1    nanoporetech
archspec                  0.2.3              pyhd8ed1ab_0    conda-forge
bakta                     1.8.1              pyhdfd78af_0    bioconda
biopython                 1.83            py312hdd3e373_0    conda-forge
blast                     2.13.0                        1    nanoporetech
brotli-python             1.1.0           py312h2aa54b4_1    conda-forge
bzip2                     1.0.8                h31becfc_5    conda-forge
c-ares                    1.27.0               h31becfc_0    conda-forge
ca-certificates           2024.2.2             hcefe29a_0    conda-forge
certifi                   2024.2.2        py312hd43f75c_0  
cffi                      1.16.0          py312hf3c74c0_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
circos                    0.69.9               hdfd78af_0    bioconda
curl                      8.5.0                h4e8248e_0    conda-forge
diamond                   2.1.8                hbfd4b83_0    nanoporetech
expat                     2.5.0                hd600fc2_1    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 h77eed37_1    conda-forge
fontconfig                2.14.2               ha9a116f_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
freetype                  2.12.1               hf0a5ef3_2    conda-forge
giflib                    5.2.1                hb4cce97_3    conda-forge
grapheme                  0.6.0              pyhd8ed1ab_0    conda-forge
hmmer                     3.4                  hbfd4b83_0    nanoporetech
icu                       73.2                 h787c7f5_0    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
infernal                  1.1.4+neon           h920789f_1    nanoporetech
isa-l                     2.31.0               h31becfc_1    conda-forge
keyutils                  1.6.1                h4e544f5_0    conda-forge
krb5                      1.21.2               hc419048_0    conda-forge
ld_impl_linux-aarch64     2.40                 h2d8c526_0    conda-forge
lerc                      4.0.0                h4de3ea5_0    conda-forge
libblas                   3.9.0           21_linuxaarch64_openblas    conda-forge
libcblas                  3.9.0           21_linuxaarch64_openblas    conda-forge
libcurl                   8.5.0                h4e8248e_0    conda-forge
libdeflate                1.19                 h31becfc_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h31becfc_2    conda-forge
libexpat                  2.5.0                hd600fc2_1    conda-forge
libffi                    3.4.2                h3557bc0_5    conda-forge
libgcc-ng                 13.2.0               hf8544c7_5    conda-forge
libgd                     2.3.3                hcd22fd5_9    conda-forge
libgfortran-ng            13.2.0               he9431aa_5    conda-forge
libgfortran5              13.2.0               h582850c_5    conda-forge
libgomp                   13.2.0               hf8544c7_5    conda-forge
libiconv                  1.17                 h31becfc_2    conda-forge
libjpeg-turbo             3.0.0                h31becfc_1    conda-forge
liblapack                 3.9.0           21_linuxaarch64_openblas    conda-forge
libnghttp2                1.58.0               hb0e430d_1    conda-forge
libnsl                    2.0.1                h31becfc_0    conda-forge
libopenblas               0.3.26          pthreads_h5a5ec62_0    conda-forge
libpng                    1.6.43               h194ca79_0    conda-forge
libsqlite                 3.45.1               h194ca79_0    conda-forge
libssh2                   1.11.0               h492db2e_0    conda-forge
libstdcxx-ng              13.2.0               h9a76618_5    conda-forge
libtiff                   4.6.0                h1708d11_2    conda-forge
libuuid                   2.38.1               hb4cce97_0    conda-forge
libwebp                   1.3.2                heb2ea1b_1    conda-forge
libwebp-base              1.3.2                h31becfc_0    conda-forge
libxcrypt                 4.4.36               h31becfc_1    conda-forge
libxml2                   2.12.5               h3091e33_0    conda-forge
libzlib                   1.2.13               h31becfc_5    conda-forge
ncbi-amrfinderplus        3.11.20              h3f4af3b_0    nanoporetech
ncurses                   6.4                  h0425590_2    conda-forge
numpy                     1.26.4          py312h470d778_0    conda-forge
openssl                   3.2.1                h31becfc_0    conda-forge
pbzip2                    1.1.13               ha36d286_2    conda-forge
perl                      5.32.1          7_h31becfc_perl5    conda-forge
perl-b-cow                0.007           pl5321h920789f_0    nanoporetech
perl-carp                 1.50            pl5321hd8ed1ab_0    conda-forge
perl-clone                0.46            pl5321h920789f_0    nanoporetech
perl-config-general       2.65            pl5321hdfd78af_0    bioconda
perl-digest-perl-md5      1.9             pl5321hdfd78af_2    bioconda
perl-exporter             5.74            pl5321hd8ed1ab_0    conda-forge
perl-exporter-tiny        1.002002        pl5321hd8ed1ab_0    conda-forge
perl-extutils-makemaker   7.70            pl5321hd8ed1ab_0    conda-forge
perl-font-ttf             1.06            pl5321hdfd78af_1    bioconda
perl-gd                   2.76            pl5321hbfd4b83_2    nanoporetech
perl-io-string            1.08            pl5321hdfd78af_4    bioconda
perl-list-moreutils       0.430           pl5321hdfd78af_0    bioconda
perl-list-moreutils-xs    0.430           pl5321h920789f_2    nanoporetech
perl-math-bezier          0.01            pl5321hdfd78af_2    bioconda
perl-math-round           0.07            pl5321hdfd78af_2    bioconda
perl-math-vecstat         0.08            pl5321hdfd78af_2    bioconda
perl-module-implementation 0.09            pl5321hdfd78af_3    bioconda
perl-module-runtime       0.016           pl5321hdfd78af_2    bioconda
perl-number-format        1.76            pl5321hd8ed1ab_0    conda-forge
perl-params-validate      1.31            pl5321h920789f_2    nanoporetech
perl-pathtools            3.75            pl5321h920789f_0    nanoporetech
perl-readonly             2.05            pl5321hdfd78af_1    bioconda
perl-regexp-common        2017060201      pl5321hd8ed1ab_0    conda-forge
perl-scalar-list-utils    1.63            pl5321h920789f_0    nanoporetech
perl-set-intspan          1.19            pl5321hdfd78af_2    bioconda
perl-statistics-basic     1.6611          pl5321hdfd78af_3    bioconda
perl-svg                  2.87            pl5321hd8ed1ab_0    conda-forge
perl-text-format          0.62            pl5321hdfd78af_0    bioconda
perl-time-hires           1.9764          pl5321h920789f_4    nanoporetech
perl-try-tiny             0.31            pl5321hdfd78af_1    bioconda
perl-xml-parser           2.44_01         pl5321he03bdfe_1003    conda-forge
pigz                      2.8                  h194ca79_0    conda-forge
piler-cr                  1.06                 h3f4af3b_4    nanoporetech
pip                       24.0               pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pyrodigal                 2.3.0           py312h920789f_0    nanoporetech
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.12.2          h43d1f9e_0_cpython    conda-forge
python-isal               1.6.0           py312h9ef2f89_0    conda-forge
python_abi                3.12                    4_cp312    conda-forge
pyyaml                    6.0.1           py312hdd3e373_1    conda-forge
readline                  8.2                  h8fc344f_1    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
setuptools                69.1.1             pyhd8ed1ab_0    conda-forge
sqlite                    3.41.2               h998d150_0  
tk                        8.6.13               h194ca79_0    conda-forge
trnascan-se               2.0.12          pl5321h920789f_0    nanoporetech
tzdata                    2024a                h0c530f3_0    conda-forge
urllib3                   2.2.1              pyhd8ed1ab_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
xopen                     1.9.0           py312h8025657_0    conda-forge
xz                        5.2.6                h9cdd2b7_0    conda-forge
yaml                      0.2.5                hf897c2e_2    conda-forge
zlib                      1.2.13               h31becfc_5    conda-forge
zstandard                 0.22.0          py312hb120188_0    conda-forge
zstd                      1.5.5                h4c53e97_0    conda-forge

Lastly, here is the log file as well. try.log

Apologies if this is very trivial thing!

Thanking you in advance.

oschwengers commented 8 months ago

Hi and thanks a lot for this very detailed description. This is very interesting and the first time I see this type of error occurring. Unfortunately, as I do not have access to an aarch64 system, I can only speculate about what's the cause for this. Hence, I apologize that (currently) I cannot debug this. Have you tried Bakta on another machine?

I leave this open, just in case others face this sort of error, as well.

prekijpatel commented 8 months ago

Hi, yes I usually use bakta on my laptop, there it works nicely. Currently I am thinking of creating the environment(on my laptop) with same tools from the same channel as they are there in the above mentioned aarch64 device and see if there also it generates the same error. Let's see! Do you suspect anything/tool for which I should try changing/changing version there first?

oschwengers commented 8 months ago

I'd keep an eye on sqlite and python itself. And could you maybe try to use a non-3.12 Python version, so 3.9, 3.10 or 3.11?

prekijpatel commented 8 months ago

Alright! I am on it. Thank you!!

oschwengers commented 7 months ago

@prekijpatel any updates? Thanks

prekijpatel commented 7 months ago

Hey, sorry for the wait, but no updates yet. Been pretty tied up with other stuff lately, so haven't had much time to dive into this. Once things calm down, I'll have a chance to try out some variations. Will definitely keep posting here!

oschwengers commented 7 months ago

Thanks for the update, and no pressure intended at all. Just a gentle keep alive ping to sort out stalled issues ;-)

yulinpengcool commented 2 months ago

I have encountered the same bug on linux-64 system (bakta=1.8.1, python=3.12.2).

yulinpengcool commented 2 months ago

Hi, oschwengers, can bakta provide the functions of the genes into the result files for the genome annotation?

oschwengers commented 1 month ago

Hi @yulinpengcool, sorry for the late reply, thissomehow slipped through - for off-topic questions, please do not hesitate to open a dedicated issue ;-)

What do you exactly mean with gene functions in the result files? There are gene symbols and product descriptions for CDS features. Could you please elaborate a bit more about this?