Hi All,
I would like to compare miRNA and mRNA sequencing results using Pathview
. By default, Pathview
uses a KEGG xml file downloaded using the function pathview()
. My first problem is how to feed Pathview
with a custom pathway (for example a reactome pathway converted into graphNEL object)?
I am using mirIntegrator
package, to integrate miRNA interactions into KEGG pathways. mirIntegrator package contains a function keggPathwayGraphs(), which downloads KEGG pathways. Then, these pathways are augmented by integrating miRNA interactions into gene networks. The resulting pathways (augmented pathways) are graphNEL objects, looking as follows:
> augmented_pathways_mmu_04727
$`path:mmu04727`
A graphNEL graph with directed edges
Number of Nodes = 218
Number of Edges = 748
I could not figure out how to input a graphNEL object made of reactome pathway. This is what I was trying:
> library(graphite)
> MouseReactome <- pathways("mmusculus", "reactome")
> names(MouseReactome)[1:10]
> trans_path <- MouseReactome[grep("transmission",names(MouseReactome))]
[1] "3' -UTR-mediated translational regulation"
[2] "A tetrasaccharide linker sequence is required for GAG synthesis"
[3] "A third proteolytic cleavage releases NICD"
[4] "Abacavir transmembrane transport"
[5] "Abacavir transport and metabolism"
[6] "Abasic sugar-phosphate removal via the single-nucleotide replacement pathway"
[7] "ABC transporters in lipid homeostasis"
[8] "ABC-family proteins mediated transport"
[9] "Acetylcholine binding and downstream events"
[10] "Acetylcholine Neurotransmitter Release Cycle"
> trans_path
Reactome pathways for mmusculus
1 entries, retrieved on 24-04-2017
> trans_path <- trans_path[[1]]
> head(nodes(trans_path))
[1] "A0A087WR33" "A0A0A6YW90" "A0A0G2JEA7" "A0A0G2JFW0" "A0A0N4SWF8" "A0A0R4J239"
> head(edges(trans_path))
src dest direction type
1 A0A087WR33 A0A0G2JFW0 undirected Binding
2 A0A087WR33 A0A140T8S1 undirected Binding
3 A0A087WR33 D3Z685 directed Control(Out: ACTIVATION of BiochemicalReaction)
4 A0A087WR33 D3Z685 undirected Binding
5 A0A087WR33 D3Z6K8 directed Control(Out: ACTIVATION of BiochemicalReaction)
6 A0A087WR33 D3Z6K8 undirected
> trans_path
"Neurotransmitter receptors and postsynaptic signal transmission" pathway
Native ID = R-MMU-112314
Database = Reactome
Species = mmusculus
Type of identifiers = UNIPROT
Number of nodes = 175
Number of edges = 1600
Retrieved on = 24-04-2017
# creating a GRAPHnel object of the pathway; these gives an error with mirIntegrator
> trans_path_g <- pathwayGraph(trans_path)
> trans_path_g
A graphNEL graph with directed edges
Number of Nodes = 175
Number of Edges = 2068
> augmented_pathway <- integrate_mir(trans_path_g, mirTarBase)
Error in as.list.default(X) :
no method for coercing this S4 class to a vector
On the other hand, with a graphNEL object generated using keggPathwayGraphs()
everything seems to be working fine:
> kegg_pathways_mmu_04727
$`path:mmu04727`
A graphNEL graph with directed edges
Number of Nodes = 88
Number of Edges = 542
> augmented_pathways_mmu_04727 <- integrate_mir(kegg_pathways_mmu_04727, mirTarBase)
> augmented_pathways_mmu_04727
$`path:mmu04727`
A graphNEL graph with directed edges
Number of Nodes = 218
Number of Edges = 748
The second problem is how to use such a custom (augmented) pathway (graphNEL) for visualization using Pathview. What I would like to achieve is a Pathview-rendered visualisation (KEGG or Graphviz) including color-coded fold changes of both, mRNAs (genes) and miRNAs.
Any tips on how this can be achieved I will very, very much appreciate.
Best wishes, Lech