dd2014_QTLcis.R

Lovell — Aug 11, 2014, 6:49 PM

#determination of QTL intervals for candidate gene discovery
rm(list=ls())
options(warn=-1)
pkg <- c("biomaRt","qtl","snow","rlecuyer","plyr","ggplot2","reshape","reshape2","qvalue","lme4","nlme","car","doBy","scales")
invisible(lapply(pkg, function(x) {cat(x,"..."); library(x, character.only=T, verbose=F, warn.conflicts=F,quietly=T)} ))
biomaRt ...qtl ...snow ...rlecuyer ...plyr ...ggplot2 ...reshape ...reshape2 ...qvalue ...lme4 ...

Attaching package: 'Matrix'

The following object is masked from 'package:reshape':

    expand
nlme ...car ...doBy ...
Loading required package: splines

Attaching package: 'MASS'

The following object is masked from 'package:biomaRt':

    select
scales ...
sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] splines   stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] scales_0.2.4    doBy_4.5-10     MASS_7.3-33     survival_2.37-7
 [5] car_2.0-20      nlme_3.1-117    lme4_1.1-7      Rcpp_0.11.2    
 [9] Matrix_1.1-4    qvalue_1.38.0   reshape2_1.4    reshape_0.8.5  
[13] ggplot2_1.0.0   plyr_1.8.1      rlecuyer_0.3-3  snow_0.3-13    
[17] qtl_1.32-10     biomaRt_2.20.0  knitr_1.6      

loaded via a namespace (and not attached):
 [1] AnnotationDbi_1.26.0 Biobase_2.24.0       BiocGenerics_0.10.0 
 [4] colorspace_1.2-4     DBI_0.2-7            digest_0.6.4        
 [7] evaluate_0.5.5       formatR_0.10         GenomeInfoDb_1.0.2  
[10] grid_3.1.0           gtable_0.1.2         IRanges_1.22.10     
[13] lattice_0.20-29      minqa_1.2.3          munsell_0.4.2       
[16] nloptr_1.0.0         nnet_7.3-8           parallel_3.1.0      
[19] proto_0.3-10         RCurl_1.95-4.3       RSQLite_0.11.4      
[22] stats4_3.1.0         stringr_0.6.2        tcltk_3.1.0         
[25] tools_3.1.0          XML_3.98-1.1        
setwd("~/Desktop/Drydown2014")

##############################################
##############################################
#Part 1 (QTL analysis w/out covariates): 
##############################################
##############################################


##############################################
load("dd2014_stepwiseresults.RData")
library(qtl)
library(ggplot2)
library (plyr)
#1.1: Look at the distribution of QTL confidence intervals
plod.nocovar<-lapply(model.out, function(x) attr(x, "pLOD"))
plod.cytocovar<-lapply(model.out.cyto, function(x) attr(x, "pLOD"))
plods<-cbind(unlist(plod.cytocovar),unlist(plod.nocovar)); colnames(plods)<-c("cytocovar","nocovar")
cyto.is.best<-plods[,1]>plods[,2]; cyto.is.best["FT.June"]<-F
cyto.is.best<-as.character(names(cyto.is.best[cyto.is.best]))
cyto.models<-model.out.cyto[cyto.is.best]
nocov.is.best<-plods[,1]<=plods[,2];nocov.is.best["FT.June"]<-T
nocov.is.best<-as.character(names(nocov.is.best[nocov.is.best]))
no.models<-model.out[nocov.is.best]
bestmodels<-append(cyto.models,no.models)
#extract all lps into a dataframe
all.lps<-lapply(bestmodels, function (x) attr (x, "lodprofile"))
names(all.lps)
 [1] "GR.dry"       "Rel.GR.wet"   "Rolled.dry"   "Wilted.dry"  
 [5] "g0"           "proline.dry"  "ABAlyoph.dry" "C13.dry"     
 [9] "C13.wet"      "FT.June"      "RMR.dry"     
lps.df<-data.frame()
count.1<-0
for (i in all.lps){
  count.1=count.1+1
  count=0
  for (j in i){
    count=count+1
    out<-cbind(names(all.lps)[count.1],names(i)[count],as.data.frame(j))
    st.lod<-out$lod/max(out$lod)
    out.all<-cbind(out,st.lod)
    lps.df<-rbind(lps.df,out.all)
  }
}
colnames(lps.df)<-c("phenotype","qtl.id","chr","pos","lod","st.lod")
lps.df$lod[lps.df$lod<0]<-NA
lps.df$st.lod[lps.df$st.lod<0]<-NA

