第7章 設定値
設定値を色々確認してみます。
概論
PyMOLの設定値を変更する方法は、大きく分けて2つあります。一つは、GUIを使って設定値を変更する方法、もう一つは、コマンドラインを使って設定値を変更する方法です。前者は、PyMOL GUIの[setting]メニューから設定値を変更する方法です。

こちらの[Edit All]をクリックすると、全設定値の表示とその値の変更が可能です。

これには描画関連だけでなく様々な設定値が表示されます。設定値を変更すると、その変更がすぐに反映されます。
CUIでは、set
コマンドを使って設定値を変更することができます。例えば、set ray_trace_mode, 3
とすることで、ray_trace_modeの値を3に変更することができます。
set ray_trace_mode, 3
この値は、macOSやLinuxでは各自のホームディレクトリの~/.pymolrc
に保存することで、この設定値がデフォルトになるように指定することができます。このファイルは、[File]→[Edit pymolrc]をクリックすることで編集することも可能です。

PyMOL起動後にこのファイルに書かれている値で上書きすることで、設定値を変更することを実現しています。
設定値は、CUIにおいてget
コマンドを使って確認することができます。
get sphere_scale
結果
PyMOL>get sphere_scale,
get: sphere_scale = 1.00000
描画関連
PyMOLの設定値で一番気になるのは、きれいな生体分子の画像を生成するにはどうすればよいかというところの部分でしょう。PyMOLは、デフォルトの設定値で十分にきれいな画像を生成することができますが、設定値を変更することでさらに美しい画像を生成することができます。この章では、PyMOLの設定値を変更することで、より美しい画像を生成する方法を説明します。
sphere描画関連
sphereの大きさを変更
デフォルトのsphere表示は原子の体積をスケールを表現するように表現されています。一方で、原子の点をもう少し小さく表現させることも可能です。
set sphere_scale, 0.25
このコマンドを実行することで、sphereの大きさを0.25倍に変更することができます。
実際には水素原子をやや小さめに描画する方がもっともらしくなるので、私は以下のような設定値を使っています。
set sphere_scale, 0.22
set sphere_scale, 0.22, elem C+N+O+S+Cl+F+Na+Mg
set sphere_scale, 0.13, elem H
cartoonの描画
cartoon_cylindrical_helices
cartoon_cylindrical_helices
は、ヘリックスの描画を円筒状にするかどうかを設定する設定値です。デフォルト値は0
ですが、これを1
にすることで、ヘリックスの描画を円筒状にすることができます。また、PyMOL 2.5以降は2
を指定することで、直線的なヘリックスに描画されます。
set cartoon_cylindrical_helices, 1
set cartoon_cylindrical_helices, 2
cartoon_cylindrical_helices=0 | cartoon_cylindrical_helices=1 | cartoon_cylindrical_helices=2 |
---|---|---|
![]() | ![]() | ![]() |
cartoon_debug
cartoon_debug
は、cartoon表示のデバッグ用オプションであり、ユーザー側は利用することはないと思います。デフォルト値は0
ですが、これを1
にすることで、Cartoon表示のレンダリング判定が現れるようになります。
set cartoon_debug, 1
cartoon_debug=0 | cartoon_debug=1 |
---|---|
![]() | ![]() |
cartoon_discrete_colors
cartoon_discrete_colors
は、カートゥーンの色が隣接する色と混ざらないようにするか、それとも互いに混ざり合うかを切り替える設定値です。デフォルト値は0
ですが、これを1
にすることで、カートゥーンの色が隣接する色と混ざらないようになります。Cartoon表示を行っている時に隣り合う残基の色を変えていると違いがわかります。
set cartoon_discrete_colors, 0 # default, 隣ある色が混ざり合う
set cartoon_discrete_colors, 1 # 隣ある色との混ざり合いが発生しない
cartoon_discrete_colors=0 | cartoon_discrete_colors=1 |
---|---|
![]() | ![]() |
cartoon_fancy_helices
cartoon_fancy_helices
は、ヘリックスの描画をよりファンシーにするかどうかの設定値です。
Cartoonの表示はdefault, cylindrical, fancyの3種類があります。
fancy helicesモードは、ヘリックスの描画をよりファンシーにすることができます。
set cartoon_fancy_helices, 1
cartoon_fancy_helices=0 | cartoon_fancy_helices=1 |
---|---|
![]() | ![]() |
cartoon_dumbbell_length
cartoon_dumbbell_length
はcartoon_fancy_helices
がONになっているときのみ効果を発揮します。cartoonのヘリックスの描画をどの程度の長さにするかを設定する設定値です。デフォルト値は1.6
ですが、これを変更することで、cartoonヘリックスの長さを変更することができます。
# defaultは1.6
set cartoon_dumbbell_length, 0.7
cartoon_dumbbell_length=0.7 | cartoon_dumbbell_length=1.6 |
---|---|
![]() | ![]() |
cartoon_dumbbell_radius
cartoon_dumbell_radius
は、cartoon_fancy_helices
がONになっているときのみ効果を発揮します。dumbbellの半径を設定する設定値です。
この値を0.1に設定すると、デフォルトの設定でdumbbellの形状が消えますが、0.1未満に設定すると、fancy helixの内部空間が表示されます。
# default は0.16
set cartoon_dumbbell_radius, 0.1
cartoon_dumbell_radius=0.1 | cartoon_dumbell_radius=0.16 | cartoon_dumbell_radius=0.4 |
---|---|---|
![]() | ![]() | ![]() |
cartoon_loop_width
cartoon_loop_width
は、cartoon_fancy_helices
がONになっているときのみ効果を発揮します。ループ部分の太さを設定する設定値です。
set cartoon_dumbbell_width, 0.1 # defaultは0.17
cartoon_loop_width=0.17 | cartoon_loop_width=0.3 | cartoon_loop_width=0.8 |
---|---|---|
![]() | ![]() | ![]() |
cartoon_loop_radius
cartoon_loop_radiusは、ループ部分の太さを調整する設定値です。デフォルト値は0.2ですが、これを変更することで、ループ部分の太さを調整することができます。
# defaultは0.2
set cartoon_loop_radius, 0.1
0.2 | 0.1 |
---|---|
![]() | ![]() |
cartoon_fancy_sheets
cartoon_fancy_sheets
は、シートの終端に矢印を表示するかどうかを設定する設定値です。デフォルト値は1
ですが、これを0
にすることで、シートの終端に矢印を表示しないようにすることができます。
set cartoon_fancy_sheets, 0 # defaultは1, on
cartoon_fancy_sheets=0 | cartoon_fancy_sheets=1 |
---|---|
![]() | ![]() |
cartoon_flat_cycles
cartoon_flat_cycles
は、シートの平坦度を定義することができる設定値です。値が大きいほど、シートが平坦になります。
set cartoon_flat_cycles, 1 # defaultは4
cartoon_flat_cycles=0 | cartoon_flat_cycles=4 | cartoon_flat_cycles=10 |
---|---|---|
![]() | ![]() | ![]() |
cartoon_flat_sheets
cartoon_flat_sheets
は、PyMoLがβシートを描画する際の滑らかさを決定します。平坦なシートは、美しい芸術的な画像を作り出しますが、時にはスティックがシートに接続されているように見える問題が発生することがあります。この問題が発生した場合は、このオプションをオフにしてください。
set cartoon_flat_sheets, 0 # defaultは1, on
cartoon_flat_sheets=0 | cartoon_flat_sheets=1 |
---|---|
![]() | ![]() |
cartoon_gap_cutoff
cartoon_gap_cutoff
は、タンパク質主鎖に沿って欠落した残基(例:座標の決定されていないミッシングループ)が存在するとき、ギャップ(残基数)がカットオフよりも短い場合は、点線のCartoonループセグメントを作成します。デフォルトは10
ですので、10残基よりも短い場合は、点線のCartoonループセグメントを作成します。
この機能はPyMOL 1.8.2から追加されました。
set cartoon_gap_cutoff, 0 # defaultは10
cartoon_gap_cutoff=0 | cartoon_gap_cutoff=10 |
---|---|
![]() | ![]() |
cartoon_helix_radius
このオプションはヘリックス描画がset cartoon_cylindrical_helices, 1
となっている場合に有効です。cartoon_helix_radius
は、ヘリックスを円筒状に描画する際の半径を設定する設定値です。
set cartoon_cylindrical_helices, 1 # cylinder helixをONにする
set cartoon_helix_radius, 1.0 # defaultは2.25
cartoon_helix_radius=1.0 | cartoon_helix_radius=2.25 |
---|---|
![]() | ![]() |
cartoon_highlight_color
ヘリックスの内側の面とストランドの側面に対して指定した色を指定することができます。
set cartoon_highlight_color, default
set cartoon_highlight_color, red
cartoon_highlight_color=default | cartoon_highlight_color=red |
---|---|
![]() | ![]() |
cartoon_ladder_mode
PyMOLはデフォルトで核酸を描画するときに細いはしごのようなオブジェクトが現れてますが、これをOFFにすることができます。
set cartoon_ladder_mode, 1 # default: 1
set cartoon_ladder_mode, 0
cartoon_ladder_mode=1 | cartoon_ladder_mode=0 |
---|---|
![]() | ![]() |
cartoon_ladder_color
cartoon_ladder_color
は、核酸のはしごオブジェクトの色を設定します。
set cartoon_ladder_color, default
cartoon_ladder_color=default | cartoon_ladder_color=red |
---|---|
![]() | ![]() |
cartoon_ladder_radius
核酸のはしごオブジェクトの半径を設定します。
set cartoon_ladder_radius, 0.5 # defaultは0.25
cartoon_ladder_radius=0.25 | cartoon_ladder_radius=0.5 |
---|---|
![]() | ![]() |
cartoon_loop_quality
cartoonのloop qualityの値を設定します。デフォルトは-1
ですが、1
以上の値にすると質感が増します。
set cartoon_loop_quality, 1 # default: -1.0
cartoon_loop_quality=-1 | cartoon_loop_quality=1 |
---|---|
![]() | ![]() |
surface描画関連
surface_best
surface_best (float, default: 0.25) is a tuning parameter that should not need to be modified.
一応設定値として存在していますが、通常は変更する必要はありません。
surface_carve_selection
(string, default: blank) is the named selection of atoms about which the surface is carved.
surface_carve_selection
とsurface_carve_cutoff
の設定により、分子表面の描画を原子選択の近傍に制限することができます。原子のサブセットに対してのみsurface表現を表示する場合とは異なり、描画は原子レベルではなく頂点(surface point)レベルで制御されます。
surface_carve_selection
の値は(select
で作成した)named selectionオブジェクトでなければなりません。つまり、chain A
のような選択式は使うことができません。
以下に、surface_carve_selection
を使ってsurfaceを描画したときと、使わずにshow surface
で描画したときの違いを示します。
surface_carve_selection
でリガンド周辺の5 Å以内の原子を選択し、surface_carve_cutoff
を5.0に設定してsurfaceを描画したとき。こちらは頂点 (surface point) レベルで描画が制御されます。
# PDB ID: 8z7zのロード
fetch 8z7z, async=0
# リガンド分子(VIB)をcarveseleオブジェクトとして選択
select carvesele, organic
# リガンド周辺の5 Å以内の原子をsurface_carve_selectionで選択
set surface_carve_selection, carvesele
set surface_carve_cutoff, 5
# surfaceを描画
show surface
# 見た目の調整
# mesh表示
set surface_type, 2
set surface_color, white
bg_color white
ray

