Bio.SeqIO.NibIO模块¶
Bio.SeqIO支持UCSC nib文件格式。
NIB代表核苷酸序列的半字节(4位)表示。一个字节中的两个半字节分别存储一个核苷酸,数字表示如下:
0
-T
1
-C
2
-A
3
-G
4
-N(未知)
由于半字节中的第一位在核苷酸是软掩码的情况下被设置,因此我们还具有:
8
-t
9
-c
a
-a
b
-g
c
-n(未知)
NIB文件仅包含一个序列记录。您需要通过格式名称为“nib”的Bio.SeqIO函数使用此模块:
>>> from Bio import SeqIO
>>> record = SeqIO.read("Nib/test_even_bigendian.nib", "nib")
>>> print("%i %s..." % (len(record), record.seq[:20]))
50 nAGAAGagccgcNGgCActt...
有关文件格式的详细信息,请访问https://genome.ucsc.edu/FAQ/FAQformat.html.查看加州大学伯克利分校的描述
- class Bio.SeqIO.NibIO.NibIterator(source)¶
-
NIB文件的解析器。
- __init__(source)¶
迭代NIB文件并生成SeqRecord。
源-UCSC定义的NIB文件格式的类似文件的对象或文件路径;该文件必须以二进制模式打开。
请注意,NIB文件始终只包含一个序列记录。生成的SeqRecord对象的序列应该与Jim Kent的nibFrag实用程序使用-mask选项运行所生成的序列相匹配。
此函数通过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({})¶