# extract statistics for each model and combine with Lod Profiles
cyto.is.best;nocov.is.best
[1] "GR.dry"      "Rel.GR.wet"  "Rolled.dry"  "Wilted.dry"  "g0"         
[6] "proline.dry"
[1] "ABAlyoph.dry" "C13.dry"      "C13.wet"      "FT.June"     
[5] "RMR.dry"     
plod.cytocovar<-lapply(cytocovar.modelstats, function(x) attr(x, "pLOD"))
plod.nocovar<-lapply(nocovar.modelstats, function(x) attr(x, "pLOD"))
cyto.stats.in<-split(cytocovar.modelstats,cytocovar.modelstats$phenotype)
nocov.stats.in<-split(nocovar.modelstats,nocovar.modelstats$phenotype)
cyto.stats<-cyto.stats.in[cyto.is.best]
nocov.stats<-nocov.stats.in[nocov.is.best]
beststats<-append(cyto.stats,nocov.stats)
beststats.df<-ldply(beststats,data.frame)
beststats.ci<-beststats.df[complete.cases(beststats.df),c("phenotype","chromosome","position",
                              "lowCImarker", "hiCImarker", "lowCIpos", "hiCIpos")]
#get qtl identifiers and add them to the data frame
qtlids<-data.frame()
for (i in 1:11){
  temp<-bestmodels[[i]];  qtl.id<-temp$name;  qtl.pos<-temp$pos;  qtl.chr<-temp$chr
  pheno<-names(bestmodels)[i]
  qtlids<-rbind(qtlids,cbind(qtl.id,qtl.chr,qtl.pos,pheno))
}
names(qtlids)[2:4]<-c("chromosome","position","phenotype")
allstats<-merge(qtlids,beststats.ci, by=c("chromosome","position","phenotype"))

all.stats.out<-merge(lps.df,allstats, by=c("qtl.id","phenotype"), all.x=T)
all.stats.out$unique<-paste(all.stats.out$qtl.id,all.stats.out$phenotype, sep="_")
test.oneelement<-all.stats.out[!duplicated(all.stats.out$unique),]
write.csv(test.oneelement, file="dd2014_ciintervals.csv", row.names=F)
write.csv(all.stats.out, file="dd2014_ciandlps.csv", row.names=F)

for.rects<-read.csv("dd2014_ciintervals.csv", header=T)
for.lps<-read.csv("dd2014_ciandlps.csv", header=T)

ggplot(for.rects, aes(x=pos, y=st.lod, fill=qtl.id, color=qtl.id))+
  geom_rect(aes(xmax=hiCIpos, xmin=lowCIpos,  ymin = 0, ymax = 1.02), color=NA,fill="red", alpha=.2)+
  geom_line(aes(x=pos, y=st.lod),color="black",data=for.lps)+
  facet_grid(phenotype~chromosome, space = "free", scales= "free")+  
  theme_bw()+
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank(),
    strip.background = element_rect(colour="white", fill="white"),
    panel.border = element_rect(colour = "black"))+
  scale_y_continuous(breaks=c(0,.5,1))+
  ggtitle("distribution of standardized LOD profiles overlayed by 90% CIs")

plot of chunk unnamed-chunk-1

## now look at specific problems
print(for.rects$unique)
 [1] 1@16.1_g0           1@83.8_FT.June      2@15.5_ABAlyoph.dry
 [4] 2@73.6_Rolled.dry   2@74.4_proline.dry  3@17.9_C13.wet     
 [7] 3@19.0_RMR.dry      3@3.9_GR.dry        3@50.2_proline.dry 
[10] 3@53.6_Rel.GR.wet   3@58.5_C13.dry      3@75.5_C13.wet     
[13] 4@1.5_RMR.dry       4@2.1_Wilted.dry    4@2.8_FT.June      
[16] 4@2.8_proline.dry   4@4.4_C13.wet       4@42.4_C13.wet     
[19] 4@62.1_FT.June      5@15.3_FT.June      5@69.8_C13.wet     
[22] 5@71.7_FT.June      5@9.8_C13.wet      
23 Levels: 1@16.1_g0 1@83.8_FT.June ... 5@9.8_C13.wet
#make lists- qtl.index, phenotype
too.wide<-list(c(1,"ABAlyoph.dry"),c(1,"GR.dry"))

too.narrow<-list(c(1,"proline.dry"),c(2,"FT.June"),c(5,"FT.June"))
too.wide.unique<-c("2@15.5_ABAlyoph.dry","3@3.9_GR.dry")
too.narrow.unique<-c("2@74.4_proline.dry","4@2.8_FT.June","5@71.7_FT.June")
newint<-data.frame(bayesint(model.out["ABAlyoph.dry"][[1]], qtl.index=1, prob=.75)[1:3,1:3])

