You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R提交IMGT/V-QUEST表单失败:隐藏字段与FASTA序列排查

关于R代码提交IMGT/V-QUEST表单失败的排查与问题解决

问题情况

尝试用R代码将FASTA格式的核苷酸序列提交至IMGT/V-QUEST输入页面,按照在线教程设置表单字段后,提交后的会话URL仍停留在输入页面,判定提交失败。已知手动操作时,未填写物种(示例为human)、基因座(示例为IGH)或序列格式错误都会导致提交失败,因此怀疑R代码存在问题,但不知道如何将会话保存为HTML文件进行排查。

怀疑方向

  • 序列格式:FASTA格式要求以>开头的标题加换行,再跟无换行的序列,不确定HTML表单是否支持\n作为换行符,尝试<br>也无效
  • 隐藏字段:设置species为human时收到警告“Setting value of hidden field 'species'”,怀疑下拉菜单的参数设置方式有误,未找到相关示例

现有R代码

#load libraries libraries
if (!require("tidyverse")){
  install.packages("tidyverse")
  library("tidyverse")
}

if (!require("rvest")){
  install.packages("rvest")
  library("rvest")
}

#set the url and the sequence to submit
url <- ("https://www.imgt.org/IMGT_vquest/input")

sequenceFASTA <- ">test\nGGTTCTCCTTGTTGCCATTTTAAAAGGTAATTCATGGAGAACTAGAGATAGTGTGAGTGGACGTGAGTGAGAGAAACAGTGGATATGTGTGGCAGTTTCTGACCTTGGTGTCTCTTTGTTTGCAGATGTCCAGTGTGAGGTGCAGCTGGTGGAGTCTGGGGGAGGCTTGGTCCAGCCTGGGGGGTCCCTGAGACTCTCCTGTTCAGCCTCTGGATTCACCTTCAGTAGCTATGCTATGCACTGGGTCCGCCAGGCTCCAGGGAAGGGACTGGAATATGTTTCAGCTATTAGTAGTAATGGGGGTAGCACATACTACGCAGACTCCGTGAAGGGCAGATTCACCATCTCCAGAGACAATTCCAAGAACACGCTGTATCTTCAAATGAGCAGTCTGAGAGCTGAGGACACGGCTGTGTATTACTGTGTGAAAGATCCGGAGGAGTTCGGTGGCTGGTACTGGGGGTTGGGCTACTGGGGCCAGGGAACCCT\n"

cat(sequenceFASTA)

#setwd("/Users/chmet515/Downloads/IMGT_quest playground")

#start a session
sess <- session(url)

#get the form
form_unfilled <- sess %>% html_node("form") %>% html_form()

#pass the required parameters to the form
form_filled   <- form_unfilled %>% html_form_set("species"="human", "sequences" = sequenceFASTA, "strains" = "IGH")

#submit the form and read the returned webpage
sess_results <- session_submit(sess,form_filled)
sess_results$handle$url
sess_results$response$request$fields

results_html <- sess_results %>% read_html()
results_html[2]

排查与解决建议

  1. 保存会话HTML排查错误
    使用write_html()将提交后的会话内容保存为本地HTML文件,打开后可查看页面实际提示的错误信息(如格式错误、字段缺失等):

    write_html(results_html, "submit_result.html")
    
  2. 修正FASTA序列格式
    HTML文本域的换行支持\n,但需确保序列部分无多余换行。可拆分标题与序列,重新拼接成规范格式:

    # 拆分FASTA行,确保序列无换行
    fasta_components <- str_split(sequenceFASTA, "\n")[[1]]
    sequenceFASTA_clean <- paste0(fasta_components[1], "\n", str_c(fasta_components[-1], collapse = ""))
    

    将sequenceFASTA_clean传入表单的sequences字段。

  3. 核对表单字段名
    出现隐藏字段警告,说明species可能不是表单的可见下拉字段名。可查看表单所有字段详情,确认正确的字段标识:

    # 打印表单所有字段信息
    print(form_unfilled$fields)
    

    对比浏览器开发者工具中手动提交的参数,确认物种、基因座对应的正确字段名(例如基因座可能对应locus而非strains)。

  4. 验证提交参数
    通过sess_results$response$request$fields查看实际提交的参数,与手动提交时的参数(浏览器网络面板查看)对比,排查是否存在参数缺失或值错误的情况。

内容的提问来源于stack exchange,提问作者user7405007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:05:39