Skip to content

GSoC 2019 Project Ideas

Jonathan Barnoud edited this page Jan 28, 2019 · 4 revisions
Google Summer of Code 2019 A list of projects ideas for Google Summer of Code 2019.

The currently proposed projects are:

  1. Implement Cython Ascii parsers
  2. Periodic boundary handling
  3. Implement support for the TNG format

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.


Cython Ascii Parsers

A large majority of the molecular simulation files read by MDAnalysis are in ascii format eg PDB, Lammps DATA and XYZ files. This leads to them being quite slow to read, especially for very large systems, however users often don't have an alternative to using these files. This project would involve writing new Cython modules to replace the existing file readers (implemented as Python classes in MDAnalysis).

This project would be a good way to build skills in:

  • Writing Cython modules
  • Handling heterogenous & messy real life data
  • Benchmarking and monitoring the performance of Python code

Better Periodic Boundary Handling

Molecular simulations are predominantly ran under periodic boundary conditions, ie upon leaving one face of the simulation volume you re-enter in the opposite face. This can lead to molecules being split over the periodic boundary, which requires rectification before performing calculations. This project would involve defining wrapping and unwrapping functionality in the various AtomGroup methods which are based upon the position of particles, eg center of mass. Due to performance considerations, the functionality of these methods will also require translation into Cython.

This project would be a good way to build skills in:

  • Dealing with 3 dimensional position data
  • Writing numerical Cython functions
  • Test driven development

Implement support for the TNG format

The Gromacs simulation engine can generate TNG (Trajectory New Generation) files. The TNG format is more potent than the traditional XTC and TRR formats, it is expected to replace them in the next few years. MDAnalysis, however, cannot read or write TNG files. We started to work on the bases of that support with the PyTNG library, but most of the work remains to be done.

This project would be a good way to build skills in:

  • Connecting a C library to python using Cython
  • Dealing with binary file formats
  • Test driven development
Clone this wiki locally