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

Q间隙计数+T间隙计数,总计

缝隙开口数

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,生成查询结果。

class Bio.SearchIO.BlatIO.BlatPslIndexer(filename, pslx=False)

基类:SearchIndexer

BLAT PSL输出的索引器类。

__init__(filename, pslx=False)

初始化类。

__iter__()

迭代文件句柄;生成键、起始偏移量和长度。

get_raw(offset)

从给定偏移量返回QueryResult对象的原始字节字符串。

__abstractmethods__ = frozenset({})
class Bio.SearchIO.BlatIO.BlatPslWriter(handle, header=False, pslx=False)

基类:object

BLAT-PSL格式的编写器。

__init__(handle, header=False, pslx=False)

初始化类。

write_file(qresults)

将查询结果写入文件。