Blog

Google Summer of Code 2024

Google Summer of Code with
MDAnalysis 2024

MDAnalysis has been accepted as an organization for Google Summer of Code 2024! If you are interested in working with us this summer and you are new to open source, please read the advice and links below and write to us on the GSoC with MDAnalysis discussion forum.

We are looking forward to all applications from any new and beginner open source contributors or students over 18 years old; see a full list of the eligibility requirements in the GSoC FAQ. Projects are scoped as either 90-hour (small), 175-hour (medium) or 350-hour (large) size. The duration can be extended from the standard 8 weeks to up to 12 weeks (for small projects), or from the standard 12 weeks up to 22 weeks (for medium or large projects).

The application window deadline is April 2, 2024 - 18:00 UTC. As part of the application process you must familiarize yourself with Google Summer of Code 2024.

If you are interested in working with us please read on and contact us on our GSoC with MDAnalysis discussion forum. Potential GSoC Contributors are expected to familiarize themselves with application requirements and mentoring organizations as soon as possible. It’s also never too early to discuss application ideas with us!

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 discussion forum to discuss it there.

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

Our experience shows that having the listed skills increases the chances that a project will be completed successfully, so we use them as part of our decision criteria in choosing GSoC contributors.

project name difficulty project size description skills mentors
1 Generalise Groups hard 350 hours Generalise concept of groups Python, NetworkX, Molecular modeling @richardjgowers, @yuxuanzhuang
2 Extend MDAnalysis Interoperability medium 350 hours Extend converters module to other relevant packages Python, Molecular modeling @hmacdope, @yuxuanzhuang, @xhgchen
3 On the fly transformations medium/hard 175/350 hours Expand on code for on-the-fly transformations through documentation, product research or performance optimization Python, Molecular modeling, Computational chemistry, Scientific writing, Performance profiling @richardjgowers, @cbouy, @hmacdope, @xhgchen
4 2D visualization for small molecules easy 90 hours Add basic 2D visualization functionalities for small molecule groups in notebooks Python, basic knowledge of MDAnalysis and RDKit @cbouy, @hmacdope, @xhgchen
5 Better interfacing of Blender and MDAnalysis medium 350 hours Add functionality to visualize simple MDAnalysis results in Blender Python, basic knowledge of MDAnalysis, familiarity with Blender ideal @BradyAJohnston, @yuxuanzhuang

Information for prospective GSoC Contributors

You must meet our own requirements if you want to be a GSoC Contributor with MDAnalysis this year (read all the docs behind these links!) and read the points below for the application process. You must also meet the eligibility criteria. Our GSoC FAQ collects common questions from applicants.

In short:

  1. Agree to be bound by our Code of Conduct;
  2. Familiarize yourself with MDAnalysis;
  3. Submit a short pre-proposal
  4. If you have been invited to proceed with your application (based on your pre-proposal) have a pull request merged in MDAnalysis.

Code of Conduct

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

Familiarize yourself with MDAnalysis

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

  1. Watch the MDAnalysis Trailer
  2. Complete the Quick Start Guide

Watch the MDAnalysis Trailer

The MDAnalysis Trailer on YouTube is a one minute introduction to MDAnalysis.

There are also additional introductory videos available to give you an idea of what problems MDAnalysis is solving.

Complete the Quick Start Guide

Start by installing the MDAnalysis package. 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.

Submit a pre-proposal

We ask you to submit a short pre-proposal so that we can evaluate your understanding of the proposed project. In this pre-proposal you tell us what project you’d like to work on, what you consider the major challenges, and how you plan to solve the problem. MDAnalysis developers will review your proposal and then either invite you to continue with your application and work on an issue to get involved in the code development or tell you that we will not consider your application. Please note that this decision is final, and applicants should only submit one pre-proposal. A rejection is not a judgment on you or your abilities but an assessment of how well you fit the specific requirements of MDAnalysis as a scientific software package — we much rather you spend your energies on contributing to another exciting GSoC project than being rejected later by MDAnalysis.

We require GSoC applicants to submit a pre-proposal that will determine who is then invited to attempt a pull request (see below). If you are invited to attempt a pull request and ultimately submit a full application, the pre-proposal will help you gather some of the information you will need to include.

