BrooksResearchGroup-UM / pyCHARMM-Workshop

pyCHARMM tutorial, documentation and examples. This repository contains materials originally from the pyCHARMM Workshop run at the University of Michigan by Charles Brooks' Group, June 20-24.
MIT License
61 stars 10 forks source link

error in building PyCHARMM on colab #5

Closed hima111997 closed 8 months ago

hima111997 commented 8 months ago

i am trying to use google colab (with CUDA version 12.2) to build PyCHARMM. However, during make install step it shows an error. this is the output from the configure command (../configure --as-library -p /content/charmm/build_charmm)

=====
library build selected
=====
user specified install prefix
    /content/charmm/build_charmm
=====
configuration using cmake continues using
env /usr/local/bin/cmake -Das_library=On -DCMAKE_INSTALL_PREFIX=/content/charmm/build_charmm /content/charmm

after configuration run make in
    /content/charmm/build_charmm
to compile and link the charmm executable
=====
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The Fortran compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/local/bin/gfortran - skipped
-- Found FFTW: /usr/local/include  
-- Found FFTWF: /usr/local/lib/libfftw3f.so  
-- Found MPI_C: /usr/local/lib/libmpi.so (found version "3.1") 
-- Found MPI_CXX: /usr/local/lib/libmpi.so (found version "3.1") 
-- Found MPI_Fortran: /usr/local/lib/libmpi_usempif08.so (found version "3.1") 
-- Found MPI: TRUE (found version "3.1")  
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP_Fortran: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found OpenMP_Fortran: -fopenmp  
-- OpenMM : FOUND OPENMM_INCLUDE_DIRS ->/usr/local/include<-
-- OpenMM : FOUND OPENMM_LIBRARIES ->/usr/local/lib/libOpenMM.so<-
-- OpenMM : FOUND OPENMM_PLUGIN_DIR ->/usr/local/lib/plugins<-
-- OpenMM : FOUND OPENMM_CPU_PLUGIN ->/usr/local/lib/plugins/libOpenMMCPU.so<-
-- OpenMM : FOUND OPENMM_CUDA_PLUGIN ->/usr/local/lib/plugins/libOpenMMCUDA.so<-
-- OpenMM : FOUND OPENMM_OPENCL_PLUGIN ->/usr/local/lib/plugins/libOpenMMOpenCL.so<-
-- Found OpenMM: /usr/local/include  
-- Could NOT find ExaFMM (missing: ExaFMM_LIBRARY) 
CMake Warning (dev) at CMakeLists.txt:365 (find_package):
  Policy CMP0146 is not set: The FindCUDA module is removed.  Run "cmake
  --help-policy CMP0146" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda (found version "12.2") 
-- found OPENMM flags ->  <-
-- OpenMM version detected ->81<-
-- OpenCL include dir found: /usr/local/include
-- OpenCL library found: /usr/local/lib/libOpenCL.so
-- full build chosen
-- Configuring done (5.5s)
-- Generating done (0.2s)
-- Build files have been written to: /content/charmm/build_charmm
=====
you are now ready to run make in
    /content/charmm/build_charmm
=====

after that i run this command make -j4 install which produces an error:

Building Fortran object CMakeFiles/charmm.dir/blade_ctrl.F90.o
Building Fortran object CMakeFiles/charmm.dir/omm_main.F90.o
/content/charmm/build_charmm/omm_main.F90:1100:17:

 1100 |           nsteps)
      |                 1
