Bio.SeqIO.TabIO 模块
Bio.SeqIO 对“tab”(简单的制表符分隔)文件格式的支持。
您应该通过 Bio.SeqIO 函数使用此模块。
“tab”格式是一种非正式的纯文本文件格式,其中每个序列都位于一行(长行)上。每行包含标识符/描述,然后是制表符,然后是序列。例如,考虑以下简短的 FASTA 格式文件
>ID123456 possible binding site?
CATCNAGATGACACTACGACTACGACTCAGACTAC
>ID123457 random sequence
ACACTACGACTACGACTCAGACTACAAN
除了描述之外,还可以用简单的两列制表符分隔格式表示如下
ID123456(tab)CATCNAGATGACACTACGACTACGACTCAGACTAC
ID123457(tab)ACACTACGACTACGACTCAGACTACAAN
读取此文件时,将“ID123456”或“ID123457”作为记录的 .id 和 .name 属性。没有其他信息可记录。
同样,写入此格式时,Biopython 将只记录记录的 .id 和 .seq(而不是描述或任何其他信息),如上例所示。
- class Bio.SeqIO.TabIO.TabIterator(source)
Bases:
SequenceIterator
用于制表符分隔文件的解析器。
- __init__(source)
将制表符分隔行迭代为 SeqRecord 对象。
文件的每一行都应该只包含一个制表符,将行分成标识符和完整序列。
- 参数
source - 以文本模式打开的文件类对象,或文件路径
第一个字段被视为记录的 .id 和 .name(无论文本中是否有空格),第二个字段是序列。
任何空白行都会被忽略。
示例
>>> with open("GenBank/NC_005816.tsv") as handle: ... for record in TabIterator(handle): ... print("%s length %i" % (record.id, len(record))) gi|45478712|ref|NP_995567.1| length 340 gi|45478713|ref|NP_995568.1| length 260 gi|45478714|ref|NP_995569.1| length 64 gi|45478715|ref|NP_995570.1| length 123 gi|45478716|ref|NP_995571.1| length 145 gi|45478717|ref|NP_995572.1| length 357 gi|45478718|ref|NP_995573.1| length 138 gi|45478719|ref|NP_995574.1| length 312 gi|45478720|ref|NP_995575.1| length 99 gi|45478721|ref|NP_995576.1| length 90
- parse(handle)
开始解析文件,并返回一个 SeqRecord 生成器。
- iterate(handle)
解析文件并生成 SeqRecord 对象。
- __abstractmethods__ = frozenset({})
- __parameters__ = ()
- class Bio.SeqIO.TabIO.TabWriter(target: IO | PathLike | str | bytes, mode: str = 'w')
Bases:
SequenceWriter
用于写入简单制表符分隔格式文件的类。
每行仅包含“id(tab)sequence”。
不会记录任何描述、名称或其他注释。
不建议直接使用此类。相反,请使用函数
as_tab
,或使用带有format="tab"
的顶级Bio.SeqIO.write()
函数。- write_record(record)
将单个制表符行写入文件。
- Bio.SeqIO.TabIO.as_tab(record)
将记录作为制表符分隔的(id(tab)seq)字符串返回。