Bio.SeqIO.NibIO 模組

Bio.SeqIO 支援 UCSC nib 檔案格式。

Nib 代表核苷酸序列的 nibble (4 位元) 表示法。一個位元組中的兩個 nibble 各儲存一個核苷酸,以數值方式表示如下

  • 0 - T

  • 1 - C

  • 2 - A

  • 3 - G

  • 4 - N (未知)

如果核苷酸是軟遮罩的,則 nibble 中的第一個位元會被設定,因此我們還有

  • 8 - t

  • 9 - c

  • a - a

  • b - g

  • c - n (未知)

一個 nib 檔案只包含一個序列記錄。您應該透過 Bio.SeqIO 函數,以格式名稱 "nib" 使用此模組。

>>> from Bio import SeqIO
>>> record = SeqIO.read("Nib/test_even_bigendian.nib", "nib")
>>> print("%i %s..." % (len(record), record.seq[:20]))
50 nAGAAGagccgcNGgCActt...

有關檔案格式的詳細資訊,請參閱 UCSC 描述:https://genome.ucsc.edu/FAQ/FAQformat.html

class Bio.SeqIO.NibIO.NibIterator(source)

基類:SequenceIterator

用於 nib 檔案的解析器。

__init__(source)

迭代 nib 檔案並產生一個 SeqRecord。

  • source - 一個類似檔案的物件,或是 UCSC 定義的 nib 檔案格式的檔案路徑;檔案必須以二進制模式開啟。

請注意,一個 nib 檔案始終只包含一個序列記錄。產生的 SeqRecord 物件的序列應該與 Jim Kent 的 nibFrag 工具以 -masked 選項執行的序列相符。

此函數在內部透過 Bio.SeqIO 函數使用

>>> from Bio import SeqIO
>>> record = SeqIO.read("Nib/test_even_bigendian.nib", "nib")
>>> print("%s %i" % (record.seq, len(record)))
nAGAAGagccgcNGgCActtGAnTAtCGTCgcCacCaGncGncTtGNtGG 50

您也可以直接呼叫它

>>> with open("Nib/test_even_bigendian.nib", "rb") as handle:
...     for record in NibIterator(handle):
...         print("%s %i" % (record.seq, len(record)))
...
nAGAAGagccgcNGgCActtGAnTAtCGTCgcCacCaGncGncTtGNtGG 50
parse(handle)

開始解析檔案,並返回一個 SeqRecord 生成器。

iterate(handle, byteorder)

迭代 nib 檔案中的記錄。

__abstractmethods__ = frozenset({})
__parameters__ = ()
class Bio.SeqIO.NibIO.NibWriter(target)

基類:SequenceWriter

Nib 檔案寫入器。

__init__(target)

初始化 Nib 寫入器物件。

引數
  • target - 以二進制模式開啟的輸出串流,或是檔案的路徑

write_header()

寫入檔案標頭。

write_record(record)

將單一記錄寫入輸出檔案。

write_file(records)

寫入包含記錄的完整檔案,並返回記錄的數量。