This page describes changes and additions being considered for the SStructView
Java applet.
New structure data file
Allow JavaScript to point to a new structure file and have the applet
load it.
Mirror field function
Allow the caller to specify a form field to mirror; any selection in
the applet will be displayed automatically in that field.
DONE. Drag-select for sequence selection
Implement standard click-and-drag interaction to allow selecting a
region of bases.
DONE. New parameter : Selection-Mode
Values: one of "BASE", "BASE-PAIR" or "HELIX"
object types.
Desc: Determines what gets selected when the user clicks on
a pixel. By default is controlled by a popup menu in the interface.
When Queried: returns the current setting.
When Set: changes the click behavior appropriately. Any current
selection is removed, and the last clicked pixel is reinterpreted to see
if an object of the new type should be selected.
DONE. New parameter : Selection
Values: return-delimited list of selections. A selection is
an ordered comma-delimited list of objects (e.g. "BASE-4, BASE-5,
BASE-6"). If only one range is selected, only one line is returned.
Desc: Describes what is currently hilighted.
When Queried: returns the currently hilighted objects.
When Set: removes current selection and hilights the specified
objects.
This might require a change in the file format to include both a unique
ID and a sequence identifier. Currently it only contains a unique ID which
can be letters or numbers. Thus, we can't say something like "base3-base9"
because I have no easy way to iterate over these (i.e. generate base4,
base5, base6, base7 and base8). With a sequence property, a set of objects
can be identified by a data type and range ("BASE 3-9"), or an
explicit list ("base3, base4, base5, base6, base7, base8, base9").
This may be moot since not all objects have a semantically biologically
sequence (e.g. helices), so we may just want to force every item in a selection
to be explicitly enumerated.
Unresolved is "set math" on selections. For example, if the
user selects bases 4-7, then also selects bases 8-10, what is the current
selection? Either as two distinct selections (since the user selected them
independently):
BASE-4, BASE-5, BASE-6, BASE-7
BASE-8, BASE-9, BASE-10
or clump them together as a single selection because SStructView (could)
automatically "joins" adjacent sequences:
"We probably want to add to SSTRUCTVIEW the possibility of having
basepairs that are not "close" as most BPs are. As you will notice,
there are some lines drawn for long range bps (Actually, you brought some
in to look at with me the other day, so you are well aware of them--I assume
you are handing those with straight lines between the two basepairs? I
don't think it is key to have 1 line to summarize 3 BPs, that's a nicety
that you don't need to reproduce. Also, you probably have to have straight
lines, and not aesthetic bended lines that avoid other bases, right? We'll
see how it looks, and if there are any possible solutions. (Note: long
range BPs with long BP lines are like constraints with a high error, showing
that even the Weiser layout algorithm wasn't able to satisfy all the constraints)."
This is tricky -- don't know how to automatically draw a "nice"
line between two far bases. Base and base-pair hilighting should work regardless
of where they are at.
Custom coloring for bases and selections
Linking color and other visual characteristics with particular sets
(e.g. base-pairs in blue, helices in red)