Version 66 (modified by 10 years ago) ( diff ) | ,
---|
Needed Command Functionality
Chimera2 command functionality needed for early release(s) based on EarlyReleaseRequirements.
This is somewhat high-level; more detailed guidelines and examples are in Chimera2 Command-Structure Thoughts.
Late summer release
Initial versions (not necessarily full implementations, could be partial) of:
- open (suggest same general syntax as Chimera1, possibly adjusting prefixes; covers both local files and web-fetch)
- for this release: PDB, PDB/mmCIF, density maps
- display, modeldisplay (suggest replacing with show/hide)
- this could control pseudobonds indirectly if they are hidden automatically when endpoint atoms are hidden, but we may want to make it act on them directly, or else setattr (see below) might be the only way
- ribbon (suggest replacing with cartoon and including spline, path-smoothing, and any other whole-chain parameters as options to this command)
- see ribbons writeup
- for this release, just ribbons (not pipes/cylinders or worm-by-attr)
- surface solvent-excluded molecular surface
- see SurfaceCategories discussion of categories and command design
- see surface manpage mockup based on subsequent discussion
- repr, ribrepr, ribscale, surfrepr (maybe consolidate into a new style command, generalizing ribbon to cartoon as per ribbons writeup, and including pseudobonds; I'm not sure consolidation is better, however, since consolidation makes longer commands, and these will be used frequently); styles for this release:
- atom/bond stick, bs, sphere (and line?)
- pseudobond dashedStick (since TomG already added it; could be named something else)
- stick and line (if we even have the latter) would apply to both atoms/bonds and pseudobonds
- surface (volume isosurface and molecular surface) solid, mesh
- a default style or a few possibilities for ribbons/cartoons (say smooth and edged with default scaling; tube should be easier to implement than those, even though it's down in the Would be nice section)
- each style could have sub-options (e.g. stick radius), or if it's too complicated to include them in the style command, they could be adjusted with setattr
- see command examples for more detailed thoughts
- color (leaving color-by-attr as in rangecolor, color-by-scalar-field as in scolor, and rainbow for later and separate from color)
- volume control over isosurface display (redundancy with show/hide/color etc. OK with me, but should review structure and keywords vs. the negotiable command guidelines)
- some way to adjust subdivision/smoothness; any global setting could be covered by set (see below) and any attribute by setattr, but there could also be options in surface, volume, cartoon and/or a top-level quality command
Extremely useful catchalls that I suggest retaining as permanent commands even though there will be some redundancy:
- set global settings
- for this release: silhouettes, background color, depth-cuing amount and color, interactive shadows, lighting (ambient occlusion, ambient-only, N-point)
- if many sub-options, e.g. lighting, could make a separate top-level command; also keeping a redundant but longer set command is OK with me
- setattr attribute values
GUI-only, or do we need commands?
- select (including up/down) see Chimera1 selection cascades
- save/restore session, could be save session with restore covered by open, or session (save|restore)
- save image (or image save) with supersampling option
Command accoutrements:
- decide on keyword conventions (see command guidelines)
- decide on what kinds of colorspecs are allowed, e.g. can color names include spaces?
- set of built-in color names
- built-in specs solvent, ions, ligand, main, helix, strand, coil (needed for molecular surface and ribbon anyway, might as well make them available for command-line use)
- built-in specs for element and/or atom type, if already needed for setting radii for molecular surface calculation anyway
- basic hierarchical atomspecs (see Chimera2 atomspec writeup)
December release
The following functionality is listed for the December release, but not necessarily as commands:
- transparency (similar to color; takes care of individual settings, whereas set or another command would be used for related global parameters)
- single-layer transparency (set or other command control)
- clip, section, thickness (suggest combining into single command to control global clipping, say clip or gclip)
- mclip per-model clipping, plane or slab
- capping of all solid objects, including surfaces, cartoons, atoms/bonds (set if global, setattr if per-object; could also be an option in clip and/or mclip)
- pseudobonds that could be intermodel (implying need for distance)
- active/~active, freeze/~freeze or some other command to control model activation for motion (in Chimera1, freeze is something different)
- help to bring up command documentation
- delete
Expanded functionality of existing commands:
- open (including fetch) cellPACK, which would elicit interface for exploring hierarchy
- select all, clear, invert
- set and setattr as mentioned in the previous section
Command accoutrements:
- command documentation
- full atomspecs (see Chimera2 atomspec writeup)
- translation of menu actions into commands (if needed for full logging and replay... maybe it's not?)
Highly desirable
Again listed but not necessarily as commands:
- smart molecule display (does that imply preset functionality?)
- findhbond
- rangecolor or equivalent for color-by-attribute
- then defattr would be useful
- scolor or equivalent for color-by-scalar (radial, volume value, etc.)
- logical to merge rangecolor and scolor, maybe also rainbow, but what's a good name?
- color-by-scalar might only apply to surfaces and atoms, unless we want cartoons to show residue values derived from the substituent atomic values
- define geometric objects based on atomic coordinates: axes, planes, centroids, ellipsoids
- shape or other way of defining geometric objects arbitrarily
- I suggest BILD-like position specification; Chimera1 shape position specification is much too difficult
- scene save, restore, list
- label (possibly merge with rlabel; takes care of individual settings, whereas set or another command would set related global parameters)
- whether global or not, I'd like a command control for font/fontsize (this isn't in mentioned in the features list, though)
- 2dlabels
- colorkey
- sop hideDust or equivalent (I suggest below it might be a volume option)
Expanded functionality of existing commands:
- style options for pseudobonds: dotted and dashed sticks, dotted and dashed lines (but do we really need the latter any more?)
- fancy-shaped selection and clipping (if global add options to clip, otherwise to mclip if feasible; Chimera1 has octant stuff in vop subcommands)
- volume isosurface smoothing, and maybe an option equivalent to sop hideDust (is this used for anything other than isosurfaces?)
- save PDB, volume data, etc.
- set (or other command) global settings: background color gradient, multiple-layer transparency (correctly rendered even for multiple models)
- setattr (or other command) attributes: material properties
Command accoutrements:
- more built-in specs like protein, nucleic acid, functional groups, amino acid categories, element symbols, atom types, etc. (the latter two may have been needed for molecular surface and/or H-bond calculations anyway)
Would be nice
Again listed but not necessarily as commands:
- nucleotides base-slab, sugar-tube, and ladder
- need better defaults than in Chimera1, at least for smart display
Expanded functionality of existing commands:
- cartoon options for cylinders/pipes and planks (or should these be style options for existing cartoons instead? should also integrate with helix axes, i.e. the pipes=axes could be used in measurements)
- I'm thinking cylinders could be a distinct option for helices, but that we don't really need perfectly box-shaped planks if there is an option for well-smoothed strands (like our default B spline strands in Chimera1)
- style option for cartoons, tube (similar to our current rounded licorice)
- surface provisions for multiple surfaces on same atoms, including SAS and/or SES
- atoms/bonds ring fill, aromaticity, and bond multiplicity display (sub-options of style stick and/or settable with setattr)
Eventually
- motion-scripting or other frame-argument commands (see Chimera1 movie-related commands)