Avogadro Roadmap: Difference between revisions

From wiki.openchemistry.org
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 3: Line 3:
===Avogadro2 0.9===
===Avogadro2 0.9===


Released
Released 7 March 2016


===Avogadro2 0.95===
===Avogadro 1.91 ===


===Avogadro2 1.0===
(Already implemented):
* Expanded support for import / export
* Improved draw tool
** Improved automatic adjustment of hydrogens
** Automatic bond order - short bonds are double or triple
* Improved crystal / materials support (GSoC project)
** Integration with spglib to perceive space groups
** Symmetrize unit cells
** Reduce to primitive cells
 
===Avogadro 2.0===
 
* Finish auto-optimize force field support
** Add force field constraints


== General needs: ==
== General needs: ==


* [x] Easy switch between view/edit modes - Marcus
* <strike>Selection Tool & Menu</strike>
* This needs to be transparent to the user
** Needs selection box
* [ ] Selection - Marcus
** Selection needs to be undo/redo-able
* [ ] Hydrogen geometry - Geoff
** Selections should be saved to CJSON
* [x] Formal charges, hybridization
** Many features need to be "selection enhanced"
* [ ] Unit tests
* Residue / fragment support - Marcus
* [ ] Force field implementation (Lennard-Jones, UFF) - Geoff
** [[GSoC_Ideas_2018#Project:_Biological_Data_Visualization]]
* [ ] Adapt obmm Open Babel tool (IO with Cjson)
* Foreign Language Translation Setup
* [ ] Constraints
** <strike>Create initial POT templates</strike>
* [ ] Updated geometries (i.e., drag an atom - force reoptimize w/ AutoOpt mode)
** Create Launchpad setup for Avo2 templates / translations
* Edit features
** <strike>Create scripts to generate .QM files from .PO using lupdate / lrelease</strike>
* [X] Undo / redo
** <strike>Create GitHub repository to download QM files</strike>
** [ ] Menu items don’t connect - Marcus
** CMake magic to grab current translations at build time
* [X] Cut / copy / paste
** Downloader support for updating translations
* [ ] Residue / fragment support - Marcus
* <strike>Hydrogen geometry</strike> - Geoff
* [ ] Global settings dialog (Marcus for initial implementation at least)
** <strike>Formal charges, hybridization</strike>
* [ ] Download input generators
** Unit tests
* [ ] Download python IO layer
* Force field implementation (Lennard-Jones, UFF) - Geoff
* [ ] Search paths for fragments, etc.
** Adapt obmm Open Babel tool (IO with Cjson)
* [ ] Download / update translations
** Constraints
* [ ] Crash Reporter / Breakpad
** Updated geometries (i.e., drag an atom - force reoptimize w/ AutoOpt mode)
* [ ] App integration
* Cleanup plugin loading and downloader
* [ ] Server integration
** Support subdirectories with plugin.json
** Support install scripts from downloader (e.g., setup virtualenv)
** Support precedence for downloaded plugins over built (e.g., replace original scripts with newer versions)
* Crash Reporter / Breakpad
** App integration
** <strike>Server integration (crash.avogadro.cc)</strike>


== Tool needs: ==
== Tool needs: ==


* [ ] Selection - Marcus
* <strike>Selection - Marcus</strike>
* [ ] Tool Priorities (i.e., tool order) - Marcus
* Eye candy interaction rendering
* [ ] Draw tool enhancements - Geoff
* Rotate around center-of-geometry
* [ ] Keyboard shortcuts, some done, specify what is missing
* Port alignment tool from Avo1
* [ ] Formal charge, hybridization
* [ ] Automatic bond length change, too long =&gt; no bond
* [ ] Auto-adjust hydrogens
* [ ] Eye candy interaction rendering


== Extension needs: ==
== Extension needs: ==


* [ ] View along axes
* View along axes
* [ ] Re-center view
* Re-center view
* [ ] Improved force field support
* Improved force field support
* [ ] Auto-optimize
** Auto-optimize
* [ ] Freeze / constraints
** Freeze / constraints
* [ ] Selection (by element, residue, etc.)
* Selection (by element, residue, etc.)
* [ ] Properties Tables
* Properties Tables
* [ ] Need bond, angle, torsion, non-bonded iterators
** Need bond, angle, torsion, non-bonded iterators
* [ ] Spectra
* Spectra
* [x] Vibrations
** <strike>Vibrations</strike>
* [ ] Orbital table
** Orbital table
* [ ] Build features
* Build features
* [ ] Insert SMILES
** <strike>Insert SMILES</strike>
* [ ] Insert fragment
** Insert fragment
* [ ] Insert peptide (via FASTA format)
** Insert peptide
* [ ] Insert DNA/RNA
** Insert DNA/RNA (via FASTA format)
* [ ] Invert chirality
** Invert chirality
* [ ] Open / search MongoChem
** <strike>Open / search MongoChem</strike>
* [ ] Fragments
* Fragments
* [ ] Crystal structures
** Support for residues
* [ ] Crystallography (Albert)
* Crystal structures
* [ ] spglib
** Crystallography (Patrick)
* [ ] Perceive / Set spacegroup
** <strike>spglib</strike>
* [ ] Fill unit cell
** <strike>Perceive / Set space group</strike>
** <strike>Fill unit cell</strike>


== Rendering needs: ==
== Rendering needs: ==


* [ ] Labels
* Labels
* [ ] Settings Dialogs - couple of examples already there
* Dipole moment
* [ ] Color plugins
* Cartoon
* [ ] Configure element colors
** Needs residue support
* [ ] Valence check
* Hydrogen bonding
* [ ] Hybridization
* Forces
* [ ] Partial charge
* Settings Dialogs - couple of examples already there
* [ ] Merge VdW rendering (Auto, AO off, AO on) - Tim
** Color plugins
* [ ] Volume density, contours (VTK integration) - Marcus
** Configure element colors
* [ ] Fast wireframe
** Valence check
* [ ] Dipole moment
** Hybridization
* [ ] Quadrupole?
** Partial charge
* [ ] Cartoon
* Merge VdW rendering (Auto, AO off, AO on) - Tim
* [ ] Needs residue support
* Volume density, contours (VTK integration) - Marcus
* [ ] Hydrogen bonding
* [ ] Support 0-order bond in avogadrolibs
* [ ] Check that code (e.g., iterators) account for bond orders
* [ ] Forces


== Interface Polish ==
== Interface Polish ==


* [ ] Settings / Preferences
* Settings / Preferences
* [ ] Custom atomic colors
** Custom atomic colors
* [ ] Custom radii
** Custom radii
* [ ] Menu reorganization
* Menu reorganization
* [ ] Help menu
** Help menu
** [ ] Links to website, manual, bug reporting, etc.
**Links to website, manual, bug reporting, etc.
* [X] '''Bug:''' Multiple selected tools (e.g., draw + navigate highlighted) - Marcus
* Mac polish - Geoff
* [ ] Mac polish - Geoff
** Mac laptop keys (no 3-button mouse) - Geoff
* [X] Info.plist (and other icons)
** <strike>Info.plist (and other icons)</strike>
* [ ] Missing dialog icon (Mac) - Geoff
** <strike>Remove Mac menu icons</strike>
* [X] Remove Mac menu icons - Geoff
** <strike>Fix high-resolution icons</strike>
* [ ] Mac laptop keys (no 3-button mouse) - Geoff
* [ ] Fix high-resolution icons

Latest revision as of 16:25, 4 July 2018

Roadmap for Avogadro v2 Development

Avogadro2 0.9

Released 7 March 2016

Avogadro 1.91

(Already implemented):

  • Expanded support for import / export
  • Improved draw tool
    • Improved automatic adjustment of hydrogens
    • Automatic bond order - short bonds are double or triple
  • Improved crystal / materials support (GSoC project)
    • Integration with spglib to perceive space groups
    • Symmetrize unit cells
    • Reduce to primitive cells

Avogadro 2.0

  • Finish auto-optimize force field support
    • Add force field constraints

General needs:

  • Selection Tool & Menu
    • Needs selection box
    • Selection needs to be undo/redo-able
    • Selections should be saved to CJSON
    • Many features need to be "selection enhanced"
  • Residue / fragment support - Marcus
  • Foreign Language Translation Setup
    • Create initial POT templates
    • Create Launchpad setup for Avo2 templates / translations
    • Create scripts to generate .QM files from .PO using lupdate / lrelease
    • Create GitHub repository to download QM files
    • CMake magic to grab current translations at build time
    • Downloader support for updating translations
  • Hydrogen geometry - Geoff
    • Formal charges, hybridization
    • Unit tests
  • Force field implementation (Lennard-Jones, UFF) - Geoff
    • Adapt obmm Open Babel tool (IO with Cjson)
    • Constraints
    • Updated geometries (i.e., drag an atom - force reoptimize w/ AutoOpt mode)
  • Cleanup plugin loading and downloader
    • Support subdirectories with plugin.json
    • Support install scripts from downloader (e.g., setup virtualenv)
    • Support precedence for downloaded plugins over built (e.g., replace original scripts with newer versions)
  • Crash Reporter / Breakpad
    • App integration
    • Server integration (crash.avogadro.cc)

Tool needs:

  • Selection - Marcus
  • Eye candy interaction rendering
  • Rotate around center-of-geometry
  • Port alignment tool from Avo1

Extension needs:

  • View along axes
  • Re-center view
  • Improved force field support
    • Auto-optimize
    • Freeze / constraints
  • Selection (by element, residue, etc.)
  • Properties Tables
    • Need bond, angle, torsion, non-bonded iterators
  • Spectra
    • Vibrations
    • Orbital table
  • Build features
    • Insert SMILES
    • Insert fragment
    • Insert peptide
    • Insert DNA/RNA (via FASTA format)
    • Invert chirality
    • Open / search MongoChem
  • Fragments
    • Support for residues
  • Crystal structures
    • Crystallography (Patrick)
    • spglib
    • Perceive / Set space group
    • Fill unit cell

Rendering needs:

  • Labels
  • Dipole moment
  • Cartoon
    • Needs residue support
  • Hydrogen bonding
  • Forces
  • Settings Dialogs - couple of examples already there
    • Color plugins
    • Configure element colors
    • Valence check
    • Hybridization
    • Partial charge
  • Merge VdW rendering (Auto, AO off, AO on) - Tim
  • Volume density, contours (VTK integration) - Marcus

Interface Polish

  • Settings / Preferences
    • Custom atomic colors
    • Custom radii
  • Menu reorganization
    • Help menu
      • Links to website, manual, bug reporting, etc.
  • Mac polish - Geoff
    • Mac laptop keys (no 3-button mouse) - Geoff
    • Info.plist (and other icons)
    • Remove Mac menu icons
    • Fix high-resolution icons