maftools|TCGA肿瘤突变数据的汇总,分析和可视化

news/2024/11/28 22:01:16/

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

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

数据部分

#载入R包和数TCGA-LIHC的maf数据
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 Median1:             NCBI_Build       1     NA     NA2:                 Center       1     NA     NA3:                Samples     364     NA     NA4:                 nGenes   12704     NA     NA5:        Frame_Shift_Del    1413  3.893      36:        Frame_Shift_Ins     551  1.518      17:           In_Frame_Del     277  0.763      08:           In_Frame_Ins     112  0.309      09:      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

aaf9f8cb4c412047e450d611cce3d34c.png

laml_sampleSummary.txt

f3abae4f14c1da2ef9c2759bfc22829d.png

分析,可视化

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

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

f76d47ff74805f39aade7ca963c42a5c.png

2,绘制oncoplot图

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

a562e8ede14c2280c72c68ca70912b6b.png

添加SCNA信息,添加P值信息,添加临床注释信息,更改颜色等可参考 maftools | 从头开始绘制发表级oncoplot(瀑布图)

3,绘制Oncostrip

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

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

735e194e250f7579b8475eb62a8fe2bb.png

4 Transition , Transversions

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

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

1742f21f4bf173f956e0e82c9e5b6f1b.png

5 Rainfall plots

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

rainfallPlot(maf = laml, detectChangePoints = TRUE, pointSize = 0.6)

49504c16137eac8a274eab4f7d00ea2c.png

6 Compare mutation load against TCGA cohorts

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

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

f5289ea7d576617b4063d4cc4b087ed1.png

7 Genecloud

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

geneCloud(input = laml, minMut = 15)

522df79ba372f74e2af3140c4f0f88a0.png

8 Somatic 交互性

癌症中的许多引起疾病的基因共同发生或在其突变模式中显示出强烈的排他性。可以使用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:   AXIN1, TP53, CTNNB1 0.0001359059

 2:  TP53, CTNNB1, ARID1A 0.0017044866

 3:     AXIN1, TP53, APOB 0.0083559763

 4:      AXIN1, TP53, ALB 0.0166487594

 5: AXIN1, CTNNB1, ARID1A 0.0354069454

 6:      AXIN1, ALB, APOB 0.0503831670

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

9 两个队列比较(MAFs)

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

#输入另一个 MAF 文件
Our_maf <- read.csv("Our_maf.csv",header=TRUE)
our_maf = read.maf(maf = Our_maf)#比较最少Mut个数为5的基因
pt.vs.rt <- mafCompare(m1 = laml, m2 = our_maf, m1Name = 'LIHC', m2Name = 'OUR', minMut = 5)
print(pt.vs.rt)

e3230537bd70f4d87a0c8544e4dccec4.png

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

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

1) Forest plots

比较结果绘制森林图

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

4e24cac4a989b7b3b3e0ea9974173151.png

10 Oncogenic 通路

OncogenicPathways 功能查看显著富集通路

OncogenicPathways(maf = laml)
#会输出统计结果
Pathway alteration fractionsPathway  N n_affected_genes fraction_affected1:    RTK-RAS 85               68         0.80000002:        WNT 68               55         0.80882353:      NOTCH 71               52         0.73239444:      Hippo 38               30         0.78947375:       PI3K 29               24         0.82758626: Cell_Cycle 15               11         0.73333337:        MYC 13               10         0.76923088:   TGF-Beta  7                6         0.85714299:       TP53  6                5         0.8333333
10:       NRF2  3                2         0.6666667

15a3570e8900eed4f3666290546aea22.png

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

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

e5f5bf5420f30ed260b84a2e03b6391a.png

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

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

258e968ba2ef5852fae3f019a9d405df.png

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

3abb3b8766ae393c1dd38a18709e3512.png

