Bio.SeqIO.AceIO 模組

Bio.SeqIO 支援 “ace” 檔案格式。

您應該透過 Bio.SeqIO 函式來使用此模組。另請參閱 Bio.Sequencing.Ace 模組,它不僅提供以 SeqRecord 物件存取 ACE 檔案中的 contig consensus 序列的功能。

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 檔案不包含 consensus 序列中任何間隙的基本品質,這些在 Biopython 中以零品質表示。使用零可能具有誤導性,因為可能存在非常強烈的證據支援 consensus 中的間隙。因此,先前的 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