Error: Missing actual argument for argument 'reporter' at (1)
make[2]: *** [CMakeFiles/charmm.dir/build.make:10883: CMakeFiles/charmm.dir/omm_main.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:318: CMakeFiles/charmm.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

this is the link to the colab notebook: https://colab.research.google.com/drive/1N82QhDe14WeO1DFJ_P0xs69yRbbsygDG?usp=sharing

clbrooksiii commented 8 months ago

Hi,

Yes, this is an issue with OpenMM 8.1 in which they have changed some of the interfaces. If you instead use OpenMM 8.0 this error should go away. We will have a fix for the 8.1 version of OpenMM in the next release.

Charles Brooks

On Jan 18, 2024, at 9:30 AM, hima111997 @.***> wrote:

i am trying to use google colab (with CUDA version 12.2) to build PyCHARMM. However, during make install step it shows an error. this is the output from the configure command (../configure --as-library -p /content/charmm/build_charmm)

===== library build selected

user specified install prefix /content/charmm/build_charmm

configuration using cmake continues using env /usr/local/bin/cmake -Das_library=On -DCMAKE_INSTALL_PREFIX=/content/charmm/build_charmm /content/charmm

after configuration run make in /content/charmm/build_charmm to compile and link the charmm executable

CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- The Fortran compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/local/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/local/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Check for working Fortran compiler: /usr/local/bin/gfortran - skipped -- Found FFTW: /usr/local/include
-- Found FFTWF: /usr/local/lib/libfftw3f.so
-- Found MPI_C: /usr/local/lib/libmpi.so (found version "3.1") -- Found MPI_CXX: /usr/local/lib/libmpi.so (found version "3.1") -- Found MPI_Fortran: /usr/local/lib/libmpi_usempif08.so (found version "3.1") -- Found MPI: TRUE (found version "3.1")
-- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP_Fortran: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP_Fortran: -fopenmp
-- OpenMM : FOUND OPENMM_INCLUDE_DIRS ->/usr/local/include<- -- OpenMM : FOUND OPENMM_LIBRARIES ->/usr/local/lib/libOpenMM.so<- -- OpenMM : FOUND OPENMM_PLUGIN_DIR ->/usr/local/lib/plugins<- -- OpenMM : FOUND OPENMM_CPU_PLUGIN ->/usr/local/lib/plugins/libOpenMMCPU.so<- -- OpenMM : FOUND OPENMM_CUDA_PLUGIN ->/usr/local/lib/plugins/libOpenMMCUDA.so<- -- OpenMM : FOUND OPENMM_OPENCL_PLUGIN ->/usr/local/lib/plugins/libOpenMMOpenCL.so<- -- Found OpenMM: /usr/local/include
-- Could NOT find ExaFMM (missing: ExaFMM_LIBRARY) CMake Warning (dev) at CMakeLists.txt:365 (find_package): Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake --help-policy CMP0146" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found version "12.2") -- found OPENMM flags -> <- -- OpenMM version detected ->81<- -- OpenCL include dir found: /usr/local/include -- OpenCL library found: /usr/local/lib/libOpenCL.so -- full build chosen -- Configuring done (5.5s) -- Generating done (0.2s) -- Build files have been written to: /content/charmm/build_charmm

you are now ready to run make in /content/charmm/build_charmm

after that i run this command make -j4 install which produces an error:

Building Fortran object CMakeFiles/charmm.dir/blade_ctrl.F90.o Building Fortran object CMakeFiles/charmm.dir/omm_main.F90.o /content/charmm/build_charmm/omm_main.F90:1100:17:

1100 | nsteps) | 1 Error: Missing actual argument for argument 'reporter' at (1) make[2]: [CMakeFiles/charmm.dir/build.make:10883: CMakeFiles/charmm.dir/omm_main.F90.o] Error 1 make[1]: [CMakeFiles/Makefile2:318: CMakeFiles/charmm.dir/all] Error 2 make: *** [Makefile:136: all] Error 2

this is the link to the colab notebook: https://colab.research.google.com/drive/1N82QhDe14WeO1DFJ_P0xs69yRbbsygDG?usp=sharing

— Reply to this email directly, view it on GitHub https://github.com/BrooksResearchGroup-UM/pyCHARMM-Workshop/issues/5, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIWBNLKGTWQA5GEHLG2VR3YPEWWTAVCNFSM6AAAAABCAMBMGOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4DQNBQHEZTKMI. You are receiving this because you are subscribed to this thread.


Charles L. Brooks III (he/him) Cyrus Levinthal Distinguished University Professor of Chemistry and Biophysics Warner-Lambert/Parke-Davis Professor of Chemistry Professor of Biophysics Director of the Biophysics Program North American Editor-in-Chief of Journal of Computational Chemistry Department of Chemistry, Biophysics Program President of the Protein Society (2017-2020) 930 N. University Ave University of Michigan Ann Arbor, MI 48109 Phone: 734/647-6682 Fax: 734/647-1604 Phone: 734/763-6444 (Biophysics Office) Brooks Lab http://brooks.chem.lsa.umich.edu/ Journal of Computational Chemistry http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1096-987X Protein Society http://www.proteinsociety.org/

Nicholas O'Hair Administrative Assistant & JCC Editorial Assistant Phone: 734/763-2353 Email: @.***

