Using pathview() with custom graphNEL objects
2
0
Entering edit mode
@prosomething-8890
Last seen 8.2 years ago
Australia

So I've stumbled across the mirIntegrator package here. For those that don't know about it, it will generate an updated KEGG pathway with miRNA interactions (as a graphNEL object) and, if requested, plot an updated KEGG map with the miRNAs included. However, it does not have the facilities to incorporate any DGE data into said updated pathways ala gage or pathview. Well, maybe it does and I just can't work it out :/

Regardless, I figure the best bet moving forward would be to plot these new KEGG/miRNA graphNEL objects/pathways with pathview() as it seems that pathview works with graphNEL objects in the back end. Thing is I can't seem to find anything to suggest pathview() can take user defined graphNEL objects. Have I missed something here or is this something that pathview() is just not able to do.

Cheers,

BobbyT

pathview mirintegrator • 1.6k views
ADD COMMENT
0
Entering edit mode
Luo Weijun ★ 1.6k
@luo-weijun-1783
Last seen 9 months ago
United States
Pathview does work with graphNEL objects (the graph class) internally. Currently we don’t support the graph class explicitly. We do plan to add this function in our next phase of development. You may give me your email address offline, and we will keep you posted on this. At this time, you can still hack the existing function in the pathview package for a solution on this. check the keggview.graph() function documentation: ?keggview.graph HTHs. Weijun
ADD COMMENT
0
Entering edit mode

Hi Weijin,

Thank you for your reply.

Looking back on my question it was a little vague. I guess that happens when you've been staring at a problem for a couple of days.

A little more info on what I'm trying to do to see if there's any light you could shed on the matter...

I'm using the mirIntegrator package to integrate miRNA into KEGG pathways. This package only utilises graphNEL objects. The actual problems I'm having seem to stem from loss of data when parsing the KGML to graphNEL. More specifically, node.info() is unable to retrieve node info from the object (even before augmentation) and returns that it is unable to find the correct getName() method.

The package comes with a demo script with calls keggPathwayGraphs() > loadKEGGpathwayDataRest() > parseKGML() > KEGGpathway2Graph().

Is there anything in this tree that would lose the required node data?

Also I have tried following your answer given here: pathview

Whilst I can get this to work, the resulting graphNEL object seems to be unusable with mirIntegrator. So there appear to be some major differences in the graphNEL objects. I have found several but cannot identify the cause.

 

Sorry for the rambling and thank you for your assistance

(PS) Feel a bit silly but I can't seem to find your email address :/

ADD REPLY
0
Entering edit mode
@prosomething-8890
Last seen 8.2 years ago
Australia

I have pinpointed the problem and it seems there is no way around this except by going back and manipulating the KGML files.

Within the keggPathwayGraphs() function, there is a new graphNEL created using node and edge info from the parsed KGML files so that new defaults can be added. Within this function I added a couple of lines to copy the KEGGnode/KEGGedge default data to the new objects. This does allow retrieval of node.info however it does not get updated when pathways are augmented with mirIntegrator.

As the KEGGnode/KEGGedge @default values are stored as memory pointers I'm not sure how they could be updated with the newly added nodes. This is why I think the KGML itself needs to be modified. Further complicating things is that these pointers store the coordinates for each node on a 2D plane. This data is also not generated by mirIntegrator.

If anyone knows how to add the new nodes to the nodeData@default$KEGGnode and edgeData@default$KEGGedge please let me know.

In the interim I will be using the graph/Rgraphviz engines, which, although they get the job done, are not as pretty as pathview.

ADD COMMENT

Login before adding your answer.

Traffic: 942 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