Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#838 closed enhancement (fixed)

Name selection command/GUI

Reported by: jadolfbr@… Owned by: Conrad Huang
Priority: major Milestone: 0.7
Component: General Controls Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

From chimerax-users:

One thing that is missing is a similar list of selections (yes, ala PyMol). I find these to be extremely useful in a long running session and I was wondering if something like that is planned.
It would be similar to the model window, where you could control each selection and maybe apply view controls to each selection as well - like having components that are cartoon and others stick, etc.

---
Some thoughts:

1) GUI could be a tab in the Model Panel

2) Should somehow interface with upcoming Actions menu

3) Elaine has mocked up the command version at: http://www.cgl.ucsf.edu/home/meng/chimerax/docs/user/commands/name.htm

4) Possibly inspect the contents of the named selection; add notes to a selection

Change History (18)

comment:1 by Conrad Huang, 8 years ago

Milestone: Alpha 4Beta Release

comment:2 by Eric Pettersen, 8 years ago

Milestone: Beta Release0.5

Milestone renamed

comment:3 by Conrad Huang, 8 years ago

Milestone: 0.50.6

comment:4 by Conrad Huang, 8 years ago

Milestone: 0.60.7

comment:5 by Conrad Huang, 8 years ago

Rename "target" command to "name", with syntax like "alias" with "name frozen" for immediate evaluation.

Simplify "Info" column, removing minimum-count items. Preserve atomspec for immediate evaluation targets. Limit "Info" column width to display "..." if too long.

Rename tool to "Basic Actions".

Change "Ribbon" heading to "Cartoon".

Last edited 8 years ago by Conrad Huang (previous) (diff)

comment:6 by Elaine Meng, 8 years ago

Oh sorry, the mockup no longer exists since I changed it to the real manpage and edited it to match current behavior. Original mockup did not have "all" keyword for "name list", for example.

Another "to do" is to save the user-defined targets in sessions. I haven't made a ticket for that although I could if you want. Did create a couple tickets for current "name" command bugs: #1084 #1085

comment:7 by Elaine Meng, 8 years ago

Personally I find "name list all" too overwhelming to be useful, and this use of "all" differs from "name delete all" where it is supposed to refer only to the user-defined targets. If you do keep "name list all" it would help to have separate disclosure sections (initially closed) for element, atom type, and functional group, and any other extremely large sets of targets we might add.

For the Basic Actions dialog,
(A) a similar grouping of built-in names would be nice. "Hide non-matching names" helps but the list can still be overwhelming without more organization.

(B) when there are many rows, you forget which columns are for atom, cartoon, surface; if I remember correctly, an advantage of the pymol interface was that the icons themselves indicated cartoon, surface, or coloring, so it did not have this problem. We could try to do something more similar, or not... just wanted to mention the issue.

(C) a group suggestion (i.e. not just me) suggestion from an earlier Chimera meeting was to make the color icon square so that it looks more like color wells in other dialogs like Model Panel and Volume Viewer.

I do like that using a Basic Actions icon echoes the corresponding command in the Log. Sorry to put all these different things here; could make separate ticket(s) if you prefer.

comment:8 by Elaine Meng, 8 years ago

Oooh, I like this idea:
In the Basic Actions dialog, instead of having all those eyes, could reuse Tom G’s molecule display icons: show and hide cartoon, show and hide atom, show and hide molecular surface. Even if the color icons remained the same as each other, it would be clearer from position what they do, and reduce the problem of trying to remember which column is which.

Also reinforces the meaning of the icons in both places, instead of having a lot of different icons that do the same thing in different tools in the UI.

comment:9 by Conrad Huang, 8 years ago

"name list all" = list all names, not just user-defined ones
"name delete all" = delete all user-defined names

Which should change, and to what?

(A) The tool was never intended to display built-ins. I cannot remember who suggested adding that. Greg gets credit for "Hide non-matching names". Currently, I use the very simple mechanism of asking for registered names. To organize into groups similar to the menu, I would need to call something from "chem_group". Before I do that, do people ACTUALLY show built-ins?

(B) Icons now match the shortcut toolbar icons, so much easier to remember/recognize.

(C) "Basic Actions" is implemented using HTML, so the control over the rendering of the color selector is not the same as Model Panel and Volume Viewer. The entire color selector is different for the same reason. I made things more square, but HTML/CSS does not provide that many parameters to play with.

comment:10 by Elaine Meng, 8 years ago

In the original mockup, "name list" did not have an "all" keyword. So I suggested removing it, unless the output was made more useful by organization and possibly collapsible sections.

(A) I don't know what the users most likely to benefit from the GUI tool (the command-averse) would prefer. I can guess that the built-ins might be useful, but the forest gets lost for the trees... or maybe the most popular needles are buried in the haystack.

One possibility is to omit the really huge lists (element, atom type, functional group) entirely, another is to make them collapsible. (I guess it would be difficult just to include the common elements?) I have collapsible divs in the User Guide top page (not that it would have to be done that way... there are probably several ways)
http://rbvi.ucsf.edu/chimerax/docs/user/index.html

(B) yay, thanks!!!

(C) if it's just a rectangle or square of a color, you could do it like I did in the "palettes" Users Guide page: http://rbvi.ucsf.edu/chimerax/docs/user/commands/palettes.html
... not sure if they work as clickable links, though, and I don't know how to make a square within a square. Alternatively, perhaps could just make an image icon like the show/hide ones, perhaps a snapshot of a color well in another dialog like Model Panel.

