Создание или редактирование скрытой структуры профиля модели Маркова (HMM)
Model = hmmprofstruct(Length)
Model = hmmprofstruct(Length, Field1, Field1Value, Field2, Field2Value, ...)
NewModel = hmmprofstruct(Model, Field1, Field1Value, Field2, Field2Value, ...)
Length | Количество состояний соответствия в модели. |
Model | Структура MATLAB ®, содержащая поля для параметров профиля HMM, созданного с помощью hmmprofstruct функция. |
Field | Символьный вектор или строка, содержащая имя поля в структуре Model. Имена полей см. в таблице ниже. |
FieldValue | Значение, связанное с Field. Описание см. в таблице ниже. |
Model | Структура MATLAB содержит поля для параметров профиля HMM. |
прибыль Model = hmmprofstruct(Length)Modelструктура MATLAB, содержащая поля для параметров профиля HMM. Length определяет количество состояний соответствия в модели. Для всех остальных обязательных параметров установлены значения по умолчанию.
возвращает структуру профиля HMM, использующую указанные параметры. Для всех остальных обязательных параметров установлены значения по умолчанию.Model = hmmprofstruct(Length, Field1, Field1Value, Field2, Field2Value, ...)
возвращает обновленную структуру профиля HMM с использованием указанных параметров. Все остальные параметры берутся из входных данных NewModel = hmmprofstruct(Model, Field1, Field1Value, Field2, Field2Value, ...)Model.
Структура MATLAB Model содержит следующие поля, которые являются обязательными и необязательными параметрами профиля HMM. Все значения вероятности находятся в диапазоне [0 1].
| Область | Описание |
|---|---|
ModelLength | Целое число, указывающее длину профиля (количество состояний MATCH). |
Alphabet | Символьный вектор или строка, задающая алфавит, используемый в модели. Варианты: 'AA' (по умолчанию) или 'NT'. Примечание
|
MatchEmission | Вероятности испускания символов в состояниях MATCH. Одно из следующих действий: |
InsertEmission | Вероятности испускания символов в состоянии INSERT. Одно из следующих действий: |
NullEmission | Вероятности испускания символов в состояниях MATCH и INSERT для модели NULL. Одно из следующих действий: Примечание Модель NULL используется для вычисления коэффициента логарифмических шансов в каждом состоянии и предотвращения переполнения при распространении вероятностей через модель. Примечание Вероятности NULL также известны как фоновые вероятности. |
BeginX | Вероятности перехода состояния BEGIN. Формат - это 1-по- [B->D1 B->M1 B->M2 B->M3 .... B->Mend] Примечание При необходимости sum(Model.BeginX) = 1 Для профилей фрагментов: sum(Model.BeginX(3:end)) = 0 По умолчанию: |
MatchX | Вероятности перехода состояния MATCH. Формат - это 4-по- [M1->M2 M2->M3 ... M[end-1]->Mend; M1->I1 M2->I2 ... M[end-1]->I[end-1]; M1->D2 M2->D3 ... M[end-1]->Dend; M1->E M2->E ... M[end-1]->E ] Примечание При необходимости sum(Model.MatchX) = [ 1 1 ... 1 ] Для профилей фрагментов: sum(Model.MatchX(4,:)) = 0 По умолчанию: |
InsertX | Вероятность перехода состояния INSERT. Формат - 2-по- [ I1->M2 I2->M3 ... I[end-1]->Mend; I1->I1 I2->I2 ... I[end-1]->I[end-1] ] Примечание При необходимости sum(Model.InsertX) = [ 1 1 ... 1 ] По умолчанию: |
DeleteX | Вероятность перехода состояния DELETE. Формат - 2-по- [ D1->M2 D2->M3 ... D[end-1]->Mend ; D1->D2 D2->D3 ... D[end-1]->Dend ] Примечание При необходимости sum(Model.DeleteX) = [ 1 1 ... 1 ] По умолчанию: |
FlankingInsertX | Фланцевые вставки (N и C), используемые для выравнивания профиля LOCAL. Формат - это матрица 2 на 2: [N->B C->T ; N->N C->C] Примечание При необходимости sum(Model.FlankingInsertsX) = [1 1] Примечание Для принудительного глобального выравнивания используйте: Model.FlankingInsertsX = [1 1; 0 0] По умолчанию: |
LoopX | Вероятности перехода состояний цикла, используемые для выравнивания множественных попаданий. Формат - это матрица 2 на 2: [E->C J->B ; E->J J->J] Примечание При необходимости sum(Model.LoopX) = [1 1] По умолчанию: |
NullX | Нулевые вероятности перехода, используемые для обеспечения оценок со значениями логарифмических шансов, также для переходов состояний. Формат - это вектор столбца 2 на 1: [G->F ; G->G] Примечание При необходимости sum(Model.NullX) = 1 По умолчанию: |
IDNumber | Необязательно. Присвоенный пользователем идентификационный номер. |
Description | Необязательно. Назначенное пользователем описание модели. |
Модель профиля HMM является обычным статистическим инструментом для моделирования структурированных последовательностей, состоящих из символов. Эти символы включают в себя случайность как в выходных данных (излучение символов), так и в переходах состояний процесса. Марковские модели в целом представлены диаграммами состояния.
На следующем рисунке представлена диаграмма состояний для профиля HMM длиной четыре. Состояния INSERT, MATCH и DELETE находятся в центральном разделе.
Состояние INSERT представляет собой превышение одного или нескольких символов в целевой последовательности, которые не включены в профиль.
Состояние MATCH означает, что целевая последовательность выравнивается по профилю в определенном месте.
Состояние DELETE представляет собой отсутствие промежутка или символа в целевой последовательности (также известное как состояние молчания, поскольку оно не испускает никаких символов).
Фланговые состояния (S, N, B, E, C, T) используются для правильного моделирования концов последовательности для глобального, локального или фрагментного выравнивания профиля. S, B, E, и T молчат, в то время как N и C используются для вставки обозначений на флангах.

Создайте структуру профиля HMM со 100 состояниями MATCH, используя аминокислотный алфавит.
hmmProfile = hmmprofstruct(100,'Alphabet','AA') hmmProfile = ModelLength: 100 Alphabet: 'AA' MatchEmission: [100x20 double] InsertEmission: [100x20 double] NullEmission: [1x20 double] BeginX: [101x1 double] MatchX: [99x4 double] InsertX: [99x2 double] DeleteX: [99x2 double] FlankingInsertX: [2x2 double] LoopX: [2x2 double] NullX: [2x1 double]
Используйте pfamhmmread создание структуры профиля HMM из pf00002.ls, файл в формате ЧММ PFAM, включенный в состав программного обеспечения.
hmm02 = pfamhmmread('pf00002.ls');Измените структуру профиля HMM, чтобы принудить глобальное выравнивание, установив нулевые вероятности циклического перехода в состояниях фланкирующей вставки.
hmm02 = hmmprofstruct(hmm02,'FlankingInsertX',[0 0;1 1]);
hmm02.FlankingInsertX
ans =
0 0
1 1aacount | basecount | gethmmprof | hmmprofalign | hmmprofestimate | hmmprofgenerate | hmmprofmerge | pfamhmmread | showhmmprof