UNRES-Dock ctest
[unres.git] / source / unres-dock / CMakeLists.txt
1
2
3 enable_language (Fortran)
4
5 set(UNRES_DOCK
6         generator.f
7 )
8
9
10 if (Fortran_COMPILER_NAME STREQUAL "gfortran")
11   set(CPPFLAGS "${CPPFLAGS} -DGFORTRAN") 
12 endif (Fortran_COMPILER_NAME STREQUAL "gfortran")
13
14
15 #=========================================
16 # Build the binaries
17 #=========================================
18 add_executable(UNRES_DOCK_BIN   ${UNRES_DOCK} )
19 set_target_properties(UNRES_DOCK_BIN PROPERTIES OUTPUT_NAME generator )
20 set_property(TARGET UNRES_DOCK_BIN PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
21
22
23 #=========================================
24 # Install Path
25 #=========================================
26 install(TARGETS UNRES_DOCK_BIN DESTINATION ${CMAKE_INSTALL_PREFIX}/unres-dock)
27
28 # Add tests
29
30 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
31   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
32      MESSAGE (STATUS "LAM MPI library detected")
33      set (boot_lam "-boot")
34   else()
35      set (boot_lam "")
36   endif()
37
38   if (UNRES_SRUN)
39    set (np "-n")
40    set (mpiexec "srun")
41   elseif(UNRES_MPIRUN)
42    set (np "-np")
43    set (mpiexec "mpirun")
44   else()
45    set (np "-np")
46    set (mpiexec "mpiexec")
47   endif()
48
49
50
51 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dock/
52       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*" )
53
54
55 if(UNRES_WITH_MPI)
56   if(UNRES_MD_FF STREQUAL "E0LL2Y")
57
58   set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
59   set(UNRES_WHAM_M_BIN "wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
60   set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
61
62 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
63 "#!/bin/sh
64 export POT=GB
65 export FGPROCS=$2
66 export PREFIX=$1
67 #-----------------------------------------------------------------------------
68 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
69 #-----------------------------------------------------------------------------
70 DD=${CMAKE_SOURCE_DIR}/PARAM
71 export BONDPAR=$DD/bond_AM1_ext_dum.parm
72 export THETPAR=$DD/theta_abinitio_old_ext.parm
73 export THETPARPDB=$DD/thetaml_ext.5parm
74 export ROTPARPDB=$DD/scgauss_ext.parm
75 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
76 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
77 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
78 export ELEPAR=$DD/electr_631Gdp_ext.parm
79 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
80 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
81 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
82 export SCPPAR=$DD/scp_ext.parm
83 export PATTERN=$DD/patterns.cart
84 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
85 #-----------------------------------------------------------------------------
86 echo CTEST_FULL_OUTPUT
87 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
88 ./mremd_check.sh $1 
89 ")
90
91 #
92 # File permissions workaround
93 #
94 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
95         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
96         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
97 )
98
99 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh
100 "#!/bin/sh
101 export POT=GB
102 export PREFIX=$1
103 #-----------------------------------------------------------------------------
104 WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_WHAM_M_BIN}
105 #-----------------------------------------------------------------------------
106 DD=${CMAKE_SOURCE_DIR}/PARAM
107 export BONDPAR=$DD/bond_AM1_ext_dum.parm
108 export THETPAR=$DD/theta_abinitio_old_ext.parm
109 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
110 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
111 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
112 export ELEPAR=$DD/electr_631Gdp_ext.parm
113 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
114 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
115 export SCPPAR=$DD/scp_ext.parm
116 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
117 export THETPARPDB=$DD/thetaml_ext.5parm
118 export ROTPARPDB=$DD/scgauss_ext.parm
119 export PATTERN=$DD/patterns.cart
120 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
121 export CONTFUNC=GB
122 export SIDEP=$DD/contact_ext.3.parm
123 export SCRATCHDIR=.
124 #-----------------------------------------------------------------------------
125 echo CTEST_FULL_OUTPUT
126 ${mpiexec} ${boot_lam} ${np} $2 $WHAM_BIN 
127 ./wham_check.sh $1
128 ")
129
130 #
131 # File permissions workaround
132 #
133 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh 
134         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
135         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
136 )
137
138 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh
139 "#!/bin/sh
140 export POT=GB
141 export INPUT=$1
142 export INTIN=wham
143 export OUTPUT=clust
144 export PDB=CART
145 export COORD=CX
146 export PRINTCOOR=PRINT_PDB
147 #-----------------------------------------------------------------------------
148 CLUSTER_WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_CLUSTER_WHAM_M_BIN}
149 #-----------------------------------------------------------------------------
150 DD=${CMAKE_SOURCE_DIR}/PARAM
151 export BONDPAR=$DD/bond_AM1_ext_dum.parm
152 export THETPAR=$DD/theta_abinitio_old_ext.parm
153 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
154 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
155 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
156 export ELEPAR=$DD/electr_631Gdp_ext.parm
157 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
158 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
159 export SCPPAR=$DD/scp_ext.parm
160 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
161 export THETPARPDB=$DD/thetaml_ext.5parm
162 export ROTPARPDB=$DD/scgauss_ext.parm
163 export PATTERN=$DD/patterns.cart
164 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
165 export CONTFUNC=GB
166 export SIDEP=$DD/contact_ext.3.parm
167 export SCRATCHDIR=.
168 #-----------------------------------------------------------------------------
169 echo CTEST_FULL_OUTPUT
170 ${mpiexec} ${boot_lam} ${np} $2 $CLUSTER_WHAM_BIN 
171 ./cluster_wham_check.sh $1
172 ")
173
174 #
175 # File permissions workaround
176 #
177 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh 
178         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
179         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
180 )
181
182
183     add_test(NAME UNRES_M_DOCK_generator COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_DOCK.sh 2WFU_A.pdb 2WFU_B.pdb )
184     add_test(NAME UNRES_M_DOCK_mremd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 2WFU_dock 1 8 )
185     add_test(NAME UNRES_M_DOCK_wham COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/wham_mpi_E0LL2Y.sh wham 2)
186     add_test(NAME UNRES_M_DOCK_cluster COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/cluster_wham_mpi_E0LL2Y.sh cluster 2 )
187
188
189   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
190 endif(UNRES_WITH_MPI)