美文网首页试读R plot生信绘图
小的PPI网络图,R也可以搞定它

小的PPI网络图,R也可以搞定它

作者: 小洁忘了怎么分身 | 来源:发表于2021-09-09 23:50 被阅读0次

一般来说网络图都是R语言导出数据放入cytoscape里面绘制,今天想试试在R语言内部去画,确实有相应的R包(igraph)可以做,不是专门针对PPI网络来的,自己组织一下数据可以画。

尤其是基因数量比较少的情况下,还是很好用的,省掉手动点鼠标的重复操作。

1.输入数据

string_interactions.tsv是从string网页下载的PPI网络输出结果文件。
图上基因的颜色是按照上下调来分配的,在这个例子里基因上下调信息是编的,实际应用时可以从差异分析结果中得到。

2.样图

3.代码如下

library(igraph)
links= read.delim("string_interactions.tsv")
network <- graph_from_data_frame(d=links[,c(1:2,13)], directed=F) 
deg <- degree(network, mode="all")

nodes <- data.frame(
    name=unique(links$X.node1),
    group=c( rep("up",6),rep("down",5)))
network <- graph_from_data_frame(d=links, vertices=nodes, directed=F) 

my_color = c("#66C2A5", "#FC8D62", "#8DA0CB")[as.numeric(as.factor(V(network)$group))]
par(bg="grey13", mar=c(0,0,0,0))
plot(network, 
     vertex.size=deg,
     layout=layout.circle,
     vertex.color=my_color,
     vertex.label.cex=0.7,
     vertex.label.color="white",
     vertex.frame.color="transparent",
     edge.width=E(network)$combined_score*3,
     edge.curved=0.1)

legend(x=1, y=1, 
       legend=unique(V(network)$group), 
       col = unique(my_color) , 
       bty = "n", pch=20 , pt.cex = 2, cex = 1,
       text.col="white" , horiz = F)
plot(network, 
     vertex.size=deg,
     layout=layout.fruchterman.reingold,
     vertex.color=my_color,
     vertex.label.cex=0.7,
     vertex.label.color="white",
     vertex.frame.color="transparent",
     edge.width=E(network)$combined_score*3,
     edge.curved=0)

legend(x=1, y=1, 
       legend=unique(V(network)$group), 
       col = unique(my_color) , 
       bty = "n", pch=20 , pt.cex = 2, cex = 1,
       text.col="white" , horiz = F)

相关文章

  • 小的PPI网络图,R也可以搞定它

    一般来说网络图都是R语言导出数据放入cytoscape里面绘制,今天想试试在R语言内部去画,确实有相应的R包(ig...

  • 关于 PPi 的理解

    PPi 也叫屏幕像素密度,我们先看看 PPi 的计算公式,如下图 从 PPI 的计算公式来看,PPI 指的应该是「...

  • PLC编程入门总结,西门子S7-200PLC之间的PPI通信

    PPI通信定义 PPI协议是西门子S7-200PLC之间交换信息的专用协议,PPI协议是一种点对点协议,它只定义了...

  • PPI和DPI原来是一回事。

    DPI如何换算PPI,这个问题让我纠结了好几天了,以前做UI一直用72PPI的,再换了苹果电脑R屏以后,突然发现P...

  • 生信星球学习小组Day6笔记-柠萌

    Day6-学习R包 思维导图如下R包的学习.png 1.R包安装和加载 1.1 镜像设置 两行代码↓可以搞定,但这...

  • 蛋白互作网络图PPI-2

    解决问题:1:我想要对连接超过20个以上的节点进行筛选,怎么做? 2:能把这个图分成几个subnetwork吗? ...

  • 买一份“活色生香”

    这一份活色生香可以是一大份也可以是一小份,可以是一座城,也可以是一个很小的角落。只要我r愿意,我都可以把它称为一份...

  • 我家的大r与小r

    我家的大r是辆车,我家的小r是只兔子,小r先来到我家,名字由rabbit而生,女儿叫它小rua,是女儿的最...

  • 业务

    所有的业务就是搞定人,可以是搞定代理,也可以是搞定最终端的消费者,但本质都是搞定人,只是对象不同发力点不同而已。 ...

  • JS数组reduce()方法详解及高级技巧

    reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()...

网友评论

    本文标题:小的PPI网络图,R也可以搞定它

    本文链接:https://www.haomeiwen.com/subject/xuxgwltx.html