ubccr / software-layer

CCR Software Layer
GNU General Public License v2.0
3 stars 6 forks source link

pymbar #141

Closed peter-zhang-chem closed 8 months ago

peter-zhang-chem commented 8 months ago

pymbar-3.0.3-intel-2020a-Python-3.8.2.eb

Thanks!

tonykew commented 8 months ago

Compiling pymbar with the Intel 2022.00 toolchain had problems - failing two of the tests I compiled with the foss 2021b (GNU) toolchain with no test errors. Will a foss/GNU compiled version of pymbar work for your needs?

peter-zhang-chem commented 8 months ago

Hi Tony,

That should work fine, thanks! Should we submit an issue on easybuild github regarding the failed build?

Peter

tonykew commented 8 months ago

Dear Peter, I tried running the test suite. I has to modify utils_for_testing.py timeseries.py and tests/test_utils.py to get the tests to complete without errors.

I'm going to try to build a newer version, since I have to imagine this version will only have more problems...

Tony

peter-zhang-chem commented 8 months ago

Hi Tony,

Thanks!

Peter

tonykew commented 8 months ago

Dear Peter,

I built the latest 3.x release, 3.1.1 I still had to modify timeseries.py to get the tests to complete (I'm genuinely surprised about that!)

...I subsequently found a commit against 3.1.1 that includes the timeseries.py fix. - I re-built 3.1.1 with a patch bundle of the commit.

There are 4.x releases, but 4.x has several API changes as per: https://github.com/choderalab/pymbar/releases I have built the latest version, 4.0.2 as well.

My inclination is to publish both versions, then you can module load whichever version works best for you.

Tony

peter-zhang-chem commented 8 months ago

Hi Tony,

Yes, please push both version and I will try both and contact you again if there is any issues. Thank you!

Peter

tonykew commented 8 months ago

Pymbar version 3.11 and 4.02 have been published to the CCR software stack

vortex1$ module spider pymbar
----------------------------------------------------------------------------
  pymbar:
----------------------------------------------------------------------------
    Description:
      The pymbar package contains the pymbar suite of tools for the
      analysis of simulated and experimental data with the multistate
      Bennett acceptance ratio (MBAR) estimator.

     Versions:
        pymbar/3.1.1-Python-3.9.6
        pymbar/4.0.2-Python-3.9.6
[...]
vortex1$ 

Version 3.1.1:

vortex1$ module spider pymbar/3.1.1-Python-3.9.6
----------------------------------------------------------------------------
  pymbar: pymbar/3.1.1-Python-3.9.6
----------------------------------------------------------------------------
    Description:
      The pymbar package contains the pymbar suite of tools for the
      analysis of simulated and experimental data with the multistate
      Bennett acceptance ratio (MBAR) estimator.

    You will need to load all module(s) on any one of the lines below before the "pymbar/3.1.1-Python-3.9.6" module is available to load.

      gcc/11.2.0  openmpi/4.1.1
[...]
vortex1$ module load gcc/11.2.0 openmpi/4.1.1 pymbar/3.1.1-Python-3.9.6
vortex1$

loading the module adds pymbar to the PYTHONPATH

vortex1$ ls ${EBROOTPYMBAR}/lib/python3.9/site-packages
pymbar  pymbar-3.0.5.dist-info
vortex1$ ls ${EBROOTPYMBAR}/lib/python3.9/site-packages/pymbar
bar.py                  mbar.py          tests                 utils.py
confidenceintervals.py  mbar_solvers.py  testsystems           version.py
exp.py                  old_mbar.py      timeseries.py
__init__.py             __pycache__      utils_for_testing.py
vortex1$ echo $PYTHONPATH | grep ${EBROOTPYMBAR}/lib/python3.9/site-packages
/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/easybuild/software/avx512/MPI/gcc/11.2.0/openmpi/4.1.1/pymbar/3.1.1-Python-3.9.6/lib/python3.9/site-packages:[...]
vortex1$ 

The test suite provided with pymber 3.1.1 was run (after loading the pymbar module as above) as follows:

$ module load pytest/7.2.2 statsmodels/0.13.1 pytables/3.6.1
$ cd /scratch/ || cd /var/tmp
$ pytest -v ${EBROOTPYMBAR}/lib/python3.9/site-packages/pymbar
[...]
================== 37 passed, 1432 warnings in 59.67s ==================
$ 

Uploaded pymbar 3.1.1

vortex1$ module purge
The following modules were not unloaded:
  (Use "module --force purge" to unload all):

  1) ccrenv   2) gentoo/2023.01   3) ccrsoft/2023.01
vortex1$ 

Version 4.0.2:

vortex1$ module spider pymbar/4.0.2-Python-3.9.6
----------------------------------------------------------------------------
  pymbar: pymbar/4.0.2-Python-3.9.6
----------------------------------------------------------------------------
    Description:
      The pymbar package contains the pymbar suite of tools for the
      analysis of simulated and experimental data with the multistate
      Bennett acceptance ratio (MBAR) estimator.

    You will need to load all module(s) on any one of the lines below before the "pymbar/4.0.2-Python-3.9.6" module is available to load.

      gcc/11.2.0  openmpi/4.1.1
[...]
vortex1$ module load gcc/11.2.0 openmpi/4.1.1 pymbar/4.0.2-Python-3.9.6
vortex1$ ls ${EBROOTPYMBAR}/lib/python3.9/site-packages/pymbar
confidenceintervals.py  mbar_solvers.py      testsystems           _version.py
fes.py                  other_estimators.py  timeseries.py
__init__.py             __pycache__          utils_for_testing.py
mbar.py                 tests                utils.py
vortex1$ echo $PYTHONPATH | grep ${EBROOTPYMBAR}/lib/python3.9/site-packages
/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/easybuild/software/avx512/MPI/gcc/11.2.0/openmpi/4.1.1/pymbar/4.0.2-Python-3.9.6/lib/python3.9/site-packages:[...]
vortex1$ 

The test suite provided with pymber 4.0.2 was run (after loading the pymbar module as above) as follows:

$ module load pytest/7.2.2 statsmodels/0.13.1 pytables/3.6.1
$ cd /scratch/ || cd /var/tmp
$ pytest -v ${EBROOTPYMBAR}/lib/python3.9/site-packages/pymbar
[…]
======= 121 passed, 25 xfailed, 4 xpassed, 2 warnings in 38.89s ========
$