Students

Project Database

This page contains the database of possible research projects for master and bachelor students in the BlueBrain Project. Visiting students are also welcome to join BlueBrain, but it should be noted that no funding is offered for those projects. To enroll for a project, please directly contact one of the assistants (directly in his/her office, by phone or by mail). Spontaneous propositions for projects are also welcome.

In silicio neuroscience

Category: Semester or Master Project
Keyword(s): –
Type: 30% theory  70% software
Responsible professor: Henry Markram
Responsible: Daniel Keller
Description:
The sub-cellular group of the BBP performs biochemical simulations of spineactivity, and maintains a local database that holds biophysical data on the proteins present in dendritic spines. This database is regularly updated with new proteins (current size is around 200, and each modelled protein can have several states) and forms a core tool in the BBP sub-cellular simulation effort. A crucial aspect of this work is to maintain consistency among the protein data tables in the database, and to export them to simulations. This requires mapping the protein composition of a spine onto a realistic synapse morphology (taken from the BBP neocortical column simulation), assigning realistic concentrations to the proteins, and including their biologically-relevant reactions. The evolution of the spine is then followed using reaction-diffusion simulators.

The aim of this project is to develop the software infrastructure to link the API of the sub-cellular database to a user-interface GUI. The software should enforce consistency on the maintained protein data, simplify the processes of importing new proteins into the database, and export selected spine states for simulation. To do so, we will port data from the current database to a more recent database schema, modify and expand the existing API onto the database to allow users to easily augment and extract data from it, and improve and augment simulation export scripts integrated with the database.

Category: master project
Keyword(s): model validation  simulation  neuronal microcircuits  model selection
Type: 50% theory  50% software
Responsible professor: Marc-Oliver Gewaltig
Description:
The Blue Brain Project is developing morphologically and electrically detailed models of cortical microcircuits. The objective of this project is to investigate how detailed microcircuit models can be mapped to less complex network models while preserving the response properties of the circuit to a range of biologically meaningful stimuli. Complexity levels to be studied in the project are point neuron networks as well as population-level networks.
Category: Semester or Master Project
Keyword(s): simulation  glia  modeling
Type: 70% theory  30% software
Responsible professor: Felix Schürmann
Responsible: Daniel Keller
Description:
The Blue Brain Project performs a variety of simulations of molecular pathways in astrocytes, a type of cell in the central nervous system. Such simulations capture aspects of metabolic and molecular signaling pathways in astrocytes, and include calcium modelling and enzymatic cascades. This project involves extending the current models and performing new simulations. The primary simulators used are STEPS and NEURON, allowing for different levels of detail in the model. The ideal candidate will have a strong background in biology and biochemistry. During the course of the project the student the student will augment skills in reading scientific papers and using scientific databases. They should have a familiarity with python as well as Linux, and be comfortable numerically setting up and solving differential equations. Please contact [email protected] for more information.
Category: Semester or Master Project
Keyword(s): neuron morphologies  vasculature
Type: 20% theory  80% software
Responsible professor: Daniel Keller
Responsible: Daniel Keller
Description:
A skeleton vasculature dataset is a graph comprised of nodes which have properties of position and radius, and edges that specify the connectivity of the former. The points, radii and their connectivity determine the vascular geometry. Such a dataset is generated by applying skeletonization algorithms to segmented 3D images of microvasculature and stored in HDF5 binary files. The skeleton is primarily used for the structural reconstruction of the neuronal – glial – vascular architecture, thus an accurate and high quality representation of the experimental data is required. However, automatic reconstruction of vasculature graphs generates artifacts, such as gaps, discontinuities and in general disconnected components, which obstruct the application of functional models. The aim of the project is the creation of a C++ framework for repairing vasculature skeletonized graphs using state-of-the-art algorithms from the literature. The repair process will connect the disconnected parts of the network and reconstruct the gaps that have been introduced from the artifacts in the reconstruction / skeletonization process. The output of the repair framework will be a fully connected network with a topology as close as possible to the biological one (see reference for an example repair method article). The ideal candidate should have strong experience with programming and algorithms. Furthermore, a background in tensor algebra, differential geometry and graph theory would be a plus. The student will develop problem-solving and programming skills in a real world problem and have the opportunity to practice his/hers discipline to a work environment. Reference: https://core.ac.uk/download/pdf/12042994.pdf

Neuroinformatic

Category: master project
Keyword(s): python  Blue Brain Nexus  semantic web  data management  recommender system
Type: 10% theory  90% software
Responsible professor: Sean Hill
Responsible: Samuel Kerrien
Description:

We would like to build for the Blue Brain Project a data driven product that
would enable its scientists to monitor relevant scientific literature.
To do so, we propose to articulate this project along the following steps:

