hmmprofstruct

Создайте или отредактируйте структуру профиля скрытой модели Маркова (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 задает количество состояний соответствия в модели. Все другие обязательные параметры устанавливаются на значения по умолчанию.

Model = hmmprofstruct(Length, Field1, Field1Value, Field2, Field2Value, ...) возвращает структуру профиля HMM с помощью заданных параметров. Все другие обязательные параметры устанавливаются на значения по умолчанию.

NewModel = hmmprofstruct(Model, Field1, Field1Value, Field2, Field2Value, ...) возвращает обновленную структуру профиля HMM с помощью заданных параметров. Все другие параметры взяты из входа Model.

Структура профиля HMM

Model структуры MATLAB содержит следующие поля, которые являются необходимыми и дополнительными параметрами профиля HMM. Все значения вероятности находятся в [0 1] область значений.

Поле Описание
ModelLengthЦелое число, задающее длину профиля (количество состояний СООТВЕТСТВИЯ).
AlphabetВектор символов или строка, задающая алфавит, используются в модели. Выбором является 'AA' (значение по умолчанию) или 'NT'.

Примечание

AlphaLength 20 для 'AA' и 4 для 'NT'.

MatchEmission

Вероятности эмиссии символа в состояниях СООТВЕТСТВИЯ.

Любое из следующего:

  • Матрица размера ModelLength-by-AlphaLength, где каждая строка соответствует распределению эмиссии для определенного состояния СООТВЕТСТВИЯ. Значения по умолчанию к равномерным распределениям.

  • Структура, содержащая количества остатка, такой, как возвращено aacount или basecount.

InsertEmission

Вероятности эмиссии символа во ВСТАВКА состоянии.

Любое из следующего:

  • Матрица размера ModelLength-by-AlphaLength, где каждая строка соответствует распределению эмиссии для определенного, ВСТАВЛЯЕТ состояние. Значения по умолчанию к равномерным распределениям.

  • Структура, содержащая количества остатка, такой, как возвращено aacount или basecount.

NullEmission

Вероятности эмиссии символа в СООТВЕТСТВИИ и ВСТАВЛЯЮТ состояния для модели NULL.

Любое из следующего:

  • 1 AlphaLength вектором - строкой. Значения по умолчанию к равномерному распределению.

  • Структура, содержащая количества остатка, такой, как возвращено aacount или basecount.

Примечание

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

Примечание

Вероятности NULL также известны как фоновые вероятности.

BeginX

Вероятности изменения состояния BEGIN.

Формат является 1 (ModelLength + 1) вектором - строкой:

[B->D1 B->M1 B->M2 B->M3 .... B->Mend]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от состояния BEGIN равняется 1:

sum(Model.BeginX) = 1

Для профилей фрагмента:

sum(Model.BeginX(3:end)) = 0

Значением по умолчанию является [0.01 0.99 0 0 ... 0].

MatchX

СОВПАДАЙТЕ с вероятностями изменения состояния.

Формат является 4 (ModelLength - 1) матрицей:

[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  ]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от каждого состояния СООТВЕТСТВИЯ равняется 1:

sum(Model.MatchX) = [ 1 1 ... 1 ]

Для профилей фрагмента:

sum(Model.MatchX(4,:)) = 0

Значением по умолчанию является repmat([0.998 0.001 0.001 0],ModelLength-1,1).

InsertX

ВСТАВЬТЕ вероятности изменения состояния.

Формат является 2 (ModelLength - 1) матрицей:

[ I1->M2 I2->M3 ... I[end-1]->Mend;
  I1->I1 I2->I2 ... I[end-1]->I[end-1] ]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от каждого ВСТАВКА состояние равняется 1:

sum(Model.InsertX) = [ 1 1 ... 1 ]

Значением по умолчанию является repmat([0.5 0.5],ModelLength-1,1).

DeleteX

Вероятности изменения состояния DELETE.

Формат является 2 (ModelLength - 1) матрицей:

[ D1->M2 D2->M3 ... D[end-1]->Mend ;
  D1->D2 D2->D3 ... D[end-1]->Dend ]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от каждого состояния DELETE равняется 1:

sum(Model.DeleteX) = [ 1 1 ... 1 ]

Значением по умолчанию является repmat([0.5 0.5],ModelLength-1,1).

FlankingInsertX

Фланговые состояния вставки (N и C) используемый для ЛОКАЛЬНОГО выравнивания профиля.

Формат является матрицей 2 на 2:

[N->B  C->T ;
 N->N  C->C]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от Фланговых состояний Вставки равняется 1:

sum(Model.FlankingInsertsX) = [1 1]

Примечание

Обеспечивать глобальное использование выравнивания:

Model.FlankingInsertsX = [1 1; 0 0]

Значением по умолчанию является [0.01 0.01; 0.99 0.99].

LoopX

Цикл утверждает вероятности перехода, используемые для нескольких выравнивания хитов.

Формат является матрицей 2 на 2:

[E->C  J->B ;
 E->J  J->J]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от состояний Цикла равняется 1:

sum(Model.LoopX) = [1 1] 

Значением по умолчанию является [0.5 0.01; 0.5 0.99].

NullX

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

Формат 2 1 вектор-столбец:

[G->F ; G->G]

Примечание

При необходимости hmmprofstruct нормирует данные, таким образом, что сумма вероятностей перехода от Пустых состояний равняется 1:

sum(Model.NullX) = 1

Значением по умолчанию является [0.01; 0.99].

IDNumberДополнительный. Присвоенный пользователями идентификационный номер.
DescriptionДополнительный. Присвоенное пользователями описание модели.

Модель профиля HMM

Модель профиля HMM является общим статистическим инструментом для моделирования структурированных последовательностей, состоявших из символов. Эти символы включают случайность в обоих вывод (эмиссия символов) и изменения состояния процесса. Модели Маркова обычно представляются диаграммами состояний.

Следующая фигура является диаграммой состояний для профиля HMM длины четыре. ВСТАВЬТЕ, СООТВЕТСТВУЙТЕ, и состояния DELETE находятся в центральной секции.

  • ВСТАВЬТЕ состояние, представляет избыток одного или нескольких символов в целевой последовательности, которые не включены в профиль.

  • СООТВЕТСТВУЙТЕ состояние означает, что целевая последовательность выравнивается к профилю в определенном местоположении.

  • Состояние DELETE представляет разрыв или отсутствие символа в целевой последовательности (также известный как отключенное состояние, потому что это не испускает символов).

Обрамление состояний (S, N, B, E, C, T) используется для соответствующего моделирования концов последовательности, или для глобальной переменной, локальной или для выравнивания фрагмента профиля. S, B, E и T тихи, в то время как N и C используются, чтобы вставить символы во флангах.

Примеры

Пример 47. Создание структуры профиля HMM

Создайте структуру профиля HMM с 100 состояниями СООТВЕТСТВИЯ, с помощью алфавита аминокислоты.

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]
Пример 48. Редактирование структуры профиля HMM
  1. Используйте функцию pfamhmmread, чтобы создать структуру профиля HMM из pf00002.ls, PFAM отформатированный HMM файл, включенный с программным обеспечением.

    hmm02 = pfamhmmread('pf00002.ls');
  2. Измените структуру профиля HMM, чтобы обеспечить глобальное выравнивание, установив вероятности перехода цикличного выполнения во фланговых состояниях вставки обнулить.

    hmm02 = hmmprofstruct(hmm02,'FlankingInsertX',[0 0;1 1]);
    hmm02.FlankingInsertX
    
    ans =
    
         0     0
         1     1

Представлено до R2006a