X射线晶体学与傅立叶变换


自20世纪以来,X射线晶体学已知是我们用以理解物质的基本方法。基于近年来认识蛋白质化学结构上的进展,测量三维结构的方法已成为必不可少的工具。而在这方面的主要就是X射线晶体学。(使用X射线的原因是因为它的波长为 $1-100\overset{\circ}{A}$, 一个 $\overset{\circ}{A}$ 大致是 $10^{-10}$ 米,正好处于分子结构中的原子量级)。数学在其中的应用可大致分为两个阶段。首先,空间群的研究在三度空间什么样的周期性合成是可行的。为此,数学家常常称这一的群为“晶体群”。再者,当单色X射线自晶体衍射开来时,其过程可被视为一个数学变换,即傅立叶变换。(尽管问题初看上去几乎是完全不同)。事实上,当入射光线的角度旋转完整一周后,一个完整的傅立叶变换就完成了。

当然,我们还无法测定所有衍射在不同角度的细节,否则就能用逆变换来准确地计算分子结构了。

如今在网络上我们可以找到许多有关X射线晶体学方面的资料。我尤其受益于Randy Read的网上蛋白晶体课程及Kevin Cowtan的互动式结构教程。我当然要将特别感谢纽约州立大学石溪分校的同事Peter Stephens和Mignel Garcia-Diaz的帮助及指教。

傅立叶级数:温度在导线上的分布

在历史上,傅立叶级数和傅立叶变换是被发明用于数据分析的。事实上,当年的傅立叶(Jean-Baptiste Joseph Fourier,1768-1830)是在研究分布在一个周长为 $a$ 的圆环上的瞬间温度变化时创立了这一级数。假定初始温度为 $f(x),~~0\leq x \leq a$, 并且 $f(a)=f(0)$。我们就能计算所谓的傅立叶系数:

$$\begin{array}{l} & a_0=\dfrac{1}{a}\int^{a}_{0}f(x)dx ,\\ & a_h=\dfrac{2}{a}\int^{a}_{0}f(x)\cos{\dfrac{2\pi h}{a}}xdx,\\& b_h=\dfrac{2}{a}\int^{a}_{0}f(x)\sin{\dfrac{2\pi h}{a}}xdx ,\end{array}$$

可以证明,如果初始函数 $f(x)$ 令人满意,那么线性组合:

$a_0+\displaystyle \sum^{\infty}_{h=1}a_h \cos{\dfrac{2\pi h}{a}}x+\displaystyle \sum^{\infty}_{h=1}b_h \sin{\dfrac{2\pi h}{a}}x$

处处收敛到 $f(x)$。(这就是所谓的 $f(x)$ 的傅立叶级数,当 $a=2\pi$ 时该级数可以大大简化)。(回到温度的初始分布问题,事实简单的三角函数,都能确定一个简单问题的解,甚至常数 $a_0$ 也是一个解。但一个线性组合,通过系数 $a_h$ 和 $b_h$,把单个的解组合成了一个完整的温度分布函数。)

当然,如果我们应用欧拉公式 $\cos t=\dfrac{1}{2}(e^{it}+e^{-it}),~~\sin t=\dfrac{1}{2i}(e^{it}-e^{-it})$,那么合并类似的项后傅立叶级数还可以被写成:

$$f(x)=\displaystyle \sum^{\infty}_{h=1} c_h e^{i\frac{2\pi h}{a}x}$$  

其中

$$\begin{equation}c_h=\dfrac{1}{a}\int^{a}_0f(x)e^{-i\frac{2\pi h}{a}x} dx\end{equation};$$  

当然一般而言 $c_h$ 是复数。

晶体中的电子密度分布

积分及求和运算,即 $f(x)\rightarrow \{c_h\}$ 及 $\{c_h\}\rightarrow f(x)$ 可以用另一种方式来理解。在本节中,让我们来考虑在某种化合物的结晶状态下的电子分布密度函数 $\rho(x.y.z)$。 为简单起见,假设在化合物中的最基本的结构单元是个长方体,其边长分别为 $a,b,c$ 。假定物质的结构就是由无数这样的长方体堆积而成。我们不妨假设 $a$ 正好是在 $x$ 方向, $b$ 是在 $y$ 方向,而 $c$ 则在 $z$ 方向。这样的话,$\rho(x,y,z)$ 及它的延伸就可以简化成这样一个事实: 即 $\rho(x,y,z)$ 是一个在三个方向上的周期函数。这样的话,我们就能将从一维圆周问题上得到的傅立叶级数稍作推广得到三维的分布函数:

$$\rho(x,y,z)=\displaystyle \sum^{\infty}_{h=-\infty} \displaystyle \sum^{\infty}_{h=-\infty} \displaystyle \sum^{\infty}_{h=-\infty} c_{hkl}e^{i(\frac{2\pi h}{a}x+\frac{2\pi k}{b}y+\frac{2\pi l}{c}z)},$$  

