Opened 6 years ago
Closed 5 years ago
#2007 closed defect (fixed)
Can't zoom after opening structure factors, scroll is changed to contour level
Reported by: | Owned by: | Tristan Croll | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Volume Data | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Darwin-17.7.0-x86_64-i386-64bit ChimeraX Version: 0.9 (2019-06-05) Description Opening structure factors automatically reassigns scroll-wheel from zoom to be contour level adjustment. How is one supposed to zoom after this? This seems like a significant user interface problem as zooming is the first thing you want to do after opening the structure . This likely gives the user a very bad impression of the software if they are unable to zoom. Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' UCSF ChimeraX version: 0.9 (2019-06-05) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 6fk0 format mmCIF fromDatabase pdb structureFactors true Summary of feedback from opening 6fk0 fetched from pdb --- notes | 6fk0 title: Xray structure of domain-swapped cystatin E dimer [more info...] | Chain information for 6fk0 --- Chain | Description 1.3/A 1.3/B | Cystatin-M Resolution: 2.8001209997185517 OpenGL version: 4.1 NVIDIA-10.32.0 355.11.10.10.40.102 OpenGL renderer: NVIDIA GeForce GT 650M OpenGL Engine OpenGL vendor: NVIDIA Corporation
Change History (9)
comment:1 by , 6 years ago
Component: | Unassigned → Volume Data |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Can't zoom after opening structure factors, scroll is changed to contour level |
comment:2 by , 6 years ago
comment:3 by , 6 years ago
A few points for discussion on this:
- ChimeraX's standard zoom mouse mode really isn't suited to this particular task (tinkering with the details *inside* the model rather than looking in on it from the outside). Clipping planes and depth cueing become really important here. Clipper has a special zoom mouse mode that I think works well: it dynamically adjusts the forward and back clipping planes with the level of zoom. It's mapped to shift-right-click-and-drag (a combination chosen primarily to keep it from conflicting with the standard ChimeraX mouse modes). There's also a mode mapped to shift-scroll to adjust the relative distance between the clipping planes.
- With high-resolution maps, particularly where the mobility of atoms varies substantially from place to place, it becomes vitally important for re-contouring to be something that's quick and easy - so it really needs to be a mouse mode rather than a menu- or command-driven task. Scrolling is arguably the most natural solution and offers finer control compared to click-and-drag approaches, and really is the standard for this particular field.
- Both of the above do become somewhat problematic for "pure touchpad" users (although I doubt that many people seriously using ISOLDE/Clipper for model building would be among that group). Right-clicking can be quite fraught on many touchpads, and with the current implementation for the Mac touchpad scrolling doesn't seem to exist at all (used to be a 2-fingered swipe, but now that rotates the view instead).
To come up with a better solution will involve some cooperation and discussion, I think.
comment:4 by , 6 years ago
I agree that you need special mouse modes. And you are right that no one with a laptop and trackpad will use ISOLDE if you do not work to allow that. I think that people will not use ISOLDE because of its fancy features. The number one factor will be how easy and convenient it is -- can the user casually get some work done on their laptop, and then switch to their desktop. I made this ticket because if I am right it is more important that you address usability issues than feature issues. My sense is you do not believe this and that concerns me because I believe your software will not attract enough users no matter how many nice features it has. If you want the focus on advanced features over usability then ChimeraX was a poor choice to build on, Coot is the perfect design approach for that goal, keep the program as narrow as possible with every feature tuned to the one use case. That is the opposite of what makes ChimeraX valuable, the integration and smooth interoperation of a diverse set of capabilities, usually very unsophisticated capabilities. Anyways that is my pitch. I will be giving a 3-4 hour ChimeraX cryoEM tutorial on July 10 at Stanford for a workshop. If ISOLDE is hard to use on laptops I won't use it in the tutorial -- those are the machines the participants will work with.
comment:5 by , 6 years ago
Oh, the reasons why ChimeraX is a much better choice of environment than Coot are many and varied...
While one could certainly use ISOLDE "on the move" to inspect a model and take notes on what needs to be done with it, I'm afraid that with the current generation of hardware that actually running interactive simulations to change the model would simply burn a hole in your lap and/or your battery. Interactive simulations turn the battery in my £1600 "power gaming" laptop into a glorified UPS - 15-20 minutes before it shuts itself off. That's really quite unavoidable without a near-complete re-think of just about everything: molecular dynamics simulations are really computationally intensive, and I don't see a way to reduce that which wouldn't drastically reduce the quality of the end result. The only way to make it work that I can see would be offloading the simulations to the cloud, but that's a very first-world-only solution at present.
You might say that my focus for ISOLDE so far has been to make it so you don't have to be working on your laptop on-the-move, but just get the average job done in a few easy hours on a workstation rather than days to weeks of fiddling.
Anyway, on to implementation, and experimenting with other options: for working with the mouse, how about if I override scroll with Clipper's zoom mode, and shift contouring to alt-scroll (with clip plane adjustment and map selection remaining unchanged on shift-scroll and ctrl-scroll respectively)? Trying it out, this seems like a combination that seasoned ChimeraX users should adapt well to.
For working with the trackpad (particularly the Mac multitouch pad) things are somewhat more tricky - from reading the comments in mousemodes/trackpad.py it looks like quite the minefield! I see that all synthesized wheel events are currently thrown away - would it be possible to relax this to throw them away only if no modifier keys are pressed? This could provide a lot more flexibility, i.e.:
alt-two-finger-drag: contour
cmd-two-finger-drag: select volume to contour
two-finger-pinch: Clipper's zoom mode
shift-two-finger-pinch: adjust clipping slab thickness
comment:6 by , 6 years ago
Currently we haven't added any support for assigning multi-touch trackpad modes, for instance, with modifier keys held down. It would be nice to have that capability. Currently multi-touch is only available on macOS, and the rotate, translate and zoom behaviors are unchangeable. Although most Windows laptops are also able to do multitouch I was not able to find even a native Microsoft API we could use to get those events, and there is no Qt support for multitouch on Windows.
comment:7 by , 6 years ago
Just trying it out with the touchpad on my Windows laptop. Most things work well - zooming, contouring and adjusting the clip planes using two-fingered swipe are all brilliantly smooth. On the other hand, selecting the map to contour by ctrl-"scroll" is hopeless. It's like the old joke about waiting for a bus: you wait for ages and none come, then half a dozen come at once. If I swipe slowly nothing happens, but once my swipe speed passes a threshold then I get a whole host of events all at once and which map it ends up selecting is pure luck. Will try and figure out a remedy on Monday.
comment:8 by , 6 years ago
Fixed the issue with ctrl-scroll selection of maps to contour: the code now only pays attention to the sign of the scroll event, steps by strictly one map per event, and imposes a 150ms cool-down before it will react to another event.
I think that covers everything I need for Windows/Linux touchpads. Handling the Mac multitouch will require more work (and probably some help from your end), and won't be ready for this release of ISOLDE.
Additional comments about this in ticket #2002.