SuperAPI AI 工具集

ncbi-blast-skill

编程与开发

查看项目

更新于 10-16 03:05

技能介绍

用途:通过 NCBI BLAST Common URL API 提交、轮询和汇总核苷酸或蛋白序列比对任务,适用于查询 RID 状态、获取 BLAST 结果等场景。

主要能力:脚本 scripts/ncbi_blast.py 支持 submit、status、fetch、run 四种动作;program 可选 blastn、blastp、blastx、tblastn、tblastx;result_format 默认 json2;默认 max_hits=5、max_queries=5、hitlist_size=50、wait_timeout_sec=900。输出包含 ok、source、action、warnings 等字段,run/fetch 返回 rid、status、has_hits、query_summaries 等摘要信息。

使用方式:脚本从 stdin 读取一个 JSON 对象。submit 和 run 需要 program、database、query_fasta、email(或 NCBI_EMAIL);status 和 fetch 需要 rid。运行命令为 python scripts/ncbi_blast.py,若缺少 requests 需先执行 python -m pip install requests。示例:echo '{"action":"run","program":"blastp","database":"swissprot","query_fasta":">q1\nMTEYK...","email":"you@example.com"}' | python scripts/ncbi_blast.py。

限制与规则:需遵守 NCBI 限制,同一 RID 请求间隔不少于 10 秒、轮询间隔不少于 60 秒;响应中始终保留 RID 以便恢复任务;默认不粘贴完整 JSON2 或长文本比对,原始输出写入文件并报告路径;仅在用户明确要求代码或无法执行时提供 Python 代码。参数细节可参考 references/blast-common-url-api.txt。