[phenixbb] Anomalous difference map calcluation
Randy Read
rjr27 at cam.ac.uk
Wed Jul 16 02:34:11 PDT 2008
Hi,
If what you're trying to do is to verify which atoms are anomalous
scatterers, then you might want to use Phaser for this. In our
experience, this gives us much better results than conventional model-
phased anomalous difference Fouriers. (I don't know how this would
compare with the map that phenix.refine will produce when Pavel fixes
the bug, so we'll have to check that later. In any case,
phenix.refine will be using functions from Phaser in the not-too-
distant future, so the two approaches should converge.)
At the moment, you have to run Phaser from a shell script, but we'll
be making a Python-based command (something like
"phenix.find_anomalous_scatterers_from_model", or perhaps something
less wordy). If you want to run a test job, you can do this with the
data distributed as example 5b from the Phenix examples (http://www.phenix-online.org/documentation/refinement_examples.htm
). Just give the command:
phenix.run_refinement_example 5b
This will create a data subdirectory and an example_5b subdirectory
with some refinement results. Give the command "cd example_5b" to get
into the results directory.
In the MTZ file for this example, the Friedel pairs are given separate
indices hkl and -h-k-l, like in CNS, instead of being put in F+ and F-
columns for a single hkl, as Phaser expects. It turns out you can
pair them up with the command:
phenix.reflection_file_converter --label="FOBS,SIGFOBS" ../data/
mdg.mtz --mtz=mdg_paired.mtz
Phaser wants some idea of the composition of the crystal to put the
data on absolute scale, so you can make a file called mdg.seq with the
line "UGAGGU" to represent the nucleic acid sequence.
Now use Phaser to make an initial SAD log-likelihood-gradient (LLG)
map, using the refined structure as a partial model containing only
real scatterers. For the LLG map, Phaser needs to know what atom type
it is looking for. Because we want to find the imaginary scattering
that is missing from the model of real scatterers, we compute an LLG
map looking just for imaginary scatterers. The following script will
run this job:
phenix.phaser << eof > SAD_LLG_initial.log
TITLE initial SAD LLG map
MODE EP_AUTO
HKLIN mdg_paired.mtz
LLGCOMPLETE CRYSTAL mdg COMPLETE OFF
LLGCOMPLETE CRYSTAL mdg SCATTERING ANOMALOUS
PARTIAL PDB 5b_001.pdb IDENT 1.0
CRYSTAL mdg DATASET peak LABIN F+=FOBS(+) SIGF+=SIGFOBS(+) F-=FOBS(-)
SIGF-=SIGFOBS(-)
COMPOSITION NUCLEIC SEQUENCE mdg.seq NUMBER 1
ROOT SAD_LLG_initial
eof
You can look at the map from this in coot (columns FLLG/PHLLG in
SAD_LLG_initial.mtz) and see that there is a 28-sigma peak at the
position of the Br atom.
However, Phaser can do better than that (at least in the version that
will appear in the upcoming rc3 release of Phenix; unfortunately
there's a bug in completing the substructure for purely imaginary
scatterers in the version distributed with the rc2 release). If the
imaginary scattering from this peak is included in the model and its
position, occupancy and B-factor are refined, then the next LLG map
will show (with better signal to noise) where there are other
anomalous scatterers that would improve the SAD likelihood target.
So, when the rc3 version of Phenix is released, you will be able to
run this job:
#! /bin/csh
phenix.phaser << eof > SAD_LLG_complete.log
TITLE SAD LLG completion with imaginary scatterers
MODE EP_AUTO
HKLIN mdg_paired.mtz
LLGCOMPLETE CRYSTAL mdg COMPLETE ON
LLGCOMPLETE CRYSTAL mdg SCATTERING ANOMALOUS
PARTIAL PDB 5b_001.pdb IDENT 1.0
CRYSTAL mdg DATASET peak LABIN F+=FOBS(+) SIGF+=SIGFOBS(+) F-=FOBS(-)
SIGF-=SIGFOBS(-)
COMPOSITION NUCLEIC SEQUENCE mdg.seq NUMBER 1
ROOT SAD_LLG_complete
eof
This carries on after the first cycle to find a second site (Co at 19-
sigma) and a third site (one of the Na+ ions at 7-sigma). This
carries on iteratively, and Phaser finds an additional two anomalous
scatterers at the positions of two more of the Na+ ions. Now, note
that the LLG map produced by this job is relatively featureless,
because the most significant anomalous scatterers have been found, and
the map is just looking for sites with missing anomalous scatterers.
With the version of Phaser in the rc2 release, however, you can carry
out completion looking for a particular anomalous scatterer type, say
Br atoms. In this case, when it finds and adds an anomalous
scatterer, it deletes clashing atoms from the real (partial) structure
before carrying out the next cycle of refinement. Because we're
picking a particular anomalous scatterer type, Phaser needs an
estimate of the f" value for this atom, which we can provide by
guessing that the data were collected with a wavelength around 0.9A.
(For the purely imaginary scatterer, the initial f" is set to 1, so
the wavelength doesn't matter.) Here is the job:
#! /bin/csh
phenix.phaser << eof > SAD_LLG_complete_Br.log
TITLE SAD LLG completion with Br
MODE EP_AUTO
HKLIN mdg_paired.mtz
LLGCOMPLETE CRYSTAL mdg COMPLETE ON
LLGCOMPLETE CRYSTAL mdg SCATTERING ELEMENT Br
CRYSTAL mdg DATASET peak SCATTERING WAVELENGTH 0.9
PARTIAL PDB 5b_001.pdb IDENT 1.0
CRYSTAL mdg DATASET peak LABIN F+=FOBS(+) SIGF+=SIGFOBS(+) F-=FOBS(-)
SIGF-=SIGFOBS(-)
COMPOSITION NUCLEIC SEQUENCE mdg.seq NUMBER 1
ROOT SAD_LLG_complete_Br
eof
In this case, even though the peak height in the LLG map that finds
the Br atom isn't as high, the completion goes a bit further,
identifying one more Na+ ion and one of the P atoms from the
backbone. However, normally I would expect the completion with a
purely imaginary scatterer to be better, when starting from a final
refined model.
I hope this helps and does not confuse the issue too much!
Randy Read
On 15 Jul 2008, at 14:03, Jendrek wrote:
> Dear All,
>
> I'm looking at my anomalous difference map from phenix.refine and
> it seems
> more or less random distributions of electron density peaks.
> I know that the signal is there since I solved it with SAD. I'm
> using I(+/-) for
> refinement and everything seems to work fine except the map
> generation.
>
> The only thing that worries me is that during the creation of _data
> file for
> refinement DANO column was not preserved.
>
> Is it necessary for phenix.refine in order to generate the anomalous
> difference map?
> How can I make sure that the DANO column is preserved (if necessary)?
>
> And by the way why is anomalous map file not generated just
> coefficients in the mtz?
>
> Regards, Andrzej
>
> --
>
> Andrzej LYSKOWSKI, Ph.D. (andrzej[.]lyskowski[@]helsinki[.]fi)
>
> Institute of Biotechnology - Structural Biology & Biophysics
> P. O. Box 65, Viikinkaari 1
> FIN-00014 University of HELSINKI, FINLAND
>
> TEL.: 358 9 191 58955
> FAX : 358 9 191 59940
> _______________________________________________
> 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