# [phenixbb] Question regarding phenix.fmodel

Pavel Afonine pafonine at lbl.gov
Mon Apr 25 15:02:11 PDT 2011

```Hi Hailiang,

something must be wrong somewhere. I would believe in a fraction of a
percent difference but not 3-10%.

Can you send me the inputs (off-list):
- command line showing how you run the program and
- MTZ file ?

Thanks,
Pavel.

On 4/25/11 2:55 PM, zhangh1 at umbc.edu wrote:
> Hi Pavel:
>
> Actually they differs about 3% at the same reflection point by using MTZ
> or not. If I use direct summation (for 15 atoms), they differ even more
> (~10%). At this point I assume the without MTZ one is more pure fmodel
> calculation, but just let me know for any comments.
>
> For the h0k0l0 issue, I just figured out that phenix.fmodel does take this
> point, and it was phenix.cif_as_mtz which deleted this point. Sorry about
> the confusion.
>
> Hailiang
>
>> 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
>>
>> 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.
>>
>> _______________________________________________
>> phenixbb mailing list
>> phenixbb at phenix-online.org
>> http://phenix-online.org/mailman/listinfo/phenixbb
>>
>>
>
> _______________________________________________
> phenixbb mailing list
> phenixbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/phenixbb

```