内容

1概述

《创世纪》提供统计方法,以分析样本的遗传数据与群体结构和/或家族相关。这个小插图提供了如何使用的描述《创世纪》用于推断种群结构,以及估计亲缘关系测度,如亲属系数、血统同一性(IBD)共享概率和近交系数。《创世纪》使用PC-AiR进行种群结构推断,对已知或隐相关性具有鲁棒性,并使用PC-Relate在存在种群结构、夹杂物和偏离Hardy-Weinberg平衡的情况下进行准确的相关性估计。

1.2调整主成分的相关性估计(pc - related)

许多估计器使用来自遗传研究样本的全基因组SNP基因型数据来估计近期遗传相关性的措施,如成对亲属关系系数、成对IBD共享概率和个体近交系数。然而,许多这样的估计者要么做出简化的假设,这些假设在存在种群结构和/或祖先混合的情况下不成立,要么他们需要来自预先指定的种群的已知祖先的参考人口面板。当假设被违背时,这些估计器可以提供高度偏向的估计。

pc - related方法用于在不需要参考种群面板的情况下,在未知或不确定的种群结构的样本中准确估计近期遗传相关性的措施。PC-Relate使用祖先代表性主成分来解释样本祖先差异,并提供对种群结构、祖先混合和偏离Hardy-Weinberg平衡稳健的估计。

2数据

2.1阅读基因型数据

的函数《创世纪》软件包可以读取基因型数据GenotypeData类创建的GWASTools包中。通过使用GWASTools,一个GenotypeData类对象可以很容易地从下面创建:

  • SNP基因型数据的R矩阵
  • 一个GDS文件
  • 叮铃声文件

创建对象的R代码GenotypeData对象如下所示。更多细节可以在GWASTools包装参考手册。

《创世纪》也可以从VCF文件开始处理测序的基因型数据。有关使用此格式的示例,请参阅小插图“使用《创世纪》包”。

2.1.1R矩阵

geno <- MatrixGenotypeReader(基因型=基因型,snpID = snpID,染色体=染色体,位置=位置,scanID = scanID) genoData <-基因型数据(geno)
  • 基因型是编码为0 / 1 / 2的基因型值矩阵,其中行表示snp,列表示样本
  • snpID是唯一SNP id的整数向量
  • 染色体是一个整数向量,指定每个SNP的染色体
  • 位置是一个整数向量,指定每个SNP的位置
  • scanID是唯一个体id的向量

2.1.2GDS文件

geno <- GdsGenotypeReader(filename = "genotype.gds")
  • 文件名是GDS对象的文件路径吗

2.2人类基因组单体型图数据

演示PC-AiR和pc - related分析《创世纪》我们分析了来自加利福尼亚州洛杉矶的墨西哥裔美国人(MXL)和美国西南部非洲裔美国人(ASW)的HapMap 3人群样本的SNP数据。墨西哥裔美国人和非洲裔美国人有着不同的祖先背景,这些数据中都有家族亲属。173个个体的20K常染色体SNPs的基因型数据作为GDS文件提供。

Gdsfile <- system。文件(“extdata”、“HapMap_ASW_MXL_geno。gds”,包=“创世纪”)

4调整主成分的相关性估计(pc - related)

4.1运行PC-Relate

pc - related使用从PC-AiR计算的祖先代表主成分(PCs)来调整样本中个体的种群结构和祖先,并提供由于家庭结构而导致的近期遗传相关性的准确估计。的pcrelate函数执行pc相关分析。

training.set的输入pcrelate函数允许使用哪些样本来估计每个SNP的祖先调整。当近亲被排除在外时,这种调整往往表现得最好training.set,因此PC-AiR分析中“不相关子集”中的个体通常是一个很好的选择。然而,当“不相关子集”不可用时,当使用所有样本(training.set= NULL).

为了运行PC-Relate,我们首先需要创建一个迭代器对象,以块为单位读取snp。我们创建迭代器,以便每个块中只返回修剪过的snp。

# run pc - related HapMap_genoData <- GenotypeBlockIterator(HapMap_genoData, snpInclude=pruned) mypcrelate <- pcrelate(HapMap_genoData, pcs = mypcair$vectors[,1:2],训练。set = mypcair$unrels, BPPARAM = BiocParallel::SerialParam())
  • genoData是一个GenotypeIterator类对象
  • 个人电脑是一个矩阵,其列是用于祖先调整的pc
  • training.set是一个个体id向量,指定哪些样本用于估计每个SNP的祖先调整

如果不需要估计IBD共享概率,则设置输入炎症性肠病。probs = FALSE会加快计算速度。

4.2pc - related的输出

pcrelate函数将返回class的对象pcrelate,它是两个data.frames的列表:kinBtwn两两的亲属关系值,以及kinSelf近亲繁殖系数。

plot(mypcreate $ kinbtown $k0, mypcreate $ kinbtown $kin, xlab="k0", ylab="亲缘关系")

提供了制作遗传关系矩阵(GRM)的函数。为亲缘关系使用阈值将通过将小于阈值的配对的亲缘关系设置为0来创建稀疏矩阵。对于非常大的样本量,这对于减少内存使用非常有用。

iids <- as.character(getScanID(hapap_genodata)) pcrelateToMatrix(mypcrelate, sample. character)include = iids[1:5], thresh = 2^(-11/2), scaleKin = 2)
## 5 x 5稀疏矩阵类“dsCMatrix”## NA19703 NA19919 NA19916 NA19835 NA20282 ## NA19703 1.02340583 0.02751476…## na19919 0.02751476 0.95198442…## na19916。1.013003。## na19835……0.9736479。## na20282 . . . .0.9667705
  • pcrelobj的输出。pcrelate;或者是一类pcrelate对象或GDS文件
  • sample.include是一个个体id的向量,指定哪些个体包含在表或矩阵中
  • 指定GRM中包含的最小亲属系数值
  • scaleKin指定GRM中亲属关系系数相乘的因子

5参考文献