Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言实现蛋白质示意图绘制

R语言实现蛋白质示意图绘制

作者头像
一粒沙
发布于 2021-09-15 03:29:58
发布于 2021-09-15 03:29:58
2.2K00
代码可运行
举报
文章被收录于专栏:R语言交流中心R语言交流中心
运行总次数:0
代码可运行
今天给大家介绍一个通过uniprot数据库API进行蛋白质示意图的绘制的R包drawProteins。通过这个包可以进行蛋白质域的位置分布的可视化并且可以标注磷酸化位点等信息。我们先了解几个概念:Rel同源区(RHD, Rel蛋白质家族分子结构氨基末端(N端)约300个氨基酸残基(aa)区域具有共同特征),核定位区(真核细胞核膜上的核孔复合体 (nuclearpore complex, NPC) 是细胞核内外进行物质交换的主要通道, 分子量较小的化合物可自由通过NPC或采取被动扩散的方式进入细胞核, 而分子量为50 kD以上的蛋白质则只能通过主动转运进入细胞核. 以这种方式进入细胞核的蛋白质必须在其氨基酸序列上拥有特殊的核定位信号(nuclear localization signal, NLS)以被相应的核转运蛋白(karyopherins) 识别. 核定位信号具有多样性, 包括经典核定位信号(classical NLS,cNLS), 内输蛋白β2识别的核定位信号(又称PY模体-NLS)和其它类型的NLS.),转录激活域(TAD),模体(Motif,序列中局部的保守区域,或者是一组序列中共有的一小段序列模式。更多的时候是指有可能具有分子功能、结构性质或家族成员相关的任何序列模式)。首先看下包的安装:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BiocManager::install("drawProteins")

接下来通过实例直接看下此包的实现过程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##Uniprot数据的下载
drawProteins::get_features("Q04206")-> rel_json
 
##数据格式化处理
drawProteins::feature_to_dataframe(rel_json)-> rel_data
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##绘制结构图
draw_canvas(rel_data)-> p
p <-draw_chains(p, rel_data)
p <-draw_domains(p, rel_data)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##去除结构图的背景
library(ggplot2)
p <- p +theme_bw(base_size = 20) + # white background
    theme(panel.grid.minor=element_blank(),
        panel.grid.major=element_blank()) +
    theme(axis.ticks = element_blank(),
        axis.text.y = element_blank()) +
theme(panel.border = element_blank())
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##添加转录激活域

draw_regions(p, rel_data)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##motif和核定位序列绘制
draw_motif(p, rel_data)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##磷酸位点的标注

draw_phospho(p, rel_data, size = 8)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##完整的信息展示
draw_canvas(rel_data) -> p
p <- draw_chains(p, rel_data)
p <- draw_domains(p, rel_data)
p <- draw_regions(p, rel_data)
p <- draw_motif(p, rel_data)
p <- draw_phospho(p, rel_data, size = 8)
 
# white backgnd & change text size
p <- p + theme_bw(base_size = 20) +
   theme(panel.grid.minor=element_blank(),
       panel.grid.major=element_blank()) +
    theme(axis.ticks =element_blank(),
        axis.text.y =element_blank()) +
    theme(panel.border =element_blank())
##add title
rel_subtitle <- paste0("circles = phosphorylationsites\n",
                "RHD =Rel Homology Domain\nsource:Uniprot")
p <- p + labs(title = "Rel A/p65", subtitle = rel_subtitle)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##多个蛋白质域的绘制

prot_data <- drawProteins::get_features("Q04206 Q01201Q04864 P19838 Q00653")
prot_data <- drawProteins::feature_to_dataframe(prot_data)
   
p <- draw_canvas(prot_data)
p <- draw_chains(p, prot_data)
p <- draw_domains(p, prot_data)
p <- draw_repeat(p, prot_data)
p <- draw_motif(p, prot_data)
p <- draw_phospho(p, prot_data, size = 8)
 
# background and y-axis
p <- p + theme_bw(base_size = 20) + # white backgnd & changetext size
   theme(panel.grid.minor=element_blank(),
       panel.grid.major=element_blank()) +
    theme(axis.ticks =element_blank(),
        axis.text.y =element_blank()) +
    theme(panel.border =element_blank())
 
