用R语言对vcf文件进行数据挖掘.2 方法简介

Python012

用R语言对vcf文件进行数据挖掘.2 方法简介,第1张

目录

vcfR 可以直接读取vcf格式的数据。如果同时读取参照序列fasta格式的序列文件和gff格式文件的注释文件还可以获取更完整的信息(此步骤并非必须,可以只读取vcf数据)。在此处便于重复用到了 pinfsc50 包。这个包里是植物致病微生物的基因序列测序结果。包含了一个vcf文件,一个fasta文件和一个gff文件。

这里用到参照序列的数据。

当这些数据被读取到内存的时候就可以开始对染色体名字或者其它一些东西进行修改了。由于 vcfR 更擅长对的单独染色体进行分析,所以当你的基因过大或者有很多样本的时候,建议对数据进行拆分。

读取完数据以后就可以建立 chromR ,来对数据进行详细的分析。

首先对数据进行初步的可视化,

我们在上面的图里得到很多信息,比方说测序深度(DP)的峰在500,但是拖着尾巴,这个尾巴表示数据里包含着CNV信息。然后比对质量(MQ)的峰值在60,于是我们可以以60为中心对数据进行过滤。

使用 masker 可以对数据进行过滤标记。然后可视化过滤以后的数据。

是不是顺眼多了。当然我们也可以看一下SNP的分布情况。注意右下角的图。

用 chromoqc() 可以对数据进行更完整的可视化。包括外显子内含子的分布,GC含量的分布等等。

最后可以用函数 write.vcf() 把数据输出成新的vcf文件。

目录

vcf数据包含了所有的等位对立基因的信息,这样就可以帮助我们判断染色体的倍数。比方说有一个位点的碱基是A/T,测序覆盖率为20, 如果这个物种是二倍体,那么A,T的出现概率就是(50%),会各自出现10次,如果是3倍体,那么A会出现13次,T会出现7次,当然也有可能相反。当把所有的点位集合在一起的时候,我们就可以判断这个物种的倍数体了。

用包里的自带数据,有疑问的小盆友可以查阅之前的文章,这里就不做赘述了。

高通量数据测序可以保证每一个位点都经过很多次的读取,这样就相当于每一个等位基因都被测序过了差不多相等的次数。假设我们对一个二倍杂合体进行了覆盖率为30的测序,那么每一条染色体都被测了15次。当然真实情况不可能正好是这个数字,毕竟测序的时候会发生一定概率的错误。

假设我们用覆盖率为30给一个三倍杂合体进行测序,某基因位点为A/A/T,那么,A和T出现的期待值将是20和10。当某个基因位点的组合是A/G/C时,那么A,G,C就会各自出现10次。

FORAMT里的AD表示对立基因的各自出现的次数。所以我们可以提取AD数据。

一般的SNP Caller都会默认双倍体检验,也就是出现两种对立基因型。所以可以计算每种基因的出现概率。

然后用直方图可视化一下。

可以发现,大多数都是纯合,所以需要去掉纯合的部分。

我们发现峰值出现在了1/2,说明这个物种时二倍体,和预期的一样。

然而这里有一个小小的问题,Fequency几乎从0到1横跨整个横坐标,这个明显不合理,需要进行改善。

我们可以通过等位对立深度(AD)的信息来改善刚才提到的问题。

我们可以看到80%的数据分布在了19和75之间。然后再靠近40和60点的地方出现了两个峰,这分别代表杂合峰和纯合峰。然后整个数据还拖着一个尾巴,最长的地方超过了100,这表示部分区域包含了着非常高的拷贝数(CNVs)。此处的目的是为了可视化倍数体,所以选择100以下15%~95%的数据。

回想一下之前文章里介绍过的用箱图做可视化的内容,我们也可以通过同样的方法来确认过滤数据的效果。

看一下过滤后的结果。

果然好看很多。

最后再回到一开始,看倍数体的可视化效果。

结果明显干净易懂好多。

有同学会问,那么不是二倍体的话会出现什么样的结果呢。数据包的样本里正好有一个三倍体。

可以看到两个峰出现在了1/3,2/3处。结果和实际完美匹配。

本书从实际应用出发,结合实例及应用场景,通过对大量案例进行详细阐述和深入分析,进而指导读者在实际工作中通过R语言游戏 数据进行分析和挖掘。这是一本关于数据分析实战的书籍,里面的知识、方法、理论是可以直接应用到整个互联网的。

全书一共13章,分为三篇:基础篇、实战篇和提高篇。

第一篇是基础篇(第1~4章): 介绍了 游戏 数据分析的基本理论知识、R语言的安装与使用、R语言中的数据结构、常用操作和绘图功能。

第1章主要介绍了 游戏 数据分析的必要性和流程;第2章讲解了R语言和RStudio的安装及使用方法,并对数据对象和数据导入进行了介绍;第3章介绍了R语言绘图基础,包括常用图形参数设置、低级绘图函数和高级绘图函数;第4章介绍了lattice和ggplot2绘图包,并详细介绍了一些基于R语言可用于生成交互式图形的软件包,包括rCharts、recharts、rbokeh、plotly等。

