Opened 4 years ago

Last modified 4 years ago

#5437 assigned defect

split into chains loses chain info

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

Description

If I open a structure and show the sequence of a chain it includes the missing segment box. If I split (into chains, default) and then show the sequence of that chain it omits the missing segment and concatenates the ends of it together. Screenshot where upper sequence is chain /b after 1t2p split, lower sequence chain /b in another copy of 1t2p that was not split.

The split one also loses the chain name information that appears in the status line on mouseover. Tested in daily build UCSF ChimeraX version: 1.3.dev202110150902 (2021-10-15)

Attachments (1)

Screen Shot 2021-10-19 at 3.26.17 PM.png (500.2 KB ) - added by Elaine Meng 4 years ago.

Download all attachments as: .zip

Change History (5)

by Elaine Meng, 4 years ago

comment:1 by Tom Goddard, 4 years ago

Cc: Tom Goddard added; pett removed
Owner: changed from Tom Goddard to pett

The split command only copies the atoms and residues. It does not copy metadata such as the sequence which includes missing residues. I don't know if the sequence can be copied with the current atomic model data structures. Eric can advise on that and perhaps enhance the split command code to copy the sequence info.

comment:2 by Tom Goddard, 4 years ago

Priority: highmoderate

comment:3 by pett, 4 years ago

Status: assignedaccepted

It doesn't depend on the metadata. It depends on copying the Chain information.

comment:4 by pett, 4 years ago

Cc: pett added; Tom Goddard removed
Owner: changed from pett to Tom Goddard
Status: acceptedassigned

If 'split' only split by chains, I would undertake this. But it can split on a wide variety of criteria: chains, ligands, connected polymers, etc. So reassigning to Tom. Anyway, to preserve Chain information, you need to use bulk_set on the new chain, like so: new_chain.bulk_set(old_chain.residues, old_chain.characters).

--Eric

Note: See TracTickets for help on using tickets.