本文首发于公众号“生信补给站”,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. js的鼠标右键简单菜单

    实现点击鼠标右键时出来菜单代码如下: 主要运用oncontextmenu事件,oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单. <!DOCTYPE html> ...

  2. 线程池 | Java多线程,彻底搞懂线程池

    熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了. 最近看了一些相关文章,并亲自研究了一下源码,发现有些文章还是有些问题的,所以我也总结了 ...

  3. maven install的时候把源码一起放到仓库

    在pom.xml中加入插件 <build>    <plugins>        <!-- Source attach plugin -->        < ...

  4. hwclock设置时间的调用过程是怎样的?

    调用过程如下: hwclock -w -> xioctl(RTC_SET_TIME); -> rtc_dev_ioctl() -> rtc_set_time()

  5. Spring Cloud Eureka集群部署到Linux环境

    还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...

  6. 一个link加载多个css文件

    细看正则时匹配慕课网链接时发现的,一个link加载多个css文件 http://static.mukewang.com/static/css/??base.css,common/common-less ...

  7. 123457123457#0#-----com.yimeng.wangZheChengYu01--前拼后广--成语头脑王者

    com.yimeng.wangZheChengYu01--前拼后广--成语头脑王者

  8. 开启windows ping端口功能

    1.打开控制面板,选择程序 2.选择打开和关闭windows功能 3.将Tenet客户端选项勾上 4.运行栏中输入cmd,进入到命令窗口 5.输入命令   ping    ip地址     端口号  ...

  9. Centos7安装php5.6并配置php-fpm协同工作

    yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum in ...

  10. c-lodop的三个进程和一个服务介绍

    在windows任务管理器里,最新版可以看到有三个进程,例如安32位c-lodop的时候,有CLodopPrint32.exe.CLodopPrint32_backup.exe.CLodopServi ...