BEL Commons: an environment for exploration and analysis of networks encoded in Biological Expression Language

Abstract The rapid accumulation of knowledge in the field of systems and networks biology during recent years requires complex, but user-friendly and accessible web applications that allow from visualization to complex algorithmic analysis. While several web applications exist with various focuses on creation, revision, curation, storage, integration, collaboration, exploration, visualization and analysis, many of these services remain disjoint and have yet to be packaged into a cohesive environment. Here, we present BEL Commons: an integrative knowledge discovery environment for networks encoded in the Biological Expression Language (BEL). Users can upload files in BEL to be parsed, validated, compiled and stored with fine granular permissions. After, users can summarize, explore and optionally shared their networks with the scientific community. We have implemented a query builder wizard to help users find the relevant portions of increasingly large and complex networks and a visualization interface that allows them to explore their resulting networks. Finally, we have included a dedicated analytical service for performing data-driven analysis of knowledge networks to support hypothesis generation.

Pathway Commons is an aggregation of a significant number of publicly available pathway databases accessible in the BioPAX format and through a web interface (Cerami et al ., 2010).
The Network Data Exchange (NDEx) is a repository where scientists can upload, share, and distribute networks with fine-granular user rights management (Pratt et al ., 2015). It accepts many formats (BioPAX, BEL, simple interchange format, etc.) and uses CX as a latent storage medium. It has a rudimentary network query systems (e.g. search for nodes and their neighborhoods) and tight integration with Cytoscape to fill in missing features in network analysis and to provide in-browser visualization with high customization.
GraphSpace is a service for uploading, sharing, and viewing networks in the Cytoscape format (Braradwaj et al ., 2017). While it has the benefit of being domain-agnostic, it has begun to identify and address the issue of layouts in visualization of biological networks.
The Causal Biological Networks Database is a repository for manually curated biological knowledge assemblies encoded in Biological Expression Language (BEL) (Boué et al ., 2015). It provides a BEL-specific viewer and the ability to export in simple interchange format (SIF) and JSON graph interchange format (JGIF) for use in general network visualization programs. Additionally, its underlying data is partially dependent on the SBV Improver , which extends current knowledge assemblies using crowdsourcing in a semi-automated text mining pipeline for relation extraction from biological literature (Meyer et al ., 2015).
NeuroMMSig is a repository of manually curated biological knowledge in the domain of neurodegenerative disease that focuses on the application of a mechanism enrichment algorithm to identify patient subgroups in clinical data sets (Domingo-Fernández et al ., 2017). It also provides data integration of clinical and molecular data and a viewer for qualitative observation. Topological analysis, enrichment analysis.

Application
Create Edit Integrate Share Visualize Data-Driven Analysis Cytoscape (Shannon et al. , 2003) A Java-based desktop client for general network visualization and analysis Cytoscape.js (Franz et al. , 2015) An in-browser Javascript library for creating network visualization PathVisio (Kutmon et al. , 2015) Biological pathway drawing and analysis tool D3.js An in-browser Javascript library for creating a variety of visualization CellDesigner (Matsuoka et al ., 2014) A biologically-oriented editor for gene-regulatory and biochemical networks Supplementary  Table 4 ).
Its analytical service (i.e. the heat diffusion workflow) relies heavily on the scientific Python stack, including NumPy (Travis and Oliphant, 2006), Pandas (McKinney, 2010), and Scikit-learn (Pedregosa, et al ., 2012) to take advantage of their fast implementations of matrices and mathematical operations in C, C++, and Fortran. Network algorithms, including attribute selection and path finding algorithms, were all implemented using NetworkX (Hagberg et al., 2008) and derivative classes of the networkx.MultiDiGraph class in PyBEL ( Supplementary

Flask Package Functionality
Flask An integrated web server and template manager that wraps many of the low level functions in an easy-to-manage programming interface Flask-Security Integrated login and role management system Flask-Admin Provides an interface for users to input data such as the project editing form.
Flask-WTF Underpins the generation and processing of forms Flask-Bootstrap Templating for using standard front-end assets like Bootstrap and jQuery flasgger Produces Swagger specification and Swagger UI page automatically to document the RESTful API.

Tutorial
A tutorial and accompanying data to reproduce the analysis presented in Figure 5 of the manuscript can be found on GitHub at https://github.com/cthoyt/bel-commons-manuscript .