proteindf_bridge.bond モジュール

class proteindf_bridge.bond.Bond

ベースクラス: object

共有結合半径に基づくヒューリスティックな結合検出器。

次の条件を満たす原子の組 (p, q) の間に結合を形成する:

distance(p, q) <= covalent_radius(p) + covalent_radius(q) + 0.45 Å

ここで 0.45 Å は共有結合許容誤差。

主な動作:

  • 別モデル間に結合を張らない: 構造が複数モデルを含む場合 (Format.is_models を満たす場合)、異なるモデルに属する原子間には結合を形成しない。

  • 既存結合の維持: AtomGroup 内の既存の結合およびその結合次数は保持され、重複登録されない。

  • 密行列の閾値: 原子数が2000を超える場合、過剰なメモリ消費を防ぐためペアごとの行列 (distmat および bondmat) は None となるが、結合の接続情報は O(N) の計算量で AtomGroup に記録される。

bondmat

原子対の結合接続行列。原子数が2000を超える場合は None。

原子数が2000以下の場合は SymmetricMatrix (結合ありは 1.0、なしは 0.0) を返し、2000原子を超える場合は O(N^2) のメモリ消費を防ぐため None を返す。

distmat

原子対の距離行列。原子数が2000を超える場合は None。

原子数が2000以下の場合は SymmetricMatrix を返し、2000原子を超える場合は O(N^2) のメモリ消費を防ぐため None を返す。

setup(mol)

指定された分子構造の共有結合を検出し設定する。

原子間距離を計算し、検出された共有結合を mol に追加する。既存の結合とその結合次数は重複登録されることなく保持される。mol が複数モデルを表す場合、別モデル間に結合は形成されない。

パラメータ:

mol (AtomGroup) -- 解析および更新対象の分子構造。

戻り値:

None

例外:
  • TypeError -- mol が AtomGroup インスタンスでない場合。

  • BrValueError -- 共有結合半径のない原子 (ダミー原子など) を含む場合。この場合、mol は変更されない。