C ********************** 00000001 C * SUBROUTINE ADOPTA * BEFORE THE 'PREDIC' 00000002 C ********************** 00000003 SUBROUTINE ADOPTA(NL1,NL2,N1,CPEN,NS,KK,KL) 00000004 COMMON /PART/IP1,IP2/DSTR/MAL,MBC,MST,MT1,MINB2,MAXB2/VECT/V(1800)00000005 *,IST,YY(10),MSTEN 00000006 DIMENSION CPEN(NL1,NL2),KK(NS),KL(NS),KG(2) 00000007 C 00000008 I=IP1 00000015 IF(MINB2.GT.1) I=0 00000016 M=9 00000017 KG(1)=0 00000018 KG(2)=3 00000019 IF(I.GT.0.AND.IP2.GT.0) GOTO 3 00000020 IF(IP2.GT.0) GOTO 2 00000021 M=24 00000022 KG(1)=24 00000023 KG(2)=28 00000024 2 DO 222 N=1,N1 00000025 CPEN(N,M)=100. 00000026 DO 222 K1=1,2 00000027 K2=KG(K1) 00000028 CPEN(N,K2+1)=0. 00000029 CPEN(N,K2+3)=0. 00000030 222 CPEN(N,K2+2)=100. 00000031 3 CONTINUE 00000032 NS=3 00000033 Q14=0. 00000034 Q13=0. 00000035 Q12=0. 00000036 JJ=0 00000037 IF(I.GT.0.AND.IP2.GT.0.AND.MST.LE.MSTEN) JJ=1 00000038 DO 247 N=1,N1 00000039 Q14=Q13 00000040 Q13=Q12 00000041 Q12=Q11 00000042 Q11=CPEN(N,9) 00000043 CPEN(N,9)=CPEN(N,24)*CPEN(N,9)*.01 00000044 DO 248 K1=1,2 00000045 C 00000048 K2=(K1-1)*3 00000049 K3=(K1-1)*4+24 00000050 A=CPEN(N,K2+2)*CPEN(N,K3+2)*.01 00000051 DO 249 K4=1,3,2 00000052 A1=(CPEN(N,K2+2)-CPEN(N,K2+K4))*(CPEN(N,K3+2)-CPEN(N,K3+K4))*.01 00000053 249 CPEN(N,K2+K4)=A-A1 00000054 248 CPEN(N,K2+2)=A 00000055 Q2=CPEN(N,37)*ABS(100.-CPEN(N,2)-CPEN(N,5)-CPEN(N,9))*.01 00000056 CPEN(N,36)=Q11+Q2 00000057 CPEN(N,23)=Q2+CPEN(N,9) 00000058 IF(JJ.GT.0.AND.N.GT.6) CPEN(N-3,23)=CPEN(N-3,23)+ 00000059 * (CPEN(N,30)+CPEN(N-6,30))*Q14*.005 00000060 247 CONTINUE 00000061 IF(I.GT.0) CALL ZP(36,36,10,NL1,NL2,N1,V,CPEN) 00000062 C PRINT 1111,(CPEN(J,1),CPEN(J,2),CPEN(J,3),CPEN(J,4),CPEN(J,5), 00000063 C * CPEN(J,6),CPEN(J,7),CPEN(J,9),CPEN(J,24),CPEN(J,26),CPEN(J,30), 00000064 C * CPEN(J,23),CPEN(J,36),CPEN(J,37),J=1,N1) 00000065 C1111 FORMAT(1X,14F7.1) 00000066 RETURN 00000067 END 00000068 C ********************** 00000001 C * SUBROUTINE CORR * PARAMETERS: CORRECTIONS 00000002 C ********************** 00000004 SUBROUTINE CORR(MS,N1,MAXB,DQ,NEND,ESEG,ETUR,DCPEN) 00000005 DIMENSION NEND(100,2,2),ESEG(500,6),ETUR(500,4),DCPEN(501,2) 00000006 K1=0 00000007 K2=0 00000008 IF(MS.EQ.0) GOTO 253 00000009 C 00000010 DO 250 K=1,MS 00000013 K3=NEND(K,2,2)-NEND(K,1,2)+1 00000014 IF(K3.GT.K2) K2=K3 00000015 IF(K3.GE.K1) K2=K1 00000016 IF(K3.GT.K1) K1=K3 00000017 250 CONTINUE 00000018 253 M=MAX0((2*K1)/3,(3*K2)/2) 00000019 MAXB=MIN0(MAXB,M) 00000020 IF(DQ.EQ.0.) GOTO 260 00000021 C 00000022 DO 252 K=1,2 00000025 DO 252 N=1,N1 00000026 ESEG(N,K*2-1)=ESEG(N,K*2-1)-DCPEN(N,K) 00000027 252 ESEG(N,K*2)=ESEG(N,K*2)+DCPEN(N+1,K) 00000028 260 CONTINUE 00000029 RETURN 00000030 ENTRY CORR1(MS,N1,MAXB,DQ,NEND,ESEG,ETUR,DCPEN) 00000031 A=1. 00000032 RETURN 00000033 END 00000034 C ****** ****************************************************** 00000001 C MAXIMA SINGLES OUT THE STRUCTURE SEGMENTS: PROBABILITY MAXIMA 00000002 C ****** ****************************************************** 00000003 SUBROUTINE MAXIMA(NL1,NL2,N1,CPEN,NS,KK,KL,KC,SLSS,L) 00000004 COMMON /DSTR/ MARK(4),MINB2,MAXB2,NCEN(200),NT2(200)/PART/IP1,IP2 00000005 1/QP/QSG(5),ASS(6),TRN/CT/NZON,NBEG/VECT/NEND(200,4),NT(600) 00000006 2,V1(200,4),NT1(200),DCPEN(501),DCPEC(501),VVVV(398),PROC,TDIF 00000007 3/ENER/SIG(9) 00000008 DIMENSION CPEN(NL1,NL2),KK(NS),KL(NS),KC(NS) 00000009 40 FORMAT(/44H INITIALLY PREDICTED SECONDARY STRUCTURE. 00000010 1 ,F4.1,64H% IS THE MINIMAL PROBABILITY FOR STRUCTURE PREDICTION; 00000011 2POSSIBLE: ,F4.1,1H%/23H (FINAL: SEE LISTING) ,21X 00000012 3,F4.1,68H-TIME DIFFERENCE BETWEEN STRUCTURE PROBABILITY %'S MAKES 00000013 4RELIABILITY/) 00000014 42 FORMAT(/) 00000015 SLS=SLSS 00000027 N333=N1-3 00000028 C 00000029 R5=AMAX1(SQRT(SIG(2)+SIG(3)+SIG(4)+SIG(5))*100./SLS,1./TDIF) 00000030 IF(R5.GT..75) R5=.75 00000031 Q=QSG(3) 00000032 IF(IP1.EQ.0.OR.MINB2.GT.1) GOTO 210 00000033 Q=QSG(1) 00000034 IF(IP2.EQ.0) GOTO 210 00000035 Q=QSG(2) 00000036 210 SL1=SLS*Q 00000037 SL2=SL1*SL1 00000038 SL3=SL1*.01 00000039 DCPEN(1)=0. 00000040 DCPEC(1)=0. 00000041 L=0 00000042 C DOMINATING STRUCTURES 00000044 KQL=4 00000045 PROC1=PROC*R5 00000046 NS1=MIN0(NS,2) 00000047 DO 100 N=1,N1 00000048 Q=0. 00000049 NT(N)=0 00000050 DO 100 I=1,NS1 00000051 K2=KK(I) 00000052 Q1=CPEN(N,K2) 00000053 IF(Q1.LE.Q) GO TO 100 00000054 Q=Q1 00000055 NT(N)=I 00000056 100 CONTINUE 00000057 DO 10 I=1,NS 00000058 IF(I.EQ.3) SLS=SLS*R5 00000059 K2=KK(I) 00000060 K3=KL(I) 00000061 C 00000062 C 00000064 AM2=0. 00000065 AM3=CPEN(1,K2) 00000066 DO 244 N=1,N1 00000067 AM1=AM2 00000069 AM2=AM3 00000070 AM3=0. 00000071 IF(N.LT.N1) AM3=CPEN(N+1,K2) 00000072 A1=AM2-AM1 00000073 A2=AM2-AM3 00000074 IF(K3.EQ.0) A1=CPEN(N,K2-1) 00000075 IF(K3.EQ.0) A2=CPEN(N,K2+1) 00000076 DCPEN(N+1)=DCPEN(N)+AMAX1(A1,0.) 00000077 DCPEC(N+1)=DCPEC(N)+AMAX1(A2,0.) 00000078 244 CONTINUE 00000079 C 00000080 AM2=0. 00000081 AM3=CPEN(1,K2) 00000082 DO 245 N=1,N1 00000083 AM1=AM2 00000084 AM2=AM3 00000085 AM3=0. 00000086 IF(N.LT.N1) AM3=CPEN(N+1,K2) 00000087 A1=0. 00000088 A2=0. 00000089 IF(N.GT.1) A1=AM1-(DCPEC(N)-DCPEC(N-1))*SL3 00000090 IF(N.LT.N1) A2=AM3-(DCPEN(N+2)-DCPEN(N+1))*SL3 00000091 A1=AMAX1(A1,A2) 00000092 A2=AMIN1(AM1,AM3) 00000093 A1=AMAX1(A1,A2) 00000094 IF(AM2.GE.A1.AND.AM2.GT.SLS) NT(N)=-NT(N) 00000096 245 CONTINUE 00000097 C 00000098 DO 10 M=1,N1 00000101 IF(NT(M).GE.0) GO TO 10 00000103 NT(M)=-NT(M) 00000104 K4=NT(M) 00000105 IF(K4.NE.I) K4=0 00000106 K5=K4 00000107 M11=1 00000108 N11=N1 00000109 IF(I.EQ.3.AND.M.GT.3) M11=M-3 00000110 IF(I.EQ.3.AND.M.LE.N333) N11=M+3 00000111 N=M 00000112 P1=0. 00000113 NN1=0 00000114 P11=0. 00000115 QQ=CPEN(M,K2) 00000116 QQNC=QQ*(1.0167+.3333*(1.-.01*QQ)) 00000117 QN=QQ-DCPEN(M+1) 00000118 QC=QQ+DCPEC(M) 00000119 C 00000120 13 IF(N.LT.M11) GOTO 11 00000121 IF(NT(N).NE.I) K4=0 00000122 Q=QQ-QN-DCPEN(N) 00000123 Q1=QN+DCPEN(N+1) 00000124 IF(Q1.LE.0..OR.QQNC.LT.CPEN(N,K2)) GO TO 11 00000125 P=(Q1+Q-QQ)*Q*Q1 00000126 N=N-1 00000127 IF(P.LE.P1) GOTO 13 00000128 NN=N+1 00000129 P1=P 00000130 IF(K4.NE.0) NN1=NN 00000131 IF(K4.NE.0) P11=P 00000132 GOTO 13 00000133 C 00000134 11 N=M 00000135 P2=0. 00000136 P12=0. 00000137 NC1=0 00000138 15 IF(N.GT.N11) GOTO 14 00000139 K4=NT(N) 00000140 K4=IABS(K4) 00000141 IF(K4.NE.I) K5=0 00000142 Q=DCPEC(N+1)-QC+QQ 00000143 Q1=QC-DCPEC(N) 00000144 IF(Q1.LE.0..OR.QQNC.LT.CPEN(N,K2)) GO TO 14 00000145 P=(Q1+Q-QQ)*Q*Q1 00000146 N=N+1 00000147 IF(P.LE.P2) GOTO 15 00000148 NC=N-1 00000149 P2=P 00000150 IF(K5.NE.0) NC1=NC 00000151 IF(K5.NE.0) P12=P 00000152 GOTO 15 00000153 14 P=P1*P2*16./QQ**4 00000154 IF(P.LT.SL2.OR.QQ.LT.SLS) GO TO 10 00000155 C MOST 'STABLE' SEGMENTS 00000156 IF(L.EQ.0) GOTO 16 00000157 IF(I.EQ.NT1(L).AND.NN.EQ.NEND(L,1).AND.NN1.EQ.NEND(L,2).AND.NC1.EQ00000158 1.NEND(L,3).AND.NC.EQ.NEND(L,4).AND.NT(M).EQ.I) GOTO 17 00000159 16 IF(L.GE.200) PRINT 43 00000160 IF(L.GE.200) GOTO 10 00000161 43 FORMAT(/' ||| OVERFLOW: LIMIT FOR NUMBER OF CONSIDERED STRUCTUR00000162 *AL SEGMENTS = 200 |||'/) 00000163 L=L+1 00000164 IF(L.GT.200) L=200 00000165 V1(L,1)=P11/P1 00000166 V1(L,2)=P12/P2 00000167 V1(L,3)=P 00000168 V1(L,4)=QQ 00000169 NEND(L,1)=NN 00000170 NEND(L,2)=NN1 00000171 NEND(L,3)=NC1 00000172 NEND(L,4)=NC 00000173 NCEN(L)=M 00000174 NT1(L)=I 00000175 GOTO 10 00000176 17 IF(QQ.GT.V1(L,4)) V1(L,4)=QQ 00000177 IF(QQ.GT.V1(L,4)) NCEN(L)=M 00000178 V1(L,3)=P+V1(L,3) 00000179 10 CONTINUE 00000180 DO 31 N=1,N1 00000181 31 NT(N)=0 00000182 IF(L.LE.0) GO TO 39 00000183 C 00000184 C ORDER 00000185 C 00000186 DO 180 L1=1,L 00000187 QQ=V1(L1,3) 00000188 180 V1(L1,3)=ALOG(QQ) 00000189 DO 18 L1=1,L 00000190 QQ=V1(L1,KQL) 00000191 IF(L1.EQ.1) GOTO 19 00000192 DO 20 N=2,L1 00000193 K1=L1+2-N 00000194 K=NT2(K1-1) 00000195 Q=V1(K,KQL) 00000196 IF(Q.LT.QQ) GO TO 20 00000197 NT2(K1)=L1 00000198 GO TO 18 00000199 20 NT2(K1)=K 00000200 19 NT2(1)=L1 00000201 18 CONTINUE 00000202 C* PRINT 9995,((NEND(I,K),K=1,4),(V1(I,K),K=1,4),NT1(I),NT2(I) 00000203 C* *,NCEN(I),I=1,L) 00000204 C9995 FORMAT(/' NEND: 1 2 3 4 V1: 1 2 3 00000205 C* * 4 NT1 NT2 NCEN'/(6X,4I4,4X,4F9.2,3I6)) 00000206 C 00000207 C UNAMBIGUOUS PREDICTION 00000208 C 00000209 PRINT 40,PROC,PROC1,TDIF 00000210 DO 33 K1=1,L 00000211 K3=NT2(K1) 00000212 I=NT1(K3) 00000213 IF(I.LE.0) GO TO 33 00000214 IF(K1.EQ.L) GO TO 34 00000215 L1=K1+1 00000216 Q1=FLOAT(NEND(K3,2))+.01*V1(K3,KQL) 00000217 DO 35 K2=L1,L 00000218 K4=NT2(K2) 00000219 J=NT1(K4) 00000220 IF(J.LE.0.OR.J.EQ.I) GO TO 35 00000221 IF(NEND(K3,4).LT.NEND(K4,1).OR.NEND(K4,4).LT.NEND(K3,1)) GOTO 35 00000222 K11=K3 00000223 K12=K4 00000224 Q2=FLOAT(NEND(K4,2))+.01*V1(K4,KQL) 00000225 IF(Q1.LT.1..OR.Q2.LT.1.) GO TO 36 00000226 IF(NEND(K3,3).LT.NEND(K4,2)) GO TO 37 00000227 K11=K4 00000228 K12=K3 00000229 C 00000230 37 IF(NEND(K11,4).GE.NEND(K12,2)) NEND(K11,4)=NEND(K11,3) 00000231 IF(NEND(K12,1).LE.NEND(K11,3)) NEND(K12,1)=NEND(K12,2) 00000232 IF(NEND(K11,4).LT.NEND(K12,1).OR.NEND(K12,4).LT.NEND(K11,1))GOTO3500000233 IF(V1(K11,2).LT.V1(K12,1)) NEND(K11,4)=NEND(K11,3) 00000234 IF(V1(K11,2).GE.V1(K12,1)) NEND(K12,1)=NEND(K12,2) 00000235 GO TO 35 00000236 36 IF(Q1.GE.Q2) K11=K4 00000237 C 00000238 NT1(K11)=-NT1(K11) 00000239 IF(Q1.LT.Q2) GO TO 33 00000240 35 CONTINUE 00000241 34 K31=NEND(K3,1) 00000242 K34=NEND(K3,4) 00000243 KKKK=K34-K31+1 00000244 J=I 00000245 IF(I.EQ.1.AND.KKKK.LT.4) J=-J 00000246 IF(I.EQ.2.AND.KKKK.LT.2) J=-J 00000247 DO 38 N=K31,K34 00000248 IF(NT(N).EQ.0) NT(N)=J 00000249 38 CONTINUE 00000250 33 CONTINUE 00000251 C* PRINT 9995,((NEND(I,K),K=1,4),(V1(I,K),K=1,4),NT1(I),NT2(I) 00000252 C* *,NCEN(I),I=1,L) 00000253 C 00000254 DO 110 K1=1,L 00000257 K3=NT2(K1) 00000258 I=-NT1(K3) 00000259 IF(I.LE.0) GOTO 110 00000260 M=NCEN(K3) 00000261 K2=KK(I) 00000262 IF(NT(M).NE.I.AND.NT(M).GT.0) GOTO 110 00000263 M11=NEND(K3,1) 00000264 N11=NEND(K3,4) 00000265 DCPEN(M11)=0. 00000266 DCPEC(M11)=0. 00000267 AM2=0. 00000268 K4=KL(I) 00000269 AM3=CPEN(M11,K2) 00000270 DO 999 N=M11,N11 00000271 AM1=AM2 00000272 AM2=AM3 00000273 AM3=0. 00000274 IF(N.LT.N1) AM3=CPEN(N+1,K2) 00000275 A1=AM2-AM1 00000276 A2=AM2-AM3 00000277 IF(K4.EQ.0) A1=CPEN(N,K2-1) 00000278 IF(K4.EQ.0) A2=CPEN(N,K2+1) 00000279 DCPEN(N+1)=DCPEN(N)+AMAX1(A1,0.) 00000280 DCPEC(N+1)=DCPEC(N)+AMAX1(A2,0.) 00000281 999 CONTINUE 00000282 K4=KC(I) 00000283 SLS=SLSS 00000284 IF(I.EQ.3) SLS=SLS*R5 00000285 N=M 00000286 P1=0. 00000287 QQ=CPEN(M,K2) 00000288 QQNC=QQ*(1.+.3333*(1.-.01*QQ)) 00000289 QN=QQ-DCPEN(M+1) 00000290 QC=QQ+DCPEC(M) 00000291 C 00000292 113 IF(N.LT.M11) GOTO 111 00000293 IF(NT(N).NE.I.AND.NT(N).GT.0) GOTO 111 00000294 Q=QQ-QN-DCPEN(N) 00000295 Q1=QN+DCPEN(N+1) 00000296 IF(Q1.LE.0..OR.QQNC.LT.CPEN(N,K2)) GO TO 111 00000297 P=(Q1+Q-QQ)*Q*Q1 00000298 N=N-1 00000299 IF(P.LE.P1) GOTO 113 00000300 NN=N+1 00000301 P1=P 00000302 GOTO 113 00000303 C 00000304 111 N=M 00000305 P2=0. 00000306 115 IF(N.GT.N11) GOTO 114 00000307 IF(NT(N).NE.I.AND.NT(N).GT.0) GOTO 114 00000308 Q=DCPEC(N+1)-QC+QQ 00000309 Q1=QC-DCPEC(N) 00000310 IF(Q1.LE.0..OR.QQNC.LT.CPEN(N,K2)) GO TO 114 00000311 P=(Q1+Q-QQ)*Q*Q1 00000312 N=N+1 00000313 IF(P.LE.P2) GOTO 115 00000314 NC=N-1 00000315 P2=P 00000316 GOTO 115 00000317 114 P=P1*P2*16./QQ**4 00000318 IF(P.LT.SL2.OR.QQ.LT.SLS) GO TO 110 00000319 KKKK=NC-NN+1 00000320 J=I 00000321 V1(K3,3)=ALOG(P) 00000322 IF(I.EQ.1.AND.KKKK.LT.4) J=-J 00000323 IF(I.EQ.2.AND.KKKK.LT.2) J=-J 00000324 NT1(K3)=I 00000325 NEND(K3,1)=NN 00000326 NEND(K3,4)=NC 00000327 DO 381 N=NN,NC 00000328 IF(NT(N).EQ.0) NT(N)=J 00000329 IF(NT(N).EQ.-1.AND.J.EQ.3) CPEN(N,K4)=TRN 00000330 381 CONTINUE 00000331 110 CONTINUE 00000332 L1=0 00000333 L2=1 00000334 L3=1 00000335 DO 998 K1=1,L 00000336 I=NT1(K1) 00000337 IF(I.LE.0) GOTO 998 00000338 IF(L1.LE.0) GOTO 995 00000339 IF(ASS(I).EQ.V1(L1,1).AND.NT1(L1).EQ.NEND(K1,1).AND.NT2(L1).EQ. 00000340 *NEND(K1,4)) GOTO 998 00000341 995 L1=L1+1 00000342 NT1(L1)=NEND(K1,1)+NBEG 00000343 NT2(L1)=NEND(K1,4)+NBEG 00000344 IF(I.LT.2) L2=L2+1 00000345 IF(I.LT.3) L3=L3+1 00000346 998 CONTINUE 00000347 L4=L2-1 00000348 IF(L4.GE.1) PRINT 987,(NT1(K1),NT2(K1),K1=1,L4) 00000349 L4=L3-1 00000350 IF(L4.GE.L2) PRINT 988,(NT1(K1),NT2(K1),K1=L2,L4) 00000351 IF(L1.GE.L3) PRINT 989,(NT1(K1),NT2(K1),K1=L3,L1) 00000352 PRINT 42 00000353 C* PRINT 9995,((NEND(I,K),K=1,4),(V1(I,K),K=1,4),NT1(I),NT2(I) 00000354 C* *,NCEN(I),I=1,L) 00000355 C 00000356 C FINAL CORRECTIONS 00000357 C 00000358 39 DO 32 N=1,N1 00000359 I=IABS(NT(N)) 00000360 DO 32 M=1,NS 00000361 I2=KC(M) 00000362 IF(M.NE.3) GOTO 333 00000363 IF(I.EQ.3) CPEN(N,I2)=TRN 00000364 GOTO 32 00000365 333 I1=INT(CPEN(N,I2)+.000001) 00000366 IF(M.EQ.I) CPEN(N,I2)=FLOAT(1+(I1+1)/3)+.000001 00000367 IF(M.NE.I) CPEN(N,I2)=FLOAT(I1/4)+3.000001 00000368 32 CONTINUE 00000369 987 FORMAT(' & - HELICES : ',I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,00000370 *3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -00000371 *,I4) 00000372 988 FORMAT(' B - STRANDS : ',I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,00000373 *3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -00000374 *,I4) 00000375 989 FORMAT(' TURNS, BENDS : ',I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,00000376 *3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -,I4,3X,I4,2H -00000377 *,I4) 00000378 RETURN 00000379 END 00000380 C ********************** 00000001 C * SUBROUTINE PREDIC * PART 3 - PREDICTION 00000002 C ********************** 00000003 SUBROUTINE PREDIC(NL1,NL2,CPEN) 00000004 COMMON MTN,MLP,N1,N,NN,MINB,MAXB/DSTR/MAL,MBC,MST,M1,MINB2,MAXB2 00000005 *,NEND(100,2,2)/VECT/V(1800),V1(1800),VV1(100,2),VV(5),TA(64),NZ,PF00000006 */INOU/KPROU1,AM(40),EVSTR(22),JA(507),B(500)/NLL/N91,N92 00000007 */ENER/SIG(9),ESEG(500,6)/ENER1/ETUR(500,4)/PART/IP1,IP2 00000008 */CT/NZON,NBEG,NNN,NZ1,LPRO,LGLY 00000009 DIMENSION APR(8),MQ(2),JI(2),KK(3),KC(3),KL(3),CPEN(NL1,NL2) 00000010 *,DCPEN(501,2),NT1(100) 00000011 EQUIVALENCE(DCPEN(1),V(799)),(NT1(100),V1(401)) 00000012 *,(IST,V1(1)),(MSTEN,V1(12)) 00000013 DATA APR/4H1 ,4H2 ,4H* ,4H ,4H) ,4H( ,4H/ ,4HT / 00000014 DATA KK/2,5,23/,KC/27,28,24/,KL/0,0,1/ 00000015 C 00000016 SLS=VV(1) 00000022 QRAT=VV(2) 00000023 DQ=VV(3)*.1667 00000024 NS=2 00000025 DCPEN(1,1)=0. 00000026 DCPEN(1,2)=0. 00000027 QS=SLS 00000028 C 1: HELIX ; 2: STRAND 00000029 DO 211 K1=1,2 00000030 MQ(K1)=0 00000031 211 JI(K1)=4 00000032 C 00000033 QSS=QS*.5 00000034 IF(MINB2.EQ.1.AND.IP1.GT.0) QSS=QS 00000035 R5=AMAX1(SQRT(SIG(2)+SIG(3)+SIG(4)+SIG(5))*100./SLS,1./QRAT) 00000036 IF(R5.GT..75) R5=.75 00000037 IF(IP2.EQ.0.OR.MINB2.GT.1) GOTO 212 00000038 IF(IST.NE.2) CALL ZP(26,26,16,NL1,NL2,N1,V,CPEN) 00000039 IF(IST.NE.1) CALL ZP(30,30,17,NL1,NL2,N1,V,CPEN) 00000040 IF(MST.GT.MSTEN) CALL ZP(24,24,18,NL1,NL2,N1,V,CPEN) 00000041 212 IF(MINB2.EQ.1) CALL ZP1(1,9,23,NL1,NL2,N1,V,CPEN) 00000042 IF(MINB2.GT.1) CALL ZP1(1,9,0,NL1,NL2,N1,V,CPEN) 00000043 CALL ZP1(37,37,36,NL1,NL2,N1,V,CPEN) 00000044 CALL ADOPTA(NL1,NL2,N1,CPEN,NS,KK,KL) 00000045 C 00000046 C PRELIMINARY 00000047 DO 222 N=1,N1 00000048 Q=SLS 00000049 K=1 00000050 IF(N.GT.1) K=JA(N-1) 00000051 IF(JA(N).EQ.LPRO.OR.K.EQ.LPRO) Q=SQRT(Q)*10. 00000052 P4=CPEN(N,9) 00000053 C 00000054 CPEN(N,9)=CPEN(N,23) 00000055 CPEN(N,24)=APR(4) 00000056 QHEL=ABS(Q*(100.-CPEN(N,2)-CPEN(N,5)))*.01 00000057 QHEE=AMIN1(QS,QHEL)*R5 00000058 QAL=QHEL*QRAT 00000059 DO 222 J=1,2 00000060 P=CPEN(N,J*3-1) 00000061 PIL=P+QSS*QSS/(QRAT*QS) 00000062 Q=CPEN(N,8-J*3) 00000063 P2=Q+P4 00000064 P22=P2 00000065 C P22=BETA-SHEET IN TOTAL 00000066 IF(MINB2.EQ.1.AND.IP1.GT.0) P22=CPEN(N,7) 00000067 P2222=P22*.5 00000068 IF(MINB2.EQ.1.AND.IP1.GT.0.AND.IP2.GT.0) P22=AMAX1(P2,P2222) 00000069 C 00000075 K=(100.01-CPEN(N,J*4+22))/25.5+1 00000076 P1=P2/QRAT 00000077 P3=P2*QRAT 00000078 I=1 00000079 IF(P.GE.QAL.AND.P.GE.P3) GOTO 223 00000080 I=2 00000081 IF(P.GE.QHEL.AND.P.GE.P2) GOTO 223 00000082 I=3 00000083 IF(P.GE.QHEE.AND.P.GE.P1) GOTO 223 00000084 I=4 00000085 223 IF(MINB2.EQ.MAXB2.OR.DQ.EQ.0.) GOTO 233 00000086 C 00000087 DL=(I-2)*(I-3)*(2*I-5)*DQ 00000088 DCPEN(N+1,J)=DCPEN(N,J)-DL 00000089 233 IF(J.EQ.1.AND.P22.GE.QSS.AND.P22.GE.PIL) CPEN(N,24)=APR(5) 00000090 CPEN(N,J+30)=P 00000091 CPEN(N,J+24)=CPEN(N,J*4+22) 00000092 CPEN(N,J+26)=FLOAT(I) 00000093 IF(I.GE.3.OR.JI(J).LE.2) GOTO 227 00000094 MQ(J)=MQ(J)+1 00000095 NEND(MQ(J),1,J)=N 00000096 227 IF(I.LE.2.AND.MQ(J).GE.1) NEND(MQ(J),2,J)=N 00000097 JI(J)=I 00000098 222 CONTINUE 00000099 MH=MQ(1) 00000100 MS=MQ(2) 00000101 K=MAXB 00000102 CALL CORR(MS,N1,MAXB,DQ,NEND,ESEG,ETUR,DCPEN) 00000103 C 00000104 IF(MINB2.EQ.1.OR.MINB2.EQ.MAXB2) 00000106 *CALL MAXIMA(NL1,NL2,N1,CPEN,NS,KK,KL,KC,SLS,L) 00000107 C 00000108 IF(IP2.EQ.0) GOTO 215 00000110 DO 214 N=1,N1 00000111 IF(IST.EQ.2) CPEN(N,1)=10000. 00000112 IF(IST.EQ.2) CPEN(N,2)=10000. 00000113 IF(IST.EQ.2) CPEN(N,3)=10000. 00000114 IF(IST.EQ.1) CPEN(N,4)=10000. 00000115 IF(IST.EQ.1) CPEN(N,5)=10000. 00000116 IF(IST.EQ.1) CPEN(N,6)=10000. 00000117 214 CONTINUE 00000118 215 CONTINUE 00000119 IF(MINB2.NE.1.OR.IP1.EQ.0.OR.IP2.EQ.0) GOTO 266 00000120 CALL ZP(2,2,19,NL1,NL2,N1,V,CPEN) 00000121 CALL ZP(5,5,20,NL1,NL2,N1,V,CPEN) 00000122 266 CALL ZP(1,6,0,NL1,NL2,N1,V,CPEN) 00000123 CALL ZP(9,9,6,NL1,NL2,N1,V,CPEN) 00000124 C 00000125 IF(MINB2.NE.1.AND.MINB2.NE.MAXB2) GOTO 267 00000126 C ELIMINATING OF TOO SHORT SEGMENTS 00000127 DO 236 J=1,2 00000128 I1=4 00000129 L1=5-2*J 00000130 K=26+J 00000131 J1=INT(CPEN(1,K)) 00000132 DO 237 N=1,N1 00000133 I=J1 00000134 CPEN(N,K)=APR(I) 00000135 J1=4 00000136 IF(N.LT.N1) J1=INT(CPEN(N+1,K)) 00000137 IF(I.LT.3.AND.I1.GE.3) K1=N 00000138 IF(I.GE.3.OR.J1.LE.2) GOTO 237 00000139 K2=N-K1+1 00000140 IF(K2.GT.L1) GOTO 237 00000141 K3=L1-I+I*J 00000142 DO 238 K2=K1,N 00000143 238 CPEN(K2,K)=APR(K3) 00000144 237 I1=I 00000145 236 CONTINUE 00000146 269 IF(MINB2.EQ.1) CALL ZP(27,28,28,NL1,NL2,N1,V,CPEN) 00000147 IF(MINB2.EQ.1) CALL ZP(24,24,22,NL1,NL2,N1,V,CPEN) 00000148 267 CALL CORR1(MS,N1,MAXB,DQ,NEND,ESEG,ETUR,DCPEN) 00000149 RETURN 00000150 END 00000151