Sandra Moing Biophysics Executive Secretary Phone: 734-764-1146 Email: @.***

Follow me on twitter: https://twitter.com/CharlesLBrooks

hima111997 commented 8 months ago

yes thank you. it installed correctly now. However, when i tried to run the example docking in the CDOCKER tutorial it ended with this error:

NBONDA>>  Maximum group spatial extent (12A) exceeded.
   Size is       15.06 Angstroms and starts with atom:       1
   Please check group boundary definitions.
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
sh: 1: cluster.pl: not found
/usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py:1299: UserWarning: loadtxt: input contained no data: "tmpcluster"
  cluster_size = np.loadtxt('tmpcluster', dtype = int)
Traceback (most recent call last):
  File "/content/play.py", line 41, in <module>
    clusterResult, dockResult = Rigid_CDOCKER(xcen = 12.33, ycen = 33.48, zcen = 19.70,
  File "/usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py", line 1803, in Rigid_CDOCKER
    radius = scan_cluster_radius(name = conformerName)
  File "/usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py", line 1300, in scan_cluster_radius
    radius = radii[cluster_size == np.amax(cluster_size)][0]
  File "/usr/local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 2827, in amax
    return _wrapreduction(a, np.maximum, 'max', axis, None, out,
  File "/usr/local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 88, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation maximum which has no identity

This is the code i used:

import os
os.chdir('/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/rigid')
os.environ['CHARMM_LIB_DIR'] = '/content/charmm/build_charmm/lib'
## Import module
import numpy as np
import pycharmm
import pycharmm.lib as lib
import pycharmm.read as read
import pycharmm.lingo as lingo
import pycharmm.settings as settings
from pycharmm.cdocker import Rigid_CDOCKER

################################################################
# #
# #     Begin of pyCHARMM Rigid CDOCKER
# #
# ###############################################################

## Topology and parameter files
settings.set_bomb_level(-1)
#base = "/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/Toppar/"
read.rtf('"../Toppar/top_all36_prot.rtf"')
read.rtf('"../Toppar/top_all36_cgenff.rtf"', append = True)
read.prm('"../Toppar/par_all36m_prot.prm"', flex = True)
read.prm('"../Toppar/par_all36_cgenff.prm"', append = True, flex = True)
settings.set_bomb_level(0)
base2 = "/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/rigid/"
read.stream('ligandrtf')

## Import module
from pycharmm.cdocker import Rigid_CDOCKER

## File name and pathway
ligPDB = "ligand.pdb"
ligandrtf = "ligandrtf"
confDir = "/content/conformer/"
receptorPDB = "protein.pdb"
receptorPSF = "protein.psf"

## Rigid CDOCKER standard docking protocol
clusterResult, dockResult = Rigid_CDOCKER(xcen = 12.33, ycen = 33.48, zcen = 19.70,
              softGridFile='../jupyter_lab/grid/rigid/grid-emax-0.6-mine--0.4-maxe-0.4.bin',
              hardGridFile='../jupyter_lab/grid/rigid/grid-emax-3-mine--30-maxe-30.bin', 
              nativeGridFile='../jupyter_lab/grid/rigid/grid-emax-100-mine--100-maxe-100.bin',
                                        maxlen = 25.762, ligPDB = ligPDB, receptorPDB = receptorPDB,
                                        receptorPSF = receptorPSF, confDir = confDir, flag_grid = True,
                                        flag_delete_conformer = False, numPlace = 5)

print(clusterResult)
print(dockResult)
clbrooksiii commented 8 months ago

Hi,It appears that you don’t have the mmtsb toolset installed. The error related to cluster.pl relates to that. ----------------------------------------------------------------------Charles L. Brooks III (he/him)Cyrus Levinthal Distinguished University Professor   of Chemistry and BiophysicsWarner-Lambert/Parke-Davis Professor   of ChemistryProfessor of BiophysicsDirector of the Biophysics ProgramNorth American Editor-in-Chief of     Journal of Computational ChemistryDepartment of Chemistry, Biophysics ProgramPresident of the Protein Society (2017-2020) 930 N. University AveUniversity of MichiganAnn Arbor, MI 48109Phone: 734/647-6682Fax:     734/647-1604Phone: 734/763-6444 (Biophysics Office)Brooks LabJournal of Computational ChemistryProtein SocietyNicholas O'HairAdministrative Assistant & JCC Editorial AssistantPhone: 734/763-2353Email: @. MoingBiophysics Executive @. me on twitter: https://twitter.com/CharlesLBrooks----------------------------------------------------------------------On Jan 18, 2024, at 11:28 AM, hima111997 @.*> wrote: yes thank you. it installed correctly now. However, when i tried to run the example docking in the CDOCKER tutorial it ended with this error: NBONDA>> Maximum group spatial extent (12A) exceeded. Size is 15.06 Angstroms and starts with atom: 1 Please check group boundary definitions. sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found sh: 1: cluster.pl: not found /usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py:1299: UserWarning: loadtxt: input contained no data: "tmpcluster" cluster_size = np.loadtxt('tmpcluster', dtype = int) Traceback (most recent call last): File "/content/play.py", line 41, in clusterResult, dockResult = Rigid_CDOCKER(xcen = 12.33, ycen = 33.48, zcen = 19.70, File "/usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py", line 1803, in Rigid_CDOCKER radius = scan_cluster_radius(name = conformerName) File "/usr/local/lib/python3.10/site-packages/pycharmm/cdocker.py", line 1300, in scan_cluster_radius radius = radii[cluster_size == np.amax(cluster_size)][0] File "/usr/local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 2827, in amax return _wrapreduction(a, np.maximum, 'max', axis, None, out, File "/usr/local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 88, in _wrapreduction return ufunc.reduce(obj, axis, dtype, out, passkwargs) ValueError: zero-size array to reduction operation maximum which has no identity

This is the code i used: import os os.chdir('/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/rigid') os.environ['CHARMM_LIB_DIR'] = '/content/charmm/build_charmm/lib'

Import module

import numpy as np import pycharmm import pycharmm.lib as lib import pycharmm.read as read import pycharmm.lingo as lingo import pycharmm.settings as settings from pycharmm.cdocker import Rigid_CDOCKER

################################################################

Begin of pyCHARMM Rigid CDOCKER

Topology and parameter files

settings.set_bomb_level(-1)

base = "/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/Toppar/"

read.rtf('"../Toppar/top_all36_prot.rtf"') read.rtf('"../Toppar/top_all36_cgenff.rtf"', append = True) read.prm('"../Toppar/par_all36m_prot.prm"', flex = True) read.prm('"../Toppar/par_all36_cgenff.prm"', append = True, flex = True) settings.set_bomb_level(0) base2 = "/content/pyCHARMM-Workshop/7CDOCKER_Tutorial/rigid/" read.stream('ligandrtf')

Import module

from pycharmm.cdocker import Rigid_CDOCKER

File name and pathway

ligPDB = "ligand.pdb" ligandrtf = "ligandrtf" confDir = "/content/conformer/" receptorPDB = "protein.pdb" receptorPSF = "protein.psf"

Rigid CDOCKER standard docking protocol

clusterResult, dockResult = Rigid_CDOCKER(xcen = 12.33, ycen = 33.48, zcen = 19.70, softGridFile='../jupyter_lab/grid/rigid/grid-emax-0.6-mine--0.4-maxe-0.4.bin', hardGridFile='../jupyter_lab/grid/rigid/grid-emax-3-mine--30-maxe-30.bin', nativeGridFile='../jupyter_lab/grid/rigid/grid-emax-100-mine--100-maxe-100.bin', maxlen = 25.762, ligPDB = ligPDB, receptorPDB = receptorPDB, receptorPSF = receptorPSF, confDir = confDir, flag_grid = True, flag_delete_conformer = False, numPlace = 5)

print(clusterResult) print(dockResult)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

hima111997 commented 8 months ago

okay thank you. when i entered on this site (https://feig.bch.msu.edu/mmtsb/Installation) i found this :

Integration with other packages
The MMTSB Tool Set benefits from the availability of other software packages, in particular CHARMM, Amber, Modeller, DSSP, SCWRL, NCBI-BLAST, PSIPRED.

The following environment variables are related to these packages and should be set accordingly:

 CHARMMEXEC    CHARMM executable
 CHARMMDATA    CHARMM data files

for CHARMM, i only built it using --as-library flag. Do i need to add the path to these two variables? and where can i find them?

hima111997 commented 8 months ago

i tried it now without these two variables and the docking worked well without any error.