PYTHONコード
もちろん。
“1番のアミノ酸の Cα から、3〜50番の Cα までの距離を全部測定し、7 Å 以上は除外する”
という条件に完全に一致する Chimera Classic 用 Python コードをまとめるね。
これは IDLE(Chimera 内部 Python)に貼るだけで動く。
Chimera Classic:1番 Cα → 3〜50番 Cα の距離を測り、7 Å 未満だけ出力するコード
from chimera import openModels
# モデル取得(最初の分子を使う)
mol = openModels.list(modelTypes=[chimera.Molecule])[0]
# Cα を番号順に取得
cas = [a for a in mol.atoms if a.name == "CA"]
cas.sort(key=lambda x: x.residue.id.position)
# 1番の Cα
ca1 = cas[0]
# 3〜50番の Cα に対して距離を測定
for idx in range(2, 50): # Python は0始まり → 2=3番、49=50番
if idx >= len(cas):
break
target = cas[idx]
d = ca1.coord().distance(target.coord())
if d < 7.0:
print "CA1 → CA%d : %.3f Å" % (target.residue.id.position, d)
✅ コードの動作
- 1番の Cα を基準にする
- 3〜50番の Cα を対象にする
- 距離を計算
- 7 Å 未満だけ表示(7 Å 以上はオミット)
- 出力例
CA1 → CA5 : 5.432 Å CA1 → CA12 : 6.998 Å
注意点(自動で処理済み)
- 残基番号が 1,2,3… と連番でない場合でも
residue.id.position を使って正しく並べ替えている - 50番が存在しない場合は自動で停止する
- Cα が欠損している場合も安全にスキップされる
必要なら次のステップも作れる
- 7 Å 未満の距離を CSV 形式で出力
- 1番だけでなく、全残基について同じ処理をループ
- 3D ネットワークとして可視化
- 12 Å 以上だけ抽出
- Gly を除外するバージョン
どれでもすぐ組めるよ。
2026年2月1日 | カテゴリー:AUTODOCK VINA,CLUS PRO/BIOINFORMATICS |




