Changes between Version 113 and Version 114 of Needed Command Functionality


Ignore:
Timestamp:
Nov 3, 2015, 12:36:57 PM (10 years ago)
Author:
Elaine Meng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Needed Command Functionality

    v113 v114  
    2626* '''open''' (suggest same general syntax as Chimera1, possibly adjusting prefixes; covers both local files and web-fetch)
    2727  - for this release: PDB, PDB/mmCIF, density maps, sessions
    28 * '''close'''
    29 * '''exit, quit''' or equivalent
     28  - as of Nov 2 2015 done for the above except sessions
     29* ~~'''close'''~~ (done for models; might want to add session option later)
     30* ~~'''exit, quit''' or equivalent~~ (done)
    3031  - maybe '''stop''' should instead work like Chimera1 '''freeze''' (stop motion), and '''freeze''' could be repurposed for deactivation (the older function of Chimera1 '''~select''')
    31 * something like Chimera1 '''focus''' and/or '''window''' (although I might rename as '''view''' since that's an action; the noun is confusing... '''window''' may be better for windowsize specification)
    32 * '''display''', '''modeldisplay''' (suggest replacing with '''show/hide''')
     32* ~~something like Chimera1 '''focus''' and/or '''window''' (although I might rename as '''view''')~~ (done)
     33  - '''window''' may be better for windowsize specification
     34* '''display''', '''modeldisplay''' (maybe replace with '''show/hide''')
    3335  - 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
     36  - as of Nov 2 2015 implemented as '''display''' and its options (EM: seems good to me)
    3437* '''cartoon''' including spline, path-smoothing, and any other whole-chain parameters as options
    3538  - see [http://www.cgl.ucsf.edu/home/meng/chi2/ribbons.html ribbons writeup]
     
    3942  - see [[SurfaceCategories]] discussion of categories and command design
    4043  - see [http://www.cgl.ucsf.edu/home/meng/chi2/surface.html surface command mockup] based on subsequent discussion
     44  - as of Nov 2 2015 a fairly extensive '''surface''' implementation including calculation options, showing/hiding down to the level of atomic patches
     45  - EM remaining thoughts:
     46    - do we want to add '''~surface''' as synonym for '''surface hide'''?
     47    - do we need mesh or dot options, and if so, via what command ('''surface''' or '''style''' or other?)
    4148* '''repr''', '''ribrepr''', '''ribscale''', '''surfrepr''' (maybe consolidate into a new '''style''' command, generalizing ribbon to cartoon as per [http://www.cgl.ucsf.edu/home/meng/chi2/ribbons.html 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:
    42   - atom/bond '''stick, bs, sphere''' (and '''line'''?)
     49  - ~~atom/bond '''stick, bs, sphere'''~~ (implemented via '''style'''; do we need a '''line''' style?)
    4350  - pseudobond '''dashedStick''' (since TomG already added it; could be named something else)
    4451  - '''stick''' and '''line''' (if we even have the latter) would apply to both atoms/bonds and pseudobonds
     
    4754  - 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'''
    4855  - see [http://www.cgl.ucsf.edu/home/meng/chi2/command-structure.html#examples command examples] for more detailed thoughts
    49 * '''color''' (leaving color-by-attr as in '''rangecolor''', color-by-scalar-field as in '''scolor''', and '''rainbow''' for later)
    50   - just the first usage with single colorname in the [http://www.cgl.ucsf.edu/home/meng/chi2/color.html color command mockup]
     56* ~~'''color''' (just the first usage with single colorname in the [http://www.cgl.ucsf.edu/home/meng/chi2/color.html color command mockup]~~ (done)
     57  - leaving color-by-attr as in '''rangecolor''', color-by-scalar-field as in '''scolor''', and '''rainbow''' for later
    5158* '''volume''' control over isosurface display (redundancy with show/hide/color etc. OK with me, but should review structure and keywords ''vs.'' the negotiable [http://www.cgl.ucsf.edu/home/meng/chi2/command-structure.html command guidelines])
     59  - I ''think'' this is done
    5260* 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
    5361
     
    5563* '''set''' global settings
    5664  - for this release: silhouettes, background color, depth-cuing amount and color, interactive shadows, lighting (ambient occlusion, ambient-only, N-point)
    57   - 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
     65  - 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
     66  - as of Nov 2 2015 at least some of this is done, some via '''set''', some via other commands such as '''lighting'''
    5867* '''setattr''' attribute values
    5968  - need some way for the user to look up the names and possible values of attributes
     
    6170For this release, GUI-only or commands? (eventually they should be commands)
    6271* '''select''' (including up/down) see [http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/selection.html#expandselect Chimera1 selection cascades]
     72  - as of Nov 2 2015 a good '''select''' command but hierarchy is very limited compared to Chimera1 (presumably will be expanded later) and command doesn't include up/down options
    6373* '''save session''' with restore covered by '''open''', or '''session (save|restore)'''
    6474* '''save image''' with supersampling option
    6575
    6676Command accoutrements:
    67 * decide whether we will have '''~commands''' (ECM: I quite like them, but others may not)
     77* decide whether we will have '''~commands''' (consensus seems to be yes)
    6878* decide on keyword conventions (see [http://www.cgl.ucsf.edu/home/meng/chi2/command-structure.html command guidelines])
    6979* decide on what kinds of colorspecs are allowed, ''e.g.'' can color names include spaces?
    70 * set of built-in color names
    71 * 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)
    72 * built-in specs for element and/or atom type, if already needed for setting radii for molecular surface calculation anyway
     80  - as of Nov 2 2015 basically done but we could consider adding some easier-to-type alternatives later
     81* ~~set of built-in color names~~ (done)
     82* ~~built-in specs '''solvent, ions, ligand, main, helix, strand, coil'''~~ (these specific ones are done)
     83* built-in specs for element and/or atom type
     84  - element symbols are done/available
    7385* basic hierarchical atomspecs (see [http://www.cgl.ucsf.edu/home/meng/chi2/frameatom_spec2.html Chimera2 atomspec writeup])
     86  - as of Nov 2 2015 mostly done, lacking a few things like wild cards
    7487* some way to look up attribute names/values for '''setattr'''
    7588
     
    7790
    7891The following functionality is listed for the December release, but not necessarily as commands:
    79 * '''transparency''' (similar to '''color'''; takes care of individual settings, whereas '''set''' or another command would be used for related global parameters)
     92* ~~'''transparency''' (similar to '''color'''; takes care of individual settings, whereas '''set''' or another command would be used for related global parameters)~~ (done)
    8093 - see [http://www.cgl.ucsf.edu/home/meng/chi2/transparency.html transparency command mockup]
    8194 - single-layer transparency ('''set''' or other command control)
    82 * '''cofr''' or '''focus'''-like command ('''view'''+'''cofr''') for setting fixed center of rotation
     95* ~~'''cofr''' or '''focus'''-like command ('''view'''+'''cofr''') for setting fixed center of rotation~~ (done)
    8396* '''clip''', '''section''', '''thickness''' (suggest combining into single command to control global clipping, say '''clip''' or '''gclip''')
    8497* '''mclip''' per-model clipping, plane or slab
     
    8699* pseudobonds that could be intermodel (implying need for '''distance''')
    87100* '''active/~active, freeze/~freeze''' or some other command to control model activation for motion (in Chimera1, '''freeze''' is something different)
    88 * '''help''' to bring up command documentation
    89 * '''delete'''
     101* ~~'''help''' to bring up command documentation~~ (done)
     102  - however, the '''usage''' results for almost all commands need improvement
     103    -  prevent both the keyword and non-keyword specifications for some parameter being shown, e.g. '''usage select'''
     104    - get rid of seemingly incorrect nesting, e.g. '''usage cofr'''
     105    - do we want to show several options that aren't yet implemented, e.g. '''usage color''' or '''usage cartoon'''
     106* ~~'''delete'''~~ (done)
    90107
    91108Expanded functionality of existing commands:
    92109* '''open''' (including fetch) cellPACK, which would elicit interface for exploring hierarchy
    93110* '''save''' reply log, command history
     111  - as of Nov 2 2015 the log can be saved via the '''log''' command and the command history can be saved via its GUI; '''save''' itself needs work (session-saving not yet done)
    94112* '''select''' all, clear, invert
    95113* '''set''' and '''setattr''' as mentioned in the previous section
    96114
    97115Command accoutrements:
    98 * command documentation
     116* command documentation (in progress, done for several)
    99117* full atomspecs (see [http://www.cgl.ucsf.edu/home/meng/chi2/frameatom_spec2.html Chimera2 atomspec writeup])
    100118* translation of menu actions into commands (if needed for full logging and replay... maybe it's not?)
     119  - done for the display and graphics icons, not for menu items as far as I know
    101120
    102121== Highly desirable ==
     
    106125  - IMO, this implies the need for '''preset''' with at least two interactive options: one with all atoms shown and one similar to the smart display; I'd vote for a third one with molecular surface(s) colored to match the corresponding chain's ribbon, possibly transparent
    107126* color-by-attr as in '''rangecolor''', color-by-scalar-field as in '''scolor''', and color sequentially as in '''rainbow'''
    108    - ECM: I favor merging with main '''color''' command, see [http://www.cgl.ucsf.edu/home/meng/chi2/color.html omnibus color command mockup] ( [http://www.cgl.ucsf.edu/home/meng/chi2/vcolor.html color-by-value command mockup] is less refined, I stopped working on it)
     127   - EM: I favor merging with main '''color''' command, see [http://www.cgl.ucsf.edu/home/meng/chi2/color.html omnibus color command mockup] ( [http://www.cgl.ucsf.edu/home/meng/chi2/vcolor.html color-by-value command mockup] is less refined, I stopped working on it)
    109128  - '''defattr''' would be useful for reading in custom attributes
    110129* '''findhbond'''
     
    116135* '''label''' (possibly merge with '''rlabel'''; takes care of individual settings, whereas '''set''' or another command would set related global parameters)
    117136  - command control of font/fontsize would be nice
    118 * '''2dlabels'''
    119   - maybe rename to '''title'''
     137* '''2dlabels''' (has been renamed '''title''')
    120138  - could merge create/change operations into a single operation, possibly without keyword (something like "title t1 text Hello xpos .1 ypos .1”)
     139  - EM: I ''think'' it's been ported over from Chimera1 but I haven't tested or documented it
    121140* '''colorkey'''
    122141
     
    126145  - potentially options of '''select, clip, mclip''', ''e.g.'' to use some previously defined 3D geometric object (an enclosed shape, I assume)
    127146  - projections of 2D shapes or outlines as mentioned in the '''Would be nice''' section could also be used
     147  - EM: I ''think'' '''vop''' has been completely ported over from Chimera1
    128148* '''volume'''
    129   - isosurface smoothing (does this apply also to grid molecular surfaces? if so, could also be an option to '''surface''')
     149  - isosurface smoothing
     150  - EM: I '' think'' '''volume''' has been completely ported over from Chimera1, including the surface smoothing options
    130151  - '''sop hideDust''' equivalent (could be separate command, but is this used for anything other than isosurfaces?)
    131152* '''save''' PDB, volume data format(s), graphics format(s), ''etc.''
    132153* '''set''' (or other command, ''e.g.'' '''background''') global settings: background color gradient, multiple-layer transparency (correctly rendered even for multiple models)
    133154* '''setattr''' (or other command, ''e.g.'' '''material''') individual attributes: material properties
     155  - EM: there is a '''material''' command but I haven't explored it
    134156
    135157Command accoutrements:
    136 * 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)
     158* more built-in specs like '''protein, nucleic acid,''' functional groups, amino acid categories, atom types, ''etc.''
    137159
    138160== Would be nice ==
     
    154176* '''surface'''
    155177 - provisions for multiple surfaces on same atoms, including SAS and/or SES
     178  - as of Nov 2 2015 done-ish, can have multiple surfaces on same atoms, but there is no SAS capability
    156179 - patch boundary-smoothing, see '''smoothBorders''' in the [http://www.cgl.ucsf.edu/home/meng/chi2/surface.html surface command mockup]
     180  - as of Nov 2 2015 done-ish, '''sharpBoundaries''' option fulfills similar role
    157181* atoms/bonds ring fill, aromaticity, and bond multiplicity display (sub-options of '''style stick''' and/or settable with '''setattr'''; could also apply to '''style line''', but do we still need that style?)
    158182* smart clipping, leaving individual objects such as multiscale surfaces whole
     
    160184 - in Chimera1, certain things are already only wholly selectable (surface pieces, ''etc.''), but if we become able to select subparts/triangles within surfaces, it could also be an option of '''select'''
    161185* '''set''' (or other command, ''e.g.'' '''background, lighting, camera''') global settings: background images, lighting contrast, camera modes (orthographic, stereo)
    162 * '''setattr''' (or other command, ''e.g.'' '''material''') attributes: individual shininess (and/or '''set''' global shininess?), other individual material properties, per-model silhouettes (remove silhouettes from global settings?)
     186  - as of Nov 2 2015 some of these are done, '''camera''' command
     187* '''setattr''' per-model silhouettes (remove silhouettes from global settings?)
    163188
    164189GUI-only, or do we need commands?
     
    172197  - maps
    173198* '''coordset'''-like trajectory playback but also the ability to show more than one frame at a time
    174 * '''vseries'''
     199* ~~'''vseries'''~~ (done)
    175200* other motion-scripting and frame-argument commands (see [http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/movies.html#moviecommands Chimera1 movie-related commands])
    176201  - as mentioned [#/stop above], could make Chimera2 '''stop''' act like Chimera1 '''freeze''', and Chimera2 '''freeze''' deactivate models for motion like Chimera1 '''~select'''
    177202  - I'm hoping for saved positions and commands for traversing them: '''savepos/reset/fly'''... these are useful and much lighter-weight than scenes
     203    - as of Nov 2 2015 '''savepos/reset''' partial implementation in '''view''' command
    178204  - although Chimera1 has scenes, it doesn't have command controls analogous to the above for fully scripting timeline playback; our designs for '''transition''' and '''animate''' commands were never implemented (see [http://www.cgl.ucsf.edu/home/meng/chi2/anim-commands animation commands writeup])
    179205
    180206== Uncategorized (priority not yet discussed) ==
    181 * a command to make user-defined targets (like Chimera1 '''namesel''' plus the target-defining part of Chimera1 '''alias''')
    182   - maybe reuse '''alias'''? (see [http://www.cgl.ucsf.edu/home/meng/chi2/alias.html alias command mockup])
     207* a command to make user-defined targets (like Chimera1 '''namesel''')
     208  - we decided to name this '''namespec''' (see [http://www.cgl.ucsf.edu/home/meng/chi2/alias.html alias command mockup]) with '''currentOnly''' option to distinguish the evaluate-now or evaluate-upon-use types
    183209* a command to make user-defined commands (like the action-defining part of Chimera1 '''alias''')
    184   - maybe '''macro''' or '''metacommand'''? (see [http://www.cgl.ucsf.edu/home/meng/chi2/macro.html macro command mockup])
     210  - we decided to keep the name '''alias''' for this function (see [http://www.cgl.ucsf.edu/home/meng/chi2/macro.html macro command mockup])
     211  - as of Nov 2 2015 we have this command but syntax not fully resolved