前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R优雅的自定义绘制代谢通路图

R优雅的自定义绘制代谢通路图

作者头像
R语言数据分析指南
发布于 2022-12-20 11:58:14
发布于 2022-12-20 11:58:14
72600
代码可运行
举报
运行总次数:0
代码可运行

❝最近看到一个非常好的案例来分享一下,使用igraph,ggraph等R包来自定义绘制代谢通路pathway, 原文文档链接见下方,数据可自行去官网下载。代码过程很是简洁,当然难点也许在于构建边文件与点文件。 这需要各位观众老爷细细品味 ❞

原文文档

❝https://github.com/cxli233/ggpathway❞

加载R包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
library(igraph)
library(ggraph)
library(readxl)
library(viridis)
library(RColorBrewer)
library(rcartocolor)

构建边数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example1_edge_table <- tribble(
  ~from, ~to,  ~label,
  "Glc6P", "6P-gluconolactone",  "Glc6PHD",
  "6P-gluconolactone", "6P-glucoconate",  "6P-gluconolactonase",
  "6P-glucoconate", "Ru5P", "6P-gluconateDH"
)
# 构建点数据
example1_nodes_table <- tribble(
  ~name, ~x,  ~y,
  "Glc6P", 1, 0,
  "6P-gluconolactone", 2, 0,  
  "6P-glucoconate", 3, 0,
  "Ru5P", 4, 0
)

文件整合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example1_network <- graph_from_data_frame(
  d = example1_edge_table,
  vertices = example1_nodes_table,
  directed = T
)

绘制基础通路图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggraph(example1_network, layout = "manual", 
       x = x, y = y) +
  geom_node_text(aes(label = name), hjust = 0.5) +
  geom_edge_link(aes(label = example1_edge_table$label), 
                 angle_calc = 'along',
                 label_dodge = unit(2, 'lines'),
                 arrow = arrow(length = unit(0.5, 'lines')), 
                 start_cap = circle(4, 'lines'),
                 end_cap = circle(4, 'lines')) +
  theme_void()  

绘制PPP代谢途径

导入数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example2_edges <- read_excel("OPPP_edges.xlsx")
example2_nodes <- read_excel("OPPP_nodes.xlsx")
构建新标签
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example2_nodes <- example2_nodes %>% 
  mutate(label = str_remove(name, "_\\d"))

文件整合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example2_network <- graph_from_data_frame(
  d = example2_edges,
  vertices = example2_nodes,
  directed = T)

绘制PPP代谢途径图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggraph(example2_network, layout = "kk") +
  geom_node_point(size = 3, aes(fill = as.factor(carbons)), 
                  alpha = 0.8, shape = 21, color = "grey20") +
  geom_node_text(aes(label = label), hjust = 0.5, repel = T) +
  geom_edge_link(label_dodge = unit(2, 'lines'),
    arrow = arrow(length = unit(0.4, 'lines')), 
    start_cap = circle(1, 'lines'),
    end_cap = circle(2, 'lines')) +
  scale_fill_manual(values = carto_pal(7, "Vivid")) +
  labs(fill = "Carbons") +
  theme_void()  

TCA途径

导入数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example3_edges <- read_excel("TCA_cycle_edges.xlsx")
example3_nodes <- read_excel("TCA_cycle_nodes.xlsx")

构建标签文本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example3_nodes <- example3_nodes %>% 
  mutate(label = str_remove(name, "_\\d"))

整合数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
example3_network <- graph_from_data_frame(
  d = example3_edges,
  vertices = example3_nodes,
  directed = T)

绘制TCA途径图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggraph(example3_network, layout = "manual",
       x = x, y = y) +
  geom_node_point(size = 3, aes(fill = as.factor(carbons)), 
                  alpha = 0.8, shape = 21, color = "black") +
  geom_edge_link(arrow = arrow(length = unit(0.4, 'lines')), 
                 start_cap = circle(0.5, 'lines'),
                 end_cap = circle(0.5, 'lines'), 
                 width = 1.1, alpha = 0.5) +
  geom_node_text(aes(label = label), hjust = 0.5, repel = T) +
  annotate(geom = "text", label = "TCA Cycle", 
           x = 0, y = 0, size = 5, fontface = "bold") +
  scale_fill_manual(values = carto_pal(7, "Vivid")) +
  labs(fill = "Carbons") +
  theme_void() +
  coord_fixed()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
