WWW.MASH.DOBROTA.BIZ
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - онлайн публикации
 

«высшего профессионального образования «Санкт-Петербургский государственный университет» Кафедра Системного Программирования Атаманова Анна Михайловна Скрытые Марковские модели ...»

Правительство Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный университет»

Кафедра Системного Программирования

Атаманова Анна Михайловна

Скрытые Марковские модели переменного

порядка для анализа данных ChIP-seq

Бакалаврская работа

Допущена к защите .

Зав. кафедрой:

д. ф.-м. н., профессор Терехов А. Н .

Научный руководитель:

д. ф.-м. н., профессор Терехов А. Н .

Рецензент:

Тузова Е. А .

Санкт-Петербург

SAINT-PETERSBURG STATE UNIVERSITY

Chair of Software Engineering Anna Atamanova Variable-length hidden Markov models for ChIP-seq data analysis Bachelor’s Thesis Admitted for defence .

Head of the chair:

professor Andrey Terekhov

Scientific supervisor:

professor Andrey Terekhov

Reviewer:

Ekaterina Tuzova Saint-Petersburg Оглавление Введение 4

1. Постановка задачи 7

2. Обзор существующих решений 8

2.1. Основные понятия и определения....................... 8

2.2. Скрытые Марковские модели......................... 10

2.3. Обучение модели СММПП........................... 11 2.3.1. Инициализация............................. 12 2.3.2. EM (Expectation–Maximization algorithm).............. 12 2.3.3. Подрезание дерева........................... 14

2.4. О

–  –  –

Введение Предметная область Дезоксирибонуклеиновая кислота (ДНК) — молекула, обеспечивающая хранение генетического кода, который определяет развитие и функционирование живых организмов. ДНК хранит наследственную информацию, информацию о структуре РНК и белков. Белки выполняют структурные, сигнальные, механические и другие функции. Соединения ДНК с конкретным белком могут влиять на конформацию ДНК, на внутренние механизмы управления клетки, поэтому изучение ДНК-белковых взаимодействий крайне важно и актуально .

Геном — это совокупность всех молекул ДНК в клетке. Каждая ДНК состоит из двух цепей нуклеотидов, поэтому длина генома измеряется в парах нуклеотидов (пн) .

В данной работе рассматривается задача нахождения позиций связывания ДНК и конкретного белка, то есть нахождения позиций ДНК-белковых взаимодействий при заранее выбранном белке .

ChIP-seq ChIP-seq (иммунопреципитация хроматина с последующим секвенированием, англ. chromatin immunoprecipitation sequencing) — биологический эксперимент, позволяющий получить информацию о наличии или отсутствии взаимодействия ДНК с заданным белком .

Эксперимент проводится на множестве одинаковых клеток и включает в себя следующие стадии:

1. фиксация всех обнаруженных белков на ДНК;

2. расщепление ДНК на фрагменты;

3. вылавливание фрагментов, связанных с исследуемым белком (с помощью специфичного к исследуемому белку антитела);

4. считывание концов фрагментов (называемых ридами или прочтениями) до тех пор, пока каждый фрагмент с высокой вероятностью не будет прочитан несколько раз .

Далее для каждого полученного рида ищется соответствующий ему участок последовательности генома (рис. 1). Обычно риды, которым может соответствовать более одного участка в геноме, исключают из рассмотрения .





Результаты эксперимента представляют в виде массива длины генома, в позиции которого стоит 1, если в соответствующей позиции генома начиналось хотя бы одно прочтение и 0 в обратном случае .

CAAAAGACAAATAGTGATGTCACCAATCGAGC

-------------------------------GACA ATA GTCA AATC

AGAC TAGTG TGTC

GACA AGTG TGTCA ATCG

Рис. 1: Схематичное изображение выравнивания прочтений секвенатора (под чертой) на известную последовательность генома (над чертой) .

