シーケンスロゴ

シーケンスロゴはマルチプルアライメントの保存度を図示するのに用いられている。シーケンスロゴを描くのに、情報エントロピーを利用する。位置 i の塩基 X が出現する確率を pi(X) とし、位置 i の情報エントロピーを Hi、 C を文字の集合すると、位置 i のロゴの全体の高さ Ri は次のように求ることができる。

\[ R_{i} = log_{2}(|C|) - (H_{i} + e_{n}) \]

ただし、C は、核酸の場合 C = {A,C,G,T} であり |C| = 4 である、また、アミノ酸の場合は C = {A,B,...,W} であり |C| = 20 である。また、en は補正係数で、次のように計算される。このときの n はマルチプルアラインメントの配列数を表す。

\[ e_{n} = \frac{|C| - 1}{2nlog_{e}2} \]

マルチプルアラインメントの位置 i に複数種類の文字(塩基またはアミノ酸)が存在したとき、文字 X の高さ hi(X) を次の式に基づいて計算する。

\[ h_{i}(X) = p_{i}(X) R_{i} \]

WebLogo

WebLogo のサイトにマルチプルアラインメントを貼り付けると、その場でシーケンスロゴを画像として作成できる。例えば、次のマルチプルアラインメントでシーケンスロゴを作成した場合は次のようになる。

ACAAACAGT
AAAATGAGT
ATCAACACC
AGCATGCTT
WebLogo サイトで生成したシーケンスロゴの例

R / ggseqlogo

RNA-Seq などのシーケンサーデータ解析でよく使う R を使ってシーケンスロゴを描くこともできる。このとき、R の ggseqlogo パッケージを利用すると便利である。

library(ggseqlogo)

seq_dna <- c('ACAAACAGT', 'AAAATGAGT', 'ATCAACACC', 'AGCATGCTT')
p1 <- ggseqlogo(seq_dna)
print(p1)
R の ggseqlogo パッケージで生成したシーケンスロゴの例