这个包有点恐怖,想来我写这个也有点胆战心惊。 http://www.rqtl.org/官网。
我所有的内容的都是基于会安装R包的基础,假设你已经安装了qtl,当开始一项新的项目时。首先,清空rstudio里面的各种变量,我个人习惯是清空的。rm(list=ls())。
查看一下本地变量
> ls()
character(0)
稍微讲一下安装,如果不会,可以email我,
install.packages("qtl")
做QTL的核心思想其实就是对表型和基因型进行连锁分析,基于遗传的规律,即与候选基因距离近的交换概率比与候选区间远的交换概率低。所以,表型的准确性和基因的分型显得尤为重要,尤其在测序价格下降之后。
第一步,调用程序。
library("qtl")
我自己的数据就不在这里展示了,链接里有可以下载的实例。
准备好作图的文件,一般都是csv,csvr,csvs,csvsr,等格式,
设置工作目录,这个自己整。
listeria.a <- read.cross("csv", ".", "listeria.csv")
BC也适用,
myBIL<-read.cross(format="csv",file="/path/my.csv",genotype=c("AA","BB","AB"),na.strings="-",alleles=("A","B"))
或者可以
my.bil<-read.cross(format="csv",file="path/my.csv",package="qtl",BC.gen=m, F.gen=20)
这个是回交自交系的。
查看一下数据
看一下我们的数据的基本信息。
查看有多少材料,多少marker,多少表型,每条chr有多少marker等等。
用这数据简单的作图
plot(YOURDATA)
左上角的图显示缺失基因型数据,黑色对应于缺失的基因型。下一个图展示标记的遗传图谱。以下图表是直方图或条形图
六种表型。最后两个“表型”是性别(1对应于雄性)和小鼠标号。
缺失的图谱
plotMissing()
plotMap(listeria.a)
绘制表型的直方图。我觉得很丑,excel和prism比这个化的好看,不建议用
现在进入QTL扫描,第一种方法是single-QTL analysis,用calc。genprob,inputdata还是一开始的数据,step以一个遗传距离。
listeria.a <- calc.genoprob(listeria.a, step=1)
QTL扫描用scan.one
summary(out.em)
上图就得到我们的结果,当然我们还是要通过lod>3或者2.5 去鉴定。
同样的,有些时候还要做1000次的Permutation矫正,这里先不讲。
画图
如图所示,chr5,chr13上各有一个显著的峰,可作为候选区间做后续分析。
全基因组的QTL扫描也可以用Haley-Knott回归
我们可以把两组分析方法放一起比较一下
上图结果表明,在F2群体,两种回归方法得到的结果大致一样。
如果想看两个的差异,可以用以下方法
当你的marker里面有缺失数据想要填充时,也可以用以下方法。
好了,今天我们就把R/QTL这个包给简单的学完了。如何还有不明白的可以email 我。