内容

1简介

罕见变异共享(RVS)在家族样本中实现罕见遗传变异基因型与二分表型(例如疾病状态)之间的关联和联系的测试(谢尔曼等人(2018)).这些测试是基于稀有变异与表型之间不存在联系和关联的原假设下亲属间共享稀有变异的概率,适用于一个地区的单个变异或多个变异(例如基于基因的测试)。

2建立谱系数据

2.1载入谱系

对于这个例子实验,我们将考虑四种家庭类型。一对表兄妹,一对表兄妹,三个表兄妹,三个表兄妹。旅游房车附带了几个谱系示例,这四种类型可以在samplePedigrees列表。

数据(samplePedigrees) #存储谱系fam_type_A < - samplePedigrees美元firstCousinPair fam_type_B < - samplePedigrees美元secondCousinPair fam_type_C < - samplePedigrees美元firstCousinTriple fam_type_D < - samplePedigrees secondCousinTriple #美元重新设定家庭id对于这个示例fam_type_A famid < -美元代表(SF_A,长度(fam_type_A id)美元)fam_type_B famid < -美元代表(SF_B,长度(fam_type_B id)美元)fam_type_C famid < -美元代表(SF_C,长度(fam_type_C id)美元)fam_type_D famid < -美元代表(SF_D,长度(fam_type_D $ id))

2.2绘制谱系图

为了查看谱系结构,我们可以使用kinship2包中。在这个家族中,我们有三个已经测序的表兄妹。

情节(fam_type_D)

3.计算共享概率

3.1一个家族,一个变体的共享概率

的最简单的用法旅游房车包是计算一个谱系中所有测序对象共享一个罕见变体的概率,前提是它至少在一个对象中被看到。有关此计算的更多信息,请参阅该函数的文档RVsharing附录

在这种情况下,我们计算有三个表亲的家庭的概率。注意,在单个家族和变体的情况下,共享概率可以解释为p值。

- RVsharing(fam_type_D)
##概率科目15 16 17中的15 16 17共享一个罕见的变体:0.001342

3.2多族的p值,一种变体

在多个家族中出现单一变异的情况下,我们可以计算与的个体共享概率RVsharing,但共享概率不能再解释为跨家族的变异共享模式的p值。这个函数multipleFamilyPValue可用于计算p值,p值被定义为家族间所有共享概率的总和,最多与观察到的共享概率一样大。

#计算所有家族的共享概率fams <- list(fam_type_A, fam_type_B, fam_type_C, fam_type_D) sharing_probs <- suppressMessages(RVsharing(fams)) signif(sharing_probs, 3)
## sf_a sf_b sf_c sf_d ## 0.06670 0.01590 0.01180 0.00134
#计算此共享模式的p值sharing_pattern <- c(TRUE, TRUE, FALSE, FALSE) names(sharing_pattern) <- names(sharing_probs) multipleFamilyPValue(sharing_probs, sharing_pattern)
## [1] 0.002125543

sharing_pattern向量表示是否在所有测序对象中观察到变异。

3.3多族、多变体的p值

这个函数multipleVariantPValue概括multipleFamilyPValue跨越多个变体。此函数接受一个SnpMatrix而不是特定的共享模式。这个函数的行为可以通过转换a的每一列来实现SnpMatrix在家庭和申请之间形成共享模式multipleFamilyPValue在列之间。

第一步是读取基因型数据。看到数据输入装饰图案snpStats为使用不同文件类型的示例打包。这里我们使用LINKAGE格式的谱系文件。看到在这里例如,从变体调用格式(VCF)文件读取基因型数据。

pedfile <- system.file("extdata/sample.ped.gz", package="RVS") sample <- snpStats::read。pedfile(pedfile, snps=paste('variant', LETTERS[1:20], sep='_'))

在这个数据集中,我们有每个家族类型的3个副本。这组家庭的共享概率为:

