Bio.SeqIO.Interfaces 模块
Bio.SeqIO 支持模块(不供一般使用)。
除非您正在为 Bio.SeqIO 编写新的解析器或编写器,否则您不应该使用此模块。它提供基类来尝试简化事情。
- class Bio.SeqIO.Interfaces.SequenceIterator(source: IO | PathLike | str | bytes, alphabet: None = None, mode: str = 't', fmt: str | None = None)
基类:
ABC
,Generic
用于构建 SeqRecord 迭代器的基类。
您应该编写一个返回 SeqRecord 生成器的解析方法。您可能也希望重新定义 __init__ 方法。
- __init__(source: IO | PathLike | str | bytes, alphabet: None = None, mode: str = 't', fmt: str | None = None) None
创建一个 SequenceIterator 对象。
参数: - source - 输入文件流或输入文件的路径 - alphabet - 不再使用,应该是 None
此方法可能被任何子类覆盖。
注意在子类化时: - 应该只有一个非可选参数,即源。 - 您不必要求字母表。 - 您可以添加其他可选参数。
- __next__()
返回下一项。
- __iter__()
将条目作为 SeqRecord 对象进行迭代。
Fasta 文件的示例用法
with open("example.fasta","r") as myFile: myFastaReader = FastaIterator(myFile) for record in myFastaReader: print(record.id) print(record.seq)
此方法不应被任何子类覆盖。应该保持原样,这将调用子类的 __next__ 实现来实际解析文件。
- __abstractmethods__ = frozenset({'parse'})
- __orig_bases__ = (<class 'abc.ABC'>, typing.Generic[~AnyStr])
- __parameters__ = (~AnyStr,)
- class Bio.SeqIO.Interfaces.SequenceWriter(target: IO | PathLike | str | bytes, mode: str = 'w')
基类:
object
序列编写器的基类。此类应该被子类化。
它适用于具有(可选)标题、重复记录和(可选)页脚的顺序文件格式,以及用于诸如 Clustal 的交错文件格式。
用户可以调用 write_file() 方法来写入包含序列的完整文件。
或者,用户可以调用 write_header(),然后多次调用 write_record() 和/或 write_records(),最后调用 write_footer()。
请注意,write_header() 不能对记录数量做出任何假设。
- __init__(target: IO | PathLike | str | bytes, mode: str = 'w') None
创建编写器对象。
- clean(text: str) str
使用它来避免在输出中出现换行符。
- write_header()
将文件头写入输出文件。
将文件页脚写入输出文件。
- write_record(record)
将单个记录写入输出文件。
record - 一个 SeqRecord 对象
- write_records(records, maxcount=None)
将记录写入输出文件,并返回记录数量。
records - 返回 SeqRecord 对象的列表或迭代器 maxcount - 文件格式允许的最大记录数,如果不存在最大值,则为 None。
- write_file(records, mincount=0, maxcount=None)
使用记录写入完整文件,并返回记录数量。
records - 返回 SeqRecord 对象的列表或迭代器