다음은 stepic에 있는 예제 문제이다.
Motifs T C G G G G g T T T t t
c C G G t G A c T T a C
a C G G G G A T T T t C
T t G G G G A c T T t t
a a G G G G A c T T C C
T t G G G G A c T T C C
T C G G G G A T T c a t
T C G G G G A T T c C t
T a G G G G A a c T a C
T C G G G t A T a a C C
Score 3 + 4 + 0 + 0 + 1 + 1 + 1 + 5 + 2 + 3 + 6 + 4 = 30
Count A: 2 2 0 0 0 0 9 1 1 1 3 0
C: 1 6 0 0 0 0 0 4 1 2 4 6
G: 0 0 10 10 9 9 1 0 0 0 0 0
T: 7 2 0 0 1 1 0 5 8 7 3 4
Profile A: .2 .2 0 0 0 0 .9 .1 .1 .1 .3 0
C: .1 .6 0 0 0 0 0 .4 .1 .2 .4 .6
G: 0 0 1 1 .9 .9 .1 0 0 0 0 0
T: .7 .2 0 0 .1 .1 0 .5 .8 .7 .3 .4
엔트로피는 다음과 같이 정의된다.
두번째 열은 다음과 같이 계산된다.
이런 식으로 한 열씩 차근 차근 구해서 더하면 된다.
Entropy
1번 열: -(.2 * log2(.2) + .1 * log2(.1) + .0 * log2(.0) + .7 * log2(.7))
2번 열: -(.2 * log2(.2) + .6 * log2(.6) + .0 * log2(.0) + .2 * log2(.2))
3번 열: -(.0 * log2(.0) + .0 * log2(.0) + 1.0 * log2(1.0) + .0 * log2(.0))
4번 열: -(.0 * log2(.0) + .0 * log2(.0) + 1.0 * log2(1.0) + .0 * log2(.0))
5번 열: -(.0 * log2(.0) + .0 * log2(.0) + .9 * log2(.9) + .1 * log2(.1))
6번 열: -(.0 * log2(.0) + .0 * log2(.0) + .9 * log2(.9) + .1 * log2(.1))
7번 열: -(.9 * log2(.9) + .0 * log2(.0) + .1 * log2(.1) + .0 * log2(.0))
8번 열: -(.1 * log2(.1) + .4 * log2(.4) + .0 * log2(.0) + .5 * log2(.5))
9번 열: -(.1 * log2(.1) + .1 * log2(.1) + .0 * log2(.0) + .8 * log2(.8))
10번 열: -(.1 * log2(.1) + .2 * log2(.2) + .0 * log2(.0) + .7 * log2(.7))
11번 열: -(.3 * log2(.3) + .4 * log2(.4) + .0 * log2(.0) + .3 * log2(.3))
12번 열: -(.0 * log2(.0) + .6 * log2(.6) + .0 * log2(.0) + .4 * log2(.4))
1.15677964945 + 1.37095059445 + 0 + 0 + 0.46899559358 +
0.46899559358 + 0.46899559358 + 1.36096404744 + 0.92192809488 + 1.15677964945 +
1.57095059445 + 0.97095059445 = 9.91629000531
출처: https://beta.stepic.org/Bioinformatics-Algorithms-2/Scoring-Motifs-157/#step-7
댓글