![Page 1: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/1.jpg)
UGENE Tech Talk: от поиска повторов к
облакам
Константин ОконечниковUnipro 2010
![Page 2: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/2.jpg)
2
СодержаниеЧасть 0: введение• Проект Unipro UGENE
Часть 1: real-life bioinformatics • Работа с биологическими данными• Алгоритмы биоинформатики• HPC и облачные вычисления
Часть 2: за кулисами• Разработка в деталях• Особенности создания СПО
![Page 3: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/3.jpg)
3
Введение
![Page 4: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/4.jpg)
Unipro UGENEЦель проекта – интеграция наиболее используемых алгоритмов
анализа генетических данных в единой визуальной рабочей среде, удобной для прикладного специалиста.
• Свободная лицензия;
• Кросс-платформенность;
• Модульная архитектура, более 30 расширений;
• Единый, удобный пользовательский интерфейс;
• Концептуальная целостность в работе данными;
• Эффективное использование вычислительных ресурсов;
• Поддержка составных методов анализа данных.
4
![Page 5: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/5.jpg)
5
Занимательные факты• Поддерживаемые
платформы: Windows, Mac, Linux X11
• Язык программирования: C++, Qt
• Большая часть интегрированных алгоритмов встроена на уровне исходного кода
![Page 6: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/6.jpg)
Краткий обзор возможностей UGENE
• Множественное выравнивание: MUSCLE, Kalign, Clustal, Mafft
• Сверхбыстрый поиск повторов
• 3D визуализатор молекул• Визуализация и редактирование
хроматограмм• Аннотирование геномов
6
• Анализ гомологии на основе цепей Маркова (HMMER)
• Поиск открытых рамок считывания для всех генетических таблиц
• Поддержка запросов к удаленным базам данных (типа BLAST, CDD)
• Сайты рестрикции, cайты связывания транскрипционных факторов
![Page 7: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/7.jpg)
Краткий обзор возможностей UGENE
Редактор вычислительных схем
• Интуитивно понятный интерфейс пользователя;
• Расширяемость – легкое добавление новых вычислительных блоков;
• Каждый блок может иметь различные оптимизированные реализации для различных платформ;
• Автоматическая загрузка всех доступных вычислительных ресурсов;
• Интерактивность. 7
Высокопроизводительные вычисления
• Многоядерные процессоры• Кластеры и грид-системы• GPGPU, специальные вычислители• Облачные вычисления
![Page 8: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/8.jpg)
Текущее состояние проекта
• Более 1000 активных пользователей• Проект входит в официальные версии
дистрибутивов Linux: Ubuntu, Fedora, Arch
• Взаимодействие с российскими и рядом зарубежных институтов в области вычислительной молекулярной биологии
• Перенос задач на суперкомпьютеры
8
![Page 9: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/9.jpg)
9
Real-life bioinformatics
![Page 10: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/10.jpg)
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: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/11.jpg)
11
Форматы данных
Genbank
EMBL CLUSTALMSF
STOCKHOLM
FASTA FASTQNEWICK
NEXUSABI
SCF
HMMER2/3
MMDB
PDB
GFF
SAMCSV
Plain text
![Page 12: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/12.jpg)
12
Биологические объекты • Последовательность• Множественное выравнивание• Трехмерная структура• Филогенетическое дерево• Аннотация• Хроматограмма• …
![Page 13: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/13.jpg)
13
Sequence• Алфавит
– DNA,RNA,аминокислотный• Аннотации• Quality
– Sanger и т.д.• Форматы:
– Genbank– Fasta– ...over 9000
![Page 14: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/14.jpg)
14
Множественное выравнивание
• Состоит из последовательностей• «Помнит» смещения• Требует особой визуализации
– Вариативность– Масштабирование
![Page 15: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/15.jpg)
15
Трехмерная модель белка• Набор координат атомов• Вторичная структура• Граф химических связей• Домены
![Page 16: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/16.jpg)
16
Работа с форматами• Определение типа объекта• «Неправильные» файлы
– Несоответствия– Ошибки
• Режимы чтения и записи • Запись или экспорт?
![Page 17: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/17.jpg)
17
«Большие» данные• Индексирование
– Потоковое чтение/запись– Суффиксный массив– Управление памятью– Мета данные
![Page 18: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/18.jpg)
18
Кэш
Данные
Данные
Данные
Активное представлени
е
Карта данных
Активное представлени
е
![Page 19: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/19.jpg)
19
Pairwise alignment• Динамическое программирование
– Нидлман-Вунш– Смит-Ватерман– Весовые матрицы
• Blast/PsiBlast• Hidden Markow Model
![Page 20: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/20.jpg)
20
Multiple Alignment• Clustal• Muscle• KAlign• Mafft• TCoffee
![Page 21: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/21.jpg)
21
Сборка контигов• Reference (по сути pairwise)
– Bowtie– Bwa– Cufflinks– Mummer
• De Novo (без референтная)– AMOS
![Page 22: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/22.jpg)
22
Genomics & genetics• Поиск повторов• Ферменты рестрикции• Транскрипционные факторы• Рамки считывания• Подбор праймеров• Моделирование экспериментов
генной инженерии
![Page 23: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/23.jpg)
23
Анализ белков• Предсказание вторичной
структуры• Фолдинг и третичная структура• Поиск активных сайтов• Предсказание взаимодействия• Обратная трансляция• Взаимодействие РНК
![Page 24: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/24.jpg)
24
UGENE Service• Идея: использование удаленных
вычислительных ресурсов для решения задач биоинформатики
![Page 25: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/25.jpg)
25
Аппаратное обеспечение• Многоядерные процессоры• Расширенные наборы инструкций
SIMD (SSE,SSE2,AltiVEC)• Архитектура CELL процессоров• NVIDIA GPU с CUDA библиотекой• ATI GPU с ATISTREAM библиотекой
![Page 26: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/26.jpg)
26
Компоненты сервиса1) Графический интерфейс создания
вычислительных схем и запуска вычислений
2) Вычислительный модуль– Менеджер вычислительных задач UGENE
(внутренний планировщик)– Сервис управления процессами в
кластерной среде или вычислительном облаке (внешний планировщик)
3) Центр администрирования
![Page 27: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/27.jpg)
Менеджер вычислительных задач
• Низкоуровневая реализация алгоритмов
• Планировщик выполнения заданий• Оптимизация приоритета задач и
выделяемой памяти• Состояние работы вычислительной
схемы
![Page 28: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/28.jpg)
28
Сервис управления процессами
• Взаимодействие с удаленными процессами UGENE
• Инициирует запуск задач• Управление очередью задач• Управление ресурсами кластера
или вычислительного облака
![Page 29: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/29.jpg)
29
Центр администрирования• Установить параметры сервиса
управления процессов: ограничить мощности CPU, дисковую и оперативную память и т.д.
• Вести учет пользователей использующих HPC платформу, просматривать пользовательские записи, управлять авторизационными механизмами.
• Использовать средства мониторинга пользовательских запросов для просмотра статистики задач.
![Page 30: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/30.jpg)
30
Практика: Amazon EC2Сервис предоставляет вычислительные мощности в
облаке.Позволяет:• Использовать заранее подготовленный образ
виртуальной машины содержащий приложение, данные и связанные с ними конфигурационные параметры.
• Загружать образ в виде виртуальной машины заданной категории мощности;
• Использовать динамический или статический IP для данной машины;
• Использовать блоки хранения данных с возможностью динамической подгрузки и т.д
• Управлять инфраструктурой с помощью API: java, cmd line, python
![Page 31: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/31.jpg)
31
UGENE на Amazon EC2
![Page 32: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/32.jpg)
32
UGENE на Amazon EC2
![Page 33: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/33.jpg)
33
За кулисами UGENE
![Page 34: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/34.jpg)
34
Процесс разработкиНепрерывный цикл:• Проектирование• Разработка• Тестирование• Ревью
Срок релиза: 2 месяца
![Page 35: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/35.jpg)
35
Что мы применяем• Visual Studio, Qt Creator• C++, bash• Qt 4.7• Subversion• Mantis bug tracking system• Jetbrains Teamcity• Wiki
![Page 36: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/36.jpg)
36
Разработка• Нацеленность на результат• Жесткие временные рамки• Кодекс разработчика UGENE• Контроль качества• Ответственность• Помощь в ревью
![Page 37: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/37.jpg)
37
Тестирование• Использование Jetbrains Teamcity
– Pre-commit build– Nightly, weekly build– Remote tasks– Binary Snapshots
• Автоматические тесты (база более 5000, постоянно пополняется)
• Мануальные тесты
![Page 38: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/38.jpg)
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: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/39.jpg)
39
Официальные дистрибутивы Linux
• Завязка– Создание скриптов– Переписка
• Продвижение• Поддержка
– Форс-мажор почти всегда– Правила разные
![Page 40: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/40.jpg)
40
Хаос СПО• Legacy code
– «Велосипеды»– Очень старый код
• Война лицензий– Идеи автора– Неясности
![Page 41: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/41.jpg)
41
Становление коммьюнити• Работа с пользователем
– Невыполнимые запросы– Неочевидные вопросы– Непонятные реквесты
• Обратная связь• Как подружиться?• Наша позиция
![Page 42: UGENE Tech Talk: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/42.jpg)
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: от поиска повторов к облакам](https://reader035.vdocuments.site/reader035/viewer/2022062222/56816686550346895dda31da/html5/thumbnails/43.jpg)
43
СпасибоВопросы
?