Google Summer of Code 2020

Google Summer of Code 2020

MDAnalysis has been accepted as an organization into Google Summer of Code 2020! If you are a student who is interested in working with us this summer, please read the advice and links below and write to us on the mailing list.

We are looking forward to all applications from interested students (undergraduate and postgraduate).

The application window deadline is March 31, 2020 at 18:00 (UTC). As part of the application process you must familiarize yourself with Google Summer of Code 2020.

If you are interested in working with us please read on and contact us on our mailing list. Apply as soon as possible; the application window opens on March 16, 2020.

Project Ideas

If you have your own idea about a potential project we’d love to work with you to develop this idea; please write to us on the developer list to discuss it there.

We also have listed several possible projects for you to work on, on our wiki. Our initial list of ideas (see summaries in the table below) contains 6 projects at different levels of difficulties and with different skill requirements. However, check the ideas page — we might add more ideas after the posting date of this post.

You don’t need to have all the skills that we are listing, although that helps, of course. But you need to demonstrate to us that you’re able and keen to learn anything that you don’t know yet, and we will be happy to help you learn during your project with us.

project name difficulty description skills mentors
1 Molecular volume and surface analysis easy use an existing package for molecular surface area calculations to build a new analysis module Python, MDAnalysis.analysis @orbeckst @IAlibay @richardjgowers
2 Command Line Interface (CLI) easy create a new package with MDAnalysis-based command line tools Python, bash, Python packages, CI, MD @PicoCentauri @orbeckst @fiona-naughton
3 Interoperability with RDKit medium add capability to MDAnalysis to use the RDKit API to convert data structures between MDAnalysis and RDKit MDAnalysis, RDKit, Python, C++ (?) @richardjgowers @IAlibay
4 Improved atom selections medium replace the selection parsing code with a more flexible parser Python @orbeckst, @IAlibay, @fiona-naughton
5 Serialize Universes for parallel computation medium/challenging make the central Universe data structure serializable with Pickle to enable simple parallelization with Dask or MPI Python, MDAnalysis I/O, task-based parallelization @richardjgowers, @orbeckst, @IAlibay, @fiona-naughton
6 Implement TNG support challenging write Cython bindings to the TNG library and write classes to bring this information into MDAnalysis Cython, C, MD @richardjgowers

Information for Students

You must meet our own requirements if you want to be a student with MDAnalysis this year (read all the docs behind these links!). You must also meet the eligibility criteria.

The MDAnalysis community values diversity and is committed to providing a productive, harassment-free to every member. Our Code of Conduct explains the values that we as a community uphold. Every member (and every GSoC student) agrees to follow the Code of Conduct.

As a start to get familiar with MDAnalysis and open source development you should follow these steps:

Complete the Quick Start Guide

We have a Quick Start Guide explaining the basics of MDAnalysis. You should go through it at least once to understand how MDAnalysis is used. Continue reading the User Guide to learn more.

Introduce yourself to us

Introduce yourself on the mailing list. Tell us what you plan to work on during the summer or what you have already done with MDAnalysis.

Close an issue of MDAnalysis

You must have at least one commit in the development branch of MDAnalysis in order to be eligible, i.e. you must demonstrate that you have been seriously engaged with the MDAnalysis project. We have a list of easy bugs and suggested GSOC Starter issues to work on in our issue tracker on GitHub. We also appreciate if you write more tests or update/improve our documentation.

We recommend you start your application by working on an issue. It will give you a better understanding of MDAnalysis as a project and improve the quality of your application.

To start developing for MDAnalysis have a look at our guide on contributing to MDAnalysis and write to us on the mailing list if you have more questions about setting up a development environment or how to contribute.

Updates to this announcement

@orbeckst, @richardjgowers, @IAlibay, @PicoCentauri, @fiona-naughton, @kain88-de