BLAST+6格式 (skbio.io.format.blast6
)¶
BLAST+6格式 (blast+6
)存储爆炸的结果 [1] 数据库搜索。结果以简单的表格格式存储,没有列标题。值由制表符分隔。
比较两个蛋白质序列的BLAST+6格式文件示例,取自 [2] (制表符由 <tab>
):
moaC<tab>gi|15800534|ref|NP_286546.1|<tab>100.00<tab>161<tab>0<tab>0<tab>1<tab>161<tab>1<tab>161<tab>3e-114<tab>330
moaC<tab>gi|170768970|ref|ZP_02903423.1|<tab>99.38<tab>161<tab>1<tab>0<tab>1<tab>161<tab>1<tab>161<tab>9e-114<tab>329
格式支持¶
嗅探员:没有
状态:从0.4.1开始试验。
读者 |
writer |
对象类 |
---|---|---|
是的 |
不 |
|
格式规范¶
BLAST+6格式是由BLAST+output format 6生成的基于表格的文本格式 (-outfmt 6
)和旧的BLAST输出格式8 (-m 8
). 它是制表符分隔的,没有列标题。使用BLAST+,用户可以通过指定列名(例如。, -outfmt "6 qseqid sseqid bitscore qstart sstart"
),如果不需要BLAST输出的默认列。
爆破柱类型¶
以下列类型由BLAST输出并由scikit-bio支持。此信息取自 [3].
名字 |
描述 |
类型 |
---|---|---|
质量标准 |
查询序列号 |
STR |
qgi公司 |
查询GI |
利息 |
卡塔尔航空公司 |
查询访问 |
STR |
qaccver公司 |
查询访问.version |
STR |
昆仑 |
查询序列长度 |
利息 |
sseqid公司 |
主题序列号 |
STR |
萨尔塞奇德 |
所有主题序列id,用“;”分隔 |
STR |
sgi公司 |
受试者GI |
利息 |
萨尔吉 |
全学科地理信息系统 |
利息 |
sacc公司 |
受试者接受者 |
STR |
萨克维尔 |
主题访问.version |
STR |
萨拉克 |
所有主题访问 |
STR |
斯伦 |
受试者序列长度 |
利息 |
Q开始 |
查询中对齐的开始 |
利息 |
Q结束 |
查询中的对齐结束 |
利息 |
开始 |
主题对齐开始 |
利息 |
发送 |
主题对齐结束 |
利息 |
qseq公司 |
查询序列的对齐部分 |
STR |
sseq公司 |
主题序列的对齐部分 |
STR |
安勤 |
期望值 |
浮动 |
比特分数 |
比特分数 |
浮动 |
分数 |
原始分数 |
利息 |
长度 |
定线长度 |
利息 |
皮登特 |
相同匹配的百分比 |
浮动 |
奈登特 |
相同匹配数 |
利息 |
不匹配 |
不匹配数 |
利息 |
积极的 |
得分阳性的比赛数 |
利息 |
加波彭 |
缺口数量 |
利息 |
差距 |
总间隙数 |
利息 |
酚醛树脂 |
得分阳性的比赛百分比 |
浮动 |
框架 |
用“/”分隔的查询和主题框架 |
STR |
Q框架 |
查询框架 |
利息 |
S帧 |
主题框架 |
利息 |
btop公司 |
爆炸回溯操作(BTOP) |
利息 |
葡萄球菌 |
唯一的主题分类ID,用“;”分隔(按数字顺序)。 |
STR |
sscinames |
唯一的主题学名,用“;”分隔 |
STR |
头颈 |
唯一的主题通用名,用“;”分隔 |
STR |
S姓氏 |
唯一的主题爆炸名称,用“;”分隔(按字母顺序) |
STR |
S王国 |
唯一主题超级王国,用“;”分隔(按字母顺序) |
STR |
针线 |
题目 |
STR |
sstrand公司 |
主题串 |
STR |
萨尔蒂尔斯 |
所有主题标题,用“<>”分隔 |
STR |
qcovs公司 |
每个主题的查询覆盖率 |
利息 |
qcovhsp公司 |
每个HSP的查询覆盖率 |
利息 |
备注
当BLAST+6格式的文件包含 N/A
值,scikit-bio会将这些值转换为 np.nan
,符合pandas表示缺失数据的约定。
备注
scikit-bio存储类型为的列 int
作为类型 float
在返回的 pd.DataFrame
. 这是必要的,以便 N/A
整数列中的值(这是目前对pandas的限制)。
格式参数¶
中提供了以下格式参数 blast+6
格式:
default_columns
:False
默认情况下。如果True
,将使用BLAST输出的默认列,即qseqid、sseqid、pident、length、mismatch、gapopen、qstart、qend、sstart、send、evalue和bitscore。警告
读取旧的BLAST文件时,必须通过
default_columns=True
因为legacy BLAST不允许用户指定输出文件中存在哪些列。columns
:None
默认情况下。如果提供,则必须是列名在文件中出现的顺序的列表。
备注
要么 default_columns
或 columns
必须提供,如 blast+6
不包含列标题。
示例
假设我们有一个 blast+6
具有默认列的文件:
>>> from io import StringIO
>>> import skbio.io
>>> import pandas as pd
>>> fs = '\n'.join([
... 'moaC\tgi|15800534|ref|NP_286546.1|\t100.00\t161\t0\t0\t1\t161\t1\t161\t3e-114\t330',
... 'moaC\tgi|170768970|ref|ZP_02903423.1|\t99.38\t161\t1\t0\t1\t161\t1\t161\t9e-114\t329'
... ])
>>> fh = StringIO(fs)
将文件读入 pd.DataFrame
并指定应使用默认列:
>>> df = skbio.io.read(fh, format="blast+6", into=pd.DataFrame,
... default_columns=True)
>>> df
qseqid sseqid pident length mismatch gapopen \
0 moaC gi|15800534|ref|NP_286546.1| 100.00 161.0 0.0 0.0
1 moaC gi|170768970|ref|ZP_02903423.1| 99.38 161.0 1.0 0.0
qstart qend sstart send evalue bitscore
0 1.0 161.0 1.0 161.0 3.000000e-114 330.0
1 1.0 161.0 1.0 161.0 9.000000e-114 329.0
假设我们有一个 blast+6
包含用户提供(非默认)列的文件:
>>> from io import StringIO
>>> import skbio.io
>>> import pandas as pd
>>> fs = '\n'.join([
... 'moaC\t100.00\t0\t161\t0\t161\t330\t1',
... 'moaC\t99.38\t1\t161\t0\t161\t329\t1'
... ])
>>> fh = StringIO(fs)
将文件读入 pd.DataFrame
并指定文件中存在的列:
>>> df = skbio.io.read(fh, format="blast+6", into=pd.DataFrame,
... columns=['qseqid', 'pident', 'mismatch', 'length',
... 'gapopen', 'qend', 'bitscore', 'sstart'])
>>> df
qseqid pident mismatch length gapopen qend bitscore sstart
0 moaC 100.00 0.0 161.0 0.0 161.0 330.0 1.0
1 moaC 99.38 1.0 161.0 0.0 161.0 329.0 1.0
引用