Hey there
I installed HUMAnN 3.0 using conda, following the instructions from the annoucement post. It seems like bowtie2 was installed succesfully on my environment, running /home/user/miniconda3/envs/biobakery3/bin/bowtie2 --version
gives me
64-bit
Built on
Sat Jun 6 20:17:22 UTC 2020
Compiler: gcc version 7.5.0 (crosstool-NG 1.24.0.123_1667d2b)
Options: -O3 -msse2 -funroll-loops -g3 -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/qiime/miniconda3/envs/biobakery3/include -fdebug-prefix-map=/opt/conda/conda-bld/bowtie2_1591474367590/work=/usr/local/src/conda/bowtie2-2.4.1 -fdebug-prefix-map=/home/qiime/miniconda3/envs/biobakery3=/usr/local/src/conda-prefix -DPOPCNT_CAPABILITY -DWITH_TBB -std=c++11 -DNO_SPINLOCK -DWITH_QUEUELOCK=1
Sizeof {int, long, long long, void*, size_t, off_t}: {4, 8, 8, 8, 8, 8}
However, trying to run humann, I get CRITICAL ERROR: Can not call software version for bowtie2
I get the same error if I point to the bowtie2 path in the environment with --bowtie2.
Running it with --version gives me âhumann v3.0.0.alpha.1â.
What could be happening?
Thanks and best regards,
Robert
Hi Robert, It looks like HUMAnN is unable to determine the bowtie2 version. My guess is there is some extra information printed to stdout when you run â$ bowtie2 --versionâ. Try running that command and see if any errors/warnings are printed. If you resolve the errors/warnings with bowtie2 it should resolve the error you are seeing with HUMAnN.
Hi Robert, Thanks for the info. I agree with you that I donât see any errors or warnings. However, I also donât see the version in the output. It should look something like âbowtie2-align-s version 2.2.3â and I donât see the âversion a.b.câ in your output. You could remove the bowtie2 install and reinstall HUMAnN from source and it should install bowtie2. Alternatively maybe uninstall and then reinstall bowtie2 to see if you can get the version information to print.
I had the same issue when installing HUMAnN3 via conda. The version of BowTie2 installed by conda doesnât include a version string at the end of the line with the path to binary. Therefore, HUMAnN3 fails because it cannot confirm the version of BowTie2.
~/miniconda3/bin/bowtie2-align-s version
64-bit
Built on
Sat Jun 6 20:17:22 UTC 2020
Compiler: gcc version 7.5.0 (crosstool-NG 1.24.0.123_1667d2b)
Options: -O3 -msse2 -funroll-loops -g3 -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem ~/miniconda3/include -fdebug-prefix-map=/opt/conda/conda-bld/bowtie2_1591474367590/work=/usr/local/src/conda/bowtie2-2.4.1 -fdebug-prefix-map=~/miniconda3=/usr/local/src/conda-prefix -DPOPCNT_CAPABILITY -DWITH_TBB -std=c++11 -DNO_SPINLOCK -DWITH_QUEUELOCK=1
The only information available on the version is in the line with the compiler: version 2.4.1.
When installing HUMAnN3 via conda, conda takes care of the versioning of BowTie2 and therefore the BowTie2 version should be the one specified in the YAML file. I am not sure how complicated it is to check whether HUMAnN3 was installed via conda and this YAML file, but it might be easier to implement it than trying to retrieve the BowTie2 version from the compiler note.
I could get HUMAnN3 only working when escaping the version check of BowTie2 in the HUMAnN3 Python code.
Which conda channel was used to install bowtie2?
Iâve installed HUMAnN 3 using the bowtie2 distributed through the bioconda channel and the version number is present in the --version output
/shares/CIBIO-Storage/CM/mir/tools/anaconda3/envs/humann-3.0/bin/bowtie2-align-s version 2.3.5.1
64-bit
Built on
Wed Apr 17 02:40:25 UTC 2019
Compiler: gcc version 7.3.0 (crosstool-NG 1.23.0.450-d54ae)
It seems that the latest version available on bioconda (2.4.1) does not print correctly the version number
/shares/CIBIO-Storage/CM/mir/tools/anaconda3/envs/test/bin/bowtie2-align-s version
64-bit
Built on
I followed the instructions here and installed with the following command: conda install humann -c biobakery
Otherwise, my channel set-up is the one suggested by bioconda (first conda-forge, second bioconda) and BowTie2 was installed using the bioconda channel:
(biobakery3) user@server:~/ncbi/dbGaP-20066/sra$ humann --threads 20 --input test.fastq --output testout
Output files will be written to: /local/home/robinm/ncbi/dbGaP-20066/sra/testout
Removing spaces from identifiers in input file âŚ
CRITICAL ERROR: Can not call software version for bowtie2
(biobakery3) user@server:~/ncbi/dbGaP-20066/sra$ bowtie2 --version
/local/home/robinm/miniconda2/envs/biobakery3/bin/bowtie2-align-s version
64-bit
Built on
Sat Jun 6 20:17:22 UTC 2020
Compiler: gcc version 7.5.0 (crosstool-NG 1.24.0.123_1667d2b)
Options: -O3 -msse2 -funroll-loops -g3 -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /local/home/robinm/miniconda2/envs/biobakery3/include -fdebug-prefix-map=/opt/conda/conda-bld/bowtie2_1591474367590/work=/usr/local/src/conda/bowtie2-2.4.1 -fdebug-prefix-map=/local/home/robinm/miniconda2/envs/biobakery3=/usr/local/src/conda-prefix -DPOPCNT_CAPABILITY -DWITH_TBB -std=c++11 -DNO_SPINLOCK -DWITH_QUEUELOCK=1
Sizeof {int, long, long long, void*, size_t, off_t}: {4,
I went to the module folder in your conda environment, in which you installed HUMAnN3, e.g. ~/miniconda3/envs/humann/lib/python3.7/site-packages/humann, and there I commented out line 750 in the file humann.py: #utilities.check_software_version("bowtie2", config.bowtie2_version).
Hello all, Thanks for all the posts about the bowtie2 conda package without the version information. We have released a new HUMAnN v3 conda package that throws a warning instead of an error if it is unable to get the version of bowtie2. This should resolve the errors you are seeing running with a bowtie2 without version information. Also we feel relaxing this check from an error to a warning should be okay for bowtie2 since all recent versions (>2.1) should be compatible with HUMAnN v3. Please post with any questions and/or issues.
I got into the same error with the latest version of humann3. The error msg is listed below:
(biobakery3) [usr@cluster tutorial]$ humann --input demo.fastq.gz --output demo_fastq
Output files will be written to: /usr/HUMANN3/tutorial/demo_fastq
Decompressing gzipped file âŚ
WARNING: Can not call software version for bowtie2
Decompressing /usr/.conda/envs/biobakery3/lib/python3.7/site-packages/metaphlan/metaphlan_databases/mpa_v30_CHOCOPhlAn_201901.fna.bz2 into /usr/.conda/envs/biobakery3/lib/python3.7/site-packages/metaphlan/metaphlan_databases/mpa_v30_CHOCOPhlAn_201901.fna
Traceback (most recent call last):
File â/usr/.conda/envs/biobakery3/bin/metaphlanâ, line 10, in
sys.exit(main())
File â/usr/.conda/envs/biobakery3/lib/python3.7/site-packages/metaphlan/metaphlan.pyâ, line 915, in main
pars[âindexâ] = check_and_install_database(pars[âindexâ], pars[âbowtie2dbâ], pars[âbowtie2_buildâ], pars[ânprocâ], pars[âforce_downloadâ])
File â/usr/.conda/envs/biobakery3/lib/python3.7/site-packages/metaphlan/init.pyâ, line 292, in check_and_install_database
download_unpack_tar(FILE_LIST, index, bowtie2_db, bowtie2_build, nproc)
File â/usr/.conda/envs/biobakery3/lib/python3.7/site-packages/metaphlan/init.pyâ, line 181, in download_unpack_tar
bt2_build_output = subp.check_output([bowtie2_build, ââusageâ], stderr=subp.STDOUT)
File â/usr/.conda/envs/biobakery3/lib/python3.7/subprocess.pyâ, line 411, in check_output
**kwargs).stdout
File â/usr/.conda/envs/biobakery3/lib/python3.7/subprocess.pyâ, line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command â[âbowtie2-buildâ, ââusageâ]â returned non-zero exit status 127.
I further manually installed bowtie2 (the code: âconda install bowtie2â)and metaphlan3 (the code: âconda install metaphlan=3.0=pyh5ca1d4c_2 --no-channel-priorityâ), however it is still returning the same error. What could be happening?
Hi Shuqi, Thank you for the detailed follow up. Can you try running the following command?
$ bowtie2-build âusage
It looks like there might be a mismatch in the bowtie2 version or there is an issue with the bowtie2 install that is causing the problem. The command above is the one that fails. Running it again should hopefully give us more information about the error.
Hi Shuqi, Thank you for the reply and sorry for my slow response. It looks like there might be an issue with the bowtie2 install because of the symbol table error. Can you try removing and re-installing bowtie2?
I am getting the same problem but for some of my samples. I ran like 20 samples and 12 samples were just fine but rest of the 8 samples gave this error.