Wiki

Write a report in Latex:

Books

book_list.pdf

Gromacs, Plumed etc

Gromacs2018 with plumed:

Install Plumed

./configure --prefix="/home/mb/softies/plumed235" --enable-mpi --disable-almost --enable-matheval CXX=mpiCC

make -j 8 && make install

**Plumed and gromacs should use the SAME mpi libraries

cd to gromacs source directory

export PLUMED_ROOT="/home/mb/softies/src/plumed-2.5.1"

In .bash_aliases add source ~/softies/src/plumed-2.5.1/sourceme.sh

source ~/.bash_aliases

/home/mb/softies/src/plumed-2.5.1/src/lib//plumed patch -p

mkdir build && cd build/

cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/home/mb/softies/gro2018_cuda -DGMX_GPU=CUDA -DGMX_MPI=OFF  -DCMAKE_C_COMPILER=/usr/bin/gcc-8 -DCMAKE_CXX_COMPILER=/usr/bin/g++-8


remove duplicate reference to Plumed.o from build-dir/src/gromacs/CMakeFiles/libgromacs.dir/link.txt

make -j 8 && make install


worked in the past: cmake -DGMX_MPI=ON .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/home/fr/fr_fr/fr_mb1148/progs/gro506_alt -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_THREAD_MPI=OFF
PARAM-shakti set up:

fftw

module load compiler/openmpi/4.0.2

./configure --enable-float --enable-threads --enable-openmp --enable-mpi --enable-shared MPICC=mpicc --prefix=/home/mbiswas.nitr/programs/fftw3 --enable-sse2 --enable-avx --enable-avx2


Loaded Modules:

  1) compiler/openmpi/4.0.2   3) lib/fftw3/3.3.8/intel2018   5) compiler/cuda/10.2

  2) compiler/gcc/8.3.0       4) mpich/3.3.1                 6) compiler/cmake/3.15.4

gromacs18

cmake .. -DGMX_GPU=CUDA -DGMX_BUILD_OWN_FFTW=OFF -DCMAKE_PREFIX_PATH=/home/mbiswas.nitr/programs/fftw3 -DCMAKE_INSTALL_PREFIX=/home/mbiswas.nitr/programs/gro2018_mpi_cuda -DGMX_MPI=ON -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DBUILD_SHARED_LIBS=off


Ref. https://groups.google.com/forum/#!topic/plumed-users/stlK9-kaa6A       https://www.archer.ac.uk/documentation/software/plumed/
Plumed with MATHEVAL:# Follow the procedure described in Davide's message to create a libmatheval distribution without Guile.https://groups.google.com/forum/#!msg/plumed-users/Zr21oQULcY0/K1v3CTSBCAAJ
# add the header and library paths to LD_LIBRARY_PATH otherwise plumed-2.0 won't find libmatheval.so.1export LD_LIBRARY_PATH=/PATH_TO/libmatheval/lib/:$LD_LIBRARY_PATH
configure plumedIn Makefile.conf change:
DYNAMIC_LIBS=-lstdc++ -llapack -lblas -lmatheval -L/PATH_TO_MATHEVAL_LIB
CPPFLAGS=-D__PLUMED_HAS_DLOPEN -D__PLUMED_MPI $(CHECK_BOUNDARIES) -I. $(PLUMED_INCLUDE) -D__PLUMED_HAS_MATHEVAL -I/lustre/jhome19/esmi19/esmi1901/Programs/libmatheval/lib
LDFLAGS=-rdynamic -L/lustre/jhome19/esmi19/esmi1901/Programs/libmatheval/lib/.libs
Ref: https://groups.google.com/forum/#!topic/plumed-users/BE3abBvsPOE
./configure --prefix=/home/fr/fr_fr/fr_mb1148/progs/plumed221 --enable-mpi CXX=mpiCC  LDFLAGS=-L/home/fr/fr_fr/fr_mb1148/progs/matheval/lib CPPFLAGS=-I/home/fr/fr_fr/fr_mb1148/progs/matheval/include

