3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChimeraX 設定小ネタ

Last updated at Posted at 2025-07-14

@Ag_smith 先生が書かれたこちら↓↓↓の記事のChimeraX版を作ってみました!

ChimeraXのダウンロード・インストールは↓↓↓から

本記事のChimeraXのversion: ChimeraX-1.9
他のバージョンでの動作やコマンドは確認していません。

拡張機能(toolshed) のインストール

ChimeraXでは、有志のユーザーが作成したtoolshed(拡張機能)をインストールして使用することができます。
[Tools] -> [more Tools...]を選択することで、インストールのサイトに飛びます。

コマンドの場合は、toolshed showでインストールサイトを表示できます。

toolshed show

インストールサイトから便利そうなtoolshedを探して、[install]ボタンを押すことでtoolshedをインストールすることができます。

おすすめのtoolshed

色々なtoolshedがありますが、今回は一つだけおすすめを紹介します。

clix (コマンド自動補完)

主な機能(公式ページから引用)

  • 構文ハイライト表示
  • コマンド/キーワード/ファイルパス/カラー/モデルID/チェーンIDなどの自動補完と提案機能
  • 入力中の履歴との一致部分をインラインで表示
  • 強力な履歴検索機能
  • 複数行にわたるコマンドの一括実行
  • コマンドヘルプを表示するツールチップ機能
  • アプリケーション操作のクイック検索
  • 最近使用したファイルのクイック検索

コード補完だけでもとても便利な上にいろんな機能がついてて入れて損はない拡張機能です。コマンドの勉強にもなります。

環境設定 (preferences)

[UCSF ChimeraX] -> [Preferences...] (もしくはショートカットキー: cmd⌘ + ,)で環境設定を開いて様々な設定ができる。pymolでいうところの.pymolrcみたいな感じです。

Background: 背景色の設定

Backgroundではデフォルトの背景色を設定できます。モデルだけをみる時は黒のが見やすいです。しかし、スライド用の画像を作る時は背景を白にしておいた方が、実際のスライドと同じ感じになるので便利な場合があります。

Window: ウィンドウの設定

Windowの内、Resize graphics window on session restoreにチェックを入れておくと、ChimeraXセッションを再開した際に保存した画像のサイズを一定に保つことができます。特に論文用の図版をレンダリングし直す場合に有効です。

Startup

Startup: 起動時に実行するコマンド/よく使うコマンドをpresetsとしてを設定 を参照

その他の設定

その他にも様々な設定ができます。詳しくは公式のドキュメントを参照してください。

Startup: 起動時に実行するコマンド/よく使うコマンドをpresetsとしてを設定

StartupではChimeraX起動時に実行するコマンドや、よく使うコマンドをpresetsとして登録することができます。

起動時のコマンドを登録する

StarupのExecute these commands at startup欄に起動時に実行したいコマンド書いてsaveすると、次回ChimeraXを起動する際に書き込んだコマンドが実行されるようになります。

例として、先ほどインストールしたtoolshed: Clixを起動時に表示するようにui tool show clixを登録しておきましょう。

saveボタンを押して、再起動するとclixが開くと思います。

よく使うコマンドをpresetsとして登録する

Starupと同じように、よく使うコマンドなどをpresetsとして事前に設定することができます。こちらは起動時にはコマンド自体は実行されませんが、解析中に[Presets]からコマンドを呼び出せるようになるのでとても便利です。

presetsを登録するには任意の場所にpresets用のフォルダを作る必要があります。適当な場所にフォルダを作ってください(フォルダ名もなんでもOK)。今回はホームディレクトリ以下にchimerax_presetsというフォルダを作りました。このフォルダを適当なエディターで開いて、登録したいコマンドを.cxcファイルに書き込みます。

今回は @Ag_smith 先生の記事: AlphaFold予測構造についてのpLDDTカラーリングコマンドを参考にAFで予測した構造をplddtカラーに色付けするコマンドchimerax_presetsplddt.cxcを作成して書き込みましょう。

ChimeraXのpLDDTカラーリングコマンド
color @@bfactor<100 #0053D6
color @@bfactor<90 #65CBF3
color @@bfactor<70 #FFDB13
color @@bfactor<50 #FF7D45

作成したpresetsのフォルダchimerax_presetsへの絶対パスをStartupウィンドウのCustom presets folderに書き込んでsaveをしましょう。

すると、[Presets]の --Custom-- 以下に Plddt が追加されていると思います。

適当にAFで予測した構造を開いてPlddt presetを使ってみましょう。今回は適当にAFDBからファイルを取得しました(alphafold fetch {uniprotid}でAFDBから構造をfetchできます)。

いい感じにカラーリングできましたね!!

logを見てみるとpreset custom plddtが実行されています。コマンドラインから実行したい場合はpreset custom Plddtもしくはcustomを省略してpreset Plddtで実行できます。

ちなみに、alphafold fetch {uniprot_id} colorConfidence truecolor bfactor palett alphafoldalphafoldパレットはAFDBのカラーリングとは微妙に違う(グラデーションになっている)

