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__ 实现来实际解析文件。

abstract parse(handle: IO) Iterator[SeqRecord]

开始解析文件,并返回一个 SeqRecord 迭代器。

__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 对象的列表或迭代器