R语言的遗传模块Word格式文档下载.docx

上传人:b****0 文档编号:13214814 上传时间:2022-10-08 格式:DOCX 页数:15 大小:22.67KB
下载 相关 举报
R语言的遗传模块Word格式文档下载.docx_第1页
第1页 / 共15页
R语言的遗传模块Word格式文档下载.docx_第2页
第2页 / 共15页
R语言的遗传模块Word格式文档下载.docx_第3页
第3页 / 共15页
R语言的遗传模块Word格式文档下载.docx_第4页
第4页 / 共15页
R语言的遗传模块Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

R语言的遗传模块Word格式文档下载.docx

《R语言的遗传模块Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《R语言的遗传模块Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

R语言的遗传模块Word格式文档下载.docx

1.以上几个package对数据格式的要求;

2.多态位点的基本信息(MAF等);

3.Hardy-Weinberg平衡检验;

4.LD的计算;

5.关联研究常用检验方法;

6.Power的计算;

先说一下前面提到的几个包的安装吧,其实很简单。

一个一个用install.packages()函数来安装当然可以。

相对简单点的方法是用CRANTaskViews里提到的ctv包来批量安装。

install.packages(ctv)#首先安装ctvpackage

library(ctv)#载入ctvpackage

install.views(Genetics,coreOnly=TRUE)#安装genetics,gap,haplo.stats三个核心包及依赖的包。

如果不加捜牯?

湯祬吽啒居则会安装所有的40个遗传统计相关的package。

install.packages(genetics,coreonly=TRUE)

DGCgenetics包的下载地址是http:

//www-gene.cimr.cam.ac.uk/clayton/software/DGCgenetics_1.0.zip。

你需要先下载这个包,然后本地安装。

方法大家应该都知道,Rgui的Packages菜单的Installpackage(s)fromlocalzip

files

数据格式

(1)

遗传研究收集的数据有自己的特点。

往往是数据集中即包含一般的表型数据(分类和连续变量;

如血压水平,BMI和性别等),又包括基因型数据。

分析时往往还需要用到不同的遗传模型,什么显性、隐形、加性模型,或者是按照分类变量来处理(有时候也称为共显性模型)。

用SAS或SPSS分析遗传数据时,如果要用不同的遗传模型进行数据分析的话,必须先进行数据转换,过程相对复杂。

R中的genetics包专门为基因型数据提供了一个新的class(类),你可以很方便的用genotype()或makeGenotypes()函数将不同形式的初始基因型数据转换成基因型数据,并为数据加上genotype类属性。

genetics包还提供了相应的summary.genotype()和plot.genotype()函数。

你可以很方便的用summary()函数获取基因型数据的基因型频率、等位基因频率等基本信息,用plot()函数做出基因型的柱状图。

先说一下genotype()函数,该函数是genetics包里最基本的函数。

可以将以下四种形式的初始基因型数据转换成便于分析的带有genotypeclass的数据。

1.以一个字符分隔的向量

E.g.

g1<

-genotype(c(D/D,D/I,D/D,I/I,D/D,NA))

g2<

-genotype(c(C-C,C-T,C-C,T-T,C-C,\),sep=-)

2.可以按某一位置分隔的向量

g3<

-genotype(c(DD,DI,DD,II,\),sep=1)#sep=1表示在位置1后分成两个allele

3.两个分开的向量

allele1<

-c(D,D,D,I,\)

allele2<

-c(D,I,D,I,\)

g4<

-genotype(allele1,allele2)

4.数据框或矩阵中的两列

data<

-data.frame(allele1=c(D,D,D,I,\),allele2=c(D,I,D,I,\))

g5<

-genotype(data$allele1,data$allele2)

or

data1<

-cbind(allele1=c(D,D,D,I,\),allele2=c(D,I,D,I,\))

g6<

-genotype(data1)

实际的数据分析过程中建议将每一个SNP位点的基因型数据按照等位基因/等位基因(e.g.A/A,

A/T,T/T)的格式给出,而不要简单的用数字表示。

这样有两个好处,一是可以很方便的用makeGenotypes()函数一次性地将多个位点的原始基因型数据转换成带有genotype类属性的基因型数据,二是便于数据分析过程中了解具体是哪一个等位基因和疾病或性状有关。

如果用数字的话,位点数目一多,可能就完全糊涂了。

