Print

Print



I was not aware of cphasematch! I'll have to incorporate that into my script below.

What I do for this sort of thing is run a little script of mine called "origins.com".  You can get a copy of it here:
http://bl831.als.lbl.gov/~jamesh/challenge/rightanswer/origins.com

It is a tcsh script, so just make it executable and run with no arguments to get the command-line options.  Basically, you just give it two PDB files, and perhaps a one-word space group.  The first PDB file is taken to be the "right answer".  By default it breaks both files up into "chains" and compares each pair of chains in turn.  You can make each file behave as one "chain" by putting the word "nochains" on the command line.  By default, I use RMSD as a "score", but if you put the word "correlate" on the command line, it will use electron density map correlation instead.  Symmetry operations are resolved by doing the correlations in P1. and I resolve origin shifts with a map deconvolution algorithm, but cphasematch might work better. 

The output file is called "neworigin.pdb".  By default, the chain IDs in the "wrong origin" PDB file are re-assigned to those of the best-matching "right origin" pdb file (unless "nochains" was specified).  The script will also generate a "newlabel_neworigin.pdb" where I try to re-name all the atoms in the "wrong" PDB to match the "right" pdb, and the occupancy column then encodes the by-residue map correlation.  This file is more useful for matching up heavy atom constellations.

It ain't elegant.  It ain't fast.  But I'm pretty sure it works.

-James Holton
MAD Scientist


On Thu, Sep 11, 2014 at 2:44 AM, Eleanor Dodson <[log in to unmask]> wrote:


Here is a very common scenario for me.

You run several MR jobs, say to search  for 2 mols/asymm unit , maybe with different models or using different programs..
You get several solutions, probably on different origins and/or related by some  symmetry operator.

How best to overlap them?

My way is this:
Use PISA to assemble all solutions from each run  into a compact molecule (It does this by applying allowed symmetry operators.)

Calculate SFS from each solution, combine them and use PHASEMATCH to find the origin shift .

Move  solution two  to the same origin as solution one.

Now check for fitting - remembering that  if both solutions have chains A B there is no guarantee that A2 maps to A1 and B2 to B1.

So I superpose A2 onto A1, A2 onto B1 etc till I find a transformation matrix that is indeed a symmetry operator..

(You can do this in coot providing you can find the output matrix on the screen!)

Then apply that symmetry to move A2 B2 to overlap A1 B1 ( or maybe B1 A1)  as appropriate..

Obviously this is a pain in the neck!

Does anyone have a neater solution??

eleanor