前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >G3viz(r包)绘制基因棒棒糖图

G3viz(r包)绘制基因棒棒糖图

作者头像
生信技能树
发布于 2025-02-05 05:34:44
发布于 2025-02-05 05:34:44
19811
代码可运行
举报
文章被收录于专栏:生信技能树生信技能树
运行总次数:1
代码可运行

今天介绍个一款绘制基因棒棒图的软件于2020年2月发表在Bioinformatics杂志上,标题为:《G3viz: an R package to interactively visualize genetic mutation data using a lollipop-diagram》。G3viz是一个R软件包,可以直观且有效地可视化遗传突变数据能够帮助研究人员更好地理解基因组数据并验证发现,提供了一个易于使用的棒棒糖图工具。它使用户能够在RStudio或网页浏览器中交互式地可视化遗传突变的详细翻译效应,而无需掌握任何HTML5/JavaScript技术。

首先,还是老习惯,推荐大家去学习官网:https://g3viz.github.io/g3viz/。

前面已经介绍了三个软件:

G3viz 的功能特点包括:

  • 交互式功能:包括缩放、平移、工具提示、刷选以及交互式图例
  • 可突出显示和标记位置突变
  • 提供8种现成可用的图表主题
  • 个性化绘图:拥有超过50种图表选项以及35种以上的配色方案
  • 可将图表保存为PNG或高质量SVG格式
  • 内置功能用于检索蛋白质结构域信息以及解析基因异构体
  • 内置功能可将遗传突变类型(即变异分类)映射到突变类别
  • 集成支持通过API从cBioPortal检索癌症突变数据并进行可视化

安装一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## 使用西湖大学的 Bioconductor镜像
options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")
options("repos"=c(CRAN="https://mirrors.westlake.edu.cn/CRAN/"))
library(devtools)
# install from github
devtools::install_github("g3viz/g3viz")

绘图:小试牛刀

1、从MAF文件绘制基因突变棒棒图

突变注释格式(MAF)是一种常用的以制表符分隔的文本文件,用于存储汇总的突变信息。它可以通过像vcf2maf这样的工具从VCF文件生成。MAF文件中变异等位基因的翻译效应通常在名为Variant_Classification或Mutation_Type的列中(例如,Frame_Shift_Del,Splice_Site)。在本例中,TCGA-BRCA研究的体细胞突变数据最初是从GDC数据门户网站下载的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list=ls())
# load g3viz package
library(g3viz)

# System file
maf.file <- system.file("extdata", "TCGA.BRCA.varscan.somatic.maf.gz", package = "g3viz")
maf.file

# [1] "/usr/local/software/miniconda3/envs/R4.4/lib/R/library/g3viz/extdata/TCGA.BRCA.varscan.somatic.maf.gz"

mutation.dat <- readMAF(maf.file)
head(mutation.dat)
colnames(mutation.dat)
str(mutation.dat)

绘图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chart.options <- g3Lollipop.theme(theme.name = "default",
                                  title.text = "PIK3CA gene (default theme)")

g3Lollipop(mutation.dat,
           gene.symbol = "PIK3CA",
           plot.options = chart.options,
           output.filename = "default_theme")

2、从CSV or TSV文件绘制基因突变棒棒图

在这个例子中,从CSV或TSV文件中读取遗传突变数据,并使用一些可定制的图表选项进行可视化。请注意,这相当于使用了暗色主题的图表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# load data
mutation.csv <- system.file("extdata", "ccle.csv", package = "g3viz")
mutation.csv
# [1] "/usr/local/software/miniconda3/envs/R4.4/lib/R/library/g3viz/extdata/ccle.csv"

mutation.dat <- readMAF(mutation.csv,
                        gene.symbol.col = "Hugo_Symbol",
                        variant.class.col = "Variant_Classification",
                        protein.change.col = "amino_acid_change",
                        sep = ",")  # column-separator of csv file