Соединение белка с ДНК происходит не точечно, а на некотором участке ДНК, поэтому, для дальнейшего анализа, полученный массив разбивается на отрезки заранее выбранной длины, называемые окнами (обычно 200 пн). Значение в окне определяется как сумма единиц в нем .

Эксперимент ChIP-seq (как и большинство биологических экспериментов) не исключает наличие ошибок в результатах. Недостаточная специфичность антитела, наличие ошибок секвенирования, нестабильность положения белка на ДНК приводят к возникновению сигнала, не зависящего от наличия взаимосвязи. Поэтому, для дальнейшего анализа результатов эксперимента, требуется построение вероятностной модели, способной отделять ошибки, а также выявлять зависимости соединений и, по возможности, описывать их структуру .

Большинство существующих моделей ([8], [5]) для данных ChIP-seq основано на аппарате скрытых Марковских моделей (СММ) первого порядка [4] с Пуассоновскими испусканиями. Использование распределения Пуассона для моделирования покрытия опирается на предположение о том, что в каждой позиции генома в среднем начинается одинаковое количество прочтений. Марковский процесс, как правило, имеет два состояния «1» — сигнал есть и «0» — сигнала нет. Первый порядок модели означает, что состояние некоторого окна зависит только от состояния его прямого предшественника. Использование моделей первого порядка объясняется тем, что количество параметров модели, а также сложность её обучения и использования экспоненциально зависят от порядка. Так, СММ порядка m для каждой цепочки из m состояний содержит распределение на следующее состояние (2m вероятностных распределений) .

В связи с этим, неправильный выбор m при обучении сильно усложняет модель и способствует ее переобучению. Переобучение — это одна из основных проблем машинного обучения, при которой модель слишком сильно подгоняется под обучающую выборку и находит в ней случайные закономерности, которые не характерны для данных генеральной совокупности .

Скрытые Марковские модели переменного порядка менее склонны к переобучению в силу того, что они не фиксируют длину строки, порождающей следующее состояние, и стараются ее уменьшить .

1. Постановка задачи Целью данной дипломной работы является построение скрытой Марковской модели переменного порядка для анализа данных ChIP-seq .

Для достижения цели были определены следующие задачи:

1. реализовать скрытую Марковскую модель переменного порядка;

2. проанализировать эффективность работы модели на синтетических данных;

3. применить к данным ChIP-seq, сравнить с более простыми моделями (СММ первого порядка) .

2. Обзор существующих решений Марковские модели переменного порядка (не скрытые) обучаются путем построения контекстного дерева переходов [2]. Скрытые Марковские модели фиксированного порядка обучаемы алгоритмом Баума-Велша [4]. В работе [7] было предложено совмещение этих двух идей для обучения скрытых Марковских моделей переменного порядка (СММПП) .

В данной работе алгоритмом обучения СММПП был выбран модифицированный под поставленную задачу алгоритм из [7].

Модификация заключается в следующем:

наблюдения итоговой модели будут порождаться из соответствующих состояний, т.е .

распределение значений для каждого окна задается скрытым состоянием, которое определяет, была ли там взаимосвязь с белком или нет. В работе [7] такие распределения определялись всем контекстом. Алгоритм был дополнен недостающей информацией об обучении контекстных деревьев из статей [2], [3] .

2.1. Основные понятия и определения Путь S = {0, 1} — множество состояний (в рамках рассматриваемой задачи, «1»

означает наличие связи, «0»— ее отсутствие), X0, X1,... — последовательность случайных величин (дискретный случайный процесс), значения которых лежат в S, а x0, x1,... — некоторая реализация случайных величин X0, X1,... .

Определение 1. {Xi }iZ+ называется Марковским процессом порядка m, если

–  –  –

где t m, будем записывать как P (xt |xt1... xtm ). Запись корректна, в силу независимости такой вероятности от t .

Для удобства будем считать, что наш процесс растет справа налево

–  –  –

