I have just released the Blue Brain BioExplorer, a tool for
scientists to extract and analyse scientific data from visualization.
BBBE is built on top of Blue Brain Brayns, the Blue Brain rendering platform.
Architecture
The BBBE application is built on top of Brayns, the Blue
Brain rendering platform. The role of the application is to use the
underlying technical capabilities of the rendering platform to create
large scale and accurate 3D scenes from Jupyter notebooks.
General components
Assemblies
Assemblies are groups of biological elements, such as proteins,
membranes, glycans, etc.
As an example, a virion is made of a lipid membrane, spikes proteins, an
RNA sequence, etc, and all those elements belong to the same object.
That’s why they need to belong to the same container, the assembly.
Assemblies can have different shapes: Sphere, Cube, etc, that are
automatically generated according to the parameters of individual
components.
Proteins
Proteins are loaded from PDB files. Atoms, non-polymer chemicals and
bonds can be loaded and displayed in various colour schemes: chain id,
atom, residue, etc.
Proteins also contain the amino acid sequences of the individual chains.
Sequences that can be used to query glycosylation sites, or functional
regions of the protein.
Glycans
Glycans are small proteins that are attached to an existing protein
of the assembly. Individual glycan trees are loaded from PDB files and
attached to the glycosylation sites of the specified protein. By
default, glycans are attached to all available glycosylation sites, but a
set of specific sites can be specified.
RNA sequence
An RNA sequence can be loaded from a text sequence of codons.
Various shapes can be selected to represent the RNA sequence: Trefoil
knot, torus, star, etc. This allows the sequence to be efficiently
packed into a given volume. A different color is assigned per type of
codon.
Mesh-based membranes
Mesh-based membranes create membranes based on 3D meshes. This allows
the construction of complex membranes where mesh faces are filled with
proteins.
Python SDK
A simple API if exposed via the BBBE python library. The API allows scientists to easily create and modify assemblies, according the biological parameters. The BBBE
programming language is not necessarily reflecting the underlying
implementation, but is meant to be as simple as close as possible to the
language used by the scientists to describe biological assemblies.
Documentation
See here for detailed documentation of the source code.
Deployment
BBBE binaries are publicaly available as docker images. BBE is
designed to run in distributed mode, and is composed of 3 modules: A server, a python SDK, and a web user interface. This means that there are 3 docker images to be downloaded on run. Those images can of course run on different machines.
In this example, we will expose the server on port 5000, the python
SDK jupyter notebooks on port 5001, and the user inferface on port 5002.
One is free to change those ports at will.
Server
docker run -ti --rm -p 5000:8200 bluebrain/bioexplorer
Python SDK
docker run -ti --rm -p 5001:8888 bluebrain/bioexplorer-python-sdk
Web User Interface
docker run -ti --rm -p 5002:8080 bluebrain/bioexplorer-ui