Bio.AlignIO.MauveIO模块

Bio.AlignIO支持Mauve/ProgressiveMauve的“xmfa”输出。

预计您将通过Bio.AlignIO函数(或者,如果您想直接处理间隔序列,则通过Bio.SeqIO函数)使用此模块。

例如,考虑包含以下内容的ProgressiveMauve对齐文件::

#FormatVersion Mauve1
#Sequence1File      a.fa
#Sequence1Entry     1
#Sequence1Format    FastA
#Sequence2File      b.fa
#Sequence2Entry     2
#Sequence2Format    FastA
#Sequence3File      c.fa
#Sequence3Entry     3
#Sequence3Format    FastA
#BackboneFile       three.xmfa.bbcols
> 1:0-0 + a.fa
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> 2:5417-5968 + b.fa
TTTAAACATCCCTCGGCCCGTCGCCCTTTTATAATAGCAGTACGTGAGAGGAGCGCCCTAAGCTTTGGGAAATTCAAGC-
--------------------------------------------------------------------------------
CTGGAACGTACTTGCTGGTTTCGCTACTATTTCAAACAAGTTAGAGGCCGTTACCTCGGGCGAACGTATAAACCATTCTG
> 3:9476-10076 - c.fa
TTTAAACACCTTTTTGGATG--GCCCAGTTCGTTCAGTTGTG-GGGAGGAGATCGCCCCAAACGTATGGTGAGTCGGGCG
TTTCCTATAGCTATAGGACCAATCCACTTACCATACGCCCGGCGTCGCCCAGTCCGGTTCGGTACCCTCCATGACCCACG
---------------------------------------------------------AAATGAGGGCCCAGGGTATGCTT
=
> 2:5969-6015 + b.fa
-----------------------
GGGCGAACGTATAAACCATTCTG
> 3:9429-9476 - c.fa
TTCGGTACCCTCCATGACCCACG
AAATGAGGGCCCAGGGTATGCTT

这是具有多个对齐部分的多序列对齐,因此您可能会使用Bio.AlignIO.parse()函数加载它:

>>> from Bio import AlignIO
>>> align = AlignIO.parse("Mauve/simple_short.xmfa", "mauve")
>>> alignments = list(align)
>>> for aln in alignments:
...     print(aln)
...
Alignment with 3 rows and 240 columns
--------------------------------------------...--- a.fa
TTTAAACATCCCTCGGCCCGTCGCCCTTTTATAATAGCAGTACG...CTG b.fa/5416-5968
TTTAAACACCTTTTTGGATG--GCCCAGTTCGTTCAGTTGTG-G...CTT c.fa/9475-10076
Alignment with 2 rows and 46 columns
-----------------------GGGCGAACGTATAAACCATTCTG b.fa/5968-6015
TTCGGTACCCTCCATGACCCACGAAATGAGGGCCCAGGGTATGCTT c.fa/9428-9476

其他信息从XM FA文件中提取,并通过每条记录的注释属性获得:

>>> for record in alignments[0]:
...     print(record.id, len(record))
...     print("  start: %d, end: %d, strand: %d" %(
...         record.annotations['start'], record.annotations['end'],
...         record.annotations['strand']))
...
a.fa 240
  start: 0, end: 0, strand: 1
b.fa/5416-5968 240
  start: 5416, end: 5968, strand: 1
c.fa/9475-10076 240
  start: 9475, end: 10076, strand: -1
class Bio.AlignIO.MauveIO.MauveWriter(*args, **kwargs)

基类:SequentialAlignmentWriter

Mauve/XMFA对齐写入器。

__init__(*args, **kwargs)

初始化课程。

write_alignment(alignment)

使用此功能将(另一个)单一对齐写入打开的文件。

请注意,序列及其注释被记录在一起(而不是在注释块后面跟着对齐的序列块)。

__annotations__ = {}
__firstlineno__ = 106
__static_attributes__ = ('_length_of_sequences', '_wrote_first', '_wrote_header')
class Bio.AlignIO.MauveIO.MauveIterator(handle, seq_count=None)

基类:AlignmentIterator

Mauve xmfa对齐迭代器。

__next__()

从手柄解析下一个对齐方式。

__annotations__ = {'_ids': list[str]}
__firstlineno__ = 223
__static_attributes__ = ('ids', 'sequences')