exponenta event banner

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

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

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

Примечание

AlphaLength составляет 20 для 'AA' и 4 для 'NT'.

MatchEmission

Вероятности испускания символов в состояниях MATCH.

Одно из следующих действий:

  • Матрица размера ModelLengthоколо-AlphaLength, где каждая строка соответствует распределению выбросов для конкретного состояния MATCH. По умолчанию - однородные распределения.

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

InsertEmission

Вероятности испускания символов в состоянии INSERT.

Одно из следующих действий:

  • Матрица размера ModelLengthоколо-AlphaLength, где каждая строка соответствует распределению выбросов для конкретного состояния INSERT. По умолчанию - однородные распределения.

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

NullEmission

Вероятности испускания символов в состояниях MATCH и INSERT для модели NULL.

Одно из следующих действий:

  • A 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

Вероятности перехода состояния MATCH.

Формат - это 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 нормализует данные таким образом, что сумма вероятностей перехода из каждого состояния MATCH равна 1:

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

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

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

По умолчанию: repmat([0.998 0.001 0.001 0],ModelLength-1,1).

InsertX

Вероятность перехода состояния INSERT.

Формат - 2-по-(ModelLength - 1) матрица:

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

Примечание

При необходимости hmmprofstruct нормализует данные таким образом, что сумма вероятностей перехода из каждого состояния INSERT равна 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), используемые для выравнивания профиля LOCAL.

Формат - это матрица 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 нормализует данные таким образом, что сумма вероятностей перехода из состояний Null равна 1:

sum(Model.NullX) = 1

По умолчанию: [0.01; 0.99].

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

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

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

На следующем рисунке представлена диаграмма состояний для профиля HMM длиной четыре. Состояния INSERT, MATCH и DELETE находятся в центральном разделе.

  • Состояние INSERT представляет собой превышение одного или нескольких символов в целевой последовательности, которые не включены в профиль.

  • Состояние MATCH означает, что целевая последовательность выравнивается по профилю в определенном месте.

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

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

Примеры

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

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

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

    hmm02 = hmmprofstruct(hmm02,'FlankingInsertX',[0 0;1 1]);
    hmm02.FlankingInsertX
    
    ans =
    
         0     0
         1     1
Представлен до R2006a