Bio.SearchIO.BlatIO模块¶
Bio.SearchIO BLAT输出格式解析器。
此模块添加了对解析BLAT输出的支持。BLAT(BLAST-Like Alignment Tool)是一种序列相似性搜索程序,最初是为注释人类基因组而构建的。
Bio.SearchIO.BlastIO使用独立的BLAT版本34,psLayout版本3进行了测试。它应该能够毫无问题地解析psLayout版本4。
有关BLAT的更多信息,请访问以下站点:
支持的格式¶
BlatIO支持解析、索引和写入PSL和PSLX输出格式,带或不带报头。要解析、索引或写入PSLX文件,请使用‘pslx’关键字参数并将其设置为True。
#BLAT-PSL默认为PSL文件>来自Bio导入SearchIO>PSL=‘Blat/PSL_34_004.psl’>qresult=SearchIO.read(psl,‘blat-psl’)>qresult QueryResult(id=‘hg19_DNA’,10次点击)
#设置pslx标志解析PSLX文件>pslx=‘Blat/pslx_34_004.pslx’>qresult=SearchIO.read(pslx,‘blat-psl’,pslx=True)>qresult QueryResult(id=‘hg19_DNA’,10次命中)
对于解析和索引,您不需要指定文件是否有头。对于写入,如果您想写一个头,可以将‘Header’关键字参数设置为True。这将向您的输出文件写入一个“psLayout Version 3”头。
from Bio import SearchIO qresult=SearchIO.read(psl,‘blat-psl’)SearchIO.write(qresult,‘header.psl’,header=True)<stdout>(1,10,19,23)
请注意,写入的HSPFragments的数量可能会超过HSP对象的数量。这是因为在PSL文件中,可能有由不连续序列片段组成的单个匹配。这就是HSPFragment对象发挥作用的地方。这些片段被分组到单个HSP中,因为它们共享相同的统计数据(例如,匹配号、BLAT得分等)。但是,它们不共享相同的序列属性(如开始和结束坐标),从而使它们成为不同的对象。
除了解析PSL(X)文件外,BlatIO还计算搜索结果的身份百分比和分数。这是使用此处发布的计算公式完成的:http://genome.ucsc.edu/FAQ/FAQblat.html#blat4.它模仿了UCSC的Web BLAT服务进行的分数和同一性百分比计算。
由于BlatIO在单次遍历中解析文件,因此它希望同一查询的所有结果都在连续的行中。如果一个查询的结果分散在不连续的行中,则BlatIO会将它们视为单独的QueryResult对象。
在大多数情况下,PSL(X)格式使用与Python相同的坐标系(从零开始,半开放)。这些坐标锚定在正线上。但是,如果查询在负链上对齐,则BLAT将在负链上锚定qStart坐标。BlatIO知道这一点,每当它看到负链查询匹配时,它就会将qStart坐标重新锚定到正链。相反,当您写出到PSL(X)文件时,BlatIO会再次将qStart重新锚定到负链。
BlatIO提供以下属性-列映射:
对象 |
属性 |
列名,值 |
---|---|---|
QueryResutl |
ID号 |
Q名称,查询序列ID |
seq_len |
Q大小,查询序列全长 |
|
命中 |
ID号 |
设置名称,命中序列ID |
seq_len |
T大小,命中序列全长 |
|
HSP |
hit_end |
t结束,最后一次命中片段的结束坐标 |
hit_gap_num |
T间隙碱基,HIT中插入的碱基数 |
|
hit_gapopen_num |
T间隙计数,命中间隙插入数 |
|
hit_span_all |
块大小,每个片段的大小 |
|
hit_start |
t开始,第一个命中片段的开始坐标 |
|
hit_start_all |
t开始,每个命中片段的开始坐标 |
|
match_num |
匹配,非重复匹配的数量 |
|
mismatch_num |
不匹配,不匹配的数量 |
|
match_rep_num |
代表。Match,作为重复的一部分的匹配数 |
|
n_num |
N‘s,N个碱基的个数 |
|
query_end |
Q结束,最后一个的结束坐标 |
|
query_gap_num |
查询片段Q个间隙碱基,查询中插入的碱基数 |
|
query_gapopen_num |
Q间隙计数,查询间隙插入数 |
|
query_span_all |
块大小,每个片段的大小 |
|
query_start |
Q开始,第一个查询挡路的开始坐标 |
|
query_start_all |
QStart,每个查询片段的起始坐标 |
|
镜头 [*] |
挡路计数,路线中的块数 |
|
HSPFragment |
命中 |
命中序列(如果存在) |
hit_strand |
链、命中序列链 |
|
查询 |
查询序列(如果存在) |
|
query_strand |
链、查询序列链 |
除了上面的列映射之外,BlatIO还提供以下对象属性:
对象 |
属性 |
价值 |
---|---|---|
HSP |
gapopen_num |
|
ident_num |
匹配+重新匹配,相同残留物的总数 |
|
ident_pct |
相同百分比,使用UCSC公式计算 |
|
query_is_protein |
布尔值,查询序列是否为蛋白质 |
|
得分 |
HSP得分,使用UCSC公式计算 |
最后,还提供了默认的HSP和HSPFragment属性。有关这些属性的详细信息,请参阅HSP和HSPFragment文档。
- class Bio.SearchIO.BlatIO.BlatPslParser(handle, pslx=False)¶
基类:
object
BLAT PSL格式的解析器。
- __init__(handle, pslx=False)¶
初始化类。
- __iter__()¶
迭代BlatPslParser,生成查询结果。