Submit your pre-proposal via this submission form as soon as possible, but no later than March 15, 2024. You should prepare the following information for your pre-proposal:

  • Email address
  • GitHub handle
  • Real name (optional)
  • Basic information on your background (e.g., education, relevant experience with MDAnalysis and molecular dynamics or computational physics/chemistry/materials)
  • Project title
  • Project size (90h, 175h, 350h)
  • Problem: Describe the problem to be solved. What is the background? What is the overarching question? You can also comment on why this is an interesting or difficult problem. Clearly define the overall goal of what you want to find out.
  • Approach: Describe how you are going to reach your goal (i.e., answer the overarching question). Which algorithms are you going to use? Are there any libraries or other packages you want to use? Do you need to research different solutions? Be as concrete as possible; you want to convince your audience that it is feasible to solve this problem and you have an idea how to tackle it.
  • Objectives: Use a numbered list to state 3–5 measurable non-trivial outcomes that you need to achieve in order to reach the overall goal. These are the milestones that you have to reach; they are possibly dependent on each other. For each objective it must be clear how to decide if you fulfilled it or not. Objectives are formulated in terms of actions and deliverables.

Have a pull request merged (if you are invited to based on your pre-proposal)

GSoC contributors with MDAnalysis will need to demonstrate that they have been seriously engaged with the MDAnalysis project by merging a pull request prior to submitting their full application on the GSoC website.

You must have at least one commit in the development branch of MDAnalysis in order to be eligible. Note that the earlier you submit your pre-proposal (which are reviewed on a rolling basis), the more time you may have to work on having code merged!

We have a list of easy bugs and suggested GSOC Starter issues to work on in our issue tracker on GitHub. We only accept one GSOC Starter issue per applicant so that all contributors invited to attempt pull requests get a chance. If you want to dive deeper, we encourage you to tackle some of the other issues in our issue tracker. We also appreciate contributions which add more tests or update/improve our documentation.

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

Final remarks

Submit your pre-proposal before March 15, 2024, but the earlier the better! We will then let you know via the email you provide in the pre-proposal submission form if you have been selected to attempt an issue on GitHub and ultimately submit a full application; we strive to inform you of a decision within a week of your submission. The GSoC contributor application period opens on March 18, 2024.

Feel free to ask any questions on the discussion forum. We are also happy to chat on our MDAnalysis Discord server in the #gsoc channel (join with the public invitation link).

We look forward to working with you in GSoC 2024!

— MDAnalysis GSoC mentors (GitHub @MDAnalysis/gsoc-mentors, Discord @gsoc-mentor)

Online Workshop - Introduction to MDAnalysis and Molecular Nodes

After a successful launch of our online training workshop series in October 2023, MDAnalysis is happy to announce that the next scheduled workshop will take place February 28, 2024 from 03:00-07:00 UTC to accommodate folks based in Australasian time zones.

For this remote workshop we are collaborating with @bradyajohnston, creator of Molecular Nodes. Molecular Nodes is an add-on for the 3D modeling & animation program Blender. Molecular Nodes enables easy import of molecular dynamics trajectories and topologies from a variety of simulation sources. Molecular Nodes provides the translation layer that allows importing of molecular data formats, while Blender provides the industry-leading animation and rendering tools to create visually stunning molecular graphics with ease.

The program will consist of an introduction to the MDAnalysis Python library and hands-on basic MDAnalysis tutorials, followed by an introduction to Molecular Nodes and an interactive tutorial for visualizing imported MDAnalysis data. The workshop will be delivered to a small group to allow interactive discussions, questions, and participant engagement. This workshop is free and suitable for researchers in the broad area of computational (bio)chemistry, materials science and chemical engineering. It is designed for those who are beginners to MDAnalysis and Molecular Nodes, but already have previous knowledge of Python and working with shell and notebook environments.

Apply soon (places limited)

If you are interested in participating in this workshop, fill out this short application. Applications will be reviewed on a rolling basis, and selected participants will be notified by Feb 19, 2024.

We have a small number of bursaries to enable participation for researchers from underrepresented groups who are facing financial barriers; these can be applied for when completing the application form.

Any questions regarding the workshop or the application process should be directed to [email protected].

@bradyajohnston @fiona-naughton @jennaswa @lilyminium @yuxuanzhuang (workshop organizers)

Call for Abstracts for MDAnalysis UGM 2024

We are now accepting abstracts for the 2024 MDAnalysis UGM (User Group Meeting), taking place August 21-23, 2024, in London, UK at King’s College London. Abstracts are welcomed from all areas relevant to MDAnalysis’s work, from scientific applications (e.g., biomolecular simulations, soft matter and materials science, drug discovery and more) to the use and development of open source software and tools for molecular simulations data analysis. When submitting your abstract, you may indicate whether you prefer to give a 15 minute talk, 5 minute lighting talk, or poster presentation.

MDAnalysis strives to be a diverse and welcoming community for all. While the event will be free to attend, a limited number of travel bursaries are available to enable those facing financial barriers to attend and present their work. If you would like to apply, please follow the prompts on the abstract submission form.

The deadline for submitting your abstract and/or bursary application is March 15, 2024. Submissions will be reviewed by the end of March 2024; we will contact applicants shortly after.

Follow our official event page on our website for the most up-to-date information about the UGM. If you have any questions or special requests, you may contact [email protected].