Skip to main content

Parsing, validating, and analysis of of BEL graphs

Project description

Biological Expression Language (BEL) is a domain specific language that enables the expression of complex molecular relationships and their context in a machine-readable form. Its simple grammar and expressive power have led to its successful use in the IMI project, AETIONOMY, to describe complex disease networks with several thousands of relationships.

PyBEL is a Python software package that parses BEL statements, validates their semantics, applies common graph algorithms, and allows for data interchange with common formats like Neo4J, JSON, CSV, Excel, and SQL. PyBEL provides a simple API so bioinformaticians and scientists with limited programming knowledge can easily use it to interface with BEL graphs, but is built on a rich framework that can be extended to develop new algorithms.

>>> import pybel, networkx
>>> g = pybel.from_url('http://resource.belframework.org/belframework/1.0/knowledge/small_corpus.bel')
>>> networkx.draw(g)

Command Line Interface

PyBEL also installs a command line interface with the command pybel for simple utilities such as data conversion. Need help? All logs go to ~/.pybel or add -v for verbose output to the standard error stream

Export for Cytoscape

$ pybel convert --path ~/Desktop/example.bel --graphml ~/Desktop/example.graphml

In Cytoscape, open with Import > Network > From File.

Export to Neo4j

$ URL="http://resource.belframework.org/belframework/1.0/knowledge/small_corpus.bel"
$ NEO="neo4j:neo4j@localhost:7474"
$
$ pybel to_neo --url $URL --neo $NEO

Installation

Check CONTRIBUTING.rst for installing the latest version from GitHub or a zip archive. In the future, this repository will be open to the public for use. Installation will be as easy as:

pip install pybel

Contributing

Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.

Acknowledgements

  • PyBEL is proudly built with Paul McGuire’s PyParsing package.

  • Scott Colby designed our logo and provided sage advice

The Cool Pool of Tools

  • Reverse Causal Reasoning Algorithm

  • Canonicalization

  • Semantic Diff

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

PyBEL-0.2.0.tar.gz (739.8 kB view hashes)

Uploaded Source

Built Distribution

PyBEL-0.2.0-py2.py3-none-any.whl (36.2 kB view hashes)

Uploaded Python 2 Python 3

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