A_fams <- lapply(1:3,函数(i) samplePedigrees$firstCousinPair) B_fams <- lapply(1:3,函数(i) samplePedigrees$secondCousinPair) C_fams <- lapply(1:3,函数(i) samplePedigrees$firstCousinTriple) D_fams <- c(A_fams, B_fams, C_fams, D_fams) famids <- unique(sample$fam$pedigree) for (i in 1:12) {fams[[i]]$famid <- rep(famids[i],length(fams[[i]]$id)} sharingProbs <- suppressMessages(RVsharing(fams)) signif(sharingProbs, 3)
## sf_a1 sf_a2 sf_a3 sf_b1 sf_b2 sf_b3 sf_c1 sf_c2 sf_c3 sf_d1 ## 0.06670 0.06670 0.01590 0.01590 0.01180 0.01180 0.01180 0.00134 ## sf_d2 sf_d3 ## 0.00134 0.00134

当我们从a调用基因型的函数时snpMatrix如下所示,它将它们转换为共享模式,假设罕见变体是家族样本中频率最低的等位基因:

result <- multipleVariantPValue(sample$genotypes, sample$fam, sharingProbs)
##忽略任何主题中不存在的0变量
signif(结果pvalues美元,3)
varant_a variant_B variant_C variant_D variant_E variant_F variant_G variant_H ## 4.44e-03 1.00e+00 1.00e+00 2.52e-04 1.00e+00 1.00e+00 1.00e+00 variant_I variant_J variant_K variant_L variant_M variant_N variant_O variant_P ## 1.38e-04 1.18e-02 1.00e+00 1.00e+00 1.80e-06 1.34e-03 1.00e+00 1.00e+00 variant_R variant_S variant_T ## 4.93e-05 1.00e+00 4.44e-05 1.00e+00 1.00e+00

这个论点minorAllele可用于指定每个变体的哪个等位基因是稀有变体。

3.4使用潜在p值校正多重测试

对多次测试进行校正会降低p值被认为显著的临界值。对于大量变量集,对于许多信息有限的变量(例如,在单个小家族中看到的变量)拒绝零假设将是不可能的,因为该变量可获得的最小p值大于截止值。multipleVariantPValue提供基于电位p值的过滤选项。潜在p值是每个变量p值的下界(Bureau等人(2014)).在本例中,我们省略了任何潜在p值超过通过应用Bonferroni校正获得的具有足够低潜在p值的变量数量的截止值的变量。通过这种方式,我们既增加了p值截断值(因此也增加了测试的幂值),同时又将家族错误率保持在0.05,并减少了计算时间。

result <- multipleVariantPValue(sample$genotypes, sample$fam, sharingProbs, filter='bonferroni', alpha=0.05)
##忽略任何主题中不存在的0变量

这个过滤器的效果可以在这里看到。蓝色曲线表示潜在的p值,从最显著到最不显著排序。值得注意的是,这些潜在的p值与受影响受试者之间的实际共享模式无关,因此也与随后的变体共享测试无关。红色曲线显示Bonferroni截止值,取决于测试了多少个变体。仅包含11个变量,因为此处共享可能会产生低于Bonferroni截断值的共享p值。黑点表示观察到的共享p值,在多次比较校正后,有六个变量显著。

Pvals <- result$pvalues ppvals <- result$potential_pvalues ppvals_sub <- ppvals[order(ppvals)]] #子集潜在p-values plot(-log10(ppvals[order(ppvals)]), ylab="-log10 p-value", col="blue", type="l", xaxt="n", xlab=" variables ", ylim=c(0,8)) xlabel <- sapply(names(ppvals)[order(ppvals)], function(str) substr(str, nchar(str), nchar(str)))轴(1,at=1:长度(ppvals),标签=xlabel)点(-log10(Pvals [order(ppvals_sub)]), pch=20,cex = 1.3) bcut < - 0.05 /(1:20)行(1:20,log10 (bcut) =“红色”,上校类型=“b”,pch = 20)

3.5小等位基因频率敏感性分析

当群体中的小等位基因频率(MAF)已知时,可以使用alleleFreq参数。在这里,我们分析了我们的p值对总体MAF的敏感性,使用3个最显著的变体。请注意,没有达到其潜在p值的变体,表明一些家族只有部分共享,对MAF更敏感。

