Bio.AlignIO.Interfaces 模块

AlignIO 支持模块(不适合一般使用)。

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

class Bio.AlignIO.Interfaces.AlignmentIterator(handle, seq_count=None)

Bases: object

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

您应该编写一个 next() 方法来返回 Alignment 对象。您可能也希望重新定义 __init__ 方法。

__init__(handle, seq_count=None)

创建一个 AlignmentIterator 对象。

参数
  • handle - 输入文件

  • count - 可选,每个比对的预期记录数。推荐用于 fasta 文件格式。

注意,在子类化时
  • 应该有一个唯一的非可选参数,即句柄,以及可选的计数,按此顺序。

  • 您可以添加其他可选参数。

__next__()

返回文件中下一个比对。

此方法应由任何派生类替换以执行有用的操作。

__iter__()

以 MultipleSeqAlignment 对象迭代条目。

用于(串联)PHYLIP 文件的示例用法

with open("many.phy","r") as myFile:
    for alignment in PhylipIterator(myFile):
        print("New alignment:")
        for record in alignment:
            print(record.id)
            print(record.seq)
class Bio.AlignIO.Interfaces.AlignmentWriter(handle)

Bases: object

用于构建 MultipleSeqAlignment 写入器的基类。

您应该编写一个 write_alignment() 方法。您可能也希望重新定义 __init__ 方法。

__init__(handle)

初始化类。

write_file(alignments)

使用此方法写入包含给定比对的整个文件。

参数
  • alignments - 返回 MultipleSeqAlignment 对象的列表或迭代器

通常,此方法每个文件只能调用一次。

此方法应由任何派生类替换以执行有用的操作。它应该返回比对的数量。

clean(text)

使用此方法避免在输出中获得换行符。

class Bio.AlignIO.Interfaces.SequentialAlignmentWriter(handle)

Bases: AlignmentWriter

用于构建 MultipleSeqAlignment 写入器的基类。

这假设每个比对都可以简单地附加到文件中。您应该编写一个 write_alignment() 方法。您可能也希望重新定义 __init__ 方法。

__init__(handle)

初始化类。

write_file(alignments)

使用此方法写入包含给定比对的整个文件。

参数
  • alignments - 返回 MultipleSeqAlignment 对象的列表或迭代器

通常,此方法每个文件只能调用一次。

write_header()

使用此方法写入任何标题。

此方法应由任何派生类替换以执行有用的操作。

使用此方法写入任何页脚。

此方法应由任何派生类替换以执行有用的操作。

write_alignment(alignment)

使用此方法写入单个比对。

此方法应由任何派生类替换以执行有用的操作。