NAMD

NAMD MPI Notes

 MPI Executable
Build Date: 03/03/10Compiler:   Intel (10.1.015)Libraries:  FFTW (2.1.5)            MVAPICH (0.9.9)            charm++ (6.1.3)Location:   /apps/namd/2.7b2/Linux-x86_64-MPI-icc
Notes:
    For charm++ build: ./build charm++ mpi-linux-amd64    For NAMD configuration: ./config Linux-x86_64-MPI-icc --charm-arch mpi-linux-amd64    Created a custom architecture file: arch/Linux-x86_64-MPI-icc.arch (below)    To run this executable your MPI environment must be set by loading the intel/10.1 and mvapich/0.9.9 modules.
NAMD_ARCH = Linux-x86_64CHARMARCH = mpi-linux-amd64
CXX = mpiCCFLOATOPTS = -axW -ip -fno-rttiCXXOPTS = -i-static -static-libgcc -O2 $(FLOATOPTS)CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS)
CC = mpiccCOPTS = -i-static -static-libgcc -O2 $(FLOATOPTS)
Also modified Linux-x86_64.fftw to be...
FFTDIR=/opt/lib/fftw/2.1.5FFTINCL=-I$(FFTDIR)/includeFFTLIB=-L$(FFTDIR)/lib -lsrfftw -lsfftwFFTFLAGS=-DNAMD_FFTWFFT=$(FFTINCL) $(FFTFLAGS)
and Linux-x86_64.tcl to be...
TCLDIR=/usrTCLINCL=-I$(TCLDIR)/includeTCLLIB=-L$(TCLDIR)/lib64 -ltcl8.4 -ldlTCLFLAGS=-DNAMD_TCLTCL=$(TCLINCL) $(TCLFLAGS)

Gromacs output selected frames from trajectory

#!/bin/bash                                                                                                                                                                                                                                  # USAGE: trjconv -f metadyn.trr -s metadyn.tpr -o frames/frame.gro -sep -e 4 -exec "./execonframes.sh"                                                                                                                                                                                                                                                                                                                            #current_frame=`echo ${1:1}`                                                                                                                                                                                                                 current_frame=`echo ${1}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                 frames=`awk '{print $1}' ../analysis/projMeta_sphihb_ondPCA.s1000.b50.m100.frames`                                                                                                                                                                                                                                                                                                                                                           #echo $frames                                                                                                                                                                                                                                #echo $current_frame                                                                                                                                                                                                                                                                                                                                                                                                                                                                      [[ $frames =~ (^|[[:space:]])"$current_frame"($|[[:space:]]) ]] || rm frames/frame${current_frame}.gro 

Gromacs replica runs with GPUs

https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-users/2018-February/118715.html

https://sites.google.com/site/drammhto/methods-codes/1-method-of-replica-exchange-with-gromacs

#!/bin/bash                                                                                                                                                                                                                                  # USAGE: trjconv -f metadyn.trr -s metadyn.tpr -o frames/frame.gro -sep -e 4 -exec "./execonframes.sh"                                                                                                                                                                                                                                                                                                                            #current_frame=`echo ${1:1}`                                                                                                                                                                                                                 current_frame=`echo ${1}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                 frames=`awk '{print $1}' ../analysis/projMeta_sphihb_ondPCA.s1000.b50.m100.frames`                                                                                                                                                                                                                                                                                                                                                           #echo $frames                                                                                                                                                                                                                                #echo $current_frame                                                                                                                                                                                                                                                                                                                                                                                                                                                                      [[ $frames =~ (^|[[:space:]])"$current_frame"($|[[:space:]]) ]] || rm frames/frame${current_frame}.gro 

GIT README

