PubTator NER API调用异常:未返回会话编号且触发500错误
排查PubTator NER API 500错误及会话编号未返回问题
以下是几个可能的问题点和解决方向:
文件名不匹配:你执行的curl命令里指定的是
input/ex2.PubTator,但描述中提到的输入文件是input/ex.PubTator,文件名不一致会导致curl无法读取正确的输入数据,直接引发服务器解析错误。先确认命令里的文件名和实际文件完全一致。缺少正确的请求头:PubTator的文本上传接口需要明确指定
Content-Type为text/plain,curl默认的请求头可能不符合服务器要求,导致解析失败返回500。修改后的curl命令应该是:curl -X POST -H "Content-Type: text/plain" --data-binary @input/ex.PubTator https://www.ncbi.nlm.nih.gov/research/pubtator-api/annotations/annotate/submit/Gene输入格式细节问题:虽然你说输入没有特殊字符,但可以再检查两个细节:
- 确认文件的换行符是Unix格式(LF),而非Windows格式(CRLF),部分服务器对换行符敏感;
- 确保每一行的PMID、类型标记(
t/a)和文本之间的分隔符是纯竖线|,没有额外空格或其他符号。
测试最小化请求:先跳过文件上传,直接用单条文本测试API是否正常,比如执行以下命令:
curl -X POST -H "Content-Type: text/plain" --data "20085714|t|Autosomal-dominant striatal degeneration is caused by a mutation in the phosphodiesterase 8B gene." https://www.ncbi.nlm.nih.gov/research/pubtator-api/annotations/annotate/submit/Gene如果这个请求能返回会话编号,说明问题出在原文件的读取或格式上;如果还是返回500,可能是服务器临时故障或端点变动。
内容的提问来源于stack exchange,提问作者juliandeanmoran
相关产品推荐
相关产品推荐

