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