Which Is The Best Software To Represent Biological Pathways In A Directed Graph (Network) ?
8
16
Entering edit mode
13.5 years ago
Blenderous ▴ 180

Is there a way to parse pathways from KEGG database and represent the proteins in them as directed graphs?

I have tried doing this with visANT by entering the name of the proteins involved in the text box and querying for interactions among them. But I felt it was inadequate as I didn't get a directed graph. I also saw from the tutorials that visAnt requires a line by line syntax for making directed edges.

Can I use visANT for making the network without entering the edges line by line or are there any better software for doing the same?

kegg pathway network • 14k views
ADD COMMENT
0
Entering edit mode

Hi blenderous, then you finally could get the proteins and interactions from KEGG database? I'd like to know if you have done this, it's really interesting

ADD REPLY
14
Entering edit mode
13.5 years ago

I'm not 100% sure that it does what you want, but when you want to do biological network visualization, the answer is often Cytoscape.

ADD COMMENT
2
Entering edit mode

Yes, there is even a new plugin for Cytoscape + KEGG

It's young though, and I haven't tried it.

ADD REPLY
1
Entering edit mode

Reactome also has a cytoscape plugin for their functional interaction network: http://wiki.reactome.org/index.php/Reactome_FI_Cytoscape_Plugin

ADD REPLY
0
Entering edit mode

Thank you, I'll try this software.

ADD REPLY
0
Entering edit mode

Wow, that looks nothing like I pasted in to the comment box. Go over to the Google group to read the release.

ADD REPLY
0
Entering edit mode

sure :) thank you very much!

ADD REPLY
0
Entering edit mode

Cytoscape is the most renown software for visualizing pathways, but it has too many open bugs for my taste.

ADD REPLY
9
Entering edit mode
13.5 years ago

Gephi gephi.org) is a really cool and new alternative to Cytoscape - allow for dynamic manipulation of the graph, among other things. Open source, and while still alpha, very powerful. They have a demo video somewhere on the site, be sure to check it out.

They also have an API to generate graphs in multiple formats, which would allow you to directly import your node / edge data.

ADD COMMENT
0
Entering edit mode

The screenshots look cool...i'l try this one too and will add comments about it :)

ADD REPLY
0
Entering edit mode

Great and fasta tool.

ADD REPLY
0
Entering edit mode

Great and fast tool =)

ADD REPLY
0
Entering edit mode

wow +1 for Gephi , sounds promising.

ADD REPLY
0
Entering edit mode

We've been trying Gephi with the 3 GO ontologies (biological process, molecular function and subcellular location) and it's great :)

ADD REPLY
6
Entering edit mode
13.0 years ago
Martin Morgan ★ 1.6k

R / Bioconductor has 'annotation' packages that map between common identifiers and other useful entities, e.g., the KEGG.db package to manage KEGG ids and pathway names, and the org.Hs.eg.db package to manage H. sapiens annotations, including Entrez, KEGG, SYMBOL, GENENAME, etc. There is also a graph package to create and manipulate graphs, and various alternatives for visualization such as the Rgraphviz and RCytoscape packages. Here's a work flow that retrieves the MAPK and Wnt pathways, finds human Entrez gene ids associated with these pathways, translates the Entrez gene ids to gene symbols, then plots the result using Rgraphviz.

library(KEGG.db)
library(org.Hs.eg.db)
library(graph)
library(Rgraphviz) # Rgraphviz can be tricky to install, esp. on Windows

## KEGG pathways of interest
terms <- c("MAPK signaling pathway", "Wnt signaling pathway")

## map -- KEGG id links the KEGG and org.Hs.eg packages
name2id <- toTable(KEGGPATHNAME2ID[ terms ])
id2gene <- toTable(revmap(org.Hs.egPATH)[ name2id$path_id ])
id2gene$symbol <-                 # add gene SYMBOL for each Entrez id
    unlist(mget(id2gene$gene_id, org.Hs.egSYMBOL))
path2gene <- merge(name2id, id2gene, by="path_id") # 'join'

## create a graphBAM instance
df <- with(path2gene,
           data.frame(from=symbol, to=path_id, weight=1,
                      stringsAsFactors=FALSE))
gr <- graphBAM(df, edgemode="directed")

## create a (random) subgraph
set.seed(123L)
nodes <- c(sample(df$from, 25), unique(df$to))
subgr <- subGraph(nodes, gr)

## display
to <- unique(df$to)                 # 'to' nodes, ...
nodeAttrs <-                        # ...colored organge
    list(fillcolor=structure(rep("orange", length(to)), names=to))
plot(subgr,                         # display; uses Rgraphviz
    "fdp",                          # a graphviz layout
     nodeAttrs=nodeAttrs,           # node attributes
     attrs=list(                    # default attributes
       node=list(shape="ellipse",   #   nodes are ellipses...
                 width="2"),        #   ... wide enough to contain symbol ids
       edge=list(arrowsize="0.75")  #   edges are not-too-large arrows
     ))

Maybe not for the faint of heart, but hopefully showing the possibilities. There are instructions for installing R and Bioconductor packages, and many additional packages, some of which (e.g., KEGGgraph) provide a different interface; RCytoscape is interesting because the graph can be assembled programmatically, and then manipulated in Cytoscape.

ADD COMMENT
0
Entering edit mode

Whenever I see "not for the faint of heart" I know I'm heading down the right path.

ADD REPLY
5
Entering edit mode
13.5 years ago
Mary 11k

You might also investigate these:

I'll keep thinking.

EDIT:

ADD COMMENT
3
Entering edit mode
13.0 years ago

You could also try to download the KEGG pathways in the GPML format used by WikiPathways and PathVisio from: http://www.pathvisio.org/wiki/PathVisioDownload (look for KEGG converted pathways). And to access these in Cytoscape using the Cytoscape plugin for PathVisio (at http://www.pathvisio.org/wiki/Cytoscape_plugin ). The conversion and manual curation may have helped to get the direction in the graphs better.

ADD COMMENT
2
Entering edit mode
13.1 years ago
Casbon ★ 3.3k

Non bio specific:

arborjs Does graph visualisation in the browser with jquery/web workers.

neo4j is a graph database that can be viewed with Gephi (as with Michael's answer).

ADD COMMENT
1
Entering edit mode
13.1 years ago

Another cool software is BioLayout Express 3d, which can make 3d representations of a network and has also been featured in a Nature Protocols cover a while ago.

ADD COMMENT
1
Entering edit mode
9.4 years ago
ostrokach ▴ 350

For anyone stumbling on this page through google search, there is a graphite package on bioconductor which can be used to download pathways from the major databases and represent those pathways as networks.

http://www.bioconductor.org/packages/devel/bioc/html/graphite.html

ADD COMMENT

Login before adding your answer.

Traffic: 1660 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6