Pathway length in Reactome
2
1
Entering edit mode
9.1 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 • 2.7k views
ADD COMMENT
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".

ADD REPLY
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.

ADD REPLY
0
Entering edit mode

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

ADD REPLY
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.

ADD REPLY
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?

ADD REPLY
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...

ADD REPLY
4
Entering edit mode
9.0 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.

ADD COMMENT
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...

ADD REPLY
0
Entering edit mode

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

ADD REPLY
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...

ADD REPLY
1
Entering edit mode

I edited the answer to add the network topology

ADD REPLY

Login before adding your answer.

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