Скрипт для автоматизации онлайн-запросов к инструментам - PullRequest
0 голосов
/ 29 мая 2020

Итак, у меня было несколько строк аминокислотных последовательностей, которые я хотел использовать в качестве входных данных для инструмента, изучающего его взаимодействие с определенными компонентами иммунной системы человека (http://www.cbs.dtu.dk/services/NetMHCcons/).

Я хотел спросить, каким будет, если таковой имеется, способ доступа, ввода данных и получения вывода через скрипт (предпочтительно R или python). Моя основная проблема заключалась в том, что у меня было много последовательностей, которые нужно запрашивать отдельно, поэтому я хотел автоматизировать все это. На веб-сайте есть одно поле с надписью «Submission», которое принимает строковый ввод. Есть еще одно поле «выбрать виды / локусы», которое дает раскрывающееся меню, из которого необходимо выбрать вариант. Наконец, есть кнопка «отправить». Результат просто загружается на страницу после нажатия кнопки «Отправить».

Я предварительно пробежался по RSelenium и Rcurl, но хотел спросить, есть ли более эффективный метод.

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Я посмотрел, что нужно для отправки POST-запроса в эту службу из Python, и это выглядит возможным:

  • эта форма принимает "multipart / form-data "(см .: Как отправить" multipart / form-data "с запросами в python? ), вам необходимо отправлять свои данные в этом формате. Вы можете проверить запрос из браузера (используя инструменты разработчика) и скопировать оттуда поля в качестве отправной точки.
  • после отправки формы он не сразу дает вам результат. Вам нужно будет получить идентификатор вашей работы из ответа, а затем опросить URL: http://www.cbs.dtu.dk/cgi-bin/webface2.fcgi?jobid={your_job_id}&wait=20, пока он не даст вам результат
  • , результат необходимо будет загрузить и проанализировать

Однако этот инструмент доступен как портативная версия для linux / ma c: https://services.healthtech.dtu.dk/software.php

Возможно, загрузка этой версии упростит задачу?

0 голосов
/ 29 мая 2020

Попробуйте следующее: Отправка в веб-форму, используя python Эта ссылка является ответом на то, как отправлять веб-формы в python, используя urllib. Проверьте свой исходный код и извлеките необходимые данные с помощью модуля re из исходного кода ссылки, которую вы разместили, и отправьте запрос. сохраните HTML исходный код http://www.cbs.dtu.dk/services/NetMHCcons/ в файле python как

source_code = '''...'''

HTML можно найти, используя CTRL+U в firefox.

...