[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