Opened 9 years ago

Closed 9 years ago

#565 closed defect (fixed)

"sym" copy new model changes cartoon from original

Reported by: Elaine Meng Owned by: Eric Pettersen
Priority: major Milestone:
Component: Depiction Version:
Keywords: Cc: Conrad Huang
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Basically 2 helices that are adjacent but shown as separate helices in the original structure are shown as one continuous helix in the sym new model, and the latter makes for bad tubes. Example is 5j7a and the juction between the two helices is /a:163,164 colored red in the attached images. The images show the monomer original structure and the trimer sym copy created with "sym #1 assembly 1" (or clicking link "1" in assembly table in Log).

Don't know where the problem lies (data representation? data copying?) so CCing Conrad.

Attachments (4)

5j7a-rib1.png (26.2 KB ) - added by Elaine Meng 9 years ago.
5j7a-rib2.png (36.3 KB ) - added by Elaine Meng 9 years ago.
5j7a-tube1.png (19.1 KB ) - added by Elaine Meng 9 years ago.
5j7a-tube2.png (25.9 KB ) - added by Elaine Meng 9 years ago.

Download all attachments as: .zip

Change History (8)

by Elaine Meng, 9 years ago

Attachment: 5j7a-rib1.png added

by Elaine Meng, 9 years ago

Attachment: 5j7a-rib2.png added

by Elaine Meng, 9 years ago

Attachment: 5j7a-tube1.png added

by Elaine Meng, 9 years ago

Attachment: 5j7a-tube2.png added

in reply to:  5 comment:1 by goddard@…, 9 years ago

Likely a problem where the structure copy is not copying something.  I'll investigate.

in reply to:  6 comment:2 by Eric Pettersen, 9 years ago


There’s a large Python-layer component to cartoon depiction.  If you look at the Structure session-saving code you can get an inkling of what’s involved. The C++ layer attributes are properly copied.  Maybe you need to enlist Conrad in implementing the Python-layer cartoon attribute copying (there’s a class instance involved…).

—Eric

comment:3 by Tom Goddard, 9 years ago

Owner: changed from Tom Goddard to Eric Pettersen

The problem is that AtomicStructure.copy() does not copy the Residue.ss_id values (all values are -1 in the copy). So the copy does not realize there are two adjacent helices with no residues in between. Probably this is just an omission. I'll let Eric fix it since he wrote the copy code.

comment:4 by Eric Pettersen, 9 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.