PyMOLでタンパク質を虹色に塗るときのいろいろ

PyMOLでタンパク質を虹色に塗る場合には,マウスだと「C」メニューから「spectrum > rainbow」と選びますが,これをコマンドでやる方法などについてです。


このタンパク質(↓)を例に見ていきましょう。紫色の球はイオンです。


[,w120]

基礎編

虹色にする場合にはコマンド入力欄に次のように入力します。

PyMOL>spectrum


ここで,一部の残基などを選択しておいてその部分のみ虹色にしたい場合には,少し書き方が変わります。たとえば,今回はイオンの色は変えないでタンパク質の色のみ変えたいとします。仮にタンパク質を「sele」という名前で選択してあるとすると,次のようになります。

PyMOL>spectrum count, rainbow, sele


[,w120]


「count」が残基番号で色づけすることを,「rainbow」が虹色に色づけすることを表しています。もしB-factorの値に従って色づけする場合には「count」の代わりに「b」とするだけです。

PyMOL>spectrum b, rainbow, sele


[,w120]

応用編1:B-factorの最大値と最小値を指定する。

「spectrum」コマンドによる色づけでは,何も指定しなければ最大値と最小値は自動的に決められてしまいます。これでは比較するときに不便なこともありますね。B-factorのカラムに別の値を自分で入れていたりすると特に(あるある!)。次のようにして最大値と最小値を指定することができます。

PyMOL>spectrum b, rainbow, sele, minimum=17, maximum=37


[,w120]


ちょっとやりすぎな感じはありますが,まあ,デモなので。

応用編2:Rainbowの色を変える

Rainbowで色づけをすると,勝手にN末端が青,C末端が赤となってしまいます。でも逆の方が感覚に合う人もいるし(わたし),そもそも虹色じゃなくて赤→白→青みたいな色づけがしたいこともあります。特に,B-factorのカラムに別の値を自分で入れていたりすると(あるある!)。


まずは,虹の順番を逆にしてみましょう。色の指定の「rainbow」を「rainbow_rev」に替えましょう。これで色の順番がさっきと逆になります(N末端が赤,C末端が青になります)。

PyMOL>spectrum count, rainbow_rev, sele


[,w120]


では次に,もっと自由な色へ挑戦。虹色以外だって選べます。黄色→青にしてみましょう。

PyMOL>spectrum b, yellow_blue, sele, minimum=0, maximum=10


[,w120]



ここでは保存度に従って色を付けています(B-factorのカラムに保存度を入れています;保存度は0〜10の範囲を取るように調整してあります)。青いところが進化の過程でよく保存しているところ,黄色いところがその逆です。イオンが透過するところはよく保存してますね。まあでも,もっといい色の選択がありそうですね。。

補足1:タンパク質

ここで使ったタンパク質はKcsAというタンパク質でした(見えやすくするために実際のタンパク質の一部しか表示していません)。

補足2:保存度の計算

保存度はJSD(Jensen–Shannon divergence)という方法を使って計算しています。お手軽だけどけっこういい結果が得られるので,機能部位予測などで使われています。

補足3:色の一覧

色の指定の全一覧は,存在しない色を指定すると表示されます。または,PyMOL Wikiにいろいろ書いてあります。

補足4:虹の色の順番

私は小学校で,虹の色の順番を次のように習いました。歌で覚えたので,今でもすぐに言うことができます。渡辺茂先生,ありがとうございました!

赤,橙,黄,緑,青,藍,紫