本文首发于公众号“生信补给站”,https://mp.weixin.qq.com/s/WG4JHs9RSm5IEJiiGEzDkg

之前介绍了使用maftools | 从头开始绘制发表级oncoplot(瀑布图) R-maftools包绘制组学突变结果(MAF)的oncoplot或者叫“瀑布图”,以及一些细节的更改和注释。

本文继续介绍maftools对于MAF文件的其他应用,为更易理解和重现,本次使用TCGA下载的LIHC数据。

一 数据部分

setwd("C:\\Users\\Maojie\\Desktop\\maftools-V2\\")
library(maftools)
laml.maf = read.csv("TCGA.LIHC.mutect.maf.csv",header=TRUE)

#本次只展示maf的一些统计绘图,只读入组学数据,不添加临床数据
laml = read.maf(maf = laml.maf)
#查看数据的基本情况
laml
An object of class  MAF
                       ID summary   Mean Median
1:             NCBI_Build       1     NA     NA
2:                 Center       1     NA     NA
3:                Samples     364     NA     NA
4:                 nGenes   12704     NA     NA
5:        Frame_Shift_Del    1413  3.893      3
6:        Frame_Shift_Ins     551  1.518      1
7:           In_Frame_Del     277  0.763      0
8:           In_Frame_Ins     112  0.309      0
9:      Missense_Mutation   28304 77.972     63
10:      Nonsense_Mutation    1883  5.187      4
11:       Nonstop_Mutation      45  0.124      0
12:            Splice_Site    1051  2.895      2
13: Translation_Start_Site      65  0.179      0
14:                  total   33701 92.840     75

可以将MAF文件的gene ,sample的 summary 的信息,输出到laml前缀的summary文件

write.mafSummary(maf = laml, basename = 'laml')

laml_geneSummary.txt

laml_sampleSummary.txt

二 绘图部分

1,首先绘制MAF文件的整体结果图

plotmafSummary(maf = laml, rmOutlier = TRUE, addStat = 'median', dashboard = TRUE, titvRaw = FALSE)

2,oncoplot图

#oncoplot for top ten mutated genes.
oncoplot(maf = laml, top = 20)

添加SCNA信息,添加P值信息,添加临床注释信息,更改颜色等可参考 链接 。。

3 Oncostrip

可以使用 oncostrip 函数展示特定基因在样本中的突变情况,此处查看肝癌中关注较多的'TP53','CTNNB1', 'ARID1A'三个基因,如下:

oncostrip(maf = laml, genes = c('TP53','CTNNB1', 'ARID1A'))

4 Transition , Transversions

titv函数将SNP分类为Transitions_vs_Transversions,并以各种方式返回汇总表的列表。汇总数据也可以显示为一个箱线图,显示六种不同转换的总体分布,并作为堆积条形图显示每个样本中的转换比例。

laml.titv = titv(maf = laml, plot = FALSE, useSyn = TRUE)
#plot titv summary
plotTiTv(res = laml.titv)

5 Rainfall plots

使用rainfallPlot参数绘制rainfall plots,展示超突变的基因组区域。detectChangePoints设置为TRUE,rainfall plots可以突出显示潜在变化的区域.

brca <- system.file("extdata", "brca.maf.gz", package = "maftools")
brca = read.maf(maf = brca, verbose = FALSE)
rainfallPlot(maf = laml, detectChangePoints = TRUE, pointSize = 0.6)

6 Compare mutation load against TCGA cohorts

通过tcgaComapre函数实现laml(自有群体)与TCGA中已有的33个癌种队列的突变负载情况的比较。

#cohortName 给输入的队列命名
laml.mutload = tcgaCompare(maf = laml, cohortName = 'LIHC-2')

7 Genecloud

使用 geneCloud参数绘制基因云,每个基因的大小与它突变的样本总数成正比。

geneCloud(input = laml, minMut = 15)

8 Somatic Interactions

癌症中的许多引起疾病的基因共同发生或在其突变模式中显示出强烈的排他性。可以使用somaticInteractions函数使用配对Fisher 's精确检验来分析突变基因之间的的co-occurring 或者exclusiveness。

#exclusive/co-occurance event analysis on top 10 mutated genes. 
Interact <- somaticInteractions(maf = laml, top = 25, pvalue = c(0.05, 0.1))
#提取P值结果
Interact$gene_sets
                gene_set       pvalue
1:   CTNNB1, AXIN1, TP53 0.0001486912
2:  CTNNB1, TP53, ARID1A 0.0018338597
3:     AXIN1, TP53, APOB 0.0087076043
4:     CSMD3, AXIN1, ALB 0.0130219628
5:      AXIN1, TP53, ALB 0.0173199619
6: CTNNB1, AXIN1, ARID1A 0.0363739468

可以看到TP53和CTNNB1之间有较强的exclusiveness,也与文献中的结论一致。

9 Comparing two cohorts (MAFs)

由于癌症的突变模式各不相同,因此可是 mafComapre参数比较两个不同队列的差异突变基因,检验方式为fisher检验。

#输入另一个 MAF 文件
Our_maf <- read.csv("Our_maf.csv",header=TRUE)
our_maf = read.maf(maf = Our_maf)

#Considering only genes which are mutated in at-least in 5 samples in one of the cohort to avoid bias due to genes mutated in single sample.
pt.vs.rt <- mafCompare(m1 = laml, m2 = our_maf, m1Name = 'LIHC', m2Name = 'OUR', minMut = 5)
print(pt.vs.rt)

  • result部分会有每个基因分别在两个队列中的个数以及P值和置信区间等信息。

  • SampleSummary 会有两个队列的样本数。

1) Forest plots

比较结果绘制森林图