举个实例演示一下:

library(genetics)

#用scan()函数读入16个人的数据

-scan(nline=16,what=list(0,0,0,0,\,\))

145131.5A/AC/C

239224.5T/TC/G

336123A/TC/C

441226A/TC/C

537129.5A/AC/C

635231A/TG/G

741221.5A/AC/G

843227.5A/AG/G

944224A/AC/C

1032119.5A/TC/C

1140220A/AC/G

1238222.5T/TG/G

1342232.5A/AC/C

1433225.5A/TC/C

1543130.5A/TG/G

1635225A/TC/C

-as.data.frame(g1)

names(g1)<

-c(ID,age,gender,mi,snp1,snp2)

g1$gender<

-factor(g1$gender,labels=c('

Male'

'

Female'

))

#用makeGenotypes()函数将g1中的两列基因型数据附上genotype类属性

-makeGenotypes(g1)

#大功告成,可以用str()和summary()看看g1和g2的区别

str(g1);

str(g2)

summary(g1);

summary(g2)

获取多态位点的基本信息

我用DGCgenetics包里面的popn数据为例子,介绍一下获取多态位点基本信息的函数。

data(popn,package=DGCgenetics)#首先载入popn数据

head(popn)#该数据包含四个多态位点(A,B,C,andD)、性别(sex)、疾病状态(affect)及ID号(subject)。

summary(popn$A)#获取A位点的基本信息,包括该位点分型成功率(callrate)、等位基因频率、基因型频率、杂合度和多态信息含量(PIC)

Numberofsamplestyped:

1489(96.9%)#callrate

AlleleFrequency:

(2alleles)#等位基因频率

CountProportion

117860.6

211920.4

NA94NA

GenotypeFrequency:

#基因型频率

1/27040.47

2/22440.16

1/15410.36

NA47NA

Heterozygosity(Hu)=0.4802686#杂合度

Poly.Inf.Content=0.3648558#PIC

Hardy-Weinberg平衡检验

首先简单介绍一下Hardy-Weinberg定律。

该定律是由英国数学家哈迪(D.H.Hardy)和德国医生温伯格(W.Weinberg)于1908年分别独立发现的,也称遗传平衡定律(geneticequilibrium

law)。

该定律可以简单描述为,遗传平衡群体的等位基因频率与基因型频率在世代间维持恒定。

该定律的适用条件是:

随机婚配,群体足够大,没有突变、选择、迁移和遗传漂变。

在关联研究中Hardy-Weinberg平衡检验常被用来评价基因分型的质量。

我们通常对病例和对照组分别进行Hardy-Weinberg平衡检验。

如果某一位点在对照组中不符合Hardy-Weinberg平衡,我们通常会怀疑该位点的基因型鉴定的质量。

如果该位点在对照组平衡而在病例组出现不平衡,则该位点很可能和疾病有关。

genetics包里面提供两种不同的检验方法:

一种是Pearson'

schi-squaretest,可以用HWE.chisq()函数进行该检验,另一种是Fisherexacttest,对应于HWE.exact()函数。

HWE.chisq()常用于MAF较高、样本量较大的场合。

MAF较低的位点建议使用HWE.exact()函数。

)data(popn,package=?

?

敧敮楴獣$affected==?

湯牴汯control<

-popn$affected==?

獡履case<

-popn[control])$AHWE.chisq(popn[control])$AHWE.exact(popn])case$A[HWE.chisq(popn])

[$AcaseHWE.exact(popn

LD的计算评价连锁不平衡程度的指连锁不平衡是指人群中两个位点处在同一个单体型的频率比期望值高。

各种指标的函数,并能以文字和图形两种形式显示LD包提供计算等。

geneticsrD'

、标包括2位点间的连锁不平衡程度。

popn?

敧敮楴獣)#data(popn,package=数据首先载入#LDLDldresult<

-LD(popn)函数计算位点间的用summary(ldresult,which=?

甥?

)#D'

值用文字显示LDtable(ldresult,which=?

)#用图形显示结果

结果如下:

PairwiseLD

———–

[table=50%][tr][td]

[/td][td]B

[/td][td]C

[/td][td]D

[/td][/tr][tr][td]AD'

[/td][td]0.978

[/td][td]0.976

[/td][/tr][tr][td]BD'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1