# set up chart options
plot.options <- g3Lollipop.options(
  # Chart settings
  chart.width = 600,
  chart.type = "pie",
  chart.margin = list(left = 30, right = 20, top = 20, bottom = 30),
  chart.background = "#d3d3d3",
  transition.time = 300,
  # Lollipop track settings
  lollipop.track.height = 200,
  lollipop.track.background = "#d3d3d3",
  lollipop.pop.min.size = 1,
  lollipop.pop.max.size = 8,
  lollipop.pop.info.limit = 5.5,
  lollipop.pop.info.dy = "0.24em",
  lollipop.pop.info.color = "white",
  lollipop.line.color = "#a9A9A9",
  lollipop.line.width = 3,
  lollipop.circle.color = "#ffdead",
  lollipop.circle.width = 0.4,
  lollipop.label.ratio = 2,
  lollipop.label.min.font.size = 12,
  lollipop.color.scheme = "dark2",
  highlight.text.angle = 60,
  # Domain annotation track settings
  anno.height = 16,
  anno.margin = list(top = 0, bottom = 0),
  anno.background = "#d3d3d3",
  anno.bar.fill = "#a9a9a9",
  anno.bar.margin = list(top = 4, bottom = 4),
  domain.color.scheme = "pie5",
  domain.margin = list(top = 2, bottom = 2),
  domain.text.color = "white",
  domain.text.font = "italic 8px Serif",
  # Y-axis label
  y.axis.label = "# of TP53 gene mutations",
  axis.label.color = "#303030",
  axis.label.alignment = "end",
  axis.label.font = "italic 12px Serif",
  axis.label.dy = "-1.5em",
  y.axis.line.color = "#303030",
  y.axis.line.width = 0.5,
  y.axis.line.style = "line",
  y.max.range.ratio = 1.1,
  # Chart title settings
  title.color = "#303030",
  title.text = "TP53 gene (customized chart options)",
  title.font = "bold 12px monospace",
  title.alignment = "start",
  # Chart legend settings
  legend = TRUE,
  legend.margin = list(left=20, right = 0, top = 10, bottom = 5),
  legend.interactive = TRUE,
  legend.title = "Variant classification",
  # Brush selection tool
  brush = TRUE,
  brush.selection.background = "#F8F8FF",
  brush.selection.opacity = 0.3,
  brush.border.color = "#a9a9a9",
  brush.border.width = 1,
  brush.handler.color = "#303030",
  # tooltip and zoom
  tooltip = TRUE,
  zoom = TRUE
)

g3Lollipop(mutation.dat,
           gene.symbol = "TP53",
           protein.change.col = "amino_acid_change",
           btn.style = "blue", # blue-style chart download buttons
           plot.options = plot.options,
           output.filename = "customized_plot")

上面这个设置也太多了,应该都是默认参数:

3、从cBioPortal读取数据绘制基因突变棒棒图

cBioPortal 提供了许多癌症基因组数据集的下载。G3viz 有一种便捷的方式可以直接从该门户网站检索数据。

在这个例子中,首先检索 msk_impact_2017 研究中 TP53 基因的遗传突变数据,然后使用内置的 cbioportal 主题对数据进行可视化,以模拟cBioPortalmutation_mapper功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Retrieve mutation data of "msk_impact_2017" from cBioPortal
mutation.dat <- getMutationsFromCbioportal("msk_impact_2017", "TP53")
mutation.dat

# "cbioportal" chart theme
plot.options <- g3Lollipop.theme(theme.name = "cbioportal",
                                 title.text = "TP53 gene (cbioportal theme)",
                                 y.axis.label = "# of TP53 Mutations")

g3Lollipop(mutation.dat,
           gene.symbol = "TP53",
           btn.style = "gray", # gray-style chart download buttons
           plot.options = plot.options,
           output.filename = "cbioportal_theme")

