R/qtl包的QTL学习

这个包有点恐怖,想来我写这个也有点胆战心惊。 http://www.rqtl.org/官网。

我所有的内容的都是基于会安装R包的基础,假设你已经安装了qtl,当开始一项新的项目时。首先,清空rstudio里面的各种变量,我个人习惯是清空的。rm(list=ls())。

查看一下本地变量

> ls()

character(0)

稍微讲一下安装,如果不会,可以email我,

install.packages("qtl")


R/qtl包的QTL学习_第1张图片

做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)

这个是回交自交系的。


R/qtl包的QTL学习_第2张图片

查看一下数据


R/qtl包的QTL学习_第3张图片

看一下我们的数据的基本信息。


R/qtl包的QTL学习_第4张图片

查看有多少材料,多少marker,多少表型,每条chr有多少marker等等。


R/qtl包的QTL学习_第5张图片

用这数据简单的作图

plot(YOURDATA)


R/qtl包的QTL学习_第6张图片


左上角的图显示缺失基因型数据,黑色对应于缺失的基因型。下一个图展示标记的遗传图谱。以下图表是直方图或条形图

六种表型。最后两个“表型”是性别(1对应于雄性)和小鼠标号。

缺失的图谱

plotMissing()

R/qtl包的QTL学习_第7张图片

plotMap(listeria.a)

R/qtl包的QTL学习_第8张图片

绘制表型的直方图。我觉得很丑,excel和prism比这个化的好看,不建议用


R/qtl包的QTL学习_第9张图片

现在进入QTL扫描,第一种方法是single-QTL analysis,用calc。genprob,inputdata还是一开始的数据,step以一个遗传距离。

listeria.a <- calc.genoprob(listeria.a, step=1)

QTL扫描用scan.one

summary(out.em)


R/qtl包的QTL学习_第10张图片

上图就得到我们的结果,当然我们还是要通过lod>3或者2.5 去鉴定。


同样的,有些时候还要做1000次的Permutation矫正,这里先不讲。

画图


R/qtl包的QTL学习_第11张图片

如图所示,chr5,chr13上各有一个显著的峰,可作为候选区间做后续分析。

全基因组的QTL扫描也可以用Haley-Knott回归

我们可以把两组分析方法放一起比较一下


R/qtl包的QTL学习_第12张图片

上图结果表明,在F2群体,两种回归方法得到的结果大致一样。

如果想看两个的差异,可以用以下方法


R/qtl包的QTL学习_第13张图片

当你的marker里面有缺失数据想要填充时,也可以用以下方法。


R/qtl包的QTL学习_第14张图片
R/qtl包的QTL学习_第15张图片

好了,今天我们就把R/QTL这个包给简单的学完了。如何还有不明白的可以email 我。

你可能感兴趣的:(R/qtl包的QTL学习)