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 记录
(可选) BFAC 记录,列出 AtomKeys 和 B 因子
改进将为 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
读取到具有默认内部坐标的 Structure 中。
- 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 级别实体.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
read_PIC()
以及 (defaults=True) 将使用任何遗漏内容的默认值hCut (float) – 默认 None,仅写入 ref db 角标准偏差大于此值的那些多面角
pCut (float) – 默认 None,仅写入 ref db 角标准偏差大于此值的那些主要二面角
默认值:
2019 年 9 月从 Dunbrack cullpdb_pc20_res2.2_R1.0 获得的平均数据。
请参阅
‘G. Wang and R. L. Dunbrack, Jr. PISCES: a protein sequence culling server. Bioinformatics, 19:1589-1591, 2003.’
“主”和“次”二面角在 ic_data.py 中定义。具体来说,次二面角可以确定为从另一个已知角度的固定旋转,例如 N-Ca-C-O 可以从 N-Ca-C-N (psi) 估算得出。
标准差列在 <biopython distribution>/Bio/PDB/ic_data.py 中,用于默认值,可用于限制哪些面角和二面角使用默认值,以及从结构输出精确测量值(参见上面的 hCut 和 pCut)。主二面角(psi、phi、omega、chi1 等)的默认值选择为最常见的整数值,而不是平均值。
- 引发:
PDBException – 如果实体级别为 A(原子)
异常 – 如果实体没有 .level 属性