ctest dfa
[unres.git] / source / unres / src_MD-M-SAXS-homology / CMakeLists.txt
1 #
2 # CMake project file for UNRES with MD for single chains
3
4
5 enable_language (Fortran)
6
7 #================================
8 # Set source file lists
9 #================================
10 set(UNRES_MDM_SRC0 
11          add.f 
12          arcos.f
13          banach.f
14          bank.F 
15          blas.f 
16          bond_move.f 
17          cartder.F 
18          cartprint.f 
19          chainbuild.F 
20          check_bond.f 
21          checkder_p.F 
22          check_sc_distr.f
23          compare_s1.F 
24          contact.f 
25          convert.f 
26          cored.f
27          csa.f 
28          dihed_cons.F
29          diff12.f
30          distfit.f 
31          djacob.f
32          econstr_local.F
33          eigen.f 
34          elecont.f 
35          energy_split-sep.F 
36          entmcm.F
37          fitsq.f 
38          gauss.f 
39          gen_rand_conf.F
40          geomout.F 
41          gnmr1.f
42          indexx.f 
43          initialize_p.F 
44          intcartderiv.F
45          intcor.f 
46          intlocal.f 
47          int_to_cart.f 
48          kinetic_lesyng.f 
49          lagrangian_lesyng.F
50          local_move.f 
51          map.f 
52          matmult.f 
53          mc.F 
54          mcm.F 
55          MD_A-MTS.F 
56          minimize_p.F
57          minim_jlee.F 
58          minim_mcmf.F 
59          misc.f 
60          moments.f
61          MP.F 
62          MREMD.F 
63          muca_md.f 
64          newconf.f
65          parmread.F 
66          permut.F
67          pinorm.f 
68          printmat.f 
69          prng_32.F
70          q_measure.F 
71          ran.f
72          randgens.f 
73          rattle.F 
74          readpdb.F
75          readrtns_CSA.F 
76          refsys.f 
77          regularize.F
78          rescode.f 
79          rmdd.f 
80          rmsd.F 
81          sc_move.F 
82          shift.F
83          sort.f 
84          stochfric.F 
85          sumsld.f 
86          surfatom.f 
87          test.F 
88          thread.F 
89          timing.F
90          together.F
91          unres.F
92          ssMD.F
93          mygauss.f
94          econstr_qlike.F
95          econstrq-PMF.F
96          rmscalc.F
97          chain_symmetry.F
98          seq2chains.f
99          iperm.f
100          PMFprocess.F
101 )
102
103 set(UNRES_MDM_SRC3 energy_p_new_barrier.F energy_p_new-sep_barrier.F gradient_p.F )
104
105 set(UNRES_MDM_PP_SRC
106         bank.F 
107         cartder.F 
108         chainbuild.F 
109         checkder_p.F 
110         compare_s1.F
111         cored.f
112         csa.f 
113         dihed_cons.F
114         diff12.f 
115         econstr_local.F 
116         energy_p_new.F
117         energy_p_new_barrier.F 
118         energy_p_new-sep_barrier.F 
119         energy_split-sep.F 
120         entmcm.F 
121         gen_rand_conf.F
122         geomout.F 
123         gradient_p.F 
124         intcor.f
125         initialize_p.F 
126         intcartderiv.F 
127         lagrangian_lesyng.F 
128         matmult.f
129         mc.F 
130         mcm.F 
131         MD_A-MTS.F
132         minimize_p.F 
133         minim_jlee.F
134         minim_mcmf.F 
135         MP.F 
136         MREMD.F
137         newconf.f 
138         parmread.F 
139         permut.F
140         prng_32.F
141         q_measure1.F 
142         q_measure3.F 
143         q_measure.F
144         ran.f
145         rattle.F 
146         readpdb.F 
147         readrtns_CSA.F 
148         regularize.F
149         rmdd.f 
150         rmsd.F 
151         sc_move.F
152         shift.F 
153         stochfric.F
154         sumsld.f 
155         test.F 
156         thread.F 
157         timing.F
158         together.F
159         unres.F
160         ssMD.F
161         econstr_qlike.F
162         econstrq-PMF.F
163         rmscalc.F
164         chain_symmetry.F
165         PMFprocess.F
166
167
168 if(UNRES_DFA)
169  set(UNRES_MDM_SRC0 ${UNRES_MDM_SRC0} dfa.F )
170  set(UNRES_MDM_PP_SRC ${UNRES_MDM_PP_SRC} dfa.F )
171 endif(UNRES_DFA)
172
173
174 #================================================
175 # Set compiler flags for different sourcefiles  
176 #================================================
177 if (Fortran_COMPILER_NAME STREQUAL "ifort")
178   set(FFLAGS0 "-ip -w -mcmodel=medium -shared-intel" ) 
179 #  set(FFLAGS1 "-w -g -d2 -CA -CB" ) 
180 #  set(FFLAGS2 "-w -g -00 ")
181   set(FFLAGS3 "-w -ipo -mcmodel=medium -shared-intel" )
182 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
183   set(FFLAGS0 "-std=legacy -I. -mcmodel=medium" ) 
184 #  set(FFLAGS1 "-std=legacy -g -I. " ) 
185 #  set(FFLAGS2 "-std=legacy -I. ")
186   set(FFLAGS3 "-std=legacy -I. -mcmodel=medium" )
187 elseif (Fortran_COMPILER_NAME STREQUAL "pgf90")
188   set(FFLAGS0 "-mcmodel=medium -Mlarge_arrays -I. " )
189   set(FFLAGS3 "-mcmodel=medium -Mlarge_arrays -I. " )
190 else ()
191   set(FFLAGS0 "-I. -mcmodel=medium" )
192   set(FFLAGS3 "-I. -mcmodel=medium" )
193 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
194
195
196 # Add MPI compiler flags
197 if(UNRES_WITH_MPI)
198   set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}")
199 #  set(FFLAGS1 "${FFLAGS1} -I${MPI_Fortran_INCLUDE_PATH}")
200 #  set(FFLAGS2 "${FFLAGS2} -I${MPI_Fortran_INCLUDE_PATH}")
201   set(FFLAGS3 "${FFLAGS3} -I${MPI_Fortran_INCLUDE_PATH}")
202 endif(UNRES_WITH_MPI)
203
204 set_property(SOURCE ${UNRES_MDM_SRC0} APPEND PROPERTY COMPILE_FLAGS ${FFLAGS0} )
205 #set_property(SOURCE ${UNRES_MD_SRC1} PROPERTY COMPILE_FLAGS ${FFLAGS1} )
206 #set_property(SOURCE ${UNRES_MD_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} )
207 set_property(SOURCE ${UNRES_MDM_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
208
209 #=========================================
210 # Settings for GAB force field 
211 #=========================================
212 if(UNRES_MD_FF STREQUAL "GAB" )
213   # set preprocesor flags   
214   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" )
215
216 #=========================================
217 #  Settings for E0LL2Y force field
218 #=========================================
219 elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
220   # set preprocesor flags   
221   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" )
222 elseif(UNRES_MD_FF STREQUAL "4P")
223   set(CPPFLAGS "UNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" )
224 elseif(UNRES_MD_FF STREQUAL "NEWCORR")
225   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD" )
226 endif(UNRES_MD_FF STREQUAL "GAB")
227
228 if(UNRES_DFA)
229  set(CPPFLAGS "${CPPFLAGS} -DDFA")
230 endif(UNRES_DFA)
231
232
233 #=========================================
234 # System specific flags
235 #=========================================
236 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
237   set(CPPFLAGS "${CPPFLAGS} -DLINUX") 
238 endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
239
240
241 #=========================================
242 # Compiler specific flags
243 #=========================================
244
245 if (Fortran_COMPILER_NAME STREQUAL "ifort")
246   # Add ifort preprocessor flags
247   set(CPPFLAGS "${CPPFLAGS} -DPGI") 
248 elseif (Fortran_COMPILER_NAME STREQUAL "f95")
249   # Add new gfortran flags
250   set(CPPFLAGS "${CPPFLAGS} -DG77") 
251 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
252   # Add old gfortran flags
253   set(CPPFLAGS "${CPPFLAGS} -DG77") 
254 elseif (Fortran_COMPILER_NAME STREQUAL "pgf90")
255   set(CPPFLAGS "${CPPFLAGS} -DPGI")
256   FILE(COPY ${CMAKE_SOURCE_DIR}/source/lib/isnan_pgi.f DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
257   list(APPEND UNRES_MDM_SRC0 ${CMAKE_CURRENT_BINARY_DIR}/isnan_pgi.f)
258 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
259
260
261 #=========================================
262 # Add MPI preprocessor flags
263 #=========================================
264 if (UNRES_WITH_MPI)
265   set(CPPFLAGS "${CPPFLAGS} -DMP -DMPI") 
266 endif(UNRES_WITH_MPI)
267
268
269 #=========================================
270 # add 64-bit specific preprocessor flags
271 #=========================================
272 if (architektura STREQUAL "64")
273   set(CPPFLAGS "${CPPFLAGS} -DAMD64")
274 endif (architektura STREQUAL "64")
275
276
277
278 # Apply preprocesor flags to *.F files
279 set_property(SOURCE ${UNRES_MDM_PP_SRC} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )  
280
281 # Apply preprocesor flags to proc_proc.c
282 #set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "SGI" )  
283
284
285 #========================================
286 #  Setting binary name
287 #========================================
288 if(UNRES_WITH_MPI) 
289   # binary with mpi
290   if(UNRES_DFA)
291    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_DFA.exe")
292   else(UNRES_DFA)
293    set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
294   endif(UNRES_DFA)
295 else(UNRES_WITH_MPI)
296   # binary without mpi
297   set(UNRES_BIN "unresMD-mult_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe")
298 endif(UNRES_WITH_MPI)  
299
300 #=========================================
301 # cinfo.f workaround for cmake
302 #=========================================
303 # get the current date  
304 TODAY(DATE)
305 # generate cinfo.f
306 set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f")
307 FILE(WRITE ${CINFO}
308 "C CMake generated file
309        subroutine cinfo
310        include 'COMMON.IOUNITS'
311        write(iout,*)'++++ Compile info ++++'
312        write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}'
313 ")
314
315 CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" )
316 CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" )
317 CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" )
318 CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" )
319 CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" )
320 CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" )
321 CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}")
322
323 FILE(APPEND ${CINFO} 
324 "       write(iout,*)'++++ End of compile info ++++'  
325        return 
326        end ")
327
328
329 # add include path
330 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f PROPERTY COMPILE_FLAGS "${FFLAGS0} -I${CMAKE_CURRENT_SOURCE_DIR}")
331
332 #=========================================
333 # Set full unres MD-M sources
334 #=========================================
335 set(UNRES_MDM_SRCS ${UNRES_MDM_SRC0} ${UNRES_MDM_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f )
336
337 #=========================================
338 # Build the binary
339 #=========================================
340 add_executable(UNRES_BIN-MD-M ${UNRES_MDM_SRCS} )
341 set_target_properties(UNRES_BIN-MD-M PROPERTIES OUTPUT_NAME ${UNRES_BIN})
342 set_property(TARGET UNRES_BIN-MD-M PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
343 #add_dependencies (${UNRES_BIN} ${UNRES_XDRFLIB})
344
345 #=========================================
346 # Link libraries
347 #=========================================
348 # link MPI library (libmpich.a)  
349 if(UNRES_WITH_MPI)
350   target_link_libraries( UNRES_BIN-MD-M ${MPI_Fortran_LIBRARIES} )
351 endif(UNRES_WITH_MPI)
352 # link libxdrf.a 
353 #message("UNRES_XDRFLIB=${UNRES_XDRFLIB}")
354 target_link_libraries( UNRES_BIN-MD-M xdrf )
355
356 #=========================================
357 # Install Path
358 #=========================================
359 install(TARGETS UNRES_BIN-MD-M DESTINATION ${CMAKE_INSTALL_PREFIX}/unres/MD)
360
361 #=========================================
362 # TESTS 
363 #=========================================
364
365 #=========================================
366 # Generate data test files
367 #=========================================
368 #  test_single_ala.sh
369 #=========================================
370
371 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh
372 "#!/bin/sh
373 export POT=GB
374 export PREFIX=ala10
375 #-----------------------------------------------------------------------------
376 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
377 #-----------------------------------------------------------------------------
378 DD=${CMAKE_SOURCE_DIR}/PARAM
379 export BONDPAR=$DD/bond.parm
380 export THETPAR=$DD/thetaml.5parm
381 export ROTPAR=$DD/scgauss.parm
382 export TORPAR=$DD/torsion_631Gdp.parm
383 export TORDPAR=$DD/torsion_double_631Gdp.parm
384 export ELEPAR=$DD/electr_631Gdp.parm
385 export SIDEPAR=$DD/sc_GB_opt.1gab_3S_qclass5no310-shan2-sc-16-10-8k
386 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
387 export SCPPAR=$DD/scp.parm
388 export SCCORPAR=$DD/sccor_pdb_shelly.dat
389 export PATTERN=$DD/patterns.cart
390 #-----------------------------------------------------------------------------
391 $UNRES_BIN
392 ")
393
394 #
395 # File permissions workaround
396 #
397 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh 
398         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
399         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
400 )
401
402
403
404 #=========================================
405 #  ala10.inp
406 #=========================================
407
408 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ala10.inp
409 "ala10 unblocked
410 SEED=-1111333 MD ONE_LETTER rescale_mode=2 
411 nstep=15000 ntwe=100 ntwx=1000 dt=0.1 lang=0 tbf t_bath=300 damax=1.0          &
412 reset_moment=1000 reset_vel=1000
413 WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873            &
414 WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000        &
415 WCORR6=0.00000 WEL_LOC=0.16036 WTURN3=1.68722 WTURN4=0.66230 WTURN6=0.00000    &
416 WVDWPP=0.11371 WHPB=1.00000                                                    &
417 CUTOFF=7.00000 WCORR4=0.00000
418 12
419 XAAAAAAAAAAX 
420  0
421  0
422    90.0000   90.0000   90.0000  90.000   90.000   90.000   90.000   90.000 
423    90.0000   90.0000
424   180.0000  180.0000  180.0000 180.000  180.000  180.000  180.000  180.000
425   180.0000
426   110.0000  110.0000  110.0000 100.000  110.000  100.000  110.000  110.000 
427   110.0000  110.0000
428  -120.0000 -120.0000 -120.000 -120.000 -120.000 -120.000 -120.000 -120.000
429  -120.0000 -120.0000
430 ")
431
432 if(UNRES_CSA_FF STREQUAL "4P")
433
434 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_4P.inp
435         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
436
437 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_local_4P.inp
438         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
439
440 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_local_4P.CSA.native.int
441         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
442
443
444 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/csa_energy_check.sh
445         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
446         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
447 )
448
449
450 #=========================================
451 #  test_csa_4P.sh
452 #=========================================
453
454 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_4P.sh
455 "#!/bin/sh
456 export POT=GB
457 export FGPROCS=1
458 export PREFIX=$1
459 #-----------------------------------------------------------------------------
460 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
461 #-----------------------------------------------------------------------------
462 DD=${CMAKE_SOURCE_DIR}/PARAM
463 export BONDPAR=$DD/bond.parm
464 export THETPAR=$DD/thetaml.5parm
465 export ROTPAR=$DD/scgauss.parm
466 export TORPAR=$DD/torsion_631Gdp.parm
467 export TORDPAR=$DD/torsion_double_631Gdp.parm
468 export ELEPAR=$DD/electr_631Gdp.parm
469 export SIDEPAR=$DD/sc_GB_opt.4P5_iter33_3r
470 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
471 #export SCCORPAR=$DD/rotcorr_AM1.parm
472 export SCCORPAR=$DD/sccor_am1_pawel.dat
473 export SCPPAR=$DD/scp.parm
474 export PATTERN=$DD/patterns.cart
475 export PRINT_PARM=NO
476 #-----------------------------------------------------------------------------
477 echo CTEST_FULL_OUTPUT
478 $UNRES_BIN
479 ./csa_energy_check.sh $1
480 ")
481
482 #
483 # File permissions workaround
484 #
485 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_4P.sh
486         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
487         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
488 )
489 endif(UNRES_CSA_FF STREQUAL "4P")
490
491 if(UNRES_CSA_FF STREQUAL "E0LL2Y")
492
493 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa.inp
494         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
495
496 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_local.inp
497         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
498
499 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_local.CSA.native.int
500         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
501
502
503 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/csa_energy_check.sh
504         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
505         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
506 )
507
508
509 #=========================================
510 #  test_csa_E0LL2Y.sh
511 #=========================================
512
513 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_E0LL2Y.sh
514 "#!/bin/sh
515 export POT=GB
516 export FGPROCS=1
517 export PREFIX=$1
518 #-----------------------------------------------------------------------------
519 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
520 #-----------------------------------------------------------------------------
521 DD=${CMAKE_SOURCE_DIR}/PARAM
522 export BONDPAR=$DD/bond_AM1_ext_dum.parm
523 export THETPAR=$DD/theta_abinitio_old_ext.parm
524 export THETPARPDB=$DD/thetaml_ext.5parm
525 export ROTPARPDB=$DD/scgauss_ext.parm
526 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
527 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
528 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
529 export ELEPAR=$DD/electr_631Gdp_ext.parm
530 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
531 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
532 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
533 export SCPPAR=$DD/scp_ext.parm
534 export PATTERN=$DD/patterns.cart
535 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
536 export PRINT_PARM=NO
537 #-----------------------------------------------------------------------------
538 echo CTEST_FULL_OUTPUT
539 $UNRES_BIN |grep -v GenSide
540 ./csa_energy_check.sh $1
541 ")
542
543 #
544 # File permissions workaround
545 #
546 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_E0LL2Y.sh
547         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
548         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
549 )
550 endif(UNRES_CSA_FF STREQUAL "E0LL2Y")
551
552
553
554 if(UNRES_MD_FF STREQUAL "E0LL2Y")
555
556 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota.pdb
557         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
558
559 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres.pdb
560         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
561
562 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_ENE_m.inp
563         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
564
565 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_MIN_CART.inp
566         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
567
568 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_micro.inp
569         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
570
571 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_INT.inp
572         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
573
574 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_REGULAR_INT.inp
575         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
576
577 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_B.inp
578         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
579
580 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_L.inp
581         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
582
583 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_NH.inp
584         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
585
586
587 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y.pdb
588         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
589
590 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_remd.inp
591         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
592
593 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0_min.inp
594         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
595
596 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0.pdb
597         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
598
599 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut.pdb
600         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
601
602 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut_unres.pdb
603         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
604
605 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-ber.inp
606         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
607
608 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-ene.inp
609         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
610
611 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-lang.inp
612         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
613
614 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-micro.inp
615         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
616
617 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-min.inp
618         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
619
620 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres_energy_check_mult.sh
621         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
622         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
623 )
624
625 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_fit_hist.py
626         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
627         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
628 )
629
630 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
631         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
632         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
633 )
634
635 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_plot.py
636         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
637         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
638 )
639
640 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
641         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
642
643 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_CHECKGRAD.inp
644         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
645
646 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1DKZcut-checkgrad.inp
647         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
648
649 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/homology_mult/
650       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*" )
651
652
653 #=========================================
654 #  test_prota_E0LL2Y.sh
655 #=========================================
656
657 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh
658 "#!/bin/sh
659 export POT=GB
660 export FGPROCS=$2
661 export PREFIX=$1
662 #-----------------------------------------------------------------------------
663 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
664 #-----------------------------------------------------------------------------
665 DD=${CMAKE_SOURCE_DIR}/PARAM
666 export BONDPAR=$DD/bond_AM1_ext_dum.parm
667 export THETPAR=$DD/theta_abinitio_old_ext.parm
668 export THETPARPDB=$DD/thetaml_ext.5parm
669 export ROTPARPDB=$DD/scgauss_ext.parm
670 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
671 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
672 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
673 export ELEPAR=$DD/electr_631Gdp_ext.parm
674 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
675 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
676 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
677 export SCPPAR=$DD/scp_ext.parm
678 export PATTERN=$DD/patterns.cart
679 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
680 #-----------------------------------------------------------------------------
681 echo CTEST_FULL_OUTPUT
682 $UNRES_BIN
683 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
684 ")
685
686 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
687   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
688      MESSAGE (STATUS "LAM MPI library detected")
689      set (boot_lam "-boot")
690   else()
691      set (boot_lam "")
692   endif()
693
694   if (UNRES_SRUN)
695    set (np "-n")
696    set (mpiexec "srun")
697   elseif(UNRES_MPIRUN)
698    set (np "-np")
699    set (mpiexec "mpirun")
700   else()
701    set (np "-np")
702    set (mpiexec "mpiexec")
703   endif()
704
705
706 #
707 # File permissions workaround
708 #
709 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh 
710         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
711         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
712 )
713
714 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
715 "#!/bin/sh
716 export POT=GB
717 export FGPROCS=$2
718 export PREFIX=$1
719 #-----------------------------------------------------------------------------
720 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
721 #-----------------------------------------------------------------------------
722 DD=${CMAKE_SOURCE_DIR}/PARAM
723 export BONDPAR=$DD/bond_AM1_ext_dum.parm
724 export THETPAR=$DD/theta_abinitio_old_ext.parm
725 export THETPARPDB=$DD/thetaml_ext.5parm
726 export ROTPARPDB=$DD/scgauss_ext.parm
727 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
728 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
729 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
730 export ELEPAR=$DD/electr_631Gdp_ext.parm
731 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
732 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
733 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
734 export SCPPAR=$DD/scp_ext.parm
735 export PATTERN=$DD/patterns.cart
736 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
737 #-----------------------------------------------------------------------------
738 echo CTEST_FULL_OUTPUT
739 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
740 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
741 ")
742
743 #
744 # File permissions workaround
745 #
746 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
747         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
748         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
749 )
750
751 if(UNRES_DFA)
752 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dfa
753         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
754
755 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
756         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa )
757
758 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
759         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa )
760
761
762 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres_energy_check_mult.sh
763         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa
764         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
765 )
766
767 endif()
768
769
770 endif(UNRES_MD_FF STREQUAL "E0LL2Y")
771
772
773 if(UNRES_CSA_FF STREQUAL "NEWCORR")
774
775 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_csa.inp
776         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
777
778 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_csa_local.inp
779         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
780
781 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_csa_local.CSA.native.int
782         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
783
784
785 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/csa_energy_check.sh
786         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
787         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
788 )
789
790
791 #=========================================
792 #  test_csa_E0LL2Y.sh
793 #=========================================
794
795 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_E0LL2Y.sh
796 "#!/bin/sh
797 export POT=GB
798 export FGPROCS=1
799 export PREFIX=$1
800 #-----------------------------------------------------------------------------
801 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
802 #-----------------------------------------------------------------------------
803 DD=${CMAKE_SOURCE_DIR}/PARAM
804 export BONDPAR=$DD/bond_AM1_ext_dum.parm
805 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
806 export THETPARPDB=$DD/thetaml_ext.5parm
807 export ROTPARPDB=$DD/scgauss_ext.parm
808 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
809 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
810 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm        
811 export ELEPAR=$DD/electr_631Gdp_ext.parm
812 export SIDEPAR=$DD/scinter_GB_ext_lip.parm
813 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
814 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
815 export SCPPAR=$DD/scp_ext.parm
816 export PATTERN=$DD/patterns.cart
817 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
818 export PRINT_PARM=NO
819 #-----------------------------------------------------------------------------
820 echo CTEST_FULL_OUTPUT
821 $UNRES_BIN |grep -v GenSide
822 ./csa_energy_check.sh $1
823 ")
824
825 #
826 # File permissions workaround
827 #
828 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_csa_E0LL2Y.sh
829         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
830         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
831 )
832 endif(UNRES_CSA_FF STREQUAL "NEWCORR")
833
834
835
836 if(UNRES_MD_FF STREQUAL "NEWCORR")
837
838 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota.pdb
839         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
840
841 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres.pdb
842         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
843
844 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_ENE_m.inp
845         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
846
847 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_MIN_CART.inp
848         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
849
850 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_micro.inp
851         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
852
853 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_MIN_INT.inp
854         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
855
856 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_MIN_REGULAR_INT.inp
857         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
858
859 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_B.inp
860         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
861
862 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_L.inp
863         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
864
865 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_NH.inp
866         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
867
868
869 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y.pdb
870         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
871
872 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_remd.inp
873         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
874
875 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1ei0_min.inp
876         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
877
878 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0.pdb
879         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
880
881 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut.pdb
882         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
883
884 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut_unres.pdb
885         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
886
887 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-ber.inp
888         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
889
890 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-ene.inp
891         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
892
893 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-lang.inp
894         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
895
896 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-micro.inp
897         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
898
899 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-min.inp
900         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
901
902 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_unres_energy_check_mult.sh
903         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
904         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
905 )
906
907 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_fit_hist.py
908         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
909         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
910 )
911
912 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
913         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
914         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
915 )
916
917 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_plot.py
918         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
919         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
920 )
921
922 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
923         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
924
925 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_CHECKGRAD.inp
926         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
927
928 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-checkgrad.inp
929         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
930
931 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/homology_mult/
932       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*.pdb" )
933
934 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/homology_mult/
935       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*.sco" )
936
937 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/Ts866_checkgrad_full.inp
938         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
939
940
941
942 #=========================================
943 #  test_prota_E0LL2Y.sh
944 #=========================================
945
946 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh
947 "#!/bin/sh
948 export POT=GB
949 export FGPROCS=$2
950 export PREFIX=$1
951 #-----------------------------------------------------------------------------
952 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
953 #-----------------------------------------------------------------------------
954 DD=${CMAKE_SOURCE_DIR}/PARAM
955 export BONDPAR=$DD/bond_AM1_ext_dum.parm
956 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18 
957 export THETPARPDB=$DD/thetaml_ext.5parm
958 export ROTPARPDB=$DD/scgauss_ext.parm
959 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
960 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
961 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm        
962 export ELEPAR=$DD/electr_631Gdp_ext.parm
963 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
964 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
965 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
966 export SCPPAR=$DD/scp_ext.parm
967 export PATTERN=$DD/patterns.cart
968 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
969 #-----------------------------------------------------------------------------
970 echo CTEST_FULL_OUTPUT
971 $UNRES_BIN
972 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
973 ")
974
975 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
976   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
977      MESSAGE (STATUS "LAM MPI library detected")
978      set (boot_lam "-boot")
979   else()
980      set (boot_lam "")
981   endif()
982
983   if (UNRES_SRUN)
984    set (np "-n")
985    set (mpiexec "srun")
986   elseif(UNRES_MPIRUN)
987    set (np "-np")
988    set (mpiexec "mpirun")
989   else()
990    set (np "-np")
991    set (mpiexec "mpiexec")
992   endif()
993
994
995 #
996 # File permissions workaround
997 #
998 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh 
999         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1000         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
1001 )
1002
1003 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
1004 "#!/bin/sh
1005 export POT=GB
1006 export FGPROCS=$2
1007 export PREFIX=$1
1008 #-----------------------------------------------------------------------------
1009 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
1010 #-----------------------------------------------------------------------------
1011 DD=${CMAKE_SOURCE_DIR}/PARAM
1012 export BONDPAR=$DD/bond_AM1_ext_dum.parm
1013 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
1014 export THETPARPDB=$DD/thetaml_ext.5parm
1015 export ROTPARPDB=$DD/scgauss_ext.parm
1016 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
1017 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
1018 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm        
1019 export ELEPAR=$DD/electr_631Gdp_ext.parm
1020 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
1021 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
1022 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
1023 export SCPPAR=$DD/scp_ext.parm
1024 export PATTERN=$DD/patterns.cart
1025 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
1026 #-----------------------------------------------------------------------------
1027 echo CTEST_FULL_OUTPUT
1028 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
1029 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
1030 ")
1031
1032 #
1033 # File permissions workaround
1034 #
1035 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
1036         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1037         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
1038 )
1039
1040
1041 endif(UNRES_MD_FF STREQUAL "NEWCORR")
1042
1043
1044
1045 # Add tests
1046
1047 if(NOT UNRES_WITH_MPI)
1048                   
1049   if(UNRES_MD_FF STREQUAL "GAB")
1050     add_test(NAME UNRES_M_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
1051   endif(UNRES_MD_FF STREQUAL "GAB")
1052  
1053   if(UNRES_MD_FF STREQUAL "E0LL2Y")
1054     add_test(NAME UNRES_M_ENE_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 1 )
1055     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )
1056     add_test(NAME UNRES_M_MIN_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 1 )
1057     add_test(NAME UNRES_M_MIN_INT COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
1058     add_test(NAME UNRES_M_REGULAR COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
1059     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 1 )
1060     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_L 1 )
1061 #no NH in MD-M
1062 #    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_NH 1 )
1063     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_B 1 )
1064     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-ene 1 )
1065     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-checkgrad 1 )
1066     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-min 1 )
1067     add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-micro 1 )
1068     add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-ber 1 )
1069     add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-lang 1 )
1070   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
1071
1072 else(NOT UNRES_WITH_MPI)
1073
1074   if(UNRES_CSA_FF STREQUAL "4P")
1075     add_test(NAME UNRES_CSA_global COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_4P.sh 1l2y_csa_4P )
1076     add_test(NAME UNRES_CSA_local COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_4P.sh 1l2y_csa_local_4P )
1077   endif(UNRES_CSA_FF STREQUAL "4P")
1078  
1079   if(UNRES_CSA_FF STREQUAL "E0LL2Y")
1080 #    add_test(NAME UNRES_CSA_global_E0LL2Y COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_E0LL2Y.sh 1l2y_csa )
1081 #    add_test(NAME UNRES_CSA_local_E0LL2Y COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_E0LL2Y.sh 1l2y_csa_local )
1082   endif(UNRES_CSA_FF STREQUAL "E0LL2Y")
1083
1084   if(UNRES_MD_FF STREQUAL "GAB")
1085     add_test(NAME UNRES_M_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
1086   endif(UNRES_MD_FF STREQUAL "GAB")
1087
1088   if(UNRES_MD_FF STREQUAL "E0LL2Y")
1089 # no NH in src_MD-M code
1090     add_test(NAME UNRES_M_ENE_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 2 )
1091     add_test(NAME UNRES_M_ENE1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 1 )
1092     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 2 2 )   
1093     add_test(NAME UNRES_M_CHECKGRAD1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )   
1094     add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 )   
1095     add_test(NAME UNRES_M_CHECKGRAD1_homology COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh Ts866_checkgrad_full 1 )   
1096     add_test(NAME UNRES_M_MIN_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 2 )
1097     add_test(NAME UNRES_M_MIN_INT COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
1098     add_test(NAME UNRES_M_REGULAR COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
1099     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1l2y_micro 2 2 )
1100     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
1101 # no NH in src_MD-M code
1102 ##    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
1103     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
1104     add_test(NAME UNRES_M_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
1105     add_test(NAME UNRES_M_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
1106 #mutlichain
1107     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 2 2 )
1108     add_test(NAME UNRES_M_multi_ene1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 1 1 )
1109     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 2 2 )
1110     add_test(NAME UNRES_M_multi_checkgrad1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 1 1 )
1111     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-min 2 2 )
1112 #    add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-micro 2 2 )
1113 #    add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ber 2 2 )
1114 #    add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-lang 2 2 )
1115     if(UNRES_DFA)
1116         FILE(COPY ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh
1117         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa
1118         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
1119      add_test(NAME UNRES_CHECKGRAD1_dfa COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh checkgrad_dfa 1 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dfa)
1120      add_test(NAME UNRES_remd_dfa COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/dfa/test_mpi_E0LL2Y.sh remd_dfa 1 8 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dfa )
1121     endif()
1122   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
1123
1124   if(UNRES_MD_FF STREQUAL "NEWCORR")
1125 # no NH in src_MD-M code
1126     add_test(NAME UNRES_M_ENE_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 2 )
1127     add_test(NAME UNRES_M_ENE1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 1 )
1128     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 2 2 )   
1129     add_test(NAME UNRES_M_CHECKGRAD1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )   
1130     add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 )   
1131     add_test(NAME UNRES_M_CHECKGRAD1_homology COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh Ts866_checkgrad_full 1 )   
1132     add_test(NAME UNRES_M_MIN_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 2 )
1133     add_test(NAME UNRES_M_MIN_INT COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
1134     add_test(NAME UNRES_M_REGULAR COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
1135     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1l2y_micro 2 2 )
1136     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
1137 # no NH in src_MD-M code
1138 ##    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
1139     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
1140     add_test(NAME UNRES_M_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
1141     add_test(NAME UNRES_M_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
1142 #mutlichain
1143     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 2 2 )
1144     add_test(NAME UNRES_M_multi_ene1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 1 1 )
1145     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 2 2 )
1146     add_test(NAME UNRES_M_multi_checkgrad1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 1 1 )
1147     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-min 2 2 )
1148 #    add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-micro 2 2 )
1149 #    add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ber 2 2 )
1150 #    add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-lang 2 2 )
1151   endif(UNRES_MD_FF STREQUAL "NEWCORR")
1152
1153 endif(NOT UNRES_WITH_MPI)
1154