====WTS_ce/CE中lncRNA_miRNA_mRNA.network图修改节点形状==== 交付的网络图如下: {{ :lncrna_mirna_mrna.network.pdf |}} /TJPROJ2/GB/PUBLIC/software/GB_TR/mRNA/miniconda3/envs/r_3.5.0/bin/Rscript /TJPROJ6/RNA_SH/shouhou/202407/X101SC21051436-Z01-F004_wts_as/X101SC21051436-Z01-F004.20240614/log/network_ce.R lncRNA_miRNA_mRNA_ce name_lncRNA_miRNA_mRNA.cytoscape.txt /TJPROJ6/RNA_SH/shouhou/202407/X101SC21051436-Z01-F004_wts_as/X101SC21051436-Z01-F004.20240614/log ===network_ce.R脚本=== args<-commandArgs(TRUE) type<-trimws(args[1]) output<-trimws(args[2]) path_igraph_ce<-trimws(args[3]) r_script<-paste(path_igraph_ce,'/igraph_ce.R',sep="") source(r_script) set.seed(123) if (type == 'lncRNA_miRNA_mRNA_ce') { png("lncRNA_miRNA_mRNA.network.png",type="cairo") out<-paste(output,'.top200.txt',sep="") fplot4(out) pdf("lncRNA_miRNA_mRNA.network.pdf",width = 12, height = 10) fplot4(out) } ====igraph_ce.R脚本==== library("igraph") library(ggplot2) set.seed(123) fplot4=function(file){ #=== add triangle to shape mytriangle <- function(coords, v=NULL, params) { vertex.color <- params("vertex", "color") if (length(vertex.color) != 1 && !is.null(v)) { vertex.color <- vertex.color[v] vertex.frame.color=NA } vertex.size <- 1/200 * params("vertex", "size") if (length(vertex.size) != 1 && !is.null(v)) { vertex.size <- vertex.size[v] } vertex.frame.color=NA symbols(x=coords[,1], y=coords[,2], bg=vertex.color, stars=cbind(vertex.size, vertex.size, vertex.size), add=TRUE, inches=FALSE) } add_shape("triangle", clip=shapes("circle")$clip,plot=mytriangle) #============================================ df=read.table(file,header=F) df1=data.frame(from=df[,1],to=df[,3]) g=graph.data.frame(df1,directed=TRUE) V(g)$color="#e15850" # V(g)[as.vector(df[,1][df[,2]=="up"])]$color="#e15850" V(g)[as.vector(df[,3][df[,4]=="lncRNA"])]$color="#8cc464" V(g)[as.vector(df[,3][df[,4]=="gene"])]$color="#a4cce4" #构建椭圆形 myellipse <- function(coords, v=NULL, params) { vertex.color <- params("vertex", "color") if (length(vertex.color) != 1 && !is.null(v)) { vertex.color <- vertex.color[v] } vertex.size <- 1/200 * params("vertex", "size") if (length(vertex.size) != 1 && !is.null(v)) { vertex.size <- vertex.size[v] } symbols(x=coords[,1], y=coords[,2], bg=vertex.color,fg = vertex.color, circles = vertex.size, add=TRUE, inches=FALSE) } add_shape("ellipse", clip=shapes("circle")$clip,plot=myellipse) #构建菱形 mydiamond <- function(coords, v=NULL, params) { vertex.color <- params("vertex", "color") if (length(vertex.color) != 1 && !is.null(v)) { vertex.color <- vertex.color[v] } vertex.size <- 1/200 * params("vertex", "size") if (length(vertex.size) != 1 && !is.null(v)) { vertex.size <- vertex.size[v] } symbols(x=coords[,1], y=coords[,2], bg=vertex.color,fg = vertex.color, stars=cbind(vertex.size*3, vertex.size, vertex.size*3,vertex.size), add=TRUE, inches=FALSE) } # clips as a circle add_shape("diamond", clip=shapes("circle")$clip, plot=mydiamond) #构建矩形 myrectangles <- function(coords, v=NULL, params) { vertex.color <- params("vertex", "color") if (length(vertex.color) != 1 && !is.null(v)) { vertex.color <- vertex.color[v] } vertex.size <- 1/200 * params("vertex", "size") if (length(vertex.size) != 1 && !is.null(v)) { vertex.size <- vertex.size[v] } symbols(x=coords[,1], y=coords[,2], bg=vertex.color,fg = vertex.color, rectangles = matrix(c(vertex.size*5, vertex.size), byrow = T, nrow = 1), # rectangles = cbind(vertex.size, vertex.size*2, vertex.size*2,vertex.size), add=TRUE, inches=FALSE) } # clips as a circle add_shape("rectangles", clip=shapes("circle")$clip, plot=myrectangles) #V(g)$shape="triangle" V(g)$shape="rectangles" #V(g)[as.vector(df[,1])]$shape="circle" V(g)[as.vector(df[,1])]$shape="diamond" #V(g)[as.vector(df[,3][df[,4]=="gene"])]$shape="square" V(g)[as.vector(df[,3][df[,4]=="gene"])]$shape="ellipse" if (length(unique(df[,1]))<3){ plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.1,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=10,vertex.label.cex=0.3) }else if(length(unique(df[,1]))<=6){ plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.1,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=6,vertex.label.cex=0.3) }else if(length(unique(df[,1]))<=9){ # plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.1,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=4,vertex.label.cex=0.3) plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.05,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=2,vertex.label.cex=0.005,vertex.frame.color=V(g)$color) # plot(g, layout=layout.circle,edge.arrow.size=0.1,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=6,vertex.label.cex=0.3,vertex.frame.color=V(g)$color) # plot(g, layout=layout_random, edge.arrow.size=0.05,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=8,vertex.label.cex=0.05,vertex.frame.color=V(g)$color) }else{ # plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.02,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=4,vertex.label.cex=0.3) plot(g, layout=layout.fruchterman.reingold,edge.arrow.size=0.2,vertex.shape=V(g)$shape,vertex.color=V(g)$color,vertex.size=10,vertex.label.cex=1) } # title(main=name,line=-1) #legend(x=-1.5,y=-0.9, pch=c(21,22,24),c("miRNA","mRNA","lncRNA"),cex=0.8,pt.cex=1.5) legend(x=-1.5,y=-1.2, fill=c("#e15850","#a4cce4","#8cc464"),c("miRNA","mRNA","lncRNA"),cex=0.8) }