Определение 2. Марковская модель порядка m — это вероятностная модель, описывающая марковский процесс порядка m. Параметрами модели являются множество вероятностных распределений переходов A = {a(q; xm )}qS,xm S m, где a(q; xm ) = P (q|xm ), и начальное распределение = (xm )xm S m, где (xm ) = P (X0:m = xm ) .

Определение 3. Контекстное дерево — это дерево, в котором каждая внутренняя вершина имеет |S| ребер, соответствующих состояниям из S, и метку, которая является конкатенацией метки на ее родителе и метки ребра от него. Метка в корне — пустая строка .

Контекстом состояния xt будем называть любой префикс строки xt1, xt2... .

Контексты, соответствующие листьям контекстного дерева, будем называть главными контекстами (иногда, когда речь будет идти только о листьях, слово «главные»

будем опускать) .

Множество переходов для Марковского процесса порядка m можно определить, как контекстное дерево глубины m+1, каждый лист которого содержит распределение P (. | w), где w — метка на листе .

Для того, чтобы по дереву определить распределение на следующем состоянии Xt, достаточно из корня спуститься по ветке, вершины которой соответствуют контекстам этого состояния, (xt1 ), (xt1 xt2 ),.... Лист на конце ветки и будет задавать распределение Xt .

Замечание 1. Метки на листьях контекстного дерева полностью определяют дерево .

–  –  –

Рис. 2: Эквивалентные контекстные деревья .

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

На рисунке 2а изображен пример контекстного дерева для Марковского процесса порядка 2. Можно заметить, что в этом примере, имея для некоторого состояния xt контекст «1», необходимость уточнять его (т.е. спускаться дальше к листу) отсутствует, т.к. распределение на контекстах «10» и «11» одно и тоже. Таким образом подрезанное дерево с рисунка 2б задает такие же распределения переходов как и дерево с рисунка 2а. Однако второе контекстное дерево меньше (число главных контекстов меньше). Но ни один Марковский процесс фиксированного порядка напрямую его использовать не может .

Определим процесс, который может иметь распределение переходов в виде дерева с рисунка 2б .

Пусть — конечное контекстное дерево. Для s будем обозначать через C(s) множество всех потомков, являющихся листами. Для s, C(s) — лист, являющийся префиксом s (можно заметить, что он существует и единственен) .

Определение 4. Марковский процесс переменного порядка (МППП) с максимальновозможным порядком m — это вероятностный процесс, распределения на состояниях которого задаются распределениями на листьях некоторого контекстного дерева глубины не более чем m + 1 .

Определение 5. Марковская модель переменного порядка (ММПП) с максимальновозможным порядком m — вероятностная модель, описывающая соответствующий процесс. Параметрами модели являются множество распределений переходов на листьях некоторого контекстного дерева глубины не более чем m + 1 и начальное вероятностное распределение на них (листьях) .

Замечание 2. Распределения переходов на внутренних вершинах контекстного дерева определяются распределениями на листьях .

–  –  –

Замечание 4. МППП с максимально-возможным порядком m есть обобщение всех Марковских процессов порядка меньше либо равного, чем m .

2.2. Скрытые Марковские модели Представим, что состояния — это какой-то скрытый признак/фактор (например, наличие или отсутствие связи белка и ДНК) цепи наблюдений Y = {yt }tZ+. Для каждого наблюдения yt он не известен, однако именно он определяет распределение на Yt. Т.е. цепь Y порождается из Марковской цепи X = {xt }tZ+ путем покоординатного определения новой случайной величины Yt для каждого состояния xt согласно распределению P (.| xt ) .

Определение 6. Процесс, порождающий цепь по некоторому Марковскому процессу X = {xt }tZ+ порядка m и распределению P (.| xt ), называется скрытым Марковским процессом порядка m. X называеются скрытыми состоянияниями, Y — наблюдениями .