#计算每个MAF freq <- seq(0,0.05,0.005)变体的p值<- names(sort(result$pvalues))[1:3] pvals <- matrix(nrow=length(freq), ncol=length(变体))pvals[1,] = sort(result$pvalues)[1:3] for (i in 2:length(freq)) {sharingProbs <- suppressMessages(RVsharing(fams, alleleFreq=freq[i])) pvals[i,] <- multipleVariantPValue(sample$genotypes[,变体],sample$fam, sharingProbs)$pvalues}
# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何话题# #忽略0变异不存在任何问题
colnames(pvals) <- variables # plot p-values作为MAF的函数plot(NULL, xlim=c(min(频率),max(频率)),ylim=c(0,max(pvals)), type='l', xlab="次要等位基因频率",ylab="p-value", main="三种变体中p值对等位基因频率的敏感性")lines(freq, pvals[,1], col="黑")lines(freq, pvals[,2], col="红")lines(freq, pvals[,3], col="蓝")legend(min(频率),max(pvals), legend=colnames(pvals), col="黑","蓝"),lty=1)

4多变量联合分析

单变异分析的力量是有限的,因为很少有少数家族(通常是单个家族)看到罕见的变异。即使没有一个个体变异具有显著的p值,在多个家庭中考虑的多个变异也有可能表现出不同寻常的共享量。测试多个罕见变异的程序取决于这些变异在一个短的基因组区域中是相距很远还是很近,例如跨越一个基因。

4.1浓缩试验

enrichmentPValue函数可以为所有家族中的所有变量计算一个p值,假设变量是独立的。这一假设是合理的,当变异之间的距离足够远,可以被解除联系,例如由分析分散在整个基因组的罕见缺失傅等(2017).计算使用描述的二叉树算法来实现傅等(2017).在计算p值时,请注意,非常小的p值可能会导致非常长的计算时间。因此,我们可以通过一个最小p值阈值,该阈值与实际p值的较大值将被返回。

富集pvalue(样本$genotypes,样本$fam, sharingProbs, 0.001)
##忽略任何主题中不存在的0变量
0.001

4.2基于基因的分析

联合分析基因中的罕见变异(通常是单核苷酸变异和短索引,可能基于功能注释进行过滤)是另一种提高统计能力的方法。在这里,当变体出现在同一族中时,罕见变体的独立性假设就不成立了Bureau等人(2018)并在RVgene函数是保持共享模式概率最低的变体(通常是家族中受影响亲属数量最多的变体)。基因分析与RVgene函数在节中说明4.2还有一个新功能:部分共享测试。

5部分共享检验

复杂疾病的表型复制、诊断错误和家族内遗传异质性导致疾病易感性变异被一部分受影响的受试者共享。为了检测这种因果变异,由定义部分共享检验Bureau等人(2018)其中p值是与观测到的事件相同或更极端的共享事件的概率。更极端的共享事件被定义为具有更低的概率和涉及更多的变体携带者。

5.1预计算所有可能载波子集的共享概率和载波数量

为了进行部分共享测试,使用RVgene函数需要列表pattern.prob.list共享概率的向量N.list在被分析的样本中,每个家族中所有可能受影响的载体子集的携带者数量。的论点RVsharing函数允许计算共享概率的子集受影响的主题描述在这里.属性中的系谱对象名称必须与这两个列表的元素名称相同ped.listfams论点。当一个家族中所有受影响的主体都是最终后代时,可以自动生成所有子集的共享概率和携带者数量。下面是一个关于三个表兄妹的例子:

载体= c(15,16,17)载体。set = list() for (i in length(carriers):1) carrier。集合= c(carrier.)set, combn(carrier,i,simplify=FALSE))Prob = sapply(载体。RVsharing(samplePedigrees$ seconcousintriple,carriers=vec))
##概率科目15 16 17中的15 16 17共享一个罕见的变体:0.001342
## 15 16 17中的概率科目15 16共有一个罕见的变体:0.009396
##概率科目15 17中的15 17 16共有一个罕见的变体:0.009396
##概率科目16 17在16 17 15中共享一个罕见的变体:0.009396
##概率科目15在15 16 17共享一个罕见的变体:0.3235
##概率科目16在16 15 17共享一个罕见的变体:0.3235
## 17 15 16中的概率科目17共享一个罕见的变体:0.3235
fam15157。N = sapply(carrier.sets,length)

