The bioBakery help forum

HUMAnN 3 - Cannot call bowtie2 version

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.

Thanks,
Lauren

Hi!
Running “bowtie2 --version” gives me the same output as running it with the full path within the environment.

(biobakery3) qiime@bioinfo-02:~$ bowtie2 --version                              /home/qiime/miniconda3/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 /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}

As I understand it, these are just compiler options, not warnings, right?
Thanks for the attention!

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.

Thanks,
Lauren

Hi Lauren,

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.

1 Like

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:

bowtie2 2.4.1 py37h4ef193e_2 bioconda

2.3.5.1 is the latest version available on conda with working --version

I get the same error. Any workarounds?

(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,

How did you do this exacly? Which file and which lines?

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.

Thank you,
Lauren