其中,

$$c_{hkl}=\dfrac{1}{abc}\int^a_0 \int^b_0 \int^c_0 \rho(x,y,z) e^{-i(\frac{2\pi h}{a}x+\frac{2\pi k}{b}y+\frac{2\pi l}{c}z)}dx dy dz,$$  

如果系数 $c_{hkl}$ 已知,那么电子的密度分别便可以垂手而得。随之该分子的结构便可被推知。令人振奋的是,当X射线轰击晶体时产生的衍射恰恰富含了有关 $c_{hkl}$ 的宝贵信息。大致而言,我们可以想象 $c_{hkl}$ 代表了三维晶格的顶点。而X射线衍射就把这晶格投影到了一个映像平面上。如果 $P_\Theta$ 表示某一射线,其射到晶体的角度是 $\Theta$,那么顶点 $(h,k,l)$ 就会根据这角度 $\Theta$ 被投影到映像平面上的某一点 $P_\Theta(h,k,l)$ (当然这个位置取决于射线的波长 $\lambda$)。

而这一小点的大小取决于绝对值 $|c_{hkl}|$ 的大小。改变投射角度 $\Theta$ 便可得到一组新的顶点映像,最终整个晶格便可以在所得的系数绝对值的基础上得以复制。

$\bullet$ 相位问题。当然,仅仅是通过绝对值 $|c_{hkl}|$,尽管它们富含所期望的分子的信息,我们还是无法复制整个晶体。作为一个简单的例子,让我们来考虑当年Fourier考虑过的温度分布问题。假设在周长为 $a=2\pi$ 的圆环上的不同温度分布可以被写成:

$$f(x)=\cos x+\cos {3x}=\dfrac{1}{2}(e^{ix}+e^{-ix})+\dfrac{1}{2}(e^{3ix}+e^{-3ix}),\\   g(x)=\cos x-\cos {3x}=\dfrac{1}{2}(e^{ix}+e^{-ix})-\dfrac{1}{2}(e^{3ix}-e^{-3ix}).$$  

注意函数 $f$ 的展开式的所有系数都是 $\dfrac{1}{2}$, 而在 $g$ 的展开式中系数为 $c_{-3}=c_3=-\dfrac{1}{2},~~c_{-1}=c_1=\dfrac{1}{2}$ .尽管两组展开式系数的绝对值都是 $\dfrac{1}{2}$,但它们代表的分布显然是不同的。这可以用下图来表示。对这个问题,晶体学家创造了不少的方法来绕过这个相位问题的局限。只不过这方面的讨论已超过了本文的范畴。

位于周长 $2\pi$ 圆环(黑色)上的温度分布 $f(x)=\cos{x}+\cos{3x}$ (红色) 和 $g(x)=\cos x -\cos{3x}$ (蓝色) 显然是不同的。但其傅立叶展开的系数的绝对值却相同。

倒置晶格

X 射线与晶体的互动是通过射线与一簇平面的互动来实现的。假定晶体就是由无数边长为 $a\times b \times c$ 的小长方形的单位堆积而成的。他们是平行整齐排列的。(如果这些边长 $a,b,c$ 都不相同,那么这样的结构成为正交晶系)。每一组三个正整数 $(h,k,l)$ 可以确定一簇交予晶体的平面,平面方程为:

$\dfrac{xh}{a}+\dfrac{yk}{b}+\dfrac{zl}{c}=n$

其中 $n$ 是正整数。

我来作一个变换:$X=\dfrac{x}{a},~~Y=\dfrac{y}{b},~~Z=\dfrac{z}{c}$. (当然我们在用的是倒晶格系,如果使用非正交系单元的话也可以,只不过表达稍微复杂而已)。那么平面方程可简化为:

$Xh+Yk+Zl=n$,

其中 $n$ 是正整数。对每组坐标 $(h,k,l)$ 来说,所有这些平面无疑充满了整个晶体。当然我们假定每个单元仅有一个这样代表性的顶点坐标,这样会便于使用。这些平面成为晶格平面。在几何表示上,当然使用二维空间比较方便。所以让我们出去 $Z$ 变量及 $l$ 。 这样的话,我们的晶体被简化成一组尺寸为 $a\times b$ 的矩形。这意味着,用简化为 $(X,Y)$ 坐标系时,每一个基本单元的尺寸是 $1\times 1$。那么 $(0,1)$ 就表示直线 $Y=n$, 其中 $n$ 是正整数。这组直线平行于 $x-$ 轴,并且一个接一个的位于基本单元之间。进一步,$(1,1)$ 意味着直线 $X+Y=n$, 或 $Y=n-X$;$(-2,1)$ 象征着直线 $Y=n+2X$;$(2,-3)$ 就代表 $Y=-\dfrac{n}{3}+(\dfrac{2}{3})$ 等等。见下图:

