[phenixbb] Molecular replacement

Randy Read rjr27 at cam.ac.uk
Wed Jun 17 02:05:01 PDT 2009


I've already sent a preliminary response off-line to Colin, but waited  
to post to the BB until I could sort out how to do things both with  
the latest 2.2.x version of Phaser (distributed with nightly builds of  
Phenix), and with the version distributed in Phenix and CCP4 last  
summer (2.1.4).  The computer with the relevant documentation is back  
in action, so here is the full response.

------------------------------------

There isn't a way to do what you want directly within Phaser, but it's  
fairly easy to do the calculation you want with a bit of manual  
intervention.  However, at the moment you'll have to do the Phaser  
parts of this with command scripts (or the ccp4i GUI) -- the upcoming  
Phenix GUI for Phaser will have enough flexibility that it should  
become possible to do these parts from the Phenix GUI as well.

If you want to place the anomalous scatterer on a particular point,  
regardless of orientation, the easiest way to accomplish this is to  
translate the starting model so that the anomalous scatterer is at the  
origin (i.e. apply a translation equal to minus the current  
coordinates of the anomalous scatterer).  Let's call the resulting  
file "model_AS000.pdb".  Rotations are centered on the origin, so the  
anomalous scatterer won't move as you rotate it.  Then if you apply a  
translation equal to the desired position of the anomalous scatterer,  
it will end up where you want in the rotated/translated model.

You'll need a list of possible rotations, which can be combined with  
the required translation to put the anomalous scatterer back at its  
known position following the rotation.  To get a rotation list, you  
currently either have to run Phaser from the ccp4i GUI or from a  
command script.  I'll give you command scripts, but the ccp4i GUI  
should be reasonably intuitive, if you know what you need to do.

First, I think that if there's any value at all to the MR model, you  
don't need to do an exhaustive search for all orientations.  The  
correct orientation should be somewhere near the top of the list from  
a rotation search.  I'd probably start by trying the top 100, but if  
that doesn't give a clear solution it might be worth trying the top  
1000.  So here's how you can generate a list of the top 100  
orientations, using the version of phaser in recent nightly builds of  
Phenix (2.2.x):

phenix.phaser << eof > FRF_top100.log
SUITE CCP4
HKLIN mydata.mtz
ROOT FRF_top100
MODE MR_FRF
LABIN F=FO SIGF=SIGFO
ENSEMBLE model_AS000 PDB model_AS000.pdb IDENT 0.3
COMPOSITION protein SEQ myprot.seq NUM 1
SEARCH ENSEMBLE model_AS000
PEAKS ROT CLUSTER OFF
PEAKS ROT SELECT NUM CUTOFF 100
eof

The command "SUITE CCP4" is needed (for version 2.2.x, but not for  
version 2.1.4) because when Phaser is being run from the Phenix suite,  
it expects to pass rotation lists and solutions through the Python  
interface, not .rlist and .sol files.  But we need the .rlist file  
containing the orientations.  The syntax for selecting and clustering  
peaks has changed, so to make this work in version 2.1.4, replace the  
"PEAKS ROT" lines with:

FINAL STEP 2 CLUSTER OFF
FINAL SELECT NUM 100

This job will create a rotation list file called FRF_top100.rlist,  
with lines like:

SOLU TRIAL ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 RFZ 4.46

