-
Notifications
You must be signed in to change notification settings - Fork 657
GSoC 2019 Project Ideas
The currently proposed projects are:
- Implement Cython Ascii parsers
- Periodic boundary handling
- 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.
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
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
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