python:parmed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:parmed [2017/11/06 12:23] – [Amber トポロジーファイルの読み込み] mumeiyamibitopython:parmed [2023/02/15 14:03] (現在) – [PDB からリガンドの座標を抽出する] mumeiyamibito
行 53: 行 53:
     * ''x'': アクセスする原子のインデックス (ファイルにある原子順序番号ではなく、0 から始まる配列のインデックス)     * ''x'': アクセスする原子のインデックス (ファイルにある原子順序番号ではなく、0 から始まる配列のインデックス)
     * 原子順序番号は構造オブジェクト、およびトポロジーオブジェクト読み込み時に構造ファイルを読み込ませた場合にのみ有効     * 原子順序番号は構造オブジェクト、およびトポロジーオブジェクト読み込み時に構造ファイルを読み込ませた場合にのみ有効
-  * 残基オブジェクト \\<code python>object.residues</code>+  * 原子インデックス\\ <code python>object.atoms[x].idx</code> 
 +    * ''object'': トポロジーや構造オブジェクト 
 +    * ''x'': アクセスする原子のインデックス (ファイルにある原子順序番号ではなく、0 から始まる配列のインデックス) 
 +    * 原子全てに与えられた 0 から始まるインデックスを返す (原子順序番号は、読み込んだファイル内の原子順序番号を返すため、ファイル内で重複や誤った番号が付けられていると、影響を受ける) 
 +  * 残基オブジェクト\\ <code python>object.residues</code>
     * ''object'': トポロジーや構造オブジェクト     * ''object'': トポロジーや構造オブジェクト
     * 残基オブジェクトは配列で格納されているため、各残基オブジェクトにアクセスするには ''object.atoms[0]'' のようにアクセスする。     * 残基オブジェクトは配列で格納されているため、各残基オブジェクトにアクセスするには ''object.atoms[0]'' のようにアクセスする。
行 74: 行 78:
   * ''AMBER_MASK'': 削除する部位の Amber mask   * ''AMBER_MASK'': 削除する部位の Amber mask
  
 +
 +
 +===== 使用例 =====
 +==== PDB から座標を抽出する ====
 +  * example.pdb の場合:\\ <code python>
 +import parmed
 +obj_mol = parmed.load_file("example.pdb")
 +print(obj_mol.coordinates)
 +</code>
 +    * 座標は numpy.ndarray 形式で取得できる
 +==== PDB からリガンドの座標を抽出する ====
 +  * 5r7y.pdb (リガンド残基名 ''JFM'') の場合\\ <code python>
 +import parmed
 +obj_mol = parmed.load_file("5r7y.pdb")
 +obj_ambermask = parmed.amber.AmberMask(obj_mol, ":JFM")
 +print(obj_mol.coordinates[list(obj_ambermask.Selected())])
 +</code>
 +    * ''parmed.amber.AmberMask(MOLECULE_OBJECT, AMBERMASK)'' で Amber mask による指定ができる。
 +    * AmberMask オブジェクトの ''.Selected()'' はジェネレータで、Amber mask で指定された原子のインデックス (配列インデックス) を返す。
  
 ===== 参考サイト ===== ===== 参考サイト =====
  • python/parmed.1509938600.txt.gz
  • 最終更新: 2017/11/06 12:23
  • by mumeiyamibito