Определение 7. Скрытая Марковская модель (СММ) порядка m — вероятностная модель, описывающая соответствующий процесс. Параметрами модели является = (A,, B), где A, — параметры скрытого процесса X порядка m, B = {b(y; x)}yRl,xS — множество распределений испусканий (где b(y; x) = P (y|x)) .

Определение 8. Скрытая Марковская модель переменного порядка (СММПП) — вероятностная модель, описывающая соответствующий процесс. Параметрами модели является = (A,, B), где A, — параметры скрытого процесса переменного порядка X, B = {b(y; x)}yRl,xS, где b(y; x) = P (y|x) — множество распределений испусканий .

2.3. Обучение модели СММПП Задачу обучения скрытой Марковской модели переменного порядка можно сформулировать следующим образом: по цепи наблюдений Y = (y1,...yT ) найти параметры = (A, B, ) модели СММПП, которые бы минимизировали количество контекстов не сильно ухудшая правдоподобие модели по сравнению с правдоподобием модели на полном дереве (допустимое отклонение распределений регулирует параметр prune ) .

Правдоподобие модели с параметрами на выборке Y — это вероятность породить Y из данной модели, P (Y |). При обучении моделей правдоподобие считается на обучающей выборке .

В листинге 1 схематично представлен алгоритм обучения СММПП. Описание основных шагов: инициализация, EM-алгоритм, подрезание дерева — приведено далее .

Конкатенацию строк a и b будем обозначать ab. За (s), где s, будем обозначать продолжение на все дерево (формула 3). Общее распределение на контекстах будем обозначать параметром (c) := P (c) .

–  –  –

2.3.1. Инициализация Начальное контекстное дерево является полным |S|-нарным деревом глубины m+1 (соответствеут CMM порядка m) .

В качестве начальных распределений переходов и параметров испусканий берутся оценки этих величин на цепи состояний, полученной алгоритмом k-means (k = |S|) по цепи наблюдений Y. 1 2.3.2. EM (Expectation–Maximization algorithm) Оценки параметров проводятся подобно алгоритму Баума-Велша для СММ [4] .

1. E-шаг (Expectation) Введем дополнительный параметр

–  –  –

ным контекстом скрытого состояния xt контекст c, из модели СММПП с параВ общем случае, EM-алгоритм допускает случайную инициализацию .

метрами .

–  –  –

Если c оказался внутренним листом дерева, то величина a(c[0]; c ) считается по формуле 2 c распределением на листьях равным, распределением переходов равным A .

Введем дополнительный параметр

–  –  –

2. M-шаг (Maximization) На этом шаге алгоритм обновляет параметры модели, максимизируя правдоподобие при условии посчитанных величин,, .

Для пересчета параметра A введем параметр

–  –  –

t (q; c) — вероятность того, что породив цепь Y моделью СММПП c параметрами, главный контекст скрытого состояния xt является c и состояние xt+1 совпадает с q .

–  –  –

Пересчет B зависит от принятого семейства моделей испусканий и производится с помощью в точности также, как и в алгоритме Баума-Велша. В случае распределения Пуассона b(.

| q) Poisson(q ) пересчет параметров происходит следующим образом:

–  –  –

EM-алгоритм запускает поочередно E-шаг и M-шаг, пока правдоподобие с предыдущей итерации отличается от правдоподобия с текущей итерации более, чем на EM, т.е. пока итерация дает значимый прирост правдоподобия

–  –  –

Замечание 5. При пересчете вероятности могут очень близко подходить к нулю, что отрицательно влияет на точность расчета. Для избежания этой проблемы все расчеты проводятся не с вероятностями, а с их логарифмами .

Замечание 6. EM-алгоритм следует запускать несколько раз, т.к. он может «застревать» в локальных максимумах функции правдоподобия .

2.3.3. Подрезание дерева Если существует внутренний лист контекстного дерева s такой, что

–  –  –

(15) расстояния Кульбака-Лейблера для апостериорных распределений .

Если таких листьев не существует, алгоритм заканчивает работу .

