GSOC 2015 OpenBEL Projects
-
-
-
-
IRC channel - #openbel on freenode
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
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.