怎么用R包STRINGdb来进行蛋白互作网络分析

怎么用R包STRINGdb来进行蛋白互作网络分析

这篇文章给大家分享的是有关怎么用R包STRINGdb来进行蛋白互作网络分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

采用R包STRINGdb 来进行蛋白互作网络分析

怎么用R包STRINGdb来进行蛋白互作网络分析

差异分析完成之后,可以做一个蛋白互作网络分析,看看差异蛋白只能有那些基因间存在相互作用。
实现这样的目标,方法有多种。一般比较常见的是采用STRING 这个网站,在网站上分析。其实采用R包STRINGdb也可以实现。代码参考如下:

#############################################################安装STRINGdb软件包#source("https://bioconductor.org/biocLite.R")#biocLite("STRINGdb")############################################################library(STRINGdb)#设置程序参数work_dir<-"/Users/zhangqiuxue/Documents/Train/TCGA/lab/PPI"deg_file<-"/Users/zhangqiuxue/Documents/Train/TCGA/lab/DEG/DE_genes.txt"setwd(work_dir)#获取物种的分类编号#get_STRING_species(version="10",species_name=NULL)#9606代表人类string_db<-STRINGdb$new(version="10",species=9606,score_threshold=700,input_directory=work_dir)#读取差异表达的文件,获得差异表达基因列表degs=read.table(deg_file,header=T,comment.char="",check.names=F)degs$gene<-rownames(degs)head(degs)#查看有多少差异表达的基因需要分析cat("Totaldeggenes:",dim(degs)[1])#将基因的IDmap到string数据库中,不一定每个基因都能map上deg_mapped<-string_db$map(degs,"gene",removeUnmappedRows=TRUE)#查看有多少IDmap上了cat("TotalStringidmapped:",dim(deg_mapped)[1])#设置绘图相关的参数options(SweaveHooks=list(fig=function()par(mar=c(2.1,0.1,4.1,2.1))))#筛选出一部分结果,进行绘图hits<-deg_mapped$STRING_id[1000]#绘图string_db$plot_network(hits,required_score=700)#将所有的结果输出到文件,后面采用cytoscape进行网络分析info<-string_db$get_interactions(deg_mapped$STRING_id)write.table(info,file="STRING_info.txt",sep="\t",row.names=F,quote=F)#采用igraph进行聚类分析clustersList<-string_db$get_clusters(deg_mapped$STRING_id)#设置绘图参数options(SweaveHooks=list(fig=function()par(mar=c(2.1,0.1,4.1,2.1))))#绘制前4个聚类图par(mfrow=c(2,2))for(iinseq(1:4)){string_db$plot_network(clustersList[[i]])}

感谢各位的阅读!关于“怎么用R包STRINGdb来进行蛋白互作网络分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2022-03-18 22:48:42
收藏
分享
海报
0 条评论
63
上一篇:python中List Comprehension的示例分析 下一篇:如何利用aggregate对数据进行分组处理
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码