| Version 22 (modified by , 14 years ago) ( diff ) |
|---|
High Order Chimera 2 Goals
- Improved performance and scalability (support for larger systems)
- Improved maintainability
- QT/Web interfaces
- Better tools, fewer tools
- Open platform, secure design
Possible Additional Improvements for Chimera 2.0
In no particular order...
- Colors are RGB values, not RGBA values, for ease of changing transparency of a non-uniformly-colored object.
- Integration of scene/session saving to avoid duplicative effort.
- Elimination of MSMS so that Chimera 2 can be truly open source and for improved reliability.
- Adoption of modern Python naming conventions.
- Programmer documentation for all public classes and functions.
- Global coordinate frame so model with lowest id is not special.
- Chain objects. You would need to define exactly what a chain means (same ID? connected polymer?) and what happens when a connecting bond is deleted or established.
- Sequence objects. [There are Sequence objects. Is this the same as specifying sequences in commands?]
- Wrap C++ code with SWIG instead of wrappy.
- Use numpy for vector, point, transform, bounding box, coordinate set data types.
- Implement Camera and Viewer in Python not C++. Code in Python unless speed is needed.
- Separate molecule C++ library from generic models / selectable / color abstractions.
- OpenGL shader support.
- Correct multi-model transparency.
- Unify commands / menus solvent-excluded and low resolution surfaces.
- Mouse pointer-mode palette like Photoshop or Gimp with mode parameters.
- Generalize 3 level selection hierarchy for many level molecular assemblies.
- Object specification for commands for all objects at all levels (unique ids, sequences, ...)
- Level-of-detail rending that maintains frame rate as highest priority.
- Image save in nogui mode for database applications.
- Easier to remember commands (e.g. one color command with key words for current color, rainbow, bondcolor, ribcolor, ribinsidecolor, modelcolor, surfcolor, scolor, rangecolor).
- Feature usage tracking.
- Less nightmarish compilation system so that "open source" means you can actually build it yourself.
- Atoms subclass from Points so that Atoms aren't used for all kinds of things that aren't actually atoms. Same idea for Bonds / Molecules (/Residues?).
- Recode object selection language parser. Currently very difficult to enhance.
- Use OpenGL vertex buffer objects instead of display lists. Faster and more reliable.
- Better molecular surface control. Surface category not required. Surface colors not saved with atoms.
- Robust solvent excluded molecular surface calculation.
- Improved nucleotides display. Individual residues selectable. High performance rendering (OpenGL VBO). No VRML.
- Separate Chimera source code from test data (combined Chimera 1.6 "source" is 2 Gbytes impeding 3rd party use).
- Provide unified limited undo for motion (including intra-molecule), color change, style change, visibility change, but not model editing.
- Biopython and/or SciPy integration?
- notebook integratation -- rednotebook, evernote
- possible localization
- Replicating structures without actually replicating the structures (e.g. arrays of unit cells; periodic MD simulations)
Development Cycle
- Monthly milestones with demonstratable results.
- Develop scientifically compelling examples based on published literature for all major new features with step-by-step details (video).
Tasks
Documents
Note:
See TracWiki
for help on using the wiki.
![[Chimera Issue Tracking System]](/trac/chimera/chrome/site/chimera_logo.png)