linnabrown / run_dbcan

Run_dbcan V4, using genomes/metagenomes/proteomes of any assembled organisms (prokaryotes, fungi, plants, animals, viruses) to search for CAZymes.
http://bcb.unl.edu/dbCAN2
GNU General Public License v3.0
130 stars 40 forks source link

DIAMOND version error #152

Closed AntoniaFeilden closed 5 months ago

AntoniaFeilden commented 5 months ago

I used DIAMOND/2.1.0-GCC-11.3.0 (module on our HPC) and got the following error when trying to download the databases:

Database was built with a different version of diamond as is incompatible.

I also had to load a HMMER and BLAST+ module. I used the following command, specifying the environment directory path to install to to prevent it from installing to Miniconda which I do not have administrator rights to.

conda install dbcan -p /users/acf542/scratch/python_environments/envs/dbcan -c conda-forge -c bioconda

HaidYi commented 5 months ago

Hi @AntoniaFeilden , please specifying the path (you have the xwr+ permission for the path) you want to save the environment

conda create -p <your/path/that/you/have/permission> -c conda-forge -c bioconda dbcan

And then, activate the conda environment like this

source activate <your/path/that/you/have/permission>

or conda activate <your/path/that/you/have/permission>

Please do not use the outdated Diamond in your HPC since our run_dbcan will automatically install newest version of Diamond.

AntoniaFeilden commented 5 months ago

Hi @HaidYi ,

Thank you very much for your quick response. I can confirm that I perform the steps above:

conda create -p /users/****/scratch/python_environments/envs/dbcan python=3.8 conda activate dbcan conda install dbcan -p /users/****/scratch/python_environments/envs/dbcan -c conda-forge -c bioconda

Then I use the the code on the Database installation command page. Initially, I receive the following error: -bash: makeblastdb: command not found This motivated the BLAST+ download. Any ideas what could be happening? I will try and install it via pip now.

AntoniaFeilden commented 5 months ago

Hi @HaidYi ,

Database download resolved - I used the following command: dbcan_build --cpus 8 --db-dir db --clean

I had to pip install requests. Please can you confirm that this approach downloads the most recent versions of databases?

linnabrown commented 5 months ago

Hi @AntoniaFeilden

this shell code https://dbcan.readthedocs.io/en/latest/user_guide/database_preparation.html is totally the same as the dbcan_build.py. I really have no idea why makeblastdb does not work when you directly put it in your shell command. I deleted this database installation page and already recommended that the user use dbcan_build from the installation page (https://dbcan.readthedocs.io/en/latest/installation.html) to build the database.

We confirmed that this approach dbcan_build downloads the most recent database.

linnabrown commented 5 months ago

I figured it out, since I did not include the dependency for blast so you came across this issue. dbcan_build works since it runs database index building one by one. Previous command line is only one, so once a part of them does not work, the rest of part does not work. I now added dependency blast into my yaml file so users can include blast when installing run_dbcan. Once my package merged in bioconda, I will announce you that you can update the package.

linnabrown commented 5 months ago

I added requests in dependencies now. Thank you for brining this out. I will update dbcan into 4.1.4 and will let you know.

AntoniaFeilden commented 5 months ago

Hi @linnabrown,

Thank you very much for solving this issue! Please can you confirm the database versions downloaded via the dbcan_build --cpus 8 --db-dir db --clean command? Are they the same as those which were listed on the Database download page?

Thank you @HaidYi and @linnabrown - got it working for now at least and as a job script on a HPC.

Wishing you a good day!

linnabrown commented 5 months ago

@AntoniaFeilden Hi, I confirmed that the version is totally the same but there is a bug in dbcan_build and we already fixed it. However, we are still waiting for the merge from bioconda.

You can download run-dbcan 4.1.3 package and use 'pip install ." to update the dbcan package.

https://github.com/linnabrown/run_dbcan/releases/download/4.1.3/dbcan-4.1.3.tar.gz

linnabrown commented 5 months ago

@AntoniaFeilden The bioconda manager merged my package into Bioconda as 4.1.3. Those issues are fixed in the new version. Please update the package using conda install dbcan -c bioconda. Thank you