biobakery / biobakery_workflows

bioBakery workflows is a collection of workflows and tasks for executing common microbial community analyses using standardized, validated tools and parameters.
http://huttenhower.sph.harvard.edu/biobakery_workflows
Other
97 stars 33 forks source link

Incorrect download_eggnog_data.py arguments #7

Open evanroyrees opened 3 years ago

evanroyrees commented 3 years ago

Hello,

I recently came across your tool and wanted to give it a try. I've successfully installed biobakery_workflows using conda via the conda command: conda install -c biobakery biobakery_workflows. Next I tried to download databases corresponding to the isolate_assembly workflow:

biobakery_workflows_databases --install isolate_assembly --location $LOCATION

When running the above command, I encounter a FileNotFoundError pointing to download_eggnog_data.py. I have tried and failed to find this file in the GitHub repo. Is the repo not synchronized with the biobakery conda recipe? Is download_eggnog_data.py on another branch that I may download and place in the required location? The received traceback is below. Thanks!

Downloading eggnog mapper databases
Traceback (most recent call last):
  File "/home/evan/miniconda3/envs/project/bin/biobakery_workflows_databases", line 11, in <module>
    sys.exit(main())
  File "/home/evan/miniconda3/envs/project/lib/python3.7/site-packages/biobakery_workflows/biobakery_workflows_databases.py", line 238, in main
    run_command(["download_eggnog_data.py","--data_dir",eggnog_install_path,"-y"])
  File "/home/evan/miniconda3/envs/project/lib/python3.7/site-packages/biobakery_workflows/biobakery_workflows_databases.py", line 73, in run_command
    id=subprocess.check_call(command, shell=shell)
  File "/home/evan/miniconda3/envs/project/lib/python3.7/subprocess.py", line 358, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/home/evan/miniconda3/envs/project/lib/python3.7/subprocess.py", line 339, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/home/evan/miniconda3/envs/project/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/home/evan/miniconda3/envs/project/lib/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'download_eggnog_data.py': 'download_eggnog_data.py'
evanroyrees commented 3 years ago

Ah, I see this is part of the excluding those dependencies that have licenses. section.

I resolved this by conda install -c bioconda eggnog-mapper -y and re-running.

Enumerating these (dependencies that have licenses) in the README.md may be helpful?

evanroyrees commented 3 years ago

Scratch that, it appears eggnogg-mapper requires python 2.7 for the conda installation and is not up-to-date with the argparse parser in download_eggnogg_data.py. It appears they have commented this out on their master branch:

https://github.com/eggnogdb/eggnog-mapper/blob/4c2b55e80770ccddc98cf3f3ace2d01052811ba4/download_eggnog_data.py#L58-L59

However, when running biobakery_workflows_databases --install isolate_assembly --location $LOCATION I now receive:

Downloading eggnog mapper databases
usage: download_eggnog_data.py [-h] [-D] [-y] [-f] [-s] [-q] [--data_dir]
                               dbs [dbs ...]
download_eggnog_data.py: error: too few arguments
Unable to install database. Error running command: download_eggnog_data.py --data_dir $LOCATION/eggnog_mapper/ -y

Perhaps either @eggnogdb/eggnog-mapper should resolve the conda installation or biobakery_workflows_databases.py should be updated?