comment:11 by Elaine Meng, 8 years ago

For (A) especially since I know you have no shortage of things to do, perhaps can wait to get more info from "real" users of the GUI.

comment:12 by Conrad Huang, 8 years ago

By "removing it", you're suggesting that there will be no way to list built-in names at all. Is that correct?

(A) Postpone until feedback from users are available.
(B) done!
(C) The "color well" is not an image. It's rendered by the browser code as "color input", so I only have slight control over what it looks like. Take a look at the current version and see if it's acceptable. At least it's more square. And as TomG points out, the initial color in the well is always yellow/gold, mainly because I didn't want to figure out what the "correct" color is for built-in names, nor do I have a way to indicate "multiple colors are in use". Should I investigate replacing "color input" with an image that pops up the color selector? If so, what should that image look like?

comment:13 by Conrad Huang, 8 years ago

How about:

"name list [builtins F/T]" = list names, including builtins (default F)
"name delete all" = delete all user-defined names

in reply to:  14 ; comment:14 by Elaine Meng, 8 years ago

That suggestion re “name list” and “name delete” sounds good.

I’m OK with current  Basic Actions “color well” appearance and behavior; could possibly revisit changing it in the future, but  unless others want changes, could consider it done for this ticket.  I hadn’t even realized that they changed color until today!   The pymol approach is a static multicolored image, if I remember correctly.

comment:15 by Conrad Huang, 7 years ago

Resolution: fixed
Status: assignedclosed

Completed.

in reply to:  16 ; comment:16 by jadolfbr@…, 7 years ago

Hello,

I saw that this was completed so tried it out in the latest build.  I'm
glad it is getting somewhere, but I feel it sell needs some attention. I
couldn't write on the ticket, so I'm writing here.

1)  If I select some things using the GUI, it would be nice if I could name
the selection directly in the Basic Actions GUI (aka, a 'frozen' command)

2) If I name the selection using `name new_sel sel`, although there is a
hyperlink to the selection, it doesn't actually highlight the selection
when I click it.  If I use the 'frozen' command, then this works.  It seems
like `frozen` should be the default?

3) I would remove the model components part of the basic actions.  They are
long and IMO, clutter the interface.

4) The images to show/hide certain selections are good; however, a
drop-down menu is much easier to maintain and fits better in the space
provided.  Currently, one must have the Basic Actions take up half the
screen.  A drop-down would also allow commands to be added.  You could then
use the same drop-down elsewhere.

Thanks for implementing this!  I think as the first step, it is very
useful.  I hope these comments can make it even better.

Cheers,
-Jared

Jared Adolf-Bryfogle, Ph.D.
Research Associate
Lab of Dr. William Schief
The Scripps Research Institute

On Sat, Jun 2, 2018 at 4:41 PM, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  17 ; comment:17 by Elaine Meng, 7 years ago

If you use “name blah sel” it is simply a text substitution.  So whenever you say “blah” it will be replaced with “sel” and if nothing is selected at the time you actually use it , “blah” will refer to nothing.  You should use the “name frozen” option to save the CURRENT selection.  The use of “name” (non-frozen) is for specification strings that are long and tedious to type, like a bunch of residue numbers and chain IDs, or complicated booleans with zones and atom types, etc., not to rename the current selection.

In other words, the “name” option is not just to name a selection but also to alias a long specification string to something that is easier to remember and type.

in reply to:  18 ; comment:18 by Conrad Huang, 7 years ago

Hi, Jared.

Thanks for the feedback.  Most of the issues you raise involve user 
interface design, and we've had a number of discussions about that. 
I'll give you our rationale for the choices that we made for this round. 
  The problem is that we only have a small sample of users, so each 
opinion is probably disproportionately weighted.  So we released what we 
have and are open to changing the design after more feedback.

So here's my story, and I'm sticking to it :-)

On 6/4/2018 6:23 PM, Jared Adolf-Bryfogle wrote:

This (or something similar) was in my original design.  There was 
supposed to be an interface where the user can type in a name, and a 
button click will define that name for the current selection.  When I 
put that in the interface, it took up a lot of space and didn't look 
very good.  So I took it out.  I might give that another shot, hopefully 
better looking than last time.


Elaine explained the default vs "frozen" difference.  We thought, a 
priori, that text replacement is the more frequently desired action, but 
we'll find out as more feedback comes in.  If "frozen" is more 
desirable, we will probably add a command like "name alias" that will 
act like the current default, and make "name" default to "name frozen".


Again, small test population.  The components, currently just chains, 
are useful for quickly manipulating well-defined units in the opened 
models.  We might hide the table behind a "disclosure triangle" (you 
click on the triangle and it discloses the table) so that it doesn't 
take up a lot of space initially.  We'll see.


The interface is loosely modeled on the PyMol interface, which has 
letters that you can click on.  The main advantage of this type of setup 
is that you need only a single click to do what you want (obviously 
pretty basic stuff but frequently used).  No popups, no dragging the 
mouse, nothin'.  And unless we add three or four more "basic actions", 
the table is wide enough to support the iconic style rather than the 
drop-down menu style.


Again, thanks for the feedback, Jared.  We will be revisiting this, but 
perhaps not until after we get to the 0.9 release.  There are so many 
things to do.  :-o

Conrad
Note: See TracTickets for help on using tickets.