a6dced825c56fbb22cce207162fee2e0c504e610
[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
52
53 if(UNRES_WITH_MPI)
54   if(UNRES_MD_FF STREQUAL "E0LL2Y")
55
56   FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dock/
57       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*" )
58
59    if (UNRES_5D)
60    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
61    set(UNRES_WHAM_M_BIN "wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
62    set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
63    else()
64    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
65    set(UNRES_WHAM_M_BIN "wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
66    set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
67    endif()
68
69 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
70 "#!/bin/sh
71 export POT=GB
72 export FGPROCS=$2
73 export PREFIX=$1
74 #-----------------------------------------------------------------------------
75 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
76 #-----------------------------------------------------------------------------
77 DD=${CMAKE_SOURCE_DIR}/PARAM
78 export BONDPAR=$DD/bond_AM1_ext_dum.parm
79 export THETPAR=$DD/theta_abinitio_old_ext.parm
80 export THETPARPDB=$DD/thetaml_ext.5parm
81 export ROTPARPDB=$DD/scgauss_ext.parm
82 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
83 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
84 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
85 export ELEPAR=$DD/electr_631Gdp_ext.parm
86 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
87 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
88 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
89 export SCPPAR=$DD/scp_ext.parm
90 export PATTERN=$DD/patterns.cart
91 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
92 #-----------------------------------------------------------------------------
93 echo CTEST_FULL_OUTPUT
94 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
95 ./mremd_check.sh $1 
96 ")
97
98 #
99 # File permissions workaround
100 #
101 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
102         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
103         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
104 )
105
106 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh
107 "#!/bin/sh
108 export POT=GB
109 export PREFIX=$1
110 #-----------------------------------------------------------------------------
111 WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_WHAM_M_BIN}
112 #-----------------------------------------------------------------------------
113 DD=${CMAKE_SOURCE_DIR}/PARAM
114 export BONDPAR=$DD/bond_AM1_ext_dum.parm
115 export THETPAR=$DD/theta_abinitio_old_ext.parm
116 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
117 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
118 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
119 export ELEPAR=$DD/electr_631Gdp_ext.parm
120 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
121 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
122 export SCPPAR=$DD/scp_ext.parm
123 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
124 export THETPARPDB=$DD/thetaml_ext.5parm
125 export ROTPARPDB=$DD/scgauss_ext.parm
126 export PATTERN=$DD/patterns.cart
127 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
128 export CONTFUNC=GB
129 export SIDEP=$DD/contact_ext.3.parm
130 export SCRATCHDIR=.
131 #-----------------------------------------------------------------------------
132 echo CTEST_FULL_OUTPUT
133 ${mpiexec} ${boot_lam} ${np} $2 $WHAM_BIN 
134 ./wham_check.sh $1
135 ")
136
137 #
138 # File permissions workaround
139 #
140 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh 
141         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
142         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
143 )
144
145 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh
146 "#!/bin/sh
147 export POT=GB
148 export INPUT=$1
149 export INTIN=wham
150 export OUTPUT=clust
151 export PDB=CART
152 export COORD=CX
153 export PRINTCOOR=PRINT_PDB
154 #-----------------------------------------------------------------------------
155 CLUSTER_WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_CLUSTER_WHAM_M_BIN}
156 #-----------------------------------------------------------------------------
157 DD=${CMAKE_SOURCE_DIR}/PARAM
158 export BONDPAR=$DD/bond_AM1_ext_dum.parm
159 export THETPAR=$DD/theta_abinitio_old_ext.parm
160 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
161 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
162 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
163 export ELEPAR=$DD/electr_631Gdp_ext.parm
164 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
165 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
166 export SCPPAR=$DD/scp_ext.parm
167 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
168 export THETPARPDB=$DD/thetaml_ext.5parm
169 export ROTPARPDB=$DD/scgauss_ext.parm
170 export PATTERN=$DD/patterns.cart
171 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
172 export CONTFUNC=GB
173 export SIDEP=$DD/contact_ext.3.parm
174 export SCRATCHDIR=.
175 #-----------------------------------------------------------------------------
176 echo CTEST_FULL_OUTPUT
177 ${mpiexec} ${boot_lam} ${np} $2 $CLUSTER_WHAM_BIN |uniq
178 ./cluster_wham_check.sh $1
179 ")
180
181 #
182 # File permissions workaround
183 #
184 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh 
185         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
186         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
187 )
188
189
190     add_test(NAME UNRES_M_DOCK_generator COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_DOCK.sh 2WFU_A.pdb 2WFU_B.pdb )
191     add_test(NAME UNRES_M_DOCK_mremd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 2WFU_dock 1 8 )
192     add_test(NAME UNRES_M_DOCK_wham COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/wham_mpi_E0LL2Y.sh wham 2)
193     add_test(NAME UNRES_M_DOCK_cluster COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/cluster_wham_mpi_E0LL2Y.sh cluster 2 )
194
195
196   elseif(UNRES_MD_FF STREQUAL "NEWCORR")
197
198    FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dock_newcorr/
199       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*" )
200
201    if (UNRES_5D)
202    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
203    set(UNRES_WHAM_M_BIN "wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
204    set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_HCD-5D.exe")
205    else()
206    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
207    set(UNRES_WHAM_M_BIN "wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
208    set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
209    endif()
210
211 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
212 "#!/bin/sh
213 export POT=GB
214 export FGPROCS=$2
215 export PREFIX=$1
216 #-----------------------------------------------------------------------------
217 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
218 #-----------------------------------------------------------------------------
219 DD=${CMAKE_SOURCE_DIR}/PARAM
220 export BONDPAR=$DD/bond_AM1_ext_dum.parm
221 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
222 export THETPARPDB=$DD/thetaml_ext.5parm
223 export ROTPARPDB=$DD/scgauss_ext.parm
224 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
225 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
226 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm
227 export ELEPAR=$DD/electr_631Gdp_ext.parm
228 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
229 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
230 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
231 export SCPPAR=$DD/scp_ext.parm
232 export PATTERN=$DD/patterns.cart
233 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
234 #-----------------------------------------------------------------------------
235 echo CTEST_FULL_OUTPUT
236 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
237 ./mremd_check.sh $1 
238 ")
239
240 #
241 # File permissions workaround
242 #
243 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
244         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
245         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
246 )
247
248 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh
249 "#!/bin/sh
250 export POT=GB
251 export PREFIX=$1
252 #-----------------------------------------------------------------------------
253 WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_WHAM_M_BIN}
254 #-----------------------------------------------------------------------------
255 DD=${CMAKE_SOURCE_DIR}/PARAM
256 export BONDPAR=$DD/bond_AM1_ext_dum.parm
257 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
258 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
259 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
260 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm
261 export ELEPAR=$DD/electr_631Gdp_ext.parm
262 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
263 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
264 export SCPPAR=$DD/scp_ext.parm
265 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
266 export THETPARPDB=$DD/thetaml_ext.5parm
267 export ROTPARPDB=$DD/scgauss_ext.parm
268 export PATTERN=$DD/patterns.cart
269 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
270 export CONTFUNC=GB
271 export SIDEP=$DD/contact_ext.3.parm
272 export SCRATCHDIR=.
273 #-----------------------------------------------------------------------------
274 echo CTEST_FULL_OUTPUT
275 ${mpiexec} ${boot_lam} ${np} $2 $WHAM_BIN 
276 ./wham_check.sh $1
277 ")
278
279 #
280 # File permissions workaround
281 #
282 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/wham_mpi_E0LL2Y.sh 
283         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
284         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
285 )
286
287 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh
288 "#!/bin/sh
289 export POT=GB
290 export INPUT=$1
291 export INTIN=wham
292 export OUTPUT=clust
293 export PDB=CART
294 export COORD=CX
295 export PRINTCOOR=PRINT_PDB
296 #-----------------------------------------------------------------------------
297 CLUSTER_WHAM_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_CLUSTER_WHAM_M_BIN}
298 #-----------------------------------------------------------------------------
299 DD=${CMAKE_SOURCE_DIR}/PARAM
300 export BONDPAR=$DD/bond_AM1_ext_dum.parm
301 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
302 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
303 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
304 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm
305 export ELEPAR=$DD/electr_631Gdp_ext.parm
306 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
307 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
308 export SCPPAR=$DD/scp_ext.parm
309 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
310 export THETPARPDB=$DD/thetaml_ext.5parm
311 export ROTPARPDB=$DD/scgauss_ext.parm
312 export PATTERN=$DD/patterns.cart
313 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
314 export CONTFUNC=GB
315 export SIDEP=$DD/contact_ext.3.parm
316 export SCRATCHDIR=.
317 #-----------------------------------------------------------------------------
318 echo CTEST_FULL_OUTPUT
319 ${mpiexec} ${boot_lam} ${np} $2 $CLUSTER_WHAM_BIN |uniq
320 ./cluster_wham_check.sh $1
321 ")
322
323 #
324 # File permissions workaround
325 #
326 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/cluster_wham_mpi_E0LL2Y.sh 
327         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
328         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
329 )
330
331
332     add_test(NAME UNRES_M_DOCK_generator COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_DOCK.sh 2WFU_A.pdb 2WFU_B.pdb )
333     add_test(NAME UNRES_M_DOCK_mremd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 2WFU_dock 1 8 )
334     add_test(NAME UNRES_M_DOCK_wham COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/wham_mpi_E0LL2Y.sh wham 2)
335     add_test(NAME UNRES_M_DOCK_cluster COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/cluster_wham_mpi_E0LL2Y.sh cluster 2 )
336
337   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
338 endif(UNRES_WITH_MPI)