今天这个软件还不错,快去试试看!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
666
666
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
统信服务器操作系统【Nginx 编译安装】
Nginx是一款轻量级的开源、高性能的Web 服务器和反向代理服务器及电子邮件(IMAP/POP3)服务器。Nginx支持该可用架构部署,支持在不间断服务的情况下对软件版本进行热更新,其占用内存少、并发能力强、能支持高达 5w 个并发连接数。
Kevin song
2024/05/11
9720
统信服务器操作系统【Nginx 编译安装】
nginx点播mp4模块
如何通过浏览器直接播放MP4呢?换句话说就是使nginx增加一个可以播放MP4的模块----模块ngx_http_mp4_module为H.264/AAC文件,主要是以 .mp4、.m4v、和.m4a为扩展名的文件,提供伪流媒体服务端支持。
summerking
2022/10/27
1.8K0
nginx点播mp4模块
Nginx安装fair模块
官方github下载地址:https://github.com/gnosek/nginx-upstream-fair 我已经放到了百度网盘,可以直接下载
互联网-小阿宇
2022/11/21
5660
Nginx安装fair模块
如何使用Nginx对Artifactory进行http应用
在我们日常使用高可用集群时,都会使用到负载均衡工具对多个节点的负载进行转发。这里就不得不提到我们常用的一个负载均衡工具Nginx,Nginx官方提供的免费版本功能相对简单,大部分情况下我们都是用其进行负载均衡,对于应用的状态主要是依赖于其他的监控工具。如果对于小型的团队来说,部署专门的监控工具还需要资源,使用Nginx对应用进行探活监控可以节约这部分成本。
JFrog杰蛙科技
2021/06/18
1.6K0
如何使用Nginx对Artifactory进行http应用
如何在生产环境中不停机升级 nginx、或者不停机引入 nginx 第三方模块
在引入第三方模块pagespeed 的时候,查阅了官网发现,引入第三方需要重新安装升级,还有就是通过 yum install 加载进去。
sinsy
2020/11/18
1.5K0
如何在生产环境中不停机升级 nginx、或者不停机引入 nginx 第三方模块
Nginx添加模块http_image_filter_module实现图片缩略图功能
比如我的是1.12.2 下载地址http://nginx.org/download/nginx-1.12.2.tar.gz
码客说
2020/06/15
4.7K0
nginx动态添加模块
有时候我们在环境部署nginx时,由于环境初期较简单,随着后期业务发展,需要的功能越来越多时,可能我们最开始编译安装的nginx已经无法满足我们现在的需求了,比如说,我们想使用nginx的缓存功能,想使用nginx的连接限制模块等,这时我们就需要在不覆盖之前已经编译好的nginx来动态添加所需的模块了。
dogfei
2020/07/31
2.2K0
Nginx编译安装
​ nginx 日志文件分为 log_format 和 access_log 两部分
Cyylog
2020/08/19
2.2K0
每个Linux用户必须知道的10个最常用的Nginx命令
Nginx(发音为Engine x)是一个免费的,开源的,高性能,可扩展,可靠,功能齐全且流行的HTTP和反向代理服务器,邮件代理服务器和通用TCP/UDP代理服务器。
星哥玩云
2022/07/26
9720
每个Linux用户必须知道的10个最常用的Nginx命令
yum安装的nginx添加http3
安装编译环境 dnf install gcc gcc-c++ pcre-devel openssl-devel zlib-devel cmake make go 克隆nginx http3依赖库 $ git clone https://gitee.com/fenghuolingyun/boringssl.git 配置编译依赖 cd boringssl mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. 配置发布稳定版本 默认使用`cmake .
峨眉山市雅铭网络
2022/03/07
9160
手动编译nginx且添加echo lua brotli模块支持
这几天在家出不去门,没事干就重新部署了更新了服务器的环境与架构.但是之前用的nginx-openresty功能太复杂了,我也用不上.
小柒吃地瓜
2020/04/22
1.2K0
Tengine 安装配置
“Tengine是由淘宝网发起的Web服务器项目。它在Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网 ,天猫商城 等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。”
用户2458545
2022/09/07
6450
Tengine 安装配置
Nginx 整合 FastDFS 实现文件服务器
本篇衔接《FastDFS 环境搭建》内容进行讲解,上篇文章我们实现了图片上传的功能,但是无法通过 http 进行访问,本篇将解决该问题。
IT技术小咖
2019/06/26
8790
Nginx 整合 FastDFS 实现文件服务器
Linux安装Nginx1-基于yum安装
安装之前查看端口,默认nginx使用的80端口,如果80端口已经占用启动过程中可能会报错,针对端口占用情况,可以停止占用端口的服务或者nginx改用其他端口启动,停用和改端口方法不再本文介绍
凯哥Java
2022/12/16
3.2K0
Linux安装Nginx1-基于yum安装
linux下编译安装nginx完整版
0x01 Nginx有哪些优点 更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应; 另一方在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请 高扩展性 Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极 低的模块组成。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,无须 在意其他。 高可靠性 Nginx的高可靠性来自于其核心框架代码 的优秀设计、模块设计的简单性;官方提供的常用模块都非常稳定,每个worker进
小柒吃地瓜
2020/04/23
15.6K1
nginx升级1.9,支持tcp代理的stream模块
回忆:坑的来源 外网服务器nginx一直用的好好的,主要用于http代理和反代理,忽然有一天,客户想要外网访问内网的kafka,这样就必须 要支持tcp转发了,好吧,开始操作
零式的天空
2022/03/25
1.6K0
nginx安装脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6
dogfei
2020/07/31
6950
Nginx 目录列表美化
本文链接:https://lisz.me/tech/webmaster/ngx-fancyindex.html
zhonger
2022/10/28
8500
Nginx反向代理小记-附域名劫持案例
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
Jumbo
2018/10/23
2.1K0
Nginx反向代理小记-附域名劫持案例
Centos7下Nginx编译安装与脚本安装的记录
yum install -y wget make cmake gcc gcc-c++ \
菲宇
2022/12/21
3630
Centos7下Nginx编译安装与脚本安装的记录
相关推荐
统信服务器操作系统【Nginx 编译安装】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验