Opened 10 years ago

Closed 6 years ago

#183 closed defect (fixed)

Make pseudobonds end on cartoons

Reported by: Eric Pettersen Owned by: Conrad Huang
Priority: major Milestone: 1.0
Component: Depiction Version:
Keywords: Cc: goddard@…, gregc@…, olibclarke@…
Blocked By: Blocking:
Notify when closed: Platform: all
Project: chimera

Description (last modified by Tom Goddard)

Pseudobonds to backbone atoms that are hidden by cartoon end in space and should instead end on the cartoon.

Pseudobonds to backbone atoms are hidden by cartoons. They need to be shown. In 1www for example as soon as you turn on cartoons, the missing-structure pseudobonds disappear. Also, pseudobonds depicting hydrogen bonds and distances to backbone atoms need to show up. They probably need to go to a "corrected" position so that there's no huge gap between their endpoint and the cartoon. I guess that's a discussion topic since you _could_ leave the gap and inform users they need to use a spline that goes exactly through the atom positions. That latter approach is unappealing since I envision having to say that basically 10,000 times over the lifetime of ChimeraX to various users.

Set the owner to T.G. for the "show pbs to hidden atoms" part, which would switch to C.H. for the "position adjustment maybe" part.

Attachments (1)

Screen Shot 2019-02-28 at 4.56.53 PM.png (5.3 MB ) - added by Eric Pettersen 7 years ago.
screenshot from ticket #1739

Change History (13)

comment:1 by Tom Goddard, 10 years ago

Cc: goddard@… added; conrad@… removed
Owner: changed from Tom Goddard to Conrad Huang
Status: newassigned

It is a few line change to show pseudobonds to hidden atoms (add C++ PBond::shown that checks atom "display" instead of "visible"). But that will make these pseudobonds end in empty space. That doesn't seem like the right solution.

We are using tethers for showing the association of atoms to a ribbon. We need a strategy for showing pseudobonds that end on hidden ribbon atoms. Since Conrad is handling ribbons I'm reassigning to him to figure out the desired solution.

comment:2 by Tom Goddard, 9 years ago

Description: modified (diff)
Summary: pseudo bonds hidden by cartoonsMake pseudobonds end on cartoons

About a month ago I made pseudobonds to hidden atoms visible. Now the trouble is the missing segment pseudobonds end at a point in space instead of on the cartoon since the cartoon does not pass exactly through the hidden backbone atoms.

comment:3 by Eric Pettersen, 9 years ago

The other current problem with pseudobonds is that their color matches their endpoint atom colors rather than the ribbon color. Should that issue be a separate ticket?

--Eric

comment:4 by Greg Couch, 8 years ago

Cc: gregc@… added

This could be fixed by having the ribbon code recognize that a backbone atom has a visible pseudobond connected to it, not hiding that atom, and drawing a tether to it. This would also fix the depiction of hydrogen bonds to backbone atoms.

However, there isn't (yet) an API that gives all of the psuedobonds to an atom. There is has_missing_structure_pseudobond(), but no has_hydrogen_pseudobond(). So this particular case could be solved extending has_missing_structure_pseudobond() to optionally check for visibility (since the pseudobond is not returned) and having the ribbon code use it.

comment:5 by Eric Pettersen, 8 years ago

There needs to be a general solution for any kind of pseudobond (e.g. NMR constraint) drawing to a reasonable position for its (hidden but displayed) endpoint atom(s).

There is also the separate issue for missing-structure pseudobonds of matching the color of the current depiction (be it ribbons or explicit atoms).

comment:6 by Eric Pettersen, 7 years ago

Cc: olibclarke@… added
Component: GraphicsDepiction

comment:7 by Eric Pettersen, 7 years ago

Milestone: 1.0
Priority: blockermajor

by Eric Pettersen, 7 years ago

screenshot from ticket #1739

comment:8 by Eric Pettersen, 7 years ago

Another possibility is that the ribbon code itself draws the missing segment, which would allow for nice curvature, rather than showing the missing-structure pseudobonds.

in reply to:  10 comment:9 by olibclarke@…, 7 years ago

That would be even better! In that case maybe it would be possible to add some visual indicator of the number of residues in the missing segment? Eg loopiness, color, fineness of dashes? This would be really helpful when analyzing structures to quickly notice particularly long disordered regions!

Cheers
Oli

comment:10 by Conrad Huang, 6 years ago

Updated in 3c0bc5ff7. "open 1gcn ; hbond" now shows non-dangling hydrogen bonds.

In addition to tether atoms (currently defined as atoms in the "minimal" backbone), ribbon code now also caches coordinates for some non-tether atoms (currently defined as atoms in the "maximum" backbone that are not in the minimal backbone). This allows pseudobonds to be drawn to the ribbon for atoms that are hidden when the ribbon is shown.

The code changes are in cymol.pyx and molarray.py, which means that no C++ code is being used. Performance may be an issue if there are a lot of pseudobonds.

comment:11 by Conrad Huang, 6 years ago

Status: assignedfeedback

Waiting for the other shoe to drop... (potential performance issues)

comment:12 by Conrad Huang, 6 years ago

Resolution: fixed
Status: feedbackclosed

No complaints yet.

Note: See TracTickets for help on using tickets.