splitPed选择是真正的时,所有载波子集的生成在RVsharing函数,然后返回所有子集共享概率的向量。所以下面的代码等价于酸式焦磷酸钠RVsharing上图:

fam15157.pattern。prob = RVsharing(samplePedigrees$secondCousinTriple, splped =TRUE)
##创始人1号减码17 ##创始人4号减码5 ##创始人6号减码5 #创始人8号减码5 #创始人10号减码3 #创始人12号减码3 #创始人14号减码3
##概率15 16 17中的每个主题子集都有一个罕见的变体:
## [1] 0.001342 0.009396 0.009396 0.009396 0.323500 0.323500 0.323500

虽然这段代码适用于受影响的最终后代的任何配置,但这些第三表亲关系中的对称性导致多个子集的共享概率相等。具有相同概率的子集是等价的,可选参数nequiv.list可用于表示每个共享概率对应的等效子集数。而更短的向量pattern.prob.list而且N.list结果是更有效的计算,等价子集的识别不容易自动化,并且通常需要为样本中的每个谱系定制代码。对于三个表兄妹,我们可以用:

fam15157.pattern。prob =c(RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15,16,17))), RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15,16))), RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15))))
##概率科目15 16 17中的15 16 17共享一个罕见的变体:0.001342
## 15 16 17中的概率科目15 16共有一个罕见的变体:0.009396
##概率科目15在15 16 17共享一个罕见的变体:0.3235
fam15157。N = 3:1 fam15157。Nequiv = c(1,3,3)

然后,很容易检查分布和为1:

总和(fam15157.pattern.prob * fam15157.nequiv)
## [1]

当一些受影响的主体不是最终的后代时,一些子集与携带者之间的IBD变体不兼容。假设个体3,15157家族中被试15的祖父也受影响,其基因型可用。

fam15157 <- samplePedigrees$secondCousinTriple fam15157$affected[3] = 1 plot(fam15157)

则涉及主题15而不涉及主题3的载波子集(15,16,17)、(15,16)和(15,17)与共享IBD不兼容,必须从子集列表中删除。代码就变成:

