MinPath Ambiguous Error Message

I am at a loss how to fix the problem.

Computing gene families ...
Computing pathways abundance and coverage ...
Error when running glpsol from MinPath.
Error when running glpsol from MinPath.
CRITICAL ERROR: Unable to process all thread commands.

Error message returned from command for thread task 0: /verona/biostat/software/Python3/bin/python3 /verona/biostat/software/Python3/lib/python3.7/site-packages/humann/quantify/MinPath12hmp.py -any /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmpuy9zl4ac -map /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmphvevx9rd -report /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmp2hdhdu9u -details /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmpsz0kxj_3 -mps /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmpl7prn1z2
Error message returned from command for thread task 1: /verona/biostat/software/Python3/bin/python3 /verona/biostat/software/Python3/lib/python3.7/site-packages/humann/quantify/MinPath12hmp.py -any /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmpveid_3dd -map /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmphvevx9rd -report /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmpb6v_817e -details /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmp0gmon0c7 -mps /verona/dario/tmp/OSCC_1-P_unmapped_R1_humann_temp/tmpae723rp6/tmp38r3gzen

What does it mean?

$ apt list --installed | grep glpk
libglpk-dev/stable,now 4.65-2 amd64 [installed]
libglpk40/stable,now 4.65-2 amd64 [installed,automatic]

Hello Dario, Thank you for the detailed post. Is it possible HUMAnN is using an older version of glpk? If not, is it possible there is an issue with the glpk install?

Thank you,
Lauren

I am not sure. It looks like glpk is installed on the statistics department’s server which I use and I read that pip install humann also installs glpk. I wonder which one is being utilised when I run an analysis. What minimum version of glpk does HUMAnN require? If both versions are higher than required, then it’s not the problem. Can HUMAnN capture a more detailed error message than “Error when running glpsol from MinPath.”? Perhaps there are more details available that would identify it.

The confusing error message is because glpsol was not installed on the server. If HUMAnN has four stages, why does it not check that all dependencies are installed before starting a long-running analysis? It is good software design practice to do that first before any analysis begins. The instructions say that pip install humann will install glpsol but this is not the case. I used "--install-option='--bypass-dependencies-install'" because bowtie2 was already installed on the server and I didn’t want to have a redundant copy of it. I read that it skips bowtie2 and diamond. Therefore, I would expect that glpsol was installed even if this option is set but glpsol was not installed. @lauren.j.mciver, does --bypass-dependencies also bypass glpsol installation, which contradicts the documentation?

Hi Dario, Sorry for any confusion. When we first wrote HUMAnN, and set it up to install the dependencies by default in the pypi package, wheels were not the default install method for setuptools/pip. Now that wheels are the default it is a bit tricky for HUMAnN to determine where you are installing your pypi package so it might not get the right bin path for the dependencies.

If you install with pip and add the option --no-binary :all: you will install the pip package from source (instead of the wheel) and so the dependencies will be installed in the correct bin. We updated the documentation to try to highlight this option for the pypi install.

Yes you are right. If you bypass the dependencies install it should bypass installing all the dependencies.

Thank you,
Lauren