Bio.PDB.ic_rebuild 模組

將 XYZ 結構轉換為內部座標並返回,測試結果。

Bio.PDB.ic_rebuild.structure_rebuild_test(entity, verbose: bool = False, quick: bool = False) dict

測試從內部座標重建 PDB 結構。

為實體產生內部座標,並將其寫入記憶體中的 .pic 檔案,然後從 .pic 檔案產生 XYZ 座標,並將產生的實體與原始實體進行比較。

請參閱 IC_Residue.pic_accuracy,如果唯一的問題是座標的微小差異,則可變更中間 .pic 檔案的數值準確度。

請注意,使用預設設定時,氘化的初始結構將會無法通過比較,使用替代 IC_Residue.accept_atoms 設定載入的結構也是如此。請使用 quick=True 和/或 AtomKey.d2h 以及 IC_Residue.accept_atoms 設定的變體。

參數:
  • entity (Entity) – Biopython 結構、模型或鏈。要測試的結構

  • verbose (bool) – 預設值為 False。列印額外訊息

  • quick (bool) – 預設值為 False。僅檢查內部座標 atomArrays 是否相同

傳回值:

來自 compare_residues() 的字典比較

Bio.PDB.ic_rebuild.report_IC(entity: Structure | Model | Chain | Residue, reportDict: dict[str, Any] | None = None, verbose: bool = False) dict[str, Any]

產生一個字典,其中包含每個實體層級的 ic 資料元素的計數。

reportDict 條目為
  • idcode:PDB ID

  • hdr:PDB 標頭行

  • mdl:模型

  • chn:鏈

  • res:殘基物件

  • res_e:具有二面角和/或立體角的殘基

  • dih:二面角

  • hed:立體角

參數:

entity (Entity) – Biopython PDB 實體物件:S、M、C 或 R

引發:
  • PDBException – 如果實體層級不是 S、M、C 或 R

  • Exception – 如果實體沒有 .level 屬性

傳回值:

包含 IC 資料元素計數的字典

Bio.PDB.ic_rebuild.IC_duplicate(entity) Structure

複製具有 IC 資料的結構實體,沒有原子座標。

使用 write_PIC()read_PIC() 和 StringIO 緩衝區。如果需要,則呼叫 Chain.atom_to_internal_coordinates()

參數:

entity (Entity) – Biopython PDB 實體(Atom 會失敗)

傳回值:

Biopython PDBStructure,除了初始座標之外,沒有 Atom 物件

Bio.PDB.ic_rebuild.compare_residues(e0: Structure | Model | Chain, e1: Structure | Model | Chain, verbose: bool = False, quick: bool = False, rtol: float | None = None, atol: float | None = None) dict[str, Any]

比較兩個 Biopython PDB 實體 (entity) 的完整 ID 和原子座標。

跳過 DNA 和 HETATM。

參數:
  • e0,e1 (Entity) – Biopython PDB 實體物件 (S、M 或 C)。要比較的結構、模型或鏈。

  • verbose (bool) – 是否印出不匹配資訊,預設為 False。

  • quick (bool) – 預設為 False。僅檢查 atomArrays 是否相同,如果不同則 aCoordMatchCount=0。

  • atol (float rtol,) – 預設值為 1e-03、1e-03 或四捨五入到小數點後 3 位。NumPy allclose 參數;預設是將原子座標四捨五入到小數點後 3 位並測試是否相等。對於「quick」模式,將使用上述預設值來比較 atomArrays。

傳回 dict:

殘基的結果計數、完整 ID 匹配的殘基、原子、完整 ID 匹配的原子和座標匹配的原子;報告字串;錯誤狀態 (bool)。

Bio.PDB.ic_rebuild.write_PDB(entity: Structure, file: str, pdbid: str | None = None, chainid: str | None = None) None

寫入 PDB 檔案,如果有的話,包含 HEADER 和 TITLE。