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