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)
-
nib 文件解析器。
- __init__(source)
遍历 nib 文件并生成 SeqRecord。
source - 文件类对象或 nib 文件格式的路径,如 UCSC 定义的那样;该文件必须以二进制模式打开。
请注意,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__ = ()