本文首发于公众号“生信补给站”,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. RK3288 st7703 mipi屏指令过长,程序跑飞

    本文为博主原创文章,转载请注明出处:https://www.cnblogs.com/lialong1st/p/11218433.html CPU:RK3288 系统:Android 5.1 调试 mi ...

  2. C# 客户端网络请求 对HttpClient的封装

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/a1037949156/article/d ...

  3. Cesium获取经度 ,纬度,高度

    实例代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. Code First 迁移----官方 应用程序启动时自动升级(MigrateDatabaseToLatestVersion 初始值设定项)

    Code First 迁移 如果使用的是 Code First 工作流,推荐使用 Code First 迁移改进应用程序的数据库架构. 迁移提供一组允许以下操作的工具: 创建可用于 EF 模型的初始数 ...

  5. android: requestLayout(), invalidate(), postInvalidate() 方法区别

    一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调用,postInvalidate在非UI线程中调用.因为androi ...

  6. Docs-.NET-C#-指南-语言参考-预处理器指令:#if 预处理指令

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#if 预处理指令 1.返回顶部 1. #if(C# 参考) 2018/06/30 如果 C# 编译器遇到 #if 指令,最终是 ...

  7. angular 中的[ngClass]、[ngStyle]

    <div style="text-align:center"> <h1> Welcome to {{ title }}! </h1> </ ...

  8. 创建Bitmap之BitmapFactory

    package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...

  9. C语言中的异常处理

    一 前言: 异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有 try { ... } catch( Exception e){...} finally{ ..... } 在C++ ...

  10. 阶段5 3.微服务项目【学成在线】_day18 用户授权_09-动态查询用户的权限-认证服务查询用户权限

    认证服务查询用户权限 如果权限为空就New一个对象出来. 因为如果为空的话 下面 forEach就会报空指针的异常 启动服务测试 重新登陆 看到userExt已经获取到了用户的权限 权限的字符串 复制 ...