GEO/TCGA数据

  • UCSC XENA - 集大成者(TCGA, ICGC)

  • ICGC数据库使用

  • TCGA数据库在线使用

  • BROAD开发的TCGA分析平台,强大的下载功能

  • cBioPortal功能强大的TCGA再分析平台

  • 这是数据更新最实时的TCGA网站,功能强大

  • 不懂R,如何进行GEO数据库表达谱的差异分析、富集分析、蛋白互作、可视化?

  • 典型医学设计实验GEO数据分析 (step-by-step) - Limma差异分析、火山图、功能富集

  • 典型医学设计实验GEO数据分析 (step-by-step) - 数据获取到标准化

  • 这个只需一步就可做富集分析的网站还未发表就被CNS等引用超过350次

  • 一个逆天的small RNA-seq数据挖掘神器

  • 用了这么多年的PCA可视化竟然是错的!!!

生信工具

  • OrthoMCL鉴定物种同源基因 (安装+使用)

  • 微生物组学数据分析工具综述 16S+宏基因组+宏病毒组+宏转录组

  • 39个转录组分析工具,120种组合评估(转录组分析工具哪家强-导读版)

  • 39个转录组分析工具,120种组合评估(转录组分析工具大比拼 (完整翻译版))

  • 无参转录组分析工具评估和流程展示

  • Graphpad,经典绘图工具初学初探

  • 维恩(Venn)图绘制工具大全 (在线+R包)

  • 别人的电子书,你的电子书,都在bookdown

  • Rfam 12.0+本地使用 (最新版教程)

  • 轻松绘制各种Venn图

  • ETE构建、绘制进化树

  • psRobot:植物小RNA分析系统

  • 生信软件系列 - NCBI使用

  • 掌握这个网站,万方、维普、CNKI等众多数据库文献统统可以免费下载!

  • 拿到基因两眼一抹黑?没关系,先做个基因富集分析吧!

  • 科研小萌新,掌握这些技巧,轻松玩转各个基因!

  • 引起相变的无序结构域(IDRs)怎么预测?跟踪热点,提升文章档次!

  • 如果你经常用PubMed,那么这个插件将非常好用!

  • 基于人工智能的文献检索,导师查找,更聪明

  • GeenMedical:文献查询、筛选、引用排序、相似文献、全文下载、杂志分区、影响因子、结果导出、杂志评述、直接投稿,一站服务

  • 如何快准狠地找到相关领域的经典文献?

  • Excel改变了你的基因名,30% 相关Nature文章受影响,NCBI也受波及

  • 这些基因的名字太有才了,研究一下都可以发10分文章

  • 文献检索新姿势,教你如何直搜文中的科研图片!

  • Endnote X8云同步:家里单位实时同步文献笔记,有网随时读文献

  • 还在慌?Endnote的个性化文献引用助毕业论文一臂之力

  • 参考文献中杂志名字格式混乱问题一次解决 - 修改style是没用的

  • 参考文献中杂志名字格式混乱问题一次解决

  • 实用网站和在线工具推荐

  • 在线浏览器,在线PS,在线AI,在线编程 …

  • Gephi轻松绘制超美网络图

  • 微生物组间差异分析神器-STAMP简明教程 中文帮助文档

  • 微生物网络构建:MENA, LSA, SparCC和CoNet  

  • FUNGuild:真菌功能注释

  • 在线RaxML构建系统发育树

  • MetaboAnalyst 4.0,代谢组学研究利器的升级

  • RepeatMasker:基因组重复序列注释

  • 基因组注释 1重复序列 2非编码和编码基因3功能注释Prokka

  • 去东方,最好用的在线GO富集分析工具

  • 超简便的国产lncRNA预测工具

  • LGC简单漂亮的在线生信绘图工具

  • MicrobiomeAnalyst:可视化微生物组网页工具

  • NAR:MicrobiomeAnalyst微生物组分析师——统计、可视化和元分析微生物组数据的网页工具

  • Docker的基本使用-Ubuntu18.04

  • Linux命令screen—终端切换,工作环境保存,画面同步,防断网

  • Bioconda软件安装神器:多版本并存、环境复制、环境导出

  • CIRCOS圈图绘制 - circos安装

  • QIIME2中文教程-把握分析趋势

  • 9个模块+40余款软件+老司机辣评 16S信息分析流程软件和数据库合集

  • 扩增子分析神器USEARCH 简介 v11新功能v11命令大全OTU表抽平otutab_rare核心OTU鉴定otutab_core

  • 扩增子分析神器VSEARCH 分析流程 2.8.1中文帮助文档

