隠れマルコフモデルを用いて遺伝子予測を行います

隠れマルコフモデルとは何ですか

隠れマルコフモデル(隠れマルコフモデル、HMM)は、隠れマルコフプロセス不明を含むパラメータを記述するために使用される統計モデル、です。難易度は、プロセスのパラメータが隠れパラメータから見ることができるかを決定することです。その後、我々は今日の遺伝子予測について話す場合は特に、このようなパターン認識として、さらなる分析にこれらのパラメータを使用します。【一部】組み立てられた配列とコード領域とその統計的マルコフモデルではありませんである[]観測されない(隠された)状態のモデル化されたシステムは、マルコフ過程であると考えられます。

ここで説明する簡単な例:
私の手のサイコロは、2つの異なる色を有すると仮定し、他方は(Cコーディング)オレンジ(非コード、N)、青色です。しかし、別の普通のサイコロは、彼らが長い上から下へ、であるが固定されている4つの可能性は、(あなたがそれらを理解する唯一の回転と平行にすることができます)があるのでとして安定化されていることです。したがって、各サイコロが表示されていることをATCG確率は1/4です。

 

一緒に二つの鎖

私たちはサイコロを転がし始める、我々は、選択した2色で開始し、各サイコロの確率は1/2で選ぶとします。その後、我々は我々がATCGを取得し、サイコロを転がし。上記のプロセスを繰り返しまま、私たちはシーケンスの束を取得しますが、各文字はATCGの一つです。例えばCGAAAAAATCG

このシーケンスは、目に見える文字列のチェーンと呼ばれています。しかし、隠れマルコフモデルでは、私たちは目に見えるチェーンの束だけでなく、隠された状態のチェーンの束を持っているので。この例では、この文字列の順序チェーンは暗黙のサイコロであなたのステータスです。CCNNNNNNNCCC:例えば、隠れ状態鎖があってもよいです。

一般的に、HMMマルコフ連鎖は、実際に来て、暗黙的な状態鎖を指すため暗黙状態(ダイ)間の変換確率(遷移確率)。この例では、次の状態CはNです。C、Nの確率は1/2です。これは、最初は簡単にクリアするための設定ですが、実際には、我々は、遷移確率を設定することは自由です。例えば、我々は、後ろ2つの確率N C、またはCが0.1ないことによって、定義することができます。これは新しいHMMです。

同様に、が状態間の目に見える遷移確率は存在しないが、状態出力確率(放出確率)と呼ばれる可視状態確率の間に隠されています。この例では、(C)をコード確率がA 1/4、非コード(N)が生成される確率は1/4 Aでこれらの確率は、任意に定義されている、もちろん私は、あなたが他の値と定義することができます。

暗黙の関係の状態遷移図

実際には、HMMのために、すべての状態と状態へのすべての暗黙の目に見えるすべての暗黙の状態間の遷移確率との間で予めノウハウを発生させる確率があれば、それはシミュレーションを行うには非常に簡単です。はい、私たちは簡単にピックアップする必要があります。

隠れマルコフモデルを用いて遺伝子予測を行います

次に、我々は、単純な遺伝子予測を行います。ゲノムDNA配列の所定の期間は、我々は、その中にコード領域を予測しました。隠れマルコフモデルは、前にも言ったによると、我々は最初の観察可能な状態暗黙的および明示的なシンボルを直接観察することができ、直接ではない区別しなければなりません。

二つの鎖を持ちます

この例では、我々は簡単に記号列を観察することができるされたゲノムDNA配列が与えられると、それを見ることができます。コーディング/隠された状態を直接観察することができない非コーディング。したがって、我々は、状態遷移図を描くことができます。まず、我々は、コーディングおよび非コード二つの状態を持っています。ゲノムは同時にコード領域および非コード包まれているので、これらの2つの状態の間で切り替えることが可能です。もちろん、各状態は、連続的なコードまたは非コード領域として、独自に変換することができます。このように、我々は、遷移行列2 * 2を持っています。

遷移確率

次に、我々は確率を生成するために記述する必要があります。これは、それぞれ、二つの行列を有することができるように、状態コーディングまたは非コーディングか否か、A、C、G、T 4つの塩基を持っている可能性があり、簡単です。