使用しない場合。こちらは原子レベルで描画が制御されます。
# PDB ID: 8z7zのロード
fetch 8z7z, async=0
# リガンド分子(VIB)をcarveseleオブジェクトとして選択
select carvesele, organic
show surface, all within 5 of carvesele
# mesh表示
set surface_type, 2
set surface_color, white
bg_color white
ray

surface_carve_selection
を使うほうが、5Å近傍の表面をより正確に表現できている感じがします(ちょっとこの例だとわかりにくいかもしれませんが……)。
surface_carve_cutoff
surface_carve_cutoff (float, default: 0.0) controls the cutoff distance from
surface_carve_selection
atoms which surface points must meet to be included in the carved surface.
surface_carve_selection
で選択された原子からの距離がこの値よりも大きい場合、その点は刻んで彫り取った表面に含まれません。
surface_carve_normal_cutoff
(float, default: -1.0) controls the dot product threshold from
surface_carve_selection
atoms which surface points must meet to be included in the carved surface.
carveされた表面の法線ベクトルとsurface_carve_selection
で選択された原子との間の角度がこの値よりも小さい場合、その点は彫り取った表面に含まれません。
surface_carve_state
(integer, default: 0) is the controlling state for surface carving. By default, the corresponding coordinate set state is used.
surface_cavity_mode
surface_cavity_mode
はPyMOLのcavity描画方法を変更します。通常0
または1
です。デフォルトは0
で、全体のcavityを描画します。1
に設定すると、反転したcavityを描画します。タンパク質のリガンドが入るような空隙を描画する際に便利です。
set surface_cavity_mode, 1
以下の図ではわかりやすさのためsurface_color
をcyan
に設定しています。
surface_cavity_mode=0 | surface_cavity_mode=1 |
---|---|
![]() | ![]() |
surface_cavity_cutoff
(float, default: 0.0) controls the cutoff distance from
surface_carve_selection
atoms which surface points must meet to be included in the carved surface.
surface_cavity_cutoff
はsurface_carve_selection
で選択された原子からの距離がこの値よりも大きい場合、その点は刻んで彫り取った表面に含まれません。
surface_cavity_radius
surface表示をしたときのcavityの半径を設定します。デフォルトは7.0
です。surface_cavity_mode
が1
のときに有効のようです。
surface_cavity_radius=3.0 | surface_cavity_radius=7.0 |
---|---|
![]() | ![]() |