ochalog

RubyとMediaWikiとIRCが好き。

DSSP で求めた二次構造を反映させる PyMOL スクリプトの生成(マイナーアップデート版)

2013 年に書いたものを更新。当時と Ruby の書き方が少し変わった。

PyMOLを使ってみよう/クックブック - BioKids Wiki」で書かれているように、タンパク質の構造を詳しく議論したくて DSSP で計算した結果と図の二次構造を合わせたい場合がある。ただ、この PyMOL スクリプトを 1(または数)残基ずつ打ち込むのも面倒なので、自動でスクリプトを生成するプログラムを Ruby で書いてみた。ちなみに、研究室にいる間に研究に使える汎用的なプログラムを書いたのは初めて(笑)

プログラム

やっていることは、入力された DSSP ファイルを本体まで読み飛ばし、鎖と残基番号で指定した残基の二次構造を前述の BioKids Wiki のページの表に従って変換するスクリプトを出力する、という流れ。DSSP ファイルの固定幅の性質を使っているので、バージョンアップで出力形式が変わったら動かなくなるかも。一応手元の DSSP ファイルではすべて正常に動いた。

使い方

foo.pdb と対応する foo.dssp を用意して

ruby gen-alter-ss-dssp.rb foo.dssp > alter-ss.pml

で PyMOL スクリプトファイル alter-ss.pml が生成される。

あとは PyMOL で foo.pdb を読み込んだ後、「File」→「Run...」で alter-ss.pml を読み込むか、

@ alter-ss.pml

とコマンドを打ち込めば、二次構造が DSSP で計算されたものに一気に変わる。

手元で試してみた限りでは、PyMOL の DSS と DSSP では意外と二次構造の割り当てが異なるので、やはり気をつけた方が良いのかも。