1. Define the scope of interest, this could include several input mechanisms:

a. Enable the user to define the scope of interest as a list of topics
At Blue Brain that would mean for instance:

– Neuroscience Simulation
– Brain Atlasing
– Neuron Morphology
– Electrophysiology
– Work of prominent laboratories and other Neuroscience organisations (e.g. Allen Brain Institute, INCF, NIF, …)
– Work of specific named experts.

b. Leverage a given set of scientific publications to initialise the scope of interest by leveraging specific attributes of these publications:

– title,
– authors and their affiliations,
– keywords,
– abstract.

2. Build a pipeline that would regularly (eg. daily) check for newly published
literature and ingest relevant content into our home grown Knowledge Graph
technology. Furthermore we could potentially leverage existing data models
developed in the Springer Nature’s Scigraph [2] to represent the following
entities and their relations: publication, author, affiliation.

3. Build a data pipeline to generate scientific publication recommendations
to Blue Brain’s scientists, for instance in the form of a daily/weekly
email if they have subscribed to the service. The delivery of these
recommendations could be done using a variety of media such as email,
web applications, …

— OPTIONAL —

4. Enable scientist to provide feedback on the recommendations in order to
improve the quality of future recommendations.

Technical requirements

Project to be realised using Python 3. While the the component to be developed
are to be specified as part of the project, it is important to consider that
the interface should be user friendly and give the ability to non technical users
(i.e. non programmer) to configure the pipeline (e.g. step 1 above).

Non Technical requirements

While the details of the project to be developed are still to be
specified, it is important to consider that it should implement best-practices
for maintainable software development, including but not limited to unit testing,
continuous integration, build, release, deployment process, managing services
in various environments, documentation, adherence to and improvement of coding
standards.

References

[1] https://bluebrain.github.io/nexus/
[2] https://www.springernature.com/gp/researchers/scigraph

Category: master project
Keyword(s): Blue Brain Nexus  provenance  semantic web  data management
Type: 10% theory  90% software
Responsible professor: Sean Hill
Responsible: Samuel Kerrien
Description:

Blue Brain Nexus [1] is a FAIR data and knowledge management platform build to
facilitate the integration of scientific data to enable search and discovery.
Blue Brain Nexus enables the capture of data provenance using W3C PROV [2] to
enable tracking, attribution and quality evaluation of integrated data.

Many scientists are using iPython Notebooks to run their scientific workflows.
The goal is to enable them interact with Nexus with a tool they are familiar
with. To achieve that, it would be very desirable to better integrate Notebooks
with Blue Brain Nexus to enable the following functionalities:

1. Search for relevant data available in Nexus,
2. Re-use of identified data in the Notebook’s processing pipeline,
3. Capture of necessary provenance to enable reproducibility of workflow,
4. Save resulting data and comprehensive provenance information in Blue Brain Nexus,
5. Enable the re-execution of a given workflow based on provenance saved in Blue Brain Nexus.

This project consists in building a Python library that a scientist could
leverage in an iPython Notebook to benefit from the 5 functionalities
outlined above.

While the primary goal of this library is to build a first-class integration
between iPython Notebooks and Nexus, it would be desirable if the same
functionalities could be made applicable to any arbitrary Python applications.

The project will involve an initial research step to identify existing relevant
projects and technologies that could be leveraged to facilitate this work, for
instance [3, 4, 5]

Technical requirements

Project to be realised using Python 3 while maintaining compatibility with
Python 2.7. While the details of the library to be developed are still to be
specified, it is important to consider that it should implement best-practices
for maintainable software development, including but not limited to unit testing,
continuous integration, build, release, deployment process, managing services
in various environments, documentation, adherence to and improvement of coding
standards.

Non technical requirements

Minimum duration: 4 months full time.
Location: Blue Brain Project office, Campus Biotech, Geneva

Resources

[1] https://bluebrain.github.io/nexus/
[2] https://www.w3.org/TR/prov-o/
[3] https://github.com/Data2Semantics/prov-o-matic
[4] http://gems-uff.github.io/noworkflow/
[5] https://www.usenix.org/system/files/tapp15-pimentel.pdf

Category: master project
Keyword(s): c++  python  brain atlas  registration  high-resolution  R&D
Type: 25% theory  75% software
Responsible professor: Sean Hill
Responsible: Samuel Kerrien
Description:

Background

Mapping 2D microscopic brain image into a 3D volumetric template is a crucial step for building brain atlas or obtaining additional information such as brain regions from the atlas. Whereas this 2D to 3D image registration problem has been well studied in medical imaging [1, 2], only a few efforts have been made in the field of neuroscience [3]. This might attribute to several challenges such as the ultra-high resolution of the microscopic images, different modality between the 2D image and 3D template, etc.

