許多生物資訊工具會使用不同的輸入檔案格式,因此常常需要轉換序列檔案格式。一個有用的選項是指令列工具 EMBOSS 的 seqret,但這裡我們將展示如何使用 Bio.SeqIO 來解決這個問題。
假設您有一個 GenBank 檔案,想要將其轉換為 Fasta 檔案。例如,讓我們考慮檔案 cor6_6.gb
(此檔案包含在 Biopython 單元測試的 GenBank 目錄下)
from Bio import SeqIO
with open("cor6_6.gb", "rU") as input_handle:
with open("cor6_6.fasta", "w") as output_handle:
sequences = SeqIO.parse(input_handle, "genbank")
count = SeqIO.write(sequences, output_handle, "fasta")
print("Converted %i records" % count)
在這個例子中,GenBank 檔案包含六個紀錄,並像這樣開始
LOCUS ATCOR66M 513 bp mRNA PLN 02-MAR-1992
DEFINITION A.thaliana cor6.6 mRNA.
ACCESSION X55053
VERSION X55053.1 GI:16229
...
產生的 Fasta 檔案也包含所有六個紀錄,看起來像這樣
>X55053.1 A.thaliana cor6.6 mRNA.
AACAAAACACACATCAAAAACGATTTTACAAGAAAAAAATA...
...
請注意,Fasta 檔案只能儲存識別符、描述和序列。
透過更改格式字串,該程式碼可用於在任何支援的檔案格式之間進行轉換。
您不必使用檔案控制代碼 - 請參閱這個使用 使用 Bio.SeqIO 從 stdin 和 stdout 管道讀取的範例。
請參閱 Bio.SeqIO 頁面。