P (s), P (q|s), где s (и, как частный случай, новые,, A) считаются по формулам 3, 2, соответственно (по еще неподрезанному ) .

2.4. Обучение на нескольких выборках В случае пропусков в наблюдениях (связанных, например, с отсутствием данных), обучение модели может проходить на множестве из нескольких цельных кусков наблюдений. Т.е. на вход алгоритма будет подаваться не одна выборка Y, а N выборок {Y 1... Y N }, подчиненных единому скрытому Марковском процессу переменного порядка .

Для применения вышеописанного алгоритма для обучения СММПП на нескольких выборках были внесены изменения в E-шаг и M-шаг .

1. E-шаг Дополнительные параметры d, d, d, d пересчитываются отдельно на каждой выборке d {1,..., N } по формулам 4, 5, 6, 7, соответственно .

Общая — конкатенация d .

–  –  –

2.5. Сравнение Критерий Акаике Чем больше параметров у модели, тем лучше она подстраивается под данные, и тем проще переобучается. Поэтому, при сравнении моделей, обученных на одних и тех же данных, со схожим правдоподобием, предпочтительней будет та, которая проще. Конкретную величину, которую следует сравнивать для моделей, обученных на одинаковых данных, предлагает критерий Акаике (AIC)

–  –  –

где k — число степеней свободы или число параметров модели, L — максимальное правдоподобие модели на заданной выборке. Чем AIC меньше, тем модель лучше .

Число параметров для СММПП с n скрытыми состояниями, l контекстами, и Пуассоновскими испусканиями

–  –  –

FDR, FNR Пусть гипотеза H0 соответствует состоянию «0» (отсутствие взаимосвязи c белком), H1 — отвержение H0. Тогда ошибки первого, второго рода характеризуются величинами FDR — математическое ожидание доли ложных единиц среди всех предсказанных единиц (false discovery rate), FNR — математическое ожидание доли ложных нулей среди всех предсказанных нулей (false non-discovery rate) [6] .

–  –  –

3. Реализация Общий алгоритм обучения скрытой Марковской модели переменного порядка был реализован на языке программирования Python версии 3.4 .

Python является выразительным, но местами медленным языком программирования, поэтому критические по производительности места (E-шаг) были перенесены на Cython. Язык Cython — расширение языка Python, транслирующее код в язык Си .

Cython поддерживат опциональную типизацию и имеет эффективный интерфейс для работы с массивами NumPy .

С использованием библиотеки Joblib было распараллелено выполнение E-шага на нескольких выборках по потокам. Для эффективной работы с матрицами были использованы библиотеки NumPy, SciPy. Для отрисовки деревьев использовалась библиотека Pygraphviz. Все графики строились с помощью библиотеки Matplotlib .

Проект доступен по следующей ссылке: https://github.com/atanna/hmm

4. Применение

4.1. Применение к симулированным данным

Проверка работы алгоритма обучения происходила в несколько этапов:

1. генерация параметров начальной модели СММПП;

–  –  –

Ниже проиллюстрирована работа алгоритма на простых моделях: Пуассоновская смесь (СММ нулевого порядка) и СММ (СММ первого порядка). Также проиллюстрирован более интересный случай: СММПП, не являющейся СММ фиксированного порядка .

Для каждого теста было сгенерировано по 100 выборок длиной 5000. Значения параметров алгоритма обучения были выбраны следующими: максимально-возможный порядок m = 4, порог для обрезания prune = 0.007, порог для остановки EM EM = 0.01 Были посчитаны абсолютное среднее отклонение (MAE — Mean Absolute Error) полученных распределений переходов от реальных распределений, отклонение параметров Пуассоновского испускания от реальных, оценки mFDR, mFNR (формулы 23, 24, соответственно) .

Средние значения этих величин, полученных обучением модели на разных выборках при фиксированной начальной модели, показаны в соответствующих таблицах (4.1.1, 4.1.2, 4.1.3) .

