Skip to content

GSoC 2018 Project Ideas

Max Linke edited this page Mar 14, 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
  2. On-the-fly trajectory transformation

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 methods

Mentors: Richard, Jonathan

Analysis of molecular dynamics simulations typically involves calculations 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 when analysing larger systems 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 sort the coordinates into an intermediate data structure.
Examples of possible data structures include KDTrees, Octrees and domain decomposition methods as described in this book, Appendix F. In this project you would investigate the efficiency of different distance search methods and implement useful methods as part of the distance search API within MDAnalysis.lib.distances.

On-the-fly trajectory transformation

Mentors: Richard, Jonathan

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. And to demonstrate the feature with some usable transformations. See issue 786 for the discussion on the feature.

Clone this wiki locally