Valdes-Tresanco-MS / gmx_MMPBSA

gmx_MMPBSA is a new tool based on AMBER's MMPBSA.py aiming to perform end-state free energy calculations with GROMACS files.
https://valdes-tresanco-ms.github.io/gmx_MMPBSA/
GNU General Public License v3.0
226 stars 65 forks source link

error in installation #129

Closed wangjiaqi8710 closed 2 years ago

wangjiaqi8710 commented 2 years ago

Describe the issue Hello,

Could you suggest what could be the problem for the below error message? and whether it affects the usage of gmx_MMPBSA program? error message when gmx_MMPBSA is called. I have ubuntu 18.04 and python3.6.9 installed. I checked and did have distuitils installed in my system.

$ gmx_MMPBSA Error processing line 1 of /home/jiaqi/software/amber20/miniconda/lib/python3.9/site-packages/distutils-precedence.pth:

Traceback (most recent call last): File "/home/jiaqi/software/amber20/miniconda/lib/python3.9/site.py", line 169, in addpackage exec(line) File "", line 1, in ModuleNotFoundError: No module named '_distutils_hack'

Remainder of file ignored [INFO ] Starting [INFO ] Command-line gmx_MMPBSA

InputError: No input file was provided! Enter gmx_MMPBSA --help for help

If you will report an error, please complete this form To Reproduce Steps to reproduce the behavior:

  1. Which system type are you running? (Protein-Protein, Protein-Ligand, etc)
  2. The command-line are you using.

Additional context The gmx_MMPBSA.log file

Valdes-Tresanco-MS commented 2 years ago

This is a bug in the setuptools with python 3.9. However, I'm not sure how to reproduce it since I have both installed and haven't had that error. Can you tell me what version of python and setuptools you have (pip list)?

You can try to install it as I describe here

wangjiaqi8710 commented 2 years ago

This is a bug in the setuptools with python 3.9. However, I'm not sure how to reproduce it since I have both installed and haven't had that error. Can you tell me what version of python and setuptools you have (pip list)?

You can try to install it as I describe here

$ pip list DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. acpype (0.1.1) AmberLite (16.0) AmberTools (17.0) asn1crypto (0.24.0) backports.functools-lru-cache (1.6.4) bio (0.1.0) biopython (1.76) blurhash (1.1.4) boost (0.1) certifi (2020.12.5) chardet (4.0.0) configparser (4.0.2) constants (0.6.0) contextlib2 (0.6.0.post1) cryptography (2.1.4) cycler (0.10.0) decorator (4.4.2) enum34 (1.1.6) future (0.18.2) idna (2.10) importlib-metadata (2.1.1) ipaddress (1.0.17) keyring (10.6.0) keyrings.alt (3.0) kiwisolver (1.1.0) Mastodon.py (1.5.1) matplotlib (2.2.5) MMPBSA.py (16.0) networkx (2.2) numpy (1.16.6) olefile (0.45.1) packmol-memgen (1.0.5rc0) pandas (0.24.2) ParmEd (3.2.0) pathlib2 (2.3.5) pdb4amber (1.7.dev0) Pillow (5.1.0) pip (9.0.1) Pmw (1.3.2) PROPKA (3.1.0) pycairo (1.16.2) pycrypto (2.6.1) pycurl (7.43.0.1) pygobject (3.26.1) pyliblzma (0.5.3) pymol (1.8.4.0) pyMSMT (19.0) PyOpenGL (3.1.0) pyparsing (2.4.7) pyrosetta (2020.17+release.43186e059c1) pysqlite (1.0.1) python-dateutil (2.8.1) python-magic (0.4.22) pytraj (2.0.5) pytz (2021.1) pyxdg (0.25) reportlab (3.4.0) requests (2.25.1) rpm (4.14.1) sander (16.0) scandir (1.10.0) scipy (1.2.3) seaborn (0.9.1) SecretStorage (2.3.1) setuptools (44.1.1) six (1.15.0) SQLAlchemy (1.4.7) subprocess32 (3.5.4) urlgrabber (3.10.2) urllib3 (1.26.4) weblogo (3.6.0) wheel (0.30.0) wlab (1.1.5) yum-metadata-parser (1.1.4) zipp (1.2.0)

wangjiaqi8710 commented 2 years ago

This is a bug in the setuptools with python 3.9. However, I'm not sure how to reproduce it since I have both installed and haven't had that error. Can you tell me what version of python and setuptools you have (pip list)?

You can try to install it as I describe here

I currently install it based on what is suggested in this link https://valdes-tresanco-ms.github.io/gmx_MMPBSA/installation/.

$amber.python -m pip install PyQt5 $amber.python -m pip install gmx_MMPBSA

Am I doing it right?

Thanks for reply. JQ

Valdes-Tresanco-MS commented 2 years ago
This environment is not what I expected, just to give a few examples: your environment expected AmberTools20
pip == 9.0.1 (deprecated) pip > 20.x.x
pdb4amber == 1.7.dev0 pdb4amber == 20.1
matplotlib == 2.2.5 matplotlib > 3.x.x
pandas == 0.24.2 pandas >= 1.2.2

And most importantly, gmx_MMPBSA is not installed in that environment

I think the current version of AmberTools you are running in this environment is 17 or 18, not 20/21 which is the minimum supported by gmx_MMPBSA. Also, the base version of python supported is 3.8.x, older versions are not officially supported.

Did you source the amber.sh file? Because this environment appears to be with your system's python or from a previous amber installation. Follow these instructions:

If you are familiar with conda you can follow these instructions to do a quick, clean installation with a minimum of effort. conda create --name AmberTools21 conda activate AmberTools21 conda install -c conda-forge mpi4py ambertools=21 compilers python -m pip install PyQt5 gmx_MMPBSA

wangjiaqi8710 commented 2 years ago

yeah, you are right. I have removed the Amber18 previously installed in the system. And I tried again, the error still exists. The error messege as below, modulenotfounderror: no module named '_distutils_hack'

I finally find a fix for the problem. Just upgrad the setuptools then the problem disappeared. $pip3 install --upgrade setuptools

Thank you for your help.

JQ

Valdes-Tresanco-MS commented 2 years ago

I finally find a fix for the problem. Just upgrad the setuptools then the problem disappeared. $pip3 install --upgrade setuptools

I think this solution may fix the underlying problem, but it's something you should pay attention to. By following the steps I describe, you should not have to update setuptools, since the latest version is installed. It still seems to me that you have an overlap of python package libraries, which could be not only conflicting but confusing, because you may be using packages from different versions that don't give the expected result. In any case, let's hope all goes well.