A PROGRAM PREDICTING
THE E. COLI PROMOTER STRENGTH
MT KNOWLEDGE BASE "ACTIVITY"
MN E. coli promoter strength in terms of -lg[Pbla] units
CF CONTEXTUAL FEATURE
CT Statistical
PV ASM
AB -49 18
UT 0.589
CC double WeightASM_for_EcPbla (char *s){
CC double X; char *seq; int i,k, SiteLength=68;
CC double Weigth5P0 [66]={
CC /* -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 */
CC 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100,
...........................................................................
CC /* 11 12 13 14 15 16 */
CC 0.525, 0.356, 0.207, 0.143, 0.103, 0.100 };
CC seq=&s[0]; if(strlen(seq)<SiteLength+1)return(-1001.);
CC for (i=0, X=0.;i<SiteLength-1;i++)
CC if(seq[i ]=='A')
CC if(seq[i ]=='G' || seq[i ]=='C')
CC if(seq[i+1]=='A' || seq[i+1]=='C') X+=Weight5P0[i];
CC return(X);};
CF CONTEXTUAL FEATURE
CT Conformational
PV Direction
AB -5 15
UT 0.502
CC double Direction_for_EcPbla (char *s){
CC double X; char *seq; int i,k, SiteLength=21;
CC double DinucPar[16]={
CC /* AA AT AG AC TA TT TG TC */
CC -154., 0., 2., 143., 0., 154., 64., -120.,
CC /* GA GT GG GC CA CT CG CC */
CC 120., -143., 57., 180., -64., -2., 0., -57. };
CC seq=&s[0]; if(strlen(seq)<SiteLength+1)return(-1001.);
CC for (i=0, X=0.;i<SiteLength-1;i++) {
CC switch (seq[i ]) { case 'A': k= 0; break;
....................................................
CC default : return(-1002.); }
CC switch (seq[i+1]) { case 'A': k+=0; break;
....................................................
CC default : return(-1003.); }
CC if (k>15) return(-1004.); X+=DinucPar[k]; }
CC return (X/(double)(SiteLength-1));};
CF PREDICTION ACTIVITY
CT Multiple Linear Regression
LC 0.906
CC double EcPbla_by_WeightASM_Direction (char *s){
CC extern double WeightASM_for_EcPbla (char *);
CC extern double Direction_for_EcPbla (char *);
CC double x1,x2; char *seq; int s1=0, s2=45, SiteLength=68;
CC seq=&s[0]; if(strlen(seq)<SiteLength+1)return(-1001.);
CC seq=&s[s1]; x1=WeightASM_for_EcPbla (seq); if(x1<-999.)return(x1);
CC seq=&s[s2]; x2=Direction_for_EcPbla (seq); if(x2<-999.)return(x2);
CC return (
0.307547 + 0.576596*x1 + 0.000799*x2);}