Skip to main content

Hetnets in Python

Latest DOI GitHub issues Build Status

Package relocation

Critical: This is the final release before the package name changes to hetnetpy from hetio. Future development will occur in the hetio/hetnetpy repository. PyPI releases will be available at https://pypi.org/project/hetnetpy/.

Users of v0.2.11 will see a warning when importing hetio. These users should either switch to using hetnetpy or downgrade to hetio<=0.2.10 to avoid the warning.

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 hetio

For the latest GitHub version, run:

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

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 hetio/__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.

Metadata

Release files for hetio 0.2.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hetio 0.2.11
File Size Uploaded
hetio-0.2.11.tar.gz 26.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hetio 0.2.11
File Interpreter ABI Platform
hetio-0.2.11-py3-none-any.whl Python 3 none any Details

Total release size: 56.5 kB

Release files / hetio-0.2.11.tar.gz

Download URL hetio-0.2.11.tar.gz
Size 26.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9a58531f65ad8bf208c27c6f54fa3ccd73e54c906908d81e2a93e25fd4b5437f
BLAKE2b-256 checksum
How to use checksums
9e03082f4a69083e89372eeb9ccba307eb56945b276b9bb4a6f5be28ebf82dd6
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / hetio-0.2.11-py3-none-any.whl

Download URL hetio-0.2.11-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be398d304d5df038de6c786c1746353dcb7958e3786f82af55ea911182ce6708
BLAKE2b-256 checksum
How to use checksums
12c882988e5fb978dcfe5b10157522b1d78f693c84eb879336c011bb93bf0d0a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.11 This release

2 release files

0.2.9

2 release files

0.2.8

1 release file

0.2.7

1 release file

0.2.6

3 release files

0.2.5

3 release files

0.2.4

3 release files

0.2.3

3 release files

0.2.2

3 release files

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page