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).
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.
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.
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.
Hi Lauren,
I am also facing the same issue as Dita, the issue what I think is kneaddata requires the python3.8 version and biobakery_workflows requires 3.7 version, and I can’t install 2 versions of python in the same environment.
command:
$ conda create --name biobakery_env python=3.7.8 leveldb=0.193 biobakery_workflows
output:
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
When I re-installed the whole biobakery-workflows with leveldb v0.193 and python v3.7.7 it worked. But… started to conflict with my humann2 installation
I also didn’t use conda environment as it seemed not to work properly for the installation. I just installed with the root access.
Hi Dita,
I installed biobakery_workflows and kneaddata using pip in conda enviroment. Now the different issue is showing when I tried to install the bibakery_workflows_databases
FileNotFoundError: [Errno 2] No such file or directory: ‘download_eggnog_data.py’: ‘download_eggnog_data.py’