1 / 43

UGENE Tech Talk: от поиска повторов к облакам

UGENE Tech Talk: от поиска повторов к облакам. Констан т ин Оконечников Unipro 20 10. Содержание. Часть 0: введение Проект Unipro UGENE Часть 1: real-life bioinformatics Работа с биологическими данными Алгоритмы биоинформатики HPC и облачные вычисления Часть 2: за кулисами

kalin
Download Presentation

UGENE Tech Talk: от поиска повторов к облакам

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UGENE Tech Talk: от поиска повторов к облакам Константин Оконечников Unipro 2010

  2. Содержание Часть 0: введение • Проект Unipro UGENE Часть 1: real-life bioinformatics • Работа с биологическими данными • Алгоритмы биоинформатики • HPC и облачные вычисления Часть 2: за кулисами • Разработка в деталях • Особенности создания СПО

  3. Введение

  4. Unipro UGENE Цель проекта – интеграция наиболее используемых алгоритмов анализа генетических данных в единой визуальной рабочей среде, удобной для прикладного специалиста. • Свободная лицензия; • Кросс-платформенность; • Модульная архитектура, более 30 расширений; • Единый, удобный пользовательский интерфейс; • Концептуальная целостность в работе данными; • Эффективное использование вычислительных ресурсов; • Поддержка составных методов анализа данных.

  5. Занимательные факты • Поддерживаемые платформы: Windows, Mac, Linux X11 • Язык программирования: C++, Qt • Большая часть интегрированных алгоритмов встроена на уровне исходного кода

  6. Краткий обзор возможностей UGENE • Множественное выравнивание: MUSCLE, Kalign, Clustal, Mafft • Сверхбыстрый поиск повторов • 3D визуализатор молекул • Визуализация и редактирование хроматограмм • Аннотирование геномов • Анализ гомологии на основе цепей Маркова (HMMER) • Поиск открытых рамок считывания для всех генетических таблиц • Поддержка запросов к удаленным базам данных (типа BLAST, CDD) • Сайты рестрикции, cайты связывания транскрипционных факторов

  7. Краткий обзор возможностей UGENE Редактор вычислительных схем • Интуитивно понятный интерфейс пользователя; • Расширяемость – легкое добавление новых вычислительных блоков; • Каждый блок может иметь различные оптимизированные реализации для различных платформ; • Автоматическая загрузка всех доступных вычислительных ресурсов; • Интерактивность. • Высокопроизводительные вычисления • Многоядерные процессоры • Кластеры и грид-системы • GPGPU, специальные вычислители • Облачные вычисления

  8. Текущее состояние проекта • Более 1000 активных пользователей • Проект входит в официальные версии дистрибутивов Linux: Ubuntu, Fedora, Arch • Взаимодействие с российскими и рядом зарубежных институтов в области вычислительной молекулярной биологии • Перенос задач на суперкомпьютеры

  9. Real-life bioinformatics

  10. Рост объемов информации

  11. Форматы данных MSF EMBL CLUSTAL STOCKHOLM Genbank GFF FASTA FASTQ NEWICK NEXUS MMDB SCF ABI SAM CSV HMMER2/3 PDB Plain text

  12. Биологические объекты • Последовательность • Множественное выравнивание • Трехмерная структура • Филогенетическое дерево • Аннотация • Хроматограмма • …

  13. Sequence • Алфавит • DNA,RNA,аминокислотный • Аннотации • Quality • Sanger и т.д. • Форматы: • Genbank • Fasta • ...over 9000

  14. Множественное выравнивание • Состоит из последовательностей • «Помнит» смещения • Требует особой визуализации • Вариативность • Масштабирование

  15. Трехмерная модельбелка • Набор координат атомов • Вторичная структура • Граф химических связей • Домены

  16. Работа с форматами • Определение типа объекта • «Неправильные» файлы • Несоответствия • Ошибки • Режимы чтения и записи • Запись или экспорт?

  17. «Большие» данные • Индексирование • Потоковое чтение/запись • Суффиксный массив • Управление памятью • Мета данные

  18. Карта данных Кэш Активное представление Данные Активное представление Данные Данные

  19. Pairwise alignment • Динамическое программирование • Нидлман-Вунш • Смит-Ватерман • Весовые матрицы • Blast/PsiBlast • Hidden Markow Model

  20. Multiple Alignment • Clustal • Muscle • KAlign • Mafft • TCoffee

  21. Сборка контигов • Reference (по сути pairwise) • Bowtie • Bwa • Cufflinks • Mummer • De Novo (без референтная) • AMOS

  22. Genomics & genetics • Поиск повторов • Ферменты рестрикции • Транскрипционные факторы • Рамки считывания • Подбор праймеров • Моделирование экспериментов генной инженерии

  23. Анализ белков • Предсказание вторичной структуры • Фолдинг и третичная структура • Поиск активных сайтов • Предсказание взаимодействия • Обратная трансляция • Взаимодействие РНК

  24. UGENE Service • Идея: использование удаленных вычислительных ресурсов для решения задачбиоинформатики

  25. Аппаратное обеспечение • Многоядерные процессоры • Расширенные наборы инструкций SIMD (SSE,SSE2,AltiVEC) • Архитектура CELL процессоров • NVIDIA GPU с CUDA библиотекой • ATI GPU с ATISTREAM библиотекой

  26. Компоненты сервиса 1) Графический интерфейс создания вычислительных схем и запуска вычислений 2) Вычислительный модуль • Менеджер вычислительных задач UGENE (внутренний планировщик) • Сервис управления процессами в кластерной среде или вычислительном облаке (внешний планировщик) 3) Центр администрирования

  27. Менеджер вычислительных задач • Низкоуровневая реализация алгоритмов • Планировщик выполнения заданий • Оптимизация приоритета задач и выделяемой памяти • Состояние работы вычислительной схемы

  28. Сервис управления процессами • Взаимодействие с удаленными процессами UGENE • Инициирует запуск задач • Управление очередью задач • Управление ресурсами кластера или вычислительного облака

  29. Центр администрирования • Установить параметры сервиса управления процессов: ограничить мощности CPU, дисковую и оперативную память и т.д. • Вести учет пользователей использующих HPC платформу, просматривать пользовательские записи, управлять авторизационными механизмами. • Использовать средства мониторинга пользовательских запросов для просмотра статистики задач.

  30. Практика: Amazon EC2 Сервис предоставляет вычислительные мощности в облаке. Позволяет: • Использовать заранее подготовленный образ виртуальной машины содержащий приложение, данные и связанные с ними конфигурационные параметры. • Загружать образ в виде виртуальной машины заданной категории мощности; • Использовать динамический или статический IP для данной машины; • Использовать блоки хранения данных с возможностью динамической подгрузки и т.д • Управлять инфраструктурой с помощью API: java, cmd line, python

  31. UGENE на Amazon EC2

  32. UGENE на Amazon EC2

  33. За кулисами UGENE

  34. Процесс разработки Непрерывный цикл: • Проектирование • Разработка • Тестирование • Ревью Срок релиза: 2 месяца

  35. Что мы применяем • Visual Studio, Qt Creator • C++, bash • Qt 4.7 • Subversion • Mantis bug tracking system • JetbrainsTeamcity • Wiki

  36. Разработка • Нацеленность на результат • Жесткие временные рамки • Кодекс разработчика UGENE • Контроль качества • Ответственность • Помощь в ревью

  37. Тестирование • Использование JetbrainsTeamcity • Pre-commit build • Nightly, weekly build • Remote tasks • Binary Snapshots • Автоматические тесты (база более 5000, постоянно пополняется) • Мануальные тесты

  38. Deployment • Binary snapshots в team-city • Windows • NSIS installer • Mac • Script based on Firefox-installer • Linux • Binary X11 snapshot • Native packages

  39. Официальные дистрибутивы Linux • Завязка • Создание скриптов • Переписка • Продвижение • Поддержка • Форс-мажор почти всегда • Правила разные

  40. Хаос СПО • Legacy code • «Велосипеды» • Очень старый код • Война лицензий • Идеи автора • Неясности

  41. Становление коммьюнити • Работа с пользователем • Невыполнимые запросы • Неочевидные вопросы • Непонятные реквесты • Обратная связь • Как подружиться? • Наша позиция

  42. Полезные ссылки • http://ugene.unipro.ru • http://www.open-bio.org/ • http://www.ncbi.nlm.nih.gov/bookshelf/ • http://webcast.berkeley.edu • http://www.embl.org/

  43. Спасибо Вопросы ?

More Related