Skip to main content

BEL related functionality

Project description

BEL Language

Initial Plans

An approach is to use an EBNF template for BEL and a JSON-based data file to create a fully-specified EBNF input for a parsing generator that will allow us to process a potential full or partial BEL statement, convert it to an AST and be able to convert an AST back to a BEL Statement.

Goals

  • Read a standard language descriptor file (e.g. EBNF) for parser generation

  • Use configuration files for creating a BEL V.x parser/validator/autocomplete engine

  • Allow full or partial BEL Statements

  • Identify syntax issues in the statement and provide suggestions on fixing them

  • Identify semantic issues in the statement and provide suggestions on fixing them

  • Identify unknown Namespaces or Namespace values

  • Read a Nanopub and validate the full Nanopub, e.g. the BEL statement, Annotations, Citation, etc

  • Provide location-based parser state information (e.g. location 10 is in the required arg part of a protein abundance - e.g. the protein value)

  • Provide autocompletion suggestions given a location in the BEL Statement

  • Convert BEL statements into an AST and then back into a BEL Statement

Install

pip install git+https://github.com/belbio/bel@v<RELEASE>#egg=bel-<RELEASE>

Development Notes

We will develop a makefile to handle updating the BEL versions, creating EBNF files, updating the version, running tests and deploying the package to PyPi.

Setting up bel for local development

1. git clone git@github.com:belbio/bel.git 1. cd bel 1. Setup Virtual Environment python3.6 -m venv .venv –prompt bel 1. Install python packages needed pip install -r requirements.txt 1. Install local bel pip install -e .

Updating version

Use one of the following commands depending on what part of the semantic version you want to increase.

bumpversion major bumpversion minor bumpversion patch

These commands use the .bumpversion.cfg file to determine in which files to update the semantic version.

BEL Nanopub processing library. The performs the following functions:

  • BEL Nanopub validation (in development)

    • Nanopub JSONschema validation

    • BEL statement validation

    • BEL context validation

  • BEL Nanopub -> Edge conversion (BEL Pipeline)

  • CLI scripts to convert BEL Nanopubs to BEL Edges and perform validation

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

bel-0.5.3.dev0.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bel-0.5.3.dev0-py2.py3-none-any.whl (53.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bel-0.5.3.dev0.tar.gz.

File metadata

  • Download URL: bel-0.5.3.dev0.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bel-0.5.3.dev0.tar.gz
Algorithm Hash digest
SHA256 539e7ae06b20b0f85fab537abe00dcc058792e8bea17f7fd827f3e82fe5c48ba
MD5 f0348d894c99d66c727466a683c083ff
BLAKE2b-256 3d697413709c4f3f6bc0405842e65b826e4cb9efe2bdf9777c3eb4ab9e96cee1

See more details on using hashes here.

File details

Details for the file bel-0.5.3.dev0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for bel-0.5.3.dev0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 df59ed876b82ba423768bbbafbf30b84b91fe1995ef1e224eba3004557433436
MD5 686915bffbe251cd12ab84752610db79
BLAKE2b-256 f3244490206e9972df6ba3cf7757a062350e0e2fa2a31bf1d0c75909efa3c050

See more details on using hashes here.

Supported by

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