4.1.1. Пуассоновская смесь Модель смеси была выбрана с параметрами переходов, изображенных контекстным деревом на рисунке 3а и параметрами испусканий

–  –  –

На рисунке 4в изображен график обучения. Каждая EM-часть выделена контуром, сверху которого написано число контекстов на момент обучения, снизу количество итераций в этой части и параметры распределения испусканий, полученных на последней итерации, внутри — график логарифма правдоподобия по итерациям EM. На такой схеме видно, как сначала алгоритм 6 итераций EM обучался на 16 контекстах, после чего дерево подрезалось до 2 контекстов. Следующему EM не удалось значимо увеличить правдоподобие модели, поэтому на третей итерации он закончил работу. Далее дерево не удалось подрезать, поэтому весь алгоритм закончил свою работу (это видно из отсутствия следующего контура под график ЕM) .

4.1.3. СММПП, не являющаяся СММ фиксированного порядка Модель СММПП была выбрана с параметрами переходов, изображенных контекстным деревом на рисунке 5а и параметрами испусканий

–  –  –

4.2. Применение к реальным данным Для оценки модели на реальных данных использовались данные из проекта ENCODE (ENCyclopedia of DNA Elements). В качестве изучаемого белка рассматривался гистон H3 с ацетилированным лизином в 27-й позиции. Исследуемые клетки — эмбриональные стволовые клетки человека [1]. Размер окна был выбран равным 200 п.н .

В качестве выборок брались ненулевые участки массива, полученного после деления результата эксперимента ChIP-seq на окна .

Ниже приведены результаты обучения на данных четвертой хромосомы (сумма длин обучающих выборок 105 ) .

Параметры обучения стояли следующими: m = 5, prune = 0.04, em = 0.05 Из графика обучения (рис. 6а) видно, как сначала алгоритм 12 итераций EM обучался на 32 контекстах, потом подрезал дерево до 5 контекстов. После чего ни обучение, ни подрезание не дало результатов, поэтому, алгоритм закончил работу .

Полученное контекстное дерево переходов для скрытого слоя состояний, отвечающих за ДНК-белковую связь проиллюстрировано на рисунке 6б. Из него видно каким (а) Реальное дерево (б) Предсказанное дерево

–  –  –

Рис. 5: СММПП, не являющаяся СММ фиксированного порядка образом наличие взаимодействия с белком в фиксированном окне генома определяется взаимодействиями в предшествующих окнах .

–  –  –

Рис. 7: Сравнение моделей СММПП, СММ5 (СММ 5-го порядка, соответствует дереву, с которого начиналось обучение СММПП), СММ (СММ 1-го порядка, именно его чаще всего используют для анализа данных ChIP-seq) Ниже представлено сравнение логарифма правдоподобия (рис. 7а), критерия Акаике (рис. 7б) и времени обучения (рис. 7в) для моделей СММПП, СММ5 и СММ .

По критерию Акаике (рис. 7б) выигрывает СММПП (напомним, что данный критерий, чем меньше, тем лучше) .

СММ5 имеет лучшее среди этих трех моделей правдоподобие (рис. 7а), однако ее губит большое количество параметров. СММ имеет меньшее среди данных моделей количество параметров, однако ее правдоподобие совсем невелико .

Время обучения СММПП (рис. 6б) дает схожий результат с СММ5, немного ей уступая. СММ, в силу простоты структуры, обучается быстрее всех .

Заключение

В ходе работы были решены поставленные задачи:

1. реализована СММПП, подходящая под данные ChIP-seq;

2. проведен анализ эффективности работы СММПП на синтетических данных;

3. проведено сравнение СММПП с СММ порядка 1 и СММ порядка 5 на данных проекта ENCODE, согласно критерию Акаике СММПП является более подходящей моделью .

Список литературы [1] Broad Bradley Bernstein. Experiment summary for encsr000anp, 2011 .

[2] P Bhlmann and AJ Wyner. Variable length Markov chains. The Annals of Statistics, 27(2):480–513, April 1999 .

