From: Dawid Jagiela Date: Mon, 18 Jun 2012 10:46:01 +0000 (+0200) Subject: Merge branch 'devel' of mmka:unres into devel X-Git-Tag: v.3.2~80^2~10^2~1 X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=commitdiff_plain;h=7df7a3e6852853636f1e9d444068e63227b7e2a5;hp=b5e220d48b62207646ee6ffa4541157d2d294674;p=unres.git Merge branch 'devel' of mmka:unres into devel --- diff --git a/.gitignore b/.gitignore index 918a787..8a8f64c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,12 @@ *~ -# ifnore build dir +# ignore build dir build/ +# ignored dirs form adasko +gradcheck/ +mapcheck/ +run/ +sympcheck/ + diff --git a/PARAM/sccor_pdb_shelly.dat b/PARAM/sccor_pdb_shelly.dat new file mode 100644 index 0000000..39aae2c --- /dev/null +++ b/PARAM/sccor_pdb_shelly.dat @@ -0,0 +1,527 @@ +5 *** Parameters derived by pdb statistical analysis by Shelly Rackovsky *** +4 4 4 4 4 4 4 4 3 1 3 3 3 2 3 2 3 3 3 5 +6 0 *********** SCCC-Gly-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCC-Gly-Asp + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCC-Gly-Ala + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCC-Gly-Cys + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCC-Gly-Pro + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCC-Asp-Gly + 1 -2.33674E-01 -5.31358E-01 + 2 -4.88897E-01 -6.34765E-01 + 3 -2.68667E-01 5.10088E-02 + 4 -2.48344E-01 -2.04530E-01 + 5 7.81149E-02 -9.89275E-04 + 6 -5.25209E-02 -8.74971E-02 +6 0 *********** SCCC-Asp-Asp + 1 -3.67689E-03 -5.55082E-03 + 2 -4.88763E-01 -4.13346E-01 + 3 6.74458E-02 -8.94516E-02 + 4 -1.48843E-01 3.05053E-02 + 5 -2.32411E-03 6.93140E-02 + 6 -3.65344E-02 1.18049E-01 +6 0 *********** SCCC-Asp-Ala + 1 -1.22253E-01 4.26719E-02 + 2 -3.75906E-01 -4.76591E-01 + 3 1.54140E-01 -1.50381E-01 + 4 -2.79743E-02 3.45637E-02 + 5 3.70630E-02 -1.80596E-02 + 6 1.16381E-02 1.31634E-02 +6 0 *********** SCCC-Asp-Cys + 1 -3.85111E-01 3.52424E-01 + 2 -4.08034E-01 -3.49952E-01 + 3 6.35540E-03 -1.12671E-01 + 4 -1.02048E-01 7.07537E-02 + 5 -8.28533E-02 -6.45643E-02 + 6 7.03106E-02 1.65406E-02 +6 0 *********** SCCC-Asp-Pro + 1 -1.50829E+00 -5.79772E-01 + 2 1.03224E-01 -9.28513E-01 + 3 -2.17808E-01 1.96654E-01 + 4 -9.97970E-03 -1.86116E-01 + 5 9.68333E-02 -3.40002E-04 + 6 6.76090E-02 -1.60409E-02 +6 0 *********** SCCC-Ala-Gly + 1 1.08671E-01 -1.61916E-01 + 2 -6.75374E-01 -4.41016E-01 + 3 7.72515E-02 2.21794E-02 + 4 -1.33440E-01 -3.52702E-02 + 5 4.07103E-02 -8.30674E-03 + 6 -3.38734E-02 -2.91658E-02 +6 0 *********** SCCC-Ala-Asp + 1 3.30143E-01 -2.37859E-01 + 2 -5.58337E-01 -5.48182E-01 + 3 1.59867E-01 -3.10240E-02 + 4 -4.71581E-02 9.18808E-02 + 5 7.58630E-03 1.36081E-02 + 6 -5.18337E-02 1.67623E-02 +6 0 *********** SCCC-Ala-Ala + 1 3.01325E-02 -2.05463E-01 + 2 -4.29621E-01 -4.94204E-01 + 3 1.48297E-01 -2.46345E-02 + 4 -6.66014E-02 7.33216E-02 + 5 -4.61338E-03 9.99319E-03 + 6 -1.72753E-02 -1.22783E-02 +6 0 *********** SCCC-Ala-Cys + 1 -1.89551E-01 -5.29036E-02 + 2 -4.70536E-01 -5.46659E-01 + 3 1.24188E-01 -4.54771E-02 + 4 -9.01686E-02 7.87782E-02 + 5 4.38317E-02 -1.50550E-02 + 6 -1.40100E-02 4.48399E-03 +6 0 *********** SCCC-Ala-Pro + 1 -1.05516E+00 -8.27122E-01 + 2 4.04216E-01 -6.30736E-01 + 3 -5.65139E-02 1.31356E-01 + 4 8.86212E-02 -1.93137E-02 + 5 8.30847E-02 7.84107E-02 + 6 1.09275E-03 -6.69432E-02 +6 0 *********** SCCC-Cys-Gly + 1 2.81717E-02 -9.16432E-02 + 2 -5.80065E-01 -5.41676E-01 + 3 8.35896E-02 2.32087E-02 + 4 -2.52554E-02 -1.99537E-02 + 5 -2.13136E-02 1.36707E-02 + 6 5.82876E-02 -3.17349E-02 +6 0 *********** SCCC-Cys-Asp + 1 -1.56463E-01 -2.26207E-01 + 2 -5.27000E-01 -6.19820E-01 + 3 1.91887E-01 6.70580E-03 + 4 -3.98226E-02 5.89435E-02 + 5 -3.16575E-02 -1.15483E-02 + 6 -2.96986E-02 -2.19490E-02 +6 0 *********** SCCC-Cys-Ala + 1 -3.36091E-01 -1.76255E-01 + 2 -4.69818E-01 -5.33704E-01 + 3 8.61098E-02 7.14942E-02 + 4 -8.83260E-02 9.91528E-02 + 5 3.34156E-02 8.38345E-03 + 6 5.24593E-03 -3.06572E-02 +6 0 *********** SCCC-Cys-Cys + 1 -1.22127E-01 -1.71478E-01 + 2 -6.74690E-01 -6.10165E-01 + 3 1.73527E-01 -4.21592E-03 + 4 -3.70829E-02 9.30684E-02 + 5 -1.00968E-02 -6.23981E-02 + 6 -8.89396E-03 -3.14081E-02 +6 0 *********** SCCC-Cys-Pro + 1 -1.17342E+00 -7.27036E-01 + 2 6.83690E-01 -1.00092E+00 + 3 -4.76000E-02 3.72246E-01 + 4 -2.26563E-02 -1.70297E-01 + 5 -2.22742E-02 1.16548E-01 + 6 7.14525E-03 -4.24250E-02 +6 0 *********** SCCC-Pro-Gly + 1 4.02585E-01 -3.94531E-01 + 2 -3.03503E-01 1.01518E+00 + 3 -4.38168E-01 -3.04473E-01 + 4 1.31142E-01 -9.95205E-02 + 5 -3.80295E-02 8.15597E-02 + 6 1.26077E-01 -2.53458E-02 +6 0 *********** SCCC-Pro-Asp + 1 2.49283E-03 -5.49089E-01 + 2 -7.83933E-01 9.23601E-01 + 3 -3.39174E-01 -3.82848E-01 + 4 1.00026E-01 -1.82055E-01 + 5 -1.75659E-01 -5.49745E-02 + 6 8.55600E-02 -1.16096E-01 +6 0 *********** SCCC-Pro-Ala + 1 -4.15518E-01 -2.91572E-01 + 2 -6.52264E-01 7.09750E-01 + 3 -1.64167E-01 -4.41575E-01 + 4 1.18955E-01 -3.95590E-02 + 5 -7.92580E-02 -5.98595E-02 + 6 9.27982E-02 -2.38264E-02 +6 0 *********** SCCC-Pro-Cys + 1 -3.26560E-01 4.41125E-02 + 2 -6.99614E-01 7.59093E-01 + 3 -2.81678E-01 -3.28174E-01 + 4 1.31668E-01 -1.75615E-01 + 5 7.10756E-03 5.43733E-02 + 6 4.46549E-02 -1.44439E-02 +6 0 *********** SCCC-Pro-Pro + 1 -1.28703E+00 3.46321E-01 + 2 -1.01267E+00 -8.23419E-01 + 3 -1.57933E-01 -4.68436E-01 + 4 8.11040E-02 2.82701E-01 + 5 -9.53347E-02 -1.21811E-01 + 6 2.61441E-01 9.39812E-02 +6 0 *********** CCCS-Gly-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** CCCS-Gly-Asp + 1 -6.31253E-02 2.38427E-01 + 2 -1.11407E-01 5.53671E-01 + 3 7.24875E-02 2.23541E-01 + 4 6.83969E-03 4.24431E-02 + 5 1.24417E-02 6.08425E-02 + 6 6.11012E-02 7.83368E-02 +6 0 *********** CCCS-Gly-Ala + 1 -4.37385E-01 1.91403E-01 + 2 -3.23631E-01 4.02741E-01 + 3 5.64025E-02 4.08058E-03 + 4 -5.74258E-02 -7.02841E-02 + 5 -4.70532E-02 -5.70242E-02 + 6 -9.28053E-03 4.39361E-02 +6 0 *********** CCCS-Gly-Cys + 1 -4.13393E-01 1.65041E-01 + 2 -1.88107E-01 5.62683E-01 + 3 5.60016E-02 7.38731E-02 + 4 -5.95757E-03 -4.64401E-02 + 5 1.01336E-02 5.56109E-02 + 6 -2.35731E-03 -3.15908E-02 +6 0 *********** CCCS-Gly-Pro + 1 1.76496E+00 1.61351E-02 + 2 -4.47793E-02 8.85324E-02 + 3 5.63354E-01 2.17411E-01 + 4 2.19564E-01 8.87204E-02 + 5 -5.19152E-02 3.72129E-02 + 6 -5.31883E-02 1.01306E-01 +6 0 *********** CCCS-Asp-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** CCCS-Asp-Asp + 1 -2.19269E-01 8.49318E-02 + 2 3.49016E-01 1.09227E-01 + 3 -1.97832E-02 7.72399E-02 + 4 5.58331E-02 -3.06730E-02 + 5 1.18306E-01 -2.23422E-02 + 6 -4.37173E-03 4.71024E-02 +6 0 *********** CCCS-Asp-Ala + 1 -4.41640E-01 -5.72041E-03 + 2 2.73360E-01 1.76355E-01 + 3 -1.81199E-02 -4.96490E-03 + 4 -5.22381E-02 2.83445E-02 + 5 4.75320E-02 3.90300E-02 + 6 -1.17571E-02 -2.22279E-02 +6 0 *********** CCCS-Asp-Cys + 1 -1.04268E+00 -6.40980E-02 + 2 4.07555E-01 -8.57275E-02 + 3 -9.99096E-02 -5.20481E-02 + 4 6.49643E-03 -2.47447E-02 + 5 -4.98284E-02 -8.55654E-03 + 6 9.24429E-02 -3.30342E-02 +6 0 *********** CCCS-Asp-Pro + 1 5.12065E-01 -1.44224E+00 + 2 1.29415E+00 5.67146E-01 + 3 -7.38956E-02 -3.66674E-01 + 4 -1.18527E-01 4.00056E-01 + 5 1.03674E-01 1.46075E-01 + 6 9.06869E-02 -1.14085E-01 +6 0 *********** CCCS-Ala-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** CCCS-Ala-Asp + 1 -1.18903E-01 1.83145E-01 + 2 5.83533E-01 1.08640E-01 + 3 -6.66729E-02 1.76102E-01 + 4 4.89076E-02 5.31612E-02 + 5 5.39967E-02 9.45165E-02 + 6 8.03064E-02 -4.08910E-03 +6 0 *********** CCCS-Ala-Ala + 1 -2.92868E-01 -8.19322E-02 + 2 4.63252E-01 1.35090E-01 + 3 -9.30834E-02 -6.42975E-02 + 4 6.48082E-02 5.29183E-02 + 5 -1.88075E-02 -1.92230E-02 + 6 -1.51650E-03 2.44986E-02 +6 0 *********** CCCS-Ala-Cys + 1 -5.81015E-01 -1.68223E-01 + 2 6.20247E-01 -2.12253E-01 + 3 -1.35184E-01 -6.88396E-02 + 4 6.16762E-02 -2.05756E-02 + 5 -3.94035E-02 -1.52101E-02 + 6 2.08621E-02 3.07917E-03 +6 0 *********** CCCS-Ala-Pro + 1 9.10026E-01 -1.25074E+00 + 2 1.42419E+00 1.07825E+00 + 3 2.96946E-01 -4.44096E-01 + 4 1.60238E-01 3.80481E-01 + 5 3.09317E-02 1.68846E-01 + 6 -1.77411E-01 -1.00691E-01 +6 0 *********** CCCS-Cys-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** CCCS-Cys-Asp + 1 -5.26562E-01 -3.09456E-01 + 2 5.49368E-01 -1.44823E-01 + 3 -7.22982E-02 9.84671E-02 + 4 6.66287E-02 -9.44212E-03 + 5 1.68578E-03 6.74414E-02 + 6 3.89759E-02 1.95437E-02 +6 0 *********** CCCS-Cys-Ala + 1 -6.56521E-01 -4.61287E-01 + 2 4.26599E-01 -4.27295E-02 + 3 -5.80619E-02 -6.82714E-02 + 4 7.55769E-02 -3.73619E-02 + 5 -1.25281E-02 -9.43991E-03 + 6 -2.08379E-02 -1.07485E-02 +6 0 *********** CCCS-Cys-Cys + 1 -5.58656E-01 -6.37550E-02 + 2 6.60644E-01 -4.81978E-01 + 3 -1.23335E-01 -1.07436E-01 + 4 9.65717E-02 -4.24652E-02 + 5 -2.48253E-02 -5.11826E-02 + 6 6.85820E-05 1.76573E-02 +6 0 *********** CCCS-Cys-Pro + 1 4.90723E-01 -1.35625E+00 + 2 1.67813E+00 1.18718E+00 + 3 5.22746E-02 -5.00301E-01 + 4 1.68735E-01 3.93464E-01 + 5 4.28409E-02 8.91823E-02 + 6 -1.62951E-02 -2.16810E-02 +6 0 *********** CCCS-Pro-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** CCCS-Pro-Asp + 1 -6.52828E-03 3.66128E-01 + 2 8.72926E-01 2.83756E-01 + 3 -6.39242E-02 4.15019E-01 + 4 5.22042E-02 1.13759E-01 + 5 3.15281E-02 1.19297E-01 + 6 2.29414E-01 1.65320E-02 +6 0 *********** CCCS-Pro-Ala + 1 -1.92755E-01 -2.59299E-01 + 2 6.27259E-01 3.23210E-01 + 3 5.09623E-03 -5.98610E-02 + 4 2.63549E-01 5.54537E-02 + 5 1.07979E-02 1.42709E-02 + 6 3.58365E-02 -1.09028E-02 +6 0 *********** CCCS-Pro-Cys + 1 -4.65856E-01 -2.86718E-01 + 2 8.65762E-01 -1.35677E-01 + 3 -1.54115E-01 -3.55263E-02 + 4 8.94026E-02 1.99514E-02 + 5 -4.23955E-02 6.54068E-02 + 6 1.37749E-01 3.27344E-04 +6 0 *********** CCCS-Pro-Pro + 1 1.04077E+00 -4.87596E-01 + 2 7.01383E-01 2.48642E+00 + 3 1.47959E-01 -3.84847E-01 + 4 1.09403E-02 -6.08211E-02 + 5 -4.12137E-02 8.77603E-02 + 6 5.29644E-02 1.44612E-02 +6 0 *********** SCCS-Gly-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Gly-Asp + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Gly-Ala + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Gly-Cys + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Gly-Pro + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Asp-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Asp-Asp + 1 -1.29367E-01 5.31310E-02 + 2 2.52177E-01 -4.38233E-01 + 3 2.89042E-02 -2.12699E-03 + 4 -5.58810E-02 -1.26169E-01 + 5 -1.35209E-02 -9.71544E-04 + 6 -5.55150E-02 1.66374E-02 +6 0 *********** SCCS-Asp-Ala + 1 -6.19935E-02 1.46335E-02 + 2 2.40900E-01 -1.77547E-01 + 3 2.51822E-02 -5.24041E-02 + 4 -1.68369E-03 -1.26395E-01 + 5 -5.14003E-02 -3.09970E-02 + 6 3.06234E-03 -8.67938E-03 +6 0 *********** SCCS-Asp-Cys + 1 4.64551E-01 -1.71287E-01 + 2 -2.64537E-03 -4.16687E-01 + 3 -4.88145E-02 -9.31462E-02 + 4 -5.30998E-02 -6.70922E-02 + 5 8.75378E-03 1.48263E-02 + 6 2.66145E-02 -3.62959E-02 +6 0 *********** SCCS-Asp-Pro + 1 4.95445E-01 1.54011E+00 + 2 1.12587E+00 5.33051E-01 + 3 1.16352E-01 3.06477E-01 + 4 -1.69937E-01 -8.91254E-02 + 5 2.99610E-02 -1.99747E-01 + 6 3.14083E-01 -9.27615E-02 +6 0 *********** SCCS-Ala-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Ala-Asp + 1 -3.03491E-01 -3.20195E-03 + 2 1.87577E-01 -5.35195E-01 + 3 -9.22075E-02 -2.45286E-02 + 4 -5.52959E-02 -7.94812E-02 + 5 2.30392E-02 -6.72315E-02 + 6 1.13747E-02 1.06330E-02 +6 0 *********** SCCS-Ala-Ala + 1 -1.13071E-01 1.14720E-01 + 2 1.77018E-01 -3.52529E-01 + 3 2.53076E-02 -3.20530E-02 + 4 -5.13892E-02 -8.88139E-02 + 5 3.40895E-03 -1.14563E-02 + 6 -3.36404E-02 -4.87838E-03 +6 0 *********** SCCS-Ala-Cys + 1 1.87671E-01 8.41887E-02 + 2 -2.58899E-02 -5.91412E-01 + 3 -6.02484E-02 -6.83110E-02 + 4 -6.01972E-02 -7.62475E-02 + 5 1.66086E-02 1.13310E-02 + 6 -1.52069E-02 2.08523E-02 +6 0 *********** SCCS-Ala-Pro + 1 2.97957E-01 1.43349E+00 + 2 8.50101E-01 6.28525E-01 + 3 1.37592E-01 3.21604E-01 + 4 -1.65330E-01 3.97088E-02 + 5 -5.87512E-02 1.95385E-01 + 6 4.59752E-02 5.96600E-02 +6 0 *********** SCCS-Cys-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Cys-Asp + 1 1.54696E-01 2.74801E-01 + 2 1.75668E-01 -6.02466E-01 + 3 -3.71949E-02 2.85682E-02 + 4 -2.23575E-02 -7.93697E-02 + 5 3.18670E-02 -3.26104E-02 + 6 3.42890E-03 9.99826E-03 +6 0 *********** SCCS-Cys-Ala + 1 3.12256E-01 2.89927E-01 + 2 1.38469E-01 -4.21609E-01 + 3 4.30847E-02 8.17844E-03 + 4 -6.30056E-02 -7.43044E-02 + 5 -2.42299E-02 -1.05221E-02 + 6 -2.32065E-02 1.07005E-02 +6 0 *********** SCCS-Cys-Cys + 1 5.42115E-02 1.91060E-01 + 2 -1.45695E-01 -7.74412E-01 + 3 -2.74454E-02 -6.31361E-03 + 4 -6.08427E-02 -5.15224E-02 + 5 -2.37106E-02 3.55272E-02 + 6 2.34366E-04 1.57237E-02 +6 0 *********** SCCS-Cys-Pro + 1 5.25532E-01 1.45831E+00 + 2 1.23695E+00 9.22229E-01 + 3 2.26554E-01 3.11519E-01 + 4 8.04527E-03 1.20234E-01 + 5 1.10145E-01 -3.76652E-02 + 6 1.20059E-01 3.98373E-02 +6 0 *********** SCCS-Pro-Gly + 1 0.00000E+00 0.00000E+00 + 2 0.00000E+00 0.00000E+00 + 3 0.00000E+00 0.00000E+00 + 4 0.00000E+00 0.00000E+00 + 5 0.00000E+00 0.00000E+00 + 6 0.00000E+00 0.00000E+00 +6 0 *********** SCCS-Pro-Asp + 1 -4.75566E-01 4.02839E-01 + 2 -9.91621E-01 -5.27652E-01 + 3 1.01043E-01 1.27747E-01 + 4 2.21600E-01 9.83514E-02 + 5 9.14873E-02 2.88332E-01 + 6 -8.89657E-02 6.69934E-02 +6 0 *********** SCCS-Pro-Ala + 1 9.73371E-02 2.90189E-01 + 2 -5.61755E-01 -4.03787E-01 + 3 -1.18288E-01 -1.57214E-01 + 4 1.33916E-01 1.47170E-01 + 5 9.77810E-02 6.01187E-02 + 6 -5.20456E-02 -7.13409E-02 +6 0 *********** SCCS-Pro-Cys + 1 2.37390E-01 5.34492E-02 + 2 -7.98945E-01 -9.34123E-02 + 3 -2.65067E-02 1.77660E-01 + 4 9.11318E-02 8.22393E-02 + 5 5.66528E-02 3.50986E-02 + 6 -3.68829E-02 1.55213E-02 +6 0 *********** SCCS-Pro-Pro + 1 1.33315E+00 3.64948E-01 + 2 9.40733E-01 -1.29363E+00 + 3 -8.51267E-01 -3.39368E-01 + 4 2.81813E-01 -1.68113E-01 + 5 2.73587E-01 1.92177E-01 + 6 3.48452E-02 -4.05145E-01 diff --git a/bin/unres/MD/unres_ifort_MPICH_GAB.exe b/bin/unres/MD/unres_ifort_MPICH_GAB.exe index f772e87..51bbafe 100755 Binary files a/bin/unres/MD/unres_ifort_MPICH_GAB.exe and b/bin/unres/MD/unres_ifort_MPICH_GAB.exe differ diff --git a/examples/unres/MD/ff_gab/1L2Y_minim.inp b/examples/unres/MD/ff_gab/1L2Y_minim.inp index 286b667..b6e6e25 100644 --- a/examples/unres/MD/ff_gab/1L2Y_minim.inp +++ b/examples/unres/MD/ff_gab/1L2Y_minim.inp @@ -1,5 +1,5 @@ 1L2Y -SEED=-3059743 PDBREF MINIMIZE +SEED=-3059743 PDBREF ENE maxmin=1000 WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873 & WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000 & diff --git a/examples/unres/MD/ff_gab/unres.pbs b/examples/unres/MD/ff_gab/unres.pbs index 367e87f..f983fb9 100755 --- a/examples/unres/MD/ff_gab/unres.pbs +++ b/examples/unres/MD/ff_gab/unres.pbs @@ -1,7 +1,7 @@ #!/bin/sh #PBS -N PGA #PBS -q dque -#PBS -l nodes=58:ppn=2 +#PBS -l nodes=1:ppn=1 #PBS -l walltime=24:00:00 #----------------------------------------------------------------------------- export POT=GB diff --git a/source/unres/src_MD/COMMON.CHAIN b/source/unres/src_MD/COMMON.CHAIN index f7a8a1d..6e19f8d 100644 --- a/source/unres/src_MD/COMMON.CHAIN +++ b/source/unres/src_MD/COMMON.CHAIN @@ -1,9 +1,10 @@ integer nres,nsup,nstart_sup,nz_start,nz_end,iz_sc, & nres0,nstart_seq double precision c,dc,dc_old,d_c_work,xloc,xrot,dc_norm,t,r, - & prod,rt,dc_work,cref,crefjlee + & prod,rt,dc_work,cref,crefjlee,dc_norm2 common /chain/ c(3,maxres2+2),dc(3,0:maxres2),dc_old(3,0:maxres2), & xloc(3,maxres),xrot(3,maxres),dc_norm(3,0:maxres2), + & dc_norm2(3,0:maxres2), & dc_work(MAXRES6),nres,nres0 common /rotmat/ t(3,3,maxres),r(3,3,maxres),prod(3,3,maxres), & rt(3,3,maxres) diff --git a/source/unres/src_MD/COMMON.LOCAL b/source/unres/src_MD/COMMON.LOCAL index 837a7a3..a3f68dc 100644 --- a/source/unres/src_MD/COMMON.LOCAL +++ b/source/unres/src_MD/COMMON.LOCAL @@ -29,7 +29,8 @@ C Parameters of ab initio-derived potential of virtual-bond-angle bending C Virtual-bond lenghts double precision vbl,vblinv,vblinv2,vbl_cis,vbl0,vbld_inv integer loc_start,loc_end,ithet_start,ithet_end,iphi_start, - & iphi_end,iphid_start,iphid_end,ibond_start,ibond_end, + & iphi_end,iphid_start,iphid_end,itau_start,itau_end,ibond_start, + & ibond_end, & ibondp_start,ibondp_end,ivec_start,ivec_end,iset_start,iset_end, & iturn3_start,iturn3_end,iturn4_start,iturn4_end,iint_start, & iint_end,iphi1_start,iphi1_end, @@ -42,7 +43,8 @@ C Virtual-bond lenghts & iint_count(0:max_fg_procs-1),iint_displ(0:max_fg_procs-1) common /peptbond/ vbl,vblinv,vblinv2,vbl_cis,vbl0 common /indices/ loc_start,loc_end,ithet_start,ithet_end, - & iphi_start,iphi_end,iphid_start,iphid_end,ibond_start,ibond_end, + & iphi_start,iphi_end,iphid_start,iphid_end,itau_start,itau_end, + & ibond_start,ibond_end, & ibondp_start,ibondp_end,ivec_start,ivec_end,iset_start,iset_end, & iturn3_start,iturn3_end,iturn4_start,iturn4_end,iint_start, & iint_end,iphi1_start,iphi1_end,iint_count,iint_displ,ivec_displ, diff --git a/source/unres/src_MD/COMMON.SCCOR b/source/unres/src_MD/COMMON.SCCOR index 5217de7..ca6210f 100644 --- a/source/unres/src_MD/COMMON.SCCOR +++ b/source/unres/src_MD/COMMON.SCCOR @@ -1,6 +1,16 @@ -C Parameters of the SCCOR term - double precision v1sccor,v2sccor - integer nterm_sccor - common/torsion/v1sccor(maxterm_sccor,20,20), - & v2sccor(maxterm_sccor,20,20), - & nterm_sccor +cc Parameters of the SCCOR term + double precision v1sccor,v2sccor,vlor1sccor, + & vlor2sccor,vlor3sccor,gloc_sc, + & dcostau,dsintau,dtauangle,dcosomicron, + & domicron + integer nterm_sccor,isccortyp,nsccortyp,nlor_sccor + common/sccor/v1sccor(maxterm_sccor,3,20,20), + & v2sccor(maxterm_sccor,3,20,20), + & v0sccor(maxterm_sccor,20), + & nterm_sccor(ntyp,ntyp),isccortyp(ntyp),nsccortyp, + & nlor_sccor(ntyp,ntyp),vlor1sccor(maxterm_sccor,20,20), + & vlor2sccor(maxterm_sccor,20,20), + & vlor3sccor(maxterm_sccor,20,20),gloc_sc(3,0:maxres2,10), + & dcostau(3,3,3,maxres2),dsintau(3,3,3,maxres2), + & dtauangle(3,3,3,maxres2),dcosomicron(3,3,3,maxres2), + & domicron(3,3,3,maxres2) diff --git a/source/unres/src_MD/COMMON.VAR b/source/unres/src_MD/COMMON.VAR index 71158b8..d560c87 100644 --- a/source/unres/src_MD/COMMON.VAR +++ b/source/unres/src_MD/COMMON.VAR @@ -5,6 +5,7 @@ C Store the geometric variables in the following COMMON block. & thetaref,phiref,costtab,sinttab,cost2tab,sint2tab, & xxtab,yytab,zztab,xxref,yyref,zzref common /var/ theta(maxres),phi(maxres),alph(maxres),omeg(maxres), + & omicron(2,maxres),tauangle(3,maxres), & vbld(2*maxres),thetaref(maxres),phiref(maxres), & costtab(maxres), sinttab(maxres), cost2tab(maxres), & sint2tab(maxres),xxtab(maxres),yytab(maxres), diff --git a/source/unres/src_MD/DIMENSIONS b/source/unres/src_MD/DIMENSIONS index 224dade..5151ff7 100644 --- a/source/unres/src_MD/DIMENSIONS +++ b/source/unres/src_MD/DIMENSIONS @@ -54,7 +54,7 @@ C virtual-bond angle bending potentials & mmaxtheterm=maxtheterm) c Max number of torsional terms in SCCOR integer maxterm_sccor - parameter (maxterm_sccor=3) + parameter (maxterm_sccor=6) C Max. number of lobes in SC distribution integer maxlob parameter (maxlob=4) diff --git a/source/unres/src_MD/Makefile_MPICH_ifort b/source/unres/src_MD/Makefile_MPICH_ifort index e33762c..d60f106 100644 --- a/source/unres/src_MD/Makefile_MPICH_ifort +++ b/source/unres/src_MD/Makefile_MPICH_ifort @@ -15,7 +15,7 @@ INSTALL_DIR = /users/software/mpich-1.2.7p1_intel-10.1_em64_ssh FC= ifort -OPT = -O3 -ip -w +OPT = -g -ip -w -CB FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include FFLAGS1 = -c -w -g -d2 -CA -CB -I$(INSTALL_DIR)/include @@ -44,7 +44,7 @@ object = unres.o arcos.o cartprint.o chainbuild.o convert.o initialize_p.o \ cored.o rmdd.o geomout.o readpdb.o regularize.o thread.o fitsq.o mcm.o \ mc.o bond_move.o refsys.o check_sc_distr.o check_bond.o contact.o djacob.o \ eigen.o blas.o add.o entmcm.o minim_mcmf.o \ - MP.o compare_s1.o prng_32.o \ + MP.o compare_s1.o prng.o \ banach.o rmsd.o elecont.o dihed_cons.o \ sc_move.o local_move.o \ intcartderiv.o lagrangian_lesyng.o\ diff --git a/source/unres/src_MD/checkder_p.F b/source/unres/src_MD/checkder_p.F index 26854e6..4d0379e 100644 --- a/source/unres/src_MD/checkder_p.F +++ b/source/unres/src_MD/checkder_p.F @@ -8,6 +8,7 @@ C Check the gradient of Cartesian coordinates in internal coordinates. include 'COMMON.GEO' include 'COMMON.LOCAL' include 'COMMON.DERIV' + include 'COMMON.SCCOR' dimension temp(6,maxres),xx(3),gg(3) indmat(i,j)=((2*(nres-2)-i)*(i-1))/2+j-1 * @@ -180,6 +181,7 @@ C Check the gradient of the energy in Cartesian coordinates. include 'COMMON.IOUNITS' include 'COMMON.VAR' include 'COMMON.CONTACTS' + include 'COMMON.SCCOR' common /srutu/ icall dimension ggg(6),cc(3),xx(3),ddc(3),ddx(3),x(maxvar),g(maxvar) dimension grad_s(6,maxres) @@ -261,6 +263,7 @@ C Check the gradient of the energy in Cartesian coordinates. include 'COMMON.MD' include 'COMMON.LOCAL' include 'COMMON.SPLITELE' + include 'COMMON.SCCOR' common /srutu/ icall dimension ggg(6),ggg1(6),cc(3),xx(3),ddc(3),ddx(3),x(maxvar), & g(maxvar) @@ -288,10 +291,16 @@ c call checkintcartgrad call geom_to_var(nvar,x) if (.not.split_ene) then call etotal(energia(0)) +c do i=1,nres +c write (iout,*) "atu?", gloc_sc(1,i,icg),gloc(i,icg) +c enddo etot=energia(0) call enerprint(energia(0)) call flush(iout) write (iout,*) "enter cartgrad" +c do i=1,nres +c write (iout,*) gloc_sc(1,i,icg) +c enddo call flush(iout) call cartgrad write (iout,*) "exit cartgrad" @@ -338,6 +347,9 @@ c call checkintcartgrad call zerograd call etotal_short(energia(0)) call enerprint(energia(0)) +c do i=1,nres +c write (iout,*) gloc_sc(1,i,icg) +c enddo call flush(iout) write (iout,*) "enter cartgrad" call flush(iout) @@ -502,7 +514,7 @@ c------------------------------------------------------------------------- time01=MPI_Wtime() #endif #if defined(PARINT) && defined(MPI) - do i=iint_start,iint_end + do i=iint_start,iint_end+1 #else do i=2,nres #endif @@ -513,7 +525,20 @@ c------------------------------------------------------------------------- & +(c(j,i+1)-c(j,i))/dnorm2) enddo be=0.0D0 - if (i.gt.2) phi(i+1)=beta(i-2,i-1,i,i+1) + if (i.gt.2) then + if (i.le.nres) phi(i+1)=beta(i-2,i-1,i,i+1) + if ((itype(i).ne.10).and.(itype(i-1).ne.10)) then + tauangle(3,i+1)=beta(i+nres-1,i-1,i,i+nres) + endif + if (itype(i-1).ne.10) then + tauangle(1,i+1)=beta(i-1+nres,i-1,i,i+1) + omicron(1,i)=alpha(i-2,i-1,i-1+nres) + omicron(2,i)=alpha(i-1+nres,i-1,i) + endif + if (itype(i).ne.10) then + tauangle(2,i+1)=beta(i-2,i-1,i,i+nres) + endif + endif omeg(i)=beta(nres+i,i,maxres2,i+1) alph(i)=alpha(nres+i,i,maxres2) theta(i+1)=alpha(i-1,i,i+1) @@ -526,6 +551,7 @@ c------------------------------------------------------------------------- vbld_inv(nres+i)=0.0d0 endif enddo + #if defined(PARINT) && defined(MPI) if (nfgtasks1.gt.1) then cd write(iout,*) "iint_start",iint_start," iint_count", diff --git a/source/unres/src_MD/cinfo.f b/source/unres/src_MD/cinfo.f index d3e68f7..9b22a2e 100644 --- a/source/unres/src_MD/cinfo.f +++ b/source/unres/src_MD/cinfo.f @@ -1,11 +1,11 @@ C DO NOT EDIT THIS FILE - IT HAS BEEN GENERATED BY COMPINFO.C -C 2 5 38 +C 2 5 295 subroutine cinfo include 'COMMON.IOUNITS' write(iout,*)'++++ Compile info ++++' - write(iout,*)'Version 2.5 build 38' - write(iout,*)'compiled Mon Apr 2 08:28:34 2012' - write(iout,*)'compiled by adam@matrix.chem.cornell.edu' + write(iout,*)'Version 2.5 build 295' + write(iout,*)'compiled Mon Jun 18 05:08:20 2012' + write(iout,*)'compiled by aks255@matrix.chem.cornell.edu' write(iout,*)'OS name: Linux ' write(iout,*)'OS release: 2.6.34.9-69.fc13.x86_64 ' write(iout,*)'OS version:', @@ -13,7 +13,7 @@ C 2 5 38 write(iout,*)'flags:' write(iout,*)'INSTALL_DIR = /users/software/mpich-1.2.7p1_int...' write(iout,*)'FC= ifort' - write(iout,*)'OPT = -O3 -ip -w ' + write(iout,*)'OPT = -g -ip -w -CB ' write(iout,*)'FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include ' write(iout,*)'FFLAGS1 = -c -w -g -d2 -CA -CB -I$(INSTALL_DIR)...' write(iout,*)'FFLAGS2 = -c -w -g -O0 -I$(INSTALL_DIR)/include ' diff --git a/source/unres/src_MD/energy_p_new_barrier.F b/source/unres/src_MD/energy_p_new_barrier.F index 1692c50..1a99285 100644 --- a/source/unres/src_MD/energy_p_new_barrier.F +++ b/source/unres/src_MD/energy_p_new_barrier.F @@ -471,7 +471,7 @@ cMS$ATTRIBUTES C :: proc_proc include 'mpif.h' #endif double precision gradbufc(3,maxres),gradbufx(3,maxres), - & glocbuf(4*maxres),gradbufc_sum(3,maxres) + & glocbuf(4*maxres),gradbufc_sum(3,maxres),gloc_scbuf(3,maxres) include 'COMMON.SETUP' include 'COMMON.IOUNITS' include 'COMMON.FFIELD' @@ -483,6 +483,7 @@ cMS$ATTRIBUTES C :: proc_proc include 'COMMON.CONTROL' include 'COMMON.TIME1' include 'COMMON.MAXGRAD' + include 'COMMON.SCCOR' #ifdef TIMING #ifdef MPI time01=MPI_Wtime() @@ -755,7 +756,6 @@ c enddo & +wturn3*gel_loc_turn3(i) & +wturn6*gel_loc_turn6(i) & +wel_loc*gel_loc_loc(i) - & +wsccor*gsccor_loc(i) enddo #ifdef DEBUG write (iout,*) "gloc after adding corr" @@ -774,6 +774,21 @@ c enddo do i=1,4*nres glocbuf(i)=gloc(i,icg) enddo +#define DEBUG +#ifdef DEBUG + write (iout,*) "gloc_sc before reduce" + do i=1,nres + do j=1,3 + write (iout,*) i,j,gloc_sc(j,i,icg) + enddo + enddo +#endif +#undef DEBUG + do i=1,nres + do j=1,3 + gloc_scbuf(j,i)=gloc_sc(j,i,icg) + enddo + enddo time00=MPI_Wtime() call MPI_Barrier(FG_COMM,IERR) time_barrier_g=time_barrier_g+MPI_Wtime()-time00 @@ -784,7 +799,19 @@ c enddo & MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR) call MPI_Reduce(glocbuf(1),gloc(1,icg),4*nres, & MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR) + call MPI_Reduce(gloc_scbuf(1,1),gloc_sc(1,1,icg),3*nres, + & MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR) time_reduce=time_reduce+MPI_Wtime()-time00 +#define DEBUG +#ifdef DEBUG + write (iout,*) "gloc_sc after reduce" + do i=1,nres + do j=1,3 + write (iout,*) i,j,gloc_sc(j,i,icg) + enddo + enddo +#endif +#undef DEBUG #ifdef DEBUG write (iout,*) "gloc after reduce" do i=1,4*nres @@ -5650,7 +5677,7 @@ C Proline-Proline pair is a special case... & restyp(itype(i-2)),i-2,restyp(itype(i-1)),i-1,itori,itori1, & (v1(j,itori,itori1),j=1,6),(v2(j,itori,itori1),j=1,6) gloc(i-3,icg)=gloc(i-3,icg)+wtor*gloci -c write (iout,*) 'i=',i,' gloc=',gloc(i-3,icg) + write (iout,*) 'i=',i,' gloc=',gloc(i-3,icg) enddo ! 6/20/98 - dihedral angle constraints edihcnstr=0.0d0 @@ -5765,6 +5792,7 @@ c do i=1,ndih_constr else difi=0.0 endif +c write (iout,*) "gloci", gloc(i-3,icg) cd write (iout,'(2i5,4f8.3,2e14.5)') i,itori,rad2deg*phii, cd & rad2deg*phi0(i), rad2deg*drange(i), cd & rad2deg*difi,0.25d0*ftors*difi**4,gloc(itori-3,icg) @@ -5801,7 +5829,6 @@ c lprn=.true. phii1=phi(i+1) gloci1=0.0D0 gloci2=0.0D0 -C Regular cosine and sine terms do j=1,ntermd_1(itori,itori1,itori2) v1cij=v1c(1,j,itori,itori1,itori2) v1sij=v1s(1,j,itori,itori1,itori2) @@ -5836,6 +5863,7 @@ C Regular cosine and sine terms enddo gloc(i-3,icg)=gloc(i-3,icg)+wtor_d*gloci1 gloc(i-2,icg)=gloc(i-2,icg)+wtor_d*gloci2 +c write (iout,*) "gloci", gloc(i-3,icg) enddo return end @@ -5868,26 +5896,57 @@ C Set lprn=.true. for debugging c lprn=.true. c write (iout,*) "EBACK_SC_COR",iphi_start,iphi_end,nterm_sccor esccor=0.0D0 - do i=iphi_start,iphi_end + do i=itau_start,itau_end esccor_ii=0.0D0 - itori=itype(i-2) - itori1=itype(i-1) + isccori=isccortyp(itype(i-2)) + isccori1=isccortyp(itype(i-1)) phii=phi(i) +cccc Added 9 May 2012 +cc Tauangle is torsional engle depending on the value of first digit +c(see comment below) +cc Omicron is flat angle depending on the value of first digit +c(see comment below) + + + do intertyp=1,3 !intertyp +cc Added 09 May 2012 (Adasko) +cc Intertyp means interaction type of backbone mainchain correlation: +c 1 = SC...Ca...Ca...Ca +c 2 = Ca...Ca...Ca...SC +c 3 = SC...Ca...Ca...SCi gloci=0.0D0 - do j=1,nterm_sccor - v1ij=v1sccor(j,itori,itori1) - v2ij=v2sccor(j,itori,itori1) - cosphi=dcos(j*phii) - sinphi=dsin(j*phii) + if (((intertyp.eq.3).and.((itype(i-2).eq.10).or. + & (itype(i-1).eq.10).or.(itype(i-2).eq.21).or. + & (itype(i-1).eq.21))) + & .or. ((intertyp.eq.1).and.((itype(i-2).eq.10) + & .or.(itype(i-2).eq.21))) + & .or.((intertyp.eq.2).and.((itype(i-1).eq.10).or. + & (itype(i-1).eq.21)))) cycle + if ((intertyp.eq.2).and.(i.eq.4).and.(itype(1).eq.21)) cycle + if ((intertyp.eq.1).and.(i.eq.nres).and.(itype(nres).eq.21)) + & cycle + do j=1,nterm_sccor(isccori,isccori1) + v1ij=v1sccor(j,intertyp,isccori,isccori1) + v2ij=v2sccor(j,intertyp,isccori,isccori1) + cosphi=dcos(j*tauangle(intertyp,i)) + sinphi=dsin(j*tauangle(intertyp,i)) esccor=esccor+v1ij*cosphi+v2ij*sinphi gloci=gloci+j*(v2ij*cosphi-v1ij*sinphi) enddo + gloc_sc(intertyp,i-3,icg)=gloc_sc(intertyp,i-3,icg)+wsccor*gloci +c write (iout,*) "WTF",intertyp,i,itype(i),v1ij*cosphi+v2ij*sinphi +c &gloc_sc(intertyp,i-3,icg) if (lprn) & write (iout,'(2(a3,2x,i3,2x),2i3,6f8.3/26x,6f8.3/)') & restyp(itype(i-2)),i-2,restyp(itype(i-1)),i-1,itori,itori1, - & (v1sccor(j,itori,itori1),j=1,6),(v2sccor(j,itori,itori1),j=1,6) + & (v1sccor(j,intertyp,itori,itori1),j=1,6) + & ,(v2sccor(j,intertyp,itori,itori1),j=1,6) gsccor_loc(i-3)=gsccor_loc(i-3)+gloci + enddo !intertyp enddo +c do i=1,nres +c write (iout,*) "W@T@F", gloc_sc(1,i,icg),gloc(i,icg) +c enddo return end c---------------------------------------------------------------------------- diff --git a/source/unres/src_MD/gradient_p.F b/source/unres/src_MD/gradient_p.F index 375fcf4..7fec1e8 100644 --- a/source/unres/src_MD/gradient_p.F +++ b/source/unres/src_MD/gradient_p.F @@ -8,6 +8,7 @@ include 'COMMON.FFIELD' include 'COMMON.MD' include 'COMMON.IOUNITS' + include 'COMMON.SCCOR' external ufparm integer uiparm(1) double precision urparm(1) @@ -263,10 +264,15 @@ C------------------------------------------------------------------------- include 'COMMON.MD' include 'COMMON.IOUNITS' include 'COMMON.TIME1' + include 'COMMON.SCCOR' c c This subrouting calculates total Cartesian coordinate gradient. c The subroutine chainbuild_cart and energy MUST be called beforehand. c +c do i=1,nres +c write (iout,*) "przed sum_grad", gloc_sc(1,i,icg),gloc(i,icg) +c enddo + #ifdef TIMING time00=MPI_Wtime() #endif @@ -274,6 +280,9 @@ c call sum_gradient #ifdef TIMING #endif +c do i=1,nres +c write (iout,*) "checkgrad", gloc_sc(1,i,icg),gloc(i,icg) +c enddo cd write (iout,*) "After sum_gradient" cd do i=1,nres-1 cd write (iout,*) i," gradc ",(gradc(j,i,icg),j=1,3) @@ -337,6 +346,7 @@ C------------------------------------------------------------------------- include 'COMMON.CHAIN' include 'COMMON.VAR' include 'COMMON.MD' + include 'COMMON.SCCOR' C C Initialize Cartesian-coordinate gradient C @@ -374,6 +384,9 @@ C gradx(j,i,icg)=0.0d0 gscloc(j,i)=0.0d0 gsclocx(j,i)=0.0d0 + do intertyp=1,3 + gloc_sc(intertyp,i,icg)=0.0d0 + enddo enddo enddo C diff --git a/source/unres/src_MD/initialize_p.F b/source/unres/src_MD/initialize_p.F index 75c98de..7db117d 100644 --- a/source/unres/src_MD/initialize_p.F +++ b/source/unres/src_MD/initialize_p.F @@ -564,6 +564,9 @@ C Partition local interactions iphi_end=iturn3_end+2 iturn3_start=iturn3_start-1 iturn3_end=iturn3_end-1 + call int_bounds(nres-3,itau_start,itau_end) + itau_start=itau_start+3 + itau_end=itau_end+3 call int_bounds(nres-3,iphi1_start,iphi1_end) iphi1_start=iphi1_start+3 iphi1_end=iphi1_end+3 @@ -1090,6 +1093,8 @@ c write (iout,*) "MPI_ROTAT2",MPI_ROTAT2 idihconstr_end=ndih_constr iphid_start=iphi_start iphid_end=iphi_end-1 + itau_start=4 + itau_end=nres ibond_start=2 ibond_end=nres-1 ibondp_start=nnt+1 diff --git a/source/unres/src_MD/int_to_cart.f b/source/unres/src_MD/int_to_cart.f index 0528af7..73e8384 100644 --- a/source/unres/src_MD/int_to_cart.f +++ b/source/unres/src_MD/int_to_cart.f @@ -13,9 +13,15 @@ c------------------------------------------------------------- include 'COMMON.INTERACT' include 'COMMON.MD' include 'COMMON.IOUNITS' - + include 'COMMON.SCCOR' c calculating dE/ddc1 - if (nres.lt.3) return + if (nres.lt.3) goto 18 +c do i=1,nres +c c do intertyp=1,3 +c write (iout,*) "przed tosyjnymi",i,intertyp,gcart(intertyp,i) +c &,gloc_sc(1,i,icg),gloc(i,icg) +c enddo +c enddo do j=1,3 gcart(j,1)=gcart(j,1)+gloc(1,icg)*dphi(j,1,4) & +gloc(nres-2,icg)*dtheta(j,1,3) @@ -113,6 +119,159 @@ c The side-chain vector derivatives enddo endif enddo +c---------------------------------------------------------------------- +C INTERTYP=1 SC...Ca...Ca...Ca +C INTERTYP=2 Ca...Ca...Ca...SC +C INTERTYP=3 SC...Ca...Ca...SC +c calculating dE/ddc1 + 18 continue +c do i=1,nres +c gloc(i,icg)=0.0D0 +c write (iout,*) "poczotkoawy",i,gloc_sc(1,i,icg) +c enddo + if (nres.lt.2) return + if ((nres.lt.3).and.(itype(1).eq.10)) return + if ((itype(1).ne.10).and.(itype(1).ne.21)) then + do j=1,3 +cc Derviative was calculated for oposite vector of side chain therefore +c there is "-" sign before gloc_sc + gxcart(j,1)=gxcart(j,1)-gloc_sc(1,0,icg)* + & dtauangle(j,1,1,3) + gcart(j,1)=gcart(j,1)+gloc_sc(1,0,icg)* + & dtauangle(j,1,2,3) + if ((itype(2).ne.10).and.(itype(2).ne.21)) then + gxcart(j,1)= gxcart(j,1) + & -gloc_sc(3,0,icg)*dtauangle(j,3,1,3) + gcart(j,1)=gcart(j,1)+gloc_sc(3,0,icg)* + & dtauangle(j,3,2,3) + endif + enddo + endif + if ((nres.ge.3).and.(itype(3).ne.10).and.(itype(3).ne.21)) + & then + do j=1,3 + gcart(j,1)=gcart(j,1)+gloc_sc(2,1,icg)*dtauangle(j,2,1,4) + enddo + endif +c As potetnial DO NOT depend on omicron anlge their derivative is +c ommited +c & +gloc_sc(intertyp,nres-2,icg)*dtheta(j,1,3) + +c Calculating the remainder of dE/ddc2 + do j=1,3 + if((itype(2).ne.10).and.(itype(2).ne.21)) then + if (itype(1).ne.10) gxcart(j,2)=gxcart(j,2)+ + & gloc_sc(3,0,icg)*dtauangle(j,3,3,3) + if ((itype(3).ne.10).and.(nres.ge.3).and.(itype(3).ne.21)) then + gxcart(j,2)=gxcart(j,2)-gloc_sc(3,1,icg)*dtauangle(j,3,1,4) +cc the - above is due to different vector direction + gcart(j,2)=gcart(j,2)+gloc_sc(3,1,icg)*dtauangle(j,3,2,4) + endif + if (nres.gt.3) then + gxcart(j,2)=gxcart(j,2)-gloc_sc(1,1,icg)*dtauangle(j,1,1,4) +cc the - above is due to different vector direction + gcart(j,2)=gcart(j,2)+gloc_sc(1,1,icg)*dtauangle(j,1,2,4) +c write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,2,4),"gcart" +c write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,1,4),"gx" + endif + endif + if ((itype(1).ne.10).and.(itype(1).ne.21)) then + gcart(j,2)=gcart(j,2)+gloc_sc(1,0,icg)*dtauangle(j,1,3,3) +c write(iout,*) gloc_sc(1,0,icg),dtauangle(j,1,3,3) + endif + if ((itype(3).ne.10).and.(nres.ge.3)) then + gcart(j,2)=gcart(j,2)+gloc_sc(2,1,icg)*dtauangle(j,2,2,4) +c write(iout,*) gloc_sc(2,1,icg),dtauangle(j,2,2,4) + endif + if ((itype(4).ne.10).and.(nres.ge.4)) then + gcart(j,2)=gcart(j,2)+gloc_sc(2,2,icg)*dtauangle(j,2,1,5) +c write(iout,*) gloc_sc(2,2,icg),dtauangle(j,2,1,5) + endif + +c write(iout,*) gcart(j,2),itype(2),itype(1),itype(3), "gcart2" + enddo +c If there are more than five residues + if(nres.ge.5) then + do i=3,nres-2 + do j=1,3 +c write(iout,*) "before", gcart(j,i) + if (itype(i).ne.10) then + gxcart(j,i)=gxcart(j,i)+gloc_sc(2,i-2,icg) + & *dtauangle(j,2,3,i+1) + & -gloc_sc(1,i-1,icg)*dtauangle(j,1,1,i+2) + gcart(j,i)=gcart(j,i)+gloc_sc(1,i-1,icg) + & *dtauangle(j,1,2,i+2) +c write(iout,*) "new",j,i, +c & gcart(j,i),gloc_sc(1,i-1,icg),dtauangle(j,1,2,i+2) + + if (itype(i-1).ne.10) then + gxcart(j,i)=gxcart(j,i)+gloc_sc(3,i-2,icg) + &*dtauangle(j,3,3,i+1) + endif + if (itype(i+1).ne.10) then + gxcart(j,i)=gxcart(j,i)-gloc_sc(3,i-1,icg) + &*dtauangle(j,3,1,i+2) + gcart(j,i)=gcart(j,i)+gloc_sc(3,i-1,icg) + &*dtauangle(j,3,2,i+2) + endif + endif + if (itype(i-1).ne.10) then + gcart(j,i)=gcart(j,i)+gloc_sc(1,i-2,icg)* + & dtauangle(j,1,3,i+1) + endif + if (itype(i+1).ne.10) then + gcart(j,i)=gcart(j,i)+gloc_sc(2,i-1,icg)* + & dtauangle(j,2,2,i+2) +c write(iout,*) "numer",i,gloc_sc(2,i-1,icg), +c & dtauangle(j,2,2,i+2) + endif + if (itype(i+2).ne.10) then + gcart(j,i)=gcart(j,i)+gloc_sc(2,i,icg)* + & dtauangle(j,2,1,i+3) + endif + enddo + enddo + endif +c Setting dE/ddnres-1 + if(nres.ge.4) then + do j=1,3 + if ((itype(nres-1).ne.10).and.(itype(nres-1).ne.21)) then + gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(2,nres-3,icg) + & *dtauangle(j,2,3,nres) +c write (iout,*) "gxcart(nres-1)", gloc_sc(2,nres-3,icg), +c & dtauangle(j,2,3,nres), gxcart(j,nres-1) + if (itype(nres-2).ne.10) then + gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(3,nres-3,icg) + & *dtauangle(j,3,3,nres) + endif + if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then + gxcart(j,nres-1)=gxcart(j,nres-1)-gloc_sc(3,nres-2,icg) + & *dtauangle(j,3,1,nres+1) + gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(3,nres-2,icg) + & *dtauangle(j,3,2,nres+1) + endif + endif + if ((itype(nres-2).ne.10).and.(itype(nres-2).ne.21)) then + gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(1,nres-3,icg)* + & dtauangle(j,1,3,nres) + endif + if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then + gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(2,nres-2,icg)* + & dtauangle(j,2,2,nres+1) +c write (iout,*) "gcart(nres-1)", gloc_sc(2,nres-2,icg), +c & dtauangle(j,2,2,nres+1), itype(nres-1),itype(nres) + endif + enddo + endif +c Settind dE/ddnres + if ((nres.ge.3).and.(itype(nres).ne.10))then + do j=1,3 + gxcart(j,nres)=gxcart(j,nres)+gloc_sc(3,nres-2,icg) + & *dtauangle(j,3,3,nres+1)+gloc_sc(2,nres-2,icg) + & *dtauangle(j,2,3,nres+1) + enddo + endif +c The side-chain vector derivatives return end diff --git a/source/unres/src_MD/intcartderiv.F b/source/unres/src_MD/intcartderiv.F index 5fea875..c220540 100644 --- a/source/unres/src_MD/intcartderiv.F +++ b/source/unres/src_MD/intcartderiv.F @@ -12,6 +12,7 @@ include 'COMMON.DERIV' include 'COMMON.IOUNITS' include 'COMMON.LOCAL' + include 'COMMON.SCCOR' double precision dcostheta(3,2,maxres), & dcosphi(3,3,maxres),dsinphi(3,3,maxres), & dcosalpha(3,3,maxres),dcosomega(3,3,maxres), @@ -44,6 +45,44 @@ c We need dtheta(:,:,i-1) to compute dphi(:,:,i) dtheta(j,2,i)=-1/sint*dcostheta(j,2,i) enddo enddo + +#if defined(MPI) && defined(PARINTDER) +c We need dtheta(:,:,i-1) to compute dphi(:,:,i) + do i=max0(ithet_start-1,3),ithet_end +#else + do i=3,nres +#endif + if ((itype(i-1).ne.10).and.(itype(i-1).ne.21)) then + cost1=dcos(omicron(1,i)) + sint1=sqrt(1-cost1*cost1) + cost2=dcos(omicron(2,i)) + sint2=sqrt(1-cost2*cost2) + do j=1,3 +CC Calculate derivative over first omicron (Cai-2,Cai-1,SCi-1) + dcosomicron(j,1,1,i)=-(dc_norm(j,i-1+nres)+ + & cost1*dc_norm(j,i-2))/ + & vbld(i-1) + domicron(j,1,1,i)=-1/sint1*dcosomicron(j,1,1,i) + dcosomicron(j,1,2,i)=-(dc_norm(j,i-2) + & +cost1*(dc_norm(j,i-1+nres)))/ + & vbld(i-1+nres) + domicron(j,1,2,i)=-1/sint1*dcosomicron(j,1,2,i) +CC Calculate derivative over second omicron Sci-1,Cai-1 Cai +CC Looks messy but better than if in loop + dcosomicron(j,2,1,i)=-(-dc_norm(j,i-1+nres) + & +cost2*dc_norm(j,i-1))/ + & vbld(i) + domicron(j,2,1,i)=-1/sint2*dcosomicron(j,2,1,i) + dcosomicron(j,2,2,i)=-(dc_norm(j,i-1) + & +cost2*(-dc_norm(j,i-1+nres)))/ + & vbld(i-1+nres) +c write(iout,*) "vbld", i,itype(i),vbld(i-1+nres) + domicron(j,2,2,i)=-1/sint2*dcosomicron(j,2,2,i) + enddo + endif + enddo + + c Derivatives of phi: c If phi is 0 or 180 degrees, then the formulas @@ -109,6 +148,226 @@ c Obtaining the gamma derivatives from cosine derivative enddo endif enddo + +Calculate derivative of Tauangle +#ifdef PARINTDER + do i=itau_start,itau_end +#else + do i=3,nres +#endif + if ((itype(i-2).eq.21).or.(itype(i-2).eq.10)) cycle +cc dtauangle(j,intertyp,dervityp,residue number) +cc INTERTYP=1 SC...Ca...Ca..Ca +c the conventional case + sint=dsin(theta(i)) + sint1=dsin(omicron(2,i-1)) + sing=dsin(tauangle(1,i)) + cost=dcos(theta(i)) + cost1=dcos(omicron(2,i-1)) + cosg=dcos(tauangle(1,i)) + do j=1,3 + dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres) +cc write(iout,*) dc_norm2(j,i-2+nres),"dcnorm" + enddo + scalp=scalar(dc_norm2(1,i-2+nres),dc_norm(1,i-1)) + fac0=1.0d0/(sint1*sint) + fac1=cost*fac0 + fac2=cost1*fac0 + fac3=cosg*cost1/(sint1*sint1) + fac4=cosg*cost/(sint*sint) +cc write(iout,*) "faki",fac0,fac1,fac2,fac3,fac4 +c Obtaining the gamma derivatives from sine derivative + if (tauangle(1,i).gt.-pi4.and.tauangle(1,i).le.pi4.or. + & tauangle(1,i).gt.pi34.and.tauangle(1,i).le.pi.or. + & tauangle(1,i).gt.-pi.and.tauangle(1,i).le.-pi34) then + call vecpr(dc_norm(1,i-1),dc_norm(1,i-2),vp1) + call vecpr(dc_norm2(1,i-2+nres),dc_norm(1,i-1),vp2) + call vecpr(dc_norm2(1,i-2+nres),dc_norm(1,i-2),vp3) + do j=1,3 + ctgt=cost/sint + ctgt1=cost1/sint1 + cosg_inv=1.0d0/cosg + dsintau(j,1,1,i)=-sing*ctgt1*domicron(j,2,2,i-1) + &-(fac0*vp1(j)+sing*(dc_norm2(j,i-2+nres))) + & *vbld_inv(i-2+nres) + dtauangle(j,1,1,i)=cosg_inv*dsintau(j,1,1,i) + dsintau(j,1,2,i)= + & -sing*(ctgt1*domicron(j,2,1,i-1)+ctgt*dtheta(j,1,i)) + & -(fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1) +c write(iout,*) "dsintau", dsintau(j,1,2,i) + dtauangle(j,1,2,i)=cosg_inv*dsintau(j,1,2,i) +c Bug fixed 3/24/05 (AL) + dsintau(j,1,3,i)=-sing*ctgt*dtheta(j,2,i) + & +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i) +c & +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i-1) + dtauangle(j,1,3,i)=cosg_inv*dsintau(j,1,3,i) + enddo +c Obtaining the gamma derivatives from cosine derivative + else + do j=1,3 + dcostau(j,1,1,i)=fac1*dcosomicron(j,2,2,i-1)+fac3* + & dcosomicron(j,2,2,i-1)-fac0*(dc_norm(j,i-1)-scalp* + & (dc_norm2(j,i-2+nres)))/vbld(i-2+nres) + dtauangle(j,1,1,i)=-1/sing*dcostau(j,1,1,i) + dcostau(j,1,2,i)=fac1*dcosomicron(j,2,1,i-1)+fac2* + & dcostheta(j,1,i)+fac3*dcosomicron(j,2,1,i-1)+fac4* + & dcostheta(j,1,i) + dtauangle(j,1,2,i)=-1/sing*dcostau(j,1,2,i) + dcostau(j,1,3,i)=fac2*dcostheta(j,2,i)+fac4* + & dcostheta(j,2,i)-fac0*(-dc_norm(j,i-2+nres)-scalp* + & dc_norm(j,i-1))/vbld(i) + dtauangle(j,1,3,i)=-1/sing*dcostau(j,1,3,i) +c write (iout,*) "else",i + enddo + endif +c do k=1,3 +c write(iout,*) "tu",i,k,(dtauangle(j,1,k,i),j=1,3) +c enddo + enddo +CC Second case Ca...Ca...Ca...SC +#ifdef PARINTDER + do i=itau_start,itau_end +#else + do i=4,nres +#endif + if ((itype(i-1).eq.21).or.(itype(i-1).eq.10)) cycle +c the conventional case + sint=dsin(omicron(1,i)) + sint1=dsin(theta(i-1)) + sing=dsin(tauangle(2,i)) + cost=dcos(omicron(1,i)) + cost1=dcos(theta(i-1)) + cosg=dcos(tauangle(2,i)) +c do j=1,3 +c dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres) +c enddo + scalp=scalar(dc_norm(1,i-3),dc_norm(1,i-1+nres)) + fac0=1.0d0/(sint1*sint) + fac1=cost*fac0 + fac2=cost1*fac0 + fac3=cosg*cost1/(sint1*sint1) + fac4=cosg*cost/(sint*sint) +c Obtaining the gamma derivatives from sine derivative + if (tauangle(2,i).gt.-pi4.and.tauangle(2,i).le.pi4.or. + & tauangle(2,i).gt.pi34.and.tauangle(2,i).le.pi.or. + & tauangle(2,i).gt.-pi.and.tauangle(2,i).le.-pi34) then + call vecpr(dc_norm2(1,i-1+nres),dc_norm(1,i-2),vp1) + call vecpr(dc_norm(1,i-3),dc_norm(1,i-1+nres),vp2) + call vecpr(dc_norm(1,i-3),dc_norm(1,i-2),vp3) + do j=1,3 + ctgt=cost/sint + ctgt1=cost1/sint1 + cosg_inv=1.0d0/cosg + dsintau(j,2,1,i)=-sing*ctgt1*dtheta(j,1,i-1) + & +(fac0*vp1(j)-sing*dc_norm(j,i-3))*vbld_inv(i-2) +c write(iout,*) i,j,dsintau(j,2,1,i),sing*ctgt1*dtheta(j,1,i-1), +c &fac0*vp1(j),sing*dc_norm(j,i-3),vbld_inv(i-2),"dsintau(2,1)" + dtauangle(j,2,1,i)=cosg_inv*dsintau(j,2,1,i) + dsintau(j,2,2,i)= + & -sing*(ctgt1*dtheta(j,2,i-1)+ctgt*domicron(j,1,1,i)) + & -(fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1) +c write(iout,*) "sprawdzenie",i,j,sing*ctgt1*dtheta(j,2,i-1), +c & sing*ctgt*domicron(j,1,2,i), +c & (fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1) + dtauangle(j,2,2,i)=cosg_inv*dsintau(j,2,2,i) +c Bug fixed 3/24/05 (AL) + dsintau(j,2,3,i)=-sing*ctgt*domicron(j,1,2,i) + & +(fac0*vp3(j)-sing*dc_norm(j,i-1+nres))*vbld_inv(i-1+nres) +c & +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i-1) + dtauangle(j,2,3,i)=cosg_inv*dsintau(j,2,3,i) + enddo +c Obtaining the gamma derivatives from cosine derivative + else + do j=1,3 + dcostau(j,2,1,i)=fac1*dcostheta(j,1,i-1)+fac3* + & dcostheta(j,1,i-1)-fac0*(dc_norm(j,i-1+nres)-scalp* + & dc_norm(j,i-3))/vbld(i-2) + dtauangle(j,2,1,i)=-1/sing*dcostau(j,2,1,i) + dcostau(j,2,2,i)=fac1*dcostheta(j,2,i-1)+fac2* + & dcosomicron(j,1,1,i)+fac3*dcostheta(j,2,i-1)+fac4* + & dcosomicron(j,1,1,i) + dtauangle(j,2,2,i)=-1/sing*dcostau(j,2,2,i) + dcostau(j,2,3,i)=fac2*dcosomicron(j,1,2,i)+fac4* + & dcosomicron(j,1,2,i)-fac0*(dc_norm(j,i-3)-scalp* + & dc_norm(j,i-1+nres))/vbld(i-1+nres) + dtauangle(j,2,3,i)=-1/sing*dcostau(j,2,3,i) +c write(iout,*) i,j,"else", dtauangle(j,2,3,i) + enddo + endif + enddo + + +CCC third case SC...Ca...Ca...SC +#ifdef PARINTDER + + do i=itau_start,itau_end +#else + do i=3,nres +#endif +c the conventional case + if ((itype(i-1).eq.21).or.(itype(i-1).eq.10).or. + &(itype(i-2).eq.21).or.(itype(i-2).eq.10)) cycle + sint=dsin(omicron(1,i)) + sint1=dsin(omicron(2,i-1)) + sing=dsin(tauangle(3,i)) + cost=dcos(omicron(1,i)) + cost1=dcos(omicron(2,i-1)) + cosg=dcos(tauangle(3,i)) + do j=1,3 + dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres) +c dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres) + enddo + scalp=scalar(dc_norm2(1,i-2+nres),dc_norm(1,i-1+nres)) + fac0=1.0d0/(sint1*sint) + fac1=cost*fac0 + fac2=cost1*fac0 + fac3=cosg*cost1/(sint1*sint1) + fac4=cosg*cost/(sint*sint) +c Obtaining the gamma derivatives from sine derivative + if (tauangle(3,i).gt.-pi4.and.tauangle(3,i).le.pi4.or. + & tauangle(3,i).gt.pi34.and.tauangle(3,i).le.pi.or. + & tauangle(3,i).gt.-pi.and.tauangle(3,i).le.-pi34) then + call vecpr(dc_norm(1,i-1+nres),dc_norm(1,i-2),vp1) + call vecpr(dc_norm2(1,i-2+nres),dc_norm(1,i-1+nres),vp2) + call vecpr(dc_norm2(1,i-2+nres),dc_norm(1,i-2),vp3) + do j=1,3 + ctgt=cost/sint + ctgt1=cost1/sint1 + cosg_inv=1.0d0/cosg + dsintau(j,3,1,i)=-sing*ctgt1*domicron(j,2,2,i-1) + & -(fac0*vp1(j)-sing*dc_norm(j,i-2+nres)) + & *vbld_inv(i-2+nres) + dtauangle(j,3,1,i)=cosg_inv*dsintau(j,3,1,i) + dsintau(j,3,2,i)= + & -sing*(ctgt1*domicron(j,2,1,i-1)+ctgt*domicron(j,1,1,i)) + & -(fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1) + dtauangle(j,3,2,i)=cosg_inv*dsintau(j,3,2,i) +c Bug fixed 3/24/05 (AL) + dsintau(j,3,3,i)=-sing*ctgt*domicron(j,1,2,i) + & +(fac0*vp3(j)-sing*dc_norm(j,i-1+nres)) + & *vbld_inv(i-1+nres) +c & +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i-1) + dtauangle(j,3,3,i)=cosg_inv*dsintau(j,3,3,i) + enddo +c Obtaining the gamma derivatives from cosine derivative + else + do j=1,3 + dcostau(j,3,1,i)=fac1*dcosomicron(j,2,2,i-1)+fac3* + & dcosomicron(j,2,2,i-1)-fac0*(dc_norm(j,i-1+nres)-scalp* + & dc_norm2(j,i-2+nres))/vbld(i-2+nres) + dtauangle(j,3,1,i)=-1/sing*dcostau(j,3,1,i) + dcostau(j,3,2,i)=fac1*dcosomicron(j,2,1,i-1)+fac2* + & dcosomicron(j,1,1,i)+fac3*dcosomicron(j,2,1,i-1)+fac4* + & dcosomicron(j,1,1,i) + dtauangle(j,3,2,i)=-1/sing*dcostau(j,3,2,i) + dcostau(j,3,3,i)=fac2*dcosomicron(j,1,2,i)+fac4* + & dcosomicron(j,1,2,i)-fac0*(dc_norm2(j,i-2+nres)-scalp* + & dc_norm(j,i-1+nres))/vbld(i-1+nres) + dtauangle(j,3,3,i)=-1/sing*dcostau(j,3,3,i) +c write(iout,*) "else",i + enddo + endif + enddo #ifdef CRYST_SC c Derivatives of side-chain angles alpha and omega #if defined(MPI) && defined(PARINTDER) @@ -199,12 +458,12 @@ c obtaining the derivatives of omega from cosines #if defined(MPI) && defined(PARINTDER) if (nfgtasks.gt.1) then #ifdef DEBUG -cd write (iout,*) "Gather dtheta" + write (iout,*) "Gather dtheta" cd call flush(iout) - write (iout,*) "dtheta before gather" - do i=1,nres - write (iout,'(i3,3(3f8.5,3x))') i,((dtheta(j,k,i),k=1,3),j=1,2) - enddo +c write (iout,*) "dtheta before gather" +c do i=1,nres +c write (iout,'(i3,3(3f8.5,3x))') i,((dtheta(j,k,i),k=1,3),j=1,2) +c enddo #endif call MPI_Gatherv(dtheta(1,1,ithet_start),ithet_count(fg_rank), & MPI_THET,dtheta(1,1,1),ithet_count(0),ithet_displ(0),MPI_THET, diff --git a/source/unres/src_MD/map.f b/source/unres/src_MD/map.f index 6ea2632..9dbe64e 100644 --- a/source/unres/src_MD/map.f +++ b/source/unres/src_MD/map.f @@ -56,6 +56,7 @@ Cd write (iout,*) i,iii,(nn(j),j=1,nmap) enddo ! k enddo ! j call chainbuild + call int_from_cart1(.false.) if (minim) then call geom_to_var(nvar,x) call minimize(etot,x,iretcode,nfun) diff --git a/source/unres/src_MD/parmread.F b/source/unres/src_MD/parmread.F index be5f8b8..1968235 100644 --- a/source/unres/src_MD/parmread.F +++ b/source/unres/src_MD/parmread.F @@ -553,33 +553,59 @@ C enddo endif #endif +C Read of Side-chain backbone correlation parameters +C Modified 11 May 2012 by Adasko +CCC C -C 5/21/07 (AL) Read coefficients of the backbone-local sidechain-local -C correlation energies. -C - read (isccor,*,end=119,err=119) nterm_sccor - do i=1,20 - do j=1,20 - read (isccor,'(a)') - do k=1,nterm_sccor - read (isccor,*,end=119,err=119) kk,v1sccor(k,i,j), - & v2sccor(k,i,j) + read (isccor,*,end=113,err=113) nsccortyp + read (isccor,*,end=113,err=113) (isccortyp(i),i=1,ntyp) +c write (iout,*) 'ntortyp',ntortyp + maxinter=3 +cc maxinter is maximum interaction sites + do l=1,maxinter + do i=1,nsccortyp + do j=1,nsccortyp + read (isccor,*,end=113,err=113) nterm_sccor(i,j),nlor_sccor(i,j) + v0ijsccor=0.0d0 + si=-1.0d0 + + do k=1,nterm_sccor(i,j) + read (isccor,*,end=113,err=113) kk,v1sccor(k,l,i,j) + & ,v2sccor(k,l,i,j) + v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j) + si=-si + enddo + do k=1,nlor_sccor(i,j) + read (isccor,*,end=113,err=113) kk,vlor1sccor(k,i,j), + & vlor2sccor(k,i,j),vlor3sccor(k,i,j) + v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/ + &(1+vlor3sccor(k,i,j)**2) enddo + v0sccor(i,j)=v0ijsccor enddo enddo + enddo close (isccor) + if (lprint) then - write (iout,'(/a/)') 'Torsional constants of SCCORR:' - do i=1,20 - do j=1,20 + write (iout,'(/a/)') 'Torsional constants:' + do i=1,nsccortyp + do j=1,nsccortyp write (iout,*) 'ityp',i,' jtyp',j - do k=1,nterm_sccor - write (iout,'(2(1pe15.5))') v1sccor(k,i,j),v2sccor(k,i,j) + write (iout,*) 'Fourier constants' + do k=1,nterm_sccor(i,j) + write (iout,'(2(1pe15.5))') v1sccor(k,l,i,j),v2sccor(k,l,i,j) + enddo + write (iout,*) 'Lorenz constants' + do k=1,nlor_sccor(i,j) + write (iout,'(3(1pe15.5))') + & vlor1sccor(k,i,j),vlor2sccor(k,i,j),vlor3sccor(k,i,j) enddo enddo enddo endif C +C C 9/18/99 (AL) Read coefficients of the Fourier expansion of the local C interaction energy of the Gly, Ala, and Pro prototypes. C diff --git a/source/unres/src_MD/readrtns.F b/source/unres/src_MD/readrtns.F index 684c376..abd3911 100644 --- a/source/unres/src_MD/readrtns.F +++ b/source/unres/src_MD/readrtns.F @@ -2192,6 +2192,7 @@ c print *,"Processor",myrank," fg_rank",fg_rank #if defined(AIX) || defined(PGI) if (me.eq.king .or. .not. out1file) & open(iout,file=outname,status='unknown') +c#define DEBUG #ifdef DEBUG if (fg_rank.gt.0) then write (liczba,'(i3.3)') myrank/nfgtasks @@ -2200,6 +2201,7 @@ c print *,"Processor",myrank," fg_rank",fg_rank & status='unknown') endif #endif +c#undef DEBUG if(me.eq.king) then open(igeom,file=intname,status='unknown',position='append') open(ipdb,file=pdbname,status='unknown') @@ -2211,14 +2213,17 @@ c1out open(iout,file=outname,status='unknown') #else if (me.eq.king .or. .not.out1file) & open(iout,file=outname,status='unknown') +c#define DEBUG #ifdef DEBUG if (fg_rank.gt.0) then + print "Processor",fg_rank," opening output file" write (liczba,'(i3.3)') myrank/nfgtasks write (ll,'(bz,i3.3)') fg_rank open(iout,file="debug"//liczba(:ilen(liczba))//"."//ll, & status='unknown') endif #endif +c#undef DEBUG if(me.eq.king) then open(igeom,file=intname,status='unknown',access='append') open(ipdb,file=pdbname,status='unknown') diff --git a/source/unres/src_MD/tmptmp b/source/unres/src_MD/tmptmp index 54e7a36..fb6f043 100644 --- a/source/unres/src_MD/tmptmp +++ b/source/unres/src_MD/tmptmp @@ -1 +1 @@ -adam +aks255