Python モジュール: parmed

概要

  • Gromacs や AMBER の構造やトポロジーファイルを扱うモジュール

インストール

$ sudo pip3 install parmed

使い方

import parmed

よく使う機能

構造の読み込み

structure = parmed.load_file("INPUT")
  • structure: 構造オブジェクトを格納する変数
  • INPUT: 構造ファイル (.pdb / .gro)

構造の出力

structure.save("OUTPUT", "FORMAT", overwrite = True)
  • structure: 構造オブジェクト
  • OUTPUT: 出力ファイル (.pdb / .gro)
  • FORMAT: 出力ファイルのフォーマット (pdb / gro)
  • overwrite = True: 上書き保存する

Gromacs トポロジーファイルの読み込み

topology = parmed.gromacs.GromacsTopologyFile("INPUT", xyz = "COORD")
  • topology: トポロジーオブジェクトを格納する変数
  • INPUT: トポロジーファイル (.top)
  • xyz = “COORD”: .gro などの座標ファアイル (任意のオプション)

Amber トポロジーファイルの読み込み

topology = parmed.amber.AmberParm("INPUT", xyz = "COORD")
  • topology: トポロジーオブジェクトを格納する変数
  • INPUT: トポロジーファイル (.prmtop)
  • xyz = “COORD”: .inpcrd などの座標ファアイル (任意のオプション)

トポロジーファイルの出力

topology.save("OUTPUT", "FORMAT", overwrite = True)
  • topology: トポロジーオブジェクト
  • OUTPUT: 出力ファイル (.top / .prmtop)
  • FORMAT: 出力ファイルのフォーマット (gromacs (gromacs トポロジー) / amber (Amber トポロジー))
  • overwrite = True: 上書き保存する

情報取得

  • 原子オブジェクト
    object.atoms
    • object: トポロジーや構造オブジェクト
    • 原子オブジェクトは配列で格納されているため、各原子オブジェクトにアクセスするには object.atoms[0] のようにアクセスする。
  • 原子名
    object.atoms[x].name
    • object: トポロジーや構造オブジェクト
    • x: アクセスする原子のインデックス (ファイルにある原子順序番号ではなく、0 から始まる配列のインデックス)
  • 原子順序番号
    object.atoms[x].number
    • object: トポロジーや構造オブジェクト
    • x: アクセスする原子のインデックス (ファイルにある原子順序番号ではなく、0 から始まる配列のインデックス)
    • 原子順序番号は構造オブジェクト、およびトポロジーオブジェクト読み込み時に構造ファイルを読み込ませた場合にのみ有効
  • 残基オブジェクト \\
    object.residues
    • object: トポロジーや構造オブジェクト
    • 残基オブジェクトは配列で格納されているため、各残基オブジェクトにアクセスするには object.atoms[0] のようにアクセスする。
  • 残基名
    object.residues[x].number
    • object: トポロジーや構造オブジェクト
    • x: アクセスする残基のインデックス (ファイルにある残基順序番号ではなく、0 から始まる配列のインデックス)
  • 残基順序番号
    object.residues[x].number
    • object: トポロジーや構造オブジェクト
    • x: アクセスする残基のインデックス (ファイルにある残基順序番号ではなく、0 から始まる配列のインデックス)
    • 残基順序番号は構造オブジェクト、およびトポロジーオブジェクト読み込み時に構造ファイルを読み込ませた場合にのみ有効
  • 特定原子の残基名および特定残基の原子名
    object.atoms[x].residue.name
    object.residues[y].atoms[z].name
    • x: 特定原子のインデックス
    • y: 特定残基のインデックス
    • z: 特定残基 y に属する原子のインデックス

特定部位の削除

object.strip("AMBER_MASK")
  • AMBER_MASK: 削除する部位の Amber mask

参考サイト