# [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
factors:

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

where:

- 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
or
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.

Pavel.

```