PyMol コマンドの基本
概要
PyMolではGUIでの操作でほとんどのことができるが、細かな設定をする場合はCUIの方が便利である。慣れるまで時間がかかるが、コツコツ覚えていきたい。
環境
macOS Mojave 10.14.6 PyMol 2.3.1
PyMolとVMDの比較
先にPyMolのVMDと比べて思うところを独断と偏見でかく。
長所
- Pythonでコードがかける。VMDはTclと呼ばれる今ではほとんど誰も使っていないであろう言語。Tclはコードを書くのが難しく記事も少ない。
- GUI機能が豊富で非常に使いやすい。
- 欠損残基の補足が自動的にされるので見やすい。
短所
- おせっかい機能が多い(ファイルを読み込んでPDBで保存すると勝手に残基番号順に並べ変える、TERを勝手につける)
- 残基番号が不自然(例えば12Aのように数値以外のものがある場合)なときにはバグが起こりやすい。
- 動画再生が重い。
- タンパク質の選択がしにくい(ほぼできない)。
最近では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
と同様にして生成できる。sel
をcreate
に変えるだけ。
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に保存する