The bioBakery help forum

System error: bad call flags

Hi,

I have run Humann2 on my datasets and would like to further create a report on the obtained results with BioBakery workflows, however, apparently, something is going wrong during the installation…

Both BioBakery commands (biobakery_workflows_databases and biobakery_workflows) brings the same error:

    $ biobakery_workflows_databases --install wmgx
    Traceback (most recent call last):
      File "/home/dita.gudra/.local/bin/biobakery_workflows_databases", line 5, in <module>
        from biobakery_workflows.biobakery_workflows_databases import main
      File "/home/dita.gudra/.local/lib/python3.8/site-packages/biobakery_workflows/biobakery_workflows_databases.py", line 30, in <module>
        from . import utilities
      File "/home/dita.gudra/.local/lib/python3.8/site-packages/biobakery_workflows/utilities.py", line 33, in <module>
        from anadama2.tracked import TrackedDirectory
      File "/home/dita.gudra/.local/lib/python3.8/site-packages/anadama2/__init__.py", line 83, in <module>
        from .workflow import Workflow
      File "/home/dita.gudra/.local/lib/python3.8/site-packages/anadama2/workflow.py", line 24, in <module>
        from . import backends
      File "/home/dita.gudra/.local/lib/python3.8/site-packages/anadama2/backends.py", line 7, in <module>
        import leveldb
    SystemError: GetStats() method: bad call flags

As I understand, the problem is coming from python and might be related to the 3.7+ versions… for the note- I have tried the installation with pip and conda (along with different python versions).

Is there any fix?

Thanks in advance,
Dita.

Hi Dita, Thank you for the detailed post. The issue is from the leveldb dependency (the latest version) running in python 3.8. If you roll back your leveldb version or your python version it should resolve the issue. Either pip or conda should work for the install but I would use one or the other as trying to use both will make debugging a bit harder. For your reference we are running and testing in python 3.7.[7|8] with leveldb v0.193.

Thank you,
Lauren

Hi,

So I gave extra try with several downgraded python versions, but then was the other side of the story - none of them were suitable for installing biobakery workflows within Conda environment. When I downgraded to 2.7.x, then I got an error that I need to get python version ‘>=3.7,<3.8.0a0|>=3.8,<3.9.0a0’, when I upgraded to 3.8., I got an error, that I need to get python version ‘>=2.7,<2.8.0a0’.
Tested python versions: 3.7.7, 2.7., 3.8., 2.7.2., 2.7.14. I additionally tested all available biobakery versions on each of the tested python version, unfortunately, without any success. Maybe this is related with the conda itself, as this time I didn’t try to use pip.

Are there any news on your test with python 3.7.?

All the best,
Dita.

Hi Dita, Thank you for the detailed notes and sorry you are still having issues with leveldb. Have you tried rolling back to an older version of leveldb? We are able to run okay in python v3.7.7, v3.7.8, and v3.6.10 with leveldb v0.193.

Thank you,
Lauren