'전체 글'에 해당되는 글 133건

  1. 2017.06.14 FPKM and read counts in RNA-Seq
  2. 2013.12.03 Wright-Fisher Model
  3. 2013.11.26 [MDF]확률과 통계의 기본개념
반응형

유전자 발현의 상대적인 양을 알아보는 RNA-Seq은 현재 널리 이루어지고 있는 실험 방법입니다.

많은 연구가 이 RNA-Seq을 통해서 이뤄지고 있고, 또 흥미로운 발견들도 계속 되고 있습니다.


하지만, 생물을 공부하는 학생의 입장으로는 이러한 개념이 낯설기만 합니다.

특히, 실험을 마치고 나온 데이터를 분석하기 위해서는 여러 툴들을 사용하게 되는데, 지금은 워낙 많은 방법으로 워낙 많은 툴들이 나와있어서, 자신의 실험에 맞는 툴이 어떤 것인지 애매할 때가 있습니다.


이 고민의 중요한 과정인 Read count와 FPKM에 대해 오늘은 알아보려고 합니다.


RNA-Seq 데이터를 받아들고 분석하기위해서, 유전자 발현의 양을 측정하는 기본적인 방법에는, 크게 두가지가 있습니다.


1. read count는 말그대로 하나의 유전자의 위치에 assemble된 read들의 숫자를 센 값입니다.

2. FPKM은 Fragments Per Kilobase of exon per Million의 약자인데, 단순히 숫자를 세는 read count와는 다르게, paired-end read 두개가 합쳐져서 하나의 fragment를 이루고, 그 숫자를 exon의 총 길이에 나눠서 유전자의 길이에 따른 normalization을 한 값입니다. 그리고 그것을 다시 million reads 로 나눠서 library size에 normalization을 한 값이죠. 그래서 이 방법으로는 다른 library size의 샘플을 비교할 수 있게됩니다. 예를 들어서 60 million reads 가 나온 샘플 A와 30 million reads가 나온 샘플 B의 같은 유전자 C가 어느 샘플에서 더 많이 발현되었는지 비교를 가능하게 해주는 것이 FPKM입니다.


그러면 사람들은 왜 FPKM을 항상 쓰지 않고, read count를 쓰기도 하는걸까요?


거기에 대한 의문과 비교는 이 블로그 포스트에 잘 정리되어 있습니다.

링크의 저자는 자신이 가지고 있는 데이터로 FPKM과 read counts를 비교를 했습니다.

위 그래프에서도 보시다시피, 같은 데이터를 가지고 계산하더라도 FPKM과 Read Count는 많은 차이가 납니다.


당연히, 어떤 방법을 택하느냐에 따라서 실험의 분석결과도 많은 차이가 나겠죠?

이러한 현상은 여러 과학자들에 의해 활발하게 토론되어 왔고, 또 두 방법을 비교하는 논문도 여러차례 나오고 있습니다.

(Rapaport et al., 2012; Seyednasrollah et al., 2015 등)


위 그래프를 가져온 블로그의 주인도 비슷한 이야기를 합니다. FPKM과 read-count는 결국 두개의 다른값이고, 어느 것이 더 정확하고 덜 정확하다는 결론을 내리기는 힘들다고 합니다.

자신의 실험의 목적이 무엇이냐에 따라서 달리 쓰여야한다고 합니다. 그래서 항상 두가지 방법을 다 써보는 것도 추천을 하고있습니다.


그러면 어떤 경우에 FPKM을 쓰고 어떤 경우에 read-count를 써야할까요?

여기서 절대적인 결론을 내릴 수는 없지만, 여러 토론과 글들을 읽어본 결과, within sample comparison에는 FPKM을, across sample comparison에는 read-count를 쓰는 것이 좋다고 대체로 이야기하고 있더군요.

물론 이 말에 전부 동의하시지는 않겠지만, 왜 그런지 한번 알아보도록 하겠습니다.


그 이유는 normalization을 하는 방법의 차이입니다. 

