前言

王向峰老师2020年发表在《Genomics Proteomics Bioinformatics》(IF=6.597)上的文章。对于做数据分析的人来说,如何挖掘公共数据,如何从海量SNP中挖掘目标SNP等问题都是每天要面对的,这篇文章给了一个参考,很值得学习。

文章从水稻变异数据库RVD的子库IC4R(http://variation.ic4r.org/)中5152份水稻材料的18m SNPs进行层层过滤,以不同条件筛选到不同大小的SNP集,每个数据集可应用于不同场景和目的。最后还构建了数据库,提供web工具、代码及数据下载。

四个SNP集

用途:

  • hapmapSNPs可用于GWAS
  • tagSNPs可用于群体遗传研究和GS
  • fixedSNPs可用于种子纯度和遗传背景分析
  • barcodeSNPs可用于指纹图谱进行品种分类

各SNP集处理标准如下:

hapmapSNPs

  • 过滤基因型缺失率大于20%的样本,剩余2556个样本。
  • 过滤缺失率大于0.1,次等位基因频率MAF小于0.05的SNP。
  • Beagle填充2556个样本的基因型。
  • 最终包含2,097,405个SNPs,无任何缺失值。

tagSNPs

  • 采用基于LD的SNP修剪步骤从hapmapSNPs来推断单倍型标记SNP(tagSNPs)。
  • 水稻的LD长度40-500kb。
  • Plink --indep命令,参数基于方差膨胀因子(VIF),使用滑动窗口50个SNPs,步长5个SNPs来连续过滤SNP。

fixedSNPs

  • 通过比较栽培稻亚群和野生稻的Fst和θπ,鉴定选择清除区域。
  • 使用100kb和10kb窗口分别鉴定大和小的基因组选择清除信号区域,6个亚群被选择区域的Tajima'D显著小于其他区域,具体为:227 (cultivated vs. wild), 381 (Ind vs. wild), 333 (Aus vs. wild), 296 (Aro vs. wild), 256 (TrJ vs. wild) and 269 (TeJ vs. wild)。
  • 鉴定受选择清除区域的基因,这些基因内共1180 SNPs。

barcodeSNPs

  • 使用MinimalMarker算法来详尽遍历所有可能的基因型组合,来区分这2556份材料。
  • MinimalMarker算法生成最少标记组合的三个集合,每个集合包含28个SNPs。
  • 合并三个集合后,共得到38个barcodeSNPs。

hapmapSNPs的指标统计

  • 每步处理的指标统计
  • ARNOVAR注释

tagSNPs的群体结构验证

高密度SNP对于GWAS的功能位点鉴定是有用,但对于群体遗传分析是不合适的,因为SNP的高冗余会带来不必要的计算成本,也会对结果带来偏差。

在同一LD block区,一个有代表性的SNP(tagSNP)可解决冗余问题。

156,502个tagSNPs来验证2556份材料的亚群分类和起源验证。

K=3时,能明显区分籼粳和Aus三类亚群;当K=8时,能清晰划分6个亚群;当K=4-7时,籼稻亚群能划分6个子群S1-S6。

tagSNPs的遗传多样性

5个亚群多项遗传多样性指标统计比较分析:

  • Identity by state (IBS) 分析等位基因相似性。
  • Runs of homozygosity (ROH):连续性纯合片段分析(基因组中出现的连续不间断的纯合现象)。
  • LD衰减速率。
  • Fst分化指数。
  • θπ核酸多样性。
  • Tajma'D中性进化检验

tagSNPs用于GS

156,502个tagSNPs已经去除高度冗余的SNP,因此可作为GS应用的标记池。

使用rrBLUP模型比较了水稻9个性状的不同5个SNP集的准确性:

  • set1:水稻44K芯片的原始29,434个SNPs。
  • set2:156,502个tagSNPs与set1的交集,共1090个SNPs。
  • set3:set1中随机选取的1090个SNPs。
  • set4:根据set1中基因组距离(每350kb一个SNP)选取的1090个SNPs。
  • set5:根据set1中随机基因组区域的1090个连续SNPs。



结论:从tagSNPs池中选择大约1000个SNPs可能是降低GS应用成本的方法。

fixedSNPs验证

  • 图A:100kb窗口内计算的θπ和Fst,红点为潜在的强选择清除信号。
  • 图B:潜在的强选择清除信号和其他基因组区域的Tajma'D值分布。
  • 图C:栽培亚群中共有和特有的选择信号(括号内外数值分别为基因和GSEA term数目,GSEA使用PlantGSEA分析)。
  • 图D:fixedSNPs的2556个材料的进化树。
  • 图E:Affymetrix 700K芯片的880个材料的进化树。
  • 图F:Illumina 44K芯片的351个材料的进化树。

barcodeSNPs指纹图谱

使用MinimalMarker算法筛选到的38个barcodeSNPs可作为特征来区分水稻品种(即指纹图谱)。

对2556份材料应用了7种经典机器学习算法来建模,10折CV,五类编码(10000, 01000, 00100, 00010, 00001):

  • 决策树DT
  • K近邻KNN
  • 朴素贝叶斯NB
  • 人工神经网络ANN
  • 随机森林RF
  • 一对多法逻辑回归:one-vs-rest logistic regression(LR-O)
  • 多元逻辑回归:multivariate logistic regression (LR-M)

5个水稻栽培亚群分类精度最佳的模型是LR-M(AUC为0.99)。并使用Affymetrix 700K芯片的880份材料进行了验证,证明其鲁棒性。

barcodeIndel

除了SNP,他们还做了Indel分析(<50bp)。

  • 5152份材料种共4,217,174 raw Indels。
  • 2556份材料按missing rate <0.01,MAF>=0.05 过滤后剩余109,898 Indels。
  • 根据水稻6个亚群和籼稻内的6个子类,进一步鉴定62个亚群特异性Indels,即barcodeIndels。
  • SR4R数据库中可下载供个性化分析。

SR4R数据库

更加详细的方法可参考Method部分

SR4R数据库:水稻4个SNP集的筛选及其应用的更多相关文章

  1. db2 数据库配置HADR+TSA添加集群节点

    Db2配置HADR高可用+TSA添加集群节点 一.服务器资源 Master IP:10.78.10.1 数据库:dbclassSlave IP:10.78.10.2 数据库:dbclassVIP:10 ...

  2. Redis数据库 02事务| 持久化| 主从复制| 集群

    1. Redis事务 Redis不支持事务,此事务不是关系型数据库中的事务: Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...

  3. 数据库机器迁移对AlwaysON 集群影响测试

    1主3从(共享文件见证)     模拟事故 AlwaysON集群 结论 主域控服务器重启 共享文件夹见证失败,SQL集群无影响 无影响 修改共享文件夹见证路径 第一次测试修改后:整个集群突然重启,查询 ...

  4. MongoDB数据库 : 管道,用户管理,副本集等

    聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...

  5. 分布式图数据库 Nebula Graph 中的集群快照实践

    1 概述 1.1 需求背景 图数据库 Nebula Graph 在生产环境中将拥有庞大的数据量和高频率的业务处理,在实际的运行中将不可避免的发生人为的.硬件或业务处理错误的问题,某些严重错误将导致集群 ...

  6. 【DB宝46】NoSQL数据库之CouchBase简介、集群搭建、XDCR同步及备份恢复

    目录 一. CouchBase概述 1.1.简述 1.2.CouchDB和CouchBase比对 1.2.1.CouchDB和CouchBase的相同之处 1.2.2.CouchDB和CouchBas ...

  7. java.sql.ResultSet技术(从数据库查询出的结果集里取列值)

    里面有一个方法可以在查询的结果集里取出列值,同理,存储过程执行之后返回的结果集也是可以取到的. 如图: 然后再运用 java.util.Hashtable 技术.把取到的值放入(K,V)的V键值里,K ...

  8. php操作数据库获取到的结果集mysql_result

    判断取出的结果集是否为空集: $sql="select adminPwd from adminaccount"; //判断查询是否有数据 if(mysqli_num_rows($r ...

  9. Oracle数据库使用游标查询结果集所有数据

    --Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2():=''; --表名 myTableRowComment NVARCHAR2():=''; - ...

随机推荐

  1. BUAA_2020_软件工程_软件案例分析作业

    项目 内容 这个作业属于那个课程 班级博客 这个作业的要求在哪里 作业要求 我在这个课程的目标是 学习掌握软件工程的相关知识 这个作业在哪个具体方面帮我实现目标 通过对具体软件案例的分析学习软件工程 ...

  2. Asp.CAore往Vue前端传application/octet-stream类型文件流

    题外话:当传递文件流时要确定文件流的类型,但也有例外就是application/octet-stream类型,主要是只用来下载的类型,这个类型简单理解意思就是通用类型类似 var .object.ar ...

  3. FastAPI 学习之路(五十五)操作Redis

    之前我们分享了操作关系型数据库,具体文章, FastAPI 学习之路(三十二)创建数据库 FastAPI 学习之路(三十三)操作数据库 FastAPI 学习之路(三十四)数据库多表操作 这次我们分享的 ...

  4. Noip模拟84 2021.10.27

    以后估计都是用\(markdown\)来写了,可能风格会有变化 T1 宝藏 这两天老是会的题打不对,还是要细心... 考场上打的是维护\(set\)的做法,但是是最后才想出来的,没有维护对于是没有交. ...

  5. Noip模拟49 2021.9.7

    T1 reverse 又一道板子打假的挂分题,直接挂到倒二.. 考场上思路神奇,居然想到用$bfs$建边然后跑最短路, 其实当时也想到了直接$bfs$,但是不知道为啥觉得$dij$屌就没直接打$bfs ...

  6. 洛谷 P5664 [CSP-S2019] Emiya 家今天的饭

    链接: P5664 题意: 给出一个 \(n*m\) 的矩阵 \(a\),选 \(k\) 个格子(\(1\leq k\leq n\)),每行最多选一个,每列最多选\(⌊\dfrac k2⌋\) 个,同 ...

  7. Linkerd 2:5 分种厘清 Service Mesh 相关术语

    API Gateway(API 网关) API gateway 位于应用程序的前面,旨在解决身份验证和授权.速率限制以及为外部消费者提供公共访问点等业务问题. 相比之下,service mesh 专注 ...

  8. 把二叉树打印成多行 牛客网 剑指Offer

    把二叉树打印成多行 牛客网 剑指Offer 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行 # class TreeNode: # def __init__(self, x) ...

  9. Python NameError:name ‘xrange’ is not defined

    在python3 中会出这个问题,而xrange( )函数时在python 2.x中的一个函数,在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange ...

  10. cf Two Sets (我用二分最大匹配做的)

    题意: n个数p1,p2....pn     两个数a,b 把它们分成A,B两个集合. 若x属于A,a-x一定属于A. 若x属于B,b-x一定属于B. 问是否可能将这n个数分成两个集合.若可以,输出每 ...