GSOC 2014 OpenBEL Projects

OpenBEL Community

Introduction

Machines that build machines = Biology.  Networks are how biology communicates and computes.  BEL (Biological Expression Language) captures and communicates biological networks for both Biologists and Computational Scientists in an easy to use and powerful format.  

OpenBEL is an open source and open community project providing BEL (Biological Expression Language) and a set of tools to process/store biological knowledge.  The community was formed in earnest in May of 2012.

OpenBEL is collaborative project under the sponsorship of the Linux foundation.

Projects

Web Tools

Project: Web visualization of BEL graphs

  • Description: Visualize one or more BEL files as a graph in the browser.  It would be awesome to collapse BEL terms to graph nodes based on namespace equivalency.
  • Results: A web application that displays a BEL graph provided one or more BEL files.
  • Prerequisites: Web tools, Javascript
  • Mentor: Anthony Bargnesi

Project: Web editor for BEL Statements

  • Description: BEL statement like abundance(CHEBI:"hydrogen peroxide") -> biologicalProcess(GO:"apoptotic process") are hard to write if you don't know (1) what values the abundance and biologicalProcess functions accept or (2) you don't the names of the values in the ChEBI (Chemicals of Biological Interest) or GO (Gene Ontology) namespaces.  A web editor that provided suggestions based on namespaces, function semantics, and relationship semantics would improve the knowledge curation process.
  • Results: A web application that provides suggestions and auto-complete behaviour as you write BEL statements.
  • Prerequisites: Web tools, Javascript
  • Mentor: Anthony Bargnesi

 

BEL Parser

Project: Javascript parser for BEL

  • Description: A ragel FSM is written that can parse BEL from Ruby (see bel.rb).  The ragel tool does not provide a Javascript-based FSM generator.  This project would be to implement a Javascript parser for BEL.
  • Stretch Goal: Use the ragel (finite state machine compiler) implementation in bel.rb.  One approach might be to write a ragel C implementation and use emscripten to trans-compile (source to source) to Javascript.
  • Results: A Javascript-based parser for BEL with usage examples in the browser.
  • Prerequisites: Web tools, Javascript, Parsers, Finite State Machines (optional)
  • Mentor: Anthony Bargnesi

 

RDF
Project: Semantic validation of BEL over RDF model

  • Description: Identify invalid BEL statements and BEL statements not conforming to BEL Best Practices, through queries of the BEL RDF model.  See Automated Checking of BEL Documents.
  • Results: A program to execute queries against the BEL RDF model.
  • Stretch Goal: Integration with the openbel.rb project as a REST endpoint.  Knowledge of Ruby is helpful.
  • Prerequisites: RDF, SPARQL
  • Mentor: Natalie Catlett

Project: Supporting BEL annotation constraints in RDF model

  • Description: Create and apply rules to expand and standardize statement annotations using existing relationships between annotation context terms from their source biological ontology (e.g., Cell Ontology, UBERON multi-species anatomy ontology)
  • Results: A program to create annotation inference rules.
  • Stretch Goal: Integration with the openbel.rb project.  Experience with Ruby is helpful.
  • Prerequisites: RDF, SPARQL
  • Mentor: Natalie Catlett

Project: Web visualizations against the BEL RDF model

  • Description: Create web visualizations from the BEL RDF model in order to display knowledge statistics (e.g., numbers of statements involving different abundance and process types, distribution of statements by anatomy context, changes in knowledge content over time).  One suggestion would be to use Visualbox to mix SPARQL with HTML.
  • Results: Web visualizations
  • Prerequisites: RDF, Web tools
  • Mentor: Anthony Bargnesi

 

Data Conversion

Project: Convert BEL to BioPAX

  • Description: Convert BEL's causal and correlative statements to BioPAX (Level 3) biological pathways.  It would be awesome if the same tool could also convert BioPAX back to BEL.
  • Results: A conversion tool that reads BEL input and produces BioPAX XML output.  The tool could also convert in reverse (BioPAX to BEL).
  • Prerequisites: BioPAX
  • Mentor: Natalie Catlett

Project: Convert BEL to SBML

  • Description: Convert BEL's causal and correlative statements to SBML biological models.  It would be awesome if the same tool could convert SBML back to BEL.
  • Results: A conversion tool that reads BEL input and produces SBML XML output.  The tool could also convert in reverse (SBML to BEL).
  • Prerequisites: SBML
  • Mentor: Natalie Catlett

 

Definitions


BEL - Biological Expression Language.  BEL is a language for representing scientific findings in the life sciences in a computable form. BEL is designed to represent scientific findings by capturing causal and correlative relationships in context, where context can include information about the biological and experimental system in which the relationships were observed, the supporting publications cited and the process of curation.

BEL terms - A BEL term represents either a biological abundance or biological process existing in the context of an experiment.  A biological abundance is the measure of some amount of an entity (e.g. increase in abundance of the AKT1 RNA).  A biological process is a class of complex phenomena taking place at the level of the cell or the organism, such as the process of cell cycle or the process of a disease such as cardiomyopathy.  BEL terms are encoded with a function type over one or more namespace parameters.  For example the RNA of AKT1 is encoded as rnaAbundance(HGNC:AKT1) and the cell cyle process is encoded as biologicalProcess(GO:"cell cycle").

Namespace equivalences - Several identifiers and names are used to represent the same biological entity (e.g. the id 207 is the same as the symbol AKT1).  BEL supports namespace equivalencing in order to resolve these differences.

Groups: