greenelab / connectivity-search-analyses

hetnet connectivity search research notebooks (previously hetmech)
BSD 3-Clause "New" or "Revised" License
8 stars 5 forks source link

Alternative graph data structures #95

Closed zietzm closed 6 years ago

zietzm commented 6 years ago

We are considering creating another base representation of hetnets. One of the main goals is to facilitate faster network loading, which at present can take over a minute and a half to load a graph.

The following are under consideration:

dhimmel commented 6 years ago

Another package of interest could be xarray, which provides "N-dimensional variants of the core pandas data structures." I think it could be ideal for matrix based representations of hetnets. However currently it can only use numpy arrays as its backend and lacks scipy.sparse support. Therefore it's probably not appropriate at this time.

Check out 2.xarray.ipynb where we encode Hetionet v1.0 as an xarray.

dhimmel commented 6 years ago

The following products are related and may be good for storing dataframes and potentially matrices on disk:

dhimmel commented 6 years ago

For storing nodes for hetmech, I'm thinking we should use sqlite, to enable fast lookup of node positions from names. However, not sure if we should do this now in https://github.com/greenelab/hetmech/pull/97 or later.

zietzm commented 6 years ago

Closed by #97

dhimmel commented 6 years ago

multinetx

I recently came across multinetx (GitHub), which is a:

python package for the manipulation and visualization of multilayer networks. The core of this package is a MultilayerGraph, a class that inherits all properties from networkx.Graph().

I don't think we have any use for this package at the moment, but I wanted to note it here, so we can keep an eye on its development.