#function to look at plots of new vs old cis. 
fix.qtlci<-function(qtllist,qtlnames, newdrop=1.5,newprob=.90) {
  all.out<-data.frame()
  for (i in 1:length(qtllist)){
    for.rects.sub<-for.rects[for.rects$unique==qtlnames[i],]
    for.lps.sub<-for.lps[for.lps$unique==qtlnames[i],]
    newbayesint<-data.frame(bayesint(bestmodels[qtllist[[i]][2]][[1]], 
                                     qtl.index=as.numeric(qtllist[[i]][1]), prob=newprob))
    newlodint<-data.frame(lodint(bestmodels[qtllist[[i]][2]][[1]], 
                                 qtl.index=as.numeric(qtllist[[i]][1]), drop=newdrop))
    print(ggplot(for.rects.sub, aes(x=pos, y=st.lod, fill=qtl.id, color=qtl.id))+
            geom_rect(aes(xmax=hiCIpos, xmin=lowCIpos,  ymin = 0, ymax = 1.02), color="green",fill=NA)+
            geom_line(aes(x=pos, y=st.lod),color="black",data=for.lps.sub)+theme_bw()+
            geom_rect(xmax=newlodint[3,2],xmin=newlodint[1,2],ymin=0,ymax=1.02, 
                      fill="blue",color=NA, alpha=0.2)+
            geom_rect(xmax=newbayesint[3,2],xmin=newbayesint[1,2],ymin=0,ymax=1.02, 
                      fill="red",color=NA, alpha=0.2)+
            ggtitle(paste(qtlnames[i], "original 90% CI (green box) vs new CIs \n", newprob*100 ,"% bayes (red) and", newdrop, "drop (blue)"))
    )
    ints.out<-cbind(strsplit(qtlnames[i],"_")[[1]][1],
                    strsplit(qtlnames[i],"_")[[1]][2],
                    newlodint,newbayesint)
    all.out<-rbind(all.out,ints.out)
  }
  colnames(all.out)[1:2]<-c("qtl.id","phenotype")
  colnames(all.out)[3:5]<-paste(colnames(all.out)[3:5],"_lod",sep="")
  colnames(all.out)[6:8]<-paste(colnames(all.out)[6:8],"_bayes",sep="")
  return(all.out)
}
#this procedure makes estimates of extremely narrow peaks more reasonable and 
# and broad peaks more representative of the morphology
toowide.newcis<-fix.qtlci(qtllist=too.wide, qtlnames=too.wide.unique, newdrop=1,newprob=.75)

plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1

toonarrow.newcis<-fix.qtlci(qtllist=too.narrow, qtlnames=too.narrow.unique, newdrop=2,newprob=.99)

plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1

#best ints 
inttoo.wide.unique<-c("2@15.5_ABAlyoph.dry","3@3.9_GR.dry")
too.narrow.unique<-c("2@74.4_proline.dry","4@2.8_FT.June","5@71.7_FT.June")
all.newcis<-rbind(toowide.newcis,toonarrow.newcis)
Ft5.2<-"lod"
Ft4.1<-"lod"
pro2.2<-"bayes"
gr3.1<-"lod"
ABA2.1<-"bayes"
lod.newcis<-all.newcis[c(4:6,10:15),1:5]
bayes.newcis<-all.newcis[c(1:3,7:9),c(1:2,6:8)]
colnames(lod.newcis)[3:5]<-c("chr","pos","lod")
colnames(bayes.newcis)[3:5]<-c("chr","pos","lod")
##################
##################
#fixed cis:
newcis.out<-rbind(bayes.newcis,lod.newcis)
newcis.out$type<-rep(c("lowCIpos","position","hiCIpos"),5)
newcis.out<-dcast(newcis.out, qtl.id + phenotype +chr ~ type, value.var="pos")
##################
##################

#################
#now address the multi-peak problem
multi.peaks<-list(c(3,"C13.dry"),c(5,"C13.wet"),c(5,"C13.wet"),c(4,"Wilted.dry"), c(1,"g0"))
multi.peaks.unique<-c("3@58.5_C13.dry","5@9.8_C13.wet","5@69.8_C13.wet","4@2.1_Wilted.dry","1@16.1_g0")

#look at the standardized lps:
for (i in 1:5){
  for.rects.sub<-for.rects[for.rects$unique==multi.peaks.unique[i],]
  for.lps.sub<-for.lps[for.lps$unique==multi.peaks.unique[i],]
  print(ggplot(for.rects.sub, aes(x=pos, y=st.lod, fill=qtl.id, color=qtl.id))+
        geom_line(aes(x=pos, y=st.lod),color="black",data=for.lps.sub)+theme_bw()+
          ggtitle(paste("lod profile for", multi.peaks.unique[i])))
}

plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1

#must do it manually- subset for peaks around 1/2 the height of the peak
new.ints=list()
#"3@58.5_C13.dry"
for.lps.sub<-for.lps[for.lps$unique=="3@58.5_C13.dry",]
new.int<-for.lps.sub[for.lps.sub$st.lod>=0.6,]
new.int
     qtl.id phenotype chr   pos   lod st.lod chromosome position
1438 3@58.5   C13.dry   3 44.18 1.998 0.6178          3    58.47
1439 3@58.5   C13.dry   3 44.91 2.067 0.6391          3    58.47
1440 3@58.5   C13.dry   3 45.63 1.958 0.6054          3    58.47
1445 3@58.5   C13.dry   3 49.28 2.049 0.6335          3    58.47
1446 3@58.5   C13.dry   3 50.17 2.041 0.6312          3    58.47
1447 3@58.5   C13.dry   3 50.95 2.074 0.6414          3    58.47
1448 3@58.5   C13.dry   3 51.72 2.085 0.6446          3    58.47
1449 3@58.5   C13.dry   3 52.50 2.072 0.6408          3    58.47
1450 3@58.5   C13.dry   3 53.41 2.282 0.7057          3    58.47
1451 3@58.5   C13.dry   3 53.59 2.699 0.8346          3    58.47
1452 3@58.5   C13.dry   3 54.39 2.596 0.8027          3    58.47
1453 3@58.5   C13.dry   3 54.71 2.756 0.8522          3    58.47
1454 3@58.5   C13.dry   3 55.06 2.585 0.7993          3    58.47
1455 3@58.5   C13.dry   3 55.20 2.525 0.7806          3    58.47
1456 3@58.5   C13.dry   3 55.67 2.538 0.7849          3    58.47
1457 3@58.5   C13.dry   3 56.41 2.558 0.7910          3    58.47
1458 3@58.5   C13.dry   3 57.16 2.534 0.7836          3    58.47
1459 3@58.5   C13.dry   3 57.73 2.921 0.9033          3    58.47
1460 3@58.5   C13.dry   3 58.30 3.175 0.9818          3    58.47
1461 3@58.5   C13.dry   3 58.47 3.234 1.0000          3    58.47
1462 3@58.5   C13.dry   3 59.13 3.189 0.9859          3    58.47
1463 3@58.5   C13.dry   3 59.74 2.903 0.8978          3    58.47
1464 3@58.5   C13.dry   3 60.10 2.940 0.9092          3    58.47
1465 3@58.5   C13.dry   3 60.98 2.806 0.8676          3    58.47
1466 3@58.5   C13.dry   3 61.55 2.481 0.7672          3    58.47
1467 3@58.5   C13.dry   3 62.20 2.671 0.8258          3    58.47
1468 3@58.5   C13.dry   3 62.87 2.596 0.8026          3    58.47
1469 3@58.5   C13.dry   3 63.53 2.402 0.7426          3    58.47
1470 3@58.5   C13.dry   3 64.23 2.450 0.7575          3    58.47
1471 3@58.5   C13.dry   3 64.78 2.674 0.8270          3    58.47
1472 3@58.5   C13.dry   3 65.75 2.584 0.7991          3    58.47
1473 3@58.5   C13.dry   3 66.71 2.422 0.7489          3    58.47
1474 3@58.5   C13.dry   3 67.67 2.192 0.6779          3    58.47
1499 3@58.5   C13.dry   3 84.53 1.982 0.6129          3    58.47
1500 3@58.5   C13.dry   3 85.26 2.239 0.6923          3    58.47
1501 3@58.5   C13.dry   3 85.98 2.407 0.7444          3    58.47
1502 3@58.5   C13.dry   3 86.74 2.414 0.7464          3    58.47
1503 3@58.5   C13.dry   3 87.66 2.600 0.8039          3    58.47
1504 3@58.5   C13.dry   3 88.58 2.680 0.8286          3    58.47
1505 3@58.5   C13.dry   3 89.50 2.641 0.8166          3    58.47
     lowCImarker hiCImarker lowCIpos hiCIpos         unique
1438    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1439    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1440    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1445    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1446    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1447    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1448    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1449    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1450    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1451    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1452    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1453    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1454    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1455    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1456    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1457    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1458    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1459    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1460    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1461    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1462    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1463    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1464    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1465    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1466    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1467    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1468    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1469    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1470    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1471    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1472    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1473    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1474    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1499    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1500    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1501    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1502    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1503    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1504    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
1505    3.GAPABX 3-21632379    44.18    89.5 3@58.5_C13.dry
new.int<-new.int[new.int$pos> 49 & new.int$pos<68,]
new.ints[["3@58.5_C13.dry"]]<-c("3@58.5_C13.dry",min(new.int$pos),max(new.int$pos))
new.ints
$`3@58.5_C13.dry`
[1] "3@58.5_C13.dry"   "49.2826666666667" "67.6726"         
#"5@9.8_C13.wet"
for.lps.sub<-for.lps[for.lps$unique=="5@9.8_C13.wet",]
new.int<-for.lps.sub[for.lps.sub$st.lod>=0.6,]
new.int
     qtl.id phenotype chr    pos   lod st.lod chromosome position
