Bio.PDB.PICIO 模組
PICIO:讀取和寫入蛋白質內部座標(.pic)數據檔案。
- Bio.PDB.PICIO.read_PIC(file: TextIO, verbose: bool = False, quick: bool = False, defaults: bool = False) Structure
從檔案載入蛋白質內部座標(.pic)數據。
- PIC 檔案格式
註解行以 # 開頭
- (可選)PDB HEADER 記錄
建議使用 idcode 和沉積日期,但為可選
沉積日期為 PDB 格式或經 Biopython 變更後的格式
(可選)PDB TITLE 記錄
- 重複
Biopython 殘基完整 ID - 設定回傳結構的殘基 ID
(可選)鏈起始的 PDB N、CA、C ATOM 記錄
(可選)殘基的 PIC Hedra 記錄
(可選)殘基的 PIC Dihedra 記錄
(可選)列出 AtomKeys 和 b 因子的 BFAC 記錄
一個改進之處是定義 HOH(水)條目的相對位置。
如果 defaults=True,將會為任何值提供預設值。預設值在 ic_data.py 中提供,但是結構會隨著任何偏離真實座標的偏差而迅速降級。使用
Bio.PDB.internal_coords.IC_Residue.pic_flags
選項進行實驗,並使用write_PIC()
驗證這一點。注意:如果存在 O,則組裝中會忽略雙面角 (i-1)C-N-CA-CB。
預設情況下,C-beta 使用 O-C-CA-CB 放置,但某些 PDB 檔案殘基中缺少 O,這意味著側鏈無法放置。提供了備用 CB 路徑 (i-1)C-N-CA-CB 來規避這個問題,但如果需要這個路徑,則必須與 PHI ((i-1)C-N-CA-C) 結合調整,因為它們重疊(請參閱
bond_set()
和bond_rotate()
來自動處理)。- 參數:
file (Bio.File) –
as_handle()
檔案名稱或處理程式verbose (bool) – 當行不符合預期時發出警告
quick (bool) – 不檢查所有雙面角的殘基(無預設值)
defaults (bool) – 從參考資料庫建立所需的雙面/四面角。如果 'H' 在 IC_Residue.accept_atoms 中,則建立醯胺質子
- 回傳值:
Biopython 結構物件,具有 .internal_coord 屬性的殘基,但沒有座標,除非提供了鏈起始 N、CA、C 原子,或者在解析失敗時回傳 None(除非 verbose=True,否則為靜音)
- Bio.PDB.PICIO.read_PIC_seq(seqRec: SeqRecord, pdbid: str | None = None, title: str | None = None, chain: str | None = None) Structure
將
SeqRecord
讀取到具有預設內部座標的結構中。
- Bio.PDB.PICIO.enumerate_atoms(entity)
確保實體中的所有原子都設定了 serial_number。
- Bio.PDB.PICIO.pdb_date(datestr: str) str
將 yyyy-mm-dd 日期轉換為 dd-month-yy。
- Bio.PDB.PICIO.write_PIC(entity, file, pdbid=None, chainid=None, picFlags: int = IC_Residue.picFlagsDefault, hCut: float | None = None, pCut: float | None = None)
將蛋白質內部座標(PIC)寫入檔案。
有關檔案格式,請參閱
read_PIC()
。請參閱IC_Residue.pic_accuracy
以變更數值精確度。遞迴至較低的實體層級(M、C、R)。- 參數:
entity (Entity) – Biopython PDB 實體物件:S、M、C 或 R
file (Bio.File) –
as_handle()
檔案名稱或處理程式pdbid (str) – PDB idcode,如果未提供,則從實體讀取
chainid (char) – PDB 鏈 ID,從 C 級實體 entity.id 設定(如果需要)
picFlags (int) –
控制輸出的布林旗標,在
Bio.PDB.internal_coords.IC_Residue.pic_flags
中定義”psi”,
”omg”,
”phi”,
”tau”, # tau 四面角 (N-Ca-C)
”chi1”,
”chi2”,
”chi3”,
”chi4”,
”chi5”,
”pomg”, # 脯胺酸 omega
”chi”, # chi1 到 chi5
”classic_b”, # psi | phi | tau | pomg
”classic”, # classic_b | chi
”hedra”, # 包括鍵長的所有四面角
”primary”, # 所有主要雙面角
”secondary”, # 所有次要雙面角(來自主要雙面角的固定角度)
”all”, # hedra | primary | secondary
”initAtoms”, # 初始 Tau (N-Ca-C) 的 XYZ 座標
”bFactors”
預設為全部
picFlagsDefault = ( pic_flags.all | pic_flags.initAtoms | pic_flags.bFactors )
在您的程式碼中使用
# just primary dihedra and all hedra picFlags = ( IC_Residue.pic_flags.primary | IC_Residue.pic_flags.hedra ) # no B-factors: picFlags = IC_Residue.picFlagsDefault picFlags &= ~IC_Residue.pic_flags.bFactors
使用 (defaults=True) 的
read_PIC()
將會為任何遺漏的內容使用預設值hCut (float) – 預設為 None,僅寫入參考資料庫角度標準差大於此值的四面角
pCut (float) – 預設為 None,僅寫入參考資料庫角度標準差大於此值的主要雙面角
預設值:
資料取自 2019 年 9 月 Dunbrack cullpdb_pc20_res2.2_R1.0。
請參閱
‘G. Wang 和 R. L. Dunbrack, Jr. PISCES:一個蛋白質序列篩選伺服器。生物資訊學,19:1589-1591, 2003。’
在 ic_data.py 中定義了「主要」和「次要」二面角。具體來說,次要二面角可以被確定為從另一個已知角度的固定旋轉,例如 N-Ca-C-O 可以從 N-Ca-C-N (psi) 估計。
標準差列在 <biopython distribution>/Bio/PDB/ic_data.py 中作為預設值,可以用來限制哪些 hedra 和 dihedra 使用預設值,而不是從結構輸出精確測量值(請參閱上方的 hCut 和 pCut)。主要二面角(psi、phi、omega、chi1 等)的預設值選擇為最常見的整數值,而不是平均值。
- 引發:
PDBException – 如果實體層級為 A(原子)
Exception – 如果實體沒有 .level 屬性