第二篇是实战篇(第5~11章): 主要介绍了 游戏 数据的预处理、常用分析方法、玩家路径分析和用户分析。

第5章介绍了 游戏 数据预处理常用的手段,包括数据抽样、数据清洗、数据转换和数据哑变量处理;第6章介绍了 游戏 数据分析的常用方法,包括指标数据可视化、 游戏 数据趋势分析、 游戏 数据相关性分析和 游戏 数据中的降维技术;第7章介绍了事件点击行为常用的漏斗分析和路径分析;第8章介绍了留存指标的计算、留存率计算与预测、常用分类算法原理和模型评估;第9章介绍了常用用户指标计算、LTV计算与预测、用户物品购买关联分析、基于用户物品购买智能推荐和 社会 网络分析;第10章介绍了渠道数据分析的必要性和对渠道用户进行质量评级;第11章介绍了常用收入指标计算、利用用户活跃度衡量 游戏 经济状况、RFM模型研究。

第三篇是提高篇(第12~13章): 介绍了R语言图形界面工具Rattle和Web开发框架shiny包。

第12章介绍了R语言的图形界面工具Rattle,该工具能够在图形化的界面上完成数据导入、数据 探索 、数据可视化、数据建模和模型评估整个数据挖掘流程;第13章介绍了Web开发框架shiny包,使得R的使用者不必太了解CSS、JS,只需要了解一些HTML的知识就可以快速完成Web开发。

关键词: 程序语言,程序设计

完整课程可前往UWA学堂《R语言 游戏 数据分析与挖掘》阅读。

https://edu.uwa4d.com/course-intro/0/383

随着 游戏 市场竞争的日趋激烈,在如何获得更大收益延长 游戏 周期的问题上,越来越多的手机 游戏 开发公司开始选择借助大数据,以便挖掘更多更细的用户群来进行精细化、个性化的运营。数据分析重要的不是提供 历史 和现状,而是通过分析发现手机 游戏 现状,以及对未来进行预测。一切以数据出发,用数据说话,让数据更好地指导运营服务好玩家,对玩家的行为和体验不断进行分析和调整,使玩家可以在虚拟世界中得到各方面的满足。要实现这个目的,需要搭建专业的数据化运营团队。此外, 游戏 数据分析与其他行业的数据分析不同的是, 游戏 综合了经济、广告、社交、心理等方面的内容,这就对数据分析师提出了更高的要求。

伴随着 游戏 互联网的快速发展和智能终端的普及,移动 游戏 进入了全民时代。越来越多的玩家利用碎片化时间进行 游戏 ,使得 游戏 数据呈现井喷式增长,同时也对数据存储技术、计算能力、数据分析手段提出了更高的要求。海量数据的存储是必须面对的第一个挑战,随着分布式技术的逐渐成熟,越来越多的互联网企业采用分布式的服务器集群 分布式存储的海量存储器进行数据的存储和计算,从而解决数据存储和计算能力不足的问题。如何在海量的、复杂高维的 游戏 数据中发掘出有价值的知识,将是很多公司下一步亟待解决的难题。

虽然积累了海量的玩家数据,很多公司也开发了自己的BI报表系统,但是多数停留在“看数据”阶段,还是用传统的数据分析方法对数据进行简单的加工、统计及展示,并没有进行深度挖掘发现数据背后的规律和把握未来趋势。正是在这样的大背景下, 游戏 数据分析逐渐在 游戏 行业中变得重要。公司需要从传统的粗放型运营进化到精细化运营,从而了解如何有效地获取用户、评估效果;如何激活用户、评估产品质量;如何提升收益,并挖掘潜在的高价值用户。要满足精细化运营的需求,数据化运营就应运而生了。数据化运营就是在以海量数据的存储、分析、挖掘和应用的核心技术支持的基础上,通过可量化、可细分、可预测等一系列精细化的方式来进行的。

数据化运营是飞速发展的数据存储技术、数据挖掘技术等诸多先进数据技术直接推动的结果。数据技术的飞速发展,使数据存储成本大大减低,同时提供了成熟的数据挖掘算法和工具让公司可以去尝试海量数据的分析、挖掘、提炼和应用。有了数据分析、数据挖掘的强有力支持,运营不再靠“拍脑袋”,可以真正做到运营过程自始至终都心中有数。比如,在玩家的细分推送中,数据分析师利用数据挖掘手段对玩家进行分群,运营根据不同的用户群制定差异化策略,数据分析师再根据推送效果进行评估。

完整课程可前往UWA学堂《R语言 游戏 数据分析与挖掘》阅读。

https://edu.uwa4d.com/course-intro/0/383

1、 游戏 数据分析师

2、 游戏 产品运营人员

3、产品数据挖掘