同晶置换法需要制备同晶型的重原子衍生物﹐即在不会改变分子和晶体结构的情况下﹐在晶体中引入一种较重的金属原子。这些金属原子在晶体中以和其它原子相同的周期重复规律排列。它们对于 X射线的散射仅影响晶体的衍射强度﹐而不改变衍射方向。这时重原子的结构振幅可由衍生物与天然晶体衍射强度的差值求得。由于晶体中引入重原子的数目有限,我们可以采用别的办法(例如帕特逊函数法)来确定它们的位置,进而可以计算重原子的结构因子。如果能有两个以上同晶型的衍生物﹐就可利用矢量三角形法则求得天然晶体的相位﹐因而也就可以解出这种晶体的结构。这种方法称为多对同晶置换法。当晶体中重原子的吸收边接近入射 X射线的波长时﹐重原子内层的约束电子对于入射线会有很强的散射作用﹐称为反常散射。此时晶体衍射强度的中心对称定律不再成立,即| |≠| |。这就相当于使用一种晶体收集两套衍射强度数据。其效果等于有了两个同晶型的衍生物。因此可以采用类似同晶置换的办法解出晶体结构。这种方法称为反常散射法。许多蛋白质分子是由相同或相似的亚基组成的﹐它们之间具有结构的相似性。对于那些结构相同或相似的蛋白质分子﹐如果得到晶型不同的晶体﹐那么它们在不同晶胞中的差异在于空间处向以及排布方式不同。另外﹐即使在一种晶胞的晶体学不对称单位内﹐也可存在相同或相似的亚基结构。它们之间存在非晶体学的对称关系。因此可以通过旋转变换和平移变换的办法﹐使得这些相同或相似的结构重合。这样﹐如果已知一个结构﹐就可结合晶体学的结构修正方法求得另外一个未知的结构。这种方法称为分子置换法。