FPKM은 normalization을 샘플에 따라 각각 합니다. 즉, 하나의 샘플의 데이터 안에서, 유전자의 길이와 전체 library 의 양에 따라 normalization을 합니다.

반면에 read count는 그런 normalization의 과정없이, 서로 다른 샘플들을 하나로 묶어서 normalization을 나중에 합니다. 그러므로 normalization 이 각각의 샘플에서 따로 된 경우 보다는  read count의 normalization이 샘플 간의 비교에서는 더 나아보일 수도 있지요.

즉, 하나의 샘플에서 어떠한 유전자가 더 혹은 덜 발현 되었나 비교를 하는 경우에는 FPKM을, 다른 샘플간에 어떤 유전자가 다르게 발현되었냐를 볼때에는 read count를 추천하더군요.


하지만, 이것은 어디까지나, 각 샘플의 library양이 비슷하거나 동일할 때의 경우입니다.

만약 library의 read 양이 샘플간에 엄청 차이가 난다면, FPKM이 나을 경우도 있다고합니다.


결국, 자신의 실험 디자인에 따라, 어떤 것을 택하는 지는 자기에게 달려있습니다. 아, 이렇게 애매모호한 결론 싫어하지만 어쩔 수가 없군요.


FPKM 방법을 쓰는 대표적인 분석 툴은 Tuxedo pipeline (tophat2-cufflinks-cuffdiff/hisat2-stringtie-bowtie) 가 있구요. read count를 쓰는 대표적인 분석 툴은 EdgeR 혹은 DESeq2가 있습니다.




728x90
반응형
Posted by Gun들지마
반응형

Wright-Fisher Model

 

Wright-Fisher Model은 genetic drift의 한 모델이자 population genetic model의 가장 간단한 수학적 모델입니다.

 

이렇게 간단한 수학적 모델을 끌어내기 위해서 여러가지 전제조건을 달고 있는데요, 이 전제 조건들은 Hardy-Weinberg Equilibrium에 쓰여진 여러 전제조건들과 비슷합니다.

 

1. 겹치지 않는 세대: (non-overlapping generations) 1년 살다가 이전 세대가 씨앗을 남기고 겨울에 다 죽는 1년생 식물 처럼 이전 세대와 그다음 세대의 인구가 겹치지 않습니다

2. 무작위적인 짝짓기: (random mating) 같은 gene의 경우에 모든 세대의 계승이 무작위로 이루어 집니다.

3. 유한하고 일정한 인구: (finite and constant population) 여기서 Hardy-Weinberg Equilibrium 과 다른 점인데요. 인구의 수가 세대마다 일정하며 유한합니다.

 

아주 간단하게 프로세스를 정리해보겠습니다. haploid 인 10개의 개체가 하나의 인구를 이루고 있다고 가정해 봅시다. 그러면 세대(generation)마다 인구수가 동일하기 때문에 다음 세대에서도 10개의 개체가 생깁니다. 이 다음 세대의 10개의 개체는 각각 하나의 parent를 랜덤하게 가집니다. 여기서 parent-offspring 관계는 선으로 나타낼 수가 있겠죠. 그리고 offspring 은 parent 와 같은 유전정보를 가집니다. 이것을 간단하게 도식으로 나타내어 보면 다음과 같습니다.

 

 

 

 그리고 10세대가 지나면 다음과 같은 도표가 나오겠죠.

 

 

 

Neutral evolution 에서는 모든 개체들이 동일한 fitness를 가집니다. 그리고 neutral Wright-Fisher Model에서는 이 동일한 fitness가 parent로 선택될 동일한 확률을 가집니다. 그러므로, 위의 예를 보았을 때에 하나의 개체는 그 다음 세대에서 parent로 선택될 10번의 기회를 가지게 되고, 이것을 확률로 바꾸면 0.1이 되겠죠.

보통의 경우에 diploid가 많으므로 2N=10 으로 표현을 합니다. (확률로 하면 p= 1/2N, n = 2N)

 

