C PROTEIN DATA BANK SOURCE CODE ALB C AUTHOR. FINKELSTEIN, PTITSYN C ENTRY DATE. 1/86 UNSUPPORTED C LAST REVISION 1/86 C PURPOSE STRUCTURE CALCULATION AND PREDICTION C LANGUAGE. FORTRAN C ******************************************************* 00000001 C * MAINPROGRAM 'ALB...' * 00000002 C ******************************************************* 00000003 COMMON MTN,MLP,N1,N,NN,MINB,MAXB/DSTR/MAL,MBC,MST,MT1,MINB2,MAXB2,00000004 2MBE1(400)/VECT/V(1800),V1(1800),VV1(100,2),VV(5),TRA(8,8),NZ,PFN 00000005 3/INOU/KPRU1,AAM(1179)/ENER2/KNSP,KSIG,KTES,KPRIN,KPRU2,SIGA(6) 00000006 5/PART/IP1,IP2,PROGN(2),JY(6),AY(6)/CT/NZON,NBEG,NNN,NZ1,LPRO,LGLY 00000007 6/MLPP/MLPP,MAXBP,LPP(3),SIGU(5)/ENER/SIG(9),ESEG(500,6) 00000008 6/DT/DDSS(201)/SURF1/SETPOT(4),MAD(3,4),VAD(6,4),EXX(4,2) 00000009 7/NLL/N91,N92,PA,PB,PC,G(4),X(16)/ENER1/ETUR(500,4)/NDA/HY(67), 00000010 *NKUS,NCL1,NCL /DIM/CPEN(350,45) 00000011 DIMENSION PROG1(2),ZNEL(20),ZNEL1(20) 00000012 EQUIVALENCE (ZNEL(1),DDSS(141)),(ZNEL1(1),ETUR(301)) 00000013 DATA PROG1/4H ALB,4H- / 00000014 C-----------------------------------------------------------------------00000015 C================== NOTE FOR USER ======================================00000016 C-----------------------------------------------------------------------00000017 C DETERMINATION OF THE DIMENSION 'CPEN(NL1,NL2)' : 00000018 C 501>NL1>149 00000019 NL1=350 00000020 C 100>NL2>37 00000021 NL2=45 00000022 C-----------------------------------------------------------------------00000023 N91=NL1 00000024 N92=NL2 00000025 222 FORMAT(/50X,13H ** * ** /50X,13H* * * * */ 00000026 150X,13H* * * ** /50X,13H*** * * */50X,13H* * *** ** /) 00000027 200 FORMAT(/2X,106(1H*) /108H STABILITY OF HELICES & STRANDS: INTRINS00000028 1IC & AT HYDROPHOBIC SURFACE; PROTEIN SECONDARY STRUCTURE PREDICTIO00000029 2N/108H A.V.FINKELSTEIN, INSTITUTE OF PROTEIN RESEARCH, ACADEMY OF00000030 3 SCIENCES OF THE USSR, POUSTCHINO, MOSCOW REGION/2X,106(1H*) //) 00000031 PRINT 222 00000032 C=======================================================================00000033 C DATA INPUT (SEE 'MANUAL FOR USER', MAINPROGRAM) & OUTPUT 00000034 1001 NLL1=NL1 00000035 CALL REW(1,1800,V) 00000036 REWIND 11 00000037 REWIND 13 00000038 CCCCC CALL OPSYS('LOAD','PARTAAAA') 00000039 IF(NCL.GE.1) CALL PRIMM(NLL1) 00000040 IF(NCL.LT.1) CALL PRIM(NLL1) 00000041 IF(NCL.LT.2) CALL DATIN(MINB,MAXB,MAXBP,MBE1(1),KPRU1) 00000042 IF(NCL.GE.2) CALL DATIN1(MINB,MAXB,MAXBP,MBE1(1),KPRU1) 00000043 IF(NCL.LT.2) PRINT 200 00000044 CCCCC CALL OPSYS('LOAD','PART0000') 00000045 DO 11 K=33,37 00000047 DO 11 N=1,N1 00000048 11 CPEN(N,K)=10000. 00000049 CALL ZP(33,37,7,NL1,NL2,N1,V,CPEN) 00000050 CALL ENEST1(NL1) 00000053 CCCCC CALL OPSYS('LOAD','PARTBBBB') 00000054 CALL ENESTA(NL1,NL2,CPEN) 00000055 CALL BR1(NL1,NL2,CPEN) 00000056 DO 10 K=1,20 00000057 10 ZNEL(K)=ZNEL1(K) 00000058 CALL ZP(8,12,16,NL1,NL2,N1,V,CPEN) 00000059 CALL ZP(13,16,12,NL1,NL2,N1,V,CPEN) 00000060 CALL ZP(22,22,21,NL1,NL2,N1,V,CPEN) 00000061 C 00000062 C PART 1 00000063 C ======= 00000064 IF(IP1.GT.0) GOTO 204 00000072 PROGN(1)=PROG1(1) 00000073 PROGN(2)=PROG1(2) 00000074 GOTO 206 00000075 204 CONTINUE 00000076 IF (KPRIN.LE.0) GOTO 4 00000077 C 00000078 CCCCC CALL OPSYS('LOAD','PART1111') 00000079 PRINT 201 00000080 PRINT 292,(M,(TRA(I,M),I=1,8),M=1,8) 00000081 PRINT 3 00000082 4 MAL=8 00000083 MST=MAL 00000084 CALL PART1(NL1,NL2,CPEN) 00000085 CALL FAIND(1,1800,V) 00000086 3 FORMAT(//) 00000087 201 FORMAT(' TRANSITIONS IN SUBSYSTEM COIL(1)+HELIX(2,..,7,8)' //' 00000088 1 RES.I 1 2 3 4 5 6 7 8' /' RES.I+1') 00000089 292 FORMAT(8X,I2,3X,8F5.2) 00000090 C 00000091 CALL ZP(1,6,0,NL1,NL2,N1,V,CPEN) 00000121 CALL ZP(9,9,6,NL1,NL2,N1,V,CPEN) 00000122 CALL ZP(2,2,7,NL1,NL2,N1,V,CPEN) 00000123 CALL ZP(5,5,8,NL1,NL2,N1,V,CPEN) 00000124 CALL ZP(7,7,9,NL1,NL2,N1,V,CPEN) 00000125 CALL ZP(9,9,10,NL1,NL2,N1,V,CPEN) 00000126 CALL ZP(10,10,11,NL1,NL2,N1,V,CPEN) 00000127 206 CALL ZP(1,13,23,NL1,NL2,N1,V,CPEN) 00000128 CALL ZP(37,37,36,NL1,NL2,N1,V,CPEN) 00000129 KTES11=KTES 00000130 MLP11=MLP 00000131 C PART 2 00000133 C ======= 00000134 CCCCC CALL OPSYS('LOAD','PART2222') 00000143 MINB2=1 00000147 203 FORMAT(/18H *** ITERATIONS:,I2,18H FIXATION ENERGY=,F4.1,2HRT/)00000148 MAXB2=MAD(1,1) 00000149 IF(IP2.EQ.0) MAXB2=0 00000150 VV(2)=ABS(VAD(2,1))+.00001 00000151 VV(3)=VAD(3,1) 00000152 IF(IP1.GT.0.OR.MAXB2.EQ.0) MAXB2=MAXB2+1 00000153 CALL ADAPTR 00000157 CALL ZP1(8,12,16,NL1,NL2,N1,V,CPEN) 00000158 CALL ZP1(13,16,12,NL1,NL2,N1,V,CPEN) 00000159 CALL ZP1(22,22,21,NL1,NL2,N1,V,CPEN) 00000160 G(1)=ALOG(SIG(1)) 00000161 G(3)=ALOG(.25*(SIG(2)+SIG(3)+SIG(4)+SIG(5))) 00000162 G(4)=ALOG(SIG(8)*SIG(9))*.5 00000163 ESEG(1,3)=0. 00000164 DO 210 M=1,N1 00000165 IF(M.GT.1) ESEG(M,3)=-ESEG(M-1,4) 00000166 IF(M.LT.N1) CPEN(M,22)=CPEN(M,22)+.40*ALOG(CPEN(M+1,12)) 00000167 CPEN(M,16)=CPEN(M,16)+.40*ALOG(CPEN(M,13)) 00000168 ESEG(M,1)=CPEN(M,22)-G(1) 00000169 ESEG(M,2)=CPEN(M,16) 00000170 ESEG(M,4)=CPEN(M,15)-G(4)*M 00000171 DO 210 K=1,4 00000172 210 ETUR(M,K)=ALOG(CPEN(M,12-K)) 00000173 IF(IP2.EQ.0) GOTO 5 00000174 DO 219 M=1,N1 00000175 DO 219 K=1,4 00000176 ESEG(M,K)=ESEG(M,K)*PC 00000177 219 ETUR(M,K)=(ETUR(M,K)-G(3))*PC 00000178 CALL SURFAC(NL1,NL2,CPEN) 00000183 PC=(1.0001 +.01*VAD(6,3))/PC 00000186 DO 443 N=1,N1 00000187 DO 443 K=1,4 00000188 ESEG(N,K)=ESEG(N,K)*PC 00000189 443 ETUR(N,K)=(ETUR(N,K)-G(3))*PC 00000190 5 DO 9 K=33,37 00000191 DO 9 N=1,N1 00000192 9 CPEN(N,K)=10000. 00000193 CALL ZP(33,37,16,NL1,NL2,N1,V,CPEN) 00000194 255 CONTINUE 00000195 C PART 3 00000196 C ======= 00000197 CCCCC CALL OPSYS('LOAD','PART3333') 00000199 CALL PREDIC(NL1,NL2,CPEN) 00000202 IIIP2=0 00000203 IF(IP2.NE.0.OR.MAD(1,1).LT.1) GOTO 266 00000204 MAXB2=MAD(1,1)+1 00000205 IP2=1 00000206 IIIP2=1 00000207 266 IF(MINB2.EQ.MAXB2.OR.IP2.EQ.0) GOTO 260 00000208 IF(MINB2.EQ.1.AND.MAD(1,1).GT.1) PRINT 203,MAD(1,1),VV(3) 00000209 MINB2=MINB2+1 00000211 CCCCC CALL OPSYS('LOAD','PART2222') 00000212 IF(MINB2.EQ.2) CALL ADAPTR 00000213 IF(IIIP2.EQ.0) GOTO 267 00000214 PC=1.0001+.01*VAD(6,3) 00000215 DO 268 M=1,N1 00000216 DO 268 K=1,4 00000217 ESEG(M,K)=ESEG(M,K)*PC 00000218 268 ETUR(M,K)=(ETUR(M,K)-G(3))*PC 00000219 267 IF(MINB2.EQ.2) CALL SURFAC(NL1,NL2,CPEN) 00000220 IF(MINB2.GT.2) CALL SURFA2(NL1,NL2,CPEN) 00000221 GOTO 255 00000222 260 CALL ZP(24,28,23,NL1,NL2,N1,V,CPEN) 00000224 CALL ZP(31,32,30,NL1,NL2,N1,V,CPEN) 00000225 CALL ZP1(1,32,0,NL1,NL2,N1,V,CPEN) 00000226 KTES=KTES11 00000227 MLP=MLP11 00000228 KPRU1=3 00000229 IF(IP2.LT.1) KPRU1=1 00000230 IF(IP1.LT.1.AND.MAD(1,1).LT.1) KPRU1=2 00000231 IF(IP2.GE.1.AND.MAD(1,1).GE.1) KPRU1=4 00000232 C 00000233 CCCCC CALL OPSYS('LOAD','PART4444') 00000236 CALL REST(NL1,NL2,CPEN,PROGN) 00000237 C 00000238 CCCCC CALL OPSYS('LOAD','PART4444') 00000239 C 00000240 CALL PRIN16(NL1,NL2,CPEN) 00000243 IF(NCL.LT.NKUS) GOTO 1001 00000244 STOP 00000245 END 00000246 BLOCK DATA 00000001 C ***************** 00000002 C * BLOCK DATA'1' * - MAIN PARAMETERS FOR 'ALB': PEPTIDE SET 00000003 C ***************** 00000004 COMMON /DT/DS(15),PH,YMY,E,T,FI(121),VW(20,2),NW,X(21)/MLPP/MLPP 00000005 *,MAXBP,LPP(3),SIGP(5)/SURF1/SETPOT(4),MAD(3,4),VAD(6,4),EXX(4,2) 00000006 */NDA/HYDR(20),RESID(20,2),MARKA(40)/QP/QSG(5),ASS(6),TRN 00000007 DATA DS/15*0./,PH/7./,YMY/.15/,E/78.5/,T/300./,MAXBP/0/,MLPP/0/, 00000015 1RESID/'A','C','D','E','F','G','H','I','K','L','M','N','Y','P','Q',00000016 2 'R','S','T','V','W', 00000017 3 'X',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','B','O','#','Z',00000018 4 ' ',' ',' ',' ',' '/, 00000019 5VW/.085,.023,.060,.065,.037,.081,.022,.050,.065,.081,.019,.047, 00000020 6 .033,.048,.040,.044,.063,.057,.067,.013,20*0./,MARKA/40*0/, 00000021 7HYDR/1.,1.,-1.,-1.,1.,1.,-1.,1.,-1.,1.,1.,-1.,1.,0.,-1.,-1.,-1., 00000022 8-1.,1.,1./,SETPOT/' ','NO ',' ',' '/, 00000023 9VAD/6*0.,13.0,4.0,0.,-0.10,-0.10,0.0,6*0.,25.5,4.0,0.,0.0,0.0,0.0/00000024 *,ASS/'HELI','BETA','TURN','X ',' ',' '/,TRN/'T'/ 00000025 *,QSG/.2,.25,.25,.33,7.5/ 00000026 END 00000032 C ******************** 00000001 C * SUBROUTINE DISC * INFORMATION EXCHANGE PROGRAM 00000002 C ******************** (DISC & TAPE, VIRTUAL MEMORY) 00000003 SUBROUTINE DISC(NN,NL,V) 00000004 DIMENSION V(NL) 00000005 DEFINE FILE 14 (45,500,U,NZ2) 00000006 C || THE ONLY SUBROUTINE FOR DIRECT ACCESS, AND 00000007 C || FOR SEQUENTIAL ACCESS TO TEMPORARY MEMORY 00000008 C * DISK REQUEST FOR DIRECT ACCESS: (NZ) TRACKS * 500 WORDS (FILE 14) 00000009 C NZ = NUMBER OF TRACKS, 500 WORDS IN EACH 00000010 C NZ=45 00000011 C || IF TRACK (COMPUTER DEPENDENT |) IS SHORTER: 00000012 C USE 2 OR MORE SHORT TRACKS INSTEAD OF 1 OF 500 WORDS; CHANGE NZ=00000013 C CHANGE FIGURES IN OPERATOR 'DEFINE FILE' AND ADRESS TO 'READ', 00000014 C 'WRITE' 00000015 C SEQUENTIAL ACCESS IS USED TO DEAL WITH THE BLOCKS WHICH ARE 00000016 C LONGER THAN 500 WORDS 00000017 C * DISK (OR TAPE) REQEST FOR SEQUENTIAL ACCESS: 00000018 C (NL1 OR MORE TRACKS) * (1800 WORDS) ; (FILE 15) 00000019 C NL1<501 IS DETERMINED IN THE MAINPROGRAM 00000020 RETURN 00000021 ENTRY RITE(NN,NL,V) 00000022 NZ=NN 00000023 IF(NL.LE.500) WRITE (14'NZ) V 00000024 IF(NL.GT.500) WRITE (15) V 00000025 RETURN 00000026 ENTRY RID(NN,NL,V) 00000027 IF(NL.GT.500) BACKSPACE 15 00000028 ENTRY RID1(NN,NL,V) 00000029 NZ=NN 00000030 IF(NL.LE.500) READ (14'NZ) V 00000031 IF(NL.GT.500) READ (15) V 00000032 RETURN 00000033 ENTRY FAIND(NN,NL,V) 00000034 NZ=NN 00000035 IF(NL.LE.500) FIND (14'NZ) 00000036 IF(NL.GT.500) BACKSPACE 15 00000037 RETURN 00000038 ENTRY REW(NN,NL,V) 00000039 IF(NL.LE.500) GOTO 11 00000040 REWIND 15 00000041 11 RETURN 00000042 END 00000043 C ************************************** 00000001 C * SUBROUTINE ZP * 00000002 C * INFORMATION EXCHANGE FOR 'CPEN' * 00000003 C ************************************** 00000004 SUBROUTINE ZP(J,K2,KZ,NL1,NL2,N1,V,CPEN) 00000005 DIMENSION V(1800),CPEN(NL1,NL2) 00000006 DO 150 K1=J,K2 00000007 NZ=K1+KZ-J+1 00000008 DO 151 N=1,N1 00000009 151 V(N)=CPEN(N,K1) 00000010 150 CALL RITE(NZ,N1,V) 00000011 RETURN 00000012 ENTRY ZP1(J,K2,KZ,NL1,NL2,N1,V,CPEN) 00000013 DO 152 K1=J,K2 00000014 NZ=K1+KZ-J+1 00000015 CALL RID(NZ,N1,V) 00000016 DO 152 N=1,N1 00000017 152 CPEN(N,K1)=V(N) 00000018 RETURN 00000019 END 00000020