[phenixbb] Twin refinement problem

Leonid Sazanov sazanov at ist.ac.at
Wed Nov 15 08:52:58 PST 2017


Dear all, there seems to be a problem with twin refinement of some of 
our datasets, and I wanted to see if that is something specific to our 
data or if anybody else has seen it.

These crystals have been reproduced many times and are always twinned in 
P21 space group with twin operator: -h,-k,h+l and twin fraction in the 
range 0.45 - 0.49.

Data always refines fine in Refmac and in many cases in Phenix as well, 
giving similar twin fraction in both programs.

However, with some datasets (at 3.4-3.6 A resolution) in Phenix there is 
a problem: refinement of twin fraction is unstable and jumps each 
macro-cycle between about 0.40 (wrong?, giving high R-factors) and 0.47 
or so (true?, giving much lower R-factors).

This can be clearly seen from log file extract:

cycle stage    r-work  r-free     twin_fraction
              0    : 0.3002 0.3084
           1_adp: 0.2511 0.2701  0.49
           2_adp: 0.2724 0.2837  0.42
           3_adp: 0.2296 0.2465  0.47
           4_adp: 0.2464 0.2587  0.40
           5_adp: 0.2230 0.2420  0.47
           6_adp: 0.2393 0.2554  0.40
           7_adp: 0.2225 0.2423  0.47
           8_adp: 0.2416 0.2590  0.40
           9_adp: 0.2184 0.2376  0.47
         10_adp: 0.2380 0.2556  0.40
              end: 0.2393 0.2568  0.39
-------------------------------------------

The same dataset refines with stable twin fraction = 0.48 in refmac.


When Phenix accepts higher twin_fraction with its lower R-factors, it 
does cycles 0 and 1 of twin fraction refinement once, while when it 
fails to update and falls back to low twin_fraction, it does this twice, 
as shown below.


Updates OK:

=========================== Bulk-solvent and scaling 
==========================


============================= updating all scales 
=============================

                    start: r(all,work,free)=0.2383 0.2381 0.2565 
n_refl.: 191608 twin_fraction=0.40
        re-set all scales: r(all,work,free)=0.2926 0.2926 0.2950 
n_refl.: 191608 twin_fraction=0.40
cycle 0:
     update twin fraction: r(all,work,free)=0.2910 0.2910 0.2933 
n_refl.: 191608 twin_fraction=0.48
update scales twin start: r(all,work,free)=0.2910 0.2910 0.2933 n_refl.: 
191608 twin_fraction=0.48
reset f_part, k_(total,mask): r(all,work,free)=0.2910 0.2910 0.2933 
n_refl.: 191608 twin_fraction=0.48
bulk-solvent and scaling: r(all,work,free)=0.2249 0.2246 0.2473 n_refl.: 
191608 twin_fraction=0.48
cycle 1:
     update twin fraction: r(all,work,free)=0.2249 0.2246 0.2472 
n_refl.: 191608 twin_fraction=0.47
update scales twin start: r(all,work,free)=0.2249 0.2246 0.2472 n_refl.: 
191608 twin_fraction=0.47
reset f_part, k_(total,mask): r(all,work,free)=0.2910 0.2911 0.2934 
n_refl.: 191608 twin_fraction=0.47
bulk-solvent and scaling: r(all,work,free)=0.2249 0.2246 0.2472 n_refl.: 
191608 twin_fraction=0.47

r_work=0.2246 r_free=0.2472 twin_fraction=0.47 twin_law=-H,-K,H+L

============================ Set refinement target 
============================


Falls back:

=========================== Bulk-solvent and scaling 
==========================


============================= updating all scales 
=============================

                    start: r(all,work,free)=0.2216 0.2214 0.2408 
n_refl.: 191608 twin_fraction=0.47
        re-set all scales: r(all,work,free)=0.2855 0.2855 0.2848 
n_refl.: 191608 twin_fraction=0.47
cycle 0:
     update twin fraction: r(all,work,free)=0.2854 0.2855 0.2848 
n_refl.: 191608 twin_fraction=0.48
update scales twin start: r(all,work,free)=0.2854 0.2855 0.2848 n_refl.: 
191608 twin_fraction=0.48
reset f_part, k_(total,mask): r(all,work,free)=0.2854 0.2855 0.2848 
n_refl.: 191608 twin_fraction=0.48
bulk-solvent and scaling: r(all,work,free)=0.2186 0.2184 0.2377 n_refl.: 
191608 twin_fraction=0.48
cycle 1:
     update twin fraction: r(all,work,free)=0.2186 0.2184 0.2377 
n_refl.: 191608 twin_fraction=0.48
update scales twin start: r(all,work,free)=0.2186 0.2184 0.2377 n_refl.: 
191608 twin_fraction=0.48
reset f_part, k_(total,mask): r(all,work,free)=0.2854 0.2855 0.2848 
n_refl.: 191608 twin_fraction=0.48
bulk-solvent and scaling: r(all,work,free)=0.2186 0.2184 0.2377 n_refl.: 
191608 twin_fraction=0.48
                    start: r(all,work,free)=0.2783 0.2782 0.2848 
n_refl.: 191509 twin_fraction=0.48
        re-set all scales: r(all,work,free)=0.2783 0.2782 0.2848 
n_refl.: 191509 twin_fraction=0.48
cycle 0:
     update twin fraction: r(all,work,free)=0.2783 0.2782 0.2848 
n_refl.: 191509 twin_fraction=0.48
update scales twin start: r(all,work,free)=0.2783 0.2782 0.2848 n_refl.: 
191509 twin_fraction=0.48
reset f_part, k_(total,mask): r(all,work,free)=0.2783 0.2782 0.2848 
n_refl.: 191509 twin_fraction=0.48
bulk-solvent and scaling: r(all,work,free)=0.2330 0.2329 0.2486 n_refl.: 
191509 twin_fraction=0.48
cycle 1:
     update twin fraction: r(all,work,free)=0.2306 0.2305 0.2458 
n_refl.: 191509 twin_fraction=0.40
update scales twin start: r(all,work,free)=0.2306 0.2305 0.2458 n_refl.: 
191509 twin_fraction=0.40
reset f_part, k_(total,mask): r(all,work,free)=0.2781 0.2780 0.2846 
n_refl.: 191509 twin_fraction=0.40
bulk-solvent and scaling: r(all,work,free)=0.2295 0.2293 0.2439 n_refl.: 
191509 twin_fraction=0.40

r_work=0.2374 r_free=0.2522 twin_fraction=0.40 twin_law=-H,-K,H+L

============================ Set refinement target 
============================


With some other datasets Phenix just gets stuck at apparently 
in-correctly low twin fraction - each cycle it tries to update to 
0.47-0.48 (and R factors are better in this case) but then it always 
falls back to 0.36-0.40 again.


So I wonder if anybody else has seen this with their data?

Many thanks for any info!



Leonid




-- 
Prof. Leonid Sazanov
IST Austria
Am Campus 1
A-3400 Klosterneuburg
Austria

Phone: +43 2243 9000 3026
E-mail: sazanov at ist.ac.at



More information about the phenixbb mailing list