cdlib.algorithms.coach¶
- cdlib.algorithms.coach(g_original: object, density_threshold: float = 0.7, affinity_threshold: float = 0.225, closeness_threshold: float = 0.5) NodeClustering ¶
The motivation behind the core-attachment (CoAch) algorithm comes from the observation that protein complexes often have a dense core of highly interactive proteins. CoAch works in two steps, first discovering highly connected regions (“preliminary cores”) of a network and then expanding these regions by adding strongly associated neighbors.
The algorithm operates with three user-specified parameters: minimum core density (for preliminary cores), maximum core affinity (similarity threshold for distinct preliminary cores), and minimum neighbor closeness (for attaching non-core neighbors to preliminary cores).
Supported Graph Types
Undirected
Directed
Weighted
Yes
No
No
- Parameters:
g_original – a networkx/igraph object
density_threshold – minimum core density. Default, 0.7
affinity_threshold – maximum core affinity. Default, 0.225
closeness_threshold – minimum neighbor closeness. Default, 0.5
- Returns:
NodeClustering object
- Example:
>>> from cdlib import algorithms >>> import networkx as nx >>> G = nx.karate_club_graph() >>> coms = algorithms.coach(G)
- References:
Wu, M., Li, X., Kwoh, C.-K., Ng, S.-K. A core-attachment based method to detect protein complexes. 2009. In PPI networks. BMC Bioinformatics 10, 169.
Note
Reference Implementation: https://github.com/trueprice/python-graph-clustering