如何过滤freebayes得到原始vcf文件

简介: 变异检测算法的核心就是从尽可能找到真实的变异,降低假阳性。尽管目前测序仪器的准确性可以达到99.999%,似乎很高的样子,但是对于高通量测序而言,这意味着在100,000个碱基中就可能出现一个错误,那么freebayes如何保证自己结果的可靠性?freebayes基于贝叶斯公式贝叶斯公式简单的说,当一个变异如果只出现在一条链上,或者是某一个位置上,那么这个位点很有可能是高通量测序时引入的偏误。

变异检测算法的核心就是从尽可能找到真实的变异,降低假阳性。尽管目前测序仪器的准确性可以达到99.999%,似乎很高的样子,但是对于高通量测序而言,这意味着在100,000个碱基中就可能出现一个错误,那么freebayes如何保证自己结果的可靠性?

freebayes基于贝叶斯公式

img_2faecc734c03cc2c5f3129b6f2e766a4.jpe
贝叶斯公式

简单的说,当一个变异如果只出现在一条链上,或者是某一个位置上,那么这个位点很有可能是高通量测序时引入的偏误。

img_cca548eca55d81122e837beeab2f71e3.jpe
可能位点

先验模型并不能解决所有错误,freebayes初步会得到海量的变异位点,这肯定是不能直接用于最后分析,需要进一步过滤。过滤有两种策略,一种是硬过滤(hard filter),一种则是使用机器学习的方法,比如说支持向量机。

Hard filters的策略很简单,就是按照我们所认为的好去过滤,

  • 这个变异的信度要高, QUAL>N
  • 有足够多的深度支持,DP >N
  • 变异应该出现在两条链上, SAF >0 & SAR>0
  • 变异出现在read的中部, RPL>0 & RPR >0

RPL(Reads Placed Left), RPR(Reads Placed Right)
SAF(Number of alternate observations on the forward strand), SAR(Number of alternate observations on the reverse strand)

由于每一个物种基因组性质都不太一样,那么应该设置什么样标准比较好呢?

如果是自然变异, 那么在大多数生物中,转换(transitions, ts, A-T<->G-C)的发生的概率颠换应该大于颠换(transversion, tv,T-A<->G-C). 在人类中,ts/tv约等于2, 在线粒体中, ts/tv有可能大于20。 tv/ts信息可以用vt peek看。

使用机器学习的方法有点难度,需要你提供一个高信度的变异集用来训练分类器,属于比较高级的模块。

参考资料

目录
相关文章
|
算法
GSEA 富集分析原理分析
本分分享了自己学习参考多篇 关于GSEA 原理的博客文献后总结的个人理解,以供参考学习
803 0
|
存储 JSON 数据库
Elasticsearch 分布式架构解析
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,以其高可扩展性和实时性著称。它基于 Lucene 开发,但提供了更高级别的抽象,使得开发者能够轻松地构建复杂的搜索应用。本文将深入探讨 Elasticsearch 的分布式存储和检索机制,解释其背后的原理及其优势。
721 5
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
2768 4
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
223 1
|
11月前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
1137 5
|
存储 算法 Java
性能优化:Java垃圾回收机制深度解析 - 让你的应用飞起来!
Java垃圾回收自动管理内存,防止泄漏,提升性能。GC分为标记-清除、复制、标记-整理和分代收集等算法。JVM内存分为堆、方法区等区域。常见垃圾回收器有Serial、Parallel、CMS和G1。调优涉及选择合适的GC、调整内存大小和使用参数。了解和优化GC能提升应用性能。
279 3
|
JavaScript 前端开发 Java
开题报告-基于SpringBoot手办周边系统的设计与实现
开题报告-基于SpringBoot手办周边系统的设计与实现
169 1
|
开发框架 安全 搜索推荐
如何使用Python Flask发布web页面至公网并实现远程访问【内网穿透】
如何使用Python Flask发布web页面至公网并实现远程访问【内网穿透】
|
Ubuntu Java Linux
利用snpEff对基因型vcf文件进行变异注释,软件安装、数据库配置、结果解读详细方法
利用snpEff对基因型vcf文件进行变异注释,软件安装、数据库配置、结果解读详细方法
|
开发者 UED 智能硬件
请简要介绍一下鸿蒙操作系统的特点和优势。
请简要介绍一下鸿蒙操作系统的特点和优势。
2201 0