forestPlot(mafCompareRes = pt.vs.rt, pVal = 0.01, color = c('royalblue', 'maroon'), geneFontSize = 0.8)

10 Oncogenic 信号通路

`OncogenicPathways 功能查看显著富集通路

OncogenicPathways(maf = laml)
#会输出统计结果
Pathway alteration fractions
      Pathway  N n_affected_genes fraction_affected
1:    RTK-RAS 85               68         0.8000000
2:        WNT 68               55         0.8088235
3:      NOTCH 71               52         0.7323944
4:      Hippo 38               30         0.7894737
5:       PI3K 29               24         0.8275862

可以对上面富集的通路中选择感兴趣的进行完成的突变展示:

PlotOncogenicPathways(maf = laml, pathways = "PI3K")

好了,以上就是使用maftools包对MAF格式的组学数据的汇总,分析,可视化。

后台回复“maf文件”即可获得示例的maf文件和代码

【觉得不错,右下角点击赏个“在看”,转发就是赞赏,谢谢!】

maftools|TCGA肿瘤突变数据的汇总,分析和可视化的更多相关文章

  1. Python数据描述与分析

    在进行数据分析之前,我们需要做的事情是对数据有初步的了解,比如对数据本身的敏感程度,通俗来说就是对数据的分布有大概的理解,此时我们需要工具进行数据的描述,观测数据的形状等:而后才是对数据进行建模分析, ...

  2. 【Wyn Enterprise BI知识库】 认识多维数据建模与分析 ZT

    与业务系统类似,商业智能的基础是数据.但是,因为关注的重点不同,业务系统的数据使用方式和商业智能系统有较大差别.本文主要介绍的就是如何理解商业智能所需的多维数据模型和多维数据分析. 数据立方体 多维数 ...

  3. 转载:案例用Excel对会员客户交易数据进行RFM分析

    案例:用Excel对会员客户交易数据进行RFM分析                                背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...

  4. (十四)整合 ClickHouse数据库,实现数据高性能查询分析

    整合 ClickHouse数据库,实现数据高性能查询分析 1.ClickHouse简介 1.1 数据分析能力 2.SpringBoot整个ClickHouse 2.1 核心依赖 2.2 配属数据源 2 ...

  5. 性能测试报告的指标选择、数据选择和分析的参考【以Apache AB test为例】

    前几天尝试用loadrunner初试了一下性能测试,对于如何选择数据.生成数据后如何分析很是迷惑,刚刚翻看一篇网友的博客,很有条理,特此记录一下,以供参考 转自: http://liriguang.i ...

  6. AspxGridView 数据的汇总统计

    AspxGridView底部增加数据汇总行 这个功能在AspxGridView中不用复杂的代码实现, 实际上只是设置下GridView的属性而已 1. ShowFooter设置为True,即显示. 位 ...

  7. 用Excel完成专业化数据统计、分析工作

    使用Excel可以完成很多专业软件才能完成的数据统计.分析工作,比如:直方图.相关系数.协方差.各种概率分布.抽样与动态模拟.总体均值判断,均值推断.线性.非线性回归.多元回归分析.时间序列等.本专题 ...

  8. C/C++数据对齐汇总

     C/C++数据对齐汇总  这里用两句话总结数据对齐的原则: (1)对于n字节的元素(n=2,4,8,...),它的首地址能被n整除,才干获得最好的性能: (2)如果len为结构体中长度最长的变量,s ...

  9. 数据抓取分析(python + mongodb)

    分享点干货!!! Python数据抓取分析 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: ...

随机推荐

  1. 2018-2019-2 网络对抗技术 20165311 Exp 8 Web基础

    2018-2019-2 网络对抗技术 20165311 Exp 8 Web基础 基础问题回答 实践过程记录 1.Web前端:HTML 2.Web前端:javascipt 3.Web后端:MySQL基础 ...

  2. Node.js 目录操作

    1.创建目录 mkdir 代码 demo1.js var fs = require('fs'); //创建目录 fs.mkdir('e:/nodeTest/dirTest',function(err) ...

  3. github免费私有仓库使用

    本文链接:https://blog.csdn.net/subfate/article/details/86147645github仓库前不久开放了个人私有仓库(原来要收费),个人使用无数量限制.对于想 ...

  4. myadmin不需要路劲提权之法

    //觉得很典型的案例,就转载过来了.很多时候phpmyadmin都需要路劲才能写shell.否则拿到了myadmin也是无奈. 查看mysql版本 select version(); 版本是5.1 大 ...

  5. ubuntu下编译和使用libxml2

    安装: #sudo apt-get install libxml2 #sudo apt-get install libxml2-dev sudo apt-get install libxml2-dev ...

  6. 011-多线程-JUC集合-Queue-PriorityBlockingQueue和DelayQueue

    一.PriorityBlockingQueue简介 PriorityBlockingQueue是一个支持优先级的无界阻塞队列.默认情况下元素采用自然顺序升序排列.也可以自定义类实现compareTo( ...

  7. 《最长的一帧》 osg3.4 osgViewer::View::init() osgViewer::Viewer::getContexts()

    开始:osgViewer/ViewerBase.cpp   389行,startThreading()函数,启动线程   void ViewerBase::startThreading() { if ...

  8. easyui datagrid设置一开始不加载数据

    解决办法就是:一开始的url属性设置为空,例如: <table id="dg" title="用户管理" class="easyui-datag ...

  9. Jquery异步请求数据实例代码

    一.Jquery向aspx页面请求数据 前台页面JS代码: 代码如下: $("#Button1").bind("click", function () { $. ...

  10. 求数值的n次方根

    二分法 float SqrtByBisection(float n) //用二分法 { if(n<0) //小于0的按照你需要的处理 return n; float mid,last; floa ...