0

所以我有一些氨基酸序列字符串,我想将它们用作研究它与人体免疫系统某些组件相互作用的工具的输入(http://www.cbs.dtu.dk/services/NetMHCcons/) .

我想问一下,如果有的话,通过脚本(最好是 R 或 python)访问、输入数据和获取输出的方法是什么。我的主要问题是我有很多需要单独查询的序列,所以想要自动化整个事情。该网站有一个字段读取“提交”,该字段接受字符串输入。还有另一个字段“选择物种/基因座”,它提供了一个下拉菜单,需要从中选择一个选项。最后有一个“提交”按钮。点击提交后,输出只是加载到页面上。

我试探性地研究了 RSelenium 和 Rcurl,但想问问是否有更有效的方法。

4

2 回答 2

1

我看了一下从 Python 向该服务发送 POST 请求需要什么,它看起来是可能的:

  • 此表单采用“multipart/form-data”(请参阅​​:如何在 python 中发送带有请求的“multipart/form-data”?),您需要以这种格式发送数据。您可以检查来自浏览器的请求(使用开发工具)并从那里复制字段作为起点。
  • 提交表单后,它不会立即为您提供结果。您需要从响应中获取您的工作 ID,然后轮询 URL:http://www.cbs.dtu.dk/cgi-bin/webface2.fcgi?jobid={your_job_id}&wait=20直到它为您提供结果
  • 然后需要下载和解析结果

但是,此工具可作为 linux/mac 的便携式版本使用:https ://services.healthtech.dtu.dk/software.php

也许下载这个版本会更容易?

于 2020-05-29T07:16:58.320 回答
0

试试这个: Submitting to a web form using python 这个链接是关于如何在 python 中发送 web 表单的答案,使用urllib. 检查您的源代码并使用re模块从您提供的链接的源代码中提取必要的数据,然后发送请求。将python文件中http://www.cbs.dtu.dk/services/NetMHCcons/的HTML源代码保存为

source_code = '''...'''

HTML 可以通过CTRL+U在 firefox 中使用找到。

于 2020-05-29T07:30:00.200 回答