Skip to content

Source code for NetworkAnalysis, python framework for graph handling and graph representation learning

License

Notifications You must be signed in to change notification settings

pstrybol/NetworkAnalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetworkAnalysis: A Python framework for graph handling

About

NetworkAnalysis provides a python-based graph handling framework with a focus biomedical graphs capable of handling undirected heterogeneous graphs:

  • Graph initialization and handling: removing disconnected components, adding custom node-to-integer mappings, removing self-loops and duplicate interactions, custom node types, obtain N-order neighbours, find communities using Louvain algorithm, clustering, and much more.

  • Edge Samplinge: NetworkAnalysis offer a high level of granularity when it comes to edge sampling for Link Prediction. The user can choose between balanced, unbalanced or graph distance-based sampling strategies. Additionally, specific sets of interactions that are to be included or excluded in the train/test sets can be added.

  • Network Representaiton Learning (NRL) evaluation: Basic NRL methods are avaiable through OpenNE and include but are not limited to DeepWalk, Node2Vec and LINE. After the representations are learned these can be plotted, clustered or written to csv files.

Other functionalities such as handling of directed graphs will be added in future updates.

NetworkAnalysis functionalities have been tested through the appropriate pytests.

Installation

NetworkAnalysis is tested on Python 3.10

Option 1: Cloning this repository

git clone git@github.com:pstrybol/NetworkAnalysis.git
python setup.py install

Option 2: Through pip install -> TBA

Usage

The examples/ folder contains various jupter notebooks to assist in the usage of NetworkAnalysis functionalities. For now, NetworkAnalysis is offered solely as an API yet Command Line Interface (CLI) will be added in a future update.

Contributing

Any suggestions or contributions to improving NetworkAnalysis are greatly appreciated. Feel free open issues tagged with the appropriate label ("feature request", "bug", etc.). Alternatively you can email me directly with feedback/suggestions at: pieterpaul.strybol@ugent.be

About

Source code for NetworkAnalysis, python framework for graph handling and graph representation learning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages