Bio.SeqIO.PdbIO模块
Bio.SeqIO支持访问DBC和mminf文件中的序列。
- Bio.SeqIO.PdbIO.AtomIterator(pdb_id, structure)
从结构对象返回SeqRecords。
用于读取结构Bio. DBC分析器的序列分析器的基本函数。
一旦使用Bio.PDB中的解析器将结构加载到Bio.PDB.Structure. Architecture对象中,序列解析器解释残基序列的方式就没有任何区别。该模块中的函数可以由希望从残基列表中解析序列的SeqIO模块使用。
调用函数必须传递一个Bio.PDB.Structure.Structure对象。
有关详细信息,请参阅Bio.SeqIO. PdbIO.PdbAtomIterator和Bio.SeqIO.PdbIO.CifAtomIterator。
- class Bio.SeqIO.PdbIO.PdbSeqresIterator(source: IO[str] | PathLike | str | bytes)
-
DBC文件的解析器。
- modes = 't'
- __init__(source: IO[str] | PathLike | str | bytes) None
将DBC文件中的链作为SeqRecord对象进行迭代。
- 论点:
源-以文本模式打开的输入流,或文件的路径
序列是从PDB文件头中的SEQRES行派生的,而不是3D结构的原子。
具体来说,处理这些DBC记录:DBref、DBref 1、DBref 2、MQADV、MQRES、MODRES
请参阅:http://www.wwpdb.org/documentation/format23/sect3.html
这通过Bio.SeqIO在内部调用,以基于SEQRES的TSB文件格式解释:
>>> from Bio import SeqIO >>> for record in SeqIO.parse("PDB/1A8O.pdb", "pdb-seqres"): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... print(record.dbxrefs) ... Record id 1A8O:A, chain A ['UNP:P12497', 'UNP:POL_HV1N5']
同等地,
>>> with open("PDB/1A8O.pdb") as handle: ... for record in PdbSeqresIterator(handle): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... print(record.dbxrefs) ... Record id 1A8O:A, chain A ['UNP:P12497', 'UNP:POL_HV1N5']
请注意,该链记录在注释字典中,并且所有PDB DBREF行记录在数据库交叉引用列表中。
- __next__()
迭代TSB文件中的记录。
- __abstractmethods__ = frozenset({})
- __annotations__ = {}
- __firstlineno__ = 114
- __parameters__ = ()
- __static_attributes__ = ('cache',)
- class Bio.SeqIO.PdbIO.PdbAtomIterator(source: IO[str] | PathLike | str | bytes)
-
PDB文件中结构的解析器。
- modes = 't'
- __init__(source: IO[str] | PathLike | str | bytes) None
将DBC文件中的结构作为SeqRecord对象进行迭代。
参数源是类似文件的对象或文件的路径。
这些序列源自3D结构(ATOM记录),而不是DBC文件头中的SEQRES行。
HETATM条目中未识别的三字母氨基酸代码(例如“CPD”)被转换为序列中的“X”。
除了来自TSB标头的信息(所有记录都相同)外,注释中还放置了以下链特定信息:
record.annotations ["residues"] =剩余ID字符串记录列表。注释 ["chain"] =链ID(通常是A、B、.)record.annotations ["model"] =型号ID(通常为零)
如果结构中缺少氨基酸,如残基编号所示,则用“X”字符填充序列以匹配缺失区域的大小,并且“无”作为列表记录中的相应条目。注释 ["residues"] .
该功能使用Bio. DBC模块来完成大部分艰苦工作。注释信息可以改进,但这种额外的解析应该在parse_pdb_header中完成,而不是在此模块中完成。
这通过Bio.SeqIO在内部调用,以进行基于原子的TSB文件格式解释:
>>> from Bio import SeqIO >>> for record in SeqIO.parse("PDB/1A8O.pdb", "pdb-atom"): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... Record id 1A8O:A, chain A
同等地,
>>> with open("PDB/1A8O.pdb") as handle: ... for record in PdbAtomIterator(handle): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... Record id 1A8O:A, chain A
- __next__()
返回下一个SeqRecord。
此方法必须由子类实现。
- __abstractmethods__ = frozenset({})
- __annotations__ = {}
- __firstlineno__ = 278
- __parameters__ = ()
- __static_attributes__ = ('records',)
- class Bio.SeqIO.PdbIO.CifSeqresIterator(source: IO[str] | PathLike | str | bytes)
-
mminf文件中链的解析器。
- modes = 't'
- __init__(source: IO[str] | PathLike | str | bytes) None
将mminf文件中的链作为SeqRecord对象进行迭代。
参数源是类似文件的对象或文件的路径。
这些序列源自mminf文件中的_entity_poly_seq条目,而不是3D结构的原子。
具体来说,这些mminf记录的处理方式是:_pdbx_poly_seq_scheme和_struct_ref_seq。_pdbx_poly_seq记录包含序列信息,_struct_ref_seq记录包含数据库交叉引用。
参见:http://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v40.dic/Categories/pdbx_poly_seq_scheme.html和http://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Categories/struct_ref_seq.html
这通过Bio.SeqIO在内部调用,以对mminf文件格式进行基于序列的解释:
>>> from Bio import SeqIO >>> for record in SeqIO.parse("PDB/1A8O.cif", "cif-seqres"): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... print(record.dbxrefs) ... Record id 1A8O:A, chain A ['UNP:P12497', 'UNP:POL_HV1N5']
同等地,
>>> with open("PDB/1A8O.cif") as handle: ... for record in CifSeqresIterator(handle): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... print(record.dbxrefs) ... Record id 1A8O:A, chain A ['UNP:P12497', 'UNP:POL_HV1N5']
请注意,该链记录在注释字典中,并且任何mminf_struct_ref_seq条目记录在数据库交叉引用列表中。
- __next__()
返回下一个SeqRecord。
此方法必须由子类实现。
- __abstractmethods__ = frozenset({})
- __annotations__ = {}
- __firstlineno__ = 377
- __parameters__ = ()
- __static_attributes__ = ('records',)
- class Bio.SeqIO.PdbIO.CifAtomIterator(source: IO[str] | PathLike | str | bytes)
-
mminf文件中结构的解析器。
- modes = 't'
- __init__(source: IO[str] | PathLike | str | bytes) None
将mminf文件中的结构迭代为SeqRecord对象。
参数源是类似文件的对象或文件的路径。
这些序列源自3D结构(_atom_site.*字段)在mminf文件中。
HETATM条目中未识别的三字母氨基酸代码(例如“CPD”)被转换为序列中的“X”。
除了来自TSB标头的信息(所有记录都相同)外,注释中还放置了以下链特定信息:
record.annotations ["residues"] =剩余ID字符串记录列表。注释 ["chain"] =链ID(通常是A、B、.)record.annotations ["model"] =型号ID(通常为零)
如果结构中缺少氨基酸,如残基编号所示,则用“X”字符填充序列以匹配缺失区域的大小,并且“无”作为列表记录中的相应条目。注释 ["residues"] .
该功能使用Bio. DBC模块来完成大部分艰苦工作。注释信息可以改进,但这种额外的解析应该在parse_pdb_header中完成,而不是在此模块中完成。
这通过Bio.SeqIO在内部调用,以进行基于原子的TSB文件格式解释:
>>> from Bio import SeqIO >>> for record in SeqIO.parse("PDB/1A8O.cif", "cif-atom"): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... Record id 1A8O:A, chain A
同等地,
>>> with open("PDB/1A8O.cif") as handle: ... for record in CifAtomIterator(handle): ... print("Record id %s, chain %s" % (record.id, record.annotations["chain"])) ... Record id 1A8O:A, chain A
- __next__()
返回下一个SeqRecord。
此方法必须由子类实现。
- __abstractmethods__ = frozenset({})
- __annotations__ = {}
- __firstlineno__ = 504
- __parameters__ = ()
- __static_attributes__ = ('records',)