Opened 4 years ago

Closed 4 years ago

Last modified 11 months ago

#5732 closed defect (fixed)

pseudobond→ribbon regression

Reported by: pett Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Depiction Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description (last modified by Greg Couch)

In the release candidate and daily build there are gaps between the endpoints of pseudobonds and cartoon depiction that aren't there in the 1.2.5 release. PNGs attached. The commands used:

open 3fx2
sel ligand
hbonds sel restrict cross reveal true

The noticeably different pseudobond is between :FMN@N3 and :100@O

Attachments (3)

1-2-5.png (262.7 KB ) - added by pett 4 years ago.
daily.png (223.8 KB ) - added by pett 4 years ago.
rc.png (225.7 KB ) - added by pett 4 years ago.

Download all attachments as: .zip

Change History (7)

by pett, 4 years ago

Attachment: 1-2-5.png added

by pett, 4 years ago

Attachment: daily.png added

by pett, 4 years ago

Attachment: rc.png added

comment:1 by Tom Goddard, 4 years ago

Appears to be showing a pseudobond to a hidden atom position instead of to the ribbon. Need to look into it. I did make a change just weeks ago where pseudobonds were incorrectly going to the ribbon when the atom was shown. I bet this bug is caused by that change.

comment:2 by Tom Goddard, 4 years ago

The floating hbonds are going to backbone atom positions of N and O instead of to the ribbon. Of course since N and O are hidden they should go to the ribbon.

comment:3 by Tom Goddard, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed in 1.3 and 1.4.

The fix two weeks ago (#5536) to correct pseudobonds that were incorrectly going to the ribbon instead of to a shown backbone atom went too far and made pseudobonds to a backbone atom go to the atom position even when that atom is not shown. Oops! Logic error in the test of Atom::effective_coord(). I misunderstood how Residue::ribbon_hide_backbone() worked -- it sets the hide bits on individual atoms, each atom can be individually hidden. So effective_coord() needed to check the Atom hide bit, not check the ribbon_hide_backbone flag since that might have been overridden by unhiding for example one backbone atom as was done in bug #5536.

comment:4 by Greg Couch, 11 months ago

Description: modified (diff)

Fixed another time. The tether logic unhides the sugar backbone atoms if the sugar atoms are visible. That means that until nucleotides hides the sugar, the effective coordinate of the backbone atoms are the actual coordinates, not the ribbon coordinates. And the nucleotides code was asking for the effective coordinates when they weren't hidden yet.

Note: See TracTickets for help on using tickets.