You want to take each of those lines and construct from it a potential  
solution (a SET in Phaser's nomenclature) with the rotation and  
translation both specified, and put those solutions in a .sol file.   
Let's say that your anomalous scatterer is at position 0.1,0.2,0.3 in  
fractional coordinates.  Then in the .sol file, you should have:

SOLU SET
SOLU 6DIM ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 FRAC 0.1  
0.2 0.3

Actually, there's a slight wrinkle to this.  The rotation search will  
give you a unique set of rotations, but the copy of your molecule with  
its anomalous scatterer in the known position might be in a symmetry- 
related orientation.  So you either need to generate and test all  
symmetry-related copies of the orientation or all symmetry-related  
copies of the translation.  The latter is probably easier for a  
script.  For simplicity, let's assume that the crystal is P222, so  
that the symmetry operators are x,-y,-z, -x,y,-z and -x,-y,z.  Then  
you need these lines in the .sol file for one orientation:

SOLU SET
SOLU 6DIM ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 FRAC 0.1  
0.2 0.3
SOLU SET
SOLU 6DIM ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 FRAC 0.1  
-0.2 -0.3
SOLU SET
SOLU 6DIM ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 FRAC -0.1  
0.2 -0.3
SOLU SET
SOLU 6DIM ENSEMBLE model_AS000 EULER 80.572 41.339 186.796 FRAC -0.1  
-0.2 0.3

I'm sure there are more elegant ways to do this (probably involving  
Python), but this command works (at least under tcsh on a Mac -- you  
may have to replace "awk" with "gawk" on some Linux systems):

grep "SOLU TRIAL" FRF_top100.rlist | awk \
'{print "SOLU SET\nSOLU 6DIM ENSEMBLE",$4,$5,$6,$7,$8,\
"FRAC 0.1 0.2 0.3\nSOLU SET\nSOLU 6DIM ENSEMBLE",$4,$5,$6,$7,$8,\
"FRAC 0.1 -0.2 -0.3\nSOLU SET\nSOLU 6DIM ENSEMBLE",$4,$5,$6,$7,$8,\
"FRAC -0.1 0.2 -0.3\nSOLU SET\nSOLU 6DIM ENSEMBLE",$4,$5,$6,$7,$8,\
"FRAC -0.1 -0.2 0.3"}' \
 > FRF_top100_translated.sol

The fastest thing to do at this point is to just score these solutions:

phenix.phaser << eof > LLG_top100_translated.log
HKLIN mydata.mtz
ROOT LLG_top100_translated
MODE MR_LLG
LABIN F=FO SIGF=SIGFO
ENSEMBLE model_AS000 PDB model_AS000.pdb IDENT 0.3
COMPOSITION protein SEQ myprot.seq NUM 1
@FRF_top100_translated.sol
eof

But it's probably more robust to refine them, in case the position of  
the anomalous scatterer relative to the bulk of the fold is a bit  
different, and to compensate for the grid sampling of orientations.

phenix.phaser << eof > RNP_top100_translated.log
HKLIN mydata.mtz
ROOT RNP_top100_translated
MODE MR_RNP
LABIN F=FO SIGF=SIGFO
ENSEMBLE model_AS000 PDB model_AS000.pdb IDENT 0.3
COMPOSITION protein SEQ myprot.seq NUM 1
@FRF_top100_translated.sol
eof

Anyway, this is sufficiently involved that, if anyone ends up trying  
to follow these instructions, they should feel free to contact us for  
help!

Regards,

Randy Read

On 6 Jun 2009, at 10:12, Colin Levy wrote:

> Within Phenix,
>
> is it possible to specify and lock the centre of rotation for a
> molecular replacement search. I have a single intrinsic anomalous
> scatterer within my protein which I can locate easily, therefore I
> would like to manually specify this point as the centre of rotation
> and then carry out a rotation search only about this single fixed  
> point.
>
> Thanks for any suggestions,
>
> Colin
> _______________________________________________
> phenixbb mailing list
> phenixbb at phenix-online.org
> http://www.phenix-online.org/mailman/listinfo/phenixbb

------
Randy J. Read
Department of Haematology, University of Cambridge
Cambridge Institute for Medical Research      Tel: + 44 1223 336500
Wellcome Trust/MRC Building                   Fax: + 44 1223 336827
Hills Road                                    E-mail: rjr27 at cam.ac.uk
Cambridge CB2 0XY, U.K.                       www- 
structmed.cimr.cam.ac.uk




More information about the phenixbb mailing list