Поиск сайтов связывания транскрипционных факторов генома

реклама
Поиск сайтов связывания транскрипционных факторов
генома
Олег Борисенко
ИСП РАН
19 Марта 2014 года
Терминология
Хромосома — нуклеопротеидная структура, в которой
сосредоточена наследственная информация.
Плоидность — число одинаковых наборов хромосом,
находящихся в ядре клетки или в ядрах клеток
многоклеточного организма.
Хромосому млекопитающих можно представить в виде строки
символов из алфавита ACGT .
Все млекопитающие являются диплодными, причём все
хромосомы разбиваются на пары комплементарных.1 Например, у
человека присутствуют 23 пары хромосом.
Геном — совокупность генетического материала гаплоидного
набора хромосом2 данного вида.
1
Для простоты хромосомы в паре называют "прямой"и "обратной"нитью,
получаемых друг из друга заменой символов A ↔ T , C ↔ G .
2
То есть по одной хромосоме их пары для млекопитающих существ.
Терминология
Белок (протеин) — сложное вещество, состоящее из
аминокислот; белки активно участвуют в жизнедеятельности
любой клетки организма.
Информационная РНК — РНК, которая участвует в последнем
этапе синтеза белка из ДНК.
Транскрипционный фактор — белок, инициирующий синтез
информационной РНК.
Сайт связывания — участок генома, с которым связывается
транскрипционный фактор.
Ген — участок генома, отвечающий за наследственный
признак3 .
Экспрессия гена — процесс передачи информации от ДНК к
белку или функциональной РНК.
3
Сайты связывания чаще всего являются частью генов.
Иллюстрации: Геном
Геном
AAACGGTAGT...
Хромосома 1+
CGTATGTAGT...
Хромосома 2+
...
TACGAGACAG...
Хромосома 23+
TTTGCCATCA...
Хромосома 1-
GCATACATCA...
Хромосома 2-
...
ATGCTCTGTC...
Хромосома 23-
Ген "голубых глаз" HERC2
TACGAGACAGACGTGCG....AAAAGCGGGGGGACCTAGCGGA...
Хромосома 19+
Иллюстрации: Этапы экспрессии гена
Иллюстрации: Процесс экспрессии гена
Терминология: продолжение
Сайты связывания для одного и того же транскрипционного
фактора задаются неоднозначно:
Один и тот же белок может подействовать на несколько
отличающихся между собой последовательностей генома.
Белок может подействовать на последовательность генома с
определённой вероятностью: некоторые сайты связывания
взаимодействуют с одним и тем же белком в большем
количестве случаев, чем другие.
Модель сайта связывания для транскрипционного фактора
определяет словарь слов заданной длины, где каждому
слову косвенным образом соответствует вероятность того,
что при взаимодействии с транскрипционным фактором
произойдет связывание.
Модель сайта связывания транскрипционного
фактора
Модель4 задается матрицей Nx4, в ячейках которой находятся
так называемые "скоры"(scores). Значения получаются
биологами экспериментальным образом5 .
Количество строк матрицы является длиной сайта связывания.
Столбцам соответствуют буквы A, C, G, T.
Чем меньше скор, тем меньше вероятность встретить данную
букву на этой позиции в слове, задаваемом моделью.
Множество слов, соответствующих модели, получается полным
перебором значений: каждой позиции в слове соответствует
ровно одно значение из каждой строки.
4
Данный формат является модификацией стандартного формата PSFM
(Position Specific Frequency Matrices)
5
Суммарное количество моделей — 413
Модель сайта связывания транскрипционного
фактора
Чем больше скор у слова, тем больше вероятность
взаимодействия фактора с таким словом в геноме.
Sequence motif — распространённая последовательность,
имеющая успоявшееся значение и незаменимая для
выполнения каких-либо функций6 .
Суммарный скор слова равен сумме скоров из ячеек матрицы,
соответсвующих буквам этого слова.
Скор — не универсальная величина. Биологи используют p-value,
соответствие между p-value и скором для каждой модели своё.
P-value определяет множество наиболее вероятно подходящих
скоров на основе распределения скоров в модели.
6
иллюстрация распределения вероятностей в модели. Чем крупнее буква,
тем выше вероятность встретить её на данной позиции в сайте связывания.
Модель сайта связывания, примеры слов и p-value
APC2_F1
A((((((C((((((G(((((((T((!!
!!!"4.4792!!!!!0.4224!!!!!0.8746!!!!"2.7292!
!!!"5.0076!!!!!1.3659!!!!"5.0797!!!!"2.6923!
!!!"2.6915!!!!!1.3628!!!!"5.2702!!!!"3.9236!
!!!"3.1136!!!!"0.0487!!!!"2.3747!!!!!1.0682!
!!!"3.3202!!!!"5.3834!!!!!1.2619!!!!"0.8508!
!!!!0.3722!!!!"0.1893!!!!!0.4509!!!!"1.8852!
!!!"0.2371!!!!!"5.105!!!!!1.1623!!!!!!"4.88!
!!!"2.4825!!!!"5.1143!!!!!!1.361!!!!"4.5751!
!!!"1.6394!!!!!0.8012!!!!!0.3544!!!!"1.8817
Примеры слов и скоров:
ACGATACGA!=!"17.6014!(просто!слово)
GCCTGGGGC!=!!!9.7088!(лучшее!слово)
AGGACTCCT!=!"37.3123!(худшее!слово)
MOTIF:
Постановка задачи
Дано:
Набор хромосом,
Набор интервалов координат (начало-конец) в этих
хромосомах,
Модель сайта связывания транскрипционного фактора,
P-value,
GC% содержание (об этом расскажу на словах)
Необходимо найти все координаты в данных хромосомах, где
p-value значения слова по этой координате для модели меньше,
чем заданное. Ответ нужен в формате NarrowPeak с последующей
возможностью визуализации найденных координат в соответствии
со значимостью7 слов по этим координатам.
7
Значимость слова тем выше, чем ниже p-value данного слова для данной
модели транскрипционного фактора.
О входных и выходных данных
Входные данные:
1. В качестве формата моделей используется формат pwm,
собственная модификация биологов из ИОГен.
2. Дано 413 моделей с длинами от 7 до 25 символов.
3. Данные геномов хранятся в общепринятом формате fasta, но я
делаю над ними предварительную обработку.
4. В качестве формата заданий используется общепринятый формат
BED.
Выходные данные:
1. В качестве ответа генерируется файл в общепринятом формате
narrowPeak.
Объём данных:
1. Одна хромосома в среднем занимает 200МБ в несжатом виде.
2. Размер задания может колебаться в пределах от 32 байт до 50МБ.
3. Размер ответа может быть любым, но редко превышает 2ГБ.
Существовавшие ранее утилиты
Программа MOODS. Быстрая и достаточно старая реализация,
но биологи утверждают, что для их моделей все результаты
получались неверными из-за того, что в программе сделано
несколько теоретических допущений, которые они не
принимают.
Программа ANDFPS, написанная студентом для ИОГен.
Написана на Java, умеет работать только с одной хромосомой
целиком8 , нет никакого контроля за памятью9 . Поддержка
фильтрации только по скорам, p-values не поддерживаются. В
качестве ответа выдаёт координату в хромосоме и значение
скора в данной точке для прямой и обратной нити.
8
Т.е. без поддержки интервалов.
Для модели с длиной слова 19 и p-value 0.01 требуется 64ГБ
"чистой"памяти.
9
Алгоритмы
1. Наивный. Для каждой позиции в указанном интервале
хромосомы проверяются значения скоров для слова, стоящего
на этой позиции, отбираются подходящие. Сложность: O(m ∗ l),
где m длина слова, l суммарная длина интервалов поиска.
2. Поиск по словарю. Вычисляется словарь слов, подходящих по
значению скора, после чего происходит однопроходный поиск
слов из всего словаря (алгоритм Ахо-Корасик). Сложность:
O(p ∗ 4m + 4 ∗ m + l + r ), где p — p-value, m длина слова, l
суммарная длина интервалов поиска, r — количество
найденных результатов.
3. Семплирование по Гиббсу. От использования этого алгоритма
биологи сознательно отказались, так что его мы не
рассматривали.
Цели работы
Написать эффективную реализацию программы для
предсказания сайтов связывания, поддерживающую:
Полный контроль за памятью,
Работу с несколькими хромосомами одновременно,
Работу с диапазонами координат в хромосомах,
Использование p-value в качестве threshold и формата ответов,
Поддержку вычислений с учетом глобального фона GC%10 ,
Поддержку вычислений с плавающим фоновым окном GC%11
Предоставить доступ к программе в качестве API-сервиса и в
качестве веб-сервиса:
10
11
С поддержкой масштабируемости,
С поддержкой защиты от злоупотреблений ресурсами,
С возможностью расширения форматов входных и выходных
данных.
Будет готово через месяц.
Всё ещё не ясно, возможно ли это даже теоретически.
Текущая архитектура системы
API requests
ISPRAS API
Web-demo
Balancer
Throttling control
Worker
API
API
Task manager
Task manager
Worker
Worker
Worker
Worker
Worker
Genome data
Results
NFS
ZFS (transparent compression)
Worker
Worker
Обзор текущей реализации: успехи
Реализация работает очень быстро и эффективно.
Реализовано предварительное вычисление сложности
предстоящей работы и выбор оптимального алгоритма.
Все написано с учетом расширений для запуска в облаке.
Реализован механизм пула воркеров внутри одной машины с
механизмом разделения ресурсов12 .
Сервис запущен и уже был одобрен одним человеком из
индустрии.
12
Клиенты не поглощают монопольно все ресурсы, так что даже при
большом количестве пользователей все будет работать (хоть и медленнее).
Обзор текущей реализации: проблемы
Масштабирование происходит в ручном режиме: делается
очень просто и быстро, но не автоматически.
Пока нет поддержки кеширования промежуточных результатов:
для них нужно много места.
Результаты отдаются по тому же каналу, по которому
обслуживается сам сервис.
Нет явного контроля за сложностью заданий: мы не можем
базироваться на числе запросов, т.к сложность моделей может
отличаться на 10 порядков.
Веб-версия уродлива.
Детали реализации вычислительной части
1. Пересчёт требуемого p-value для модели в score-threshold.
2. Вычисление сложности: в случае большой сложности
используется наивный алгоритм.
3. Составление словаря подходящих по score-threshold слов
порциями с учетом ограничений памяти.
4. Составление автомата Ахо-Корасик для однопроходного поиска
по заданному множеству слов.
5. Поиск вхождений слов с контролем буферов для каждого
интересующего интервала каждой хромосомы.
6. Сортировка слиянием результатов для каждого участка
хромосом для всех промежуточных файлов.
7. Пересчет скоров и p-value для каждого найденного вхождения с
записью в файл результатов.
Желаемая архитектура системы: оптимистичный
вариант
В качестве хост-системы для LXC подразумевается Openstack
API requests
ISPRAS API
Web-demo
Balancer
Throttling control
Task manager
LXC controller
Cache
LXC
container
(on demand)
LXC
container
(on demand)
LXC
container
(on demand)
Genome data
API
API
API
Worker
Worker
Worker
Object Storage (fast)
Results
Наиболее вероятная архитектура системы:
пессимистичный вариант
В качестве хост-системы для виртуальных машин подразумевается Openstack
API requests
ISPRAS API
Web-demo
Balancer
Throttling control
Object Storage (fast)
VM controller
API
API
Task manager
Task manager
Worker
Worker
Cache
Genome data
Results
Task manager
Worker
Worker
Worker
Worker
Worker
Worker
Спасибо за внимание.
Скачать