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