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)的字串。