

################################################################ do spatial correction for four line mRNA
setwd("final")
load ("attile1V7anno.RData")
source("readcel.R")
library(affy)

array.size <- 2560
probe.ok <- matrix(FALSE, nr=array.size, nc=array.size)
probe.ok.chrom <- matrix(NA, nr=array.size, nc=array.size)
probe.ok.position <- matrix(NA, nr=array.size, nc=array.size)
probe.ok[cbind(attile1$xpos+1, attile1$ypos+1)] <- TRUE
probe.ok.chrom[cbind(attile1$xpos + 1, attile1$ypos+1)] <-attile1$chr
probe.ok.position [cbind(attile1$xpos + 1, attile1$ypos+1)] <- attile1$bpstart

probe.ok.chrom.valid <- probe.ok.chrom[probe.ok]
probe.ok.position.valid <- probe.ok.position [probe.ok]
chrom.order <- order(probe.ok.chrom.valid, probe.ok.position.valid)


setwd ("../CEL/mRNA")
cel.files <- list.celfiles() 
mprobe.mean <- readcel (cel.files=cel.files, probe.number=nrow(attile1), array.size=2560, filter.size=81)
rownames(mprobe.mean) <- as.character( c(1:nrow(mprobe.mean) ) )

setwd ("../../final")
save(mprobe.mean, file="mRNA.sc.RData", compress=T)
q("no")




###density plot to see outliers
setwd ("final")
load ("gDNA.sc.RData")
#load ("mRNA.sc.RData")
pdf("gDNA.sc.pdf")
#pdf("mRNA.sc.pdf")
plot( density( mprobe.mean[,1]), type="l", lwd=1, col=1, xlim=c(2, 10), ylim=c(0, 0.6), main="", xlab="probe intensity" )
for (i in 2:16) lines( density(mprobe.mean[,i]), lwd=1, col=i) 
#plot( density( mprobe.mean[,1]), type="l", lwd=1, col=1, xlim=c(2, 12), ylim=c(0, 1.5), main="", xlab="probe intensity")
#for (i in 2:16) lines( density(mprobe.mean[,i]), lwd=1, col=i) 
dev.off()


 

