SR4R数据库:水稻4个SNP集的筛选及其应用
前言
王向峰老师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数据库
- 地址:http://sr4r.ic4r.org/
- 在线分析包括亚群分类和指纹图谱:http://sr4r.ic4r.org/onlineTools/ml
- 提供了数据预处理、群体多样性分析和品种分类与鉴定的脚本:http://sr4r.ic4r.org/tools/bgp
- 提供了4类SNPs集的基因型和注释文件,还有Indel信息、脚本打包工具等:http://sr4r.ic4r.org/download
更加详细的方法可参考Method部分
SR4R数据库:水稻4个SNP集的筛选及其应用的更多相关文章
- db2 数据库配置HADR+TSA添加集群节点
Db2配置HADR高可用+TSA添加集群节点 一.服务器资源 Master IP:10.78.10.1 数据库:dbclassSlave IP:10.78.10.2 数据库:dbclassVIP:10 ...
- Redis数据库 02事务| 持久化| 主从复制| 集群
1. Redis事务 Redis不支持事务,此事务不是关系型数据库中的事务: Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...
- 数据库机器迁移对AlwaysON 集群影响测试
1主3从(共享文件见证) 模拟事故 AlwaysON集群 结论 主域控服务器重启 共享文件夹见证失败,SQL集群无影响 无影响 修改共享文件夹见证路径 第一次测试修改后:整个集群突然重启,查询 ...
- MongoDB数据库 : 管道,用户管理,副本集等
聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...
- 分布式图数据库 Nebula Graph 中的集群快照实践
1 概述 1.1 需求背景 图数据库 Nebula Graph 在生产环境中将拥有庞大的数据量和高频率的业务处理,在实际的运行中将不可避免的发生人为的.硬件或业务处理错误的问题,某些严重错误将导致集群 ...
- 【DB宝46】NoSQL数据库之CouchBase简介、集群搭建、XDCR同步及备份恢复
目录 一. CouchBase概述 1.1.简述 1.2.CouchDB和CouchBase比对 1.2.1.CouchDB和CouchBase的相同之处 1.2.2.CouchDB和CouchBas ...
- java.sql.ResultSet技术(从数据库查询出的结果集里取列值)
里面有一个方法可以在查询的结果集里取出列值,同理,存储过程执行之后返回的结果集也是可以取到的. 如图: 然后再运用 java.util.Hashtable 技术.把取到的值放入(K,V)的V键值里,K ...
- php操作数据库获取到的结果集mysql_result
判断取出的结果集是否为空集: $sql="select adminPwd from adminaccount"; //判断查询是否有数据 if(mysqli_num_rows($r ...
- Oracle数据库使用游标查询结果集所有数据
--Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2():=''; --表名 myTableRowComment NVARCHAR2():=''; - ...
随机推荐
- 谈谈BEM规范(含代码)
css规范之BEM规范 前言 引用一句经典名言在编程的世界里其中一件最难的事情就是命名,不管是设计到编程语言还是标记语言都会有命名的需求.今天聊的就是关于css的命名规范的发展过程以及演变. 命名的发 ...
- UltraSoft - Alpha - Scrum Meeting 3
Date: Apr 15th, 2020. 会议内容为 贡献分确定与进度汇报. Scrum 情况汇报 进度情况 组员 负责 昨日进度 后两日任务 CookieLau PM.后端 学习前后端分离技术的项 ...
- dwr简单应用及一个反向ajax消息推送
由于项目中最近需要用到dwr实现一些功能,因此在网上和dwr官网上找了一些资料进行学习.在此记录一下.(此处实现简单的dwr应用和dwr消息反向推送) 一.引入dwr的包 <dependency ...
- NKOJ1828 Feed Ratios饲料调配
题目 好题!高斯消元切了! (其实只是单纯地想吐槽这道出现在"高斯消元"专练里的题,暴搜能过,goudoubuxie"Gauss") 下面是暴搜: #pragm ...
- 第34篇-解析invokeinterface字节码指令
与invokevirtual指令类似,当没有对目标方法进行解析时,需要调用LinkResolver::resolve_invoke()函数进行解析,这个函数会调用其它一些函数完成方法的解析,如下图所示 ...
- 像素反转 牛客网 程序员面试金典 C++ Python
像素反转 牛客网 程序员面试金典 题目描述 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定 ...
- .net core 和 WPF 开发升讯威在线客服系统:把 .Net Framework 打包进安装程序
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程. 系列文章目录: https://blog.shengxunwei.com/Home/Post/44a3 ...
- APP 自动化之系统按键事件(五)
转载记录方便后续自己使用: 代码就一句driver.keyevent()括号内填入的是物理按键的数字代号 代号表: 电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 ...
- 力扣 - 剑指 Offer 30. 包含min函数的栈
题目 剑指 Offer 30. 包含min函数的栈 思路1 使用一个辅助栈min_stack,用来维护栈的最小的元素 每次添加元素入栈时候,data_stack和min_stack都要同时维护 dat ...
- robotframework定位页面内Frame框架里的元素
在自动化开发中,会遇到在页面内部点开一个新的页面后,新的页面元素无法定位到的情况,如点击下图的上传图片,弹出的界面无法直接定位到: 遇到这种情况需要查看弹出界面是否是Frame框架页面:打开火狐浏览器 ...