陳志紅++李暉

摘 要:晶體結構解析的核心是相位恢復問題,正確的相位對應正確的結構。與通常使用殘差作為評判標準不同,本文使用實空間中基于電荷密度的清晰度函數作為判據,結合密度調整迭代方法,構建出一套完整的晶體結構解析流程。通過測試,該方法簡便高效,計算過程中不需要調整任何參數,對使用人員的晶體學知識依賴較少。該算法的實現為未來實現晶體結構解析自動化奠定了基礎。
關鍵詞:晶體結構解析;清晰度函數;DM迭代算法
中圖分類號:O645 文獻標識碼:A 文章編號:1671-2064(2017)13-0237-02
在晶體學發展的過程中,晶體結構的解析問題一直處于核心地位。在X-ray單晶衍射實驗中,單晶樣品的衍射信號被探測器接收,并通過計算機處理,獲得晶體在實空間的“圖像(電荷密度圖)”。晶體結構解析的實質就是通過衍射實驗獲得后焦面的衍射信號,并對此信號做傅里葉變換(Fourier transform,FT)得到實空間中樣品圖像的過程。然而現有的探測器只能記錄衍射點的強度(振幅),無法記錄相位信息。相比于振幅,相位對于結構解析更為重要[1]。為了獲得正確的結構,必須首先恢復衍射點的相位,這就是晶體結構解析中的“相位問題”,也可以說晶體結構解析問題等價于相位恢復問題。在過去一個世紀的發展歷程中,晶體學家發展了許多優秀的晶體結構解析方法,如:早期的試錯法、Patterson法、直接法(包括重原子法)、最大熵最大似然函數法、分子替代法(包括硒代法)、DM法(Density Modification Method)、多波長反常散射法;利用現代優化理論,如遺傳算法,蒙特卡洛,模擬退火等發展起來的現代試錯算法;以及最近引起極大關注的Charge Flipping算法等等[2,3]。對于不同種類的單晶樣品,實驗數據的質量,需要慎重挑選不同的方法進行嘗試,并調整相關的參數。
另一個重要的問題是,如何在眾多相位組合中判斷哪一個才是正確的,或者說如何來判別哪一個結果是正確的。最常用的判據是倒易空間中的統計,理論計算與實驗數據相比較,如R值,ωR2值,GooF值等[4]。實空間的物理量是電荷密度,是否有基于電荷密度的判斷依據呢?在之前的工作中[5],我們從圖像處理的角度,借鑒圖像中清晰度的概念,指出正確的相位對應的圖像清晰度最高,并構建出兩個評價晶體結構(電荷密度)“清晰度”的函數——Tian1函數。該清晰度函數依據的是Fourier變換得到的電荷密度的自身特征,無需設定參考值,本文將結合密度調整迭代算法,對這一方法進行測試。
1 清晰度函數算法
實驗收集到的單晶衍射強度與結構因子的平方呈正比關系:
(1)
結構因子與電荷密度互為Fourier關系,
(2)
同時,結構因子是一個復數,常可以寫成極坐標的形式:
(3)
從衍射實驗中我們只能得到其振幅,而無法記錄衍射的相位信息。因此,實空間圖像并不能直接通過Fourier變換獲取,這就是所謂的晶體結構解析的“相位問題”。晶體結構解析問題就是在已知衍射強度條件下,如何恢復相位角,以及如何確定正確的相位的問題。首先討論后一個問題,在一系列相位組合中,根據式每一組相位都可以計算一組理論結構因子,常用的判據是與實驗觀測結構因子相比較,如殘差因子定義為:
(4)
其中是對應于實驗觀測結構因子的實驗標準偏差,是計算的結構因子,M是衍射點的個數。R因子定義為:
(5)
ωR2定義為:
(6)
GooF定義為:
(7)
其中,是理論計算衍射強度,是理論結構因子的模方。結構因子和衍射強度均是倒易空間中的物理量,可以通過X-ray衍射實驗獲得,即公式中的。
晶體結構在實空間中的圖像是電荷密度分布,類比圖像處理中,衡量一張圖像的質量的標準是其清晰度,圖像越清晰,說明越符合真實場景。相類似,我們提出了晶體清晰度的概念,或者說電荷密度的清晰度概念。正確的電荷密度清晰度最高。依據Fourier變換后的電荷密度的性質,我們構建出描述電荷密度的清晰度的函數:
(8)
公式中為第i個電荷密度大于零的格點。為第j個電荷密度小于零的格點。其中m和n分別是正電荷密度格點總數與負電荷密度格點總數。它們與電荷密度為零的網格數加和等于實空間網格總數。
下面是基于T1函數的迭代算法,基本流程如下:1)隨機產生一套初始相位;2)與實驗觀測結構因子結合,Fourier變換計算電荷密度,以及T1函數,判斷是否達到收斂;3)如果是,結束計算;如果否,保持電荷密度值為負的格點不變,將為正值的擴大倍,n為一個足夠大的正數,例如100;第五步,將上述新的電荷密度做逆Fourier變換,得到新結構因子及新的相位;第六步,將新得到的相位與觀測的結構因子的模相結合,即返回第二步,進入下一輪迭代結算過程。判斷是否收斂這里使用是是比較相鄰兩輪T1值的差小于一個設定的閾值(如0.0001)。整個流程圖如圖1所示。
2 計算結果
為了驗證上面所提出的解決方案有效性,我們以NaB3FO5予以證明,單晶衍射數據分辨率為0.8。其晶胞參數為a=6.6888、b=4.60913、c=4.00587、α=90.0、β=113.65、γ=90.0°,空間群設定為P1。基于上述算符我們編寫了一套程序,計算時只需要輸入晶胞參數和衍射數據文件(.hkl),計算過程中無需人為參與,結果輸出電荷密度文件(.rho)用以顯示晶體結構。
圖2是T1函數的迭代計算圖,經過200輪迭代后,T1函數值達到收斂,最終T1值為9.55057。每一輪迭代只需要做兩次Fourier變換,使用快速Fourier變換(FFT),因此計算效率非常高。本實例計算過程在普通臺式計算機上用時小于5分鐘。
為了證明該清晰度函數方法給出的結構是正確的,我們也用SHELX[6]解析該結構,殘差因子R=0.0549,wR2=0.1626,GooF=1.201。結果如圖3所示,圖3(a)為SHELX給出的結構模型,圖中紅色的是O原子,綠色的是Be原子,黃色的是Na原子,灰色的是F原子;圖3(b)為T1函數得到的電荷密度圖。從結構上看,兩者符合的很好。
3 結語
本文討論了清晰度函數法在晶體解析中的應用,以NaB3FO5為例進行結構解析,與SHEXL程序給出的結構符合得很好。該方法簡單高效,無需使用人員擁有較多的晶體學知識,需調節的參數很少。
我們相信,通過數字圖像處理角度來研究晶體結構解析方法將為晶體結構解析方法研究開拓了新的研究思路。
參考文獻
[1]Aubert E, Lecomte C. Illustrated Fourier transforms for crystallography[J]. Journal of Applied Crystallography, 2007, 40(6): 1153-1165.
[2]Hauptman H A. The phase problem of x-ray crystallography[J]. Reports on Progress in Physics, 1991, 54(11): 1427.
[3]Oszlányi G, Süt A. Ab initio structure solution by charge flipping[J]. Acta Crystallographica Section A: Foundations of Crystallography, 2004, 60(2): 134-141.
[4]Wall M E. Quantum crystallographic charge density of urea[J]. IUCrJ, 2016, 3(4).
[5]Li H, He M, Zhang Z. Image definition evaluation functions for X-ray crystallography: a new perspective on the phase problem[J]. Acta Crystallographica Section A: Foundations and Advances, 2015, 71(5): 526-533.
[6]Sheldrick G M. A short history of SHELX[J]. Acta Crystallographica Section A: Foundations of Crystallography,2008, 64(1):112-122.