setwd ("final")
load ("mRNA.sc.RData")
pdf("mRNA.sc.fourline.pdf")
plot( density( mprobe.mean[,1]), type="l", lwd=1, col=1, xlim=c(2, 8), ylim=c(0, 1.5), main="", xlab="probe intensity")
for (i in 2:16) lines( density(mprobe.mean[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()

pdf("mRNA.sc.twoline.pdf")
plot( density( mprobe.mean[,1]), type="l", lwd=1, col=1, xlim=c(2, 8), ylim=c(0, 1.5), main="", xlab="probe intensity")
for (i in 2:8) lines( density(mprobe.mean[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()



load ("attile1V7anno.RData")
load ("attile.nonSFP.exon.RData")
load ("attile.nonSFP.RData")

mRNA.exon <- mprobe.mean[ which( rownames(attile1) %in% rownames(attile.nonSFP.exon) ), ]
pdf("mRNA.sc.exon.pdf")
plot( density( mRNA.exon[,1]), type="l", lwd=1, col=1, xlim=c(2, 8), ylim=c(0, 0.7), main="", xlab="probe intensity")
for (i in 2:8) lines( density(mRNA.exon[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()

attile.nonSFP.intron <- attile.nonSFP[ - which( rownames(attile.nonSFP) %in% rownames(attile.nonSFP.exon) ), ]
mRNA.intron <- mprobe.mean[ which( rownames(attile1) %in% rownames(attile.nonSFP.intron) ), ]
pdf("mRNA.sc.intron.pdf")
plot( density( mRNA.intron[,1]), type="l", lwd=1, col=1, xlim=c(2, 8), ylim=c(0, 2), main="", xlab="probe intensity")
for (i in 2:8) lines( density(mRNA.intron[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()


mRNA.nonSFP <- mprobe.mean[ which( rownames(attile1) %in% rownames(attile.nonSFP) ), ]
pdf("mRNA.sc.nonSFP.parents.pdf")
plot( density( mRNA.nonSFP[,1]), type="l", lwd=1, col=1, xlim=c(2, 12), ylim=c(0, 1), main="", xlab="probe intensity")
for (i in 2:8) lines( density(mRNA.nonSFP[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()


pdf("mRNA.sc.nonSFP.F1s.pdf")
plot( density( mRNA.nonSFP[,9]), type="l", lwd=1, col=1, xlim=c(2, 12), ylim=c(0, 1), main="", xlab="probe intensity")
for (i in 10:16) lines( density(mRNA.nonSFP[,i]), lwd=1, col= trunc(i/4.5)+1) 
dev.off()



########################################################################################normalization
   Delta   p0     False Called    FDR cutlow cutup    j2      j1
1   0.50 0.95 18745.571 150703 0.1182 -1.656 1.142 14934 1547852
2   0.55 0.95 14251.714 142660 0.0949 -1.752 1.203 11741 1552702
3   0.60 0.95 10963.486 135922 0.0766 -1.843 1.263  9479 1557178
4   0.65 0.95  8604.243 130229 0.0628 -1.928 1.322  7854 1561246
###5   0.70 0.95  6873.671 125043 0.0522 -2.009 1.381  6662 1565240
6   0.75 0.95  5633.714 120253 0.0445 -2.087 1.440  5712 1569080
7   0.80 0.95  4727.814 115840 0.0388 -2.162 1.499  4979 1572760
8   0.85 0.95  4072.014 111858 0.0346 -2.237 1.558  4359 1576122
###9   0.90 0.95  3579.129 107935 0.0315 -2.310 1.617  3820 1579506
10  0.95 0.95  3205.557 104154 0.0292 -2.382 1.676  3397 1582864
11  1.00 0.95  2920.586 100580 0.0276 -2.451 1.734  3059 1586100
### minimum FDR 1/35=0.0286  


			      

setwd("final")
load("attile1V7anno.RData")
load ("gDNA.sc.nq.RData")


#the 5% weakest probes
col.mean <- rowMeans( gDNA.nq[, 1:4])
weak.cut <- quantile(col.mean, 0.05)
weak.cut <- which(col.mean < weak.cut)


#the SFPs at 5% FDR
load("SFP.samout.RData")
library(siggenes)
cut.low <- sort(sam.out@d)[6662]
cut.high <- sort(sam.out@d)[1565240]
sfp.cut <- which( sam.out@d <= cut.low | sam.out@d >= cut.high )


#the indels
ind <- c(1:nrow(attile1))
load ("segment/aic.RData")

indel.cut <- c()
for (chrom in 1:5)
{
 ind.chr <- ind[ attile1$chr==chrom]
 attile <- attile1[ attile1$chr==chrom,]
 mid <- as.numeric(attile$bpstart) - 12

 col.seg.bp <- col[[chrom]]
 van.seg.bp <- van[[chrom]]
 seg.bp <- rbind(col.seg.bp, van.seg.bp)
 
 for (i in 1:nrow(seg.bp) )
  {probe <- which( mid >= seg.bp[i,1] & mid <=seg.bp[i,2])
   indel.cut <- c(indel.cut, ind.chr[probe]) }
  }


#> length(weak.cut)
#[1] 84181
#> length(sfp.cut)
#[1] 125043
#> length(indel.cut)
#[1] 64749
#> length(weak.cut)+length(sfp.cut) + length(indel.cut)
#[1] 273973
#> length( which(rownames(attile1) %in% as.character( c(weak.cut, sfp.cut, indel.cut) ) ) )
#[1]  229727



attile.nonSFP <- attile1[ attile1$flank == "noflank" & attile1$RNA == "mRNA" & attile1$multiTranscript == "unique",]
attile.nonSFP <- attile.nonSFP[- which( rownames(attile.nonSFP) %in% as.character( c(weak.cut, sfp.cut, indel.cut) ) ), ]
write.table (attile.nonSFP, file="table.csv")
attile.nonSFP <- read.table( "table.csv", header=T)
save( attile.nonSFP, file="attile.nonSFP.RData", compress=T)

attile.nonSFP$gene <- as.character( attile.nonSFP$gene )
attile.nonSFP$tu <- as.character(attile.nonSFP$tu)
attile.nonSFP.exon <- attile.nonSFP[grep( "tu", attile.nonSFP$tu ), ]
maxclone <- tapply (attile.nonSFP.exon$expressedClones, attile.nonSFP.exon$gene, max )
attile.nonSFP.exon$maxClone <- maxclone[ match( attile.nonSFP.exon$gene, names(maxclone) ) ]
attile.nonSFP.exon <- attile.nonSFP.exon[ attile.nonSFP.exon$expressedClones/attile.nonSFP.exon$maxClone >= 0.5, ] 
write.table( attile.nonSFP.exon, "table.csv")
attile.nonSFP.exon <- read.table( "table.csv", header=T)
save( attile.nonSFP.exon, file="attile.nonSFP.exon.RData", compress=T)


# totalClones=0 has expressedClones either=0.001, 0.002, 0.003 or 0.004, but not all expressedClones=0.001, 0.002, 0.003 and 0.004 has totalClones=0
# atV7: probes: 1683620 -  893869 (attile.nonSFP) -  626197 (attile.nonSFP.exon)



### do quantile normalization for attile.nonSFP probes

load ("mRNA.sc.RData")
library( affy)

mprobe.mean <- mprobe.mean[ which ( rownames( mprobe.mean) %in% rownames(attile.nonSFP) ), ]

#quantile normalization
mRNA.nq <- normalize.quantiles( mprobe.mean )
rownames(mRNA.nq) <- rownames(mprobe.mean)
save (mRNA.nq, file="mRNA.sc.nq.RData", compress=T)



q("no")

























