Bio.SearchIO.BlastIO包

子模块

模块内容

Bio.SearchIO支持AMPS+输出格式。

该模块添加了对解析BST+输出的支持。BST+是NCBI遗留的BST(基本局部对齐搜索工具)的重写,基于NCBI C++工具包。BST+套件可作为命令行程序或NCBI的网页上提供。

Bio.SearchIO.BlastIO在以下BLAST+版本上进行了测试:

  • 口味:blastup、blastp、blastx、tblastax、tblastx

  • 版本:2.2.22+、2.2.26+

您还应该能够解析本地AMPS+搜索或NCBI Web界面的输出。尽管该模块没有针对所有BST+进行测试,但它应该仍然能够解析这些其他版本的输出。如果您偶然发现不可解析的文件,请提交错误报告。

该模块仍然可以解析来自AMPS遗留套件(AMPS+的前身)的某些输出格式。然而,结果并不能保证。您可以尝试使用Bio.Blast模块来解析它们。

有关AMPS的更多信息可通过以下链接获取:

支持的格式

Bio.SearchIO.BlastIO支持以下BST+输出格式:

  • XML - “blast-html”-解析、索引、编写

  • 表格 - “blast-tab”-解析、索引、编写

blast-html

blast-html解析器遵循在此处编写的blast-html:http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.mod.dtd

它为每个SearchIO对象提供以下属性:

对象

属性

XML元素

QueryResult

目标

BlastOutput_db

程序

BlastOutput_program

参考

BlastOutput_reference

版本

BlastOutput_version [1]

描述

迭代_query-dev

ID

迭代_查询ID

seq_len

迭代_query-len

param_evalue_threshold

Parameters_expect

param_entrez_query

参数_entrez-查询

param_filter

Parameters_filter

param_gap_extend

参数_gap-extend

param_gap_open

参数_gap-Open

param_include

Parameters_include

param_matrix

Parameters_matrix

param_pattern

Parameters_pattern

param_score_match

参数_sc-match

param_score_mismatch

参数_sc-match

stat_db_num

统计数据_db-num

stat_db_len

统计数据_db-len

stat_eff_space

统计数据_eff-Space

stat_entropy

Statistics_entropy

stat_hsp_len

统计数据_hsp-len

stat_kappa

Statistics_kappa

stat_lambda

Statistics_lambda

击中

加入

Hit_accession

描述

Hit_def

ID

Hit_id

seq_len

Hit_len

HSP

位得分

Hp_bit-score

密度

Hsp_density

evalue

Hsp_evalue

gap_num

Hsp_gaps

ident_num

Hsp_identity

pos_num

Hsp_positive

bitscore_raw

Hsp_score

HSPFragment(也通过HSPs)

aln_span

HSP_-len

hit_frame

Hp_hit-Frame

hit_start

Hp_hit-from

hit_end

HSP_hit-to

击中

Hsp_hseq

aln_annotation

Hsp_midline

pattern_start

Hp_pattern-from

pattern_end

Hp_pattern-to

query_frame

HSP_query-frame

query_start

HSP_query-from

query_end

Hsp_query-to

查询

Hsp_qseq

您可能会注意到,在BLASTML文件中,有时AMPS会用其自己生成的ID替换您的真实序列ID。例如,查询ID变成“Credy_1”、“Credy_2”等。而命中ID有时变成“gnl |BL_ORD_ID| 1','gnl |BL_ORD_ID| 2 '等等。在这些情况下,BST将真实序列ID及其描述集中在一起。

blast-html解析器意识到这些修改,并将尝试从描述中提取真实的序列ID。因此,当访问CredyResponse或Hit对象时,您将使用非BST生成的ID。

可以使用“use_raw_select_ids”参数禁用查询ID上的此行为,而可以使用“use_raw_hit_ids”参数禁用命中ID上的行为。两者都是布尔值,可以提供给SearchIO.read或SearchIO.parse,默认值设置为“False”。

