[phenixbb] Question regarding phenix.fmodel

Pavel Afonine pafonine at lbl.gov
Mon Apr 25 13:52:24 PDT 2011

Hi Hailiang,

> According to the instruction, phenix.fmodel was supposed to calculate Fc
> only;

not just Fc, but Fmodel; phenix.fmodel is to compute model structure 

   Fmodel = scale * exp(AnisoScale) * (Fcalc + k_sol * exp(-b_sol*s^2/4) 
* Fmask)


   - Fmodel - total model structure factor (complex value)
   - AnisoScale = -ht*A(-1)*b_cart*A(-1)th/4
   - h - column vector with Miller indices
   - A - orthogonalization matrix
   - b_cart - anisotropic scale matrix
   - t and (-1) denotes transposition and inversion operations
   - scale - overall scale factor
   - Fcalc - structure factors calculated from atomic model
   - k_sol and b_sol - Flat Bulk solvent model parameters
   - Fmask - structure factors calculated from bulk solvent mask

When you run like this

phenix.fmodel model.pdb high_res=XX
phenix.fmodel model.pdb some_data.mtz

then k_sol=b_sol=AnisoScale = 0, and obviously Fmodel = Fcalc

> however, when I try the following 2 scripts, they ended up with
> different Fc values (at the same hkl point):
> 1. phenix.fmodel ${PDB} high_resolution=XX
> 2. phenix.fmodel ${PDB} ${MTZ}
> The instruction says (2) will output Fcalc that will match the set of
> Miller indices of the data in reflection_data.mtz file, so I thought 1 and
> 2 should have the same values at the same hkl points...

How different they are? If very slightly then this is expected. They 
must be identical if you use this keyword: "algorithm=direct" (the 
default is "algorithm=fft"). However, using the direct summation 
algorithm for structure factors calculation may take a long time 
(depending on data/model size). As a quick test you can leave in your 
PDB file a few atoms, then run with "algorithm=direct" and see if both 
ways give you the exact same Fmodel values. Let me know otherwise and I 
will have a closer look (I would probably need the inputs in this case).

> (A most direct way would be checking the Fc at h0k0l0 point and see
> whether they are proportional to the molecular size, but it seems
> phenix.fmodel will ignore this point even I expicitly add it to the MTZ
> file.)

Hm.. I'll check this.


More information about the phenixbb mailing list