载波= c(3,15,16,17)载波。set = list() for (i in length(carriers):1) carrier。集合= c(carrier.)carrier.sets, combn(carrier,i,simplify=FALSE)
# # # # ([1]) [1] 3 15 16 17 # # # # # # [1] ([2]) 3 15 16 # # # # # # [1] [[3]] 3 15 17 # # # # # # [1] ([4]) 3 16 17 # # # # # # [1] [[5]] 15 16 17 # # # # # # [[6]] [1] 3 15 # # # # # # [1] [[7]] 3 16 # # # # # # [1] ([8]) 3 17 # # # # # # [1] ([9]) 15 16 # # # # # # [1] [[10]] 15 17 # # # # # # [1] [[11]] 16 17 # # # # # # [1] ([12]) 3 # # # # [[13]] 15 # # # # # # [1] [[14]] 16 # # # # # # [1] [[15]] # # 17 [1]
母舰。set = carrier.sets[-c(5,9,10)]Prob = sapply(载体。RVsharing(fam15157,carrier =vec,useAffected=TRUE)
##概率科目3 15 16 17中的3 15 16 17共享一个罕见的变体:0.001121
##概率科目3 15 16中的3 15 16 17共有一个罕见的变体:0.007848
##概率科目3 15 17中的3 15 16 17共享一个罕见的变体:0.007848
##概率科目3 16 17在3 15 16 17中共享一个罕见的变体:0.003363
##概率科目3 15中的3 15 16 17共享一个罕见的变体:0.05493
##概率科目3 16在3 15 16 17共享一个罕见的变体:0.02354
##概率科目3 17中的3 15 16 17共享一个罕见的变体:0.02354
##概率科目16 17在3 15 16 17中共享一个罕见的变体:0.004484
##概率科目3中的3 15 16 17共享一个罕见的变体:0.1648
##概率科目15在3 15 16 17共享一个罕见的变体:0.2152
##概率科目16在3 15 16 17共享一个罕见的变体:0.2466
##概率科目17在3 15 16 17共享一个罕见的变体:0.2466
fam15157。N = sapply(carrier.sets,length)

注意这个选项的使用useAffected = TRUE受影响的臣民不是最后的后代。同样,我们可以检查分布和是否为1:

总和(fam15157.pattern.prob)
## [1]

预先计算的共享概率和载流子数量可以直接用于获得观测到的共享事件的p值,方法是将所有事件与观测到的事件相同或更极端的概率相加(包括共享概率和载流子数量),即这是一个片面的精确检验。例如,如果受试者3,16和17拥有一个罕见的变体,该事件的概率为

pobs = RVsharing(fam15157,carriers=c(3,16,17),useAffected=TRUE)
##概率科目3 16 17在3 15 16 17中共享一个罕见的变体:0.003363

该共享事件的p值为:

(fam15157.pattern.prob [fam15157.pattern求和。Prob <=pobs & fam15157。N >= 3])
## [1] 0.004484305

RVgene函数使这些计算具有多个具有相同或不同变体的族。一旦计算出样本中所有家族的共享概率和载体数量的向量,就需要将它们存储在列表中。我们回到原来的二表兄妹三家,再加上一个一、二表兄妹三家。然后,我们创建模式概率列表,等价子集的数量和子集中的载波数量。

fam15157.pattern。prob =c(RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15,16,17))), RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15,16))), RVsharing(samplePedigrees$secondCousinTriple,carriers=c(15))))
##概率科目15 16 17中的15 16 17共享一个罕见的变体:0.001342
## 15 16 17中的概率科目15 16共有一个罕见的变体:0.009396
##概率科目15在15 16 17共享一个罕见的变体:0.3235
fam15157。N = 3:1 fam15157。Nequiv = c(1,3,3)fam28003。pattern.prob = c(RVsharing(samplePedigrees$firstAndSecondCousinsTriple,carriers=c(36,104,110)), RVsharing(samplePedigrees$firstAndSecondCousinsTriple,carriers=c(36,104)), RVsharing(samplePedigrees$firstAndSecondCousinsTriple,carriers=c(104,110)), RVsharing(samplePedigrees$firstAndSecondCousinsTriple,carriers=c(36)), RVsharing(samplePedigrees$firstAndSecondCousinsTriple,carriers=c(104)))
##概率科目36 104 110在36 104 110中有一个罕见的变体:0.00277
##概率主题36 104在36 104 110中共享一个罕见的变体:0.00831
##概率科目104 110在104 110 36中共享一个罕见的变体:0.04155
##概率主题36中的36 104 110共享一个罕见的变体:0.3352
##概率科目104中的104 36 110共享一个罕见的变体:0.3019
fam28003。N = c(3,2,2,1,1) fam28003。nequiv = c(1,2,1,1,2) ex. mode .prob.list = list("15157"=fam15157. prob,"28003"=fam28003. prob) ex.nequiv.list = list("15157"=fam15157.nequiv,"28003"=fam28003.nequiv) ex.N.list = list("15157"=fam15157.N,"28003"=fam28003. prob)

5.2一个基因基因组序列中罕见变异的分析实例

我们现在转向分析在基因的模拟基因组序列中观察到的变异PEAR1在相关受影响受试者的样本中。序列数据的处理结果是可变调用格式(VCF)文件,可以用函数将其读入RreadVcfvariantAnnotation包中。两个VCF使用readVcf来自VCF文件的序列数据为第二表兄妹三族和第一和第二表兄妹三族包含在famVCF数据。这些VCF文件被转换为snpMatrix对象使用genotypeToSnpMatrix函数。