# add titles
rel_subtitle <- paste0("circles = phosphorylationsites\n",
                "RHD =Rel Homology Domain\nsource:Uniprot")
 
p <- p + labs(title = "Schematic of human NF-kappaBproteins",
                subtitle =rel_subtitle)
 
 
# move legend to top
p <- p + theme(legend.position="top") +labs(fill="")

欢迎大家学习交流!

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

本文分享自 R语言交流中心 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于 R 语言的科研论文绘图技巧详解(4)
在查阅文献的过程中,看到了几幅非常不错的出版图,今天就跟着小编一起学习下,他们是怎么使用 R 绘制出来的。
庄闪闪
2022/05/24
8400
基于 R 语言的科研论文绘图技巧详解(4)
R语言可视化——图表嵌套(母子图)
之前在学习ggplot的时候,一直存在着一个困惑。 就是这个函数是否允许两个做出来的两个相关图表重叠嵌套(也就是在一个大图(主图)的边缘位置,放置另一个缩小版的小图)。 这个想法很奇葩,本来想着没啥希望,鉴于该包的开发者那犀利的审美观,估计也不能允许这种情况的发生。 不过最近浏览一位大神的博客,真的有这种情况的解决措施,喜出望外,赶紧在这里分享给大家。 不过他的处理方式不是通过ggplot的内置函数,而是通过grid包中的viewport函数来实现的: 以下是具体的实现步骤: 加载包: library(gg
数据小磨坊
2018/04/11
1.5K0
R语言可视化——图表嵌套(母子图)
跟着Nature Genetics学作图:R语言ggplot2曼哈顿图完整示例
https://www.nature.com/articles/s41588-022-01051-w
用户7010445
2023/01/06
1.1K0
跟着Nature Genetics学作图:R语言ggplot2曼哈顿图完整示例
文献复现-单细胞揭示新辅助治疗后NSCLC的免疫微环境变化
文章在这:Tumor microenvironment remodeling after neoadjuvant immunotherapy in non-small cell lung cancer revealed by single-cell RNA sequencing 方法:来自3名治疗前和12名接受新辅助PD-1阻断联合化疗的非小细胞肺癌(NSCLC)患者的~92,000个单细胞的转录组。根据病理反应将12个治疗后样本分为两组:MPR(n = 4)和非MPR(n = 8)。
生信菜鸟团
2023/09/09
1.6K0
文献复现-单细胞揭示新辅助治疗后NSCLC的免疫微环境变化
Nature图表复现|热图叠加折线图
R语言数据分析指南
2023/10/24
7120
Nature图表复现|热图叠加折线图
ggplot2优雅的绘制森林图
❝本节来介绍如何使用ggplot2来绘制森林图,下面通过一个小例子来进行展示 ❞ 加载R包 library(tidyverse) 导入数据 unicox <- read_csv("AKT3_mRNA_OS_pancan_unicox.csv") 绘制森林图 p1 <- ggplot(unicox,aes(HR_log, cancer, col=Type))+ geom_point(aes(size=-log10(p.value)))+ geom_errorbarh(aes(xmax =u
R语言数据分析指南
2022/09/21
1.5K0
ggplot2优雅的绘制森林图
【单细胞中性粒】慢性病毒性肝炎(复现fig1)
这里我画的确实不咋美观呢【此外,似乎原文的marker不是按照top基因来选的?】
生信菜鸟团
2024/06/11
1130
【单细胞中性粒】慢性病毒性肝炎(复现fig1)
大连市2016年空气质量数据可视化~
前几天发现了一个很有趣的包——openair,可以将年度时间序列刻画成周年日历热图,感觉这种形式非常适合用于呈现年度空气质量可视化,所以抓空爬了一些大连市2016年年度空气质量数据拿来玩玩,目标网站网页结构比较简单,爬取过程很轻松,界面部分很规律,感觉这个代码可以作为模板用,感兴趣的小伙伴儿可以试着玩一玩! library(RCurl) library(XML) library(dplyr) library(ggplot2) library(stringr) library(rvest) library(l
数据小磨坊
2018/04/11
7720
大连市2016年空气质量数据可视化~
[NC图表复现] ggplot2绘制分裂小提琴图
R语言数据分析指南
2024/01/17
3820
[NC图表复现] ggplot2绘制分裂小提琴图
R语言基础绘图教程——第7章:小提琴图
R基础教程可先阅读:R语言编程基础第一篇:语法基础 ggplot2绘制小提琴图 library(ggplot2) library(gplots) library(RColorBrewer) options(StringAsFactors=FALSE) #read in the data file data = read.table('violin_plot.txt', sep="\t", header=T) #take a glance at the data head(data) dim(data) d
DoubleHelix
2019/08/15
3.3K0
R语言基础绘图教程——第7章:小提琴图
绘图技巧 | 议会(项目)图还不会做?快上车~~
今天这篇推文小编给大家介绍一个一直想绘制的图表-议会图(parliament diagrams),当然这也是柱形图系列变形的一种。绘制这种图表也是超级简单的,只需使用R-ggpol包进行绘制即可,当然,改包还提供其他优秀的绘图函数,下面就一起来看下吧。
郭好奇同学
2021/03/25
1.5K0
绘图技巧 | 议会(项目)图还不会做?快上车~~
一种很新的功能富集结果展示方法
图注:Fig. 4. KRAS-ERK–dependent genes are essential for cell proliferation in PDAC. (A) Overrepresentation analysis for Reactome terms in three KRAS signatures: PDAC KRAS-ERK UP, PDAC KRASi UP, and PDAC iKras UP. The top 10 terms are shown.
生信技能树
2025/01/17
1530
一种很新的功能富集结果展示方法
R可视化:分面抖动散点图
本系列内容来自github上面超级火爆的R语言可视化项目:tidyTuesday。是学习R语言数据分析和可视化极好的素材。
医学和生信笔记
2023/02/14
6180
R可视化:分面抖动散点图
基于 R 语言的科研论文绘图技巧详解(1)
在查阅文献的过程中,看到了几幅非常不错的出版图,今天就跟着小编一起学习下,他们是怎么使用 R 绘制出来的。
庄闪闪
2022/05/24
1.5K0
基于 R 语言的科研论文绘图技巧详解(1)
GMSB文章二:数据汇总和数据探索
森林图是一种常用于展示多个研究结果的统计图表。它显示了各个研究的效应量(effect size)或优势比(odds ratio, OR)以及它们的95%置信区间(confidence interval, CI)。通过森林图,研究者可以快速地比较和评估不同变量对结局变量的影响。
生信学习者
2024/06/29
1250
跟着Science学作图:R语言ggplot2画箭头展示变量对主成分的贡献
https://www.science.org/doi/10.1126/science.abk0989
用户7010445
2022/05/23
7580
跟着Science学作图:R语言ggplot2画箭头展示变量对主成分的贡献
什么是倾斜45度的火山图?
一位老师聊起火山图(Volcano plot | 别再问我这为什么是火山图 (在线轻松绘制)),说见过倾斜45度的类似图,可否演示怎么画?想了下,可能是下面这种图,绘起来看看。
生信宝典
2022/01/18
7040
什么是倾斜45度的火山图?
看篮球学R语言:卢卡东契奇到底有多棒?
https://www.kaggle.com/xvivancos/how-good-is-luka-doncic
用户7010445
2020/08/28
6320
看篮球学R语言:卢卡东契奇到底有多棒?
ggplot2|theme主题设置,详解绘图优化-“精雕细琢”
学习了ggplot2的基本绘图元素ggplot2|详解八大基本绘图要素,可以初步绘制出需要展示的图形,legend可以对图例进行细节的修改ggplot2 |legend参数设置,图形精雕细琢,那theme有什么用呢?
生信补给站
2020/08/06
5.3K0
基于 R 语言的科研论文绘图技巧详解(2)
在查阅文献的过程中,看到了几幅非常不错的出版图,今天就跟着小编一起学习下,他们是怎么使用 R 绘制出来的。
庄闪闪
2022/05/24
1K0
基于 R 语言的科研论文绘图技巧详解(2)
推荐阅读
相关推荐
基于 R 语言的科研论文绘图技巧详解(4)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验