GSoC Ideas 2016

From wiki.openchemistry.org
Revision as of 15:11, 21 January 2016 by Ghutchis (talk | contribs) (Created page with "==Guidelines== The Open Chemistry project is putting together a proposal for this year's Google Summer of Code. Open Chemistry is an umbrella for projects in chemistry, mater...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Guidelines

The Open Chemistry project is putting together a proposal for this year's Google Summer of Code. Open Chemistry is an umbrella for projects in chemistry, materials science, biochemistry, and related areas. We intend to concentrate mainly on projects to improve Avogadro 2, cclib, and Open Babel. We have gathered a pool of interested mentors together who are seasoned developers in each of these projects, and would welcome original ideas in addition to those presented here.

Adding Ideas

When adding a new idea to this page, please try to include the following information:

  • A brief explanation of the idea.
  • Expected results/feature additions.
  • Any prerequisites for working on the project.
  • Links to any further information, discussions, bug reports etc.
  • Any special mailing lists if not the standard mailing list for the project
  • Your name and email address for contact (if willing to mentor, or nominated mentor).

Avogadro 2 Project Ideas

Project: Biological Data Visualization

Brief explanation: Support for biological data, representations, and visualization

Expected results: Add support for molecular fragments on top of the molecule model, extending this to residues, and supporting reading/writing this secondary structure (e.g., PDB format). Additional rendering modes for secondary biological structures (i.e. ribbons, cartoons, etc.), building up a biomolecule from residues, and adding residue labels.

Prerequisites: Experience in C++, some experience with OpenGL and an biochemistry ideally, but not necessary.

Mentor: Marcus D. Hanwell (marcus dot hanwell at kitware dot com).

Project: Molecular Dynamics

Brief explanation: Improve support for molecular dynamics simulations in Avogadro 2

Expected results: Initial support is already present, with support for reading in basic trajectories from XYZ files, and static .gro files for GROMACS. Extend this to more fully support the needs of molecular dynamics, reading in trajectory files, ideally loading in time steps on demand for large files rather than loading the entire file in up front. Investigate whether compression techniques (e.g., delta compression) can improve reading and rendering performance. Investigate ways to support generating input, and dealing with extremely large systems (over one million particles). Add support for characterizing particle movement (e.g., pair-wise distribution functions), rare events, and visualizing these in addition to simple trajectory animations.

Prerequisites: Experience in C++, some experience with OpenGL and an MD code ideally, but not necessary.

Mentor: Marcus D. Hanwell (marcus dot hanwell at kitware dot com).

Project: Scripting Bindings

Brief explanation: Implement an embedded scripting language (e.g., Python or JavaScript) in Avogadro 2

Expected results: Create bindings for the C++ libraries in Python or JavaScript / QtScript. This should allow an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python or JavaScript. A Boost.Python implementation existed in Avogadro v1, but has not been re-implemented with the new code base. An ideal solution would connect to QML and Qt to allow scripting to add menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.

Prerequisites: Experience in C++ and Python or JavaScript, some experience with SWIG, Boost.Python

Mentor: Geoff Hutchison (geoffh at pitt dot edu)