Bio.SeqIO.AceIO 模块

Bio.SeqIO 对“ace”文件格式的支持。

您应该通过 Bio.SeqIO 函数使用此模块。另请参见 Bio.Sequencing.Ace 模块,它提供的功能不只是将 ACE 文件中的重叠群共识序列作为 SeqRecord 对象访问。

Bio.SeqIO.AceIO.AceIterator(source)

从 ACE 文件中返回 SeqRecord 对象。

这使用 Bio.Sequencing.Ace 模块来完成繁重的工作。请注意,通过一次遍历文件,我们被迫忽略任何 WA、CT、RT 或 WR 尾部标签。

Ace 文件包含每个位置的碱基质量,这些质量被认为是 PHRED 风格的分数。就像使用 Bio.SeqIO 使用 PHRED 分数读取 FASTQ 或 QUAL 文件一样,这些分数存储在 SeqRecord 的 letter_annotations 字典中,键为“phred_quality”。

>>> from Bio import SeqIO
>>> with open("Ace/consed_sample.ace") as handle:
...     for record in SeqIO.parse(handle, "ace"):
...         print("%s %s... %i" % (record.id, record.seq[:10], len(record)))
...         print(max(record.letter_annotations["phred_quality"]))
Contig1 agccccgggc... 1475
90

但是,ACE 文件不包含共识序列中任何间隙的碱基质量,这些间隙在 Biopython 中用质量为零表示。使用零可能具有误导性,因为可能存在非常有力的证据来支持共识中的间隙。因此,Biopython 的早期版本使用 None 代替,但这使得使用变得复杂,并阻止了将带间隙序列输出为 FASTQ 格式。

>>> from Bio import SeqIO
>>> with open("Ace/contig1.ace") as handle:
...     for record in SeqIO.parse(handle, "ace"):
...         print("%s ...%s..." % (record.id, record.seq[85:95]))
...         print(record.letter_annotations["phred_quality"][85:95])
...         print(max(record.letter_annotations["phred_quality"]))
Contig1 ...AGAGG-ATGC...
[57, 57, 54, 57, 57, 0, 57, 72, 72, 72]
90
Contig2 ...GAATTACTAT...
[68, 68, 68, 68, 68, 68, 68, 68, 68, 68]
90