晶格直线:直线对应于 $(1,1)$ 为蓝色,对应于 $(-2,1)$ 为橘黄色, 对应于 $(2,-3)$ 为紫色。

X射线衍射:傅立叶分析是如何通过单色平面波来实现的

我们在下图中注明了在衍射计算中所需的向量。入射平面波 $K_0$ 在点 $O$ 处开始产生衍射。其中一组电子以对称角 $\theta$ 出射。另一组电子沿轨道 r 出射。波动向量 $K$ 和 $k_0$ 拥有相同的振幅,为方便起见我们记其为 $\dfrac{1}{\lambda}$, 即波长的导数。衍射射线的旅征长度并不相同:实际上行程 $O'$ 比 $O$ 要长出 $AO'+O'B$ 个单位。$AO'$ 是 $r$ 在 $K_0$ 上的投影,而其长度为 $r\cdot k_0/|k_0|$。 $O'B$ 是 $r$ 在 $K$ 上的投影的反向,因而具有长度 $-\lambda r\cdot k$。这就给出了长度 $O'$ 和 $O$ 的差别为 $\lambda r\cdot (K_0-K)$, 或 $\lambda r\cdot s$。由于 $\lambda$ 是波长,当光波沿 $r$ 方向前进的话会有一个相位差因素 $e^{-2\pi ir\cdot s}$。

既然向量 $s$ 的长度为 $2|K|\sin \theta=2\sin{\dfrac{\theta}{\lambda}}$, 所以 $r\cdot s$ 必定是 $2d\sin{\dfrac{\theta}{\lambda}}$,以为内它等于 $r$ 的沿 $s$ 方向的分量聚于 $s$ 的长度。在另一方面,要构造,这意味着 $r\cdot s=n$, $n$ 为正整数,也必须满足等式 $2d\sin\theta=\lambda n$。这就是所谓的Bragg's定律。正是这个定律的发现奠定的X射线晶体学。相应于衍射向量 $s$ 即单束电子轨迹 $r$ 的衍射呈上散射波振幅乘以振幅因子 $e^{-2\pi ir\cdot s}$。这就是说,假如 $\rho(r)$ 是晶体的电子密度函数,其在 $s$ 方向的作用为:

$$F(s)=\int \rho(r)e^{-2\pi ir\cdot s}dr.$$

所以这所谓的结构函数 $F(s)$ 恰恰就是电子密度函数 $\rho(r)$ 的傅立叶变化。(基本的衍射实验仅仅给出 $F(S)$ 的绝对值, 即 $F(S)$ 的平方值,这相当于相应于 $s$ 的点密度值。如果相位也能得知的话,那么逆傅立叶变换就成了可能。然后电子密度分布的完整结构便可得出了)

当然以上积分可以被改写为用 $(h,k,l)$ 在倒置空间的向量来表达。对这样的向量 $\mathbf{H}$ ,我们用倒立空间坐标 $\mathbf{X}=(X,Y,X)$ 便知:

$$F(h,k,l)=\int_{\mathrm{unit~cell}}\rho(X)e^{-2\pi i X\cdot (h,k,l)}dx.$$

随之可以定义逆变换:

$$\rho(X)=\int F(h,k,l)e^{2\pi i X\cdot (h,k,l)}dV$$

这里 $dV$ 是倒置空间的体积。这积分可以用标准的傅立叶级数来逼近:

$$\rho(X)=\displaystyle \sum^{\infty}_{h=-\infty} \displaystyle \sum^{\infty}_{h=-\infty} \displaystyle\sum^{\infty}_{h=-\infty}F(h,k,l)e^{2\pi i X\cdot (h,k,l)}$$

读者开始将上面的级数与本文初始部分提出的级数稍作比较看看有何相似之处。

这里有一个有趣的例子。这个例子来自Kevin Cowtan的互动式结构教程。这个二维的例子演示了结构因子,在特定的相位下,可以多快地收敛到所预期的结构。下图所示的是预期的密度分别:

Cowtan的模拟仅仅使用七个最大结构因子对应于 $(h,k)=(0,1),(1,0),(-1,2),(-2,1),(1,2),(3,-2),(3,1)$ 来合成结果。以下所图示的正是这个合成过程,在每一步进程中加入新的结构因子。



原文链接: http://www.ams.org/samplings/ feature-column/fc-2011-10
作  者: 托尼 $\cdot$ 菲立普,美国纽约州立大学 石溪分校
翻  译: 盛秦,剑桥大学数学博士,美国贝勒大学(Baylor University)数学教授
校  对: 汤涛,香港浸会大学数学讲座教授