数据(famVCF) fam15157。snp = VariantAnnotation::genotypeToSnpMatrix(fam15157.vcf)
##非单核苷酸变异被设置为NA
##警告在.local(x,…):非二倍体变体被设置为NA
fam28003。snp = VariantAnnotation::genotypeToSnpMatrix(fam28003.vcf)
##非单核苷酸变异被设置为NA
##警告在.local(x,…):非二倍体变体被设置为NA

RVgene需要的列表snpMatrix而且血统这两个家族的对象。给出给这些列表元素的名称不会被RVgene因此是武断的。类中提取家庭idfamid元素血统对象。请注意目前RVgene不接受pedigreeList,但只是一个简单的列表血统对象。

ex. path .obj = list(fam15157=fam15157.snp$genotypes,fam28003=fam28003.snp$genotypes) ex. path .obj = list(fam15157=samplePedigrees$secondCousinTriple,fam28003=samplePedigrees$ firststandsecondcousinstriple)

在序列段中,可以指定哪些变量是罕见的,并且可能满足其他过滤条件(例如编码变量)网站论点。在这里,我们将重点关注两个位点:92位点,15157家族的三个远房表亲共享罕见等位基因;119位点,28003家族的两个远房表亲共享罕见等位基因,但他们的远房表亲没有。

sites = c(92,119) ex.SnpMatrix.list[["fam15157"]][,sites[1]]@.Data
## rs187756653 ## 1 00 ## 2 00 ## 3 00 ## 4 00 ## 5 00 ## 6 00 ## 7 00 ## 9 00 ## 10 00 ## 12 00 ## 13 00 ## 14 00 ## 15 02 ## 16 02 ## 17 02
ex.SnpMatrix.list [[" fam28003 "]][[2],网站]@.Data
## rs199628333 ## 3 00 ## 4 00 ## 6 00 ## 7 00 ## 11 00 ## 12 00 ## 13 00 ## 27 00 # 28 00 ## 36 01 ## 103 00 ## 104 02 # 109 00 ## 110 02

最后,调用RVgene返回允许受影响受试者子集共享的精确稀有变体共享测试的p值(p),要求所有受影响受试者共享的精确稀有变体共享测试的p值(pall),以及如果所有受影响受试者都是稀有变体携带者(potentialp),则可实现的最小p值。

RVgene (ex.SnpMatrix.list ex.ped.obj,网站,pattern.prob.list = ex.pattern.prob.list nequiv.list = ex.nequiv.list N.list = ex.N.list类型=“计数”)
# # # # $ p[1] 0.000159884 # # # # # # $阴影。[1]potentialp美元0.001342282 # # # # # # 3.718232 e-06 [1]

6附录

6.1假设一个创始人引入变异的罕见变异共享概率

在这种情况下,我们假设该变体足够罕见,以至于不止一个创始人将其引入谱系的概率可以忽略不计。这是的默认场景RVsharing

我们定义以下随机变量:

\(为C_i \):各科目收到的RV副本数目我\ \ ()

\ (F_j \):创始人的指示变量\ (j \)将一辆房车的副本引入谱系中

对于一套\ (n \)主题的后代\ (n_f \)创始人我们要计算概率\[开始\ P {eqnarray *} [\ mbox{房车共享}]& = & P [c₁= = C_n = 1 | \点c₁+ + C_n \ \点组1]\ nonumber \ \ [0.5 em] & = & \压裂{P [c₁= \点= C_n = 1]} {P [c₁+ + C_n \ \点组1]}\ nonumber \ \ [0.5 em] & = & \压裂{\ sum_ {j = 1} ^ {n_f} P [c₁= \点= C_n = 1 | F_j] P [F_j]} {\ sum_ {j = 1} ^ {n_f} P [c₁+ + C_n \ \点组的1 | F_j] P [F_j]}, {sharingp} \ \标签结束{eqnarray *} \]第三行上的表达来自于我们假设在所有等位基因中有一个RV的副本\ (n_f \)的创始人。的概率\(P[F_j] = {1 \ / n_f}\)分子分母约掉。

6.2受影响谱系成员子集的罕见变异共享概率

默认情况下,RVsharing将计算所有最终后代共享该变体的概率,前提是该变体至少在其中一个后代中出现。最后的后代被定义为没有孩子的谱系主体。属性可以自定义此事件航空公司而且useAffected参数。

