コンポジットオミットマップ
分子置換の解が得られても、「どーもRが下がらない」とか「2Fo-FcマップにあっているのにヘンなところにFo-Fcが出る」というような時は分子置換に用いたモデル由来のバイアスがかかっている場合があります(ひどいときには実は解が出ていない)。私の理解では、「大体あってるのだが少々ずれていてしかも大規模に起きているのでなんとなくうまくいっているように見える」というものです(正確な解釈は周りにいる詳しい人に聞いてみてください)。
そんな時は部分的にオミットを繰り返して得られたオミットマップを合成して全体のマップを描くComposite omit mapという手法(?)を使ってみるといいかもしれません。CCP4iにも[Map & Mask Utilities]->[Calculate Omit Map]というものがありますが違いはよく知りません(--;。計算手法が異なるためかCCP4の方が圧倒的に速いですが。
実際のトコロ
たいそうな解説を付けましたが、作業としては大して難しくありません。通常どおりインプットファイルを修正するだけです。が、めちゃくちゃ時間がかかります。低い分解能の小さめの分子なら1時間ほどだと思いますが、高分解能、巨大分子だとえらいことになるでしょう。ちなみに私が最近やった結果だと2.5Å、140残基x16の分子(2200残基程度)、Core2 Quad Q6600(2.66GHz)で2時間程度でした。CPU時間では5.5時間だったのでシングルコアだとそのぐらいかかるということですね(4コアおそるべし)。今回は低分解能でしたが、もうすこし高分解能だと飛躍的に所要時間が延びるはずです。
そのため、1.21並列版の使用をおすすめします。(参考:CNS 1.21のインストール)
描き方
必要なインプットファイルは以下のものです。
- generate.inp -- generate.pdbおよびgenerate.mtfを作成します
- composite_omit_map.inp -- コンポジットオミットマップ本体
- その他、PDBファイルおよびCVファイル
generate.inp
このファイルに関しては難しいことはありません。ここで読み込ませるPDBファイルは水分子が入っていないものを用意します。タンパク分子のみのPDBからgenerate.pdb/mtfを作成します。
具体的には、47行目付近の
{===>} prot_coordinate_infile_1="090624-5_nowat.pdb";
を修正するだけです。
修正後、実行します。
% cns < generate.inp | tee generate.log
composite_omit_map.inp
コンポジットオミットマップを描くためのインプットです。
修正個所は以下の通り。
- 57行目付近の{== crystallographic data ==}以降の空間群および格子定数
- 81行目付近のCVファイル名
{===>} reflection_infile_1="../output_p21_25_sc0.cv";
- 137行目、138行目付近の分解能
{===>} low_res=500.0; {===>} high_res=2.5;
また、大きな分子だとMAXTREEが小さすぎるなどと怒られるので、312-320行目付近のtorsion_maxlength, torsion_maxtree, torsion_maxchain, torsion_maxbondのパラメータも修正します(エラーが出てから)。
PDBファイルの指定はgenerate.pdbとgenerate.mtfのままでOKです。必要なら、その他のパラメータも適宜変更してください。
修正したら実行します。
% cns < composite_omit_map.inp | tee composite_omit_map.log
そのまま放置します・・・
結果の見方
処理が完了すると目的のマップの他にいくつかのファイルが出力されます。
- composite_omit_map.coeff -- 反射と関係ありそう(調べてません・・・)
- composite_omit_map.list -- 計算したボックスエリアかな
- composite_omit_map.map -- コンポジットオミットマップファイル
- composite_omit_map_negative.peaks -- ネガティブピークの座標
- composite_omit_map_positive.peaks -- ポジティブピークの座標
- composite_omit_map_r.list -- 残基ごとのマップとの一致度(CC)およびR値(結局、CC + R = 1)
- composite_omit_map_r.pdb -- PDBファイルの温度因子部分がR値になっているもの
電子密度にない部分が多いとモデルを見直す必要があるかもしれません。また余計なループなどを削除すれば結果がよくなるかも。
結果の確認
小さい分子なら確認は楽なのですが、残基数が多いと目視では大変です。そんなわけでコマンド処理をしてみましょう。
例えばマップとの一致度が0.5未満のものを出力するときはawkでさらりと。
% gawk '{if($4<0.5){print}}' composite_omit_map_r.list 381 109 C 0.481 0.519 1066 94 H 0.444 0.556 1068 96 H 0.376 0.624 1069 97 H 0.400 0.600 1603 91 L 0.452 0.548 1605 93 L 0.443 0.557 average R-value = 0.120898 sigma = 7.249898E-02
こんな風にCC<0.5のものだけを出力させることができます。awkって偉大だ!