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
额外的信息是从 XMFA 文件中提取的,并且可以通过每个记录的注释属性获得
>>> 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)
-
Mauve/XMFA 比对写入器。
- __init__(*args, **kwargs)
初始化类。
- write_alignment(alignment)
使用此方法将(另一个)单个比对写入打开的文件。
请注意,序列及其注释一起记录(而不是有一块注释,然后是一块比对序列)。