2783  5@9.8   C13.wet   5  5.785 3.065 0.6046          5    9.845
2784  5@9.8   C13.wet   5  6.442 3.145 0.6204          5    9.845
2786  5@9.8   C13.wet   5  7.410 3.195 0.6302          5    9.845
2787  5@9.8   C13.wet   5  8.095 3.563 0.7028          5    9.845
2788  5@9.8   C13.wet   5  8.779 3.716 0.7330          5    9.845
2789  5@9.8   C13.wet   5  9.606 4.617 0.9108          5    9.845
2790  5@9.8   C13.wet   5  9.845 5.070 1.0000          5    9.845
2791  5@9.8   C13.wet   5 10.396 5.002 0.9867          5    9.845
2792  5@9.8   C13.wet   5 10.948 4.527 0.8930          5    9.845
2793  5@9.8   C13.wet   5 11.575 4.373 0.8626          5    9.845
2794  5@9.8   C13.wet   5 11.641 4.367 0.8613          5    9.845
2795  5@9.8   C13.wet   5 11.955 4.552 0.8978          5    9.845
2796  5@9.8   C13.wet   5 12.797 4.053 0.7995          5    9.845
2797  5@9.8   C13.wet   5 13.198 3.554 0.7010          5    9.845
2798  5@9.8   C13.wet   5 14.034 4.378 0.8635          5    9.845
2799  5@9.8   C13.wet   5 14.871 4.549 0.8972          5    9.845
2800  5@9.8   C13.wet   5 15.250 3.913 0.7719          5    9.845
2801  5@9.8   C13.wet   5 15.267 3.890 0.7674          5    9.845
2802  5@9.8   C13.wet   5 15.741 3.706 0.7311          5    9.845
2803  5@9.8   C13.wet   5 15.913 3.680 0.7260          5    9.845
2804  5@9.8   C13.wet   5 16.737 3.756 0.7409          5    9.845
2805  5@9.8   C13.wet   5 17.004 3.439 0.6784          5    9.845
2806  5@9.8   C13.wet   5 17.017 3.440 0.6785          5    9.845
2807  5@9.8   C13.wet   5 17.564 3.359 0.6626          5    9.845
2808  5@9.8   C13.wet   5 18.112 3.167 0.6247          5    9.845
2809  5@9.8   C13.wet   5 18.374 3.084 0.6083          5    9.845
2810  5@9.8   C13.wet   5 18.948 3.137 0.6188          5    9.845
2811  5@9.8   C13.wet   5 19.442 3.182 0.6276          5    9.845
2812  5@9.8   C13.wet   5 19.540 3.187 0.6286          5    9.845
2813  5@9.8   C13.wet   5 20.311 3.399 0.6704          5    9.845
2814  5@9.8   C13.wet   5 21.081 3.354 0.6616          5    9.845
2828  5@9.8   C13.wet   5 28.088 3.054 0.6024          5    9.845
2829  5@9.8   C13.wet   5 29.042 3.193 0.6298          5    9.845
2830  5@9.8   C13.wet   5 29.995 3.152 0.6217          5    9.845
2831  5@9.8   C13.wet   5 30.889 3.450 0.6805          5    9.845
2832  5@9.8   C13.wet   5 31.782 3.611 0.7122          5    9.845
2833  5@9.8   C13.wet   5 32.693 3.711 0.7320          5    9.845
2834  5@9.8   C13.wet   5 33.603 3.642 0.7183          5    9.845
2835  5@9.8   C13.wet   5 34.514 3.401 0.6709          5    9.845
2836  5@9.8   C13.wet   5 35.215 3.578 0.7058          5    9.845
2837  5@9.8   C13.wet   5 35.915 3.648 0.7195          5    9.845
2838  5@9.8   C13.wet   5 36.196 3.623 0.7146          5    9.845
2839  5@9.8   C13.wet   5 36.600 3.729 0.7356          5    9.845
2840  5@9.8   C13.wet   5 37.211 3.703 0.7303          5    9.845
2841  5@9.8   C13.wet   5 37.821 3.531 0.6965          5    9.845
2842  5@9.8   C13.wet   5 38.619 3.223 0.6358          5    9.845
2843  5@9.8   C13.wet   5 39.028 3.077 0.6069          5    9.845
     lowCImarker  hiCImarker lowCIpos hiCIpos        unique
2783   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2784   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2786   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2787   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2788   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2789   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2790   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2791   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2792   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2793   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2794   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2795   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2796   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2797   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2798   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2799   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2800   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2801   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2802   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2803   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2804   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2805   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2806   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2807   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2808   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2809   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2810   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2811   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2812   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2813   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2814   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2828   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2829   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2830   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2831   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2832   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2833   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2834   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2835   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2836   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2837   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2838   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2839   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2840   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2841   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2842   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
2843   C5_896146 C5_11137211     7.41   37.82 5@9.8_C13.wet
new.int<-new.int[new.int$pos<22,]
new.ints[["5@9.8_C13.wet"]]<-c("5@9.8_C13.wet",min(new.int$pos),max(new.int$pos))
new.ints
$`3@58.5_C13.dry`
[1] "3@58.5_C13.dry"   "49.2826666666667" "67.6726"         