좀더 어렵게 수학적으로 말해보자면, 다음 세대의 각각의 개체는 binomial distribution (이항분포)를 따르고 p= 1/ 2N, n = 2N 이 됩니다. 위의 예에서는 인구수를 10으로 간단하게 나타내었지만, 인구수가 늘어나면 날 수록 n은 증가하고 확률인 p는 감소하겠죠. 그렇다면 이 이항분포는 Poisson distribution으로 나타내어 집니다.

 

여기서 mutation의 개념을 도입해 보겠습니다.

일단 간단하게 정리하기 위해서 지금 저희가 생각하는 mutation은 neutral mutation 즉, mutation이 개체의 fitness에 어떠한 영향도 주지 않는 것을 말합니다.

 

하나의 제한된 인구에서 세대를 거쳐감에 따라 mutation이 일어난다고 가정해 봅시다. 이때 mutation은 새로운 allele을 인구에 소개할 수도 있지만, 다음 세대에서 그 allele이 없어질 가능성도 있습니다. 사실 mutation으로 일어나는 새로운 allele은 활률상으로 없어질 가능성이 많겠죠.

 

예를 들어 보겠습니다. Diploid organism을 설명할 때에 개체수가 N이면, gene의 수는 2N이 됩니다. 또한, 하나의 세대는 t = 1, 2, ....로 나타낼 수 있고, X(t)는 한 allele A가 그 세대에서 일어나는 수를 나타낸다고 합시다. 그러면 이때 X(t)는 1에서 2N까지 나올 수가 있습니다. 그리고 p_i,j는 X(t) = I 일때 X(t+1) = j 일 확률이라고 해봅시다.

 

t+1 세대에서 하나의 유전자는 그전 세대 t 에서 샘플링될 수가 있고, 이 p_i,j 는 이항분포를 다음과 같이 따릅니다.

 

 

복잡해 보이나요? 기본적인 이항분포에서 p = I/2N 이라고 생각해보세요 ㅎㅎ

 

 

 

 

 

 

 

 

728x90
반응형
Posted by Gun들지마
Statistics and Probability2013. 11. 26. 05:59
반응형

리서치 프로젝트와 관련하여서 Dill and Bromberg의 Molecular Driving Forces 라는 책을 읽게 되었습니다.

 

배운 내용들을 하나씩 정리해 나갈 예정인데, 챕터1은 기본적인 확률과 통계에대해서 설명을 해놓았네요.

 

기본적인 개념은 알기에 따로 생각해 볼것이나 좀 더 배워야 할 점만 적어놓도록 하겠습니다.

 

Degree of Correlation: Degree of Correlation g 는 'A가 주어졌을 때의 B의 확률'과 B 혼자만의 확률의 비례입니다. A가 얼마나 B에 영향을 미치는지 알 수 있습니다. 그리고 이건 다음과 같이 계산할 수 있습니다.

 

 

만약에 g = 1이면 A와 B는 서로 독립적입니다 (independent)

g > 1이면 A와 B는 positively correlated입니다. (A가 증가하면 B도 증가합니다)

g < 1이면 A와 B는 negatively correlated입니다.

 

만약 g=0 이고 p(A)가 일어난다면, p(B)는 절대 일어나지 않습니다.

 

Binomial and Multinomial Distribution Functions

 

자연에서 일어나는 현상을 설명할 때 유용한 확률 분포가 둘 있는데, 그게 Binomail과 Multinomial distributions입니다.

Binomial distribution은 각각의 독립적인 이벤트들이 두 mutually exclusive 결과를 나타내는 현상을 설명합니다. 예를 들어서 동전의 앞과 뒤, 네 와 아니오, 위와 아래 등의 mutually exclusive한 결과들이죠. 이 결과들을 Bernoulli trials라고도 합니다.

이 분포는 다음과 같이 나타낼 수 있습니다.

 

Multinomial probability distribution은 앞서 binomial과 비슷하지만, 이벤트의 결과가 두개 이상의 것으로 나타내어질 수 있습니다. 그러므로 Multinomial probability distribution 은 좀더 일반화 된 분포라고 볼 수 있는데요, 다음과 같이 나타냅니다.

 

 

728x90
반응형
Posted by Gun들지마