Hi Eric, So either the morphing is pairing chains according to the order in the PDB file or maybe it is random. I think it would be better if Morph Conformations paired chains with the same chain ID. Since the two conformations may use different chain identifiers a more general rule might be to order the chains alphabetically by chain ID and pair them in that order. That would be the behavior for the dialog interface. For the "morph" command it would be good to allow the above alphabetical pairing or an explicit ordering of chains given on the command-line such as :.A,.C,.B,.D for one conformation, :.P,.Q,.S,.R for the next. Tom
The sequences are in input order unless you ask for the return value to be a dictionary (with the 'asDict' keyword).
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
On Feb 22, 2010, at 11:25 AM, Conrad Huang wrote:
There's a comment in Segment.py:
# Get the chains from each model. If they do not have the # same number of chains, we give up. Otherwise, we assume # that the chains should be matched in the same order
It uses molecule.sequences() to get the chains. Eric, does sequences() return the chains in input order, or is it random (eg hash order)?
Conrad
On 2/22/2010 10:26 AM, Thomas Goddard wrote:
Bobby Laird showed me a homo-tetramer with chains A, B, C, D that when morphed between two states with the Chimera morph conformations tool swapped two of the monomers. In other words the 4 chains from one state weren't correctly paired with the 4 chains from the other state so two monomers exchanged positions during the morph. The tetramers were built from dimers 1pfk and 2pfk by using the symmetry of the unit cell with other software (coot?).
How does morph conformations decide which chains to pair?
Tom