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 details)

Uploaded Source

Built Distribution

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

bel-0.5.7.dev0-py2.py3-none-any.whl (76.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for bel-0.5.7.dev0.tar.gz
Algorithm Hash digest
SHA256 51c7081b0f2f8161a7de818f252d0c8abe1d95e52d8fc1a833393728209284f9
MD5 5b2bafe711d3f8a61c0337ede24098f1
BLAKE2b-256 6a20a31981a9b9ce08a1fb9af0c05fb3f5c45a0929c2e7f6d15de3b3491d8f95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bel-0.5.7.dev0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f17431b3283488ad510fac7e665906d864862bb285eca0752624e317ef267984
MD5 fdd57159111b04a96cd0882552c85b16
BLAKE2b-256 83f183e11354ba304251c29eba4d678aa7f029d62bc701b465c3c7fc00b59ee7

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