Pathway length in Reactome
2
1
Entering edit mode
6.7 years ago
gvbarroso ▴ 10

Hello,

I am interested in extracting information about the length of specific Reactome pathways (preferably using Bioconductor).

That is, given a pathway ID, I would like to know how many links it contains. Also, if possible, I would like to know how many links point to my Entity of interest, and how many links are there after it.

I am pretty new to bioinformatics and I hope I could make myself clear.

Thanks!

genome R • 1.8k views
0
Entering edit mode

Hi vassialk,

I am interested in hoe many links and nodes a given pathway contains. This will be my measure of "length".

1
Entering edit mode

Just a hint: what you measure is usually called the pathway/network size (i.e., number of vertices, number of edges). Because pathways often have many connections (depends on the pathway and the database) and may contain circles, etc. some people prefer to use other metrics like the diameter.

0
Entering edit mode

Thank you very much for that info. Do you have any idea how I can calculate these parameters?

0
Entering edit mode

Yepp, check Wikipedia: calculate all shortest path between each pair of nodes (hint: Floyd's algorithm), then get the length of each shortest path, the maximum length is the diameter...

PS: I am quite confident, that there is already some graph package available on CRAN/BioConductor that implements the algorithm and/or diameter calculation.

0
Entering edit mode

So Reactome allows me to directly extract these informations (number of in-nodes, out-nodes, links, edges...) from the results they provide in R?

1
Entering edit mode

I don't know! I rarely use Reactome and have never used R for graph theory.

I just wanted to make you aware of the other graph/network metrics...

4
Entering edit mode
6.7 years ago
5utr ▴ 370

You can use graphite package

For example if you want to know how many nodes and edges are in the first reactome pathway:

#load package
library(graphite)
require(igraph)
#get all reactome pathways for human
reactomedata=pathways(species = 'hsapiens','reactome')
#information about the first pathway in the list
reactomedata[[1]]
# number of nodes
length(nodes(reactomedata[[1]]))
# number of edges
dim(graphite::edges(reactomedata[[1]]))[1]


You can also create an igraph to calculate more topological indexes:

# builds a graphNEL
g <- pathwayGraph(reactomedata[[1]])
# create an igraph from the graphNEL object
g2=igraph.from.graphNEL(g, name = TRUE, weight = TRUE, unlist.attrs = TRUE)
# calculate diameter
diameter(g2)
# calculate transitivity/clustering coefficient
transitivity(g2)
# calculate outdegree
degree(g2,mode = 'out')
# calculate indegree
degree(g2,mode = 'in')


Obviously the topological indexes will change greatly if you have a directed edges, if you want to remove self loops and so on.

0
Entering edit mode

Thank you so much, Gian!

That goes a long way. But I can't seem to access the topology of the network (to calculate the appropriate metrics) or the position of my gene of interest...

0
Entering edit mode

Not sure what you mean, what are the metrics that you want to calculate?

0
Entering edit mode

Diameter, like mentioned by Manuel Landesfeind below. And also, if possible, the in- and out-degree of a given node, as well as the clustering coefficient...

1
Entering edit mode

0
Entering edit mode
6.7 years ago
vassialk ▴ 200

Try Cytoscape software plugins beyond Reactome, how do you define pathway length?