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