COOTクックブック
既に全てを把握できないほどの機能が追加されつつあるCOOT。ここではターゲットをCOOTに絞ってクックブックを作成してみます。これまでのページはリファレンス的に機能を網羅していましたが、クックブックでは機能を軸に解説していきます。思い付いたときに少しずつ追加していこうと思います。
構造解析全般のTipsに関しては構造解析クックブックを参照してください。
全般
日本語ディレクトリ以下で実行するとエラー
2010-03-01
- 問題
- 日本語のディレクトリでCOOTを実行すると以下のメッセージが出てファイルが扱えない
Gtk-Message: The filename "\350..." couldn't be converted to UTF-8. (try setting the environment variable G_FILENAME_ENCODING): Invalid byte sequence in conversion input
- 解法
- たまたま日本語ファイル名のディレクトリで作業しているときに気づいたのですが、日本語のディレクトリ以下(例えば、論文準備というディレクトリ)でCOOTを起動してファイルを開こうとするとエンコーディングのエラーと思われるメッセージが出力され、日本語ディレクトリが見えなくなります。そんな時はエラーメッセージで指摘されているように環境変数G_FILENAME_ENCODINGにファイル名のエンコーディングを指定します。Vine5などではUTF-8なので、
% setenv G_FILENAME_ENCODING utf-8
とセットしてからCOOTを再起動します(cshの場合。shならexport G_FILENAME_ENCODING=utf-8)。
これで日本語ファイルも扱えるはずです。
表示
マップの線の太さを変更したい
2012-01-23 - 0.6.1
- 問題
- マップの色はGUIで変更できるが、線の太さが変えられないようだ
- 解法
- ひょっとしたら私が見つけられてないだけかもしれませんが、Scheme scriptingで変更するようです。他にも結構GUIがない機能が多いみたいです。
[Calculate]->[Scripting]->[Scheme]でCoot Scheme Scriptingダイアログを開いてCommandを実行します。coot> (set-map-line-width 2)
で変更されます(すべてのマップが対象)。ディフォルトは1みたいです。
モデリング
原子間の距離を表示させたい
- 解法
状況によっていくつかの方法があり、
- [Measures] -> [Distances & Angles] -- 任意の2点間の距離を測定
- [Measures] -> [Environment Distances] -- 選択中の残基とその周囲の原子の距離
- [Measures] -> [Pointer Distances] -- ポインター(中心のピンクの箱)から周辺の原子までの距離
などを使うことができます。
- 解説
- 状況に使い分けることが使いこなしへのポイントです。水分子を置くときは[Pointer Distances]、後から水分子の位置を検証するときは[Environment Distances]を使うのがよいでしょう。初期設定では[Pointer Distances]と[Environment Distances]の表示範囲距離が異なっています(3.6Åおよび3.2Å)ので注意して下さい。
また、リガンドを配置するときに便利なDynamic Distanceという機能もありますので使ってみてください。
- 参考
対称分子の近くに配置した水を元の分子の近くに移したい
2010-03-09 : Ver.0.6
- 問題
- 対称で発生させたタンパク分子の近くに配置した水分子を元の分子の周りに配置し直したい
- 解法
- Extensionsのコマンドを使います。
- [Extensions] -> [Modelling] -> [Arrange Waters Around Protein]
このコマンドを使うとファイル単位で処理を行うことができます。PDB登録する前にはしておきたい処理ですね。
不完全な残基を補完したい
2011-03-01 : Ver.0.6.2 thanks Yamさん
- 問題
- 分子置換の後(特にCHAINSAWなどを使ったとき)やBUCCANEERなどでモデルを組んだ後の不完全な残基をまとめて補完したい
- 解法
- ExtensionsのResidues with missing atomsとfill partial residuesメソッドを組み合わせると便利です。
不完全な残基(residues with missing atoms)を探すには[Extensions] -> [Modelling] -> [Residues with missing atoms]を選択することで、不完全な残基の一覧がボタンになったダイアログを表示することができます。これとfill partial residuesメソッドを組み合わせます。
- Residues with missing atomsであらかじめ不完全な残基をリストしておきます
- [Calculate] -> [Scripting] -> [Scheme]でCoot Scheme Scriptingコマンドラインウィンドウを開きます
- Commandのところに(fill-partial-residues 0)と入力しEnterで実行します。数値は分子番号で、Display Managerの左側の番号だと思います
- 補完された残基はマップからずれている場合があるのでResidues with missing atomsダイアログのボタンで確認しながら修正します
ちょっと大胆に精密化したい
2011-03-02 : Ver.0.6.2
- 問題
- Real Space Refine Zoneよりもちょっとだけ大胆にモデル修正したい(しかも自動で)
- 解法
- [Calculate] -> [Fit Loop]を使います。
Fit Loopコマンドはあと数残基つなぎたい、というときに便利なコマンドですが、すでに組み上がっているモデルに対しても使用することができます。電子密度のクオリティにもよりますが、ラマチャンドランプロットがReal space refineでなかなかAllowedにならないという場合にも有効な気がします。
例えば、残基32がOutlierの時、Residue numbersに30-34を指定してto (single letter) sequenceを空白、Use Ramachandran restrains to fit the loop?をONにして実行すると、この場合残基30-34を組み直してくれます。
すでに組み上がっている構造を参照するらしく、電子密度のみから組み上げるよりはきれいになる感じです。
私の場合2.8Åの結構悪いめのデータで試しましたが60%ぐらいの割合でラマチャンドランプロットが改善されました。手動でなかなかうまくいかないっていう時には試してみる価値はあると思います。
リガンド
定義済みのリガンドを読み込みたい
- 問題
- リガンドをモデリングするのに低分子を読み込みたい。ただし、その分子は標準のライブラリ($CLIB_MON/mon_lib.list)に定義されているようだ。
- 解法
- [File] -> [Get Monomer...]で化合物の3文字コードを入力するか、3文字コード(3-letter code)がわからない場合は[File] -> [Search Monomer Library..]で化合物名から検索して読み込みます。
上記の方法では読み込めなかった
- 問題
- PDBを見ているとそのリガンドの3文字コードが登録されているようなのだが、新しいためか標準のライブラリからは読み込めない。
- 解法
- PDBのChemical Component Dictionaryを調べます。実際に化合物を取得するにはMDSchemまたはLigand ExpoからPDBファイルまたはSMILES記法を取得してインポートします。
- 解説
- PDBでは3文字コードが登録されているのに標準のライブラリに入っていない化合物はwwPDB内のChemical Component Dictionaryから取得することになります。Chemical Component Dictionaryでは検索機能がないのでEMBL-EBI内のMDSchem(PDBeChem)またはRSCB内のLigand Expo(旧:Ligand Depot)で検索して取得します。
どちらを使っても結果は変わらないはずなので好みで選んでください(私はLigand Expoを使っています)。その後、方法が二つあります。
- SMILES記法をコピーする
化合物の説明にSMILESという項目があります。このSMILESをコピーして[Files] -> [SMILES...]に張り付ければCOOTが化合物を構成し、必要なCIFも作成するようです。上記のPDBファイルとともに存在するCIFファイルでは結合情報などが定義されていないため、[Edit Chi Angles]が使用できませんが、SMILESから生成すると使用可能なようです。 - PDBファイルを取得する
登録されている化合物のPDBを取得します。精密化にはCIFファイルも必要となるのですが、ここから取得したCIFファイルではエラーが出たので、結局CCP4のMAKECIFを使いました。MAKECIFではなくDundee大学のPRODRGサーバーを使うこともできます。
- 参考
- PRODRG
- 外部サイト
- Worldwide PDB(wwPDB) Chemical Component Dictionary -- http://www.wwpdb.org/ccd.html
- EMBL-EBI MDSchem -- http://www.ebi.ac.uk/msd-srv/msdchem/cgi-bin/cgi.pl
- RSCB Ligand Expo -- http://ligand-expo.rcsb.org/index.html
- CCP4 MAKECIF -- http://www.ysbl.york.ac.uk/~alexei/makecif.html
- Dundee PRODRG Server -- http://davapc1.bioch.dundee.ac.uk/prodrg/
- Wikipedia SMILES記法 -- http://ja.wikipedia.org/wiki/SMILES%E8%A8%98%E6%B3%95
Chemical Component Dictionary内で見つからなかった
- 問題
- Chemical Component Dictionaryを検索しても見つからず、PDBファイルやSMILESがわからない。
- 解法
- 自分で作成します。運がよければUppsala大学のHic-Upで見つかるかもしれません。
- 解説
- ややこしい化合物などの場合、以前にPDBが作成されていない可能性があります。その時は似た化合物を元に自分で作成するか、CCP4のSKETCHER、PRODRGサーバーのSKETCHERなどを使って作成します。SMILES記法を理解しているならSMILESで作成するという方法もあります。
PDBが作成できれば後は上の方法と同様CIFファイルをMAKECIFまたはPRODRGで作成すればインポートできます。
よく使う化合物をモノマーライブラリに登録したい
- 問題
- これまでに解説した方法で化合物を読み込めたが、よく使うので[Get Monomer]で読み込みたい。
- 解法
- 元のPDBファイルからMAKECIFでCIFファイルを作成し、CCP4のモノマーライブラリに追加します。追加方法は以下の手順で行います。
- 追加するCIFファイルを$CLIBD_MONディレクトリにコピーします。この時、TRE.cifなら$CLIBD_MON/t/にコピーします。
- $CLIBD_MON/list/mon_lib_list.cifに化合物の説明を記述します。今回のTREならTrehaloseなので、
TRE TRE 'TREHALOSE ' D-saccharide 45 23 .
という行を追加します。追加する場所はどこでもよさそうですが、LIST OF MONOMERSセクションに追加してください。
項目は、- 化合物ID(通常は3文字コードでよさそう。GLCなどは別名が記述されているが詳細は不明)
- 3文字コード(すでに存在するものと重複しないように)
- 化合物の説明
- 化合物の種類。ここでは二糖類なのでD-saccharide。似た化合物を参考に。
- 水素原子を含む原子の数
- 水素原子以外の原子の数
- 参考
- Re: [COOT] can coot get my monomers? -- http://www.mail-archive.com/coot@jiscmail.ac.uk/msg01027.html