mcpField
P
pymol

pymol

github.com/aminoanalyticaデータ・データベース041 回インストール26 週間前に更新
リポジトリ

pymol について

claudemol のソケットインターフェースを介して PyMOL を操作する、Claude Code 向けの分子可視化スキルです。構造の読み込み、表示、レンダリング、書き出しに対応し、分子構造の解析や図の作成に使えます。

主な機能

  1. 01PyMOL と claudemol の導入・設定
  2. 02ローカルまたは RCSB の構造を読み込み
  3. 03分子表現と色の設定
  4. 04残基、チェーン、結合部位の選択
  5. 05視点調整と高解像度画像の作成
  6. 06画像、セッション、動画の書き出し

活用シーン

  1. 01PyMOL とソケット接続の設定
  2. 02タンパク質や複合体の構造確認
  3. 03リガンド結合部位の強調
  4. 04論文用の構造図の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aminoanalytica/amina-skills --skill pymol

インストール後、Claude Code で/pymolを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
commands.md
troubleshooting.md
visualization.md
scripts/
setup_pymol.py

詳細

PyMOL:claudemol による分子の可視化

概要

このスキルを使うと、Claude Code から claudemol のソケットインターフェースを介して、分子可視化ソフトウェア PyMOL を操作できます。以下をサポートします。

  • セットアップ:claudemol と PyMOL のクロスプラットフォームインストール
  • 可視化:タンパク質、小分子、複合体のレンダリング
  • 論文掲載用の図:レイトレーシングによる高解像度画像
  • インタラクティブな操作:PyMOL コマンドをプログラムから送信

適用シナリオ

タスクカテゴリ例
セットアップPyMOL のインストール、claudemol の設定、接続の確認
構造の読み込みPDB ファイルの読み込み、RCSB からの取得、ローカル構造のオープン
表現形式カートゥーン、サーフェス、スティック、球体、リボン、ライン
色付けチェーン、スペクトラム、B 因子、カスタムカラーによる色付け
選択残基、チェーン、リガンド、結合部位の選択
カメラ表示方向の調整、ズーム、回転、視点の保存
レイトレーシング高品質なレンダリング、論文掲載用の図
エクスポート画像(PNG)、セッション(PSE)、ムービーの保存

セットアップ手順

クイックセットアップ(すべてのプラットフォーム)

自動セットアップスクリプトを実行します。

python /path/to/skills/pymol/scripts/setup_pymol.py
手動セットアップ
1. claudemol をインストールする
pip install claudemol
2. PyMOL をインストールする

macOS(推奨):

brew install pymol

Windows/Linux(ヘッドレス):

pip install pymol-open-source

Windows(ライセンス版 PyMOL): 既存の PyMOL インストールに接続します。references/troubleshooting.md を参照してください。

3. PyMOL を設定する
claudemol setup

これにより、PyMOL の起動時にソケットプラグインが追加されます。

4. 起動して確認する
  1. PyMOL を通常どおり起動します
  2. ポート 9880 がリッスンしていることを確認します。
    lsof -i :9880  # macOS/Linux
    netstat -an | findstr 9880  # Windows
    

ソケット通信

claudemol は、ポート 9880 の TCP ソケットを介して PyMOL と通信します。

基本パターン
import socket
import json

def send_pymol_command(code: str, host: str = 'localhost', port: int = 9880) -> dict:
    """Send a command to PyMOL via claudemol socket."""
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(30)
    try:
        sock.connect((host, port))
        message = json.dumps({"code": code})
        sock.sendall(message.encode('utf-8'))
        response = sock.recv(65536)
        return json.loads(response.decode('utf-8'))
    finally:
        sock.close()
複数コマンドの例
commands = """
cmd.load('1ubq.pdb')
cmd.show('cartoon')
cmd.color('cyan', 'all')
cmd.orient()
"""
result = send_pymol_command(commands)

クイックリファレンス

構造の読み込み
# From local file
cmd.load('/path/to/structure.pdb')
cmd.load('/path/to/structure.cif')

# From RCSB PDB
cmd.fetch('1ubq')
cmd.fetch('6lu7', type='cif')
表現形式
# Show representations
cmd.show('cartoon', 'all')
cmd.show('surface', 'chain A')
cmd.show('sticks', 'resn LIG')
cmd.show('spheres', 'name CA')

# Hide representations
cmd.hide('lines', 'all')
cmd.hide('everything', 'solvent')
色付け
# Color by chain (automatic colors)
cmd.util.cbc()

# Spectrum coloring (rainbow N to C)
cmd.spectrum('count', 'rainbow', 'all')

# Specific colors
cmd.color('red', 'chain A')
cmd.color('blue', 'resn LIG')
cmd.color('green', 'resi 50-100')

# B-factor coloring
cmd.spectrum('b', 'blue_white_red', 'all')
選択
# Create named selections
cmd.select('binding_site', 'byres resn LIG around 5')
cmd.select('active_site', 'resi 145+41+166 and chain A')
cmd.select('interface', 'chain A within 4 of chain B')

# Selection algebra
cmd.select('no_water', 'all and not solvent')
表示とカメラ
# Orient and zoom
cmd.orient()
cmd.zoom('all')
cmd.zoom('chain A', buffer=5)
cmd.center('resn LIG')

# Set specific view
cmd.set_view([...])  # 18-element matrix

# Store and recall views
cmd.view('view1', 'store')
cmd.view('view1', 'recall')
レイトレーシングとエクスポート
# Basic ray trace
cmd.ray(1920, 1080)
cmd.png('/path/to/output.png')

# Publication quality
cmd.set('ray_trace_mode', 1)
cmd.set('ray_shadows', 'on')
cmd.set('antialias', 2)
cmd.ray(2400, 2400)
cmd.png('/path/to/figure.png', dpi=300)

可視化ワークフロー

ワークフローの詳細については、references/visualization.md を参照してください。

  • 基本的なタンパク質の可視化
  • チェーンごとの色分けによるカートゥーン表示
  • 透明度を設定したサーフェス表示
  • リガンド結合部位
  • ドメインの強調表示
  • 論文掲載品質の図

コマンドリファレンス

コマンドの詳細については、references/commands.md を参照してください。

  • すべての cmd.* 関数
  • 選択構文
  • パラメーターの設定
  • カラーパレット

トラブルシューティング

プラットフォーム固有の問題については、references/troubleshooting.md を参照してください。

  • macOS の GLUT エラー
  • Windows のヘッドレスモード
  • 接続拒否エラー
  • ディスプレイの問題

よくある問題

問題解決方法
接続が拒否されるPyMOL が起動しており、claudemol プラグインが読み込まれていることを確認します
ポート 9880 が使用中他のプロセスを終了するか、ポートを変更します
GUI がない(Windows pip)ヘッドレスモードまたはライセンス版 PyMOL を使用します
GLUT が見つからない(macOS)pip ではなく Homebrew でインストールします
レイトレーシングが遅い解像度を下げるか、シーンをシンプルにします

外部リソース

コメント