基因型填充前的质控条件简介

2023-10-17 04:10

本文主要是介绍基因型填充前的质控条件简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注”生信修炼手册”!

影响基因型填充准确率的因素有很多,比如分型结果的质量,填充软件的选择,reference panel的选择,样本量的大小, SNP的密度等等。

为了提高填充的准确率,我们需要在填充前进行质量过滤。对于原始的分型结果,可以根据一些条件进行筛选和过滤,得到高质量的分型结果,用于后续的填充。

分型结果本质上是一张由样本和SNP位点构成的表格,对应的过滤手段也分成了两个大的方向,针对SNP位点的过滤和针对样本的过滤。

这里的质控条件和GWAS分析的质控条件是一致的,本文基于case/control的GWAS分析,讲解下常用的过滤条件。对于SNP位点的过滤,常用的过滤条件如下

1. missingness

在原始的分型结果中,会有部分分型失败的位点,称之为missing data。分型成功的比例称之为call rate, 根据snp call rate进行过滤的代码如下

plink \
--noweb \
--file test \
--geno 0.1 \
--out filter

--geno指定snp位点分型失败比例的阈值,分型失败的比例大于该阈值的位点会被过滤掉。

2.  Hardy-Weinberg equilibrium

GWAS假设样本群体是符合哈温平衡的, 对于不符合哈温平衡的SNP位点,需要过滤掉。

需要注意的是,哈温平衡的计算是针对群体的,在case/control中,如果合并一起计算hwe, 该位点的不平衡很可能是由于两个群体间的差异构成,过滤之后会造成后续分析的假阴性,所以只需要针对control组的样本计算hwe, 然后进行过滤就可以了,代码如下

plink \
--noweb \
--file test \
--hwe 0.000001 \
--out filter

--hwe指定哈温平衡检验pvalue的阈值,小于该阈值的位点会被过滤掉。

3.  minor allele frequency

MAF过低可能是由于分型算法不能够检测到对应的allel引起的, 比如测序深度或者荧光信号强度不够等因素,此时这些位点的分型结果是不太准确的,所以需要过滤。

其次为了能够有效进行后续的GWAS挖掘,要保证不同allel对应的样本量的大小。MAF<1%的突变称之为rare variants, 相比MAF > 5%的common variants,  罕见变异需要更大的样本量,当样本量不足时,会造成后续分析的假阳性,所以在样本量较小的情况下,不能够有效进行罕见变异的GWAS分析,需要去除。

过滤的代码如下

plink \
--noweb \
--file test \
----maf 0.01 \
--out filter

--maf指定MAF过滤的阈值,小于该阈值的位点会被过滤掉。

对于样本的过滤,常用的过滤条件如下

1. missingness

和SNP的call rate类似,只是换成了样本中的比例,过滤的代码如下

plink \
--noweb \
--file test \
----mind 0.01 \
--out filter

--mind指定样本分型失败比例的阈值,分型失败的比例大于该阈值的样本会被过滤掉。

2. gender check

通过样本的分型结果可以判断样本的性别,plink默认F值小于0.2的为女性,大于0.8的为男性,然后与该样本标记的性别进行比较,如果二者不一致,则需要去掉该样本,代码如下

plink \
--noweb \
--file test \
--check-sex 0.2 0.8 \
--allow-no-sex \
--out gender

运行成功后输出一个后缀为genome的文件,在该文件中,如果性别一致显示OK, 否则显示PROBLEM。在某些情况下,默认阈值可能过于严格,可以调整check-sex后面的参数。

识别到不一致的样本之后,可以将对应的样本ID整理到一个文件中,每行一个ID,然后通过下列代码进行过滤

plink \
--noweb \
--file test \
--remove sample.list \
--out filter
3. IBD

IBD用于衡量样本间的亲缘关系,亲缘关系较近的样本分型结果非常相似,极端的例子就是重复样本。GWAS分析的本质是一个无放回的抽样,需要保证样本间的独立性,所以亲缘关系较近的样本需要被去除。计算样本间IBD距离的代码如下

plink \
--noweb \
--file test \
--genome \
--allow-no-sex \
--out ibd
4. heterozygosity and inbreeding

在一个随机交配产生的符合哈温平衡的群体中, 样本是具有一定的杂合基因型的,近亲繁殖会导致纯合基因型的出现,产生的后代样本杂合度降低,导致群体哈温平衡的偏离,这样的样本需要被去除,保证GWAS分析中群体符合哈温平衡的假设。

另外,杂合度过高的样本可能是实验阶段混合了两个样本的DNA导致的,所以也需要去除。实际操作中,通过近亲系数F来表征, F值的大小与样本杂合度呈负相关,F值越大,对应杂合度越低。通过下列代码可以计算样本的近亲繁殖系数

plink \
--noweb \
--file test \
--het \
--allow-no-sex \
--out het

然后通过F值的分布来确定过滤的条件。

5. population stratification

群体分层指的是在样本中明显分成了多个亚群,亚群之间的差异会影响case/control组间差异的判断,对GWAS分析造成影响。对于群体分层,可以在后续GWAS分析中进行校正,这里的过滤指的是过滤掉个别明显偏离的离群值样本,可以通过主成分分析PCA或者MDS分析来实现,对应的方法比较多,后续在详细讲解。

除了这些过滤条件外,还需要调整SNP的方向,在reference panel中,SNP位点分型结果以参考基因组正链上的碱基表示,而在分型结果中会出现既有正链又有负链的情况,需要统一校正到正链上来。

对原始分型结果进行质控,可以提高基因型填充的准确率,进一步保证后续GWAS分析的准确性。

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描关注微信号,更多精彩内容等着你!

这篇关于基因型填充前的质控条件简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222849

相关文章

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。