往期精品

画图三字经 生信视频 生信系列教程 

心得体会 TCGA数据库 Linux Python 

高通量分析 免费在线画图 测序历史 超级增强子

生信学习视频 PPT EXCEL 文章写作 ggplot2

海哥组学 可视化套路 基因组浏览器

色彩搭配 图形排版 互作网络

自学生信 2019影响因子 GSEA 单细胞 

后台回复“生信宝典福利第一波”获取教程合集

e27c2d2c1267e4778b450cee0491d373.png

3ca00d0aa7e0ac8ce3c4c1bc2e0267b2.png


http://www.ppmy.cn/news/966957.html

相关文章

新版TCGA的突变SNP数据添加临床信息

文章目录 加载数据和R包读取数据 今天给大家演示下如何用自己的数据完成maftools的分析&#xff0c;主要是snp文件和临床信息的制作&#xff0c;其实很简单&#xff0c;但是网络上的教程都说的不清楚。 这次我们直接用之前TCGA-COAD和TCGA-READ合并后的数据演示&#xff0c;合…

ChatGPT 增长逐渐放缓,不再能吞噬整个网络?

整理 | 陈静琳 责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; ChatGPT 的爆火&#xff0c;是昙花一现&#xff0c;还是未来可期&#xff1f; 近日&#xff0c;网站流量分析工具 Similarweb 针对 ChatGPT 目前的数据流量现状进行了一次深度的调研…

【饭谈-缓解焦虑】浅谈下目前AI【ChatGpt】现状和测试行业未来预测

最近关于chatgpt的新闻和功能真的是满天飞&#xff0c;比之前元宇宙还火爆&#xff0c;各种大佬纷纷发表了看法。你看着这些东西是不是变得越来越焦虑了&#xff1f;感觉自己马上就要失业了&#xff1f;感觉人类都要灭绝了&#xff1f;硅基生命真的要取代碳基了&#xff1f;但是…

ChatGPT资深提示工程师需要具备技能

ChatGPT是一种基于深度学习的生成式AI工具&#xff0c;可以根据给定的提示生成各种类型的文本&#xff0c;如对话、故事、文章、代码等。ChatGPT提示工程师是一种新兴的职业&#xff0c;他们负责设计和优化ChatGPT的输入和输出&#xff0c;以实现特定的目标和效果。 ChatGPT资…

关于C++的一些思考(摘自如何学好C++语言)

多问“为什么要这样”的问题。学习C一定要多问几个“为什么是这样”&#xff0c;“凭什么要这样”的问题。比如&#xff1a;很多人知道C有拷贝构造函数和初始化列表&#xff0c;但你真的知道为什么要有拷贝构造函数&#xff1f;为什么要有初始化列表吗&#xff1f;为什么要有te…

从Spring 应用上下文获取 Bean

ApplicationContext 提供了获取所有已经成功注入 Spring IoC 容器的 Bean 名称的方法 getBeanDefinitionNames() 。然后我们可以借助于其 getBean(String name) 方法使用 Bean 名称获取特定的 Bean。 我们使用 CommandLineRunner 接口来打印一下结果。 1.1 获取所有的 Bean im…

wordpress 检索分类 get_terms

用法 get_terms($taxonomies, $args )传递变量按 wp_parse_args()等函数所用的格式。 $myterms get_terms("orderbycount&amp;hide_emptyfalse"); $args array( orderby > name, order > ASC, hide_empty > true, exclude > array(), exclude_…

chatgpt赋能python:Python图片分辨率:一篇关于图像处理的SEO文章

Python 图片分辨率&#xff1a;一篇关于图像处理的SEO文章 Python 是一个备受赞誉的编程语言&#xff0c;它被广泛用于数据分析、机器学习、Web 开发&#xff0c;以及许多其他领域。另外&#xff0c;Python 还被广泛用于图片处理和图像分辨率。 在这篇SEO文章中&#xff0c;我…