r语言如何绘制蛋白质组和转录组相关性图

发布时间:2022-03-19 13:47:09 作者:iii
来源:亿速云 阅读:328

这篇“r语言如何绘制蛋白质组和转录组相关性图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“r语言如何绘制蛋白质组和转录组相关性图”文章吧。

目前研究蛋白质组的项目越来越多,经常有蛋白质和转录组相关的分析。

deg_file <- 'S-1_S-2_S-3_vs_R-1_R-2_R-3.all'
dep_file <- 'S-1_S-2_S-3_vs_R-1_R-2_R-3.DEP.all.xls'

# 设置筛选参数
dep_fc <- 1.5
dep_fdr <- 0.05
deg_fc <-1.5
deg_fdr <- 0.05
# 读取文件
deg <- read_delim(deg_file,delim = '\t')
dep <- read_delim(dep_file,delim = '\t')
dim(dep)

# 蛋白ID转换
extr_id <- function(x){
  return(substr(x, start = 0, stop = 16))
}
dep$protein_id <- as.character(llply(dep$protein, extr_id))

gene_ids <- deg$`#ID`
protein_id <- dep$protein_id
# 共有ID
common_id <- intersect(gene_ids,protein_id)

# 提取数据列表
dep_common = dep[dep$protein_id %in% common_id,c('protein_id','logFC','P.Value')]
colnames(dep_common) <- c('protein_id','logFC_p','FDR_p')

dep_common$regulate_p = as.factor(ifelse(dep_common$FDR_p < dep_fdr & abs(dep_common$logFC_p) >=log2(dep_fc), ifelse(dep_common$logFC_p>log2(dep_fc),'Up','Down'),'Normal'))
table(dep_common$regulate_p)

deg_common = deg[deg$`#ID` %in% common_id,c('#ID','FDR','log2FC')]
colnames(deg_common) <- c('#ID','FDR_g','log2FC_g')
deg_common$regulate_g = as.factor(ifelse(deg_common$FDR_g < deg_fdr & abs(deg_common$log2FC_g) >=log2(deg_fc), ifelse(deg_common$log2FC_g>log2(deg_fc),'Up','Down'),'Normal'))
table(deg_common$regulate_g)

# 合并转录组和蛋白质结果
merge_df <- merge(dep_common, deg_common, by.x='protein_id', by.y='#ID')

# 基于调控关系进行分组
merge_df$type  <- paste(merge_df$regulate_p, merge_df$regulate_g,sep = '_')
types <- c('Down_Down','Down_Up','Up_Down','Up_Up')
merge_df[!merge_df$type %in% types,'type'] <- 'Other'

# 绘图
mycol <- c("#e41a1c","#ff7f00","#984ea3","#4daf4a","#80b1d3")
ggplot(data=merge_df, aes(x=logFC_p,y=log2FC_g,colour=type)) + geom_point() + 
  scale_color_manual(values = c("Up_Up"=mycol[1],"Up_Down"=mycol[2],"Down_Up"=mycol[3],"Down_Down"=mycol[4],"Other"=mycol[5]))+
  geom_hline(aes(yintercept=log2(deg_fc)), linetype="dashed",colour="grey11")+ geom_hline(aes(yintercept=-log2(deg_fc)), linetype="dashed",colour="grey11") + 
  geom_vline(aes(xintercept=-log2(dep_fc)),linetype="dashed",colour="grey11") + geom_vline(aes(xintercept=log2(dep_fc)),linetype="dashed",colour="grey11") +
  labs(x = "Protein_logFC", y = "Gene_logFC", title = "Protein_Gene_relation") +
  theme_bw()+ theme(
    panel.grid=element_blank(),
    axis.text.x=element_text(colour="black"),
    axis.text.y=element_text(colour="black"),
    panel.border=element_rect(colour = "black"),
    legend.key = element_blank(),
    legend.title = element_blank())

以上就是关于“r语言如何绘制蛋白质组和转录组相关性图”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:
  1. Oracle日志组中如何添加冗余文件和日志组
  2. 转录组RNA-Seq如何使用docker+bioconda搭建分析环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

r语言

上一篇:perl如何提取GFF中所有转录本的位置信息

下一篇:python如何使用Copy命令

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》