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

Презентация:



Advertisements
Похожие презентации
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Advertisements

Урок повторения по теме: «Сила». Задание 1 Задание 2.
Типовые расчёты Растворы
Лекция 3 Раздел 3,1 Windows Phone Темы раздела 3.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Школьная форма Презентация для родительского собрания.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Michael Jackson
Г. Москва, тел.: +7 (495) , Internet: Слайды курса «Администрирование работы на сервере.
Модуль переноса решений Как средство распространения партнерских решений Варфоломеев Антон Директор по производству DocsVision.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Теория Курс пользователя типового реестра государственных и муниципальных услуг 1.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.

Программное обеспечение компьютера. Компьютер без программного обеспечения и операционной системы – это бесполезный хлам, груда железа.
1. Определить последовательность проезда перекрестка
Ф. Т. Алескеров, Л. Г. Егорова НИУ ВШЭ VI Московская международная конференция по исследованию операций (ORM2010) Москва, октября 2010 Так ли уж.
ИС «Научный институт РАН» А.Н.Бездушный, ВЦ РАН. 2 ЕНИП РАН Эта инициатива призвана помочь научным коллективам: сделать несколько шагов в направлении.
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от
Транксрипт:

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

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

Введение 3

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

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

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

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

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

Real-life bioinformatics 9

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

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

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

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

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

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

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

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

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

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

Multiple Alignment Clustal Muscle KAlign Mafft TCoffee 20

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

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

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

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

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

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

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

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

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

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

UGENE на Amazon EC2 31

UGENE на Amazon EC2 32

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

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

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

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

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

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

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

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

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

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

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