Use this if you are using igraph from R
get.edge.ids {igraph}  R Documentation 
Find the edges in an igraph graph that have the specified end points. This function handles multigraph (graphs with multiple edges) and can consider or ignore the edge directions in directed graphs.
get.edge.ids(graph, vp, directed = TRUE, error = FALSE, multi = FALSE)
graph 
The input graph. 
vp 
The incident vertices, given as vertex ids or symbolic vertex names. They are interpreted pairwise, i.e. the first and second are used for the first edge, the third and fourth for the second, etc. 
directed 
Logical scalar, whether to consider edge directions in directed graphs. This argument is ignored for undirected graphs. 
error 
Logical scalar, whether to report an error if an edge is not
found in the graph. If 
multi 
Logical scalar, whether to handle multiple edges properly. If

igraph vertex ids are natural numbers, starting from one, up to the number of vertices in the graph. Similarly, edges are also numbered from one, up to the number of edges.
This function allows finding the edges of the graph, via their incident vertices.
A numeric vector of edge ids, one for each pair of input vertices.
If there is no edge in the input graph for a given pair of vertices, then
zero is reported. (If the error
argument is FALSE
.)
Gabor Csardi csardi.gabor@gmail.com
Other structural queries:
[.igraph()
,
[[.igraph()
,
adjacent_vertices()
,
are_adjacent()
,
ends()
,
gorder()
,
gsize()
,
head_of()
,
incident_edges()
,
incident()
,
is_directed()
,
neighbors()
,
tail_of()
g < make_ring(10)
ei < get.edge.ids(g, c(1,2, 4,5))
E(g)[ei]
## nonexistant edge
get.edge.ids(g, c(2,1, 1,4, 5,4))