#create/clone                                                                                                                                                                                                                                git init, git clone ssh://user@server/PATH_TO_DIRECTORY/.git                                                                                                                                                                                                                                                                                                                                                                                                               #add files                                                                                                                                                                                                                                   git add FILE.tex                                                                                                                                                                                                                                                                                                                                                                                                                                                                         #commit new files/ changes                                                                                                                                                                                                                   git commit -m "Start with an outline"                                                                                                                                                                                                                                                                                                                                                                                                                                                    #status                                                                                                                                                                                                                                      git status                                                                                                                                                                                                                                                                                                                                                                                                                                                                               #existing branches                                                                                                                                                                                                                           git branch [-a]                                                                                                                                                                                                                                                                                                                                                                                                                                                                          #new branch                                                                                                                                                                                                                                  git branch mithun                                                                                                                                                                                                                                                                                                                                                                                                                                                                #change to barnch                                                                                                                                                                                                                            git checkout mithun                                                                                                                                                                                                                                                                                                                                                                                                                                                                       HELP:                                                                                                                                                                                                                                        1. http://boopsboops.blogspot.de/2013/08/writing-scientific-papers-with-git-and.html  

LATEX

LATEX figure merge with tabular:\documentclass[a4paper,12pt]{article}\usepackage{graphicx}\usepackage{subcaption}
\begin{document}\begin{figure}[htb]\centering  \begin{tabular}{@{}cccc@{}}    \includegraphics[width=.23\textwidth]{example-image-a} &    \includegraphics[width=.23\textwidth]{example-image-b} &    \includegraphics[width=.23\textwidth]{example-image-c} &    \includegraphics[width=.23\textwidth]{example-image}   \\    \includegraphics[width=.23\textwidth]{example-image-a} &    \includegraphics[width=.23\textwidth]{example-image-b} &    \includegraphics[width=.23\textwidth]{example-image-c} &    \includegraphics[width=.23\textwidth]{example-image}   \\    \includegraphics[width=.23\textwidth]{example-image-a} &    \includegraphics[width=.23\textwidth]{example-image-b} &    \includegraphics[width=.23\textwidth]{example-image-c} &    \includegraphics[width=.23\textwidth]{example-image}   \\    \multicolumn{4}{c}{\includegraphics[width=.23\textwidth]{example-image-a}}  \end{tabular}  \caption{This is   some figure side by side}\end{figure}\end{document}with subfigure:
\documentclass[a4paper,12pt]{article}\usepackage{graphicx}\usepackage{subcaption}
\begin{document}\begin{figure}[htb]\centering  \begin{subfigure}[b]{.24\linewidth}    \centering    \includegraphics[width=.99\textwidth]{example-image-a}    \caption{A subfigure}\label{fig:1a}  \end{subfigure}%     \begin{subfigure}[b]{.24\linewidth}    \centering    \includegraphics[width=.99\textwidth]{example-image-b}    \caption{A subfigure}\label{fig:1b}  \end{subfigure}%    \caption{This is   lot of figures arranged side by side in matrix form with captions for each and a main caption}\label{fig:1}\end{figure}\end{document}Link: http://tex.stackexchange.com/questions/84889/combining-multiple-eps-files-into-a-single-figure

Gnuplot

gnuplot colormaps:http://ayapin-film.sakura.ne.jp/Gnuplot/Primer/Misc/colormap.htmlhttp://jswails.wikidot.com/gnuplot-color-schemes
gnuplot ternary operatorhttp://gnuplot.sourceforge.net/docs_4.2/node133.htmlhttp://www.phyast.pitt.edu/~zov1/gnuplot/html/statistics.html
Gnuplot contour :
set parametricset contour baseset view 0,0,1unset surfaceset cntrparam levels 5splot’results.dat’ using 1:2:3 with line
Some tricks with gnuplot:http://gnuplot-tricks.blogspot.de
Gnuplot 'every' keyword:
every I:J:K:L:M:N Line increment Data block increment The first line The first data block The last line The last data block every 2 plot every 2 line every ::3 plot from the 3-rd lines every ::3::5 plot from the 3-rd to 5-th lines every ::0::0 plot the first line only every 2::::6 plot the 1,3,5,7-th lines every :2 plot every 2 data block every :::5::8 plot from 5-th to 8-th data blocks 

