[BioC] building enzyme centric metabolic network

Saroj K Mohapatra smohapat at vbi.vt.edu
Mon Apr 20 03:56:23 CEST 2009


Hi Anupam:

Using your second criterion, i.e., two enzymes are linked if they are in the same pathway, one strategy would be to use the information from org. packages for creating a network for each species.

# For mouse, use the package org.Mm.eg.db to get the list of all entrez ids, associated KEGG id
library("org.Mm.eg.db")
egKEGGids = as.list(org.Mm.egPATH)

# many entrez ids have no KEGG id; discard these
sum(is.na(egKEGGids))
egKEGGids = egKEGGids[!is.na(egKEGGids)]

# For all possible entrez id pairs, find a KEGG id; if not available, drop that pair
keggnet = matrix(ncol=3, nrow=0) # Empty matrix with 3 columns
colnames(keggnet) = c("EG1", "EG2", "KEGG")
mycounter = 1 # to count the current entrez id pair
numEg = length(egKEGGids) # number of entrez ids
for(i in 1:(numEg-1)) {
  for(j in (i+1):numEg) {
    eg1 = names(egKEGGids)[i]
    eg2 = names(egKEGGids)[j]
    kegg1 = as.character(unlist(egKEGGids[i])) 
		# kegg id for the first gene
    kegg2 = as.character(unlist(egKEGGids[j])) 
		# kegg id for the 2nd gene
    common = intersect(kegg1, kegg2) # common between two
    numCommon = length(common) # how many shared
    if(numCommon>0) {
      for(k in 1:numCommon) {
	keggnet = rbind(keggnet, c(eg1, eg2, common[k]))
	cat(i,  "\t", j,   "\t", numEg,"\t | ") 
	cat(eg1,"\t", eg2, "\t", common[k], "\n")
		# monitor progress
	mycounter = mycounter+1 # move the counter
      }
    }
  }
}

# now write the data to a file for future use
write.table(keggnet, file="mouse_KEGG_network.txt", 
	col.names=T, row.names=F, sep="\t", quote=F)

The resulting file has three columns for two entrez ids (EG1, EG2) and KEGG (ID) shared by the two entrez ids. There might be a faster way of using it though (in stead of the for loops). Also, there might already be such networks available within bioconductor. 

I imagine that you would need one such file for each species of your interest (to study "evolutionary aspects").

Best,

Saroj

----- Original Message -----
From: "anupam sinha" <anupam.contact at gmail.com>
To: Bioconductor at stat.math.ethz.ch
Sent: Sunday, April 19, 2009 4:35:12 AM GMT -05:00 US/Canada Eastern
Subject: [BioC] building enzyme centric metabolic network

Hi all,
         I am working on the evolutionary aspects of metabolic net
works(enzyme centric). This network will consists of nodes that are enzymes
and any two enzymes are linked if they share a metabolite (or in the same
pathway). Can anyone suggest me a way to build these networks using
KEGGgraph or KEGGSOAP packages ? Thanks in advance.

Regards,

Anupam Sinha

	[[alternative HTML version deleted]]

_______________________________________________
Bioconductor mailing list
Bioconductor at stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/bioconductor
Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 
Computational Biology
VBI @ Virginia Tech



More information about the Bioconductor mailing list