PROCESS source listing
NOTE: see granulesdoc.html for instructions
###################################################################################
10 ID$="PROCESS 1.0 mod B2C 7/19/89 Copyright (C) 1989 D.K. Hartline and R.W. Newcomb"
20 PRINT ID$
100 'B2B - Addition of variable 1/R and 1/K options
101 'B2B - Corrections in B2A
102 'B2A - Amalgamation of former B01 - B07
110 '
112 ' Main program is based on equations 1 and 2 of Newcomb, Hartline &
114 ' Cooke (1988):
116 '
117 ' (Eq 1): dP(i,j)/dt = S1 + S2 - S3 * P(i,j)
118 ' dP(1,N+1)/dt = S - S3 * P(1,N+1) where
119 '
120 ' i-1
122 ' S1 = SIGMA K(m,j,i-1) P(m,j) cleavage site i-1 on chains ending at j
123 ' m=1
125 '
126 ' N+1
127 ' S2 = SIGMA K(i,m,j) P(i,m) cleavage site j on chains beginning at i
128 ' m=j+1
130 '
131 ' j-1
132 ' S3 = R + SIGMA K(i,j,m) internal cleavage of P(i,j) & rlse
133 ' m=1
134 '
140 ' For steady state situations, dP(i,j)/dt = 0, so
142 '
144 ' (Eq 2): P(i,j)[ss] = (S1 + S2)/S3 ([i,j] <> [1,N+1])
145 ' P(1,N+1)[ss] = S/S3
146 '
148 ' Providing the calculations are made for larger chains before shorter
150 ' ones, steady-state values can be calculated sequentially.
152 '
154 'Segment:1 2 I-1 I J J+1 N N+1
156 ' ._____._____..._____||_____._____..._____||_____..._____._____.
158 'Site: 1 2 I-1 I J-1 J N
160 '
162 ' / ._____._____..._____||_____._____..._____.
164 'S1< ._____..._____||_____._____..._____.
166 ' \ ._____||_____._____..._____.
167 ' 1 ---------> I-1
168 '
170 ' / ._____._____..._____||_____..._____._____.
172 'S2< ._____._____..._____||_____..._____.
174 ' \ ._____._____..._____||_____.
175 ' J+1 ----------> N+1
176 '
178 ' / ._____||____..._____.
180 'S3< ._____._____||._____.
182 ' \ ._____._____.||_____.
184 '
290 ' *******************
291 '*********************** INITIALIZATIONS *******************************
292 ' *******************
293 '
299 '+++++++++++++++++++++ SPECIAL CONSTANTS ++++++++++++++++++++++++++++++++
300 FORM$="PROCESSB2A" 'Parameter file format ID +
305 PROCPRE=230 'Processed precursor normalization(=230 for SG)+
319 '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
320 PFM$="#.#### ": EF%=0 : PRM%=1: PROC%=2
325 INPUT "INPUT/OUTPUT DATA DISK (A:, B:, C:) =";DDSK$
330 INPUT "OUTPUT MODE: 0=SCREEN, 1=PRINTER, 2=DISK";PF%
340 IF PF%>0 THEN INPUT "DATE";DA$: INPUT "RUN #";RU$: LPRINT ID$;": RUN ";RU$;" OF ";DA$
350 INPUT "PARAMETER FILE ( for default: PROCTST.PRM)";PFILE$
355 IF PFILE$="" THEN PFILE$="PROCTST.PRM"
357 IF PF%>0 THEN LPRINT "PARAMETER FILE=";PFILE$
360 OPEN "I",#PRM%,PFILE$: INPUT #PRM%, PID$,FMT$,N% 'Open Param file & check
370 IF FMT$<>FORM$ THEN INPUT "PARAMETER FILE FORMAT INCOMPATIBILITY (Press any key)";A$: CLOSE #PRM%: GOTO 350
380 PRINT "FILE ID=";PID$: IF PF%>0 THEN LPRINT "FILE ID=";PID$
390 IF PF%<2 THEN GOTO 440
400 INPUT "OUTPUT-FILE NAME (8 characters; no ext.)";NA$: NA$=LEFT$(NA$,8)
410 OUTFILE$=DDSK$+NA$+".PRN"
420 PRINT "FULL NAME GIVEN TO FILE WILL BE ";OUTFILE$: LPRINT "OUTPUT FILE=";OUTFILE$
430 OPEN "O",#PROC%,OUTFILE$
440 PRINT "NUMBER OF CLEAVAGE SITES=";N%: IF PF%>0 THEN LPRINT "NUMBER OF CLEAVAGE SITES=";N%
450 FOR J%=2 TO N%+1
460 FOR I%=1 TO J%-1
470 FOR M%=I% TO J%-1
480 INPUT #PRM%, K(I%,J%,M%)
490 PRINT "K(";: PRINT USING "#";I%;J%;M%;: PRINT ")=";K(I%,J%,M%);
500 IF PF%>0 THEN LPRINT "K(";:LPRINT USING "#";I%;J%;M%;:LPRINT ")=";K(I%,J%,M%);
510 NEXT M%: PRINT: IF PF%>0 THEN LPRINT
520 NEXT I%,J%
530 PRINT "KE'S=";: IF PF%>0 THEN LPRINT "KE'S=";
540 FOR M%=1 TO N% 'Initial enzyme conc's & decay
550 E(M%)=1 '(ff line 170 B07)
560 INPUT #PRM%,KE(M%)
570 PRINT KE(M%);: IF PF%>0 THEN LPRINT KE(M%);
580 NEXT M%
590 PRINT: IF PF%>0 THEN LPRINT
595 GOTO 605
597 '
598 '*********************** MAIN MENU ***************************************
599 '
600 CLS
605 PRINT "MAIN MENU:"
610 PRINT " 0 = RETURN TO BASIC 1 = KINETIC: PULSE-CHASE (S=R=0)"
615 PRINT " 2 = KINETIC: CONSTANT S,R 3 = SS: VARIABLE R"
620 PRINT " 4 = SS: VARIABLE K "
625 PRINT " 5 = CHANGE NORMALIZATION 6 = CHANGE OPTION FLAGS"
630 PRINT " 7 = SS: VARIABLE 1/R 8 = SS: VARIABLE 1/K
650 INPUT MM%: IF MM%=0 THEN CLOSE: END
655 FOR I%=1 TO N%+1: FOR J%=I% TO N%+1: P(I%,J%)=0: NEXT J%,I%
660 ON MM% GOTO 800,900,1000,1100,1200,1300,1400,1500
670 GOTO 600
797 '
798 '************ 1: PULSE-CHASE (=B01,5,6) **********************************
800 P(1,N%+1)=1: S=0: R=0
805 INPUT "MAX T=";TMAX
810 INPUT "TIME INCREMENT";DT: IF PF%>0 THEN LPRINT "MODEL TIME INCREMENT=";DT
815 T=DT
820 IF PF%>1 THEN PRINT #PROC%,CHR$(34);FORM$+"1";CHR$(34);" ";N%;TMAX;DT
825 IF PF%=2 THEN PRINT #PROC%,CHR$(34);"T";CHR$(34);",";: GOSUB 870
830 PRINT "T=";T:IF PF%>0 THEN LPRINT "T=";T
835 IF PF%>1 THEN PRINT #PROC%, USING "###.## ";T;
840 GOSUB 2000: GOSUB 2200
850 T=T+DT
860 IF T0 THEN LPRINT "VARIABLE R FROM ";R;" TO ";RMAX;" INC=";DR
1015 IF PF%=2 THEN PRINT #PROC%, CHR$(34);FORM$+"3";CHR$(34);",";N%;R;RMAX;DR: GOSUB 870
1020 PRINT "R=";R:IF PF%=1 THEN LPRINT "R=";R ELSE IF PF%=2 THEN PRINT #1,R;
1025 S=R 'former line 200, B03
1030 GOSUB 2000: GOSUB 2200
1040 R=R+DR
1050 IF R0 THEN LPRINT "VARIABLE ENZYME ACTIVITY AT SITE ";NK%;", FROM ";K;"x TO ";KMAX; "x BY INCS OF ";DK; "; R=";R
1112 E0=E(NK%) 'Save original enzyme conc
1115 IF PF%=2 THEN PRINT #PROC%,CHR$(34);FORM$+"4";CHR$(34);",";NK%;K;KMAX;DK;R: GOSUB 870
1120 PRINT "K-MULTIPLIER=";K:IF PF%=1 THEN LPRINT "K-MULTIPLIER=";K ELSE IF PF%=2 THEN PRINT #PROC%,K;
1125 E(NK%)=K
1130 GOSUB 2000: GOSUB 2200
1140 K=K+DK
1150 IF KNONE P(1,N+1)=1; 1=>PROCESSED PRECURSOR=";PROCPRE
1205 INPUT SF%
1210 IF SF%=1 AND PROCPRE>10 THEN PFM$="####.# " ELSE PFM$="#.#### "
1220 IF PF%>0 THEN LPRINT "STEADY-STATE NORMALIZATION FLAG=";SF%
1290 GOTO 600
1297 '
1298 '********************** 6: CHANGE OPTION FLAGS **************************
1300 INPUT "ENZYME-DEGRADATION: 0=NO; 1=YES";EF%
1310 IF PF%>0 THEN LPRINT "ENZYME-DEGRADATION FLAG=";EF%
1390 GOTO 600
1397 '
1398 '************* 7: STEADY STATE, VARIABLE RELEASE (1/R) ***************
1400 INPUT "INITIAL, FINAL RELEASE TIME CONSTANTS, INCREMENT";TAU,TAUMAX,DTAU
1410 IF PF%>0 THEN LPRINT "VARIABLE 1/R FROM ";TAU;" TO ";TAUMAX;" INC=";DTAU
1415 IF PF%=2 THEN PRINT #PROC%, CHR$(34);FORM$+"3";CHR$(34);",";N%;1/TAU;1/TAUMAX;DTAU: GOSUB 870
1420 R=1/TAU
1422 PRINT "R=";R:IF PF%=1 THEN LPRINT "R=";R ELSE IF PF%=2 THEN PRINT #1,R;
1425 S=R 'former line 200, B03
1430 GOSUB 2000: GOSUB 2200
1440 TAU=TAU+DTAU
1450 IF TAU0 THEN LPRINT "VARIABLE ENZYME ACTIVITY AT SITE ";NK%;", FROM 1/";K;" TO 1/";KMAX; " BY INCS OF ";DK; "; R=";R
1512 E0=E(NK%) 'Save original enzyme conc
1515 IF PF%=2 THEN PRINT #PROC%,CHR$(34);FORM$+"4";CHR$(34);",";NK%;K;KMAX;DK;R: GOSUB 870
1520 PRINT "K-DIVISOR=";K:IF PF%=1 THEN LPRINT "K-DIVISOR=";K ELSE IF PF%=2 THEN PRINT #PROC%,K;
1525 E(NK%)=1/K
1530 GOSUB 2000: GOSUB 2200
1540 K=K+DK
1550 IF K2 THEN P(I%,J%)=(S1+S2)/S3 'Steady state P(i,j)'S
2145 IF MM%>2 AND SF%=1 THEN P(I%,J%)=P(I%,J%)*PROCPRE/(1-P(1,N%+1))
2150 NEXT J%,I%
2155 IF MM%>2 THEN GOTO 2197 'Steady state done
2160 FOR I%=1 TO N%+1 'Time-dependent final P(i,j)'s
2165 FOR J%=I% TO N%+1
2170 P(I%,J%)=P(I%,J%)+(S1(I%,J%)+S2(I%,J%)-S3(I%,J%)*P(I%,J%))*DT
2175 NEXT J%,I%
2180 IF EF%=0 OR MM%>2 THEN GOTO 2197 'Degradation of processing enzymes
2185 FOR M%=1 TO N%
2190 E(M%)=E(M%)-KE(M%)*E(M%)*DT
2195 NEXT M%
2197 RETURN
2199 '*************** PRINT OUT subroutine *************
2200 PRINT "P: ";: FOR I%=1 TO N%+1: PRINT USING " # ";I%;: NEXT I%: PRINT
2220 IF PF%>0 THEN LPRINT "P: ";:FOR I%=1 TO N%+1: LPRINT USING" # ";I%;:NEXT I%:LPRINT
2230 FOR I%=1 TO N%+1
2240 PRINT I%;:IF PF%>0 THEN LPRINT I%;
2250 FOR J%=1 TO N%+1
2260 IF J%0 THEN LPRINT SPACE$(7);:GOTO 2290 ELSE GOTO 2290
2280 PRINT USING PFM$;P(I%,J%); :IF PF%>0 THEN LPRINT USING PFM$;P(I%,J%);: IF PF%=2 THEN PRINT #PROC%, USING PFM$;P(I%,J%);
2290 NEXT J% :PRINT: IF PF%>0 THEN LPRINT
2300 NEXT I%:IF PF%=2 THEN PRINT #PROC%,""
2310 RETURN
2999 'PROCTST.PRM FILE
3000 '"2 - 5 SITE PROCESS.B2B TEST DATA" = PID$ (Parameter file ID)
3005 '"PROCESSB2A"= FMT$ (File-compatibility code)
3010 ' 1 = K(1,2,1)
3020 ' .3,1 = K(1,3,1), K(1,3,2)
3030 ' .1 = K(2,3,2)
3035 ' 1,1,1,1 =E(M%)'s - decay of processing enzymes, sites 1 - 4
3040 ' 1,.3,1 = K(1,4,1), K(1,4,2), K(1,4,3)
3050 ' .1,1 = K(2,4,2), K(2,4,3)
3060 ' .3 = K(3,4,3)
3070 ' 1,.1,1,.3 = K(1,5,1), K(1,5,2), K(1,5,3), K(1,5,4)
3080 ' 1,.1,1 = K(2,5,2), K(2,5,3), K(2,5,4)
3090 ' .3,1 = K(3,5,3), K(3,5,4)
3100 ' .1 = K(4,5,4)
3200 ' 1,1,1,1 =E(M%)'s - decay of processing enzymes, sites 1 - 4
PROCTST.PRM #######################################################################
"2 - 5 SITE PROCESS.B2B TEST DATA"
"PROCESSB2A"
2
1
.3,1
.1
1,1,1,1
1,.3,1
.1,1
.3
1,.1,1,.3
1,.1,1
.3,1
.1
1,1,1,1
###################################################################################