On 03/31/2011 09:08 AM, Yingjie Lin wrote: > I wonder what is the best way to superpose two multi-chain proteins, > and explicitly specify the chains to include in superposition. I know > that I can read only the wanted chains into the alignment, but I also > want to make sure that the other chains move according to the > superposition.
Just to be clear here, we should distinguish structural *alignment* (which is what SALIGN does) from superposition (which is what selection.superpose() does). Superposition simply rotates and translates one protein, without changing the alignment, to minimize the RMSD between Calpha atoms in aligned residues. Structural alignment also adds or removes gaps, changing the aligned residues.
If you really want to do superposition, simply use selection.superpose() and just give it a selection of atoms in the chains you want to superpose. The whole protein will be moved, of course, but only the RMSD of the selection will be minimized.
If you want to do a structural alignment, your first suggestion is probably better - read in just the chains you want, make the alignment, then rotate and translate the full protein accordingly.
Ben Webb, Modeller Caretaker