Skip to content

GSoC 2018 Project Ideas

Jonathan Barnoud edited this page Jan 19, 2018 · 8 revisions
Google Summer of Code 2017 A list of projects ideas for Google Summer of Code 2018.

The currently proposed projects are:

  1. Improve distance search

Or work on your own idea! Get in contact with us to propose an idea and we will work with you to flesh it out into a full project. Raise an issue in the Issue Tracker or contact us via the developer Google group.

You can find the list of all available mentors for MDAnalysis here.


Improve distance search

Mentors: Richard, Jonathan Intensity: Hard

Analysis of molecular dynamics simulations typically involves calculations of based upon atoms which are spatially close to each other. For example a radial distribution function is often only interesting up to distances of around 1.6 nm. The naive approach to calculate this is to calculate the distance between each pair of atoms, however as the size of the system grows the number of useful pair distances decreases while the computational cost scales as N^2.

To greatly improve the efficiency of this operation, we can first decompose the total simulation volume into smaller cells. We can then calculate the distances between atom pairs in neighbouring cells. If atoms are not in neighbouring cells we already know that the distance is to large to be interesting. A theoretical description of this algorithm can be found in this book Appendix F

One domain decomposition algorithm is cell grids.

In this project you would integrate the cell grid algorithm into MDAnalysis.

On-the-fly trajectory transformation

Mentors: Richard, Jonathan Intensity: Easy

The analysis and visualization of molecular simulation trajectories often requires to transform the raw coordinates. Such transformations can be about centering a molecule in the box, aligning a molecule, or prevent molecular complexes to be broken through the periodic box. Frequently, it is not one, but multiple transformations that must be applied to each frame. Some of these transformations are implemented in MDAnalysis, but they must be applies manually and often saved on disk before analyses can be used, or before the trajectory can be visualize with a third party library such as nglview.

The student will be asked to implement a way to declare a transformation pipeline that will be applied on-the-fly on a trajectory at reading time. See issue 786 for the discussion on the feature.

Clone this wiki locally