[3] Thierry Dumont. Context tree estimation in variable length hidden Markov models .

IEEE Transactions on Information Theory, 60:3196–3208, 2014 .

[4] Lawrence Rabiner. A tutorial on hidden markov models and selected applications in speech recognition. Proceedings of the IEEE, 77(2):257–286, 1989 .

[5] Lynch AG Tavare S Spyrou C, Stark R. BayesPeak: Bayesian analysis of ChIP-seq data. 2009 .

[6] Wenguang Sun and T. Tony Cai. Large-scale multiple testing under dependence. J. R .

Statist. Soc. B, pages 393–424, 2009 .

[7] Y Wang, Lizhu Zhou, and Jianhua Feng. Mining complex time-series data by learning Markovian models. In International Conference on Data Mining, 2006 .

[8] Jrme Eeckhoute David S Johnson Bradley E Bernstein Chad Nusbaum Richard M Myers Myles Brown Wei Li Yong Zhang, Tao Liu Clifford A Meyer and X Shirley Liu .

Model-based Analysis of ChIP-Seq (MACS). 2008 .






Похожие работы:

«Учреждение образования "Белорусский государственный университет информатики и радиоэлектроники" УТВЕРЖДАЮ Проректор по учебной работе Е.Н. Живицкая 20.03.2017 Регистрационный № УД-5-686/р "Проектирование и разработка информационных систем" Учебная программа учреждения высшего образования по учебной дисциплине для специальности 1-40 01 01...»

«Подсекция "Информационные технологии (САПР)"1. Базелюк Н.Ю., Левкин И.В. Компьютерная безопасность. 3 2. Басаргин А.В., Макарова Е.И. Автоматизация проектирования структурированной 4 кабельной системы.3. Белянина Е.Е., Левкин И.В. Изучение пакета Star-CD. 5 4. Бобарыкин Д.В.,...»

«ANDROID INSTANT APPS Как мы научили приложение работать без установки Евгений Сатуров Android Developer @saturovv Сервис + пользователи = информативно красиво Web или Native App быстро удобно доступно функционально ИСПОЛЬЗОВАТЬ ЗАПУСТИТЬ УСТАНОВИТЬ НАЙТИ ИСПОЛЬЗОВАТЬ ЗАПУСТИТЬ НАЙТИ информативно красиво Instant App...»

«Список слушателей ЦДО, успешно сдавших вступительные экзамены в 2015 году и представленных к зачислению в РАУ Направление "Туризм" Госзаказ 1. Амирханян Анжела Самвеловна 54303.02011 48,32 балла 2. Аристакесян Наре Жирайровна 543.03.02013 46,98 ба...»

«Программное обеспечение Oscar Mouse Editor (Преимущество в игре) Руководство пользователя Модели: XL-771K, XL-755K, XL-740K, XL-730K, XL-750MK, XL-750BK, X-748K, X-738K, X-718K, X-710MK, X-710BK, X-705K, X-755K www.a4tech.ru Установка ПО Oscar Mouse Editor” (Примечание: драйвер для...»

«ДК 004.4 К 32.973.26-018.2 Rod Stephens Essencial Algorithms: F Practical Approach to Computer Algorithms © 2013 by John Wiley & Sons, Inc., Indianapolis, Indiana. All rights reserved. Authorised translation from the English language edition published by John Wiley & Sons Limited : Кири Ва и 1—...»

«РОСЖЕЛДОР Федеральное государственное бюджетное образовательное учреждение высшего образования "Ростовский государственный университет путей сообщения" (ФГБОУ ВО РГУПС) ПРОГРАММА 76-й СТУДЕНЧЕСКОЙ НАУЧНО-ПРАКТИЧЕСКОЙ КОНФЕРЕНЦИИ (факультет "Информационные техно...»







 
2019 www.mash.dobrota.biz - «Бесплатная электронная библиотека - онлайн публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.