Module GraphUtilities
source code
BIANA: Biologic Interactions and Network Analysis Copyright (C) 2009
Javier GarciaGarcia, Emre Guney, Baldo Oliva
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
<http://www.gnu.org/licenses/>.







get_shortest_path_between(G,
source_id,
target_id) 
source code



get_all_paths_from(G,
source_id)
get all paths from source node to all possible nodes in a dictionary 
source code





get_connected_components(G,
return_as_graph_list=True)
Finds (strongly in the case of directed network) connected components
of graph returnAsGraphList: returns list of graph objects
corresponding to connected components (from larger to smaller)
otherwise returns list of node list corresponding nodes in connected
components 
source code



randomize_graph(graph,
randomization_type)
Creates a random network from given network as a networkx graph
randomization_type: 
source code


get_path_network(G,
listNodes,
path_length_cutoff=10000)
 source code

Returns a subgraph containing only nodes in listNodes
Nodes are connected if exist a path between them, and weight of the
edge consists in the length of shortest path
If the shortest between two nodes includes another node in the list,
this edge is not added

Creates a random network from given network as a networkx graph
randomization_type:

"random": add same number of edges randomly between nodes
of original graph

"preserve_topology": keep edges, shuffle nodes of original
graph

"preserve_topology_and_node_degree": keep edges, shuffle
nodes of original graph with the nodes of same degree

"preserve_degree_distribution": remove an edge between two
random nodes with degrees k, l then add to two nodes with degrees k1
& l1, then shuffle nodes

"preserve_degree_distribution_and_node_degree": remove 2
random edges between ab and cd where degree(a)=degree(c) and
degree(b)=degree(d) then add 2 edges between ad and bc, then
shuffle nodes with the same degree
