Сервисы GMQL - генератор веб-сервисов на основе геномного языка для разностороннего доступа к данным высокопроизводительного секвенирования
Сервисы GMQL - система с формами доступа к базам биологических данных, основанная на геномном SQL-подобном языке GMQL. Создание веб-сервиса происходит автоматически на основе параметризованного запроса. После исполнения запроса пользователю доступны средства визуализации данных в виде графиков, таблиц или аннотаций в геномном браузере.
Назначение: доступ к базам данных высокопроизводительного секвенирования.
Область применения: биоинформатика, биология, геномика, базы данных, биологические лаборатории.
Используемый алгоритм: Каждый сервис состоит из параметризированного запроса на геномном языке GMQL, короткого описания функций сервиса и формы с параметрами, которые задает пользователь. Детальное описание с биологическими аспектами доступно для нескольких выделенных запросов. Также, для большинства запросов доступны параметры по умолчанию для того, чтобы новые пользователи смогли опробовать сервисы.
Сервисы GQML поддерживают два типа параметров, вводимых пользователем:
- Файловый тип. Файлы, которые загружает пользователь
- Текстовый тип. Любое текстовое значение
Файлы, которые задаются, как входные параметры, загружаются в формате BED и содержат геномные регионы. Сервисы GMQL загружают файлы, конвертируют их во внутренний формат GMQL, выполняют запросы с использованием этих внутренних данных, сохраняют выходные данные и затем удаляют временные данные на сервере. Таким образом, файлы сохраняются на сервере только во время выполнения запроса. Если пользователь задает несколько файлов, то они загружаются на сервер как несколько образцов одного набора данных.
Значения текстовых параметров вставляются напрямую в текст запроса. Например, сервис, который осуществляет выборку образцов из репозитория ENCODE по клеточной линии, используя параметр «cell». Параметр «cell» может принимать различные значения (например, K562, H1-hESC, GM12878, и т.д.), которые соответствуют значениям клеточных линий в репозитории ENCODE. Пользователь выбирает значение параметра и запрос выполняется с этим значением. Для удобства пользователя доступно авто-заполнение значений. Значения подставляются из мета-данных, собранных по всему репозиторию, по мере того, как пользователь печатает в поле параметра.
Если запрос осуществляется к коллекции с публичными данными, то пользователь имеет возможность оценить количества образцов, которые будут выбраны. Для этого пользователь задает параметры, сервисы GMQL находят запросы выборки и запускают их с заданными параметрами. Это необходимо, чтобы оценить количество выбранных образцов перед запуском вычислительно требовательных запросов.
Сервисы GMQL запускаются асинхронно, то есть пользователь может запустить несколько запросов одновременно. Запросы передаются на исполнение вычислительному ядру, основанном на Hadoop, и используют внутренние репозитории с данными. Результат, который предоставляет вычислительное ядро, передается обратно сервисам GMQL, которые осуществляют дополнительные вычисления, например, для отображения графиков.
Необработанные данные, полученные после выполнения каждого запроса, представляют собой архив с файлами, содержащими геномные участки. Для того, чтобы предоставить пользователю информацию о содержании этих архивов и файлов, сервисы GMQL осуществляют дополнительную обработку данных и выводят отчеты в трех форматах:
- Форматом по умолчанию является стандартный выходной формат GMQL – геномные участки в формате GTF (индексация с 0), мета-данные и технические детали выполнения запроса.
- Формат CSV сохраняет все регионы (индексация с 1) с мета-данными всего образца, которые добавляются к каждому региону. Этот формат может быть использован для дальнейшей работы с регионами программным способом.
- Формат BED содержит только геномные регионы (индексация с 1), без мета-данных.
Полученные в результате геномные участки могут быть визуализированы в геномном браузере IGB. Сервисы GMQL используют скриптовый язык IGB и веб-соединение IGB. Геномный браузер IGB должен быть запущен на компьютере пользователя, тогда ссылка, которая доступна в отчете, генерируемом после запуска сервисов, автоматически перенаправит полученные данные в браузер IGB. Данные будут автоматически скачаны с сайта GMQL и загружены в геномный браузер, как треки аннотаций.
Функциональные возможности
- Структурированный доступ к базам данных высокопроизвоидетльного секвенирования
- Автозаполнение параметров
- Загрузка пользовательских файлов
- Асинхронный запуск сервисов
- Генерация результатов в форматах BED, BedGrpah
- Генерация выходных графиков и таблиц (распредеоение участков, тепловая карта участков и т.д.)
- Расширение новыми сервисами с подстветкой синтаксиса для языка GMQL
Сервисы GMQL рассчитаны на обработку коллекций данных объемом до 400Гб. Среднее время выполнения одного из 26-ти встроенных веб-сервисов составляет 5 минут.
Инструментальные средства создания - приложение на фреймворке Django, которое запускается с помощью HTTP-сервера и WSGI сервера Python. Связанные модули Python указаны в файле requirements.txt. Редактируемые переменные окружения безопасности (максимальный размер загружаемого файла, максимальное время выполнения запроса и т.д.) находятся в файле настроек.
-