I need to obtain a subgraph of the seed nodes (the input list of nodes; file.txt) and their first interactors (neighbours) from a graph (g) using igraph. Unfortunately, I am ending up with only a single node in the subgraph, and not all the rest of the nodes and edges (vertices) which interlink them.
g<-read.graph("DATABASE.ncol",format="ncol",directed=FALSE) #load the data g2<-simplify(g, remove.multiple=TRUE, remove.loops=TRUE) # Remove the self-loops in the data DAT1 <- readLines("file.txt") #It provides a character vector right away list_nodes_1 = neighbors(g2, DAT1) #list of nodes to be fetched in subnetwork list_nodes_1 # 16 g3 <- induced.subgraph(graph=g2,vids=DAT1) #subnetwork construction g3 # GRAPH UN-- 1 0 --; indicating only one node plot (g3)
Any suggestions for obtaining the whole subnetwork (including nodes and vertices)? or is there any other function available for creating sub-graphs?
DATABASE.ncol (It is a simple text file with one edge per line. An edge is defined by two symbolic vertex names delimited by tab):
MAP2K4 FLNC MYPN ACTN2 ACVR1 FNTA GATA2 PML RPA2 STAT3 ARF1 GGA3 ARF3 ARFIP2 ARF3 ARFIP1 XRN1 ALDOA APP APPBP2 APLP1 DAB1 CITED2 TFAP2A EP300 TFAP2A APOB MTTP ARRB2 RALGDS CSF1R GRB2 PRRC2A GRB2 LSM1 NARS SLC4A1 SLC4A1AP BCL3 BARD1
ALDOA APLP1 GRB2 RPA2 FLNC BCL3 APP RALGDS PRRC2A NARS LSM1 GGA3 FNTA