$`5@9.8_C13.wet`
[1] "5@9.8_C13.wet" "5.785"         "21.081"       
#"5@69.8_C13.wet"
for.lps.sub<-for.lps[for.lps$unique=="5@69.8_C13.wet",]
new.int<-for.lps.sub[for.lps.sub$st.lod>=0.6,]
new.int
     qtl.id phenotype chr   pos   lod st.lod chromosome position
2610 5@69.8   C13.wet   5 68.85 3.645 0.8229          5    69.82
2611 5@69.8   C13.wet   5 69.82 4.429 1.0000          5    69.82
2612 5@69.8   C13.wet   5 70.43 4.414 0.9967          5    69.82
2613 5@69.8   C13.wet   5 71.04 4.230 0.9551          5    69.82
2614 5@69.8   C13.wet   5 71.68 4.022 0.9081          5    69.82
2615 5@69.8   C13.wet   5 72.37 4.064 0.9177          5    69.82
2616 5@69.8   C13.wet   5 73.06 3.914 0.8838          5    69.82
2617 5@69.8   C13.wet   5 73.75 3.594 0.8116          5    69.82
2618 5@69.8   C13.wet   5 73.84 3.451 0.7792          5    69.82
2619 5@69.8   C13.wet   5 74.28 3.490 0.7880          5    69.82
2620 5@69.8   C13.wet   5 74.83 3.458 0.7808          5    69.82
2621 5@69.8   C13.wet   5 75.37 3.291 0.7430          5    69.82
2622 5@69.8   C13.wet   5 76.15 3.314 0.7482          5    69.82
2623 5@69.8   C13.wet   5 76.81 3.250 0.7338          5    69.82
2624 5@69.8   C13.wet   5 77.47 3.090 0.6977          5    69.82
2625 5@69.8   C13.wet   5 78.30 2.740 0.6186          5    69.82
2631 5@69.8   C13.wet   5 81.70 3.119 0.7042          5    69.82
2632 5@69.8   C13.wet   5 82.58 3.695 0.8343          5    69.82
2633 5@69.8   C13.wet   5 83.53 3.518 0.7943          5    69.82
2634 5@69.8   C13.wet   5 84.18 3.608 0.8146          5    69.82
2635 5@69.8   C13.wet   5 84.83 3.235 0.7303          5    69.82
2636 5@69.8   C13.wet   5 85.38 3.256 0.7352          5    69.82
2637 5@69.8   C13.wet   5 85.94 3.245 0.7326          5    69.82
2638 5@69.8   C13.wet   5 86.44 3.405 0.7687          5    69.82
2639 5@69.8   C13.wet   5 87.44 3.429 0.7741          5    69.82
2640 5@69.8   C13.wet   5 88.43 3.397 0.7670          5    69.82
2641 5@69.8   C13.wet   5 89.21 3.790 0.8558          5    69.82
2642 5@69.8   C13.wet   5 89.98 3.982 0.8990          5    69.82
2643 5@69.8   C13.wet   5 90.75 3.926 0.8864          5    69.82
     lowCImarker hiCImarker lowCIpos hiCIpos         unique
2610 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2611 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2612 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2613 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2614 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2615 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2616 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2617 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2618 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2619 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2620 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2621 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2622 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2623 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2624 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2625 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2631 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2632 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2633 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2634 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2635 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2636 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2637 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2638 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2639 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2640 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2641 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2642 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
2643 C5_21106454 5-26120843    67.88   90.75 5@69.8_C13.wet
new.int<-new.int[new.int$pos<80,]
new.ints[["5@69.8_C13.wet"]]<-c("5@69.8_C13.wet",min(new.int$pos),max(new.int$pos))
new.ints
$`3@58.5_C13.dry`
[1] "3@58.5_C13.dry"   "49.2826666666667" "67.6726"         

$`5@9.8_C13.wet`
[1] "5@9.8_C13.wet" "5.785"         "21.081"       

$`5@69.8_C13.wet`
[1] "5@69.8_C13.wet" "68.8515"        "78.297"        
#"4@2.1_Wilted.dry"
for.lps.sub<-for.lps[for.lps$unique=="4@2.1_Wilted.dry",]
new.int<-for.lps.sub[for.lps.sub$st.lod>=0.6,]
new.int
     qtl.id  phenotype chr     pos   lod st.lod chromosome position
