Bio.SeqIO.PdbIO模块¶
Bio.SeqIO支持访问PDB和mmCIF文件中的序列。
- Bio.SeqIO.PdbIO.AtomIterator(pdb_id, structure)¶
从Structure对象返回SeqRecords。
序列解析器的基本函数,用于读取结构Bio.PDB解析器。
一旦来自Bio.PDB的解析器被用来将结构加载到Bio.PDB.Structure对象中,序列解析器解释残基序列的方式就没有什么不同了。希望从残基列表中解析序列的SeqIO模块可以使用此模块中的函数。
调用函数必须传递Bio.PDB.Strucre.Structure对象。
有关详细信息,请参阅Bio.SeqIO.PdbIO.PdbAtomIterator和Bio.SeqIO.PdbIO.CifAtomIterator。
- class Bio.SeqIO.PdbIO.PdbSeqresIterator(source)¶
-
PDB文件的解析器。
- __init__(source)¶
返回PDB文件中每个链的SeqRecord对象。
- 参数:
source-以文本模式打开的输入流,或文件路径
序列来自PDB文件头中的SEQRES行,而不是3D结构的原子。
具体地说,处理以下PDB记录:DBREF、SEQADV、SEQRES、MODRES
请参阅:http://www.wwpdb.org/documentation/format23/sect3.html
这将通过Bio.SeqIO在内部调用,用于基于SEQRES的PDB文件格式解释:
>>> 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行都记录在数据库交叉引用列表中。
- parse(handle)¶
开始解析文件,并返回SeqRecord生成器。
- iterate(handle)¶
迭代PDB文件中的记录。
- __abstractmethods__ = frozenset({})¶
- Bio.SeqIO.PdbIO.PdbAtomIterator(source)¶
返回PDB文件中每个链的SeqRecord对象。
参数源是类似文件的对象或文件的路径。
序列派生自3D结构(ATOM记录),而不是PDB文件头中的SEQRES行。
无法识别的三个字母的氨基酸代码(例如HETATM条目中的“CSD”)在序列中被转换为“X”。
除了来自PDB标题的信息(对所有记录都相同)外,注释中还包含以下链特定信息:
record.annotations [“残留物”] =残渣ID字符串记录列表。注释 [“链”] =链ID(通常为A、B、.)record.annotations [“模特”] =型号ID(通常为零)
当结构中缺少氨基酸时,如残基编号所示,用‘X’字符填充序列以匹配缺失区域的大小,并且没有作为相应条目包括在列表记录中。注释 [“残留物”] 。
该函数使用Bio.PDB模块来完成大部分繁重的工作。注释信息可以改进,但是这个额外的解析应该在parse_pdb_header中完成,而不是这个模块。
这将通过Bio.SeqIO在内部调用,用于基于ATOM的PDB文件格式解释:
>>> 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
- Bio.SeqIO.PdbIO.CifSeqresIterator(source)¶
返回mmCIF文件中每个链的SeqRecord对象。
参数源是类似文件的对象或文件的路径。
序列源自mmCIF文件中的_entity_polyseq条目,而不是3D结构的原子。
具体地说,将处理这些mmCIF记录:_pdbx_polyseq_schema和_struct_ref_seq。_pdbx_polyseq记录包含序列信息,_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在内部调用,以对mmCIF文件格式进行基于序列的解释:
>>> 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']
注意:该链记录在注释字典中,任何mmCIF_struct_ref_seq条目都记录在数据库交叉引用列表中。
- Bio.SeqIO.PdbIO.CifAtomIterator(source)¶
返回mmCIF文件中每个链的SeqRecord对象。
参数源是类似文件的对象或文件的路径。
序列派生自mmCIF文件中的3D结构(_ATOM_SITE.*字段)。
无法识别的三个字母的氨基酸代码(例如HETATM条目中的“CSD”)在序列中被转换为“X”。
除了来自PDB标题的信息(对所有记录都相同)外,注释中还包含以下链特定信息:
record.annotations [“残留物”] =残渣ID字符串记录列表。注释 [“链”] =链ID(通常为A、B、.)record.annotations [“模特”] =型号ID(通常为零)
当结构中缺少氨基酸时,如残基编号所示,用‘X’字符填充序列以匹配缺失区域的大小,并且没有作为相应条目包括在列表记录中。注释 [“残留物”] 。
该函数使用Bio.PDB模块来完成大部分繁重的工作。注释信息可以改进,但是这个额外的解析应该在parse_pdb_header中完成,而不是这个模块。
这将通过Bio.SeqIO在内部调用,用于基于ATOM的PDB文件格式解释:
>>> 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