Bio.SeqIO.TabIO 模組
Bio.SeqIO 支援 “tab”(簡單的 tab 分隔)檔案格式。
您應該透過 Bio.SeqIO 函式使用此模組。
“tab” 格式是一種 ad-hoc 純文字檔案格式,其中每個序列都在一行(長)行上。每一行包含識別符/描述,接著是一個 tab,然後是序列。例如,考慮以下簡短的 FASTA 格式檔案
>ID123456 possible binding site?
CATCNAGATGACACTACGACTACGACTCAGACTAC
>ID123457 random sequence
ACACTACGACTACGACTCAGACTACAAN
除了描述之外,這可以用簡單的兩欄 tab 分隔格式表示如下
ID123456(tab)CATCNAGATGACACTACGACTACGACTCAGACTAC
ID123457(tab)ACACTACGACTACGACTCAGACTACAAN
當讀取此檔案時,“ID123456” 或 “ID123457” 將被視為記錄的 .id 和 .name 屬性。沒有其他資訊需要記錄。
類似地,當寫入此格式時,Biopython 將只會記錄記錄的 .id 和 .seq(而不是描述或任何其他資訊),如上面的範例所示。
- class Bio.SeqIO.TabIO.TabIterator(source)
基礎類別:
SequenceIterator
tab 分隔檔案的解析器。
- __init__(source)
以 SeqRecord 物件的形式迭代 tab 分隔的行。
檔案的每一行應只包含一個 tab,將該行分為識別符和完整序列。
- 引數
source - 以文字模式開啟的類檔案物件,或檔案的路徑
第一個欄位被視為記錄的 .id 和 .name(無論文字中是否有空格),第二個欄位是序列。
任何空白行都會被忽略。
範例
>>> with open("GenBank/NC_005816.tsv") as handle: ... for record in TabIterator(handle): ... print("%s length %i" % (record.id, len(record))) gi|45478712|ref|NP_995567.1| length 340 gi|45478713|ref|NP_995568.1| length 260 gi|45478714|ref|NP_995569.1| length 64 gi|45478715|ref|NP_995570.1| length 123 gi|45478716|ref|NP_995571.1| length 145 gi|45478717|ref|NP_995572.1| length 357 gi|45478718|ref|NP_995573.1| length 138 gi|45478719|ref|NP_995574.1| length 312 gi|45478720|ref|NP_995575.1| length 99 gi|45478721|ref|NP_995576.1| length 90
- parse(handle)
開始解析檔案,並傳回 SeqRecord 產生器。
- iterate(handle)
解析檔案並產生 SeqRecord 物件。
- __abstractmethods__ = frozenset({})
- __parameters__ = ()
- class Bio.SeqIO.TabIO.TabWriter(target: IO | PathLike | str | bytes, mode: str = 'w')
基礎類別:
SequenceWriter
用於寫入簡單 tab 分隔格式檔案的類別。
每一行只包含 “id(tab)sequence”。
任何描述、名稱或其他註釋都不會記錄。
此類別不應直接使用。請改用函式
as_tab
,或使用最高層級的Bio.SeqIO.write()
函式,並設定format="tab"
。- write_record(record)
將單一 tab 行寫入檔案。
- Bio.SeqIO.TabIO.as_tab(record)
傳回記錄為 tab 分隔(id(tab)seq)的字串。