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 )
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)
Change History (13)
comment:1 by , 10 years ago
| Cc: | added; removed |
|---|---|
| Owner: | changed from to |
| Status: | new → assigned |
comment:2 by , 9 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | pseudo bonds hidden by cartoons → Make 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 , 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 , 8 years ago
| Cc: | 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 , 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 , 7 years ago
| Cc: | added |
|---|---|
| Component: | Graphics → Depiction |
comment:7 by , 7 years ago
| Milestone: | → 1.0 |
|---|---|
| Priority: | blocker → major |
by , 7 years ago
| Attachment: | Screen Shot 2019-02-28 at 4.56.53 PM.png added |
|---|
screenshot from ticket #1739
comment:8 by , 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.
comment:9 by , 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
follow-up: 9 comment:10 by , 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 , 6 years ago
| Status: | assigned → feedback |
|---|
Waiting for the other shoe to drop... (potential performance issues)
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.