drawCell | 不会画细胞结构图就用这个R包吧~ Super Nice!~

news2025/1/21 12:03:30

1写在前面

我们在paper中经常需要画到细胞结构图,新手ppt一点一点画,高手可能会用AI手搓,土豪直接使用BioRender。🤒

今天给大家大家分享一个代码画细胞结构图R包,如果你觉得自己不会写代码,不想看了,那你就错过了哦。😜

这个R包还开发了shiny,实现交互,鼠标点点就可以完成。🤩

真希望有一天开发出个AI,人们描绘一下要画什么样的图,就有了,而且还特别有创意,解放我等科研狗的双手。🤣

2用到的包

rm(list = ls())
# devtools::install_github("svalvaro/drawCell")
library(drawCell)
library(tidyverse)

3Shiny交互式绘图

3.1 开启Shiny

现在做Shinyapp的越来越多了,方便大家的使用。😙
这里也是一样的,大家运行下面这段代码,开启Shiny。🤠

drawCell::drawCellShiny()
alt

3.2 选择细胞类型

这里我们做几个示范吧,都很简单。🐶

alt

大家可以选择自己需要的细胞类型,还是挺多的,这个包是基于SwissBioPics API开发的,所以图片都是来自SwissBioPics:👇
https://www.swissbiopics.org/

alt

3.3 标记细胞核

我们试着点一下细胞核,这样就标记上了。🤪

alt

3.4 换个颜色

接着我们试试换一下颜色,这里貌似不能直接输入色号,是个问题。🤨

alt

3.5 标记线粒体

最后再标记一下线粒体,然后就download你的图片吧。😘

alt

alt

4代码实现绘图

4.1 示例一

我们试着标记人类细胞的内质网线粒体高尔基体吧。🤩
颜色的话大家可以去各种取色网站获取,挑选你自己的心头好。😉

drawCell(organism_identifier = '9606', 
list_sl_colors = list("SL0173" = "#00337C", "SL0101" = "#03C988","SL0135" = "#FEC868"))
alt

4.2 示例二

画个肌细胞吧,我们标记一下肌纤维线粒体细胞桥粒。😜

drawCell(organism_identifier = '6072', 
list_sl_colors = list("SL0312" = "#579BB1", "SL0173" = "#58287F", "SL0092" = "#FBC252"))
alt

4.3 示例三

最后再画个神经元,我们标记一下髓鞘细胞核高尔基体。😜

drawCell(organism_identifier = '6072',
list_sl_colors = list("SL0176" = "#C0DEFF", "SL0191" = "#2B3467", "SL0135" = "#FAAB78"))
alt

5补充一下

5.1 物种ID

大家在寻找你需要的物种时,可能不知道对应的代号是什么,其实这个是基于taxonomy id,大家可以在下面这里查到:👇

https://www.ncbi.nlm.nih.gov/taxonomy/

alt

5.2 亚细胞结构ID

对于需要标记的亚细胞结构,如细胞核线粒体等,对应的SL codes可以在这里Uniprotuniprotkb_sl2go找到:👇

1️⃣ https://www.uniprot.org/help?query=subcell

alt

2️⃣ http://current.geneontology.org/ontology/external2go/uniprotkb_sl2go

alt

alt
最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python基础篇之元组、字典(增删改查)

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm1000.2115.3001.5343 哔哩哔哩欢迎关注&…

震旦ad188复印机报机器故障维修召唤c0211

故障现象: 手送走纸的机器出现嗒嗒的异响,走几张还会跳0211,经常出现卡纸等现象,或者报C0211; 故障分析: 维修召唤C0211可能是感光鼓和载体寿命到期࿰

云原生|Java二级高速缓存架构设计

为什么使用缓存 缓存,主要有两个用途:提高服务性能和并发。 缓存是提高服务响应速度最快的方式之一。 我们设计缓存的目的是减少用户直接访问磁盘、访问网络带来的性能损耗,把磁盘、网络请求的内容存在在内存中,提升应用程序的…

【Doris】Doris数据库最新版安装方法,详细图文教程

环境安装 Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 Doris 的高可用特性,我们建议 Doris 的部署遵循以下需求: Linux 操作系统版本需求Linu…

研讨会回顾 | UI自动化测试现场演示

2022年12月6日,龙智与软件测试自动化“领导者”SmartBear联合举办了主题为“如何通过自动化测试实现降本、增效与提质”的在线研讨会。此次研讨会中,龙智技术工程师邱洁玉现场演示了使用UI自动化测试的过程,并简要介绍了API的自动化测试。 软…