Ramacolor plots

ramacolor --store stores average color for each residue for given state
for i in {1..71}; do ramacolor -d inner_5_8M.dih -s inner_5_8M.dih.cossin.clust/microstates --store ramastore/${i}.rc $i;done [can be parallelized]
ramacolor --load {1..30}.rc  --export ramacolor_md.pdf

Olangevin install

git clone mb1148@bmdlogin.physik.uni-freiburg.de:/u3/langevin/src/olangevin olangevingit branch working_b1 origin/working_b1git checkout working_b1
make cleanmake make installgit commit -a -m "compiled b1"

Boost

Boost install script
#!/bin/bash
GCC_LOC="/home/biswasm/programs/gcc730/bin"
#export AR="${GCC_LOC}/ar"export CC="${GCC_LOC}/gcc_730"export CPP="${GCC_LOC}/gcc_730 -E"export CXX="${GCC_LOC}/g++_730"export CXXCPP="${GCC_LOC}/g++_730 -E"
pushd boost_${BOOST_DL_VERSION} > /dev/null
# add our compiler to the end of the boost jam config file  
echo "using gcc : 7.3 : ${GCC_LOC}/g++_730 ; " >> ./tools/build/src/user-config.jam

#BOOST_LIBRARIES=filesystem,python,regex,system#CONFIGURE_OPTIONS="--with-python-version=2.7 --with-python-root=${PYTHON_LOC}/${OS}/${ARCH} --with-python=${PYTHON_LOC}/${OS}/${ARCH}/bin/python"
PREFIX="/home/biswasm/programs/boost168"
./bootstrap.sh --prefix=${PREFIX}               #--with-libraries=${BOOST_LIBRARIES} ${CONFIGURE_OPTIONS}
./b2 $CPPFLAGS --toolset=gcc
cmake with boost:
#!/bin/bash
BUILDDIR="/home/biswasm/programs/src/Clustering/build"PREFIXDIR="/home/biswasm/programs/clustering"GCC_LOC="/home/biswasm/programs/gcc730/bin"
export CC="${GCC_LOC}/gcc_730"export CXX="${GCC_LOC}/g++_730"
export BOOST_ROOT="/home/biswasm/programs/boost168"export BOOST_INCLUDE="/home/biswasm/programs/boost168/include"export BOOST_LIBDIR="/home/biswasm/programs/boost168/lib"export BOOST_OPTS="-DBOOST_ROOT=${BOOST_ROOT} -DBOOST_INCLUDEDIR=${BOOST_INCLUDE} -DBOOST_LIBRARYDIR=${BOOST_LIBDIR} -DCMAKE_INSTALL_PREFIX=${PREFIXDIR}"# -DCMAKE_C_COMPILER=gcc_730 -DCMAKE_CXX_COMPILER=g++_730"(cd ${BUILDDIR} && cmake .. ${BOOST_OPTS} -DCMAKE_C_COMPILER=/home/biswasm/programs/gcc730/bin/gcc_730 -DCMAKE_CXX_COMPILER=/home/biswasm/programs/gcc730/bin/g++_730)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/biswasm/programs/gcc730/lib64:/home/biswasm/programs/boost168/lib

Slurm job submission script

Slurm job array:#!/bin/bash#SBATCH --partition=test#SBATCH --constraint=dual#SBATCH --ntasks=12#SBATCH --cpus-per-task=1#SBATCH --mem-per-cpu=2000#SBATCH --time=00:05:00#SBATCH --array=0-11:12
source /home/agburghardt/biswas/progs/Gromacs/bin/GMXRCmydir=`pwd`
# Every 12-task block will be run on a separate node.
for I in $(seq 12); do     # This is the "global task number". Since we have an array of     # 192 tasks, J will range from 1 to 192.     J=$(($SLURM_ARRAY_TASK_ID+$I))
     cd dir${J}     # Put each task into background, so that tasks are executed     # concurrently.     mdrun -nt 1 -v -deffnm sim &     #touch myfile     cd $mydir
     # Wait a little before starting the next one.     #sleep 1done
