GSoC Ideas 2015: Difference between revisions
ATenderholt (talk | contribs) |
|||
Line 62: | Line 62: | ||
==Miscellaneous Project Ideas== | ==Miscellaneous Project Ideas== | ||
===Project: OpenCL interface to calculate QM surface data=== | ===Project: OpenCL interface to calculate Molecular and QM surface data=== | ||
'''Brief explanation:''' Leverage generic GPU/CPU language to generate surface data such as molecular orbitals or electron (spin) density. (Note: OpenCube already seems to leverage multiple cores effectively, but a former colleague of mine developed Lumo using OpenCL: http://www.kieber-emmons.com/Lumo/. I remember near-instantaneous rendering of MOs without any pre-calculation tricks.) | '''Brief explanation:''' Leverage generic GPU/CPU language to generate surface data such as molecular orbitals or electron (spin) density. (Note: OpenCube already seems to leverage multiple cores effectively, but a former colleague of mine developed Lumo using OpenCL: http://www.kieber-emmons.com/Lumo/. I remember near-instantaneous rendering of MOs without any pre-calculation tricks.) Similar code exists in VMD. | ||
Additional performance improvements may come through efficient surface generation techniques used in other work (e.g., using the Euclidian Distance Transform). | |||
'''Expected results:''' Generate appropriate kernels that can be used in any language that supports OpenCL (C, C++, Python, etc.) across multiple platforms. | '''Expected results:''' Generate appropriate kernels that can be used in any language that supports OpenCL (C, C++, Python, etc.) across multiple platforms. | ||
'''Prerequisites:''' General programming experience, and ideally experience in chemistry and matrix manipulations. | '''Prerequisites:''' General programming experience, and ideally experience in chemistry and matrix manipulations. | ||
'''Suggested Readings:''' | |||
* http://www.ks.uiuc.edu/Publications/Papers/paper.cgi?tbcode=STON2009 | |||
* http://zhanglab.ccmb.med.umich.edu/EDTSurf/ | |||
'''Mentor:''' Adam L. Tenderholt (atenderholt at gmail dot com) ( and maybe Marcus?) | '''Mentor:''' Adam L. Tenderholt (atenderholt at gmail dot com) ( and maybe Marcus?) |
Revision as of 21:32, 23 January 2015
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 VTK.
- 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. Additional rendering modes for secondary biological structures, building up a biomolecule from residues, and
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. Invesstigate ways to support generating input, and dealing with extremely large systems (over one million particles). Add support for characterizing particle movement, 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).
cclib Project Ideas
Project: Data Export
Brief explanation: Support for exporting the results from parsing a log file to a standard format such as CML.
Expected results: Add an export module to save the ccData object as an external file.
Prerequisites: Experience in Python, some experience with XML and chemistry ideal, but not necessary.
Mentor: Adam L. Tenderholt (atenderholt at gmail dot com).
Project: Integrate with Avogadro
Brief explanation: Allow Avogadro to parse cclib-supported formats.
Expected results: Link Python interpreter into Avogadro, handle calls into cclib, and convert from Python Objects to C++ objects
Prerequisites: Experience in C++, some experience with the Python C-bindings ideal, but not necessary.
Mentor: Adam L. Tenderholt (atenderholt at gmail dot com) ( and maybe Marcus?)
Open Babel Project Ideas
Miscellaneous Project Ideas
Project: OpenCL interface to calculate Molecular and QM surface data
Brief explanation: Leverage generic GPU/CPU language to generate surface data such as molecular orbitals or electron (spin) density. (Note: OpenCube already seems to leverage multiple cores effectively, but a former colleague of mine developed Lumo using OpenCL: http://www.kieber-emmons.com/Lumo/. I remember near-instantaneous rendering of MOs without any pre-calculation tricks.) Similar code exists in VMD.
Additional performance improvements may come through efficient surface generation techniques used in other work (e.g., using the Euclidian Distance Transform).
Expected results: Generate appropriate kernels that can be used in any language that supports OpenCL (C, C++, Python, etc.) across multiple platforms.
Prerequisites: General programming experience, and ideally experience in chemistry and matrix manipulations.
Suggested Readings:
- http://www.ks.uiuc.edu/Publications/Papers/paper.cgi?tbcode=STON2009
- http://zhanglab.ccmb.med.umich.edu/EDTSurf/
Mentor: Adam L. Tenderholt (atenderholt at gmail dot com) ( and maybe Marcus?)