Bio.Align.接口模块
Bio.Align支持模块(不用于一般用途)。
除非您正在为Bio.Align编写新的解析器或编写器,否则您不应该使用此模块。 它提供了Base Class来尝试简化事情。
- class Bio.Align.interfaces.AlignmentIterator(source)
基类:
AlignmentsAbstractBaseClass
用于构建对齐迭代器的Base Class。
您应该编写一个返回对齐生成器的解析方法。 您可能希望重新定义 __init__ 方法也是。
子类可以定义以下类属性:- mode - “t”或“b”分别代表文本或二进制文件-fdt - 文件格式的人类可读名称。
- mode = 't'
- fmt: str | None = None
- __init__(source)
创建AlignmentIterator对象。
参数:- source -输入文件流,或输入文件的路径
此方法可以被任何子集重写。
注意当子类化时:-应该有一个非可选的参数,即源。- 您可以添加其他可选参数。
- __next__()
返回下一个对齐方式。
- __len__()
返回对齐数量。
缓存对齐数量。如果尚未计算,则迭代器倒带到开头,并通过迭代对齐来计算对齐数量。然后迭代器返回到文件中的原始位置。
- __enter__()
- __exit__(exc_type, exc_value, exc_traceback)
- __getitem__(index)
将路线作为路线对象(从列表继承)返回。
只有以下形式的索引 [:] (i.e.,支持完整切片)。文件流返回到其零位置,文件头被读取并存储在Alignments对象中。接下来,我们迭代对齐并将它们存储在Alignments对象中。 然后迭代器返回到文件中的原始位置,并返回Alignments对象。Alignments对象包含与对齐迭代器本身完全相同的信息,但将对齐存储在列表中而不是作为迭代器,从而允许索引。
典型的用法是
>>> from Bio import Align >>> alignments = Align.parse("Blat/dna_rna.psl", "psl") >>> alignments.metadata {'psLayout version': '3'}
作为 alignments 是迭代器而不是列表,因此我们无法通过其索引检索对齐:
>>> alignment = alignments[2] Traceback (most recent call last): ... KeyError: 'only [:] (a full slice) can be used as the index'
因此我们使用迭代器创建一个类似列表的Alignments对象:
>>> alignments = alignments[:]
而 alignments 是一个类似列表的对象,它具有相同的 metadata 表示文件头中存储的信息的属性:
>>> alignments.metadata {'psLayout version': '3'}
现在我们可以索引单个对齐:
>>> len(alignments) 4 >>> alignment = alignments[2] >>> alignment.target.id, alignment.query.id ('chr3', 'NR_111921.1')
- rewind()
倒带迭代器,让它从一开始就在对齐中循环。
- __abstractmethods__ = frozenset({'_read_next_alignment'})
- __annotations__ = {'fmt': typing.Optional[str]}
- __firstlineno__ = 24
- __static_attributes__ = ('_index', '_len', '_stream', 'source')
- class Bio.Align.interfaces.AlignmentWriter(target)
基类:
ABC
对齐编写器的Base Class。这个类应该被细分。
它适用于具有(可选)标题、一个或多个路线和(可选)页脚的路线文件格式。
用户可以调用add_file()方法来编写包含对齐的完整文件。
或者,用户可以调用add_header(),然后多次调用form_alignance()和/或add_alignance(),最后调用add_footing()。
子类可以定义以下类属性:- mode - “t”或“b”分别代表文本或二进制文件-fdt - 文件格式的人类可读名称。
- mode = 't'
- fmt: str | None = None
- __init__(target)
创建writer对象。
参数:- target -输出文件流,或输出文件的路径
此方法可以被任何子集重写。
在进行子类时请注意:-应该有一个非可选参数,即目标。- 您可以添加其他可选参数。
- write_header(stream, alignments)
将文件头写入输出文件。
将文件页脚写入输出文件。
- format_alignment(alignment)
将单个对齐格式设置为字符串。
对齐-对齐对象
- write_single_alignment(stream, alignments)
将单个对齐方式写入输出文件,并返回1。
对齐-返回对齐对象流的列表或迭代器 - 输出文件流。
- write_multiple_alignments(stream, alignments)
将对齐方式写入输出文件,并返回对齐方式的数量。
对齐-返回对齐对象流的列表或迭代器 - 输出文件流。
- write_alignments(stream, alignments)
将对齐方式写入输出文件,并返回对齐方式的数量。
对齐-返回对齐对象流的列表或迭代器 - 输出文件流。
- write_file(stream, alignments)
将对齐方式写入文件流,并返回对齐方式的数量。
对齐-返回对齐对象流的列表或迭代器 - 输出文件流。
- write(alignments)
写一个文件与路线,并返回路线的数量。
对齐-返回对齐对象的列表或迭代器
- __abstractmethods__ = frozenset({})
- __annotations__ = {'fmt': typing.Optional[str]}
- __firstlineno__ = 197
- __static_attributes__ = ('_stream', '_target')