1741  4@2.1 Wilted.dry   4  0.0000 2.109 0.7387          4    2.132
1742  4@2.1 Wilted.dry   4  0.7365 2.508 0.8784          4    2.132
1743  4@2.1 Wilted.dry   4  1.4730 2.843 0.9960          4    2.132
1744  4@2.1 Wilted.dry   4  2.1320 2.855 1.0000          4    2.132
1745  4@2.1 Wilted.dry   4  2.7910 2.821 0.9881          4    2.132
1746  4@2.1 Wilted.dry   4  3.5995 2.656 0.9305          4    2.132
1747  4@2.1 Wilted.dry   4  4.4080 2.412 0.8450          4    2.132
1748  4@2.1 Wilted.dry   4  5.3595 2.473 0.8662          4    2.132
1749  4@2.1 Wilted.dry   4  6.3110 2.273 0.7963          4    2.132
1750  4@2.1 Wilted.dry   4  7.2260 1.802 0.6313          4    2.132
1751  4@2.1 Wilted.dry   4  7.8380 1.768 0.6194          4    2.132
1752  4@2.1 Wilted.dry   4  8.0050 1.806 0.6325          4    2.132
1815  4@2.1 Wilted.dry   4 54.6063 1.757 0.6155          4    2.132
1816  4@2.1 Wilted.dry   4 55.3457 1.890 0.6619          4    2.132
1817  4@2.1 Wilted.dry   4 56.0850 1.952 0.6836          4    2.132
1818  4@2.1 Wilted.dry   4 56.4430 2.301 0.8060          4    2.132
1819  4@2.1 Wilted.dry   4 57.2140 2.137 0.7485          4    2.132
1820  4@2.1 Wilted.dry   4 57.7960 2.024 0.7090          4    2.132
1821  4@2.1 Wilted.dry   4 58.3780 1.798 0.6300          4    2.132
1822  4@2.1 Wilted.dry   4 59.2640 2.087 0.7312          4    2.132
1823  4@2.1 Wilted.dry   4 59.7980 2.096 0.7343          4    2.132
1824  4@2.1 Wilted.dry   4 60.3320 1.903 0.6668          4    2.132
1847  4@2.1 Wilted.dry   4 76.0305 1.810 0.6341          4    2.132
1848  4@2.1 Wilted.dry   4 76.8150 1.872 0.6557          4    2.132
1849  4@2.1 Wilted.dry   4 77.1260 1.877 0.6575          4    2.132
1850  4@2.1 Wilted.dry   4 77.4030 1.859 0.6514          4    2.132
1851  4@2.1 Wilted.dry   4 77.7550 1.730 0.6059          4    2.132
     lowCImarker  hiCImarker lowCIpos hiCIpos           unique
1741     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1742     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1743     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1744     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1745     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1746     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1747     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1748     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1749     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1750     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1751     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1752     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1815     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1816     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1817     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1818     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1819     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1820     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1821     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1822     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1823     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1824     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1847     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1848     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1849     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1850     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
1851     4.F6N15 C4_17272166        0   77.75 4@2.1_Wilted.dry
new.int<-new.int[new.int$pos<10,]
new.ints[["4@2.1_Wilted.dry"]]<-c("4@2.1_Wilted.dry",min(new.int$pos),max(new.int$pos))
new.ints
$`3@58.5_C13.dry`
[1] "3@58.5_C13.dry"   "49.2826666666667" "67.6726"         

$`5@9.8_C13.wet`
[1] "5@9.8_C13.wet" "5.785"         "21.081"       

$`5@69.8_C13.wet`
[1] "5@69.8_C13.wet" "68.8515"        "78.297"        

$`4@2.1_Wilted.dry`
[1] "4@2.1_Wilted.dry" "0"                "8.005"           
#g0
for.lps.sub<-for.lps[for.lps$unique=="1@16.1_g0",]
new.int<-for.lps.sub[for.lps.sub$st.lod>=0.6,]
new.int
   qtl.id phenotype chr    pos   lod st.lod chromosome position
8  1@16.1        g0   1  4.465 3.896 0.6206          1    16.08
23 1@16.1        g0   1 13.136 4.539 0.7229          1    16.08
24 1@16.1        g0   1 13.675 5.180 0.8251          1    16.08
25 1@16.1        g0   1 13.960 5.468 0.8710          1    16.08
26 1@16.1        g0   1 14.832 5.524 0.8798          1    16.08
27 1@16.1        g0   1 15.548 6.049 0.9634          1    16.08
28 1@16.1        g0   1 15.917 6.256 0.9965          1    16.08
29 1@16.1        g0   1 16.076 6.278 1.0000          1    16.08
30 1@16.1        g0   1 16.199 6.251 0.9957          1    16.08
35 1@16.1        g0   1 19.048 3.964 0.6314          1    16.08
36 1@16.1        g0   1 19.710 4.132 0.6582          1    16.08
37 1@16.1        g0   1 19.967 4.444 0.7079          1    16.08
38 1@16.1        g0   1 20.359 4.719 0.7517          1    16.08
39 1@16.1        g0   1 20.927 5.132 0.8174          1    16.08
40 1@16.1        g0   1 21.495 5.321 0.8475          1    16.08
41 1@16.1        g0   1 22.280 5.576 0.8882          1    16.08
42 1@16.1        g0   1 23.064 5.624 0.8959          1    16.08
43 1@16.1        g0   1 23.849 5.459 0.8695          1    16.08
44 1@16.1        g0   1 24.826 4.839 0.7707          1    16.08
45 1@16.1        g0   1 25.380 4.495 0.7160          1    16.08
46 1@16.1        g0   1 25.934 4.102 0.6534          1    16.08
   lowCImarker hiCImarker lowCIpos hiCIpos    unique
