[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