Bio.SeqIO.Interfaces模块

Bio.SeqIO支持模块(非通用)。

除非您正在为Bio.SeqIO编写新的解析器或编写器,否则不应该使用此模块。它提供基类来尝试和简化事情。

class Bio.SeqIO.Interfaces.SequenceIterator(source, alphabet=None, mode='t', fmt=None)

基类:ABC

用于构建SeqRecord迭代器的基类。

您应该编写一个返回SeqRecord生成器的解析方法。您可能希望重新定义 __init__ 方法。

__init__(source, alphabet=None, mode='t', fmt=None)

创建一个SequenceIterator对象。

参数:-source-输入文件流,或输入文件的路径-字母表-不再使用,应为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)

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

__abstractmethods__ = frozenset({'parse'})
class Bio.SeqIO.Interfaces.SequenceWriter(target, mode='w')

基类:object

序列编写器的基类。这个类应该细分为子类。

它适用于具有(可选)页眉、重复记录和(可选)页脚的顺序文件格式,以及隔行扫描的文件格式(如Clustal)。

用户可以调用write_file()方法来编写包含序列的完整文件。

或者,用户可以调用WRITE_HEADER(),然后多次调用WRITE_RECORD()和/或WRITE_RECORDS(),最后调用WRITE_FOOTER()。

请注意,WRITE_HEADER()不能要求任何关于记录数的假设。

__init__(target, mode='w')

创建编写器对象。

clean(text)

使用此选项可避免在输出中出现换行符。

write_header()

将文件头写入输出文件。

将文件页脚写入输出文件。

write_record(record)

将单个记录写入输出文件。

Record-SeqRecord对象

write_records(records, maxcount=None)

将记录写入输出文件,并返回记录数。

记录-返回SeqRecord对象maxcount的列表或迭代器-文件格式允许的最大记录数,如果没有最大值,则为None。

write_file(records, mincount=0, maxcount=None)

用这些记录写一个完整的文件,并返回记录数。

记录-返回SeqRecord对象的列表或迭代器

class Bio.SeqIO.Interfaces.SequentialSequenceWriter(target, mode='w')

基类:SequenceWriter

序列编写器的基类(已弃用)。

这个类应该细分为子类。它不再被使用了。它适用于具有(可选)页眉、重复记录和(可选)页脚的顺序文件格式。它将以适当的顺序强制调用这些方法。要使用更新代码,请执行以下操作 SequentialSequenceWriter ,只是子类 SequenceWriter 并丢弃 ._header_written ETC检查(或重新实现它们)。

在这种情况下(与隔行扫描的文件格式一样),用户只需调用write_file()方法即可完成。

但是,它们也可以调用write_header(),然后多次调用write_record()和/或write_Records(),最后调用write_footer()。

即使相关的文件格式没有页眉或页脚,用户也必须调用WRITE_HEADER()和WRITE_FOOTER()。这是为了在切换输出格式时尽量简化工作。

请注意,WRITE_HEADER()不能要求任何关于记录数的假设。

__init__(target, mode='w')

初始化类。

write_header()

写入文件头。

如果您的文件格式定义了标头,则应实现此方法,以便在任何记录之前写入标头。

默认实现检查私有属性._HEADER_WRITED,以确保头只写入一次。

写入文件页脚。

如果您的文件格式定义了页脚,则应该实现此方法,以便在所有记录之后写入页脚。

默认实现检查私有属性._footer_write,以确保页脚只写入一次。

write_record(record)

将单个记录写入输出文件。

Record-SeqRecord对象

调用WRITE_HEADER()后,可以根据需要多次调用WRITE_RECORD()和/或WRITE_RECORDS()。然后调用write_footer()和close()。

write_records(records)

将多条记录写入输出文件。

记录-返回SeqRecord对象的列表或迭代器

调用WRITE_HEADER()后,可以根据需要多次调用WRITE_RECORD()和/或WRITE_RECORDS()。然后调用write_footer()和close()。

返回写入的记录数。

write_file(records)

使用此选项可以写入包含给定记录的整个文件。

记录-返回SeqRecord对象的列表或迭代器

此方法只能调用一次。返回写入的记录数。