Skip to main content

Hetnets in Python

Project description

Hetnets in Python

Latest DOI GitHub issues Build Status

Overview

Hetnetpy is a Python 3 package for creating, querying, and operating on hetnets. This software provides convenient data structures for hetnets, as well as algorithms for edge prediction. It is specifically tailored and streamlined for hetnets compared to other more generic network software. See https://het.io/software for additional software packages designed specifically for hetnets.

Package relocation

Note that this package was previousely named hetio, available at the following repositories:

In July 2019, the package was renamed to hetnetpy to more clearly represent its functionality and disambiguiate it from other products.

Background

Hetnets: Hetnets, also called heterogeneous information networks, are graphs with multiple node and edge types. Hetnets are both multipartite and multirelational. They provide a scalable, intuitive, and frictionless structure for data integration.

Purpose: This package provides data structures for hetnets and algorithms for edge prediction. It only supports hetnets, which is its primary advantage compared to other network software. Node/edge attributes and edge directionality are supported.

Impetus: Development originated with a study to predict disease-associated genes and continues with a successive study to repurpose drugs.

Caution: Documentation is currently spotty, testing coverage is moderate, and the API is not fully stable. Contributions are welcome. Please use GitHub Issues for feedback, questions, or troubleshooting.

Installation

PyPI

Please use Python 3.4 or higher. To install the current PyPI version (recommended), run:

pip install hetnetpy

For the latest GitHub version, run:

pip install git+https://github.com/hetio/hetnetpy.git#egg=hetnetpy

For development, clone or download-and-extract the repository. Then run pip install --editable . from the repository's root directory. The --editable flag specifies editable mode, so updating the source updates your installation.

Once installed, tests can be executed by running py.test test/ from the repository's root directory.

Design

A Graph object stores a heterogeneous network and relies on the following classes:

  1. Graph
  2. MetaGraph
  3. Edge
  4. MetaEdge

Release instructions

This section is only relevant for project maintainers. Travis CI deployments are used to upload releases to PyPI and GitHub releases. To create a new release, do the following:

  1. Bump the version in __init__.py.

  2. Add a release notes file in release-notes. Format as a commit message that will be used as the GitHub release description.

  3. Run the following commands:

TAG=v`python setup.py --version`
git add hetnetpy/__init__.py release-notes/$TAG.*
git commit --message "Prepare $TAG release"
git push
git tag --annotate $TAG --file release-notes/$TAG.*
git push upstream $TAG
  1. Recommended: Edit the GitHub release to improve formatting and add a Zenodo badge.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hetnetpy-0.3.0.tar.gz (47.5 kB view details)

Uploaded Source

Built Distribution

hetnetpy-0.3.0-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file hetnetpy-0.3.0.tar.gz.

File metadata

  • Download URL: hetnetpy-0.3.0.tar.gz
  • Upload date:
  • Size: 47.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

File hashes

Hashes for hetnetpy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7559bedbf609b6bcae4961fac513bb176833034e92c5759d30917c69265a5901
MD5 dfdf414e8b7cc6ca43029ee52ba2eed1
BLAKE2b-256 09ae0f9b4a94d6b4cb7eb8007f8902292425cb98b1138b43ea80673a1484f8d8

See more details on using hashes here.

File details

Details for the file hetnetpy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: hetnetpy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 54.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

File hashes

Hashes for hetnetpy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47a6e1f3d7d29979f891eccf0e1fab545b6ea24dcbb49a731cf5332a9a0ecced
MD5 dbdfb9c36b94e522167d17bf03efb4d3
BLAKE2b-256 91319628fb14a488c30ca24cf06f1f5dc821d9898793c79c7c16c02c94d3a0da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page