GitHub 热榜:文字识别神器,超轻量级中文 OCR!
光学字符识别(OCR)技术已经得到了广泛应用。比如发票上用来识别关键字样,搜题 App 用来识别书本上的试题。
GitHubDaily
2020/03/19
2.9K0
GitHub开源:17M超轻量级中文OCR模型、支持NCNN推理
近期GitHub上一位大神开源了一个叫做chineseocr_lite的OCR的项目,这是一个超轻量级中文OCR,支持竖排文字识别、NCNN推理,识别模型型仅17M(Psenet (8.5M) + crnn (6.3M) + anglenet (1.5M))。
不脱发的程序猿
2021/01/20
2.6K0
超轻量级中文OCR,支持竖排文字识别、ncnn推理,总模型仅17M
光学字符识别(OCR)技术已经得到了广泛应用。比如发票上用来识别关键字样,搜题App用来识别书本上的试题。
AI科技大本营
2020/03/17
4.1K0
实测超轻量中文OCR开源项目,总模型仅17M
光学字符识别(OCR)现在已经有很广泛的应用了,很多开源项目都会嵌入已有的 OCR 项目来扩展能力,例如 12306 开源抢票软件,它就会调用其它开源 OCR 服务来识别验证码。很多流行的开源项目,其背后或多或少都会出现 OCR 的身影。
OpenCV学堂
2020/03/10
1.9K0
实测超轻量中文OCR开源项目,总模型仅17M
腾讯发布推理框架TNN全平台版本,同时支持移动端、桌面端和服务端
TNN是腾讯开源的新一代跨平台深度学习推理框架,也是腾讯深度学习与加速Oteam云帆的开源协同成果,由腾讯优图实验室主导,腾讯光影研究室、腾讯云架构平台部、腾讯数据平台部等团队一起协同开发。在经过4个多个月的迭代完善后,TNN新版本v0.3版本正式发布,是首个同时支持移动端、桌面端、服务端的全平台开源版本。TNN新版本在通用性、易用性、性能方面进一步获得提升。
优图实验室
2021/04/28
2.2K0
腾讯发布推理框架TNN全平台版本,同时支持移动端、桌面端和服务端
腾讯发布推理框架TNN全平台版本,同时支持移动端、桌面端和服务端
TNN是腾讯开源的新一代跨平台深度学习推理框架,也是腾讯深度学习与加速Oteam云帆的开源协同成果,由腾讯优图实验室主导,腾讯光影研究室、腾讯云架构平台部、腾讯数据平台部等团队一起协同开发。在经过4个多个月的迭代完善后,TNN新版本v0.3版本正式发布,是首个同时支持移动端、桌面端、服务端的全平台开源版本。TNN新版本在通用性、易用性、性能方面进一步获得提升。 TNN地址: https://github.com/Tencent/TNN 01 通用性 在保证模型统一、接口统一的前提下,依托于硬件厂商提供的加
腾讯开源
2021/04/29
1.9K0
GitHub 热点速览 Vol.11:回暖的 GitHub 迎来上千星的图片流项目
作者:HelloGitHub-小鱼干 摘要:连着两周成绩平平的 GitHub Trending 榜,终于和三月的天气一样进入全面变暖的模式,无论是本周刚开源搭乘 ocr 热点并获得 1,500+ star 的 chineseocr_lite,还是借着国外疫情大爆发这股“东风”一周获得近 5,000+ star 的可视化项目 COVID-19,或是 Google Drive 升级版可备份的云盘项目 MyDrive 都交上了不错的成绩单,500,1,000,2,000…这是本周 GitHub 新生项的成绩单,当
HelloGitHub
2021/05/14
7060
Pytorch转NCNN的流程记录
最近有一个比较火的ocr项目:chineseocr_lite[1],项目中很贴心地提供了ncnn的模型推理代码,只需要
带萝卜
2020/10/26
2.7K0
截屏、文字提取一气呵成,超实用OCR开源小工具
今天我们就为大家介绍一款 GitHub 用户 ianzhao05 刚发布的小工具——textshot,只需要截屏就能实时生成文字。读者也可以通过此项目大致了解如何对图像中的文本进行识别。
OpenCV学堂
2020/06/04
3.3K0
【AI模型】AI模型部署概述
在AI深度学习模型的训练中,一般会用Python语言实现,原因是其灵活、可读性强。但在AI模型实际部署中,主要会用到C++,原因在于其语言自身的高效性。
DevFrank
2024/07/24
7691
计算机视觉深度学习训练推理框架
前言 本文整理了一些深度学习训练推理框架,涉及计算机视觉、语音、时序任务上的框架,共计20多种。
小白学视觉
2025/02/05
1770
计算机视觉深度学习训练推理框架
它会不会成为OCR领域霸主?经过一个月的分析,我得出了这些结论
文章目录 《这是我见过最强的OCR开源算法模型了》 前言 一、来吧,展示! 二、OCR简介 (一)什么是OCR (二)应用举例 (三)OCR难点 三、PaddleOCR介绍 (一)总结介绍 (二)相关地址总结 四、PaddleOCR的使用 (一)PaddleOCR项目介绍 (二)测试自己的数据 五、多维度对比分析 (一)教程的完备性对比 (二)易用性对比 (三)运行速度对比 (四)精度对比 (五)多角度对比 (六)其他分析 六、总结 《这是我见过最强的OCR开源算法模型了》 前言 最近参加“中国软件杯”的一
手撕代码八百里
2020/10/26
3.5K2
Paddle Lite特性全解读,多硬件支持、轻量化部署等亮点频现
在技术革新的浪潮下,智能硬件结合人工智能越来越广地进入了我们的生活。小到智能手机、手表,大到智能交通系统、工业自动检测平台等,无不渗透了人工智能的威力。此外,为人工智能深度学习定制的硬件近年来也有井喷之势。人工智能在多种服务平台,多种硬件下得到了越来越多的应用。这里的应用一般指的是深度学习模型在实际场景中的推理计算。虽然硬件的快速发展带来了计算性能的提升,但多样化的硬件平台也给应用开发带来了挑战。同时,对深度学习任务而言,实际应用中的算力和内存的限制仍然显得非常苛刻。
用户1386409
2019/09/27
9060
轻量级深度学习端侧推理引擎 MNN,阿里开源!
数说君导读:MNN,Mobile Neural Network,用于在智能手机、IoT设备等端侧加载深度神经网络模型,进行推理预测。支持 Tensorflow、Caffe、ONNX 等主流模型格式,支持 CNN、RNN、GAN 等常用网络。这是阿里开源的首个移动AI项目,已经用于阿里手机淘宝、手机天猫、优酷等20多个应用之中。覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景。在IoT等移动设备场景下,也有若干应用。
数说君
2019/05/17
7.2K0
轻量级部署,腾讯优图开源深度学习推理框架TNN
一方面,它以「授人以渔」的方式为 AI 构建了一个开放共进的生态环境,帮助行业加速 AI 应用落地;另一方面,在解决行业实际问题时实现持续更新和迭代,源源不断地给 AI 领域输送重要的技术养料和创造力。可以说「开源」是 AI 落地和繁荣不可或缺的源动力。
机器之心
2020/06/16
1.4K0
轻量级部署,腾讯优图开源深度学习推理框架TNN
贾扬清推荐:阿里开源轻量级深度学习框架 MNN,侧重推理加速和优化
MNN 是一个轻量级的深度学习端侧推理引擎,核心解决深度神经网络模型在端侧推理运行问题,涵盖深度神经网络模型的优化、转换和推理。目前,MNN 已经在手淘、手猫、优酷、聚划算、UC、飞猪、千牛等 20 多个 App 中使用,覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景,每天稳定运行上亿次。此外,菜鸟自提柜等 IoT 设备中也有应用。在 2018 年双十一购物节中,MNN 在天猫晚会笑脸红包、扫一扫明星猜拳大战等场景中使用。
新智元
2019/05/15
3.2K0
贾扬清推荐:阿里开源轻量级深度学习框架 MNN,侧重推理加速和优化
AiDB: 一个集合了6大推理框架的AI工具箱 | 加速你的模型部署
本文介绍了一个开源的AI模型部署工具箱--AiDB。该项目使用C++开发,将主流深度学习推理框架抽象成统一接口,包括ONNXRUNTIME、MNN、NCNN、TNN、PaddleLite和OpenVINO,支持Linux、MacOS、Windows、Android、Webassembly等平台。AiDB提供C/C++/Python/Lua等多种API接口。并且提供多种场景的部署实例Demo(Server、PC、Android等)。目前,AiDB集成了数十个开源算法(如Yolo系列、MobileSAM等),约300个模型,并且持续更新。
BBuf
2023/09/19
1.2K0
AiDB: 一个集合了6大推理框架的AI工具箱 | 加速你的模型部署
安卓端深度学习模型部署-以NCNN为例
https://github.com/Arctanxy/DeepLearningDeployment/tree/master/SimplestNCNNExample
带萝卜
2020/10/23
3.7K0
安卓端深度学习模型部署-以NCNN为例
图像OCR技术实践,让前端也能轻松上手图像识别
首先和大家演示一下实现的效果,我们的最终目标是基于一张图片,通过技术的手段自动提取图片的信息,并展示到文档中,提高文档编写的效率。
徐小夕
2024/06/18
3840
图像OCR技术实践,让前端也能轻松上手图像识别
OCR光学字符识别方法汇总
文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
小白学视觉
2022/04/06
1.9K0
OCR光学字符识别方法汇总
推荐阅读
相关推荐
GitHub 热榜:文字识别神器,超轻量级中文 OCR!
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 原文文档
  • 加载R包
  • 构建边数据
  • 文件整合
  • 绘制基础通路图
  • 绘制PPP代谢途径
    • 构建新标签
  • 文件整合
  • 绘制PPP代谢途径图
  • TCA途径
  • 构建标签文本
  • 整合数据
  • 绘制TCA途径图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档