Version 4 (modified by 11 years ago) ( diff ) | ,
---|
Molecule graphics attributes for Chimera 2, based on Chimera 1
These are graphical molecular attributes that should be part of the C++ molecule classes or their base classes. This list is based on Chimera 1 and is meant as a starting point for discussing possible changes in Chimera 2.
"*" indicates something we may change in Chimera 2.
Atom
hide (true/false, is atom shown when ribbon style shown) *surfaceDisplay (drop this, visibility of surface per-atom) *surfaceColor (drop this, used for color by atom, instead have surface remember this mapping) *surfaceOpacity (drop this, used for color by atom) *surfaceCategory (drop this? categories will be like other named selectors?) *Thermal ellipsoids for atoms -- in Python in Chimera 1, maybe should be Molecule attributes scaleFactor (float, scales size) probabilityLevelForScaling (percentage) smoothingLevel (level of detail for ellipsoid) displayEllipsoid (true/false) displayPrincipalAxes (true/false, show lines for ellipsoid axes) axesLengthFactor (float) axesThickness (float) displayPrincipalEllipses (true/false, show orthogonal planes of ellipsoid) ellipsesSizeFactor (float) ellipsesThickness (float)
BaseSphere (base class for Atom)
drawMode (Dot, Sphere, EndCap, Ball) *vdwPoints (drop this) *vdwColor (drop this)
Connectible (base class for BaseSphere)
display (true/false) color label (text string for 3d label) labelOffset (xyz position relative to atom) labelColor minimumLabelRadius (float)
Connection (base class for Bond/PseudoBond)
display (true/false) drawMode (wire, stick, spring) radius color halfbond (color each half of bond to match near atom) label (text) labelColor labelOffset (xyz position relative to bond center)
Residue
ribbonDisplay (true/False) ribbonDrawMode (2D, edged, round, custom) ribbonColor ribbonXSection (for custom cross-sections) ribbonStyle (width and thickness scale factors, e.g. for worms) fillDisplay (true/false, fill rings in residue) fillMode (thin, thick) fillColor label (text) labelColor labelOffset (xyz position relative to residue CA?)
Nucleotides - nucleic acid slab depictions in Python/VRML in Chimera 1
*These attributes should probably be moved to Residue C++ object in Chimera 2 style (sugar base styles: fill/slab, fill/fill, tube/slab, ladder, atoms+bonds) baseOrientationIndicator (true/false) slabThickness (float) slabShape (box, tube, ellipsoid) slabColor hideBaseAtoms (true/false) separateGlycosidicBond (true/false) slabDimensionsPurines (lower left, upper right xy offsets) slabDimensionsPyrimidines (lower left, upper right xy offsets) anchor (base, sugar) slabStyle (long, big, fat, skinny) ladderIgnoreNonBaseHBonds (true/false) ladderShowStubs (true/false) ladderRungRadius (float) ladderUseExistingHBonds (true/false) ladderRelaxHBondConstraints (true/false) ladderHBondConstraints(angstroms and degrees, if relax enabled)
Chain
No graphical attributes, Chain class does not exist in Chimera 1 *Might put Pipes and Planks graphical attributes in Chain or Residue. Current pipes and planks attributes: helixColor helixEdgeColor showArrowOnHelix (true/false) fixedHelixRadius (true/false) helixRadius (float) splitCurvedHelices(true/false) helixSplitThreshold (float, where to split) strandColor strandEdgeColor showArrowOnStrand (true/false) fixedStrandThickness (true/false) strandThickness (float) splitCurvedStrands(true/false) strandSplitThreshold (float, where to split) displayCoil (true/false) coilColor coilEdgeColor coilSubdivision (integer, level of detail) coilWidth (float) coilThickness (float)
Molecule, also inherits from Model
ballScale (float, scale ball size in ball and stick) pointSize (pixels for dot display) autoChain (true/false, connect CA atoms with pseudobonds) stickScale (float, scale factor for bond radius) lineWidth (pixels, for wire display) lineType (solid, dash, dot, dash-dot, dash-dot-dot) wireStipple (stipple pattern for wire bonds) showStubBonds (true/false, show a bond if atom not shown?) ribbonType (bspline, cardinal) ribbonStiffness (float, interpolation parameter) ribbonSmoothing (strand | coil mask, to smooth specific secondary structures) ribbonInsideColor (for inside/outside dual coloring) ribbonHidesMainChain (true/false) residueLabelPositionMode (centroid, backbone, primary-atom) aromaticDisplay (true/false, show circle or disk in aromatic rings) aromaticMode (circle, disk) aromaticLineType (solid, dash, dot, ... for circle display) *surfaceColor (drop this, for single color molecular surface, use surface attribute) *surfaceOpacity (drop this, for molecular surface, use surface attribute) *vdwDensity (drop this, density of surface vertices)
Model
display (true/false) color useClipPlane (true/False) clipPlane (center point and normal) useClipThickness (true/false, clip to a slab) clipThickness (float, slab thickness) silhouette (true/false, silhouettes enabled for this model)
PseudoBondGroup (global bond settings like Molecule)
stickScale (float, scale factor for bond radius) lineWidth (pixels, for wire display) lineType (solid, dash, dot, dash-dot, dash-dot-dot) wireStipple (stipple pattern for wire bonds) showStubBonds (true/false, show a bond if atom not shown?)
Global attributes
labelFontSize (integer points) labelFont (e.g. helvetica) labelStyle (normal, bold, italic) labelsOnTop (true/false, labels drawn on top of molecules)
Changes
- Should molecular surface attributes (color, per-atom visibility, category) be removed from Atom objects?
- Should nucleotide display style be in the Residue class (currently in Python / VRML in Chimera 1)?
- Should pipes and planks display style be part of Chain class?
- Should thermal ellipsoid display style be part of Atom class?
- Should wire bond and dot atom display styles be supported?
- Should vdw dot surfaces be removed from molecule classes?
- Should color objects be immutable? Chimera 1 allows redefining a color and having all graphics objects using that color automatically update. Complex code.
Note:
See TracWiki
for help on using the wiki.