https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&feed=atom&action=history
GSoC Ideas 2020 - Revision history
2024-03-29T05:20:48Z
Revision history for this page on the wiki
MediaWiki 1.39.3
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=684&oldid=prev
Ghutchis at 17:13, 16 March 2020
2020-03-16T17:13:26Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:13, 16 March 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l28">Line 28:</td>
<td colspan="2" class="diff-lineno">Line 28:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Biomolecule.png|thumb|300px|Protein Visualization]]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Biomolecule.png|thumb|300px|Protein Visualization]]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">Support for biological data</del>, <del style="font-weight: bold; text-decoration: none;">representations</del>, <del style="font-weight: bold; text-decoration: none;">and visualization</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;">Efficient biomolecular visualization</ins>, <ins style="font-weight: bold; text-decoration: none;">including surfaces</ins>, <ins style="font-weight: bold; text-decoration: none;">cartoons, etc. would be ideal</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">Rudimentary support </del>for residues, and reading secondary structure (e.g., PDB format) is now present. Additional rendering modes for secondary biological structures (i.e. ribbons, cartoons, etc.), building up a biomolecule from residues, and adding residue labels are desired. Code and algorithms may be adapted from 3DMol.js. Since biological molecules are often large (10^3 to 10^6 atoms and bonds), such implementations should be highly efficient and optimized, adopting symmetry and other techniques to improve interactivity and rendering performance. General extension of Avogadro for editing/interacting with biological data structures, and/or structures with named fragments would be ideal. Extending that to porting builders for fragment based building blocks would be a big plus once basic support for rendering is in place.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">Support </ins>for residues, and reading secondary structure (e.g., PDB format) is now present. Additional rendering modes for secondary biological structures (i.e. ribbons, cartoons, etc.), building up a biomolecule from residues, and adding residue labels are desired. Code and algorithms may be adapted from 3DMol.js. Since biological molecules are often large (10^3 to 10^6 atoms and bonds), such implementations should be highly efficient and optimized, adopting symmetry and other techniques to improve interactivity and rendering performance. General extension of Avogadro for editing/interacting with biological data structures, and/or structures with named fragments would be ideal. Extending that to porting builders for fragment based building blocks would be a big plus once basic support for rendering is in place.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience in C++, some experience with OpenGL and biochemistry ideally, but not necessary.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience in C++, some experience with OpenGL and biochemistry ideally, but not necessary.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l40">Line 40:</td>
<td colspan="2" class="diff-lineno">Line 40:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implement an embedded scripting language (i.e., Python) in Avogadro 2</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implement an embedded scripting language (i.e., Python) in Avogadro 2</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''’ Enable an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python. <del style="font-weight: bold; text-decoration: none;">Initial </del>Python bindings <del style="font-weight: bold; text-decoration: none;">have been re-implemented </del>using PyBind11 with the new codebase, and the Avogadro 2 core libraries are pip installable. Extending the coverage of the API from the rudimentary parts of core/io would be a good starting point. An ideal solution would connect to PySide2, to allow scripting to add UI like menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''’ Enable an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python. Python bindings <ins style="font-weight: bold; text-decoration: none;">exist, </ins>using PyBind11 with the new codebase, and the Avogadro 2 core libraries are pip installable. Extending the coverage of the API from the rudimentary parts of core/io would be a good starting point. An ideal solution would connect to PySide2, to allow scripting to add UI like menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Example scripts, documentation, are highly encouraged.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Example scripts, documentation, are highly encouraged.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l58">Line 58:</td>
<td colspan="2" class="diff-lineno">Line 58:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu)</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu)</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== Project: Tools for Interactive Molecular Dynamics ===</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Brief explanation:''' Building solvent boxes, implementing standard molecular dynamics using in-progress optimization framework.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Expected results:''' Avogadro (v1) has interactive force field optimization allowing building and manipulation (e.g., push-pull atoms into position). Some users call this 'video game mode' ;-) A new optimization framework is in progress, including calling external programs for energies and forces. The project would enable building out MD simulations, including tools to add water or solvent boxes, build larger systems (e.g., via PackMol integration) and implement simple MD integration and thermostats.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Prerequisites:'' Experience in C++, ideally with knowledge of molecular dynamics methods and tools. Some Python would be helpful </ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu)</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: Improve Avogadro Quantum Processing & Analysis ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: Improve Avogadro Quantum Processing & Analysis ===</div></td></tr>
</table>
Ghutchis
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=682&oldid=prev
Greg.landrum: /* RDKit Project Ideas */
2020-03-08T06:37:06Z
<p><span dir="auto"><span class="autocomment">RDKit Project Ideas</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 03:37, 8 March 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l205">Line 205:</td>
<td colspan="2" class="diff-lineno">Line 205:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://www.rdkit.org The RDKit] is a BSD licensed open source cheminformatics toolkit written in C++ with wrappers for use from Python, Java, and C#. The RDKit also provides "cartridge" functionality that allows chemical searching in the open-source relational database PostgreSQL.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://www.rdkit.org The RDKit] is a BSD licensed open source cheminformatics toolkit written in C++ with wrappers for use from Python, Java, and C#. The RDKit also provides "cartridge" functionality that allows chemical searching in the open-source relational database PostgreSQL.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <del style="font-weight: bold; text-decoration: none;">Make </del>RDKit <del style="font-weight: bold; text-decoration: none;">2D molecular sketches beautiful </del>===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <ins style="font-weight: bold; text-decoration: none;">Integrate trained neural networks into the </ins>RDKit ===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">The RDKit</del>'s <del style="font-weight: bold; text-decoration: none;">current molecular rendering works, but </del>the <del style="font-weight: bold; text-decoration: none;">results are far </del>from <del style="font-weight: bold; text-decoration: none;">beautiful</del>. <del style="font-weight: bold; text-decoration: none;">We'd like </del>to <del style="font-weight: bold; text-decoration: none;">change that as well as add a bunch of new functionality</del>. The <del style="font-weight: bold; text-decoration: none;">focus will </del>be <del style="font-weight: bold; text-decoration: none;">on </del>the <del style="font-weight: bold; text-decoration: none;">SVG </del>and <del style="font-weight: bold; text-decoration: none;">PNG (</del>using <del style="font-weight: bold; text-decoration: none;">Cairo) renderers, but if things go well we can also add one </del>that <del style="font-weight: bold; text-decoration: none;">uses </del>the <del style="font-weight: bold; text-decoration: none;">JS canvas</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;">There</ins>'s <ins style="font-weight: bold; text-decoration: none;">a lot of work going on to train and use neural networks that use </ins>the <ins style="font-weight: bold; text-decoration: none;">RDKit. It would be great to be able to use some of those trained networks </ins>from <ins style="font-weight: bold; text-decoration: none;">inside the RDKit itself</ins>. <ins style="font-weight: bold; text-decoration: none;">A couple of examples that immediately come </ins>to <ins style="font-weight: bold; text-decoration: none;">mind here are ANI-2X (https://chemrxiv.org/articles/Extending_the_Applicability_of_the_ANI_Deep_Learning_Molecular_Potential_to_Sulfur_and_Halogens/11819268) and CDDD (https://github.com/jrwnter/cddd)</ins>. The <ins style="font-weight: bold; text-decoration: none;">idea in this project would </ins>be <ins style="font-weight: bold; text-decoration: none;">create </ins>the <ins style="font-weight: bold; text-decoration: none;">required Python </ins>and <ins style="font-weight: bold; text-decoration: none;">C++ infrastructure to translate a trained neural network into a form that it can be used from C++ and then integrate ANI-2X </ins>using that <ins style="font-weight: bold; text-decoration: none;">infrastructure. As a stretch goal </ins>the <ins style="font-weight: bold; text-decoration: none;">trained network for CDDD would be integrated</ins>.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">Improvements </del>to<del style="font-weight: bold; text-decoration: none;">/</del>a <del style="font-weight: bold; text-decoration: none;">rewrite </del>of the <del style="font-weight: bold; text-decoration: none;">RDKit MolDraw2D </del>C++ <del style="font-weight: bold; text-decoration: none;">class </del>to <del style="font-weight: bold; text-decoration: none;">make </del>the <del style="font-weight: bold; text-decoration: none;">drawings look better and add features like arbitrary atom labels and annotations</del>. Wrappers for the new functionality so that it is accessible from within the Python and SWIG (Java and C#) wrappers. An comprehensive set of tests for the new functionality.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">Code (probably in Python) </ins>to <ins style="font-weight: bold; text-decoration: none;">translate </ins>a <ins style="font-weight: bold; text-decoration: none;">trained neural network using one </ins>of the <ins style="font-weight: bold; text-decoration: none;">standard NN libraries to a form that it can be used from C++. Code to actually execute the network in </ins>C++<ins style="font-weight: bold; text-decoration: none;">. A port of the ANI-2X network </ins>to the <ins style="font-weight: bold; text-decoration: none;">RDKit's ForceField library using this new code</ins>. Wrappers for the new functionality so that it is accessible from within the Python and SWIG (Java and C#) wrappers. An comprehensive set of tests for the new functionality.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++<ins style="font-weight: bold; text-decoration: none;">, Python</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</div></td></tr>
</table>
Greg.landrum
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=681&oldid=prev
Bharath at 17:28, 24 February 2020
2020-02-24T17:28:39Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:28, 24 February 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l293">Line 293:</td>
<td colspan="2" class="diff-lineno">Line 293:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[https://deepchem.io DeepChem] aims to provide a high quality open-source toolchain that democratizes the use of deep-learning in drug discovery, materials science, quantum chemistry, and biology.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[https://deepchem.io DeepChem] aims to provide a high quality open-source toolchain that democratizes the use of deep-learning in drug discovery, materials science, quantum chemistry, and biology.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <del style="font-weight: bold; text-decoration: none;">Transfer Learning Framework </del>===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <ins style="font-weight: bold; text-decoration: none;">Dynamic DeepChem </ins>===</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">Create easy to use tools </del>for <del style="font-weight: bold; text-decoration: none;">common transfer learning scenarios.</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;">Lay the groundwork </ins>for <ins style="font-weight: bold; text-decoration: none;">a version of DeepChem based on Jax</ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">[https://arxiv.org/abs/1712.02734 ChemNet] discusses a powerful model independent transfer learning protocol</del>. We <del style="font-weight: bold; text-decoration: none;">would want </del>to <del style="font-weight: bold; text-decoration: none;">reproduce </del>the <del style="font-weight: bold; text-decoration: none;">results, and </del>be <del style="font-weight: bold; text-decoration: none;">able </del>to <del style="font-weight: bold; text-decoration: none;">apply the transfer learning protocol </del>to <del style="font-weight: bold; text-decoration: none;">arbitrary TensorGraph </del>models<del style="font-weight: bold; text-decoration: none;">. Jupyter notebook tutorials </del>and <del style="font-weight: bold; text-decoration: none;">blog posts will </del>be <del style="font-weight: bold; text-decoration: none;">expected over </del>the <del style="font-weight: bold; text-decoration: none;">course </del>of <del style="font-weight: bold; text-decoration: none;">the summer</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">DeepChem was originally built on Theano then later ported to TensorFlow's grab mode</ins>. We <ins style="font-weight: bold; text-decoration: none;">are currently working on porting it </ins>to <ins style="font-weight: bold; text-decoration: none;">eager mode default. It seems sensible that </ins>the <ins style="font-weight: bold; text-decoration: none;">next big transition will </ins>be to <ins style="font-weight: bold; text-decoration: none;">more powerful automatic differentiation frameworks like Jax. This project would require students </ins>to <ins style="font-weight: bold; text-decoration: none;">implement core DeepChem </ins>models <ins style="font-weight: bold; text-decoration: none;">such as graph convolutions in Jax </ins>and <ins style="font-weight: bold; text-decoration: none;">demonstrate that they can </ins>be <ins style="font-weight: bold; text-decoration: none;">saved and loaded. This work would likely see it's way into </ins>the <ins style="font-weight: bold; text-decoration: none;">next main version </ins>of <ins style="font-weight: bold; text-decoration: none;">DeepChem</ins>.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Python, Tensorflow</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Python, Tensorflow</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' <del style="font-weight: bold; text-decoration: none;">Karl Leswing </del>(<del style="font-weight: bold; text-decoration: none;">karl </del>dot <del style="font-weight: bold; text-decoration: none;">leswing </del>at <del style="font-weight: bold; text-decoration: none;">schrodinger </del>dot com)</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' <ins style="font-weight: bold; text-decoration: none;">Bharath Ramsundar </ins>(<ins style="font-weight: bold; text-decoration: none;">bharath </ins>dot <ins style="font-weight: bold; text-decoration: none;">ramsundar </ins>at <ins style="font-weight: bold; text-decoration: none;">gmail </ins>dot com) <ins style="font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <del style="font-weight: bold; text-decoration: none;">Data Interfaces </del>===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <ins style="font-weight: bold; text-decoration: none;">Improvements to Transfer Learning </ins>===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">Transition deepchem.data.Dataset to tf.data</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;">Expand out DeepChem's transfer learning framework and machinery</ins>.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">DeepChem data objects were created before tf</del>.<del style="font-weight: bold; text-decoration: none;">data existed</del>. <del style="font-weight: bold; text-decoration: none;"> </del>We <del style="font-weight: bold; text-decoration: none;">need to make our existing Featurizers, Transformers, and Models work </del>over <del style="font-weight: bold; text-decoration: none;">tf</del>.<del style="font-weight: bold; text-decoration: none;">data objects</del>. <del style="font-weight: bold; text-decoration: none;"> Jupyter notebook tutorials and blog posts </del>for <del style="font-weight: bold; text-decoration: none;">how </del>to <del style="font-weight: bold; text-decoration: none;">use the </del>new <del style="font-weight: bold; text-decoration: none;">improved interfaces</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">[https://arxiv</ins>.<ins style="font-weight: bold; text-decoration: none;">org/abs/1712.02734 ChemNet] discusses a powerful model independent transfer learning protocol</ins>. We <ins style="font-weight: bold; text-decoration: none;">had a GSoC student expand out this framework </ins>over <ins style="font-weight: bold; text-decoration: none;">last summer ([https://forum</ins>.<ins style="font-weight: bold; text-decoration: none;">deepchem</ins>.<ins style="font-weight: bold; text-decoration: none;">io/t/transfer-learning-</ins>for<ins style="font-weight: bold; text-decoration: none;">-molecular-property-prediction/44 post]). We'd like </ins>to <ins style="font-weight: bold; text-decoration: none;">see work expanding this framework out further and adding in </ins>new <ins style="font-weight: bold; text-decoration: none;">ideas, perhaps borrowing from recent research on transformers</ins>.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Python, <del style="font-weight: bold; text-decoration: none;">some </del>Tensorflow</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Python, Tensorflow</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Mentor:''' Karl Leswing (karl dot leswing at schrodinger dot com)</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">=== Project: Model Visualization ===</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Brief explanation:''' Node Importance Visualizations from Graph Models</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Expected results:''' An argument often used against deep learning methods is that they are not understandable. This project would be to implement [https://github.com/debbiemarkslab/neural-fingerprint-theano visual neural graph fingerprints] into DeepChem. Stretch goals would be to implement [https://arxiv.org/abs/1605.01713 DeepLift] or masking techniques for atom level visualizations.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''<del style="font-weight: bold; text-decoration: none;">Prerequisites</del>:''' <del style="font-weight: bold; text-decoration: none;">Python, Tensorflow, rdkit</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''<ins style="font-weight: bold; text-decoration: none;">Mentor</ins>:''' <ins style="font-weight: bold; text-decoration: none;">Bharath Ramsundar (bharath dot ramsundar at gmail dot com) </ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Mentor:''' Karl Leswing (karl dot leswing at schrodinger dot com)</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Miscellaneous Project Ideas ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Miscellaneous Project Ideas ==</div></td></tr>
</table>
Bharath
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=678&oldid=prev
Greg.landrum: /* RDKit Project Ideas */
2020-01-28T13:29:32Z
<p><span dir="auto"><span class="autocomment">RDKit Project Ideas</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:29, 28 January 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l204">Line 204:</td>
<td colspan="2" class="diff-lineno">Line 204:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://www.rdkit.org The RDKit] is a BSD licensed open source cheminformatics toolkit written in C++ with wrappers for use from Python, Java, and C#. The RDKit also provides "cartridge" functionality that allows chemical searching in the open-source relational database PostgreSQL.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://www.rdkit.org The RDKit] is a BSD licensed open source cheminformatics toolkit written in C++ with wrappers for use from Python, Java, and C#. The RDKit also provides "cartridge" functionality that allows chemical searching in the open-source relational database PostgreSQL.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== Project: Make RDKit 2D molecular sketches beautiful ===</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Brief explanation:''' The RDKit's current molecular rendering works, but the results are far from beautiful. We'd like to change that as well as add a bunch of new functionality. The focus will be on the SVG and PNG (using Cairo) renderers, but if things go well we can also add one that uses the JS canvas.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Expected results:''' Improvements to/a rewrite of the RDKit MolDraw2D C++ class to make the drawings look better and add features like arbitrary atom labels and annotations. Wrappers for the new functionality so that it is accessible from within the Python and SWIG (Java and C#) wrappers. An comprehensive set of tests for the new functionality.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Prerequisites:''' C++</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: Implement a generalized file reader ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: Implement a generalized file reader ===</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l209">Line 209:</td>
<td colspan="2" class="diff-lineno">Line 220:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implementation of a flexible generic interface for reading molecular file formats (things like .smi, .sdf, and the compressed versions thereof). The reader should recognize the file format automatically so that the user does not need to worry about this.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implementation of a flexible generic interface for reading molecular file formats (things like .smi, .sdf, and the compressed versions thereof). The reader should recognize the file format automatically so that the user does not need to worry about this.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' A C++ implementation of a generalized file reader for the RDKit along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and Java wrappers.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' A C++ implementation of a generalized file reader for the RDKit along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and <ins style="font-weight: bold; text-decoration: none;">SWIG (</ins>Java <ins style="font-weight: bold; text-decoration: none;">and C#) </ins>wrappers.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l219">Line 219:</td>
<td colspan="2" class="diff-lineno">Line 230:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' There is an old PR for the RDKit that implements molecular interaction fields: https://github.com/rdkit/rdkit/pull/318. This was never merged because the author ran out of time. At this point a lot of work would be required to update and finish this PR, but the results would be super useful for the RDKit community.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' There is an old PR for the RDKit that implements molecular interaction fields: https://github.com/rdkit/rdkit/pull/318. This was never merged because the author ran out of time. At this point a lot of work would be required to update and finish this PR, but the results would be super useful for the RDKit community.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' A C++ implementation of the GRID calculator code along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and Java wrappers.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' A C++ implementation of the GRID calculator code along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and <ins style="font-weight: bold; text-decoration: none;">SWIG (</ins>Java <ins style="font-weight: bold; text-decoration: none;">and C#) </ins>wrappers.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' C++</div></td></tr>
</table>
Greg.landrum
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=677&oldid=prev
Dkoes: update 3dmol/gnina
2020-01-14T15:17:27Z
<p>update 3dmol/gnina</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 11:17, 14 January 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l177">Line 177:</td>
<td colspan="2" class="diff-lineno">Line 177:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://3dmol.csb.pitt.edu 3Dmol.js] is a modern, object-oriented JavaScript library for visualizing molecular data that is forked from GLmol. A particular emphasis is placed on performance.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[http://3dmol.csb.pitt.edu 3Dmol.js] is a modern, object-oriented JavaScript library for visualizing molecular data that is forked from GLmol. A particular emphasis is placed on performance.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <del style="font-weight: bold; text-decoration: none;">Google Cardboard for </del>3Dmol.js ===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <ins style="font-weight: bold; text-decoration: none;">Improve </ins>3Dmol.js ===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">Implement low cost virtual reality visualization using Google Cardboard</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;">Make significant improvements to 3Dmol.js functionality or performance.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">[Google Cardboard https://en.wikipedia.org/wiki/Google_Cardboard] </del>is <del style="font-weight: bold; text-decoration: none;">a VR experience using commodity smartphones and either a paperboard/cardboard mount or </del>an <del style="font-weight: bold; text-decoration: none;">inexpensive pre</del>-<del style="font-weight: bold; text-decoration: none;">made mount. The </del>project <del style="font-weight: bold; text-decoration: none;">would produce an implementation using </del>the <del style="font-weight: bold; text-decoration: none;">Cardboard SDK for 3Dmol</del>.<del style="font-weight: bold; text-decoration: none;">js, allowing both individual VR use </del>and <del style="font-weight: bold; text-decoration: none;">synchronized classroom use (e</del>.<del style="font-weight: bold; text-decoration: none;">g</del>.<del style="font-weight: bold; text-decoration: none;">, one "guide" and multiple synchronized viewers)</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">This </ins>is an <ins style="font-weight: bold; text-decoration: none;">open</ins>-<ins style="font-weight: bold; text-decoration: none;">ended </ins>project <ins style="font-weight: bold; text-decoration: none;">that must be driven by </ins>the <ins style="font-weight: bold; text-decoration: none;">applicant</ins>. <ins style="font-weight: bold; text-decoration: none;"> A strong proposal will identify significant shortcomings in the current code </ins>and <ins style="font-weight: bold; text-decoration: none;">explain how it will be addressed</ins>. <ins style="font-weight: bold; text-decoration: none;">The GitHub Issues page may provide some ideas</ins>. <ins style="font-weight: bold; text-decoration: none;">A proposal must include a significant initial pull request</ins>. <ins style="font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience with JavaScript and client-server programming, some experience with OpenGL/WebGL ideal, but not necessary.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience with JavaScript and client-server programming, some experience with OpenGL/WebGL ideal, but not necessary.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l191">Line 191:</td>
<td colspan="2" class="diff-lineno">Line 191:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[https://github.com/gnina gnina] is a C/C++ framework for applying deep learning to molecular docking.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[https://github.com/gnina gnina] is a C/C++ framework for applying deep learning to molecular docking.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <del style="font-weight: bold; text-decoration: none;">Implement flexible docking with CNN scoring </del>===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Project: <ins style="font-weight: bold; text-decoration: none;">Improve gnina </ins>===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <del style="font-weight: bold; text-decoration: none;">Train convolutional neural networks </del>to <del style="font-weight: bold; text-decoration: none;">properly evaluate protein side chain positions and ligand binding</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' <ins style="font-weight: bold; text-decoration: none;"> Make significant improvements </ins>to <ins style="font-weight: bold; text-decoration: none;">gnina functionality or performance.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <del style="font-weight: bold; text-decoration: none;">High</del>-<del style="font-weight: bold; text-decoration: none;">throughput docking typically make a rigid receptor assumption for performance reasons, but </del>in <del style="font-weight: bold; text-decoration: none;">reality </del>the <del style="font-weight: bold; text-decoration: none;">receptor is flexible </del>and <del style="font-weight: bold; text-decoration: none;">changes conformation upon ligand binding</del>. <del style="font-weight: bold; text-decoration: none;"> </del>The <del style="font-weight: bold; text-decoration: none;">project will </del>include <del style="font-weight: bold; text-decoration: none;">the generating of an appropriate training set of protein and ligand structures to teach </del>a <del style="font-weight: bold; text-decoration: none;">neural network to properly score flexibly docked structures</del>. <del style="font-weight: bold; text-decoration: none;">The trained networks will then be used to guide the docking process and iteratively refine the training set.</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''' <ins style="font-weight: bold; text-decoration: none;">This is an open</ins>-<ins style="font-weight: bold; text-decoration: none;">ended project that must be driven by the applicant. A strong proposal will identify significant shortcomings </ins>in the <ins style="font-weight: bold; text-decoration: none;">current code </ins>and <ins style="font-weight: bold; text-decoration: none;">explain how it will be addressed</ins>. The <ins style="font-weight: bold; text-decoration: none;">GitHub Issues page may provide some ideas. A proposal must </ins>include a <ins style="font-weight: bold; text-decoration: none;">significant initial pull request</ins>. </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience with C/C++ programming and the basics of deep learning.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience with <ins style="font-weight: bold; text-decoration: none;">CUDA/</ins>C/C++ programming and the basics of deep learning.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' David Koes l (dkoes@pitt.edu)</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' David Koes l (dkoes@pitt.edu)</div></td></tr>
</table>
Dkoes
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=676&oldid=prev
Greg.landrum: /* RDKit Project Ideas */
2020-01-14T14:49:31Z
<p><span dir="auto"><span class="autocomment">RDKit Project Ideas</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 10:49, 14 January 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l234">Line 234:</td>
<td colspan="2" class="diff-lineno">Line 234:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' TBA, likely Geoff Hutchison (geoffh at pitt.edu) and others</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' TBA, likely Geoff Hutchison (geoffh at pitt.edu) and others</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: MongoDB integration ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: MongoDB integration ===</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l246">Line 246:</td>
<td colspan="2" class="diff-lineno">Line 245:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Marco Stenta (marco.stenta at syngenta.com)</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Marco Stenta (marco.stenta at syngenta.com)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">=== Project: GPU Implementation of the Distance-Geometry Forcefield ===</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Brief explanation:''' </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">The RDKit uses a simple force field internally as part of its distance-geometry driven conformation generation (2D->3D conversion) process. Minimization using this force-field consumes a large part of the runtime of the conformation generation process. The goal of this project is to port the distance geometry forcefield and minimizer to run on a GPU with the goal of speeding up conformation generation.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Expected results:''' </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">A stable and well tested C++ implementation of the RDKit's distance-geometry forcefield.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Prerequisites:''' C++ and GPU (Cuda, OpenCL, etc.)</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== NWChem Project Ideas ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== NWChem Project Ideas ==</div></td></tr>
</table>
Greg.landrum
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=675&oldid=prev
Greg.landrum: Remove completed project from 2019
2020-01-14T14:47:59Z
<p>Remove completed project from 2019</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 10:47, 14 January 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l224">Line 224:</td>
<td colspan="2" class="diff-lineno">Line 224:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">=== Project: neo4j integration ===</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Brief explanation:''' </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">The RDKit already has strong integration with the open-source relational database PostgreSQL, in this project you'll build a similar extension for the open-source graph database neo4j (https://neo4j.com/). The concept of the knowledge graph, which stores the relationships between objects in addition to the objects themselves, has become widespread in data management and integration. This project will allow us to build and query knowledge graphs storing molecular and chemical information.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Expected results:''' </del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">An RDKit extension to neo4j that provides chemical functionality for finding entry points into the graph and to efficiently filter paths using chemical knowledge while traversing the graph.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Prerequisites:''' Java</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">'''Mentor:''' Christian Pilger (christian.pilger at basf.com)</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: RDKit+OpenMM GPU Molecular Force Fields ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Project: RDKit+OpenMM GPU Molecular Force Fields ===</div></td></tr>
</table>
Greg.landrum
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=674&oldid=prev
Marcus.hanwell: /* Avogadro 2 Project Ideas */
2020-01-14T14:08:56Z
<p><span dir="auto"><span class="autocomment">Avogadro 2 Project Ideas</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 10:08, 14 January 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l40">Line 40:</td>
<td colspan="2" class="diff-lineno">Line 40:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implement an embedded scripting language (i.e., Python) in Avogadro 2</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Brief explanation:''' Implement an embedded scripting language (i.e., Python) in Avogadro 2</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''’ Enable an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python. Initial Python bindings have been re-implemented using PyBind11 with the new codebase, and the Avogadro 2 core libraries are pip installable. Extending the coverage of the API from the rudimentary parts of core/io would be a good starting point. An ideal solution would connect to <del style="font-weight: bold; text-decoration: none;">PySide</del>, to allow scripting to add <del style="font-weight: bold; text-decoration: none;">uI </del>like menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Expected results:''’ Enable an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python. Initial Python bindings have been re-implemented using PyBind11 with the new codebase, and the Avogadro 2 core libraries are pip installable. Extending the coverage of the API from the rudimentary parts of core/io would be a good starting point. An ideal solution would connect to <ins style="font-weight: bold; text-decoration: none;">PySide2</ins>, to allow scripting to add <ins style="font-weight: bold; text-decoration: none;">UI </ins>like menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Example scripts, documentation, are highly encouraged.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Example scripts, documentation, are highly encouraged.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l67">Line 67:</td>
<td colspan="2" class="diff-lineno">Line 67:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience in C++, an understanding of vectorization and intrinsics would be helpful.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Prerequisites:''' Experience in C++, an understanding of vectorization and intrinsics would be helpful.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Daniel G. A. Smith (dgasmith at vt.edu) or Geoffrey Hutchison (geoffh at pitt.edu) </div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Mentor:''' Daniel G. A. Smith (dgasmith at vt.edu) or Geoffrey Hutchison (geoffh at pitt.edu)</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Open Babel Project Ideas==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Open Babel Project Ideas==</div></td></tr>
</table>
Marcus.hanwell
https://wiki.openchemistry.org/index.php?title=GSoC_Ideas_2020&diff=673&oldid=prev
Ghutchis: Created page with "==Guidelines== Open Chemistry is an umbrella for projects in chemistry, materials science, biochemistry, and related areas. While we have participated in the last few Google..."
2020-01-14T04:50:36Z
<p>Created page with "==Guidelines== Open Chemistry is an umbrella for projects in chemistry, materials science, biochemistry, and related areas. While we have participated in the last few Google..."</p>
<p><b>New page</b></p><div>==Guidelines==<br />
<br />
Open Chemistry is an umbrella for projects in chemistry, materials science, biochemistry, and related areas. While we have participated in the last few Google Summer of Code programs and will apply again in 2020, there is '''no guarantee''' that we will be selected again for GSoC in 2020.<br />
<br />
We have gathered a pool of interested mentors together who are seasoned developers in each of these projects. We welcome original ideas in addition to what's listed here - please suggest something interesting for open source chemistry!<br />
<br />
=== Adding Ideas ===<br />
<br />
When adding a new idea to this page, please try to include the following information:<br />
<br />
* A brief explanation of the idea.<br />
* Expected results/feature additions.<br />
* Any prerequisites for working on the project.<br />
* Links to any further information, discussions, bug reports etc.<br />
* Any special mailing lists if not the standard mailing list for the project<br />
* Your name and email address for contact (if willing to mentor, or nominated mentor).<br />
<br />
=== Proposal Guidelines ===<br />
<br />
Students need to write and submit a proposal, we have added the [[Applying_to_GSoC|applying to GSoC page]] to help guide our students on what we would like to see in those proposals.<br />
<br />
==Avogadro 2 Project Ideas==<br />
<br />
[http://www.openchemistry.org/projects/avogadro2/ Avogadro 2] is a chemical editor and visualization application, it is also a set of reusable software libraries written in C++ using principles of modularity for maximum reuse. We offer permissively licensed, open source, cross platform software components in the Avogadro 2 libraries, along with an end-user application with full source code, and binaries.<br />
<br />
=== Project: Biological Data Visualization ===<br />
<br />
[[File:Biomolecule.png|thumb|300px|Protein Visualization]]<br />
<br />
'''Brief explanation:''' Support for biological data, representations, and visualization<br />
<br />
'''Expected results:''' Rudimentary support for residues, and reading secondary structure (e.g., PDB format) is now present. Additional rendering modes for secondary biological structures (i.e. ribbons, cartoons, etc.), building up a biomolecule from residues, and adding residue labels are desired. Code and algorithms may be adapted from 3DMol.js. Since biological molecules are often large (10^3 to 10^6 atoms and bonds), such implementations should be highly efficient and optimized, adopting symmetry and other techniques to improve interactivity and rendering performance. General extension of Avogadro for editing/interacting with biological data structures, and/or structures with named fragments would be ideal. Extending that to porting builders for fragment based building blocks would be a big plus once basic support for rendering is in place.<br />
<br />
'''Prerequisites:''' Experience in C++, some experience with OpenGL and biochemistry ideally, but not necessary.<br />
<br />
'''Mentor:''' Marcus D. Hanwell (marcus dot hanwell at kitware dot com) or Geoffrey Hutchison (geoffh at pitt.edu)<br />
<br />
=== Project: Scripting Bindings ===<br />
<br />
'''Brief explanation:''' Implement an embedded scripting language (i.e., Python) in Avogadro 2<br />
<br />
'''Expected results:''’ Enable an embedded scripting console as well as support for implementing modular extensions (tools, rendering, etc.) in Python. Initial Python bindings have been re-implemented using PyBind11 with the new codebase, and the Avogadro 2 core libraries are pip installable. Extending the coverage of the API from the rudimentary parts of core/io would be a good starting point. An ideal solution would connect to PySide, to allow scripting to add uI like menu items, windows, etc. and provide documentation and example scripts. The interface should be maintainable as new classes and methods are added.<br />
<br />
Example scripts, documentation, are highly encouraged.<br />
<br />
'''Prerequisites:''' Experience in C++ and Python, some experience with PyBind11, Qt for Python, PySide suggested.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu) or Marcus D. Hanwell (marcus dot hanwell at kitware dot com)<br />
<br />
=== Project: Integrate with RDKit ===<br />
<br />
'''Brief explanation:''' Integrate the RDKit toolkit into Avogadro for conformer sampling and force field optimization<br />
<br />
'''Expected results:''' RDKit is a BSD-licensed cheminformatics toolkit with a wide range of features useful for Avogadro 2. Most notably, RDKit offers efficient and accurate 3D coordinate generation, conformer sampling, and force field optimization. Implement a connection between Avogadro objects (molecules and atoms) and RDKit objects and implement conformer sampling and force field optimization code.<br />
<br />
'''Prerequisites:'' Experience in C++, some experience with Python will be helpful.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu)<br />
<br />
<br />
=== Project: Improve Avogadro Quantum Processing & Analysis ===<br />
<br />
'''Brief explanation:''' Visualizing quantum mechanical data like orbitals, electron density, etc. is slow. Replace Avogadro's current orbital rendering to use the efficient the Gau2Grid library [[https://gau2grid.readthedocs.io/en/latest/]] and add analysis tools.<br />
<br />
'''Expected results:''' A very fast real-time rendering of volumetric quantum chemical within Avogadro, ideally including processing and analysis of surfaces / volumes, orbitals, etc. For example, sometimes the gradient or the Laplacian of a surface are useful. Add tools to add/subtract or join / intersect surfaces and map properties (e.g., electrostatic potential mapped onto the electron density).<br />
<br />
'''Prerequisites:''' Experience in C++, an understanding of vectorization and intrinsics would be helpful.<br />
<br />
'''Mentor:''' Daniel G. A. Smith (dgasmith at vt.edu) or Geoffrey Hutchison (geoffh at pitt.edu) <br />
<br />
==Open Babel Project Ideas==<br />
<br />
[http://openbabel.org Open Babel] is an open toolbox for chemistry, designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.<br />
<br />
=== Project: Integrate CoordGen library ===<br />
<br />
'''Expected results:''' Schrodinger has released a BSD-licensed library for 2D chemical structure layout (https://github.com/schrodinger/coordgenlibs) and it has been successfully integrated into RDKit. The student will be responsible for integrating CoordGen into Open Babel. Code will be written in C++.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu)<br />
<br />
=== Project: Implement MMTF format ===<br />
<br />
'''Brief explanation:''' Implementation of MMTF file format in OpenBabel. <br />
<br />
''Expected results:''' Macromolecular Transmission Format (MMTF) is a new compact binary format to transmit and store biomolecular structural data quickly and accurately (http://mmtf.rcsb.org). Your task is to implement support for this format in the OpenBabel open-source cheminformatics toolkit (http://openbabel.org). Code will be written in C++.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu) or David Koes (dkoes at pitt dot edu)<br />
<br />
=== Project: Test Framework Overhaul ===<br />
<br />
'''Brief explanation:''' Automated testing is an important part of maintaining code quality. This project will improve the current testing regime of openbabel.<br />
<br />
'''Expected results:''' A comprehensive test framework that automates the generation of unit tests for all supported languages and simplifies the creation of new test cases will be implemented. The student will be responsible for choosing the most appropriate framework, porting existing test cases, and expanding the test suite to enhance code coverage.<br />
<br />
'''Prerequisites:''' Experience in C++. Knowledge of modern software engineering practices or test frameworks is ideal.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu), David Koes (dkoes at pitt dot edu), the OpenBabel development community.<br />
<br />
=== Project: Develop a JavaScript version of Open Babel ===<br />
<br />
'''Brief explanation:''' Building on existing work, you will use Emscripten to compile the C++ codebase of Open Babel to JavaScript. This will make it easy to write in-browser applications that need cheminformatics functionality.<br />
<br />
'''Expected results''': Following from work described in a recent paper (https://pubs.acs.org/doi/abs/10.1021/acs.jcim.7b00434), a JavaScript version of the Open Babel toolkit will be created. The generation of any necessary wrappers should be automated to allow it to track changes in the Open Babel API.<br />
<br />
Ideally, the project will adapt a core JavaScript library openbabel.js that allows modules, such as file formats to be imported separately (e.g., smilesformat.js, pdbformat.js, xyzformat.js, etc.)<br />
<br />
'''Prerequisities''': Some experience in C++, and also with JavaScript.<br />
<br />
'''Mentor''': Noel O'Boyle (baoilleach at gmail dot com)<br />
<br />
=== Project: Develop a validation and standardization filter ===<br />
<br />
'''Brief explanation''': Given a particular molecular structure, can we say how chemically plausible is it, and use this as to filter or warn about problems (e.g., undefined stereo centers)?<br />
<br />
'''Expected results''': Given a set of reference structures (e.g. ChEMBL), it should be possible to build a model that can say how normal/unusual a query structure is. For example, given a set of drug-like molecules, a molecule with a ruthenium atom might be considered unusual; or given any set of molecules, a 5-coordinate carbon is unusual.<br />
<br />
Such a model could be used as a filter, or as a warning to flag up problematic structures.<br />
<br />
Code could be modeled on MolVS using RDKit [[https://molvs.readthedocs.io/en/latest/]]<br />
<br />
'''Prerequisites''': Experience in C++ or Python, and an interest in data science or statistics.<br />
<br />
'''Mentor''': Noel O'Boyle (baoilleach at gmail dot com) or Geoff Hutchison (geoffh at pitt dot edu)<br />
<br />
==cclib Project Ideas==<br />
<br />
[http://cclib.github.io cclib] is an open source library, written in Python, for parsing and interpreting the results of computational chemistry packages. The goals of cclib are centered around the reuse of data obtained from these programs when stored in program-specific output files.<br />
<br />
=== Project: Support for QCSchema JSON output ===<br />
<br />
'''Bried explanation:''' The library already allows importing and exporting data between several formats. The QCSchema is a new JSON format that tries to standardize the way computational chemistry data is written and shared, so supporting the effort can be useful.<br />
<br />
'''Expected results:''' Implement JSON output that conforms to the conventions of the [https://github.com/MolSSI/QCSchema MolSSI QCSchema].<br />
<br />
'''Suggested readings:'''<br />
* This [https://github.com/cclib/cclib/issues/643 cclib issue] and the references there.<br />
<br />
'''Prerequisites:''' Experience with Python, some experience with physics and chemistry also recommended.<br />
<br />
'''Mentor:''' Eric Berquist (eric.john.berquist at gmail dot com) and/or Karol Langner (karol.langner at gmail dot com)<br />
<br />
=== Project: Advanced Analysis of Quantum Chemistry Data ===<br />
<br />
'''Brief explanation:''' The current cclib library offers some calculation methods, including fragment analysis and some charge models. Many modern analysis techniques exist to partition electron density, including computing gradients, Laplacians, ELF (electron localization function), Bader's AIM analysis, etc. Similarly, multiple partial charge assignment methods exist and can be implemented, including DDEC6.<br />
<br />
'''Expected results:''' Implement additional analysis and quantum calculation methods, such as ELF (electron localization function), AIM (Bader's Atoms-in-Molecules) techniques, and/or DDEC6 atomic charges, with examples and tests.<br />
<br />
'''Suggested Readings:''' <br />
* DDEC6: https://arxiv.org/abs/1512.08270<br />
<br />
'''Prerequisites:''' Experience with Python and linear algebra (including numpy, scipy), some experience with numerical methods suggested.<br />
<br />
'''Mentor:''' Geoff Hutchison (geoffh at pitt dot edu) and/or Karol Langner (karol.langner at gmail dot com)<br />
<br />
=== Project: Implement new parsers ===<br />
<br />
'''Brief explanation:''' There are outstanding issues on GitHub for supporting more programs, and parsing binary files for various QM programs (e.g. Gaussian, NWChem, and ORCA).<br />
<br />
'''Expected results:''' Generate test data and unit tests, and implement new parsers.<br />
<br />
'''Prerequisites:''' Experience with Python, and ideally familiarity with computational chemistry programs.<br />
<br />
'''Mentor:''' Adam Tenderholt (atenderholt at gmail dot com) and/or Karol Langner (karol.langner at gmail dot com)<br />
<br />
=== Project: Discovering computational chemistry content online ===<br />
<br />
'''Brief explanation:''' There are tens or hundreds of thousands of computational chemistry results available online - let's mine them!<br />
<br />
'''Expected results:''' Build a crawler that identifies and indexes computational chemistry logfiles online, and provides the ability to extract the data they contain with cclib.<br />
<br />
'''Prerequisites:''' Experience with Python, and ideally familiarity with computational chemistry and web indexing.<br />
<br />
'''Mentor:''' Karol Langner (karol.langner at gmail dot com)<br />
<br />
==3Dmol.js Project Ideas==<br />
<br />
[http://3dmol.csb.pitt.edu 3Dmol.js] is a modern, object-oriented JavaScript library for visualizing molecular data that is forked from GLmol. A particular emphasis is placed on performance.<br />
<br />
=== Project: Google Cardboard for 3Dmol.js ===<br />
<br />
'''Brief explanation:''' Implement low cost virtual reality visualization using Google Cardboard<br />
<br />
'''Expected results:''' [Google Cardboard https://en.wikipedia.org/wiki/Google_Cardboard] is a VR experience using commodity smartphones and either a paperboard/cardboard mount or an inexpensive pre-made mount. The project would produce an implementation using the Cardboard SDK for 3Dmol.js, allowing both individual VR use and synchronized classroom use (e.g., one "guide" and multiple synchronized viewers).<br />
<br />
'''Prerequisites:''' Experience with JavaScript and client-server programming, some experience with OpenGL/WebGL ideal, but not necessary.<br />
<br />
'''Mentor:''' David Koes l (dkoes@pitt.edu)<br />
<br />
==gnina Project Ideas==<br />
<br />
[https://github.com/gnina gnina] is a C/C++ framework for applying deep learning to molecular docking.<br />
<br />
=== Project: Implement flexible docking with CNN scoring ===<br />
<br />
'''Brief explanation:''' Train convolutional neural networks to properly evaluate protein side chain positions and ligand binding<br />
<br />
'''Expected results:''' High-throughput docking typically make a rigid receptor assumption for performance reasons, but in reality the receptor is flexible and changes conformation upon ligand binding. The project will include the generating of an appropriate training set of protein and ligand structures to teach a neural network to properly score flexibly docked structures. The trained networks will then be used to guide the docking process and iteratively refine the training set.<br />
<br />
'''Prerequisites:''' Experience with C/C++ programming and the basics of deep learning.<br />
<br />
'''Mentor:''' David Koes l (dkoes@pitt.edu)<br />
<br />
== RDKit Project Ideas ==<br />
<br />
[http://www.rdkit.org The RDKit] is a BSD licensed open source cheminformatics toolkit written in C++ with wrappers for use from Python, Java, and C#. The RDKit also provides "cartridge" functionality that allows chemical searching in the open-source relational database PostgreSQL.<br />
<br />
=== Project: Implement a generalized file reader ===<br />
<br />
'''Brief explanation:''' Implementation of a flexible generic interface for reading molecular file formats (things like .smi, .sdf, and the compressed versions thereof). The reader should recognize the file format automatically so that the user does not need to worry about this.<br />
<br />
'''Expected results:''' A C++ implementation of a generalized file reader for the RDKit along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and Java wrappers.<br />
<br />
'''Prerequisites:''' C++<br />
<br />
'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)<br />
<br />
=== Project: Implement Molecular Interaction Fields calculations in the RDKit ===<br />
<br />
'''Brief explanation:''' There is an old PR for the RDKit that implements molecular interaction fields: https://github.com/rdkit/rdkit/pull/318. This was never merged because the author ran out of time. At this point a lot of work would be required to update and finish this PR, but the results would be super useful for the RDKit community.<br />
<br />
'''Expected results:''' A C++ implementation of the GRID calculator code along with a robust set of test cases. Wrappers for the reader so that it is accessible from within the Python and Java wrappers.<br />
<br />
'''Prerequisites:''' C++<br />
<br />
'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)<br />
<br />
=== Project: neo4j integration ===<br />
<br />
'''Brief explanation:''' <br />
The RDKit already has strong integration with the open-source relational database PostgreSQL, in this project you'll build a similar extension for the open-source graph database neo4j (https://neo4j.com/). The concept of the knowledge graph, which stores the relationships between objects in addition to the objects themselves, has become widespread in data management and integration. This project will allow us to build and query knowledge graphs storing molecular and chemical information.<br />
<br />
'''Expected results:''' <br />
An RDKit extension to neo4j that provides chemical functionality for finding entry points into the graph and to efficiently filter paths using chemical knowledge while traversing the graph.<br />
<br />
'''Prerequisites:''' Java<br />
<br />
'''Mentor:''' Christian Pilger (christian.pilger at basf.com)<br />
<br />
=== Project: RDKit+OpenMM GPU Molecular Force Fields ===<br />
<br />
'''Brief explanation:''' OpenMM (http://openmm.org/) is a high-performance toolkit for force-field based molecular simulation that includes GPU and CPU support. The goal of this project is to make it easy to use OpenMM force fields to minimize the energies of or perform molecular dynamics calculations on RDKit molecules.<br />
<br />
'''Expected results:''' OpenMM supports a wide range of force fields, but not the classical MMFF94 or UFF methods implemented in RDKit. Needed is C++ functionality allowing RDKit molecules to be sent to OpenMM for minimization and/or to perform molecular dynamics. A robust set of regression tests for this functionality. Python wrappers around the new functionality. The work would likely involve completing the MMFF94 implementation described by Paolo Tosco at the 2017 RDKit UGM (https://github.com/rdkit/UGM_2017/blob/master/Presentations/Tosco_RDKit_OpenMM_integration.pdf) and extending to other force fields like UFF.<br />
<br />
'''Prerequisites:''' C++ and some Python<br />
<br />
'''Mentor:''' TBA, likely Geoff Hutchison (geoffh at pitt.edu) and others<br />
<br />
<br />
=== Project: MongoDB integration ===<br />
<br />
'''Brief explanation:''' <br />
MongoDB (https://www.mongodb.com/) is an open-source cross-platform document oriented NoSQL database program optimized for performance. Its flexible schema can accommodate hierarchical relationships between chemical compounds. To enable chemical intelligence in mongoDB queries, an integration with RDKit is necessary. This project will allow us to build a frame to perform similarity, substructure, and identity searches. We will leverage on the document structure of the database to store multiple representations of each molecule. While adding new functionalities and developing existing capabilities we will keep an eye on performance, to ensure optimal scalability (indexing, shards, multiprocessing, etc.). We will learn from, and possibly build upon other work that has been done for chemistry integration into MongoDB (e.g. http://wiki.openchemistry.org/MongoChem and http://blog.matt-swain.com/post/87093745652/chemical-similarity-search-in-mongodb).<br />
<br />
'''Expected results:''' A stable and performant RDKit extension to MongoDB that provides chemical functionalities on a document database.<br />
<br />
'''Prerequisites:''' Python<br />
<br />
'''Mentor:''' Marco Stenta (marco.stenta at syngenta.com)<br />
<br />
=== Project: GPU Implementation of the Distance-Geometry Forcefield ===<br />
<br />
'''Brief explanation:''' <br />
The RDKit uses a simple force field internally as part of its distance-geometry driven conformation generation (2D->3D conversion) process. Minimization using this force-field consumes a large part of the runtime of the conformation generation process. The goal of this project is to port the distance geometry forcefield and minimizer to run on a GPU with the goal of speeding up conformation generation.<br />
<br />
'''Expected results:''' <br />
A stable and well tested C++ implementation of the RDKit's distance-geometry forcefield.<br />
<br />
'''Prerequisites:''' C++ and GPU (Cuda, OpenCL, etc.)<br />
<br />
'''Mentor:''' Greg Landrum (greg.landrum at t5informatics dot com)<br />
<br />
== NWChem Project Ideas ==<br />
NWChem is widely used open-source computational chemistry software ([http://nwchem-sw.org]) that tackles a wide variety of scientific problems.<br />
<br />
=== Project NWChem-JSON ===<br />
<br />
'''Brief explanation:''' Expansion of JSON capabilities in NWChem to plane wave DFT dynamics and molecular dynamics. <br />
<br />
'''Expected results:''' Expanding JSON output generator in the NWChem source to include plane wave DFT dynamics and classical molecular dynamics capabilities. In addition the "Python NWChem output to JSON converter" needs to be expanded to include these capabilities. The latter strongly overlaps with cclib's project ideas for building a complete set of Python parsers. Questions as to handle large data structures in conjunction with JSON need to be addressed. <br />
<br />
'''Prerequisites:''' Experience with Fortran90 and Python<br />
<br />
'''Mentor:''' Bert de Jong (wadejong at lbl dot gov)<br />
<br />
=== Project NWChem-Python-Jupyter Interface ===<br />
<br />
'''Brief explanation:''' Exposing and binding NWChem data structures and computational APIs to Python and utilize those in Jupyter notebooks<br />
<br />
'''Expected results:''' NWChem currently has a very limited interface with Python. But, more and more developers are using platforms such as Python to sandbox new theories, methods and algorithms. In addition, the extended Python interface could be integrated into a Jupyter notebook. A full Python interface needs to be developed for the NWChem software suite. <br />
<br />
'''Prerequisites:''' Experience with Fortran and Python<br />
<br />
'''Mentor:''' Bert de Jong (wadejong at lbl dot gov)<br />
<br />
=== JSON-LD for Chemical Data ===<br />
<br />
'''Brief explanation:''' Transforming NWChem and Chemical JSON formats to JSON-LD<br />
<br />
'''Expected results:''' Refactoring NWChem JSON and Chemical JSON formats to utilize JSON-LD. Currently the JSON documents that are created are single dense objects, even though they could be handled as linked objects. This transformation will enable the generated computational data and objects to be more naturally aligned with triple-stores and knowledge graphs when connecting with experimental data.<br />
<br />
'''Prerequisites:''' Experience with Python and JSON-LD<br />
<br />
'''Mentor:''' Bert de Jong (wadejong at lbl dot gov)<br />
<br />
== DeepChem Project Ideas ==<br />
[https://deepchem.io DeepChem] aims to provide a high quality open-source toolchain that democratizes the use of deep-learning in drug discovery, materials science, quantum chemistry, and biology.<br />
<br />
=== Project: Transfer Learning Framework ===<br />
<br />
'''Brief explanation:''' Create easy to use tools for common transfer learning scenarios.<br />
<br />
'''Expected results:''' [https://arxiv.org/abs/1712.02734 ChemNet] discusses a powerful model independent transfer learning protocol. We would want to reproduce the results, and be able to apply the transfer learning protocol to arbitrary TensorGraph models. Jupyter notebook tutorials and blog posts will be expected over the course of the summer.<br />
<br />
'''Prerequisites:''' Python, Tensorflow<br />
<br />
'''Mentor:''' Karl Leswing (karl dot leswing at schrodinger dot com)<br />
<br />
=== Project: Data Interfaces ===<br />
<br />
'''Brief explanation:''' Transition deepchem.data.Dataset to tf.data.<br />
<br />
'''Expected results:''' DeepChem data objects were created before tf.data existed. We need to make our existing Featurizers, Transformers, and Models work over tf.data objects. Jupyter notebook tutorials and blog posts for how to use the new improved interfaces.<br />
<br />
'''Prerequisites:''' Python, some Tensorflow<br />
<br />
'''Mentor:''' Karl Leswing (karl dot leswing at schrodinger dot com)<br />
<br />
=== Project: Model Visualization ===<br />
<br />
'''Brief explanation:''' Node Importance Visualizations from Graph Models<br />
<br />
'''Expected results:''' An argument often used against deep learning methods is that they are not understandable. This project would be to implement [https://github.com/debbiemarkslab/neural-fingerprint-theano visual neural graph fingerprints] into DeepChem. Stretch goals would be to implement [https://arxiv.org/abs/1605.01713 DeepLift] or masking techniques for atom level visualizations.<br />
<br />
'''Prerequisites:''' Python, Tensorflow, rdkit<br />
<br />
'''Mentor:''' Karl Leswing (karl dot leswing at schrodinger dot com)<br />
<br />
== Miscellaneous Project Ideas ==<br />
<br />
These ideas would likely benefit two or more projects.<br />
<br />
<br />
===Project: OneMol: Google Docs & YouTube for Molecules ===<br />
[[File:OneMolsm.png|right]]<br />
'''Brief explanation:''' There is a huge need in the research community for improved collaboration tools on web and desktop. OneMol will provide an open API for collaborating on molecular data that both Avogadro and 3Dmol.js will support as reference implementations. OneMol compliant applications will be able to manipulate and view molecular data in real time so that changes made by one client will be propagated to other clients.<br />
<br />
File-sharing is a means for sharing data, but it does not share real-time interactions; each user’s data exists in its own isolated environment. Screen-sharing provides a common viewpoint for all participants, but allowing others to interact with the data requires granting access to the host workstation. This approach is needlessly inefficient for the task of collaborating on molecular data, and this inefficiency introduces scalability issues. For example, a simple rotation necessitates a full screen update when the fundamental change in state was a simple change in viewing angles.<br />
<br />
The OneMol framework consists of three main components: a client module, embedded in a molecular viewer; a facilitator module that enforces a consistent viewer state between all the clients; and a storage module that stores the raw molecular data. All three modules may coexist on the same machine within the same application. However, we anticipate a more common modality will be to use a publicly hosted facilitator server, since this simplifies network connectivity in the face of firewalls and network address translation.<br />
<br />
'''Expected results:''' Prototype web services to allow web and/or desktop collaboration using 3DMol as a viewer, likely integrating with existing storage systems (e.g., MongoChem or PQR).<br />
<br />
'''Prerequisites:''' Experience with scripting, and web services. Interest and experience with databases like MongoDB or DSpace very helpful.<br />
<br />
'''Mentor:''' David Koes (dkoes@pitt.edu) or Geoffrey Hutchison (geoffh at pitt.edu)<br />
<br />
<br />
== Psi4 Project Ideas ==<br />
<br />
[http://psicode.org psi4] is an open-source hybrid Python/C++ suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties.<br />
<br />
=== Project: Quantum Chemistry with Deep Learning Toolkits ===<br />
<br />
'''Brief explanation:''' Integrate GPU tensors tools like TensorFlow and PyTorch with the Psi4NumPy (https://github.com/psi4/psi4numpy) to explore the performance of these high-level tools with quantum chemistry.<br />
<br />
'''Expected results:''' A small module that can evaluate quantum chemistry on GPUs.<br />
<br />
'''Prerequisites:''' Tensorflow or PyTorch knowledge, linear algebra, and an understanding of general tensor contraction. No quantum chemistry knowledge required.<br />
<br />
'''Mentor:''' Daniel G. A. Smith (dgasmith at vt.edu) <br />
<br />
=== Project: Parallelization of Task Graph Computations ===<br />
<br />
'''Brief explanation:''' Improve Psi4's task graph computation integration with the MolSSI QCFractal (https://github.com/MolSSI/QCFractal) project for massively parallel quantum chemistry.<br />
<br />
'''Expected results:''' Massively parallel implementations of crystal computations, n-body interactions<br />
<br />
'''Prerequisites:''' Python experience and task-graph experience (such as Dask), an understand quantum chemistry understanding would be helpful.<br />
<br />
'''Mentor:''' Lori Burns (lori.burns at gmail.com) or Roberto Di Remigio (roberto.diremigio at gmail.com)<br />
<br />
=== Project: Avogadro visualization integration ===<br />
<br />
'''Brief explanation:''' Integration of Psi4 volumetric data with Avogadro's rendering tools.<br />
<br />
'''Expected results:''' Automatic integration of Psi4s volumetric data such as cube files, F-SAPT energy decomposition analysis routines, and vibrational frequencies.<br />
<br />
'''Prerequisites:''' Python experience and Avogadro integration, a small amount of quantum chemistry understanding would be helpful.<br />
<br />
'''Mentor:''' Justin Turney (justin.turney at gmail.com) or Andrew James (amjames2 vt.edu)<br />
<br />
== MSDK / MZmine Project Ideas ==<br />
<br />
=== Project: New Visualization Modules ===<br />
<br />
'''Brief explanation:''' Implement new, JavaFX-based visualization modules for MZmine [https://mzmine.github.io] such as 3D plot and Cloud Plot.<br />
<br />
'''Expected results:''' A replacement module for the aging and barely functional 3D visualizer [https://mzmine.github.io/img/screenshots/3D.png], as well as new visualization tools for data analysis.<br />
<br />
'''Prerequisites:''' Java, JavaFX (preferred), experience with 3D graphics helpful but not required.<br />
<br />
'''Mentor:''' Tomas Pluskal (plusik at gmail.com)</div>
Ghutchis