# Wait for all child processes to terminate.wait
Multiple jobs:

#!/bin/bash#SBATCH --ntasks=16#SBATCH --time=01:10:00#SBATCH --mem-per-cpu=4096for i in `seq 1 $SLURM_NTASKS`dosrun --nodes=1 --ntasks=1 --cpus-per-task=1 sh SINGLEJOB.slurm &done# IMPORTANT must wait for all to finish, or all get killedwait

Scribbles

#set size 0.9,1

# enable macrosset macros# search for functions or data files in these directories#set loadpath '/usr/local/lib/gnuplot'
set pal defined ( 0 '#000096', 1.5 '#0004ff', 3.5 '#0090ff', \                  5.5 '#30ffc6', 6.0 '#94ff63', 7.5 '#ffe900', \                  9.0 '#ff6400' , 10.5 '#d10000', 12 '#840000' )

#set border lw 3
#ERRORBARS CAP LENGTHset bars 0.5
# add default line colors#set style line 1 lc rgb '#0060ad' lt 1 lw 3 pt 5   # blue#set style line 2 lc rgb '#dd181f' lt 1 lw 3 pt 7   # red
set style line 1 lc rgb "red"    lt 1 lw 4set style line 2 lc rgb "green"  lt 1 lw 4set style line 3 lc rgb "blue"   lt 1 lw 4set style line 4 lc rgb "cyan"   lt 1 lw 4set style line 5 lc rgb "violet" lt 1 lw 4set style line 6 lc rgb "orange" lt 1 lw 4set style line 7 lc rgb "black"  lt 1 lw 4set style line 10 lc rgb "#696969" lt 2 lw 6# DOTTED
set style line 11 lc rgb "red"    lt 2 lw 4 dt 3set style line 12 lc rgb "green"  lt 2 lw 4 dt 3set style line 13 lc rgb "blue"   lt 2 lw 4 dt 3set style line 14 lc rgb "cyan"   lt 2 lw 4 dt 3set style line 15 lc rgb "violet" lt 2 lw 4 dt 3set style line 16 lc rgb "orange" lt 2 lw 4 dt 3set style line 17 lc rgb "black"  lt 2 lw 4 dt 3# POINTS
set style line 21 lc rgb "red"    lt 1 pt -1 lw 2set style line 22 lc rgb "green"  lt 1 pt -1 lw 2set style line 23 lc rgb "blue"   lt 1 pt -1 lw 2set style line 24 lc rgb "cyan"   lt 1 pt -1 lw 2set style line 25 lc rgb "violet" lt 1 pt -1 lw 2set style line 26 lc rgb "orange" lt 1 pt -1 lw 2set style line 27 lc rgb "black"  lt 1 pt -1 lw 2
# ARROWS
set style arrow 1 nohead lc rgb "red" lt 0 lw 4set style arrow 2 nohead lc rgb "green" lt 0 lw 4set style arrow 3 nohead lc rgb "blue" lt 0 lw 4set style arrow 4 nohead lc rgb "black" lt 0 lw 4
# add macros to select the desired line style#BLUE = "1"#RED = "2"
# points: 5/square, 7/circle, 9/triangle up
# add macros to select a desired terminalWXT = "set terminal wxt size 350,262 enhanced font 'Verdana,10' \   persist"EPS = "set terminal postscript eps enhanced color font 'Helvetica,24'"PNG = "set terminal pngcairo size 350,262 enhanced font 'Verdana,10'"SVG = "set terminal svg size 350,262 fname \   'Verdana, Helvetica, Arial, sans-serif' fsize = 10"

gmx trjconv -fit rot+trans -s prod1.tpr -n index.ndx  -f prod1.xtc -o output.xtc

gmx editconf -ndef -f prod1.gro -n index.ndx -o prot_chol.gro

gmx trjconv -pbc mol -s prod1.tpr -n index.ndx -ur compact -center -f prod1.xtc -o output.xtc