在任何情况下,始终可以使用查询或命中对象的“blast_id”属性来访问原始AMPS ID。

blast-html写函数还接受“use_raw_select_ids”和“use_raw_hit_ids”参数。不过,请注意,编写器的默认值设置为“True”。这是因为作者的目的是尽可能地模仿原生的BST结果。

爆炸标签

blast-tab支持的默认格式是没有注释的变体(-m 6标志)。评论的BST表格文件可以使用设置为True的关键字参数“comments”来解析、索引或编写:

>>> # blast-tab defaults to parsing uncommented files
>>> from Bio import SearchIO
>>> uncommented = 'Blast/tab_2226_tblastn_004.txt'
>>> qresult = SearchIO.read(uncommented, 'blast-tab')
>>> qresult
QueryResult(id='gi|11464971:4-101', 5 hits)
>>> # set the keyword argument to parse commented files
>>> commented = 'Blast/tab_2226_tblastn_008.txt'
>>> qresult = SearchIO.read(commented, 'blast-tab', comments=True)
>>> qresult
QueryResult(id='gi|11464971:4-101', 5 hits)

对于未注释的文件,解析器默认使用AMPS的默认列顺序:“qseqid sseqid pident长度不匹配gapopen qstart qend sstart sstart send evalue bitscore”。

如果您想用自定义的列顺序解析未注释的文件,可以使用“fields”关键字参数来传递自定义列顺序。该专栏的名称遵循AMPS的命名。例如,“qseqid”是查询序列ID的列。这些名称可以作为Python列表或以分隔字符串的形式传递。

>>> # pass the custom column names as a Python list
>>> fname = 'Blast/tab_2226_tblastn_009.txt'
>>> custom_fields = ['qseqid', 'sseqid']
>>> qresult = next(SearchIO.parse(fname, 'blast-tab', fields=custom_fields))
>>> qresult
QueryResult(id='gi|16080617|ref|NP_391444.1|', 3 hits)
>>> # pass the custom column names as a space-separated string
>>> fname = 'Blast/tab_2226_tblastn_009.txt'
>>> custom_fields = 'qseqid sseqid'
>>> qresult = next(SearchIO.parse(fname, 'blast-tab', fields=custom_fields))
>>> qresult
QueryResult(id='gi|16080617|ref|NP_391444.1|', 3 hits)

您也可以使用'std'字段名作为BLAST默认12列的别名,就像运行命令行BLAST搜索一样。

请注意,如果已解析的文件被注释,“fields”关键字参数将被忽略。注释文件在文件中明确说明了其列顺序,因此无需在SearchIO中再次指定。

“注释”和“字段”关键字参数都适用于解析、索引和编写。

blast-tab为每个SearchIO对象提供以下属性:

对象

属性

列名

QueryResult

加入

qacc

accession_version

盖奇韦尔

GI

qgi

seq_len

克伦

ID

qseqid

击中

加入

SACC

accession_version

sacc_ver

GI

SGI

gi_all

萨尔吉

id_all

萨尔塞克德

seq_len

斯伦

ID

塞吉德

HSP

位得分

位得分

btop

btop

evalue

evalue

gapopen_num

空位开放

gap_num

差距

ident_num

尼丁特

ident_pct

可怜的

mismatch_num

失配

pos_pct

PPOs

pos_num

积极

bitscore_raw

评分

HSPFragment(也通过HSPs)

[2]

aln_span

长度

query_end

昆德

query_frame

qframe

查询

qseq

query_start

qstart

hit_end

发送

hit_frame

sframe

击中

sseq

hit_start

sstart

如果已解析的文件已被注释,则以下属性也可能可用:

对象

属性

QueryResult

描述

查询说明

领域

输出文件中的列

程序

爆炸味

摆脱

远程搜索ID

目标

目标数据库

版本

弹幕版本