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 は変更されない。