Overlaying Gene Expression Results On Metabolic Pathways
8
12
Entering edit mode
10.1 years ago

Hi,

I want to display metabolic pathways while overlaying gene expression results like fold changes or significance on them. I work with a non-model fish species (yellow perch) but I can still get human Uniprot IDs for 95% of the genes on the array I use.

I have tried many paths up to now an am feeling like I am running in circles. My only workable solution, using GenMAPP, produces pathway diagrams that are much less interesting visually then, let's say, KEGG pathways. I would really like the solution to be as automated as possible since I may have to go through the process for many experiments during the next year.

What approach and software would you use to get a result that looks like this? :

This image was made with ProMetra, as suggested in this question about using ProMeTra for visualizing metabolic pathways. However, I have no automated way of producing such images now.

Thank you

pathway gene • 9.6k views
0
Entering edit mode

@Pierre and Larry, I apologize for modifying my question after you two replied but I think I need a more integrated solution than just getting the svg files after all. Sorry. Since I think this is a question of high interest for genomics today, I'll start a bounty on this question when the waiting period is over to reward the best solution. As always, your suggestions are very much appreciated!

0
Entering edit mode

Thanks everybody for the suggestions! I have a few things to explore now :)

4
Entering edit mode
10.1 years ago

Eric,

From the KEGG release notes, I find

Release 54.1, May 1, 2010: The KGML+ (KGML+SVG) file for the global metabolism map (map01100) is released at the ftp site.

Does this help? It seems to imply that KEGG pathways are in SVG - one would have to check if more than the global map are in SVG format.

4
Entering edit mode
10.1 years ago
Bert Overduin ★ 3.7k

What about the Expression Analysis module of Reactome (documentation)?

0
Entering edit mode

This was going to be my suggestion as well. If you click the example button you can see it load some data from a time series that will map to the pathways. And you can watch it change over time. I think that's a particularly nice feature.

4
Entering edit mode
10.1 years ago

You can in fact use the pathways from WikiPathways to do what you want to do. Many of them indeed look visually less attractive than what you might find elsewhere. But that is not cast in stone. You can in fact draw very complex or very colorful pathways (but be aware that that will not always make your data easier to interpret). You can do the expression overlay in GenMAPP (as you suggested yourself) or in PathVisio. You could also use the GPML plugin to get the pathway into Cytoscape and do the overlay there if you prefer that for whatever reason.

An example of more complex and visually more attractive pathway is here: http://www.wikipathways.org/index.php/Pathway:WP706 (that will probably take some to load, when I just tried it it took almost a minute).

3
Entering edit mode
10.1 years ago

edit: if you have your pathway described as SVG, give an "id" to the elements you want need to colorize and modify the DOM or the stylesheet according to your values in order to add some colors. (OK, it won't be trivial if you need to add those keys to all those elements)

0
Entering edit mode

That is nice to know +1, but I have been having an awful time this week connecting to WikiPathways and adding/editing content.

0
Entering edit mode

Unfortunately Larry is right, we have a problem with WikiPathways editing on some Windows systems. It is a bit tough because it is not WikiPathways itself but java that seems to refuse to load probably because of caching problems.

3
Entering edit mode
5.4 years ago
dago ★ 2.7k

I use PathView in Bioconductor. I think there is also a web app by now.

http://pathview.r-forge.r-project.org/

0
Entering edit mode

very excellent package! Thank you!

2
Entering edit mode
10.1 years ago
B. Arman Aksoy ★ 1.2k

I think Cytoscape is the way to go for what you want to do. You can import SIF/BioPAX/etc pathways from Reactome/KEGG/NCI Nature/Pathway Commons/etc; integrate expression/protein level on top of that; and even do some network or enrichment (e.g. GO term) analysis. AFAIK, with Cytoscape 3.0, which is currently under development but its pieces are coming up together really fast, you can automatize the process pretty easily -- you can do it even with v2.0, but it may require a little bit more work (maybe coding a custom extension and so on).

0
Entering edit mode

Thank you @armish. I wil look deeper into the Cytoscape option.

2
Entering edit mode
10.1 years ago
Philippe ★ 1.9k

Hi,

I found a solution to get such graphs automatically but it may requires a bit of advanced programming. I unfortunately don't have time lately to try to implement a quick solution.

KEGG has a tool called KEGG Mapper where you can give a file of KEGG IDs with associated values (or directly hexadecimal color codes) and it returns a map with the specified nodes painted with the colors you specified (or a color defined by the values you specified).The result is not as nice looking as the example you provided but still good, it uses the standard KEGG maps.

To automatically create these plots you then have to post your data using HTTP queries and parse the result sent (the Python libraries socket and urllib2 can be used) to retrieve the generated image.

The cons are that it is not straightforward to code (moreover if you don't have experience with such methods) and that you are dependent of a change in the structure/source code of the used web pages (both for input and result). I looked at the KEGG API but it does not seem such an option is available. But I might have missed it.

I hope it has been helpful.

0
Entering edit mode
4.7 years ago
pengchy ▴ 450

Two alternative solutions are:

KGML2SVG: https://github.com/mgalland/kgml2svg. Using this script, you could label the genes you interested with specified color

KEGGREST: A bioconductor package, the function can label the nodes you interested.

mark.pathway.by.objectspathway.id, object.id.list)
color.pathway.by.objectspathway.id, object.id.list,
fg.color.list, bg.color.list)