PyMol コマンドの基本

概要

PyMolではGUIでの操作でほとんどのことができるが、細かな設定をする場合はCUIの方が便利である。慣れるまで時間がかかるが、コツコツ覚えていきたい。

環境

macOS Mojave 10.14.6 PyMol 2.3.1

PyMolとVMDの比較

先にPyMolのVMDと比べて思うところを独断と偏見でかく。

長所

  1. Pythonでコードがかける。VMDはTclと呼ばれる今ではほとんど誰も使っていないであろう言語。Tclはコードを書くのが難しく記事も少ない。
  2. GUI機能が豊富で非常に使いやすい。
  3. 欠損残基の補足が自動的にされるので見やすい。

短所

  1. おせっかい機能が多い(ファイルを読み込んでPDBで保存すると勝手に残基番号順に並べ変える、TERを勝手につける)
  2. 残基番号が不自然(例えば12Aのように数値以外のものがある場合)なときにはバグが起こりやすい。
  3. 動画再生が重い。
  4. タンパク質の選択がしにくい(ほぼできない)。

最近ではVMDはトラジェクトリ を読み込む時か、軽い処理をするときにしか使わなくなった。

ファイルの読み込み

$ load ../PDB/12ae.pdb

proteinという名前で読み込みたいときは

$ load ../PDB/12ae.pdb, protein

画面を初期状態に戻す

$ orient

原子の情報を取得

PyMolでは分子を読み込むとその分子をobjectとして扱うことができる。さらに、そのobjectをクリックすることで部分的に原子を選択することができる。しかし、ある分子のヒスチジン残基だけを全て表示したいときに、いちいちマウスで選択していては効率が悪い。そんなときにCUIでコマンドを使うと便利である。例えば下記コマンドを打つとヒスチジン残基が全て選択される。

$ select all_his, resn his

さらに残基番号5のヒスチジンを選択したいときは

$ sel his_5, resn his and resi 5

簡単だ!

原子の色々な指定方法

command mean example
name 原子名 name CA
elem 原子種 name C
resn 残基名 resn his
resi 原子番号 resi 3
chain Chain ID chain A

複雑な指定方法

$ sel cys_3_7, resn cys and (resi 3,7) #残基番号が3,7のシステイン
$ sel cys_3-7, resn cys and resi 3:7 #残基番号が3から7のシステイン

さらに複雑にするとリガンドから5Åのヒスチジンを指定することもできる。詳しくはこちら

$ sel lig_around_5, resn his and (byres (protein within 5 of ligand))

objectの生成

selと同様にして生成できる。selcreateに変えるだけ。 createではフレームも作成できる。構造ファイルとトラジェクトリ ファイルを読み込んだ後に、下記コマンドを実行するとフレームが20までのobjectができる。

for i in range(1, 20):
    cmd.create('movie_20', 'all', i, i-1)

原子数のカウント

$ count_atoms select1

Chainや残基番号の変更

$ alter select1, resi = str(int(resi) + 10) #残基番号を全てに10を足す
$ alter select1, chain = 'A' #ChainをAにする
$ cmd.set('pdb_use_ter_records', 0) #TERをつけない
$ cmd.set('retain_order', 1) #原子の順番を変えない
$ save aaa.pdb, select1 #aaa.pdbに保存する