TCGA|根据somatic mutation绘制突变景观图(oncoplot)和基因词云

简介: TCGA|根据somatic mutation绘制突变景观图(oncoplot)和基因词云

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


使用 XENA下载的TCGA-LAML.mutect2_snv.tsv文件绘制基因词云和突变景观图。


1.1 加载R包和数据

将XENA下载后的数据TCGA-LAML.mutect2_snv.tsv.gz解压,然后直接读入

#一键清空
rm(list = ls())
#载入R包
library(tidyverse)
#读入数据
mut <- read.table("TCGA-LAML.mutect2_snv.tsv",sep = "\t" , header = T,
                  stringsAsFactors = FALSE ,
                  check.names = FALSE)
head(mut,2)

1.2 计算基因频次,绘制词云

#计算每个基因出现的个数
mut2 <- mut %>% filter(effect %in% c("missense_variant","inframe_insertion")) %>%
 select(Sample_ID,gene) %>%
 group_by(gene) %>%
 summarise(Freq = n()) %>%
 arrange(desc(Freq))
head(mut2)
####绘制基因词云#####
library(wordcloud2)
#绘制频次大于等于5的
da <- subset(mut2,Freq >= 5) #、
wordcloud2(da)

1.3 maf文件绘制词云图

如果使用maftools中的maf文件绘制呢?首先根据maftools|TCGA肿瘤突变数据的汇总,分析和可视化得到了laml数据,那么可以用以下方式获得基因云图

library(wordcloud2)
data2 <- as.data.frame(table(laml@data$Hugo_Symbol))
da2 <- subset(data2,Freq >= 3) #3就是minMut参数的值
wordcloud2(da2)
二瀑布图(oncoplot)




2.1 提取基因

提取 1.2中突变频次较高的基因,进行绘制

mut3 <- mut %>% filter(gene %in% da$gene) %>%
 select(Sample_ID,gene,effect) %>%
 #只选择"missense_variant","inframe_insertion"两种类型
 filter(effect %in% c("missense_variant","inframe_insertion")) %>%
 unique()
#转成绘制热图的数据形式(宽型数据)
library(reshape2)
mut3_dcast <- mut3 %>% dcast(Sample_ID ~ gene,value.var='effect') %>%
 dplyr::select(Sample_ID, da$gene) %>%
 column_to_rownames("Sample_ID") %>%
 t()

2.2 ComplexHeatmap绘制突变景观图

library(ComplexHeatmap)
library(circlize)
mat <- mut3_dcast
mat[is.na(mat)]<-""
mat[1:6,1:6]
oncoPrint(mat)

2.3 景观图调整

#指定颜色, 调整颜色代码即可
col <- c( "missense_variant" = "blue" , "inframe_insertion" = "green")
#指定变异的样子,x,y,w,h代表变异的位置(x,y)和宽度(w),高度(h)
alter_fun <- list(
 background = function(x, y, w, h) {
   grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"),
             gp = gpar(fill = "#CCCCCC", col = NA))
},
 missense_variant = function(x, y, w, h) {
   grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"),
             gp = gpar(fill = col["missense_variant"], col = NA))
},
 inframe_insertion = function(x, y, w, h) {
   grid.rect(x, y, w-unit(0.5, "mm"), h*0.33,  
             gp = gpar(fill = col["inframe_insertion"], col = NA))
}
)
#指定变异类型的标签,和数据中的类型对应
heatmap_legend_param <- list(title = "Alternations",
                            at = c("missense_variant","inframe_insertion"),
                            labels = c( "missense_variant","inframe_insertion"))
#设定标题
column_title <- "This is Oncoplot "  
oncoPrint(mat,
         alter_fun = alter_fun, col = col,
         column_title = column_title,
         remove_empty_columns = TRUE, #去掉空列
         remove_empty_rows = TRUE, #去掉空行
         row_names_side = "left", #基因在左
         pct_side = "right",
         heatmap_legend_param = heatmap_legend_param)

更多参数参考ComplexHeatmap|根据excel表绘制突变景观图(oncoplot)


目录
打赏
0
0
0
0
21
分享
相关文章
OSS传输工具OSSutil使用介绍
本篇文章我们重点讲述一下传输工具Ossutil的使用: 若文件总量小于30T则建议使用ossutil,若大于30T建议使用
30642 1
基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法
本项目基于MATLAB2022A,使用模拟退火(SA)和蚁群优化(ACO)算法求解旅行商问题(TSP),对比两者的仿真时间、收敛曲线及最短路径长度。SA源于金属退火过程,允许暂时接受较差解以跳出局部最优;ACO模仿蚂蚁信息素机制,通过正反馈发现最优路径。结果显示SA全局探索能力强,ACO在路径优化类问题中表现优异。
几百T的视频、图片数据进行更有效地存储和管理
采用传统硬盘搭建存储方案,看起来成本低廉,但是再加上各种附加因素后却大幅攀升,而云存储厂商通常提供基于订阅的定价模型、一些免费服务和一定的折扣。现在,我们就来了解一下如何更省钱地使用云存储。
20211 43
几百T的视频、图片数据进行更有效地存储和管理
前端框架与库 - Angular基础:组件、模板、服务
【7月更文挑战第16天】Angular,谷歌维护的前端框架,专注构建动态Web应用。组件是核心,包含行为逻辑的类、定义视图的模板和样式。模板语法含插值、属性和事件绑定。服务提供业务逻辑,依赖注入实现共享。常见问题涉及组件通信、性能和服务注入。优化通信、性能并正确管理服务范围,能提升应用效率和质量。学习组件、模板和服务基础,打造高效Angular应用。
121 1
Nginx的反向代理功能有哪些应用场景呢
【8月更文挑战第22天】Nginx的反向代理功能有哪些应用场景呢
445 0
Sentieon | 应用教程:唯一分子标识符(UMI)
**Sentieon®工具通过UMI处理NGS数据,减少PCR误差和提高变异检测准确性。流程包括:umi extract(提取UMI标签),bwa mem对齐,umi consensus(创建一致性分子),再次对齐并排序。umi extract根据读取结构提取条形码,umi consensus生成共识Fastq,最终比对产生用于变异调用的BAM文件。该流程适用于体细胞突变检测,推荐使用TNscope®。日志提供质量控制信息,如组大小直方图和双工统计。**
163 1
推荐一款简单易用线上引流测试工具:GoReplay
推荐一款简单易用线上引流测试工具:GoReplay
559 0
推荐一款简单易用线上引流测试工具:GoReplay
数据之势丨云原生数据库,走向Serverless与AI驱动的一站式数据平台
在大模型席卷之下,历史的齿轮仍在转动,很多人开始思考,大模型能为数据库带来哪些改变。阿里云数据库产品事业部负责人李飞飞表示,数据库和智能化的结合是未来非常重要的发展方向,数据库的使用门槛将大幅降低。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等