Thanks for the response, David! You can fetch biological assemblies from the PDB using `fetch PDBID, type=pdb1` (or the PDB Loader Service plugin). This gives you the proper oligomeric state, rather than just the asymmetric unit. However, since it can potentially have chains from multiple asymmetric units, the chain IDs are not necessarily unique. The RCSB's solution to this is to put each asymmetric unit in a different state (arguably an abuse of the MODEL record, but they write the spec).
Intra_fit won't work for me because I want to align two different objects. I can't use split_states because I want the whole multi-state object to move together, but I want to only align based on a single state/chain combo. Trying to do `align` on a multi-state object fails badly because it aligns to the average position of equivalently-named atoms in all states, which falls along a single line for symmetric structures. Thus align basically just superimposes the centers of mass, even very similar structures. I should also mention that I use most of the alignment methods (pair_fit, align, super, cealign, etc), so fixing the select command or adding selection language would be preferable to just fixing single commands. -Spencer On Wed, Nov 5, 2014 at 1:03 PM, David Hall <li...@cowsandmilk.net> wrote: > I'm a little confused by what PDB assemblies you are talking about that > are distributed as multi-state structures, but assuming they are similar to > NMR models... you can use intra_fit ( > http://www.pymolwiki.org/index.php/Intra_fit ) > > For example, with 2kgx, we start out with chain a in state 1 and 2 and > having an rms of 0.927 and chain b having an rms of 1.143 > > intra_fit 2kgx and chain a > > now, chain a has an rms of 0.923 and chain b has an rms of 1.155 > > intra_fit 2kgx and chain b > > now, chain a has an rms of 0.952 and chain b has an rms of 1.130 > > Note, it can take a target state, that all other states are aligned to, > etc. > > > On Wed, Nov 5, 2014 at 5:23 AM, Spencer Bliven <sbli...@ucsd.edu> wrote: > >> Hey, I've been doing a lot of work with PDB assemblies, which are >> distributed as multi-state structures. I would like to be able to align >> them based on individual chains from individual states. However, I haven't >> been able to figure out any way to uniquely identify atoms by state. >> >> The select statement contains a `state` parameter, but as noted in this >> 2010 thread >> <https://www.mail-archive.com/pymol-users@lists.sourceforge.net/msg08224.html> >> it doesn't seem to do anything. The thread also suggests using >> cmd.get_model(), but I'm not sure how to get a selection based on a >> chempy.models.Indexed instance. >> >> My current workaround is to split_states, use alter to make all the >> chains unique, then merge the structures again. This is incredibly tedious. >> Does anyone know a better way? >> >> It would be nice if (1) the select command were fixed, and/or (2) add a >> property selector for states. >> >> Cheers, >> Spencer >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) >> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users >> Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net >> > >
------------------------------------------------------------------------------
_______________________________________________ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net