0d88ba2901a84a6e006c872534c2410ce79ac942
[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
833
834
835
836 endif(UNRES_CSA_FF STREQUAL "NEWCORR")
837
838
839
840 if(UNRES_MD_FF STREQUAL "NEWCORR")
841
842 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota.pdb
843         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
844
845 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres.pdb
846         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
847
848 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_ENE_m.inp
849         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
850
851 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_MIN_CART.inp
852         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
853
854 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_micro.inp
855         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
856
857 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_MIN_INT.inp
858         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
859
860 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1l2y_MIN_REGULAR_INT.inp
861         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
862
863 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_B.inp
864         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
865
866 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_L.inp
867         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
868
869 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_NH.inp
870         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
871
872
873 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y.pdb
874         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
875
876 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1L2Y_remd.inp
877         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
878
879 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1ei0_min.inp
880         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
881
882 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0.pdb
883         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
884
885 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut.pdb
886         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
887
888 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1dkz_cut_unres.pdb
889         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
890
891 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-ber.inp
892         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
893
894 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-ene.inp
895         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
896
897 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-lang.inp
898         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
899
900 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-micro.inp
901         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
902
903 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-min.inp
904         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
905
906 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_unres_energy_check_mult.sh
907         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
908         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
909 )
910
911 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_fit_hist.py
912         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
913         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
914 )
915
916 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
917         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
918         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
919 )
920
921 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_plot.py
922         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
923         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
924 )
925
926 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
927         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
928
929 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/prota_CHECKGRAD.inp
930         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
931
932 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/1DKZcut-checkgrad.inp
933         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
934
935 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/homology_mult/
936       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*.pdb" )
937
938 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/homology_mult/
939       DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN "*.sco" )
940
941 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/newcorr/Ts866_checkgrad_full.inp
942         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
943
944
945
946 #=========================================
947 #  test_prota_E0LL2Y.sh
948 #=========================================
949
950 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh
951 "#!/bin/sh
952 export POT=GB
953 export FGPROCS=$2
954 export PREFIX=$1
955 #-----------------------------------------------------------------------------
956 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
957 #-----------------------------------------------------------------------------
958 DD=${CMAKE_SOURCE_DIR}/PARAM
959 export BONDPAR=$DD/bond_AM1_ext_dum.parm
960 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18 
961 export THETPARPDB=$DD/thetaml_ext.5parm
962 export ROTPARPDB=$DD/scgauss_ext.parm
963 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
964 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
965 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm        
966 export ELEPAR=$DD/electr_631Gdp_ext.parm
967 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
968 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
969 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
970 export SCPPAR=$DD/scp_ext.parm
971 export PATTERN=$DD/patterns.cart
972 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
973 #-----------------------------------------------------------------------------
974 echo CTEST_FULL_OUTPUT
975 $UNRES_BIN
976 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
977 ")
978
979 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
980   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
981      MESSAGE (STATUS "LAM MPI library detected")
982      set (boot_lam "-boot")
983   else()
984      set (boot_lam "")
985   endif()
986
987   if (UNRES_SRUN)
988    set (np "-n")
989    set (mpiexec "srun")
990   elseif(UNRES_MPIRUN)
991    set (np "-np")
992    set (mpiexec "mpirun")
993   else()
994    set (np "-np")
995    set (mpiexec "mpiexec")
996   endif()
997
998
999 #
1000 # File permissions workaround
1001 #
1002 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh 
1003         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1004         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
1005 )
1006
1007 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
1008 "#!/bin/sh
1009 export POT=GB
1010 export FGPROCS=$2
1011 export PREFIX=$1
1012 #-----------------------------------------------------------------------------
1013 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
1014 #-----------------------------------------------------------------------------
1015 DD=${CMAKE_SOURCE_DIR}/PARAM
1016 export BONDPAR=$DD/bond_AM1_ext_dum.parm
1017 export THETPAR=$DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
1018 export THETPARPDB=$DD/thetaml_ext.5parm
1019 export ROTPARPDB=$DD/scgauss_ext.parm
1020 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
1021 export TORPAR=$DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
1022 export TORDPAR=$DD/pot_tord_G631_DIL_ext.parm        
1023 export ELEPAR=$DD/electr_631Gdp_ext.parm
1024 export SIDEPAR=$DD//scinter_GB_ext_lip.parm
1025 export FOURIER=$DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
1026 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
1027 export SCPPAR=$DD/scp_ext.parm
1028 export PATTERN=$DD/patterns.cart
1029 export LIPTRANPAR=$DD/Lip_tran_initial_ext.parm
1030 #-----------------------------------------------------------------------------
1031 echo CTEST_FULL_OUTPUT
1032 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
1033 ./prota_unres_energy_check_mult.sh $1 ${UNRES_BIN}
1034 ")
1035
1036 #
1037 # File permissions workaround
1038 #
1039 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
1040         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1041         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
1042 )
1043
1044 if(UNRES_DFA)
1045
1046 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dfa
1047         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
1048
1049 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
1050         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa )
1051
1052 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
1053         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa )
1054
1055 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres_energy_check_mult.sh
1056         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa
1057         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
1058 )
1059
1060 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/dfa_newcorr/
1061         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa/ FILES_MATCHING PATTERN "*" )
1062
1063 endif(UNRES_DFA)
1064 endif(UNRES_MD_FF STREQUAL "NEWCORR")
1065
1066
1067
1068 # Add tests
1069
1070 if(NOT UNRES_WITH_MPI)
1071                   
1072   if(UNRES_MD_FF STREQUAL "GAB")
1073     add_test(NAME UNRES_M_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
1074   endif(UNRES_MD_FF STREQUAL "GAB")
1075  
1076   if(UNRES_MD_FF STREQUAL "E0LL2Y")
1077     add_test(NAME UNRES_M_ENE_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE_m 1 )
1078     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )
1079     add_test(NAME UNRES_M_MIN_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 1 )
1080     add_test(NAME UNRES_M_MIN_INT COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
1081     add_test(NAME UNRES_M_REGULAR COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
1082     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 1 )
1083     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_L 1 )
1084 #no NH in MD-M
1085 #    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_NH 1 )
1086     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_B 1 )
1087     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-ene 1 )
1088     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-checkgrad 1 )
1089     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-min 1 )
1090     add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-micro 1 )
1091     add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-ber 1 )
1092     add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1DKZcut-lang 1 )
1093   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
1094
1095 else(NOT UNRES_WITH_MPI)
1096
1097   if(UNRES_CSA_FF STREQUAL "4P")
1098     add_test(NAME UNRES_CSA_global COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_4P.sh 1l2y_csa_4P )
1099     add_test(NAME UNRES_CSA_local COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_4P.sh 1l2y_csa_local_4P )
1100   endif(UNRES_CSA_FF STREQUAL "4P")
1101  
1102   if(UNRES_CSA_FF STREQUAL "E0LL2Y")
1103 #    add_test(NAME UNRES_CSA_global_E0LL2Y COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_E0LL2Y.sh 1l2y_csa )
1104 #    add_test(NAME UNRES_CSA_local_E0LL2Y COMMAND ${mpiexec} ${boot_lam} ${np} 4 ${CMAKE_CURRENT_BINARY_DIR}/test_csa_E0LL2Y.sh 1l2y_csa_local )
1105   endif(UNRES_CSA_FF STREQUAL "E0LL2Y")
1106
1107   if(UNRES_MD_FF STREQUAL "GAB")
1108     add_test(NAME UNRES_M_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
1109   endif(UNRES_MD_FF STREQUAL "GAB")
1110
1111   if(UNRES_MD_FF STREQUAL "E0LL2Y")
1112 # no NH in src_MD-M code
1113     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 )
1114     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 )
1115     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 2 2 )   
1116     add_test(NAME UNRES_M_CHECKGRAD1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )   
1117     add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 )   
1118     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 )   
1119     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 )
1120     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 )
1121     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 )
1122     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1l2y_micro 2 2 )
1123     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
1124 # no NH in src_MD-M code
1125 ##    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
1126     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
1127     add_test(NAME UNRES_M_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
1128     add_test(NAME UNRES_M_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
1129 #mutlichain
1130     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 2 2 )
1131     add_test(NAME UNRES_M_multi_ene1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 1 1 )
1132     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 2 2 )
1133     add_test(NAME UNRES_M_multi_checkgrad1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 1 1 )
1134     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-min 2 2 )
1135 #    add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-micro 2 2 )
1136 #    add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ber 2 2 )
1137 #    add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-lang 2 2 )
1138     if(UNRES_DFA)
1139         FILE(COPY ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh
1140         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa
1141         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
1142      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)
1143      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 )
1144     endif()
1145   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
1146
1147   if(UNRES_MD_FF STREQUAL "NEWCORR")
1148 # no NH in src_MD-M code
1149     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 )
1150     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 )
1151     add_test(NAME UNRES_M_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 2 2 )   
1152     add_test(NAME UNRES_M_CHECKGRAD1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_CHECKGRAD 1 )   
1153     add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 )   
1154     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 )   
1155     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 )
1156     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 )
1157     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 )
1158     add_test(NAME UNRES_M_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1l2y_micro 2 2 )
1159     add_test(NAME UNRES_M_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
1160 # no NH in src_MD-M code
1161 ##    add_test(NAME UNRES_M_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
1162     add_test(NAME UNRES_M_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
1163     add_test(NAME UNRES_M_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
1164     add_test(NAME UNRES_M_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
1165 #mutlichain
1166     add_test(NAME UNRES_M_multi_ene COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 2 2 )
1167     add_test(NAME UNRES_M_multi_ene1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ene 1 1 )
1168     add_test(NAME UNRES_M_multi_checkgrad COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 2 2 )
1169     add_test(NAME UNRES_M_multi_checkgrad1 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-checkgrad 1 1 )
1170     add_test(NAME UNRES_M_multi_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-min 2 2 )
1171 #    add_test(NAME UNRES_M_multi_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-micro 2 2 )
1172 #    add_test(NAME UNRES_M_multi_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-ber 2 2 )
1173 #    add_test(NAME UNRES_M_multi_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1DKZcut-lang 2 2 )
1174
1175     if(UNRES_DFA)
1176         FILE(COPY ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh
1177         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/dfa
1178         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
1179      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)
1180      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 )
1181     endif()
1182
1183   endif(UNRES_MD_FF STREQUAL "NEWCORR")
1184
1185 endif(NOT UNRES_WITH_MPI)
1186