plddtカラーリングの他にも、

  • 論文やスライドで使うFigを統一のフォーマットにするためのカラーやライティングセット
  • よく行う解析フロー

などを登録しておくと解析や図の作成が捗ります。

presetsのtips

  • .cxcだけでなく.pyのpythonスクリプトでもOK
  • preset名は拡張子を除いたファイル名 plddt.cxc -> plddt
  • 指定フォルダ内の第一階層のサブフォルダにあるファイルは、サブフォルダ名をカテゴリ名として分類される
    chimerax_presets
    ├── hello_world
    │   └── hello_world.py
    └── plddt.cxc
    
  • ファイル名・フォルダ名内のアンダースコア(_)は自動的にスペースに置換される
  • フォルダ名を工夫することで新しいカテゴリを作成したり、既存(ビルトイン)のカテゴリ内にカスタムプリセットを配置することも可能

alias: 長いコマンドにalias(名前)をつける

aliasコマンドは任意のコマンドに alias(仮の名前)をつけることができます。よく使用する長いコマンドにaliasをつけておくと、解析中にいつでも呼び出すことができて、コマンドを書く手間が省けます。

先ほどのplddtカラーリングコマンドにplddtというaliasを以下のコマンドでつけてみましょう。

alias plddt color @@bfactor<100 #0053D6 ; color @@bfactor<90 #65CBF3 ; color @@bfactor<70 #FFDB13 ; color @@bfactor<50 #FF7D45

もしくは先ほど作ったpresetを利用してalias plddt preset PlddtとしてもOKです。

適当なAFのファイルを開いて、コマンドラインでplddtを実行すると…

color byattribute bfactor ...が実行されて、plddtカラーリングが実行されました!

Startup + alias コマンド

Startupとaliasは非常に相性がいいです。aliasを利用して、長いコマンドにaliasをつけてStartupに書いておけば起動時に実行されて、毎回aliasコマンドを実行する手間が省けます。

plddtカラーリングコマンドにplddtというaliasをつけてstartupに書き込んでおきましょう。

saveして、再起動するとalias plddt ...が実行されていると思います。AFのファイルを開いてコマンドラインでplddtを実行すると

いい感じにカラーリングできましたね!!

alias + runscript

先ほどのコマンドはそれほど長くなかったですが、もっと複数行に渡るような長いコマンドや複雑なコマンドにaliasをつけたい場面もあると思います。
そんな時は、alias "エイリアス名" runscript "スクリプトファイル(.cxc/.py)"を使うことで複数行のコマンドが書かれた.cxcやpythonスクリプトの実行にaliasをつけることができます。

ここでは先ほどpresetに使用したplddt.cxcファイルを応用して以下のようなスクリプトを書いてみました。

fetch_afdb.cxc
alphafold fetch $1
alphafold pae uniprotid $1
color @@bfactor<100 #0053D6
color @@bfactor<90 #65CBF3
color @@bfactor<70 #FFDB13
color @@bfactor<50 #FF7D45

このスクリプト(fetch_afdb.cxc)は、

  1. AlphaFold Databaseから引数$1で指定した任意のUniProtIDの予測構造をalphafold fetch $1で取得
  2. alphafold pae uniprotid $1で取得した予測構造のPAE plotを描画
  3. plddt カラーリング

を実行するスクリプトになっています。

fetch_afdb.cxcを任意のディレクトリに保存して絶対パスをコピーしておきます。このスクリプトを実行するコマンドにafdbというaliasをつけましょう。

コマンドライン上で

alias afdb runscript path/to/fetch_afdb.cxc $1

を実行します(引数$1を忘れずに)。

これで準備完了です、あとはafdbを実行してみましょう(AFDB内にあるものであればUniProtIDはなんでもOKです)。

afdb Q96SW2

スクリプトが実行されて、AFDBからの構造の取得・PAE plotの表示・plddtカラーリングが実行されました!

もちろんこれらのalias *** runscript scriptをStartupに書いておけば、起動毎にaliasを実行せずにコマンドを呼び出すことができます。

runscript + pythonスクリプト (alias不要)

pythonスクリプトも同様にrunscriptで実行できます。pythonスクリプトの場合chimerax.core.commandsregister関数でコマンド登録できるため、aliasをつける必要がなくなります

pythonスクリプトの細かい書き方に関しては今回は省略します(いつかその記事も書きたい)。

hello_world.py
def hello_world(session):
    session.logger.info("Hello world!")

def register_command(logger):
    from chimerax.core.commands import register, CmdDesc
    register("hello_world", CmdDesc(synopsis="hello world command"), hello_world, logger=logger)
    
register_command(session.logger)

このスクリプトをrunscriptで実行してhello_worldをコマンドラインで実行すると

スクリプトが実行されました。

これもStartupにrunscript path/to/hello_world.pyとしておけば起動時にhello_worldコマンドが登録されます。ChimeraXのpythonスクリプトはかなり癖がある上に、ドキュメントがわかりずらいので中々難しいですが、慣れると結構高度なものが作れます。

buttonpanel: ボタンパネルの作成

