proteindf_bridge.atomgroup モジュール¶
- class proteindf_bridge.atomgroup.AtomGroup(*args, **kwargs)¶
ベースクラス:
object分子構造の階層木表現。
AtomGroup は子グループ (AtomGroup) および原子 (Atom) を含む分子階層内のノードを表す。子グループは通常モデル、チェイン、残基などの構造単位を表し、原子は個々の原子サイトを表す。
木から取得されたオブジェクト(インデックス指定、
get_group()、またはget_atom()経由)は木内のノードへの直接の参照であり、それらを変更すると木がインプレースで変更される。逆に、set_group()またはset_atom()経由でオブジェクトを挿入すると、提供されたオブジェクトは木内にディープコピーされる。コンストラクタは以下を受け付ける: - グループ名文字列 (例:
AtomGroup("model_1")またはAtomGroup(name="model_1"))。 - 複製元の別の AtomGroup (例:AtomGroup(other_group))。 - 生の木データを表す辞書 (例:AtomGroup(raw_dict))。 - 引数なし (デフォルト設定で空のグループを作成)。- add_bond(atom1, atom2, order=1)¶
グループ階層内の2つの原子間の化学結合を登録する。
結合は2つの原子の最小共通祖先グループに保存される。
- add_missing_hydrogens(db=None)¶
CCD残基テンプレートに基づいて欠損水素原子を追加する。
- パラメータ:
db (Optional[CcdTemplateDb], optional) -- 使用するCCDテンプレートデータベース。None の場合、グローバルデフォルトのデータベースが使用される。デフォルトは None。
- 戻り値:
追加された水素のサマリーレポート。
- 戻り値の型:
OverallHydrogenationReport
- apply_secondary_structure()¶
このチェイン内の残基に対して二次構造注釈 ('H', 'E', '-') を検出し割り当てる。
変更は残基グループにインプレースで適用される。
- assign_charges(charges)¶
シーケンスからの部分電荷を階層内のすべての原子に順番に割り当てる。
charges 内の値の数は、総原子数と正確に一致しなければならない。
- パラメータ:
charges (Sequence[float]) -- 数値電荷値のイテラブル。
- 例外:
TypeError -- charges が有効なシーケンスでない場合。
ValueError -- charges の長さが総原子数と一致しない場合。
- atoms()¶
このグループに直接含まれるすべての原子の (key, atom) ペアのリストを返す。
sort_atomsが"nice"に設定されている場合、項目は自然順にソートされる。
- bonds()¶
このグループに直接保存されている結合レコードのリストを返す。
- box()¶
階層内のすべての原子を囲む軸平行バウンディングボックスを計算する。
- del_atom(key)¶
指定されたキーを持つ原子をこのグループから削除する。
- del_group(key)¶
指定されたキーを持つ子グループをこのグループから削除する。
- static divide_path(path)¶
階層パス文字列を個々のコンポーネント文字列に分割する。
- erase_atom(key)¶
指定されたキーを持つ原子をこのグループから削除する。
バージョン Use で非推奨: 代わりに
remove_atom()を使用してください。
- erase_group(key)¶
指定されたキーを持つ子グループをこのグループから削除する。
バージョン Use で非推奨: 代わりに
remove_group()を使用してください。
- formula()¶
Hill体系を用いてフォーマットされた化学式を返す。
get_formula()の別名。- 戻り値:
Hill体系の化学式。
- 戻り値の型:
- get_atom(key)¶
指定されたキーまたは名前に一致する原子をこのグループから取得する。
- get_atom_keys()¶
すべての直接の原子のキーのリストを返す。
sort_atomsが"nice"に設定されている場合、キーは自然順にソートされる。- 戻り値:
原子キーのリスト。
- 戻り値の型:
List[str]
- get_atom_list()¶
このグループおよびすべての子孫グループ内のすべての原子を再帰的に収集して返す。
- 戻り値:
階層内のすべての原子のフラットなリスト。
- 戻り値の型:
List[Atom]
- get_bond_list()¶
このグループおよびそのすべての子孫グループ内のすべての結合のリストを返す。
- get_family(query_path)¶
階層木を探索し、絶対パスに一致するグループを取得する。
最初に子孫を検索し、サブツリー内で見つからない場合は祖先グループを遡って木を検索する。相対パス (
"."や".."など) には未対応。
- get_formula()¶
Hill体系を用いてフォーマットされた化学式を計算する。
炭素が存在する場合、炭素が最初に記載され、続いて水素、その後に他のすべての元素がアルファベット順に記載される。それ以外の場合、すべての元素がアルファベット順に記載される。
- 戻り値:
Hill体系の化学式 (例: "C6H12O6")。
- 戻り値の型:
- get_group(key)¶
指定されたキーまたは名前に一致する子グループをこのグループから取得する。
- get_group_list()¶
すべての直接の子グループのキーのリストを返す。
sort_groupsが"nice"に設定されている場合、キーは自然順にソートされる。- 戻り値:
子グループキーのリスト。
- 戻り値の型:
List[str]
- groups()¶
このグループに直接含まれるすべての子グループの (key, group) ペアのリストを返す。
sort_groupsが"nice"に設定されている場合、項目は自然順にソートされる。
- has_atom(key)¶
指定されたキーまたは名前に一致する原子がこのグループに存在するか確認する。
- has_atomkey(key)¶
指定されたキーを持つ原子がこのグループに直接存在するか確認する。
- has_atomname(name)¶
指定された名前を持つ原子がこのグループに直接存在するか確認する。
- has_group(key)¶
指定されたキーまたは名前に一致する子グループがこのグループに存在するか確認する。
- has_groupkey(key)¶
指定されたキーを持つ子グループがこのグループに直接存在するか確認する。
- has_groupname(name)¶
指定された名前を持つ子グループがこのグループに直接存在するか確認する。
- is_chain_level()¶
このグループがチェインレベル (パス深度2) かどうかを確認する。
- 戻り値:
チェインレベルの場合は True、そうでない場合は False。
- 戻り値の型:
- merge(other)¶
別の AtomGroup 階層をこのグループにインプレースでマージする。
サブグループと原子は再帰的にマージされる。other からの既存の結合および二次構造情報も組み込まれる。
- パラメータ:
other (AtomGroup) -- このグループにマージする原子グループ。
- nuclei_charge¶
このグループおよびすべての子孫グループ内のすべての原子の核電荷。
原子番号がゼロの原子については、代わりにその部分電荷が使用される。
- 戻り値:
全核電荷。
- 戻り値の型:
- pickup_atoms(key_or_name)¶
キーまたは名前が対象文字列と一致する原子を再帰的に検索して収集する。
- remove_atom(key)¶
指定されたキーを持つ原子をこのグループから削除する。
- remove_group(key)¶
指定されたキーを持つ子グループをこのグループから削除する。
- restructure(reference, range=1e-05)¶
座標の近接性に基づいて参照 AtomGroup の階層に一致するように原子を再構成する。
- rotate(rotmat)¶
3x3 回転行列を用いてこの階層内のすべての原子座標を回転させる。
- パラメータ:
rotmat (Union[Matrix, Any]) -- 3x3 回転行列。
Matrixインスタンス、または rows, cols, get(row, col) を提供する任意のオブジェクトを受け付ける。- 例外:
TypeError -- rotmat が
Matrixでないか、rows, cols, get を欠いている場合。ValueError -- rotmat の次元が 3x3 でない場合。
- save_csv(path)¶
階層的な原子およびグループデータをCSVファイルに出力する。
CSVは一時ファイルを介してアトミックに書き込まれる。
- パラメータ:
path (str) -- CSVファイルの出力先ファイルパス。
- 例外:
BrInputError -- ファイルの作成、書き込み、またはリネームに失敗した場合。
- secondary_structure¶
この残基グループの二次構造コード ('H', 'E', '-', または None)。
- 戻り値:
ヘリックスは 'H'、ストランドは 'E'、ループは '-'、または None。
- 戻り値の型:
Optional[str]
- select(selector)¶
セレクタに一致する原子/グループのサブセットを新しい AtomGroup に抽出する。
- set_atom(key, atom)¶
このグループ内、または指定された階層パスに原子を挿入する。
key にパス区切り文字が含まれる場合 (例:
"subgroup/C1")、必要に応じて中間子グループが作成され、原子は末端に挿入される。挿入された原子は木内にディープコピーされる。
- set_by_dict_data(data)¶
グループの内容をネストした辞書から読み込まれたデータで置き換える。
トップレベルの認識されないキーは無視される。
- パラメータ:
data (dict) -- 木データを表すネストした辞書。
- 戻り値:
辞書データが設定された自身 (self)。
- 戻り値の型:
- 例外:
TypeError -- data が dict でない場合。
BrValueError -- 辞書内のネストした原子データが無効な場合。
- set_group(key, group)¶
指定されたキーでこのグループに子グループを挿入する。
挿入されたグループは木内にディープコピーされる。
- setup()¶
組み込みCCDテンプレートデータベースを使用して、標準的な結合、結合次数、原子タイプを割り当てる。
- 例外:
BrValueError -- 原子の元素記号が認識されないか、共有結合半径データを欠いている場合。
- setup_with_db(db)¶
提供されたCCDテンプレートデータベースを使用して、結合、結合次数、原子タイプを割り当てる。
- パラメータ:
db (CcdTemplateDb) -- Chemical Component Dictionary (CCD) テンプレートデータベース。
- 例外:
BrValueError -- 原子の元素記号が認識されないか、共有結合半径データを欠いている場合。
- shift_by(dir)¶
変位ベクトルによりこの階層内のすべての原子座標を並進させる。
- sort_atoms¶
直接の原子のソートモード。
"nice"に設定すると、原子へのアクセス時に原子キーの自然順 (英数字) ソート (例: アルファベット順の "C1", "C10", "C2" ではなく "C1", "C2", "C10") が有効になる。None に設定すると挿入順が維持される。- 戻り値:
ソートモード (
"nice"または None)。- 戻り値の型:
Optional[str]
- sort_groups¶
直接の子グループのソートモード。
"nice"に設定すると、子グループへのアクセス時にグループキーの自然順 (英数字) ソート (例: アルファベット順の "res1", "res10", "res2" ではなく "res1", "res2", "res10") が有効になる。None に設定すると挿入順が維持される。- 戻り値:
ソートモード (
"nice"または None)。- 戻り値の型:
Optional[str]
- validate_schema()¶
標準階層スキーマに対してこのグループを検証する。
- 戻り値:
検出されたスキーマ違反のリスト。
- 戻り値の型:
List[SchemaViolation]