如果论证航空公司,则所有携带该变体的载体的概率在最终后代的并集中至少有一个主体中出现,并且将计算这些载体。

如果论证useAffected是真的,血统有一个插槽影响,然后计算所有携带该变异的携带者的概率,假设它至少在一个受影响的人身上出现。

这两个参数可以单独使用,也可以组合使用,唯一的限制是载体必须是受影响的子集。

ped <- samplePedigrees$firstCousinTriple ped$affected[9] <- 0 plot(ped)

p <- RVsharing(ped)
概率科目9 10 11在9 10 11中有一个罕见的变体:0.01176
p <- RVsharing(ped, useAffected=TRUE)
##概率主题10 11中的10 11共享一个罕见的变体:0.06667
p <- RVsharing(ped, carriers=c(7,9,10))
##概率科目7 9 10在7 9 10 11中有一个罕见的变体:0.01064
p <- RVsharing(ped, carriers=c(10,11), useAffected=TRUE)
##概率主题10 11中的10 11共享一个罕见的变体:0.06667

6.3蒙特卡罗模拟

RVsharing还允许通过蒙特卡罗模拟估计共享概率。该特性的主要用途是在关于创始人的非标准假设下计算共享概率。但是,这个特性也适用于标准假设。要运行蒙特卡罗模拟,请正常指定所有参数并另外提供nSim指定应该运行多少次模拟的参数。

p <- RVsharing(samplePedigrees$firstCousinPair, alleleFreq=0.01)
概率科目7 8中的7 8共有一个罕见的变量:0.07631
p <- RVsharing(samplePedigrees$firstCousinPair, alleleFreq=0.01, nSim=1e5)
##概率主题7 8中的7 8共享一个罕见的变体:0.07774

这种方法允许给出创始人之间更复杂的关系。RVsharing允许将创建者之间的完整分布作为参数传递进来founderDist.这个函数应该接受一个参数N,并且应该返回一个长度为N的向量,其值为{0,1,2},表示每个创始人拥有的变体的副本数量。

#假设1创始人引入变体fDist <- function(N) sample(c(rep(0,N-1), 1)) p <- RVsharing(samplePedigrees$firstCousinPair, nSim=1e5, founderDist=fDist)
概率科目7 8中的7 8共有一个罕见的变量:0.06659
p <- RVsharing(samplePedigrees$firstCousinPair)
概率科目7 8中的7 8共有一个罕见的变量:0.06667

参考文献

Bureau, Alexandre, Ferdouse Begum, Margaret A Taub, Jacqueline Hetmanski, Margaret M Parker, Hasan Albacha-Hejazi, Alan F Scott等。2018。“通过共享罕见变异,从多重谱系的测序数据推断疾病风险基因。”Http://Biorxiv.org/Cgi/Content/Short/285874v1

亚历山大,塞缪尔·G·扬金,玛格丽特·M·帕克,琼·E·贝利-威尔逊,玛丽·L·马拉齐塔,杰弗里·C·默里,伊丽莎白·曼戈尔德,哈桑·阿尔巴卡-赫贾齐,特里·H·比蒂,英戈·鲁津斯基。2014。“根据多个患病亲属共享的确切概率推断罕见疾病风险变异。”生物信息学(牛津,英国)30(15): 2189-96。https://doi.org/10.1093/bioinformatics/btu198

傅,杰克,特里·H·比蒂,艾伦·F·斯科特,杰奎琳·赫特曼斯基,玛格丽特·M·帕克,琼·E·贝利·威尔逊,玛丽·L·马拉齐塔,等。2017。多重口腔唇裂家族中罕见缺失的全外显子组协会。遗传流行病学41(1): 61-69。https://doi.org/10.1002/gepi.22010

谢尔曼、托马斯、杰克·傅、罗伯特·B·沙尔夫、亚历山大·布伦科和英戈·鲁津斯基。2018。“使用RVS在扩展谱系中检测罕见疾病变异”,11月。https://doi.org/10.1093/bioinformatics/bty976