今まで、よく使うコマンドをpresetsやaliasをつけることで簡単にコマンドラインから呼び出せる方法を紹介しました。さらにbuttonpanelを使うと、任意のコマンドをGUIで呼び出せるようにできます。

buttonpanel
buttonpanel  タイトル  [ rows  N ] [ columns  M ] [ fill  rows | columns ]
buttonpanel  タイトル  add  ボタン名  command  ボタンコマンド [ row  i ] [ column  j ]

bottonpanel パネル名 row N columns Mでボタンパネルを作成して、buttonpanel パネル名 add ボタン名 command ボタンコマンド をすることで作成したパネルにボタンを追加できます。

4×4の "Shortcuts"ボタンを作ってみましょう

# ボタンパネルの作成
buttonpanel Shortcuts rows 2 columns 2
# 0,0 plddtカラーリング
buttonpanel Shortcuts add plddt_color command "preset custom plddt"
# 0,1 水分子の削除
buttonpanel Shortcuts add remove_water command "del :WAT:HOH:DOD"
# 1,0 electrostaticの表示
buttonpanel Shortcuts add electrostatic command "coulombic"
# 1,1 clix ui の表示
buttonpanel Shortcuts add show_clix command "ui tool show clix"

これをコマンドライン上で実行すると…

ショートカットボタンのウィンドウが出現しました(赤枠の部分)!
もちろん、ボタンも機能しています。
これもStartupに書いておけば起動時にウィンドウが表示されるようになるので便利ですね。

mousemode: マウスでのボタン操作の変更

mousemodeコマンドを使うことで、各マウスモードと修飾キーの組み合わせにChimeraXの各種機能を割り当てることができます(例えば、デフォルトだとホイールでzoomなど)。

mousemode
mousemode [ control ] [ alt ] [ command ] [ shift ] 
          [ leftMode function ] [ middleMode function ] [ rightMode function ] 
          [ wheelMode function ] [ pauseMode function ]

例:

# Ctrl + 右クリック: ラベルの移動
mousemode control right 'move label'
# Alt + マウスホイール: 等値面(contour)調整
mousemode alt wheel contour

mousemode 割り当て可能な入力

種類 説明 割り当て可能な修飾キー
leftMode 左クリック Ctrl, Alt, Command, Shift
middleMode 中クリック(Macでは Alt+左クリック) Ctrl, Alt, Command, Shift
rightMode 右クリック(Macでは Command+左クリック) Ctrl, Alt, Command, Shift
wheelMode スクロールホイール Ctrl, Alt, Command, Shift
pauseMode マウスカーソルを対象上で停止(クリックなし) 修飾キーなし

割り当てられるfunctionはドキュメントをご確認ください。様々な割り当てが可能です。

マウスとトラックパッド操作の関係は以下のようになっている。

Mouse Mode Mac トラックパッド操作 Windows トラックパッド操作 デフォルト割り当て
leftMode 1本指クリック / ドラッグ 1本指クリック / ドラッグ rotate(モデル回転)
middleMode ⌥(Alt)+ 1本指クリック / ドラッグ
または3本指ドラッグ
Ctrl+Alt + 1本指クリック / ドラッグ
または3本指ドラッグ
translate(平行移動)
rightMode ⌘(Command)+ 1本指クリック
または2本指クリック / ドラッグ
Alt + 1本指クリック
または2本指タップ / ドラッグ
translate(平行移動)
wheelMode 2本指ドラッグ(上下)
またはピンチイン/アウト
2本指ドラッグ(上下) zoom(ズーム)
pauseMode カーソルを対象上に停止(クリック不要) カーソルを対象上に停止(クリック不要) identify object(情報表示)

トラックパッド関係はMac/Winで違ったり、PC自体の設定が影響したりするので、こちらも公式ドキュメントを要チェック!!

こちらもStartupに書いておけば、起動時に設定されるので便利!!

functionkey: ファンクションキーに任意のコマンドを割り当て

functionkeyコマンドを使うことで任意のコマンドをF1, F2などのファンクションキーにキーバインドすることができます。要するに先ほどのbuttonpanelのファンクションキー版です。

F6キーにpreset plddtを割り当てる
# functionkey  キー [ コマンドリスト ]
functionkey f6 preset plddt

おすすめのStartupや便利なスクリプトをgithubで探す

ここまで様々なChimeraXの設定について書いてきました。ただ、結局どういう設定すればいいのかわからなかったり、1からスクリプトを作ったりするのは面倒です。

そういう時は、githubなどで有志の方が作られた設定方法やスクリプトを拾って、startup・presetsに登録しましょう!

検索方法はchimeraxと検索すればいろんな人が作ったリポジトリが出てきます。

いくつかおすすめをご紹介します。

chimerax-recipes

ChimeraX公式のレシピ集 (webサイト版)

chimerax-trimmings

Cryo-EM/結晶構造解析向けの設定集とスクリプト

chimerax_viridis

色覚特性に配慮した、知覚的に均一なカラーパレット

他にも探せば色々あると思います。これらの設定を参考に自分用にカスタマイズして自分なりの設定やスクリプトを作成してみましょう!!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?