Saturday, September 27, 2014

Negative correlation between PlasmidLoss measure and initial LOH mitotic asymmetry measure (L0)


With only 6 strains, there is a negative correlation between mitotic asymmetry (L0) and first plasmid loss measure, pvalue = 0.04. (I missed M1-2. It seems to be labeled as M12 in the plasmid loss data set. After add M1-2, partial correlation L0.small ~ PL1 + CLS still works. 




The second plasmid loss measure is not significantly correlated. 
#> pTb[pTb<0.05]  #PL2
#<NA>         Nloh         <NA>          PL1          PL2           PL 
#NA 0.0111638902           NA 0.0022934461 0.0000000000 0.0001032832 


#> pTb[pTb<0.09]  #PL1
#<NA>         Nloh     b.min.sd     TLmax.sd         <NA>     L0.small          PL1          PL2           PL 
#NA 3.138762e-02 8.707534e-02 5.595864e-02           NA 3.957404e-02 0.000000e+00 2.293446e-03 5.375196e-05 

The combined measure has a pvalue = 0.06. 

#> pTb[pTb<0.09]
#<NA>         Nloh     b.min.sd     TLmax.sd         <NA>     L0.small          PL1          PL2           PL 
#NA 1.647319e-02 5.877810e-02 7.604223e-02           NA 6.414451e-02 5.375196e-05 1.032832e-04 0.000000e+00 

Partial correlation tb$L0.small ~ tb$PL1 + tb$CLS is still good. (but not with PL2)




TODO: H2O2 data, Tg/Tc


See: github/0.network.aging.prj/10.choy/_choy.plasmidLoss.20140926.R
rm(list=ls())
require(xlsx)
setwd("~/projects/0.network.aging.prj/10.choy")
list.files()

plasmidlosstb = read.xlsx("plasmid loss assays.xlsx", 1)
names(plasmidlosstb)= c("strain", "PL1", "PL2")
plasmidlosstb$strain = as.character( plasmidlosstb$strain )
str(plasmidlosstb)

LOHtb = read.table("021307.summary.by.strain.csv", sep="\t", header=T)
LOHtb$strain = as.character(LOHtb$strain)
LOHtb$PL1 = NA; LOHtb$PL2 = NA; LOHtb$PL=NA; 
str(LOHtb[,1:10])
for( i in 1:length(LOHtb$strain) ){
  mys = LOHtb$strain[i]
  #  mys ="M8";   #debug
  x = grep(mys, plasmidlosstb$strain)
  if( length(x)>0 ) {
    tmptb = plasmidlosstb[x, ]    
    LOHtb$PL1[i] = mean(tmptb$PL1, na.rm=T)
    LOHtb$PL2[i] = mean(tmptb$PL2, na.rm=T)
    LOHtb$PL[i] = mean( c(tmptb$PL1, tmptb$PL2), na.rm=T )
  }else {
    print(paste(mys, " is not found in plasmid loss data"))
  }
}

### all possible regression analysis for a given column
tb = LOHtb
pTb = 1: length(tb[1,])
names(pTb) = names(tb)
for( j in c(2:40) ) {
  m = lm( tb[, j] ~ tb$PL)  
  #m = lm( tb[, j] ~ tb$PL1)
  #m = lm( tb[, j] ~ tb$PL2)
  sm = summary(m)
  pTb[j] = 1 - pf(sm$fsta[1], sm$fsta[2], sm$fsta[3])
}
pTb[pTb<0.09]

#> pTb[pTb<0.05]  #PL2
#<NA>         Nloh         <NA>          PL1          PL2           PL 
#NA 0.0111638902           NA 0.0022934461 0.0000000000 0.0001032832 


#> pTb[pTb<0.09]  #PL1
#<NA>         Nloh     b.min.sd     TLmax.sd         <NA>     L0.small          PL1          PL2           PL 
#NA 3.138762e-02 8.707534e-02 5.595864e-02           NA 3.957404e-02 0.000000e+00 2.293446e-03 5.375196e-05 

#> pTb[pTb<0.09]
#<NA>         Nloh     b.min.sd     TLmax.sd         <NA>     L0.small          PL1          PL2           PL 
#NA 1.647319e-02 5.877810e-02 7.604223e-02           NA 6.414451e-02 5.375196e-05 1.032832e-04 0.000000e+00 

m = lm(tb$L0.small ~ tb$PL1)
summary(m)
plot( tb$L0.small ~ tb$PL1, pch=18, xlim=c(2,7), ylim=c(0.05, 0.20))
abline(m, col='red')
text( tb$PL1, tb$L0.small, tb$strain)
text( 3, 0.1, "R2=0.69, p=0.04")




No comments:

Post a Comment