Next: revisit
Up: CHNOSZ examples
Previous: ionize
gt.prt> ## Don't show:
gt.prt> data(thermo)
thermo: loaded 1997 aqueous, 3089 total species to thermo$obigt
thermo: loaded 5264 proteins to thermo$ECO
thermo: loaded 6717 proteins to thermo$SGD
thermo: loaded 4155 localizations and 3570 abundances to thermo$yeastgfp
gt.prt> ## End Don't show
gt.prt> ## basic examples of get.protein
gt.prt> # amino acid composition of two proteins
gt.prt> get.protein(c("YML020W","YBR051W"),"SGD")
get.protein: found 2 of 2 proteins
protein organism source abbrv chains Ala Cys Asp Glu Phe Gly His Ile Lys Leu
4336 YML020W SGD Sun Nov 29 00:02:36 2009 NA 1 25 4 32 53 33 37 16 54 54 49
6716 YBR051W SGD Sun Nov 29 00:02:36 2009 NA 1 7 2 4 3 16 5 5 10 9 16
Met Asn Pro Gln Arg Ser Thr Val Trp Tyr
4336 9 46 34 25 33 53 47 29 12 19
6716 1 3 4 6 3 10 4 4 1 3
gt.prt> # average composition of proteins
gt.prt> get.protein(c("YML020W","YBR051W"),"SGD",
gt.prt+ abundance=1,pname="PROT1_NEW")
get.protein: found 2 of 2 proteins with abundances for 2
protein organism source abbrv chains Ala Cys Asp Glu Phe Gly His Ile Lys
1 PROT1_NEW SGD Sun Nov 29 00:02:36 2009 NA 1 16 3 18 28 24.5 21 10.5 32 31.5
Leu Met Asn Pro Gln Arg Ser Thr Val Trp Tyr
1 32.5 5 24.5 19 15.5 18 31.5 25.5 16.5 6.5 11
gt.prt> # 1 of one and 1/2 of the other
gt.prt> get.protein(c("YML020W","YBR051W"),"SGD",
gt.prt+ abundance=c(1,0.5),average=FALSE,pname="PROT2_NEW")
get.protein: found 2 of 2 proteins with abundances for 2
protein organism source abbrv chains Ala Cys Asp Glu Phe Gly His Ile Lys
1 PROT2_NEW SGD Sun Nov 29 00:02:36 2009 NA 1 28.5 5 34 54.5 41 39.5 18.5 59 58.5
Leu Met Asn Pro Gln Arg Ser Thr Val Trp Tyr
1 57 9.5 47.5 36 28 34.5 58 49 31 12.5 20.5
gt.prt> # compositions of proteins induced in carbon limitation
gt.prt> get.protein("low.C","SGD")
get.protein: looking up proteins for low.C SGD from BWP+03
get.protein: found 29 of 29 proteins
protein organism source abbrv chains Ala Cys Asp Glu Phe Gly His Ile Lys Leu
353 YBR116C SGD Sun Nov 29 00:02:36 2009 NA 1 5 10 4 7 14 5 1 11 12 23
354 YBR117C SGD Sun Nov 29 00:02:36 2009 NA 1 53 3 41 41 30 61 18 35 40 57
622 YCR010C SGD Sun Nov 29 00:02:36 2009 NA 1 30 3 10 11 23 30 4 14 7 33
801 YDL085W SGD Sun Nov 29 00:02:36 2009 NA 1 35 2 26 35 27 31 7 32 43 58
1235 YDR256C SGD Sun Nov 29 00:02:36 2009 NA 1 35 5 31 23 30 34 17 27 27 27
1376 YDR384C SGD Sun Nov 29 00:02:36 2009 NA 1 16 9 13 7 22 28 2 13 5 38
1660 YER024W SGD Sun Nov 29 00:02:36 2009 NA 1 50 9 75 49 39 50 27 57 58 82
2206 YGL205W SGD Sun Nov 29 00:02:36 2009 NA 1 47 8 55 29 34 50 15 48 56 75
2308 YGR043C SGD Sun Nov 29 00:02:36 2009 NA 1 32 2 19 32 12 16 8 20 35 30
2498 YGR236C SGD Sun Nov 29 00:02:36 2009 NA 1 8 0 6 4 2 7 1 4 5 6
2728 YHR096C SGD Sun Nov 29 00:02:36 2009 NA 1 32 15 18 31 41 53 2 39 25 45
2930 YIL057C SGD Sun Nov 29 00:02:36 2009 NA 1 6 2 14 16 8 5 12 6 27 12
3032 YIL160C SGD Sun Nov 29 00:02:36 2009 NA 1 44 8 19 26 14 38 4 33 27 37
3406 YJR095W SGD Sun Nov 29 00:02:36 2009 NA 1 28 3 5 18 12 28 7 25 28 27
3679 YKL217W SGD Sun Nov 29 00:02:36 2009 NA 1 56 11 27 37 40 41 9 40 32 63
4020 YLR174W SGD Sun Nov 29 00:02:36 2009 NA 1 28 1 29 31 16 28 9 33 34 30
4222 YLR377C SGD Sun Nov 29 00:02:36 2009 NA 1 23 5 24 16 20 30 8 25 18 34
4567 YMR107W SGD Sun Nov 29 00:02:36 2009 NA 1 4 0 9 9 4 8 3 3 8 5
4576 YMR118C SGD Sun Nov 29 00:02:36 2009 NA 1 10 0 5 8 11 15 7 12 11 21
4636 YMR175W SGD Sun Nov 29 00:02:36 2009 NA 1 4 0 8 4 1 10 3 1 11 1
4672 YMR206W SGD Sun Nov 29 00:02:36 2009 NA 1 19 7 17 12 10 9 15 14 17 18
4771 YMR303C SGD Sun Nov 29 00:02:36 2009 NA 1 37 8 15 21 8 42 11 22 24 25
6604 YNL195C SGD Sun Nov 29 00:02:36 2009 NA 1 19 4 18 12 3 20 11 9 12 9
5137 YNR002C SGD Sun Nov 29 00:02:36 2009 NA 1 29 4 9 12 28 30 3 19 9 29
5317 YOL101C SGD Sun Nov 29 00:02:36 2009 NA 1 10 5 8 17 33 7 9 27 20 41
5776 YOR388C SGD Sun Nov 29 00:02:36 2009 NA 1 32 4 24 28 8 30 9 25 29 29
5983 YPL201C SGD Sun Nov 29 00:02:36 2009 NA 1 9 5 34 18 28 28 15 32 27 51
6059 YPL276W SGD Sun Nov 29 00:02:36 2009 NA 1 10 2 6 17 3 11 4 11 8 13
6069 YPR001W SGD Sun Nov 29 00:02:36 2009 NA 1 28 7 16 27 19 40 13 32 28 63
Met Asn Pro Gln Arg Ser Thr Val Trp Tyr
353 4 6 3 10 7 19 16 9 3 6
354 12 26 34 27 28 59 34 44 9 29
622 5 17 12 6 7 16 17 19 5 14
801 17 22 24 20 23 38 38 38 7 22
1235 8 37 33 33 26 29 30 32 8 23
1376 8 16 10 6 7 25 21 13 5 11
1660 14 51 39 35 48 94 62 52 7 25
2206 15 31 26 31 35 57 46 50 9 31
2308 8 11 10 8 11 24 18 23 1 13
2498 9 2 3 3 6 7 8 9 0 5
2728 21 24 23 18 26 49 41 47 12 30
2930 3 4 7 5 2 7 10 12 1 5
3032 8 28 19 16 19 24 15 29 0 9
3406 8 13 17 13 14 17 21 24 1 13
3679 16 17 27 18 23 41 32 41 16 29
4020 12 10 14 13 19 22 31 30 5 17
4222 7 19 15 11 15 24 21 22 2 9
4567 4 8 5 7 9 13 3 8 1 4
4576 7 7 7 5 10 18 14 14 6 8
4636 11 9 0 4 2 6 2 0 1 1
4672 5 26 21 18 19 51 14 10 0 11
4771 5 13 15 6 8 24 14 32 5 13
6604 9 23 18 13 12 31 15 13 1 9
5137 6 16 10 7 7 19 15 15 5 10
5317 6 18 7 9 7 27 24 18 3 16
5776 6 22 12 13 18 17 18 33 3 16
5983 6 42 14 24 13 38 25 25 3 24
6059 2 8 5 3 6 6 11 15 0 4
6069 16 29 24 17 21 41 26 21 6 12
gt.prt> ## overall composition of proteins exclusively localized
gt.prt> ## to cytoplasm of S. cerevisiae with reported expression levels
gt.prt> y <- yeastgfp("cytoplasm")
gt.prt> p <- get.protein(y$yORF,"SGD",y$abundance,"cytoplasm")
get.protein: YJL017W was not matched
get.protein: found 820 of 821 proteins with abundances for 746
gt.prt> # add the proteolog and calculate its properties
gt.prt> i <- add.protein(p)
add.protein: added 1 protein with length 436.2
gt.prt> protein(i)
protein: found cytoplasm_SGD (C2164.7H3440.9N590.9O660S12.7, 436.2 residues)
name abbrv formula state source1 source2 date
1 cytoplasm_SGD NA C2164.7H3440.9N590.9O660S12.7 aq Sun Nov 29 00:02:36 2009 NA NA
G H S Cp V a1 a2 a3 a4 c1
1 -16558058 -38102819 14252.33 23105.60 36030.56 8698.756 1297.816 1344.999 -1449.568 27543.77
c2 omega Z
1 -2296.02 -24.967 0
gt.prt> ## speciation diagram for ER.to.Golgi proteins (COPII coat
gt.prt> ## proteins) as a function of logfO2, after Dick, 2009
gt.prt> y <- yeastgfp("ER.to.Golgi")
gt.prt> # take out proteins with NA experimental abundance
gt.prt> ina <- which(is.na(y$abundance))
gt.prt> y$yORF <- y$yORF[-ina]
gt.prt> y$abundance <- y$abundance[-ina]
gt.prt> # get the amino acid compositions of the proteins
gt.prt> p <- get.protein(y$yORF,"SGD")
get.protein: found 5 of 5 proteins
gt.prt> ip <- add.protein(p)
add.protein: added 5 proteins
gt.prt> # use logarithms of activities of proteins such
gt.prt> # that total activity of residues is unity
gt.prt> pl <- protein.length(-ip)
gt.prt> logact <- unitize(rep(1,length(ip)),pl)
gt.prt> # load the proteins
gt.prt> basis("CHNOS+")
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -80 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> a <- affinity(O2=c(-80,-73),iprotein=ip,logact.protein=logact)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is O2 at 128 increments from -80 to -73
protein: found H2O_RESIDUE (H2O, 0 residues)
protein: found Ala_RESIDUE (C3H5NO, 1 residues)
protein: found Cys_RESIDUE (C3H5NOS, 1 residues)
protein: found Asp_RESIDUE (C4H5NO3, 1 residues)
protein: found Glu_RESIDUE (C5H7NO3, 1 residues)
protein: found Phe_RESIDUE (C9H9NO, 1 residues)
protein: found Gly_RESIDUE (C2H3NO, 1 residues)
protein: found His_RESIDUE (C6H7N3O, 1 residues)
protein: found Ile_RESIDUE (C6H11NO, 1 residues)
protein: found Lys_RESIDUE (C6H12N2O, 1 residues)
protein: found Leu_RESIDUE (C6H11NO, 1 residues)
protein: found Met_RESIDUE (C5H9NOS, 1 residues)
protein: found Asn_RESIDUE (C4H6N2O2, 1 residues)
protein: found Pro_RESIDUE (C5H7NO, 1 residues)
protein: found Gln_RESIDUE (C5H8N2O2, 1 residues)
protein: found Arg_RESIDUE (C6H12N4O, 1 residues)
protein: found Ser_RESIDUE (C3H5NO2, 1 residues)
protein: found Thr_RESIDUE (C4H7NO2, 1 residues)
protein: found Val_RESIDUE (C5H9NO, 1 residues)
protein: found Trp_RESIDUE (C11H10N2O, 1 residues)
protein: found Tyr_RESIDUE (C9H9NO2, 1 residues)
affinity: loading ionizable protein groups
subcrt: 44 species at 298.15 K and 1 bar (wet)
gt.prt> # make a speciation diagram
gt.prt> diagram(a,ylim=c(-4.9,-2.9))
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 1273 929 297 876 2195
diagram: using residue equivalents
diagram: log total activity of PBB (from species) is -9.643275e-17
gt.prt> # where we are closest to experimental log activity
gt.prt> logfO2 <- rep(-78,length(ip))
gt.prt> abline(v=logfO2[1],lty=3)
gt.prt> # scale experimental abundances such that
gt.prt> # total activity of residues is unity
gt.prt> logact.expt <- unitize(log10(y$abundance),pl)
gt.prt> # plot experimental log activity
gt.prt> points(logfO2,logact.expt,pch=16)
gt.prt> text(logfO2+0.5,logact.expt,y$yORF)
gt.prt> # add title
gt.prt> title(main=paste("ER.to.Golgi; points - relative abundances",
gt.prt+ "from YeastGFP. Figure after Dick, 2009",sep="\n"))
gt.prt> ## Chemical activities of model subcellular proteins
gt.prt> # (one-dimensional speciation diagram as a function of logfO2)
gt.prt> # After Dick, 2009
gt.prt> basis("CHNOS+")
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -80 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> names <- colnames(thermo$yeastgfp)[6:28]
gt.prt> # calculate amino acid compositions using "get.protein" function
gt.prt> for(i in 1:length(names)) {
gt.prt+ y <- yeastgfp(names[i])
gt.prt+ p <- get.protein(y$yORF,"SGD",y$abundance,names[i])
gt.prt+ add.protein(p)
gt.prt+ }
get.protein: found 157 of 157 proteins with abundances for 123
add.protein: added 1 protein with length 571.9
get.protein: YDR474C was not matched
get.protein: found 484 of 485 proteins with abundances for 426
add.protein: added 1 protein with length 402.9
get.protein: found 121 of 121 proteins with abundances for 67
add.protein: added 1 protein with length 429
get.protein: YJL018W was not matched
get.protein: found 38 of 39 proteins with abundances for 30
add.protein: added 1 protein with length 398.3
get.protein: found 57 of 57 proteins with abundances for 38
add.protein: added 1 protein with length 826.1
get.protein: YAR044W was not matched
get.protein: found 72 of 73 proteins with abundances for 61
add.protein: added 1 protein with length 467.5
get.protein: found 54 of 54 proteins with abundances for 45
add.protein: added 1 protein with length 709.9
get.protein: YJL012C-A was not matched
get.protein: found 264 of 265 proteins with abundances for 197
add.protein: added 1 protein with length 245.6
get.protein: found 53 of 53 proteins with abundances for 46
add.protein: added 1 protein with length 815.6
get.protein: found 34 of 34 proteins with abundances for 30
add.protein: added 1 protein with length 484
get.protein: found 15 of 15 proteins with abundances for 11
add.protein: added 1 protein with length 905.2
get.protein: found 10 of 10 proteins with abundances for 10
add.protein: added 1 protein with length 497
get.protein: found 15 of 15 proteins with abundances for 14
add.protein: added 1 protein with length 481.4
get.protein: YPR090W was not matched
get.protein: found 32 of 33 proteins with abundances for 29
add.protein: added 1 protein with length 787.9
get.protein: found 21 of 21 proteins with abundances for 18
add.protein: added 1 protein with length 422.3
get.protein: YFR024C YJL021C were not matched
get.protein: found 25 of 27 proteins with abundances for 22
add.protein: added 1 protein with length 469.4
get.protein: found 70 of 70 proteins with abundances for 60
add.protein: added 1 protein with length 605.4
get.protein: YJL017W was not matched
get.protein: found 820 of 821 proteins with abundances for 746
add.protein: added 0 proteins
get.protein: found 6 of 6 proteins with abundances for 5
add.protein: added 1 protein with length 594.9
get.protein: found 11 of 11 proteins with abundances for 9
add.protein: added 1 protein with length 622.9
get.protein: found 19 of 19 proteins with abundances for 17
add.protein: added 1 protein with length 502.1
get.protein: found 496 of 496 proteins with abundances for 453
add.protein: added 1 protein with length 339.1
get.protein: found 73 of 73 proteins with abundances for 57
add.protein: added 1 protein with length 462.3
gt.prt> species(names,"SGD")
protein: found ambiguous_SGD (C2815.9H4464.9N759.3O870.8S17.9, 571.9 residues)
protein: found mitochondrion_SGD (C1987.5H3166.3N542.9O596.4S13.2, 402.9 residues)
protein: found vacuole_SGD (C2079.4H3187.4N542.8O668.2S14.4, 429 residues)
protein: found spindle.pole_SGD (C1995.1H3174.9N555.1O642.1S12.6, 398.3 residues)
protein: found cell.periphery_SGD (C4178.9H6506.4N1098.2O1229.9S33.8, 826.1 residues)
protein: found punctate.composite_SGD (C2320.1H3662.6N633.6O751.2S10.5, 467.5 residues)
protein: found vacuolar.membrane_SGD (C3533.3H5556.4N943.4O1075.5S23.3, 709.9 residues)
protein: found ER_SGD (C1206.1H1898N314.2O365.1S8.6, 245.6 residues)
protein: found nuclear.periphery_SGD (C4110.6H6516.1N1091.9O1272.1S20.6, 815.6 residues)
protein: found endosome_SGD (C2440.9H3870.7N661.1O767.4S14.2, 484 residues)
protein: found bud.neck_SGD (C4543.6H7203.6N1250.2O1443.7S26.6, 905.2 residues)
protein: found microtubule_SGD (C2508.9H3968.9N689.9O774.4S17.9, 497 residues)
protein: found Golgi_SGD (C2503.4H3880.8N652O740S13.6, 481.4 residues)
protein: found late.Golgi_SGD (C4015.5H6312.2N1044O1217.1S22.7, 787.9 residues)
protein: found peroxisome_SGD (C2117.9H3334.8N568.6O642S13.5, 422.3 residues)
protein: found actin_SGD (C2316.7H3636.4N632.4O721.5S10, 469.4 residues)
protein: found nucleolus_SGD (C2990.4H4768.4N820.2O957.8S14.6, 605.4 residues)
protein: found cytoplasm_SGD (C2164.7H3440.9N590.9O660S12.7, 436.2 residues)
protein: found ER.to.Golgi_SGD (C2951.2H4600.2N790.8O907.1S18.9, 594.9 residues)
protein: found early.Golgi_SGD (C3197.7H5067.7N821.1O972.8S21.6, 622.9 residues)
protein: found lipid.particle_SGD (C2574.8H3987.7N673.3O752S17.5, 502.1 residues)
protein: found nucleus_SGD (C1682.2H2685N472.6O516.9S8.7, 339.1 residues)
protein: found bud_SGD (C2364.6H3666.2N613.6O680.9S20.2, 462.3 residues)
gt.prt> # set unit activity of residues
gt.prt> pl <- protein.length(thermo$species$name)
gt.prt> species(NULL,unitize(thermo$species$logact,pl))
gt.prt> res <- 200
gt.prt> t <- affinity(O2=c(-82,-65,res))
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is O2 at 200 increments from -82 to -65
affinity: loading ionizable protein groups
subcrt: 46 species at 298.15 K and 1 bar (wet)
gt.prt> mycolor <- topo.colors(6)[1:4]
gt.prt> mycolor <- rep(mycolor,times=rep(6,4))
gt.prt> oldpar <- par(bg="black",fg="white")
gt.prt> logact <- diagram(t,balance="PBB",names=names,ylim=c(-5,-3),legend.x=NULL,
gt.prt+ color=mycolor,lwd=2)$logact
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 571.9 402.9 429 398.3 826.1 467.5 709.9 245.6 815.6 484 905.2 497 481.4 787.9 422.3 469.4 605.4 436.2 594.9 622.9 502.1 339.1 462.3
diagram: using residue equivalents
diagram: log total activity of PBB (from species) is -3.375146e-16
gt.prt> # so far good, but how about labels on the plot?
gt.prt> for(i in 1:length(logact)) {
gt.prt+ myloga <- as.numeric(logact[[i]])
gt.prt+ # don't take values that lie above the plot (vacuole in this example)
gt.prt+ myloga[myloga > -3.1] <- -999
gt.prt+ imax <- which.max(myloga)
gt.prt+ adj <- 0.5
gt.prt+ if(imax > 180) adj <- 1
gt.prt+ if(imax < 20) adj <- 0
gt.prt+ text(seq(-82,-65,length.out=res)[imax],logact[[i]][imax],
gt.prt+ labels=names[i],adj=adj)
gt.prt+ }
gt.prt> title(main=paste("Subcellular proteologs of S. cerevisiae, after Dick, 2009",
gt.prt+ describe(thermo$basis[-5,]),sep="\n"),col.main=par("fg"),cex.main=0.9)
gt.prt> par(oldpar)
gt.prt> ## Oxygen fugacity - activity of H2O predominance
gt.prt> ## diagrams for proteologs for 23 YeastGFP localizations
gt.prt> # arranged by decreasing metastability:
gt.prt> # order of this list of locations is based on the
gt.prt> # (dis)appearance of species on the current set of diagrams
gt.prt> names <- c("vacuole","early.Golgi","ER","lipid.particle",
gt.prt+ "cell.periphery","ambiguous","Golgi","mitochondrion",
gt.prt+ "bud","actin","cytoplasm","late.Golgi",
gt.prt+ "endosome","nucleus","vacuolar.membrane","punctate.composite",
gt.prt+ "peroxisome","ER.to.Golgi","nucleolus","spindle.pole",
gt.prt+ "nuclear.periphery","bud.neck","microtubule")
gt.prt> nloc <- c(4,5,3,4,4,3)
gt.prt> inames <- 1:length(names)
gt.prt> # define the system
gt.prt> basis("CHNOS+")
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -80 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> # calculate amino acid compositions using "get.protein" function
gt.prt> for(i in 1:length(names)) {
gt.prt+ y <- yeastgfp(names[i])
gt.prt+ p <- get.protein(y$yORF,"SGD",y$abundance,names[i])
gt.prt+ add.protein(p)
gt.prt+ }
get.protein: found 121 of 121 proteins with abundances for 67
add.protein: added 0 proteins
get.protein: found 11 of 11 proteins with abundances for 9
add.protein: added 0 proteins
get.protein: YJL012C-A was not matched
get.protein: found 264 of 265 proteins with abundances for 197
add.protein: added 0 proteins
get.protein: found 19 of 19 proteins with abundances for 17
add.protein: added 0 proteins
get.protein: found 57 of 57 proteins with abundances for 38
add.protein: added 0 proteins
get.protein: found 157 of 157 proteins with abundances for 123
add.protein: added 0 proteins
get.protein: found 15 of 15 proteins with abundances for 14
add.protein: added 0 proteins
get.protein: YDR474C was not matched
get.protein: found 484 of 485 proteins with abundances for 426
add.protein: added 0 proteins
get.protein: found 73 of 73 proteins with abundances for 57
add.protein: added 0 proteins
get.protein: YFR024C YJL021C were not matched
get.protein: found 25 of 27 proteins with abundances for 22
add.protein: added 0 proteins
get.protein: YJL017W was not matched
get.protein: found 820 of 821 proteins with abundances for 746
add.protein: added 0 proteins
get.protein: YPR090W was not matched
get.protein: found 32 of 33 proteins with abundances for 29
add.protein: added 0 proteins
get.protein: found 34 of 34 proteins with abundances for 30
add.protein: added 0 proteins
get.protein: found 496 of 496 proteins with abundances for 453
add.protein: added 0 proteins
get.protein: found 54 of 54 proteins with abundances for 45
add.protein: added 0 proteins
get.protein: YAR044W was not matched
get.protein: found 72 of 73 proteins with abundances for 61
add.protein: added 0 proteins
get.protein: found 21 of 21 proteins with abundances for 18
add.protein: added 0 proteins
get.protein: found 6 of 6 proteins with abundances for 5
add.protein: added 0 proteins
get.protein: found 70 of 70 proteins with abundances for 60
add.protein: added 0 proteins
get.protein: YJL018W was not matched
get.protein: found 38 of 39 proteins with abundances for 30
add.protein: added 0 proteins
get.protein: found 53 of 53 proteins with abundances for 46
add.protein: added 0 proteins
get.protein: found 15 of 15 proteins with abundances for 11
add.protein: added 0 proteins
get.protein: found 10 of 10 proteins with abundances for 10
add.protein: added 0 proteins
gt.prt> species(names,"SGD")
gt.prt> t <- affinity(H2O=c(-5,0,256),O2=c(-80,-66,256))
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is H2O at 256 increments from -5 to 0
energy.args: variable 2 is O2 at 256 increments from -80 to -66
affinity: loading ionizable protein groups
subcrt: 46 species at 298.15 K and 1 bar (wet)
gt.prt> # setup the plot
gt.prt> layout(matrix(c(1,1,2:7),byrow=TRUE,nrow=4),heights=c(0.7,3,3,3))
gt.prt> par(mar=c(0,0,0,0))
gt.prt> plot.new()
gt.prt> text(0.5,0.5,paste("Subcellular proteologs of S. cerevisiae,",
gt.prt+ "after Dick, 2009\n",describe(thermo$basis[-c(2,5),])),cex=1.5)
gt.prt> opar <- par(mar=c(3,4,1,1),xpd=TRUE)
gt.prt> for(i in 1:length(nloc)) {
gt.prt+ diagram(t,balance="PBB",names=names[inames],
gt.prt+ ispecies=inames,cex.axis=0.75)
gt.prt+ label.plot(letters[i])
gt.prt+ title(main=paste(length(inames),"locations"))
gt.prt+ # take out the stable species
gt.prt+ inames <- inames[-(1:nloc[i])]
gt.prt+ }
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 429 622.9 245.6 502.1 826.1 571.9 481.4 402.9 462.3 469.4 436.2 787.9 484 339.1 709.9 467.5 422.3 594.9 605.4 398.3 815.6 905.2 497
diagram: using residue equivalents
diagram: using 19 of 23 species.
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 826.1 571.9 481.4 402.9 462.3 469.4 436.2 787.9 484 339.1 709.9 467.5 422.3 594.9 605.4 398.3 815.6 905.2 497
diagram: using residue equivalents
diagram: using 14 of 23 species.
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 469.4 436.2 787.9 484 339.1 709.9 467.5 422.3 594.9 605.4 398.3 815.6 905.2 497
diagram: using residue equivalents
diagram: using 11 of 23 species.
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 484 339.1 709.9 467.5 422.3 594.9 605.4 398.3 815.6 905.2 497
diagram: using residue equivalents
diagram: using 7 of 23 species.
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 422.3 594.9 605.4 398.3 815.6 905.2 497
diagram: using residue equivalents
diagram: using 3 of 23 species.
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 815.6 905.2 497
diagram: using residue equivalents
gt.prt> # return to plot defaults
gt.prt> layout(matrix(1))
gt.prt> par(opar)
gt.prt> ## Compare calculated and experimenal relative abundances
gt.prt> ## of proteins in a subcellular location, after Dick, 2009
gt.prt> # get the amino acid composition of the proteins
gt.prt> loc <- "vacuolar.membrane"
gt.prt> y <- yeastgfp(loc)
gt.prt> ina <- which(is.na(y$abundance))
gt.prt> p <- get.protein(y$yORF[-ina],"SGD")
get.protein: found 45 of 45 proteins
gt.prt> add.protein(p)
add.protein: added 45 proteins
gt.prt> # set up the system
gt.prt> basis("CHNOS+")
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -80 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> # this is the logfO2 value that gives the best fit (see paper)
gt.prt> basis("O2",-74)
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -74 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> is <- species(p$protein,p$organism)
protein: found YAR002C-A_SGD (C1112H1753N297O322S9, 219 residues)
protein: found YBR077C_SGD (C815H1283N205O257S9, 162 residues)
protein: found YBR127C_SGD (C2556H4052N696O800S13, 517 residues)
protein: found YBR207W_SGD (C2336H3636N588O689S16, 465 residues)
protein: found YDL008W_SGD (C819H1256N232O258S12, 165 residues)
protein: found YDL123W_SGD (C712H1073N181O203S8, 140 residues)
protein: found YDL185W_SGD (C5277H8310N1422O1615S35, 1071 residues)
protein: found YDR128W_SGD (C5809H8888N1586O1793S41, 1148 residues)
protein: found YDR135C_SGD (C7777H12253N2031O2199S54, 1515 residues)
protein: found YDR229W_SGD (C2125H3383N617O755S10, 453 residues)
protein: found YDR284C_SGD (C1558H2369N387O413S12, 289 residues)
protein: found YDR352W_SGD (C1594H2461N401O478S9, 317 residues)
protein: found YDR486C_SGD (C1095H1775N317O385S10, 229 residues)
protein: found YEL013W_SGD (C2757H4488N770O882S21, 578 residues)
protein: found YEL051W_SGD (C1272H2071N367O406S6, 256 residues)
protein: found YFL041W_SGD (C3203H4852N836O942S23, 622 residues)
protein: found YFL048C_SGD (C2247H3567N593O687S14, 445 residues)
protein: found YFR019W_SGD (C11279H17815N3169O3591S68, 2278 residues)
protein: found YGL006W_SGD (C5828H9293N1571O1753S45, 1173 residues)
protein: found YGR106C_SGD (C1333H2027N309O440S8, 265 residues)
protein: found YGR163W_SGD (C1722H2724N440O533S15, 341 residues)
protein: found YHR039C-A_SGD (C560H946N156O176S, 114 residues)
protein: found YIL047C_SGD (C4732H7238N1242O1336S41, 902 residues)
protein: found YJR138W_SGD (C8121H12790N2226O2423S49, 1584 residues)
protein: found YKR007W_SGD (C850H1372N260O303S5, 184 residues)
protein: found YLL048C_SGD (C8641H13504N2230O2445S44, 1661 residues)
protein: found YLR001C_SGD (C4408H6921N1155O1311S17, 862 residues)
protein: found YLR396C_SGD (C3545H5603N929O1085S21, 691 residues)
protein: found YLR447C_SGD (C1779H2714N454O555S14, 345 residues)
protein: found YML018C_SGD (C2022H3130N488O566S13, 393 residues)
protein: found YML121W_SGD (C1603H2538N424O468S19, 310 residues)
protein: found YMR160W_SGD (C4243H6566N1166O1294S15, 816 residues)
protein: found YMR195W_SGD (C625H935N169O210S5, 127 residues)
protein: found YMR243C_SGD (C2155H3386N598O645S11, 442 residues)
protein: found YOL060C_SGD (C3432H5456N940O1076S19, 706 residues)
protein: found YOL092W_SGD (C1620H2472N388O442S13, 308 residues)
protein: found YOL129W_SGD (C932H1426N226O257S6, 184 residues)
protein: found YOR270C_SGD (C4350H6673N1095O1248S39, 840 residues)
protein: found YOR316C_SGD (C2159H3376N576O644S14, 439 residues)
protein: found YOR332W_SGD (C1162H1931N317O371S6, 233 residues)
protein: found YPL006W_SGD (C6060H9288N1486O1733S61, 1170 residues)
protein: found YPL045W_SGD (C4213H6622N1072O1214S32, 798 residues)
protein: found YPL162C_SGD (C1455H2238N354O392S12, 273 residues)
protein: found YPL180W_SGD (C3766H6020N1176O1289S14, 799 residues)
protein: found YPR036W_SGD (C2444H3947N645O729S12, 478 residues)
gt.prt> np <- length(is)
gt.prt> pl <- protein.length(species()$name)
gt.prt> # we use unitize so total activity of residues is unity
gt.prt> loga <- rep(0,np)
gt.prt> species(1:np,unitize(loga,pl))
gt.prt> a <- affinity()
affinity: temperature is 25 C
energy.args: pressure is Psat
affinity: loading ionizable protein groups
subcrt: 68 species at 298.15 K and 1 bar (wet)
gt.prt> d <- diagram(a,do.plot=FALSE)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 219 162 517 465 165 140 1071 1148 1515 453 289 317 229 578 256 622 445 2278 1173 265 341 114 902 1584 184 1661 862 691 345 393 310 816 127 442 706 308 184 840 439 233 1170 798 273 799 478
diagram: using residue equivalents
diagram: log total activity of PBB (from species) is -4.339474e-16
gt.prt> calc.loga <- as.numeric(d$logact)
gt.prt> expt.loga <- unitize(log10(y$abundance[-ina]),pl)
gt.prt> # which ones are outliers
gt.prt> rmsd <- sqrt(sum((expt.loga-calc.loga)^2)/np)
gt.prt> residuals <- abs(expt.loga - calc.loga)
gt.prt> iout <- which(residuals > rmsd)
gt.prt> pch <- rep(16,length(is))
gt.prt> pch[iout] <- 1
gt.prt> # the colors reflect average oxidation number of carbon
gt.prt> ZC <- ZC(thermo$obigt$formula[species()$ispecies])
gt.prt> col <- rgb(0.15-ZC,0,0.35+ZC,max=0.5)
gt.prt> # there is a color-plotting error on line 567 of the plot.R file
gt.prt> # of Dick, 2009 that can be reproduced with
gt.prt> #col <- rep(col,length.out=9)
gt.prt> xlim <- ylim <- extendrange(c(calc.loga,expt.loga))
gt.prt> thermo.plot.new(xlim=xlim,ylim=ylim,xlab=expression(list("log"*italic(a),
gt.prt+ "calc")),ylab=expression(list("log"*italic(a),"expt")))
gt.prt> points(calc.loga,expt.loga,pch=pch,col=col)
gt.prt> lines(xlim,ylim+rmsd,lty=2)
gt.prt> lines(xlim,ylim-rmsd,lty=2)
gt.prt> title(main=paste("Calculated and experimental relative abundances of\n",
gt.prt+ "proteins in ",loc,", after Dick, 2009",sep=""),cex.main=0.95)
gt.prt> ## predominance fields for overall protein
gt.prt> ## compositions induced by
gt.prt> ## carbon, sulfur and nitrogen limitation
gt.prt> ## (experimental data from Boer et al., 2003)
gt.prt> expt <- c("low.C","low.N","low.S")
gt.prt> for(i in 1:length(expt)) {
gt.prt+ p <- get.protein(expt[i],"SGD",abundance=1)
gt.prt+ add.protein(p)
gt.prt+ }
get.protein: looking up proteins for low.C SGD from BWP+03
get.protein: found 29 of 29 proteins with abundances for 29
add.protein: added 1 protein with length 373.2
get.protein: looking up proteins for low.N SGD from BWP+03
get.protein: found 6 of 6 proteins with abundances for 6
add.protein: added 1 protein with length 577
get.protein: looking up proteins for low.S SGD from BWP+03
get.protein: found 9 of 9 proteins with abundances for 9
add.protein: added 1 protein with length 442
gt.prt> basis("CHNOS+")
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3 aq
H2O 0 2 0 1 0 0 1 0 liq
NH3 0 3 1 0 0 0 68 -4 aq
H2S 0 2 0 0 1 0 70 -7 aq
O2 0 0 0 2 0 0 2852 -80 gas
H+ 0 1 0 0 0 1 3 -7 aq
gt.prt> basis("O2",-75.29)
C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0 69 -3.00 aq
H2O 0 2 0 1 0 0 1 0.00 liq
NH3 0 3 1 0 0 0 68 -4.00 aq
H2S 0 2 0 0 1 0 70 -7.00 aq
O2 0 0 0 2 0 0 2852 -75.29 gas
H+ 0 1 0 0 0 1 3 -7.00 aq
gt.prt> species(expt,"SGD")
protein: found low.C_SGD (C1866.9H2909.2N497.8O554.3S13.8, 373.2 residues)
protein: found low.N_SGD (C3019.3H4590.8N743.2O827.2S21, 577 residues)
protein: found low.S_SGD (C2245.9H3496.7N586.1O643.1S12, 442 residues)
gt.prt> a <- affinity(CO2=c(-5,0),H2S=c(-10,0))
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is CO2 at 128 increments from -5 to 0
energy.args: variable 2 is H2S at 128 increments from -10 to 0
affinity: loading ionizable protein groups
subcrt: 26 species at 298.15 K and 1 bar (wet)
gt.prt> diagram(a,balance="PBB",names=expt,color=NULL)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 373.2 577 442
diagram: using residue equivalents
gt.prt> title(main=paste("Metastabilities of proteins induced by",
gt.prt+ "carbon, sulfur and nitrogen limitation",sep="\n"))
gt.prt> ## predominance fields for overall protein
gt.prt> ## compositions induced and repressed in
gt.prt> ## an/aerobic carbon-limited experiments
gt.prt> ## (Tai et al., 2005)
gt.prt> # the activities of glucose, ammonium and sulfate
gt.prt> # are similar to the non-growth-limiting concentrations
gt.prt> # used by Boer et al., 2003
gt.prt> basis(c("glucose","H2O","NH4+","hydrogen","SO4-2","H+"),
gt.prt+ c(-1,0,-1.3,999,-1.4,-7))
C H N O S Z ispecies logact state
C6H12O6 6 12 0 6 0 0 1885 -1.0 aq
H2O 0 2 0 1 0 0 1 0.0 liq
NH4+ 0 4 1 0 0 1 18 -1.3 aq
H2 0 2 0 0 0 0 2845 999.0 gas
SO4-2 0 0 0 4 1 -2 24 -1.4 aq
H+ 0 1 0 0 0 1 3 -7.0 aq
gt.prt> # the names of the experiments in thermo$stress
gt.prt> expt <- c("Clim.aerobic.down","Clim.aerobic.up",
gt.prt+ "Clim.anaerobic.down","Clim.anaerobic.up")
gt.prt> # here we use abundance to indicate that the protein
gt.prt> # compositions should be summed together in equal amounts
gt.prt> for(i in 1:length(expt)) {
gt.prt+ p <- get.protein(expt[i],"SGD",abundance=1)
gt.prt+ add.protein(p)
gt.prt+ }
get.protein: looking up proteins for Clim.aerobic.down SGD from TBD+05
get.protein: found 48 of 48 proteins with abundances for 48
add.protein: added 1 protein with length 456.8
get.protein: looking up proteins for Clim.aerobic.up SGD from TBD+05
get.protein: found 145 of 145 proteins with abundances for 145
add.protein: added 1 protein with length 439
get.protein: looking up proteins for Clim.anaerobic.down SGD from TBD+05
get.protein: found 166 of 166 proteins with abundances for 166
add.protein: added 1 protein with length 486.3
get.protein: looking up proteins for Clim.anaerobic.up SGD from TBD+05
get.protein: found 35 of 35 proteins with abundances for 35
add.protein: added 1 protein with length 281.2
gt.prt> species(expt,"SGD")
protein: found Clim.aerobic.down_SGD (C2306.2H3590.1N606.9O680.9S16.8, 456.8 residues)
protein: found Clim.aerobic.up_SGD (C2199.7H3442.8N590.6O661.8S14.9, 439 residues)
protein: found Clim.anaerobic.down_SGD (C2452H3855.2N659.6O746.8S17, 486.3 residues)
protein: found Clim.anaerobic.up_SGD (C1401.7H2211.3N378.5O415.1S10.6, 281.2 residues)
gt.prt> a <- affinity(C6H12O6=c(-35,-20),H2=c(-20,0))
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is C6H12O6 at 128 increments from -35 to -20
energy.args: variable 2 is H2 at 128 increments from -20 to 0
affinity: loading ionizable protein groups
subcrt: 27 species at 298.15 K and 1 bar (wet)
gt.prt> diagram(a,color=NULL,as.residue=TRUE)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 456.8 439 486.3 281.2
diagram: using residue equivalents
gt.prt> title(main=paste("Metastabilities of average protein residues in",
gt.prt+ "an/aerobic carbon limitation in yeast",sep="\n"))
gt.prt> ## continuation of the above example: here we compute
gt.prt> # the relative stabilities of all the individual
gt.prt> # proteins, then combine them into groupings of proteins
gt.prt> plist <- list()
gt.prt> ip <- numeric()
gt.prt> for(i in 1:length(expt)) {
gt.prt+ p <- get.protein(expt[i],"SGD")
gt.prt+ plist[[i]] <- 1:nrow(p) + length(ip)
gt.prt+ ip <- c(ip,add.protein(p))
gt.prt+ }
get.protein: looking up proteins for Clim.aerobic.down SGD from TBD+05
get.protein: found 48 of 48 proteins
add.protein: added 47 proteins
get.protein: looking up proteins for Clim.aerobic.up SGD from TBD+05
get.protein: found 145 of 145 proteins
add.protein: added 145 proteins
get.protein: looking up proteins for Clim.anaerobic.down SGD from TBD+05
get.protein: found 166 of 166 proteins
add.protein: added 164 proteins
get.protein: looking up proteins for Clim.anaerobic.up SGD from TBD+05
get.protein: found 35 of 35 proteins
add.protein: added 34 proteins
gt.prt> names(plist) <- expt
gt.prt> a <- affinity(C6H12O6=c(-35,10),H2=c(-12,-5),iprotein=ip)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is C6H12O6 at 128 increments from -35 to 10
energy.args: variable 2 is H2 at 128 increments from -12 to -5
affinity: loading ionizable protein groups
subcrt: 48 species at 298.15 K and 1 bar (wet)
50..100..150..200..250..300..350..
gt.prt> diagram(a,color=NULL,as.residue=TRUE)
diagram: immobile component is protein backbone group
diagram: using residue equivalents
gt.prt> diagram(a,col="blue",col.names="blue",
gt.prt+ as.residue=TRUE,group=plist,add=TRUE,mam=FALSE)
diagram: immobile component is protein backbone group
diagram: using residue equivalents
diagram: log total activity of PBB (from species) is 2.24993
gt.prt> title(main="Metastabilities of protein residues (black)
gt.prt+ and groupings thereof (blue) in yeast stress response",cex.main=0.95)
gt.prt> # we could make a speciation diagram at an interesting logfH2
gt.prt> # basis("H2",-8.5)
gt.prt> # a <- affinity(C6H12O6=c(-35,10),iprotein=ip)
gt.prt> # diagram(a,as.residue=TRUE,group=plist,ylim=c(0,3))
gt.prt> # title(main="Computed relative abundances of groupings of
gt.prt+ # protein residues in yeast stress response")
Next: revisit
Up: CHNOSZ examples
Previous: ionize