Создайте или отредактируйте скрытую структуру профиля модели Маркова (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-by- [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
, файл в формате HMM PFAM, входящий в состав программного обеспечения.
hmm02 = pfamhmmread('pf00002.ls');
Измените структуру профиля HMM, чтобы принудительно создать глобальное выравнивание путем установки нулевого нуля вероятностей циклического перехода в состояниях фланцевой вставки.
hmm02 = hmmprofstruct(hmm02,'FlankingInsertX',[0 0;1 1]);
hmm02.FlankingInsertX
ans =
0 0
1 1
aacount
| basecount
| gethmmprof
| hmmprofalign
| hmmprofestimate
| hmmprofgenerate
| hmmprofmerge
| pfamhmmread
| showhmmprof