KwanLab / Autometa

Autometa: Automated Extraction of Genomes from Shotgun Metagenomes
https://autometa.readthedocs.io
Other
40 stars 15 forks source link

Error occurred on running autometa-binning #295

Closed chtsai0105 closed 1 year ago

chtsai0105 commented 1 year ago

Current Behavior

Steps to Reproduce

An error occurred immediately while running autometa-binning step when installed from conda/mamba.

$ mamba create -n autometa autometa=2.1.0
$ conda activate autometa
$ autometa-binning
Traceback (most recent call last):
  File "/home/chtsai/miniconda3/envs/autometa/bin/autometa-binning", line 7, in <module>
    from autometa.binning.recursive_dbscan import main
  File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/binning/recursive_dbscan.py", line 20, in <module>
    from hdbscan import HDBSCAN
  File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/hdbscan/__init__.py", line 1, in <module>
    from .hdbscan_ import HDBSCAN, hdbscan
  File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/hdbscan/hdbscan_.py", line 509, in <module>
    memory=Memory(cachedir=None, verbose=0),
TypeError: __init__() got an unexpected keyword argument 'cachedir'

Expected Behavior

Expected to see the help page.

Environment Information

autometa-config --print

Not sure what happening... ```bash [09/17/2022 11:42:50 PM INFO] autometa.config.utilities: Updating default.config ([common],home_dir): /home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages [09/17/2022 11:42:50 PM DEBUG] autometa.config.utilities: updated /home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/config/default.config [common] option: home_dir : /home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages Traceback (most recent call last): File "/home/chtsai/miniconda3/envs/autometa/bin/autometa-config", line 10, in sys.exit(main()) File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/config/utilities.py", line 237, in main cfg, environ_satisfied = environ.configure(cfg) File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/config/environ.py", line 265, in configure versions = get_versions() File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/config/environ.py", line 229, in get_versions version = get_version() File "/home/chtsai/miniconda3/envs/autometa/lib/python3.9/site-packages/autometa/config/environ.py", line 148, in bowtie2 return stdout.decode().split()[2] IndexError: list index out of range ```

Possible solution

Actually I've run 2.1.0 version successfully before. I compared the previous build and current build and found that the package joblib have been updated recently. (1.1.0 -> 1.2.0) I downgraded the joblib to 1.1.0 and everything is good now. Maybe have to look into what was changed in the newer joblib update or simply pin the joblib to 1.1.0.

evanroyrees commented 1 year ago

Hello @chtsai0105, I believe this is an issue we've previously encountered.

Issue: https://github.com/KwanLab/Autometa/issues/285 -> PR: https://github.com/KwanLab/Autometa/pull/286

Good to know that downgrading joblib also fixes the issue.

chtsai0105 commented 1 year ago

Thank you Evan! Since there is already a fix, I'm closing this issue.