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')¶
-
序列编写器的基类(已弃用)。
这个类应该细分为子类。它不再被使用了。它适用于具有(可选)页眉、重复记录和(可选)页脚的顺序文件格式。它将以适当的顺序强制调用这些方法。要使用更新代码,请执行以下操作
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对象的列表或迭代器
此方法只能调用一次。返回写入的记录数。