Manually aligning hundreds of high-resolution 2D images on a 3D reference volume can be tedious and comes with several challenges, mainly the lack of efficient tools and the amount of time necessary. Thus, the candidate will develop a tool to automatically align 2D images on a 3D volume.

Why would this be useful to the Blue Brain Project?

One of the direct application of combining a brain atlas to high-resolution images is to extract metrics about neuron density and brain region connectivity.

This project will contribute to the brain atlasing efforts of the Blue Brain Project (https://bluebrain.epfl.ch).

Project description

The tool to develop should:

  • provide an accurate estimation of 3D positioning (first, with an affine transformation, then, with a non-linear refining)
  • work at different resolution and scales
  • adapt to data from different data providers
  • be computationally efficient (to process a large amount of data)
  • include documentation and good coding practice

The project will probably involve a prototyping step using Python, followed by creating a more production-grade and efficient version using C/C++.

The project will leverage Blue Brain Nexus (https://bluebrain.github.io/nexus) which is used to organise all data used and generated by the Blue Brain Project.

Requirements

We are looking for a Master student (or equivalent) with:

  • a strong training in programming (C/C++, Python)
  • image/signal processing knowledge and practice (OpenCV, ITK, Scipy/Numpy, Scikit-image)
  • experience in Linux/MacOS development
  • git versioning system experience
  • Good coding and documentation practice
  • Interest in research and bibliography
  • Good communication skills in English

This R&D project can be tackled in a lot of different ways, using image/signal processing methods, machine learning, statistics, etc. The candidate must be comfortable with some of these methods and be willing to learn more about the others. In addition, the candidate must be curious about neuroscience, even though having prior knowledge in this field is not mandatory.

References

  1. Markelj et al. A review of 3D/2D registration methods for image-guided interventions. Medical Image Analysis (2012)
  2. Zheng et al. 3D reconstruction of a patient-specific surface model of the proximal femur from calibrated x-ray radiographs: A validation study. Medical Physics (2009)
  3. AlignNII. http://www.nesys.uio.no/AligNII/
Category: master project
Keyword(s): Blue Brain Nexus  provenance  ontologies  semantic web  data management
Type: 20% theory  80% software
Responsible professor: Sean Hill
Responsible: Samuel Kerrien
Description:

Keywords: Blue Brain Nexus, Data Management, Ontologies, Data Migration,
Provenance, Semantic Web
Category: Internship
Type: 20% theory 80% software
Responsible professor: Sean Hill

BBP Supervision
– Mohameth François Sy – Lead Knowledge Engineer
– Samuel Kerrien – Section Manager, Neuroinformatics Software Engineering

Project Context and Description

Blue Brain Nexus [1], an open source (https://bluebrain.github.io/nexus),
domain-independent and scalable data management platform helps organisations
ensure comprehensive support for all FAIR (published data should be Findable,
Accessible, Interoperable, Reusable) principles. With Blue Brain Nexus, data
can be stored, described with metadata that can be validated to enforce
conformance with a given schema, semantically linked and integrated through a
knowledge graph.

Project Description

One of the primary goals of the Blue Brain Nexus platform is to enable multiple
representations and descriptions for the same data. Data representations and
descriptions (metadata, format) change over time. Instead of fighting these
changes for backward compatibility to allow client applications to continue to
function, the goal of this project is to take the opposite direction by
recognizing that some changes have to be backwards incompatible. But allow the
clients to upgrade at their own pace by offering data migration features.
Data migration generally results from the need to transform and integrate data
coming from different databases or applications into a new one. At its core, it
almost always involves transforming data conforming to a source schema to make
it conforms to a target one whether both schemas are implicit or explicit, simple
or complex.

This transformation requires solving two non-trivial tasks:

1. schema matching: identify and qualify semantically related elements between a
source schema and a target one. This task potentially involves qualifying the
identified relatedness but it is not required.

2. data mappings: discover data mapping expressions which, once applied,
transform the source data and make it conform to a target schema.

Data migration scenarios

Find below some examples of data migration scenarios. The list is not exhaustive.

Adding and/or Removing a field in/from a schema
Schema changes can be as simple as adding/removing a field to/from a schema.
For example a previously stored data (conformant to a source schema) can be
easily migrated to a target schema if the only change is the addition of a non
required and independent field.

Changing a field value structure
As an example, let consider the following Person schemas used to describe a
person in an organisation. In the source schema, a person’s address is a string
while it is a structured object (with @type, addressLocality, addressRegion,
postalCode, streetAddress fields) in the target schema. In this case detecting
the correspondence (schema matching) between the two schema fields involved in
the change (the address field) is straightforward as the field name is unchanged.
Finding a mapping expression (data mappings) that allows to go from an address
in a string format to structured address is less easy when taken into account
the variety of possible address formats per country.

The two data migration tasks are not new (as many approaches are already
proposed) and are very difficult to automate and to make accurate.
What information can be exploited to evaluate:
– a degree of relatedness between a source schema and a target one ?
– identify data mapping expressions and assess their effectiveness ?

The goal of this project is to:
1. propose strategies to solve the two above data migration tasks by leveraging
on one hand the Blue Brain Nexus data modeling capabilities (schema,
controlled vocabularies, inference), that clients can use to explicitly and
semantically describe their data, and the knowledge graph on the other hand,
where eventually lots of data are semantically linked.

2. How a data-driven approach (data taken from the knowledge graph) can be
combined with a schema-driven one to address the data migration tasks.

3. Implement the identified strategies through tool and/or service as well as
simple interfaces that can help data integrators perform data migration tasks
semi-automatically.

The project will also involve an initial research step to identify existing
relevant projects and technologies that could be leveraged to facilitate this
work.

Technical requirements

The project can be realised using Java 8, Python 3 or Scala. While the details
of the tools or services to be developed are still to be fully specified, it is
important to consider that it should implement best-practices for maintainable
software development, including but not limited to unit testing, continuous
integration, build, release, deployment process, managing services in various
environments, documentation, adherence to and improvement of coding standards.

Non-technical requirements

Duration: 6-12 months.
Location: Blue Brain Project office, Campus Biotech, Geneva

Useful Resources

[1] https://bluebrain.github.io/nexus/

Visualization

Category: Semester or Master Project
Keyword(s): –
Type: 10% theory  90% software
Responsible professor: Felix Schürmann
Description:

The BBP visualization team is developing DisplayCluster, a software for large-scale high-resolutions, interactive displays. Our current hardware consists of a 4×3 tiled display wall of 55 inch monitors powered by a multi-GPU cluster, with an infrared multitouch frame for gesture recognition. It is used for collaborative work and scientific visualization by the BBP researchers. This internship project focuses on extending the existing capabilities (images, videos and streaming). The candidate will work in collaboration with the team and will be responsible for developing and implementing one or more of the following features:

  • Whiteboard application
  • User interface and touch gesture recognition
  • Content upload and control from mobile devices
  • Session and user management
  • Integration with external 3D visualization tools

Candidates should have:

  • Bachelor degree or in progress of getting a master degree in Computer Science
  • Good understanding of modern C software development practices
  • Experience developing on Linux platforms with a collaborative
  • versioning system (ideally git)
  • Good communication skills in spoken English

Knowledge/experience in the following topics would also be appreciated:

  • Boost libraries
  • Qt framework
  • OpenGL shaders
Category: Internship
Keyword(s): –
Type: 50% theory  50% software
Responsible professor: Felix Schürmann
Description:

The BBP visualization team is maintaining a C library for the generation of smooth and watertight meshes from procedural, morphological descriptions of neurons. The work of this project will be to implement a protoype of GPU-based tesselation for this task. The consists of evaluating and implementing state-of-the-art mesh generation algorithms using GPU computing (Cuda/OpenCL), performance evaluation (benchmarks and profiling).Candidates should have:

  • Bachelor degree or in progress of getting a master degree in Computer Science
  • Good understanding of modern C software development practices
  • Experience developing on Linux platforms with a collaborative versioning system (ideally git)
  • Good knowledge of math and geometry
  • Good communication skills in spoken English

Knowledge/experience in the following topics will also be appreciated:

  • CUDA/OpenCL programming
  • Boost libraries
  • 3D computer graphics
Category: Semester or Master Project
Keyword(s): –
Type: 30% theory  70% software
Responsible professor: Sean Hill
Description:
Neuroscience, like many other areas of science, is experiencing a data explosion,propelled both by improvements in existing and new measurement recording technologies.
These technologies have had a significant impact on basic and clinical neuroscience research. An analysis bottleneck is inevitable as the collection of data using these techniques now outpaces the development of new methods appropriate for analysis of the data. One challenge of the Blue Brain Project (BBP) will be the visualization of this large amount of data analysis.
The goal of this project is, using the blue brain project data analysis module, to develop interactive data visualization tools moving beyond the display of static graphics and spreadsheets to using computers and mobile devices to drill down into charts and graphs for more details, and interactively (and immediately) changing what data you see and how it is processed. Technically, the data will be visualized in a Semantic Media Wiki that is connected to a data base. All the data analysis results are stored in this data base and it is mostly composed by csv files and matplolib static plots. The goal of this project is to generate from python and the data analysis module, interactive javascript plots where the user can interact with results. The key is to create a python library that generate javascript code suitable for the way we want to visualize the data and also to integrate interactivity like zooming, 3D, interactive mouse giving information etc