発生確率

今、私たちは、これら3つのグリッド行列の数値の特定を埋めるために、トレーニングセット(トレーニングセット)が必要です。その統計がたくさんありますが、通常より長い配列よりも、コーディング正しくラベル付けされ、非コード領域のDNA配列 - 具体的には、事前に素敵なコメントを持っている必要があります。

分析の後、我々はトレーニングセットは、転送確率行列と生産確率行列を充填したことを想定しています。私たちは、最も可能性の高い最大の確率その状態のパスで指定された未知のゲノム配列に反国家パスを起動するには、これらのデータを必要とします。したがって、依然として我々動的プログラミングアルゴリズムの使用前と同様に、反復式を書き、最終的な終了点式(終端式)

训练的结果

从公式里面,我们看到,我们需要做大量测乘法。这个不仅比较慢,而且利用计算机操作时,随着连乘次数的增加,很容易数值过小而出现下溢(underflow)的问题。因此,我们通常会引入对数计算,从而将乘法转换成加法。具体来说,就是对转移和生成概率都预先取log10。

取log

好,我们正式开始,假设我组装了一段序列(咦,怎么这么短?为了简单_):

CGAAAAAATCG

首先,让我们和之前一样,画出动态规划的迭代矩阵,其中包含两个状态,非编码状态N与编码状态C。接下来,我们需要设定边界条件(boundary condition),也就是这两个状态默认的分布比例。为了计算方便,我们分别设为0.8和0.2,经过log10转换后,分别为-0.097和-0.699.接下来我们逐步填格子

之后,我们碰到的第一个碱基C,由生成概率可知C在非编码状态下的log10生成的概率是-0.523,将之与-0.097相加,就可以得到-0.62。类似的,在编码状态下,这个数是-0.699+(-0.699)=-1.4。

接下来,我们要前进一个碱基,就需要进行状态转移,我们先来看第一种情形,也就是从非编码状态到非编码状态的转换。从转移举证可以看到,这里的转移概率是-0.097,再加上非编码状态下下一个碱基G的生产概率是-0.523.我们能就可以得到(-0.699)+(-0.097 )+(-0.523)=-1.24。类似的我们来计算,在这个位点从编码状态到非编码状态的转换,也就是-1.40+(-0.398)+(-0.523)=-2.32.这个值比从非编码状态转移得到的-1.24小,因此不会被保留。(舍去概率小的可能路径)

类似的,我们可以继续完成后续的迭代,把后面所有的格子都一个个填满。如下:

移步换景

接下来,我们来做回溯。首先,选出最终概率值最大的那个值。以它为起点,依次来回溯,那么我们得到的回溯路径就可以得到最终的结果。在回溯路径中,如果下一步有两种可能,就走向概率大的那一家。

回溯路径

把这一路上走过的NC标记下来,就可以得到最后的结果:

NNCCCCCCNNN

也就是说,我们把输入的序列CGAAAAAATCG分为了非编码区N和编码区C.

结果

由于时间有限,我们的MSGP(The Most Simple Gene Predictor)非常简单。但它很容易被扩展,只需要你引入更多的状态,唯一的限制是,不同的状态对应的生成概率--在这里也就是碱基的组分--必须存在显性的差异。这样,我们才可能由你的观测序列反推出状态来。

比如说,Chris Burge 1996年提出基因预测算法GenScan针对外显子,内含子以及UTR等设定了独立的状态,从而大大提高了预测的准确度,是最成功的基因预测工具之一。但在基本原理上,它与我们刚刚讲的,最简单的MSFP并没有区别。类似的,我们还以可以用类似的方法去做5’剪切位点的预测等等。

事实上,通过将状态和可观测的符号分离开,隐马尔可夫模型为生物信息学的数据分析提供了一个有效的概率框架,是当代生物信息学最常用的算法模型之一。

本文基本上是对下面两篇博文的复述,对作者表示敬意和谢意。
另外,也参考了吴军老师的《数学之美》一书。

おすすめ

転載: www.cnblogs.com/klausage/p/11831084.html