8   C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
23  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
24  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
25  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
26  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
27  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
28  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
29  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
30  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
35  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
36  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
37  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
38  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
39  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
40  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
41  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
42  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
43  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
44  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
45  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
46  C1_4617576 C1_7667369    13.96   23.85 1@16.1_g0
new.int<-new.int[new.int$pos>12 & new.int$pos<19.5,]
new.ints[["1@16.1_g0"]]<-c("1@16.1_g0",min(new.int$pos),max(new.int$pos))
new.ints
$`3@58.5_C13.dry`
[1] "3@58.5_C13.dry"   "49.2826666666667" "67.6726"         

$`5@9.8_C13.wet`
[1] "5@9.8_C13.wet" "5.785"         "21.081"       

$`5@69.8_C13.wet`
[1] "5@69.8_C13.wet" "68.8515"        "78.297"        

$`4@2.1_Wilted.dry`
[1] "4@2.1_Wilted.dry" "0"                "8.005"           

$`1@16.1_g0`
[1] "1@16.1_g0" "13.136"    "19.048"   
for (i in multi.peaks.unique){
  for.rects.sub<-for.rects[for.rects$unique==i,]
  for.lps.sub<-for.lps[for.lps$unique==i,]
  new.rect<-as.numeric(new.ints[[i]][2:3])
  print(ggplot(for.rects.sub, aes(x=pos, y=st.lod, fill=qtl.id, color=qtl.id))+
          geom_line(aes(x=pos, y=st.lod),color="black",data=for.lps.sub)+theme_bw()+
          geom_rect(aes(xmax=hiCIpos, xmin=lowCIpos,  ymin = 0, ymax = 1.02), 
                    color="green",fill=NA)+
          geom_rect(xmax=new.rect[2],xmin=new.rect[1],ymin=0,ymax=1.02, 
                    fill="red",color=NA, alpha=0.2)+
          ggtitle(paste("lod profile for",i, "\n green box is the original CI, red is the manually set one")))
}

plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1 plot of chunk unnamed-chunk-1

manual.cis <- data.frame(matrix(unlist(new.ints), nrow=6, byrow=T))
manual.cis<-cbind(data.frame(matrix(unlist(strsplit(names(new.ints),"_")), nrow=6, byrow=T)),manual.cis)
manual.cis<-manual.cis[,-3]
manual.cis$chr<-c(3,5,5,4,1,3)
colnames(manual.cis)[1:4]<-c("qtl.id","phenotype","lowCIpos","hiCIpos")
manual.cis<-manual.cis[,c(1,2,5,4,3)]
write.csv(manual.cis, file="dd2014_manualcis.csv", row.names=F)
manual.cis<-read.csv("dd2014_manualcis.csv", header=T)
auto.cis<-newcis.out[,-6]
all.newcis<-rbind(manual.cis,auto.cis)       

#combine with untouched cis:
orig.cis<-beststats.ci[-c(1,4,5,6,9,10,12,14,15,18,21),-c(3:5)]
colnames(orig.cis)[2]<-"chr"
all.newcis<-all.newcis[,-1]
all.cis<-rbind(orig.cis,all.newcis)
all.cis<-all.cis[order(all.cis$phenotype,all.cis$chr,all.cis$lowCIpos),]
all.cis<-all.cis[-c(2,7),]
length(all.cis[,1])
[1] 21
write.csv(all.cis, file="dd2014_allcisforcandidates.csv", row.names=F)

toadd<-for.rects[c(4,6),c("phenotype","chr","lowCIpos", "hiCIpos")]
all.cis<-rbind(all.cis,toadd)
all.cis<-all.cis[order(all.cis$phenotype,all.cis$chr,all.cis$lowCIpos),]
colnames(all.cis)<-paste("new",colnames(all.cis), sep="_")

for.rects<-for.rects[order(for.rects$phenotype,for.rects$chr,for.rects$lowCIpos),]

allcistoplot<-cbind(for.rects,all.cis)
ggplot(allcistoplot, aes(x=pos, y=st.lod, fill=qtl.id, color=qtl.id))+
  geom_rect(aes(xmax=hiCIpos, xmin=lowCIpos,  ymin = 0, ymax = 1.02), color=NA,fill="red", alpha=.2)+
  geom_rect(aes(xmax=new_hiCIpos, xmin=new_lowCIpos,  ymin = 0, ymax = 1.02), color=NA,fill="blue", alpha=.2)+
  geom_line(aes(x=pos, y=st.lod),color="black",data=for.lps)+
  facet_grid(phenotype~chromosome, space = "free", scales= "free")+  
  theme_bw()+
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank(),
    strip.background = element_rect(colour="white", fill="white"),
    panel.border = element_rect(colour = "black"))+
  scale_y_continuous(breaks=c(0,.5,1))+
  ggtitle("distribution of standardized LOD profiles overlayed by 90% CIs")

plot of chunk unnamed-chunk-1