Package: lsdmap
LSDMap======LSDMap package is used to compute Locally Scaled Diffusion Map.Typical usage is to call the "lsdmap" script:lsdmap -f <configuration_file> -c <structure_file> <other_options>or using MPI:mpiexec -n <number_of_processors> lsdmap -f <configuration_file> -c <structure_file> <other_options>A typical example of configuration file is ./examples/lsdmap/config.iniThe structure file should contain all the configurations needed to computeLSDMap. After execution of the script, a .ev and a .eg file should havebeen generated containing the eigenvectors and eigenvalues, respectively.See the paper W. Zheng, M. A. Rohrdanz, M. Maggioni and C. Clementi, J. Chem. Phys., 2011, 134, 144109 for more information on how LSDMap works.Installation------------The install with pip is following:pip install numpypip install Cythonpip install lsdmapAn alternative installation is:1. First, make sure that you have NumPy, SciPy, mpi4py and cythoninstalled. If not, get them from http://numpy.scipy.org/,http://mpi4py.scipy.org/, http://cython.org/. Compile/install them.2. From the main lsdmap distribution directory run this command(plus any extra flags, e.g., --prefix or --user to specify theinstallation directory):python setup.py installAfter installation, make sure that the folder bin inside your installationdirectory is included in your PATH. It contains the executable "lsdmap"that is used to compute LSDMap.Tests can be run in the folder examples/lsdmap. This folder contains the structure file aladip_1000.growhich contains 1000 configurations of alanine dipeptide in vacuum andan example of configuration file (.ini) that should be used to computeLSDMap. To test the program, simply type in this folder:lsdmap -f config.ini -c aladip_1000.groAfter execution, a file ".ev" and a file ".eg" must have been generated.They contain the eigenvectors and eigenvalues of the Fokker-Planck operator,respectively. In the file ".ev", the first column corresponds to the valuesof the first eigenvector (largest eigenvalue), the second column correspondsto the values of the second one, and so on. The first line corresponds tothe values of the eigenvectors for the first configuration given in thestructure file, the second line corresponds to the second configuration,and so on.LSDMap can be computed using MPI using a command similar to:mpiexec -n <number_of_processors> lsdmap -f <configuration_file> -c <structure_file>For more information on lsdmap command, simply type:lsdmap -hDM-d-MD=======DM-d-MD (Diffusion-Map directed Molecular Dynamics) is an adaptive samplingalgorithm based on LSDMap. For an introduction to DM-d-MD, see the paperJ.Preto and C. Clementi, Phys. Chem. Chem. Phys., 2014, 16, 19181-19191.Besides LSDMap, DM-d-MD requires GROMACS to be correctly installed.DM-d-MD is automatically installed when installing LSDMap via the command:python setup.py installA typical usage of DM-d-MD is to call:dmdmd -f <configuration_file>Prerequisites-------------In order to use DM-d-MD, it is required that GROMACS has been correctlyinstalled and that "grompp" and "mdrun" commands are working properlyfor a serial utilization. If not, please visit http://www.gromacs.org/.Testing-------The Folder examples/dmdmd contains an example of DM-d-MD configurationfile (dmdmd.ini) as well as files required to run GROMACS MD simulationsfor the photoactive yellow protein (PYP). DM-d-MD can be launched byexecuting the command:dmdmd -f dmdmd.iniwithin the specified folder.Diffusion-Map Sampling======================DMap Sampling (Diffusion Map Sampling) is our most recent adaptive samplingalgorithm. It combines LSDMap and techniques from Umbrella Sampling, metadynamicsto offer the best way of exploring configuration spaces of macromolecularsystems and estimating their free energy landscapes.DMap Sampling consists in conducting biased Molecular Dynamics simulations (MD)where the biased potential is a local estimate of the free energy of thesystem along Diffusion Map coordinates. Since DMap coordinates are associatedwith slow time scales of MD simulations, it becomes easier to explore a widerregion of the configuration space without remaining in local minima. To runthe biased MD, an appropriate modified version of GROMACS is needed. To installit, see the paragraph Installation below.Installation------------In order to use DMap sampling, one should meet the following requirements:1. Installing the LSDMap package from the 'dmaps' branch, i.e., by first using:git checkout dmapsthen installing the lsdmap package usingpython setup.py installNote that this version of LSDMap requires a shared ".so" library of python.This library can be generated during the installation of python by using theoption "--enable-shared" when configuring python:./configure --enable-shared ...2. Installing the modified (serial, simple precision) version of GROMACS. Thepackage can be git-cloned using the following command:git clone git://git.code.sf.net/p/dmaps-gromacs/code dmaps-gromacs-codeNote that the package contains a modified version of GROMACS 4.6.1. Once cloned,follow the following steps to install the package:a. Create the GROMACS Makefile. The modified version of GROMACS shouldbe configured similarly to the standard version of GROMACS 4.6, withsingle precision and GPU and MPI options disabled. Please refer tohttp://www.gromacs.org/Documentation/Installation_Instructions_4.6for more information on how to build GROMACS. A typical way ofconfiguring our modified version of GROMACS could be the followingonce the installation directory has been git cloned:cd dmaps-gromacs-codemkdir cmake-buildcd cmake-buildcmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/path/to/local/directory -DGMX_GPU=OFF -DGMX_MPI=OFFBeware that the above commands is a simple example. Some machines mayrequire additional options to have GROMACS work properly. Again, referto the GROMACS webpage above for more information.b. Before installing GROMACS, link the DMap Sampling library to it.Before using make or make install, you should tell GROMACS that it shouldconsider a library called libdms.so at the compilation. The librarywas created when the LSDMap package was installed. First, youshould find the location of this particular library. If the installationof LSDMap went properly, the corresponding path should be/path/to/site-packages/lsdmap/dmaps/critical/libdms.so, wherepath/to/site-packages is the path to the python "site-packages" folder whereLSDMap has been installed. Then, starting from the folderdmaps-gromacs-code that was git cloned earlier, you should edit the filesrc/kernel/CMakeLists.txt. At line 78 in this file, "path/to/libdms.so" in"set(LIBDMS path/to/libdms.so)" should be modified to correspond to theabsolute path to the library "libdms.so" that you found.c. Compile GROMACS by typing (from the folder cmake-build that was created instep a):make installTesting-------To run Diffusion Map Sampling, use the following command from the examples/dmapsdirectory:dmaps -f settingsAs the job progresses, logging messages will be written to the console.If Diffusion Map Sampling finished correclty it should have created 3 folders,corresponding to the first three iterations of the DMap Sampling procedure (inthe file settings, niters=3 by default), called iterX, where X is the numberof the iteration.To analyze the results of a particular iteration, go inside the corresponding"iter" folder. From there, you can use the script phipsi.sh which is located inthe parent directory, by typing:../phipsi.shThis will compute collective variables that are commonly used to analyze resultsof the system tested here, alanine dipeptide. A bunch of python scripts are availablein the folder examples/dmaps/scripts to plot specific figures. For example, thefile examples/dmaps/scripts/plotfephipsi.py can be used to plot the free energylandscape as a a function of the coordinates phi and psi computed after runningthe script phipsi.sh. From the same "iter" folder, using:python ../scripts/plotfephipsi.pywill plot the desired figure. Note that it requires the modules matplotlib anddensplot to be installed on the local host. The former can be downloaded fromhttp://matplotlib.org/, whereas the latter can be git clonedfrom https://github.com/jp43/densplot and installed the usual way usingpython setup.py install