PyMOLメモ
ray_trace_mode,1でmeshの縁を目立たなくする
# set transparency, 0.2, mesh_object
mapも移動
# copy mol2's map to mol2
matrix_copy mol2, map2
範囲指定でsuperposition
pair_fit /Amol///"resi_start"-"resi_end"/CA, /Bmol///"resi_start"-"resi_end"/CA
Pluginインストール済みでコンパイル
Pluginの内容を/pymol-open-source/data/startupにコピー
$python3.6 setup.py build install --prefix=/path/to/pymol/2.3 --glut
2重結合の表示
set valence, 0 (off) or 1 (on)
.pdbからアミノ酸配列を抜き出す
save junk.fasta
save junk.fasta, chain A
Movie関係コマンド
frame数の設定
#30フレームで設定
mset 1x30
#state1で30フレーム、state1から15に変化、state15で30フレーム、state15から1に変化
mset 1 x30 1 -15 15 x30 15 -1
#31フレーム目からさらに30フレーム追加
minsert 30,31
#31フレーム目から、30フレーム分削除
mdelete 30,31
mview関係
#(現在のフレーム)をシーンF1で保存
mview store,scene=F1
#1フレームからy軸に30度回転して、30フレームから元に戻る
mview store,1; turn y,30; mview store,30
selectいろいろ
select S1, A_MOL around 5
select S1, A_MOL expand 5
「A_MOLから5Åにある原子をS1と選ぶ」
select S1, A_MOL w. 5 of B_MOL
「A_MOLの中で、B_MOLから5Åにある原子をS1と選ぶ」
select S1, bycell A_MOL
「A_MOLを含む単位格子内の分子をS1と選ぶ」
select S1 and ps. FATEW
「S1の中でFATEW配列を選ぶ」
Sphereサイズを同じにする
alter object, vdw=1.0
rebuild
電子密度マップを描く
ファイルを.ccp4や.xplorに変更
isomesh name, map, level [,(selection) [,buffer [,state [,carve ]]]]
Label関係
右クリックでnew > pseudo atom > labelで入力可能
label_font_id でフォントの種類を選択
Label_size で大きさを変更
Center of Mass(Geometry)
Center_Of_MassのPlugInをinstall
com selection [,state=None [,mass=None [,object=None]]]
alpha helixの角度を測る
AngleBetweenHelicesのPlugInをinstall
- 測りたいalpha helixを選ぶ(selectコマンドでhel1とhel2)
- angle_between_helices hel1, hel2 , method=[0-3] , visualize=[0-1]
method [0: helix_orientation, 1: helix_orientation_hbond, 2: loop_orientation, 3: cafit_orientation]
visualize [矢印を 0: 書かない, 1: 書く] (defaultは1)
cartoon2次構造の大きさを変える
beta sheet
set cartoon_rect_length, [value]
set cartoon_rect_width, [value]
alpha helix
set cartoon_oval_length, [value]
set cartoon_oval_width, [value]
loop
set cartoon_loop_radius, [value]
cartoon設定(DNA)
backboneの太さ
set cartoon_tube_radius, [value]
塩基の表示
set cartoon_ring_mode, [value]
set cartoon_ring_transparency, [value]
transparentな背景にする
set ray_opaque_background, off
分子内部の空洞をsurfaceで描く
set sruface_cavity_mode, 2 (or 3 ?)
Crystal packing
numpyとsupercell.pyが必要
- run supercell.py
- supercell a, b, c, [object], [color], [name] #セルの表示
- symexpcell [prefix], [object], a, b, c #セル内の分子表示
movieの書き出し
Freemol mpeg_encoderのインストール
- freemolのダウンロード
- 環境変数FREEMOLを設定。
#export FREEMOL=/path/trunk/freemol
(また、pymolの実行スクリプトにも書き込む。) - $FREEMOL/src/mpeg_encode/ に移動してコンパイル
resolutionを指定したmovieを作製する
1. 下記のスクリプトを編集(movie.py)
- for x in range(フレーム数)
- num = "{0:04d}".format(x+1)
- cmd.frame(x+1)
- cmd.ray(1920,1080)
- cmd.png("ファイル名" + "_" + str(num) + ".png")
2. pymolのコマンドラインで"run movie.py"を実行
3. ffmpegでmergeする
$ffmpeg -r 30 -i input_%04d.png -vcodec rawvideo -b:v 10240k -f mov output.mov
4. Handbrakeで再エンコード
morphムービーの作成
lsqmanの準備
- morphしたいファイルを用意
- chain IDがpdbファイルの1行目からの順番に再振りされてしまうので注意(pymolを使えば簡単にchain順に書き換えれる)
lsqman
- read m1 <input>.pdb #初期構造
- read m2 <input>.pdb #終了構造
- Nomen m1 #原子名の訂正
- Nomen m2
- Atom all #忘れるとCaしか書き出されない
- Fix m1 "select" m2 "select"
- morph m1 "select" m2 "select" 30(#eMovieを使う場合は30がよさそう) prefix cart "select" 999
pdbにまとめる
東京大学・伏信進矢 先生のホームページを参考にawkのファイルとシェルスクリプトを準備する
mencorer関係
mencoder -mc 0 -noskip -skiplimit 0 -ovc lavc -lavcopts vcodec=mpeg4:vhq:trell:mbd=2:vmax_b_frames=1:v4mv:vb_strategy=0:vlelim=0:vcelim=0:cmp=6:subcmp=6:precmp=6:predia=3:dia=3:vme=4:vqscale=1 "mf://*.png" -mf type=png:fps=18 -o output.avi
ffmpeg関係
ffmpeg -r 30 -i input_%04d.png -vcodec rawvideo -b:v 10240k -s 640x480 -f mov output.mov
mpeg4からmpeg2
ffmpeg -i output.avi -target ntsc-dvd -b 5000k -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720x480 -r 29.97 -aspect 16:9 -ab 192000 -ac 2 output.mpeg
mpeg4からアニメーションgif
ffmpeg -i インプット.avi -an -f gif -pix_fmt rgb24 アウトプット.gif
mpeg4からmov
MacのQuicktimeで保存