这个描述提供了一个描述如何使用《创世纪》包运行遗传协会测试数组(SNP)数据。创世纪使用遗传协会测试混合模型,作为个人电脑pc航空可以用作固定效果调整人口分层,反是和亲属关系矩阵(或亲缘关系矩阵)从PC-Relate可以用来估计占表型相关性由于基因样本之间的相似度。
的fitNullModel
功能《创世纪》
包从一个读取样本数据标准data.frame
类对象或一个ScanAnnotationDataFrame
类对象创建的GWASTools
包中。这个对象必须包含所有结果和协变量数据的样本被包括在混合模型分析。此外,这个对象必须包含一个名为“scanID”包含的变量中的每个样本分析的惟一标识符。而一个标准data.frame
可以使用,我们建议使用吗ScanAnnotationDataFrame
对象,如它可以配对与基因型数据(见下文),以确保样本表型和基因型数据的匹配。通过使用GWASTools
,一个ScanAnnotationDataFrame
类对象可以很容易地从一个创建的data.frame
类对象。R代码创建一个示例ScanAnnotationDataFrame
下面是对象。可以找到更多的细节GWASTools
包参考手册。
# #主成分分析(PCA)基因型:# #不包括0 SNP non-autosomes # #扣除3个SNP(单形:真的,加:南,缺失率:南)# #工作空间:97个样本,使用19997个SNP # # 1 # # PCA (CPU)核心:选择基因型的总和(0,1,2)= 1022535 # # CPU功能:双精度SSE2 # #结婚2019年2月20日20:06:38(内部增加:33400)(.................................................. # #]0%等:- - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]100%,完成1 # #结婚2019年2月20日20:06:39开始(特征值和特征向量)# #结婚2019年2月20日20:06:39完成。# # SNP加载:# #工作空间:97个样本,19997个SNP使用1 # # (CPU)核心使用32个特征向量# # # # SNP加载:选择基因型的总和(0,1,2)= 1022535 # #结婚2019年2月20日20:06:39(内部增加:65536)(.................................................. # #)0%等:- - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]100%,完成0 # #结婚2019年2月20日20:06:39完成。# #示例加载:# #工作空间:76个样本,19997个snp使用1 # # (CPU)核心使用32个特征向量# # # #示例加载:选择基因型的总和(0,1,2)= 799404 # #结婚2019年2月20日20:06:40(内部增加:65536)(.................................................. # #)0%等:- - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]100%,完成0 # #结婚2019年2月20日20:06:40完成。
# mypcair包含电脑从先前的pc航空分析# mypcrel包含亲属估计从先前PC-Relate分析#把是一个向量的表型值#做一个data.framemydat < -data.frame(scanID =mypcair美元sample.id,pc1 =mypcair美元向量(,1),把=把)头(mydat)
# # scanID pc1把# # NA19919 NA19919 -0.12511091 - 0.1917327 # # NA19916 NA19916 -0.13151738 - -0.5687960 # # NA19835 NA19835 -0.08832100 - 0.8734804 # # NA20282 NA20282 -0.08617667 - 0.5787452 # # NA19703 NA19703 -0.11969449 - 1.6116791 # # NA19902 NA19902 -0.11458896 - 0.6663577
# #一个类的对象“ScanAnnotationDataFrame”# #扫描:NA19919 NA19916……NA19764 (173) # # varLabels: scanID pc1把# # varMetadata: labelDescription
的assocTestSingle
功能《创世纪》
包读取基因型的数据GenotypeData
类对象创建的GWASTools
包中。通过使用GWASTools
,一个GenotypeData
可以很容易地创建类对象:
R代码创建一个示例GenotypeData
下面是对象。可以找到更多的细节GWASTools
包参考手册。
基因族群< -MatrixGenotypeReader(基因型=基因型,snpID =snpID,染色体=染色体,位置=的位置,scanID =scanID)genoData < -GenotypeData(基因工程)
基因型
是一个矩阵编码的基因型值0 / 1 / 2,行索引SNPs和列索引样品在哪里snpID
是一个整数向量独特的SNP id染色体
是一个整数向量指定每个SNP的染色体位置
是一个整数向量指定每个SNP的位置scanID
是一个向量独特的个人id的SNPRelate
包提供了snpgdsBED2GDS
函数将二进制叮铃声文件转化为一个GDS文件。
snpgdsBED2GDS(bed.fn=“genotype.bed”,bim.fn=“genotype.bim”,fam.fn=“genotype.fam”,out.gdsfn=“genotype.gds”)
bed.fn
是文件路径的叮铃声请全部文件bim.fn
是文件路径的叮铃声.bim文件fam.fn
是文件路径的叮铃声.fam文件out.gdsfn
GDS的输出文件的文件路径吗一旦叮铃声文件被转换为GDS文件,然后一个GenotypeData
对象可以创建如上所述。
演示协会测试《创世纪》
包,我们分析SNP数据从墨西哥裔美国人在洛杉矶,加州(MXL)和非裔美国人在美国西南部(ASW)人口样本的人类基因组单体型图3所示。墨西哥裔美国人,非洲裔美国人有不同祖先的背景,和家庭亲属存在于这些数据。20 k常染色体单核苷酸多态性基因型数据的一个子集为173人提供一个GDS文件。
#读GDS数据gdsfile < -执行(“extdata”,“HapMap_ASW_MXL_geno.gds”,包=“创世纪”)HapMap_geno < -GdsGenotypeReader(文件名=gdsfile)
#创建一个与配对ScanAnnotationDataFrame GenotypeData类对象HapMap_genoData < -GenotypeData(HapMap_genoscanAnnot =scanAnnot)HapMap_genoData
# #的对象类GenotypeData # # |数据:# #文件:/ tmp / Rtmpk0FelT / Rinst3db3fd83baa创世纪/ extdata / HapMap_ASW_MXL_geno。gds (901.8 k) # # +[] * # # | - +样品。173邮政id {Int32,因素(40.9%)、283 b} * # # | - + snp。id {Int32 20000邮政(34.6%),27.1 k} # # | - + snp。位置{ Int32 20000 ZIP(34.6%), 27.1K } ## |--+ snp.chromosome { Int32 20000 ZIP(0.13%), 103B } ## \--+ genotype { Bit2 20000x173, 844.7K } * ## | SNP Annotation: ## NULL ## | Scan Annotation: ## An object of class 'ScanAnnotationDataFrame' ## scans: NA19919 NA19916 ... NA19764 (173 total) ## varLabels: scanID pc1 pheno ## varMetadata: labelDescription
混合模型遗传协会测试通常包括一个遗传关系矩阵(GRM)占样本个体之间的遗传相似性。如果我们使用的是亲属关系系数估计PC-Relate构建这个克,那么函数pcrelateToMatrix
应该被用来提供的矩阵在适当的格式吗fitNullModel
。
# # 5 x 5矩阵类“dsyMatrix”# # NA19625 NA19649 NA19650 NA19651 NA19652 # # NA19625 # # NA19649 0.974456064 -0.004663156 -0.005306781 -0.011126288 -0.001972720 -0.004663156 1.035460076 0.559304965 -0.005306781 0.559304965 1.048759571 -0.003821181 0.003267858 -0.006295991 - -0.024657329 # # NA19650 # # NA19651 # # NA19652 -0.011126288 -0.006295991 -0.003821181 1.005181224 -0.002982152 -0.001972720 -0.024657329 0.003267858 -0.002982152 - 0.975252269
注意,这个矩阵的行和列的名称都是一样的scanIDs扫描注释中使用的数据。
有两个步骤来进行遗传协会测试《创世纪》。首先,零模型(即没有SNP基因型的模型项)配合使用fitNullModel
函数。第二,零的输出模型适合用于与基因型数据快速运行SNP-phenotype协会测试使用assocTestSingle
函数。有一个计算优势分裂成两个函数调用这两个步骤;零模型只需要满足一次,和SNP协会测试可以通过染色体或其他分区paralelized加快分析(详情如下)。
协会的第一步测试《创世纪》
适合混合模型在零假设下,每个SNP没有影响。这个零协变量模型包含所有的,包括祖先代表电脑,以及任何随机效应,如多基因效应由于遗传相似度,但它不包含任何SNP基因型作为固定效应。
使用fitNullModel
在空函数,随机效应模型指定通过协方差结构。这允许包含的多基因的随机效应用亲属关系矩阵或遗传关系矩阵(GRM)。
一个线性混合模型(LMM)时应符合分析定量表型。下面的示例R代码符合基本零混合模型。
# # [1]0.4545551 0.4545551 -240.5575300 1.0876208 # # [1]0.4486279 - 0.4998503 -240.1282254 - 1.0321271 # # [1]1.07321454 # # [1]0.09833582 0.04160355 0.80831685 -237.57533297 0.80899450 -237.49821429 1.00619714 # # [1]1.0000399 # # [1]0.1007007 0.1009434 0.8120545 -237.4981395 0.8123235 -237.4981384 1.0000000 # # [1]1.0000000 # # [1]0.1007297 0.1007343 0.8122913 -237.4981384 0.8122957 -237.4981384 1.0000000 # # 0.8122951 -237.4981384 1.0000000 0.1007304 [1]
ScanAnnotationDataFrame
或data.frame
对象包含样例数据结果
指定结果变量的名称scanAnnot
柯伐合金
协变量指定的名称scanAnnot
cov.mat
指定随机效应的协方差结构包括在模型中家庭
应该为定量高斯表型,指定一个线性混合模型平均信息REML (AIREML)过程是用来估计方差随机效应的组件。当verbose = TRUE
方差分量估计,对数似,每次迭代的残差平方和R打印到控制台(如上所示)。在这个例子中,σ^ 2 _a
是随机效应方差分量中指定吗cov.mat
,σ^ 2 _e
剩余方差分量。
协变量模型可以适应多个固定效果的设置柯伐合金
等于向量协变量的名字。例如,如果我们想要包括的变量“pc1”,“pc2”,“性”和“时代”都不模型:
模型还可以适应多个随机效应。这是通过设置cov.mat
等于矩阵的列表。例如,如果我们想和协方差结构包括一个多基因的随机效应的矩阵“myGRM”和家庭随机效应与协方差结构矩阵指定的“H”:
矩阵的名称cov.mat
确定方差分量参数的名称。因此,在这个例子中,R控制台将包括打印输出σ^ 2 _grm
为指定的随机效应“myGRM”,σ^ 2 _house
“H”指定的随机效应,和σ^ 2 _e
剩余方差分量。
注意:每个矩阵的行和列名称用于指定一个随机效应的协方差结构混合模型中必须唯一scanIDs每个样本的分析。
LMMs通常适合在一个恒定的假设(均匀)对所有观察剩余方差。然而,对于一些结果,可能有证据表明,不同组的观察有不同的剩余方差,在这种情况下,假设同方差性侵犯。group.var
可以使用为了适应独立(异类)剩余方差组件被一些分组变量。例如,如果我们有一个分类变量“竞赛”scanAnnot
,那么我们可以不同的剩余方差分量估计每个独特价值的“种族”通过使用下面的代码:
在这个例子中,剩余方差分量σ^ 2 _e
被替换为集团具体剩余方差分量σ^ 2 _race1
,σ^ 2 _race2
…,“该消灭”、“race2…独特的价值观是“种族”变量。
理想情况下,一个广义线性混合模型(GLMM)将适合一个二进制表型;然而,配件GLMM比安装一个LMM更多的计算要求。提供一个compuationally有效的方法拟合这种模型,fitNullModel
使用惩罚quasi-likelihood (PQL)近似GLMM(布勒斯洛和Clayton)。这个过程的实现《创世纪》
是一样的在GMMAT (Chen等人),和更多的细节可以在手稿。如果我们的结果变量,“把”,是二进制,然后可以使用相同的R代码以适应零模型,但是家庭=二项
。
多个固定协变量的影响和多个随机效应可以为二进制指定表型在同样的方式为定量表型。group.var
在这里不适用。
第二步为协会测试《创世纪》
是使用了零模型测试的单核苷酸多态性GenotypeData
对象与指定的结果变量。这是完成了assocTestSingle
函数。(近似)瓦尔德和成绩测试是可用的,但瓦尔德测试时才会执行家庭=高斯
在零模型中。否则,使用assocTestSingle
与定量运行协会测试或二进制表型是相同的。
我们可以运行一个协会测试之前GenotypeData
对象,我们首先决定多少个snp我们想读一次。为此,我们创建一个GenotypeBlockIterator
对象定义的snp。默认设置是在每一块读10000个snp,但这可能会改变了snpBlock
论点。
下面的代码运行示例R协会分析使用零模型我们配合使用fitNullModel
在前一节中。
genoData
是一个GenotypeData
类对象null.model
的输出是fitNullModel
测试
指定是否使用“瓦尔德”或“分数”测试默认情况下,函数将执行协会测试的snpgenoData
对象。然而,对于计算的原因可能是实际的并行化这一步,分区snp的染色体或其他预先选择分组。如果我们只是想测试一组预先确定的单核苷酸多态性,可以通过snpID值的一个向量snpInclude
当我们创建迭代器参数。
的fitNullModel
函数将返回一个列表的大量数据。为用户的一些更有用的输出包括:
varComp
:随机效应方差分量估计fixef
:一个data.frame
点估计,标准错误,测试数据,并假定值为每个固定的协变量的影响fitted.values
:从模型拟合值resid.marginal
和resid.conditional
:边际和条件从模型残差也有指标评估模型适合如对数似(logLik
),限制对数似(logLikR
),Akaike信息准则(另类投资会议
)。此外,有一些对象(如工作结果向量(workingY
)和柯列斯基分解的逆估计表型协方差矩阵(cholSigmaInv
使用的)assocTestSingle
协会测试的功能。可以找到更多细节描述的所有输出的命令帮助(fitNullModel)
。
的assocTestSingle
函数将返回一个data.frame
的摘要信息为每个SNP联想测验。每一行对应一个不同的SNP。
# #变体。id对应pos n。观察频率,Est Est.SE瓦尔德。Stat # # 1 1 1 1 173 0.3901734 0.01596095 0.1156612 0.1379975 # # 2 2 1 2 173 0.4942197 -0.08262055 0.1094157 -0.7551071 # # 3 3 1 3 173 0.1011561 -0.04614918 0.1842710 -0.2504420 # # 4 4 1 4 173 0.4855491 -0.08010814 0.1061834 -0.7544318 # # 5 5 5 172 0.4447674 0.09760757 0.1149197 0.8493546 # # 6 6 1 6 172 0.2093023 0.19060885 0.1352096 1.4097282 # #瓦尔德。pval # 0.4501847 # 0.8902424 # 1 # 2 # 3 # 0.8022456 # 0.4505900 # 4 # 5 # 0.3956840 # 6 # 0.1586200
variant.id
:唯一的snp ID空空的
:染色体pos
:这个职位n.obs
:样品的数量分析SNP频率
:测试的频率(“A”)等位基因美国东部时间
:效果的估计(β)的SNPEst.SE
:估计标准误差的影响大小的估计Wald.Stat
瓦尔德:卡方检验统计量Wald.pval
根据瓦尔德:假定值检验统计量注意:当测试= "分数"
在assocTestSingle
(而不是测试= "瓦尔德"
),然后美国东部时间
,SE
,Wald.Stat
,Wald.pval
取而代之的是:
分数
:分数的价值功能Score.SE
:分数的估计标准误差Score.Stat
:卡方检验统计量Score.pval
:假定值基于评分检验统计量可以找到更多细节描述的所有输出的命令帮助(assocTestSingle)
。
通常感兴趣的估计总数的比例表型变异解释整个组的基因单核苷酸多态性avaialable;这提供了一个估计的狭义遗传特征。估计遗传的一个方法是使用零方差分量估计混合模型。《创世纪》
包括varCompCI
函数计算每个随机效应方差解释的比例的95%置信区间。
95上95 # # # #比例低V_A 0.1103259 -0.2197907 0.4404425 # # V_resid。var 0.8896741 0.5595575 1.2197907
fitNullModel
道具
是一个逻辑的指标是否应该返回点估计和置信区间的总额的比例变化解释(真正的)或在原规模(假)当中包括额外的随机效应模型(如共享家庭的影响),varCompCI
也将返回的比例变化解释为每一个组件。
注意:varCompCI
不能计算比例的方差解释当异构剩余方差(即用于零模型。group.var
被用在fitNullModel
)。置信区间仍然可以计算的方差分量估计原始量表通过设置支持= FALSE
。
注意:方差分量估计不是二进制可判断的表型在适合使用PQL方法实现fitNullModel
;比例的方差解释不应计算为这些模型。
‘不,克莱顿DG。(1993)。在广义线性混合模型近似推理。美国统计协会杂志》88:9-25。
王陈H, C, Conomos MP, Stilp,李Z,开发T, Szpiro AA,陈W, Brehm JM,青瓷JC,排除年代,子宫颈GJ,桑顿助教,劳里CC、大米K和林x控制人口结构和亲缘二进制特征基因关联研究使用物流混合模型。美国人类遗传学杂志》,98 (4):653 - 66。
Gogarten,克里Bhangale, T。,Conomos, M.P., Laurie, C.A., McHugh, C.P., Painter, I., … & Laurie, C.C. (2012). GWASTools: an R/Bioconductor package for quality control and analysis of Genome-Wide Association Studies. Bioinformatics, 28(24), 3329-3331.