时钟频率与时间单位的换算

1. 频率、时间 各自的单位的关系 频率: 1GHz 1000MHz、1MHz 1000KHz、1KHz 1000Hz 1GHz 103MHz 106KHz 109Hz 时间: 1s 1000ms、1ms 1000μs、1μs 1000ns [注]:s (秒)、ms (毫秒)、μs (微秒)、ns (纳秒)。 2. 时间 和 频率 的换…

jsp税务管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 税务管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发,数据库为Mysql,使用ja…

【SpringCloud10】OpenFeign服务接口调用

1.概述 1.1OpenFeign是什么 官网 Feign是一个声明式WebService客户端,使用Feign能让编写Web Service客户端更加简单。 它的使用方法是定义一个服务接口然后在上面添加注解,Feign也支持可拔插式的编码器和解码器,Spring Cloud对Feign进行了…

设计模式-JDBC中的桥接模式

一、首先看整个brige模式的结构图。如下:Abstraction — 抽象化角色:定义抽象的接口,包含一个对实现化角色的引用Refined Abstraciotn — 扩展抽象化角色:抽象化角色的子类,实现父类中的业务方法,并通过组合…

录屏专家怎么用?录屏软件使用教程(附下载)

想要更好地录制电脑屏幕可以使用电脑录屏专家,但有很多人在安装录屏专家之后,不知道如何使用。录屏专家怎么用?怎样使用录屏专家录制电脑屏幕?下面小编给您分享录屏软件使用的教程(附安装教程),…

RabbitMQ实战:性能和安全

本系列是「RabbitMQ实战:高效部署分布式消息队列」书籍的总结笔记。 前两篇介绍了RabbitMQ在可用性、监控方面的考虑,这是基础保障,因为在某些场景下是不容许丢失消息的,但它和性能往往是对立的,需要根据业务场景做取舍…

JSP SSM众包网站系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP SSM众包网站系统 是一套完善的系统源码,对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档,系统主要采用B/S模式开发。 研究的基本内容…

JUC并发编程学习笔记——CAS个人理解

1. CAS引出 1.1 悲观锁 顾名思义,就是比较悲观的锁,总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只…

什么是 HTTP?

什么是 HTTP? 超文本传输协议 (HTTP) 是万维网的基础,用于通过超文本链接加载网页。HTTP 是应用程序层协议,旨在在联网设备之间传输信息,并在网络协议栈的其他层之上运行。HTTP 上的典型流涉及客户端计算机向服务器发出请求&…

2023CUPT第十四题 射流的折射 思路与解法

文章未完首先声明一点,这个题我还没想好最后的答案,欢迎交流(备注:博主今年不参加CUPT 博主去做电子设计大赛了!有电赛谁还玩CUPT啊)声明2:博主没有学过流体力学所以。。声明3:博主的…

[oeasy]python0045_转化为10进制数_int_integrate_integer_entire_整数

转化为10进制 回忆上次内容 上这次总结了四种进制 函数名对应单词进制类型数字事例前缀bin()binary20b11000010boct()octal80o1410ohex()hexadecimal160x610x?decimal1097无 十进制数 可以转化 为 其他进制 的 字符串状态 那反过来 其他进制形态的字符串 可以转化回 10进制…

Qt 自带标题处理方法思路

目录 需求 相关方法也有两种 1.只需要继承QAbstractNativeEventFilter类,从写放nativeEventFilter,并调用安装函数installNativeEventFilter 2.第二种是Qt提供的继承QWidget 重写bool nativeEvent(const QByteArray &eventType, void *message, …

RocketMQ事务消息原理简析

零、业务场景 在项目中,经常遇到这样一个场景,需要保证数据持久化和消息发送要么同时成功,要么同时失败。比如当用户在交易系统下了一个订单,购物车需要消费订单消息清除加购数据、积分系统需要变更用户积分、短信平台需要给买家…

如何选择显示检波器

之所以介绍频谱仪的显示检波器,是因为在宽带信号功率测试、功率谱密度测试及相噪测试等应用中,对显示检波器的选择有一定的要求。如果选择的检波器不合适,那么将无法准确完成测试。本文的目的也是想让初学者对这一块内容有更多的认识&#xf…

新手运营适合哪个跨境电商平台

很多企业的网站被收录却没有排名,关键词优化不上去,网站也没有什么流量,不断更新文章,即使是原创,也排不上去,这究竟是由于哪些原因造成的呢?米贸搜作为专业的SEO平台,整理了以下几种…