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 |
|
目标 |
目标数据库 |
|
版本 |
弹幕版本 |