Skip to main content

BEL related functionality

Project description

Travis Build/Testing Maintainability Test Coverage https://badge.fury.io/py/bel.svg 'Waffle.io - Columns and their card count' Documentation Status

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.7.dev0.tar.gz (62.1 kB view hashes)

Uploaded Source

Built Distribution

bel-0.5.7.dev0-py2.py3-none-any.whl (76.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