Twin refinement problem
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: [email protected]
participants (1)
-
Leonid Sazanov