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

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

description

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

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

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

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

облакам

Константин ОконечниковUnipro 2010

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

2

СодержаниеЧасть 0: введение• Проект Unipro UGENE

Часть 1: real-life bioinformatics • Работа с биологическими данными• Алгоритмы биоинформатики• HPC и облачные вычисления

Часть 2: за кулисами• Разработка в деталях• Особенности создания СПО

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

3

Введение

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

Unipro UGENEЦель проекта – интеграция наиболее используемых алгоритмов

анализа генетических данных в единой визуальной рабочей среде, удобной для прикладного специалиста.

• Свободная лицензия;

• Кросс-платформенность;

• Модульная архитектура, более 30 расширений;

• Единый, удобный пользовательский интерфейс;

• Концептуальная целостность в работе данными;

• Эффективное использование вычислительных ресурсов;

• Поддержка составных методов анализа данных.

4

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

5

Занимательные факты• Поддерживаемые

платформы: Windows, Mac, Linux X11

• Язык программирования: C++, Qt

• Большая часть интегрированных алгоритмов встроена на уровне исходного кода

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

Краткий обзор возможностей UGENE

• Множественное выравнивание: MUSCLE, Kalign, Clustal, Mafft

• Сверхбыстрый поиск повторов

• 3D визуализатор молекул• Визуализация и редактирование

хроматограмм• Аннотирование геномов

6

• Анализ гомологии на основе цепей Маркова (HMMER)

• Поиск открытых рамок считывания для всех генетических таблиц

• Поддержка запросов к удаленным базам данных (типа BLAST, CDD)

• Сайты рестрикции, cайты связывания транскрипционных факторов

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

Краткий обзор возможностей UGENE

Редактор вычислительных схем

• Интуитивно понятный интерфейс пользователя;

• Расширяемость – легкое добавление новых вычислительных блоков;

• Каждый блок может иметь различные оптимизированные реализации для различных платформ;

• Автоматическая загрузка всех доступных вычислительных ресурсов;

• Интерактивность. 7

Высокопроизводительные вычисления

• Многоядерные процессоры• Кластеры и грид-системы• GPGPU, специальные вычислители• Облачные вычисления

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

Текущее состояние проекта

• Более 1000 активных пользователей• Проект входит в официальные версии

дистрибутивов Linux: Ubuntu, Fedora, Arch

• Взаимодействие с российскими и рядом зарубежных институтов в области вычислительной молекулярной биологии

• Перенос задач на суперкомпьютеры

8

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

9

Real-life bioinformatics

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

10

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

Рост количества последовательностей в GenBank

0

20000000

40000000

60000000

80000000

100000000

120000000

140000000

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010

годы

коли

чест

во

посл

едов

ател

ьнос

тей

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

11

Форматы данных

Genbank

EMBL CLUSTALMSF

STOCKHOLM

FASTA FASTQNEWICK

NEXUSABI

SCF

HMMER2/3

MMDB

PDB

GFF

SAMCSV

Plain text

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

12

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

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

13

Sequence• Алфавит

– DNA,RNA,аминокислотный• Аннотации• Quality

– Sanger и т.д.• Форматы:

– Genbank– Fasta– ...over 9000

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

14

Множественное выравнивание

• Состоит из последовательностей• «Помнит» смещения• Требует особой визуализации

– Вариативность– Масштабирование

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

15

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

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

16

Работа с форматами• Определение типа объекта• «Неправильные» файлы

– Несоответствия– Ошибки

• Режимы чтения и записи • Запись или экспорт?

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

17

«Большие» данные• Индексирование

– Потоковое чтение/запись– Суффиксный массив– Управление памятью– Мета данные

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

18

Кэш

Данные

Данные

Данные

Активное представлени

е

Карта данных

Активное представлени

е

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

19

Pairwise alignment• Динамическое программирование

– Нидлман-Вунш– Смит-Ватерман– Весовые матрицы

• Blast/PsiBlast• Hidden Markow Model

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

20

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

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

21

Сборка контигов• Reference (по сути pairwise)

– Bowtie– Bwa– Cufflinks– Mummer

• De Novo (без референтная)– AMOS

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

22

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

генной инженерии

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

23

Анализ белков• Предсказание вторичной

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

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

24

UGENE Service• Идея: использование удаленных

вычислительных ресурсов для решения задач биоинформатики

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

25

Аппаратное обеспечение• Многоядерные процессоры• Расширенные наборы инструкций

SIMD (SSE,SSE2,AltiVEC)• Архитектура CELL процессоров• NVIDIA GPU с CUDA библиотекой• ATI GPU с ATISTREAM библиотекой

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

26

Компоненты сервиса1) Графический интерфейс создания

вычислительных схем и запуска вычислений

2) Вычислительный модуль– Менеджер вычислительных задач UGENE

(внутренний планировщик)– Сервис управления процессами в

кластерной среде или вычислительном облаке (внешний планировщик)

3) Центр администрирования

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

Менеджер вычислительных задач

• Низкоуровневая реализация алгоритмов

• Планировщик выполнения заданий• Оптимизация приоритета задач и

выделяемой памяти• Состояние работы вычислительной

схемы

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

28

Сервис управления процессами

• Взаимодействие с удаленными процессами UGENE

• Инициирует запуск задач• Управление очередью задач• Управление ресурсами кластера

или вычислительного облака

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

29

Центр администрирования• Установить параметры сервиса

управления процессов: ограничить мощности CPU, дисковую и оперативную память и т.д.

• Вести учет пользователей использующих HPC платформу, просматривать пользовательские записи, управлять авторизационными механизмами.

• Использовать средства мониторинга пользовательских запросов для просмотра статистики задач.

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

30

Практика: Amazon EC2Сервис предоставляет вычислительные мощности в

облаке.Позволяет:• Использовать заранее подготовленный образ

виртуальной машины содержащий приложение, данные и связанные с ними конфигурационные параметры.

• Загружать образ в виде виртуальной машины заданной категории мощности;

• Использовать динамический или статический IP для данной машины;

• Использовать блоки хранения данных с возможностью динамической подгрузки и т.д

• Управлять инфраструктурой с помощью API: java, cmd line, python

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

31

UGENE на Amazon EC2

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

32

UGENE на Amazon EC2

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

33

За кулисами UGENE

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

34

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

Срок релиза: 2 месяца

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

35

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

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

36

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

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

37

Тестирование• Использование Jetbrains Teamcity

– Pre-commit build– Nightly, weekly build– Remote tasks– Binary Snapshots

• Автоматические тесты (база более 5000, постоянно пополняется)

• Мануальные тесты

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

38

Deployment• Binary snapshots в team-city• Windows

– NSIS installer• Mac

– Script based on Firefox-installer• Linux

– Binary X11 snapshot– Native packages

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

39

Официальные дистрибутивы Linux

• Завязка– Создание скриптов– Переписка

• Продвижение• Поддержка

– Форс-мажор почти всегда– Правила разные

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

40

Хаос СПО• Legacy code

– «Велосипеды»– Очень старый код

• Война лицензий– Идеи автора– Неясности

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

41

Становление коммьюнити• Работа с пользователем

– Невыполнимые запросы– Неочевидные вопросы– Непонятные реквесты

• Обратная связь• Как подружиться?• Наша позиция

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

42

Полезные ссылки

• http://ugene.unipro.ru• http://www.open-bio.org/• http://www.ncbi.nlm.nih.gov/bookshel

f/

• http://webcast.berkeley.edu• http://www.embl.org/

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

43

СпасибоВопросы

?