Domains (56)

반응형

Allele and Genotype Frequency


하디 바인베르크의 법칙


특정 조건 안에서 allele frequency와 genotype frequency는 영속적으로 보존된다.

위 그림과 같이 allele frequency가 freq(A) = p, freq(a) = q일 때, 다음 세대의 genotype frequency의 기댓값은 freq(AA) = p^2, freq(Aa)=2pq, freq(aa)=q^2 이다. 이 genotype frequency를 통해 다시 allele frequency를 계산하면 freq(A)=p, freq(a)=q가 나온다. 즉, allele frequency와 genotyep frequency는 계속해서 유지된다.



allele frequency와 genotype frequency에서 중요한점


1. genotype frequency를 알면 allele frequency를 알 수 있다.

2. allele frequency를 알아도 genotype frequency를 반드시 알 수는 없다.


2번의 경우 예를 들어, freq(A) = 0.5, freq(a) =0.5 라하자. 그러면 하디 바인베르크 법칙을 만족하면 genotype frequency는 freq(AA)=0.25, freq(Aa)=0.5, freq(aa)=0.25일 것이다 하지만 freq(AA)=0.5, freq(Aa)=0, freq(aa)=0.5 여도 주어진 조건에 맞는다. 따라서 allele frequency를 알아도 genotype frequency를 반드시 알 수 있는 것은 아니다.allele frequency는 재료이다. 그것이 어떻게 조합되어 genotype을 구성할지는 확정적이지 않다. 이는 하디 바인베르크 법칙에 위배된다.


그렇다면 하디 바인베르크 법칙은 언제 만족하는가?


1. random mating

: 위에서 언급한 allele frequency를 알아도 genotype frequency를 반드시 알 수 없다. 하지만 random mating이라면 genotype frequency의기댓값은 하디 바인 베르크에서의 값과 같다.


2. no mutation, selection, migration

: 모집단의 임의적 변화가 없어야한다.


3. 무한한 모집단 사이즈

: genetic drift가 없어야 한다.


하디 바인베르크는 위 가정들을 만족할 수 없다. 그렇다면 하디 바인베르크 법칙은 왜 필요할까? 하디 바인베르크 법칙이 중요한 이유는 그것이 귀무가설(Null hypothesis)이 될 수 있기 때문이다. 하디 바인베르크 법칙을 귀무가설로 놓고 진화적 과정이 어떻게 일어나는지를 살펴볼 수 있다.


하디 바인베르크 법칙이 깨지는 상황


하디 바인베르크 법칙은 어떠한 집단 내에서 random mating이 일어나지 않을 때이다. 즉, 인종이 섞인 집단을 하나의 집단으로 놓았을 때, 하디 바인베르크 법칙이 깨지게 된다. 예를 들어, 한국인, 중국인이 각각 하디 바인베르크 법칙을 만족하더라도, 한국인, 중국인을 합쳐서 하나의 집단을 만들고 이 집단에 대해 하디 바인베르크 법칙을 만족하는지 테스트하면 하디 바인베르크 법칙을 만족하지 않는 결과가 나올 수도 있다.


wahlund effect


인종을 합쳤을때 heterozygous genotype이 하디-바인베르크 법칙으로 구한 hetero genotype의 기댓값보다 적게 나타나는 현상.


하디 바인베르크의 법칙이 중요한 이유는 GWAS를 할 때, 연구집단이 하디-바인베르크 법칙을 만족한다는 것을 가정하기 때문이다. 하디-바인베르크 법칙이 만족되지 않으면 GWAS의 결과가 부정확할 수 있다.


예를 들어, 인종1과 인종2의 SNP의 allele frequency가 다르고, 인종1의 유병률이 인종2의 유병률보다 높다고 하자. (유전적 원인이 아닌 환경적 원인에 의해 인종1의 유병률이 높다.) 그러면 인종1이 해당 마커에 많이 갖고있는 allele 근처의 gene이 질병에 영향을 준다는 잘못된 결론을 내릴 수 있다. 그러므로 이를 방지하기 위해 하디-바인베르르 법칙을 만족하는지 테스트를 해야한다. 연구집단에 대해 하디-바인베르크 법칙을 만족한다면 그 연구집단내에서 random mating이 이일어난다는 것을 알 수 있고, 그 연구집단이 하나의 인종을 이룰 수 있다는 것을 알 수 있기 때문에 다른 환경적 요인을 보정하여 bias를 방지할 수 있다. 



반응형
반응형

Gene vs Environment


어떠한 사람의 특성이 유전자로부터 비롯된 것인지, 환경으로부터 비롯된 것인지를 아는 것은 중요하다. 예를 들어, 만약 그 특성이 질병이라면 환경을 의식적으로 컨트롤함으로써 질병을 예방할 수 있다.


이러한 것을 확인하는 한가지 방법은 쌍둥이를 연구하는 것이다. 유전 vs 환경을 연구할 때, 유전, 환경 둘 중 하나를 고정시키고 다른쪽의 effect만 보면 보다 정확한 유전, 환경 효과를 파악할 수 있다. 쌍둥이 연구는 유전, 환경 중 하나를 고정하고 다른 요인의 효과를 파악하는데 적합하다.


유전적 요소 파악하기


쌍둥이를 통한 연구에서 보통 쌍둥이는 shared environment라고 가정한다. 이것이 쌍둥이 연구의 이점이다. 일란성 쌍둥이에서의 상관도(correlation)이 이란성 쌍둥이에 비해 높다면 그 특성은 유전적 요소가 환경적 요소에 비해 더 많이 개입할 것이라고 추론할 수 있다.


실제 예로 IQ의 경우 일란성 쌍둥이의 상관계수는 0.85, 이란성 쌍둥이의 상관계수는 0.42이다.


환경적 요소 파악하기


쌍둥이를 통한 연구에서 어떠한 특성의 환경적 요소를 파악하는 방법은 함께 살은 일란성 쌍둥이와 떨어져서 살은 일란성 쌍둥이를 비교하는 것이다. 함께살은 쌍둥이는 유전, 환경 모두 동일하지만, 떨어져 살은 쌍둥이는 유전, 환경 중에 유전만 동일하고 환경이 다르다. 따라서 함께 살은 쌍둥이의 상관계수가 더 높을수록 그 특성은 환경적 요소가 크게 작용한다고 생각할 수 있다.


보통 쌍둥이간의 상관계수는 같이 살은 일란성 > 떨어져 살은 일란성, 같이 살은 일란성 > 같이 살은 이란성 이 성립한다.


예를 들어서, 언어적 능력이라는 특성에 대하여 상관계수가 다음과 같이 나온 경우를 보자.


같이 살은 일란성(유전 같음, 환경 같음) : 0.76

떨어져 살은 일란성(유전 같음,환경 다름) : 0.51

같이 살은 이란성(유전 다름, 환경 같음) : 0.43


이 경우 0.76-0.51을 환경적 요소에 의한 특성의 차이로 볼 수 있고, 0.76-0.43을 유전적 요소에 의한 특성의 차이로 볼 수 있다.


유전, 환경 정량화하기


어떠한 정량화된 특성의 분산을 유전에 의한 분산과 환경에 의한 분산으로 나눌 수 있다.


simple formula : V = V(환경) + V(유전)


V는 분산을 구하는 공식으로 계산할 수 있는데, 어떻게 V(환경), V(유전)을 계산할 수 있을까? 방법은 생각보다 간단하다. V(환경)만 구하면, V(유전)도 구할 수 있고, V(환경)은 genotype을 고정시킨 후의 특성의 분산을 통해 구할 수 있다. 어떠한 특성에 관련있는 유전자가 6개라고 하자. 이 6개의 유전자에 대한 genotype이 모두 같은 sample안에서 분산을 구하면 이 분산은 오직 환경으로 인한 분산이다. 따라서 이 때의 분산 V1 = V(환경)이다. 이를 기존에 랜덤하게 뽑은 sample의 V에서 빼면 V(유전)을 구할 수 있다. 이 때 Heritability는 아래와 같이 정의된다.


Heritability = V(유전) / V(유전)+V(환경)


<모든 유전자가 heterozygous인 F1세대를 교배하여 만든 F2 세대를 통해 heritability 계산>


하지만 이런 방법을 사람에게 적용할 수는 없다. 실제로 사람에 대해 유전, 환경적 요소를 정량화하는 방법을 알아보자.



부모-자손 상관계수를 통해 Heritability 계산하기


실제 사람을 대상으로 heritability를 계산하는 방법 중 하나는, 부모-자손 상관계수를 이용하는 방법이다. 하지만 이 경우에 많은 한계점이 있다. 우선 첫 번째로, 부모-자손 상관계수를 이용하여 Heritability를 추정하는 경우 overestimated될 가능성이 있다. 부모-자손은 환경을 많은 부분 공유하기 때문이다. 우리가 보고 싶은건 유전적 요소 뿐인데 이러한 방법을 이용하게 되면 환경이 개입하여 heritability를 실제보다 더 높게 추정하게 된다. 또한 V(유전)을 알고 싶은 경우, 환경을 고정시킨 후 보아야하는데 환경을 고정시킬 수가 없다. 환경은 인구 집단에 따라 인종에 따라 다르다. 즉, V(환경)이 일정하지 않다. 그래서 연구 집단으로 어느 집단을 선택하냐에 따라 heritability 추정값이 달라진다. 


<키가 유전적 요소에 의해서만 좌우되는 경우>



<실제 키의 부모-자손 상관계수>




Breeder's Equation


인위 선택을 통해 Heritability를 계산할 수 있다. 옥수수 키의 평균이 5인치라고 하자. 이 방법에서는 7인치인 옥수수를 교배해서 나온 옥수수의 평균이 7인치라면 heritability = 1이다. 7인치 옥수수를 교배해서 나온 옥수수의 평균이 5인치면, 유전의 영향을 전혀받지 않는 것으로 heritability = 0이다. 만약 평균이 6인치가 나왔으면 1/2 = 0.5이다. 6.5인치면 1.5/2 = 0.75이다. 왜냐하면 7인치 옥수수를 뽑은 것은 모집단에서 뽑은 것이기 때문에 7-5=2 = V(유전)+V(환경)이다. 하지만 7인치를 교배해서 나온 6.5인치에서 평균을 뺀 6.5-5=1.5=V(유전) 이다. 따라서 이 둘의 비율로 heritability를 추정할 수 있다. 인위선택뿐 아니라 자연선택에서도 이 논리를 그대로 적용할 수 있다.




반응형

'Domains > Genetics' 카테고리의 다른 글

GWAS, QTL, Linkage study 셋의 차이점  (0) 2017.12.22
Genetics - Allele and Genotype Frequency  (0) 2017.11.14
Genetics - Genome-wide association study  (0) 2017.11.13
Genetics - Genetic Mapping3  (0) 2017.11.12
Genetics - Genetic Mapping2  (0) 2017.11.11
반응형

GWAS의 원리


마커의 genotype 별로 질병의 비율을 본다. 이것이 임의로 생긴것인지 실제 질병에 연관이 있는건지를 검정한다. 그리고 이를 LOD plot과 같은 것으로 시각화 한다. 아래의 경우 A 마커주위의 LOD Score가 3 이상인(전통적으로 3이상이면 linkage가 있다고 본다. - https://en.wikipedia.org/wiki/Genetic_linkage) 지역에 위치한 gene이 질병과 연관이 있다고 볼 수 있는 후보가 된다.



Pedigree vs Population


Pedigree : family를 대상으로 양적표현형의 유전적 요소를 보는 것. 일반적으로 적은 gene에 대하여 연구하며 power가 크다. pedigree를 이용하는 경우는 recombination의 window가 크다. 그래서 많은 유전자를 mapping할 수 있다. 이것이 pedigree를 이용할 때의 장점이다.

Population : population을 대상으로 양적 표현형의 유전적 요소를 본다. 일반적으로 많은 수의 gene에 대하여 연구하며 power가 작을 수 있지만 많은 수의 연관 유전자를 찾을 수 있다.



왜 Population을 대상으로하면 power가 작을까?


1. pedigree를 통해 분석하면 popluation을 통해 분석했을 때보다 샘플의 유전적 근연도가 높다. 따라서 보고자하는 것 외에 다른 genotype은 비슷하게 고정시킬 수 있다.


2. popluation을 대상으로하면 rare variant를 테스트하기 힘들다. (샘플 수가 너무 작기 때문)



GWAS에 관한사실


1. GWAS는 common disease variant를 찾아내는데 잘 작동한다.

2. GWAS의 결과는 인종(ethnic group)별로 다를 수 있다.

 

 

GWAS의 간단한 예

 

 


반응형

'Domains > Genetics' 카테고리의 다른 글

Genetics - Allele and Genotype Frequency  (0) 2017.11.14
Genetics - Gene vs Environment  (0) 2017.11.14
Genetics - Genetic Mapping3  (0) 2017.11.12
Genetics - Genetic Mapping2  (0) 2017.11.11
Genetics - Genetic Mapping1  (0) 2017.11.11
반응형
 

Single Gene 2 alleles Model의 결점


앞서 살펴본 것들은 Single Gene 2 alleles 모델이다. 이는 현실과는 다른데 그 이유로는 아래와 같은 것들을 들 수 있다.


1. Penetrance : 질병 유전자가 반드시 형질의 변화에 영향을 주지 않고 suceptability에 영향을 줌

2. 하나의 유전자가 아니라 많은 수의 유전자가 형질에 관여함

3. Epistatsis : 유전자들간의 상호작용

4. 한 유전자에 많은 allele이 있을 수 있음 (ex. 혈액형 - 3개의 alleles)

5. 형질에는 환경이 관여한다. : (선탠을 하면 피부가 탄다-environment effect, 어떤 사람은 선탠을 하면 피부가 더 잘탄다-genotype, environment interaction)


Mutation Rate


Mutation Rate는 mutation이 한 번의 generation에 얼마나 발생하는지를 나타내는 수치이다. muation rate는 mutation을 어떻게 정의하냐에 따라 달라지긴하지만 보통은 어떠한 하 나의 base가 다른 base로 변경되는 것을 mutation이라고 한다. C elegans를 대상으로 muation rate를 조사해봤을 때, 2.1*10^-8 / per base / per generation 이었다. 이를 인간에 적용해보면 3.1*10^9 * 2.1*10^-8 = 65개의 새로운 mutation이 평균적으로 매 generation 마다 생겨나는 것을 알 수 있다. 그리고 실제 인간을 대상으로 mutation rate를 연구를 한 논문에서도 63개 정도의 mutation이 generation마다 평균적으로 발생한다고 밝혀졌다. 그리고 새롭게 생기는 mutation의 수는 아버지의 나이와 관련 있다. 아버지의 나이가 많을 수록 더 많은 수의 mutation이 평균적으로 발생한다. 그 mutation들 중에서 평균적으로 1~2개의 mutation이 해롭다고 한다.




QTL


양적 형질에 관여하는 것으로 예상되는 loci를 QTL이라 한다. 실제로 그것의 정확한 위치는 알 수 없지만 마커와의 연관을 통해 근사적으로 추론한다. 특정 양적 형질에 영향을 미치는 많은 QTL이 많이 발견되었다.


genotype-phenotype의 관계를 추론하는데 사용하는 근본적인 방법은 phenotype에 영향을 미치는 gene 근처의 마커와 phenotype의 연관(association)을 보는 것이다. A라는 마커의 genotype을 AA, Aa, aa라고 하고, AA인 사람의 키의 평균이 180cm, Aa인 사람의 키의 평균이 175, aa인 사람의 키의 평균이 170cm였다면, A가 disease와 연관이 있다고 볼 수 있다. 그리고 실제 QTL은 A 마커와 연관이 되어 있다고 추론할 수 있다. A 마커와 실제 QTL에 recombination이 거의 없을수록 A 마커의 effect는 크게 나타날 것이다. 



이는 마치 누군가가 실종되었는데, 그 사람의 위치를 정확하게 말하지 않고 "노스캐롤라이나 주" 라고 말하는 것과 같다. 따라서 많은 마커를 통해 실제 QTL의 위치를 specific 하게 찾는 것이 중요하다.



Localizing QTL


이러한 LOD plot을 통해 QTL을 localization할 수 있다. 이 그림을 통해 토마토의 10번 염색체 위의 마커들이 ph와 연관 되었음을 확인할 수 있다. 단순형질과 다른 점은 이러한 연관된 region이 한 군데가 아니라 여러곳에 존재한다는 것이다.



하지만 위 그림을 보고 B, C 사이에 QTL이 존재할 것이라고 생각하는 건 위험할 수 있다.


바로 위와 같은 상황이 있을 수 있기 때문이다. B, C 사이에 T가 있고 T의 연관은 적을 수도 있다. 이 상황에서는 B, C 사이에 한 개의 QTL이 있는 게 아니라 B 근처에 한 개, C 근처에 한 개가 있다고 볼 수 있다.



출처 - 코세라 Duke University 유전학 강의


반응형

'Domains > Genetics' 카테고리의 다른 글

Genetics - Gene vs Environment  (0) 2017.11.14
Genetics - Genome-wide association study  (0) 2017.11.13
Genetics - Genetic Mapping2  (0) 2017.11.11
Genetics - Genetic Mapping1  (0) 2017.11.11
Genetics - Recombination  (0) 2017.11.11
반응형


Genetic Mapping2


유전자의 상대적 위치를 결정하고, 특정 질병과 관련있는 유전자를 특정하는 것 genetic mapping이라고 한다. Genetic mapping의 궁극적인 목표는 genotype과 phenotype의 association을 알아내는 것이다.


[genetic mapping의 개념]



Human Genom Project를 통해 인간 유전체 30억개 서열을 읽을 수 있게 되었고, 20000여개의 gene을 찾아내었다. 하지만 서열을 통해 gene이 무슨 역할을 하는지 어느정도 알 수있었지만, 어떤 변이가 disease-causing 인지는 "추측"할 수 밖에 없다.


수십년전부터 시작된 Gene Mapping은 disease-causing mutation이 어디인지 상대적으로 결정하는 것이다. gene mapping은 dna sequencing이 발달하기 이전의 최초 접근법이라고 볼 수 있다. 상대적으로 결정한다는 것은 genome 상에 어떤 reference point와의 상대적 위치를 결정한다는 것인데 이 reference point를 genetic marker라고 한다. genetic marker는 보통 SNP(single nucleotide polymorphism)을 사용한다.



다소 극단적인 예를 들어보자. A, B 라는 SNP marker가 있고, 위는 offspring의 genotype과 질병 여부를 나타낸 것이다. B marker의 genotype이 bb인 경우, 모두 질병에 걸렸으므로, B의 bb genotype이 질병과 연관(linked)이 있다는 것을 알 수 있다. 따라서 B marker가 실제 disease-causing mutation과 association이 있다고 추론해볼 수 있다.



Genetic Mapping Example


Gene Mapping을 하기 위해서는 parents와 offspring의 Marker의 genotype이 필요하다. 또 parents 중 한 명은 heterozygous여야한다. homozygous인 경우, recombination을 관찰할 수 없기 때문이다. 예를 들어서 genetic mapping을 실제로 하는 법을 살펴보자. 마커 AB에 대하여, AB/ab genotype과 ab/ab genotype인 부모의 자손을 조사했을 때 다음과 같은 genotype-phenotype 결과를 얻었다고 하자. Genetic Mapping의 목표는 disease-causing mutation의 A,B와 비교한 상대적인 위치를 알아내는 것이다.


위 경우에는 A marker가 disease와 연관이 있다는 것을 알 수 있다. C 유전자가 실제 disease-causing이라면, 이 C 유전자의 genotpe이 A와 같이 유전될 것이다.


그러면 C 유전자를 포함해 위와 같은 genotype-phenotype 관계를 알 수 있고, 이를 통해 gene map을 추론할 수 있다. 위 문제의 답은 A-C-B 이다. 가장 희귀한 case인 abC/abc, ABc/abc를 보면, A와 B 는 parental이고, C만 recombinant임을 알 수 있다. 빈도가 희귀한 것과, A-B는 parental인데, C만 recombinant 인 것을 보면 이는 A-C-B 에서 double recombination이 일어나, A-c-B, a-b-C가 되었음을 알 수 있다. 혹은 각각의 유전자들마다 recombination fraction을 구해서 gene map을 구할 수도 있다. 즉, A-B, B-C, A-C의 recombination fraction을 구한 후, 이를 통해 유전자의 상대적 위치를 알 수 있다. 예를 들어, A-B의 recombination fraction = 157/843+157 = 0.157


문제


AbC/aBc X abc/abc의 결과로 아래와 같은 빈도가 관찰되었다.


ABC/abc = 13

ABc/abc = 11

abC/abc =6

AbC/abc = 257

aBc/abc = 237

Abc/abc = 1

aBC/abc = 0

abc/abc = 8


A-C의 recombination fraction의 근사값은?


ABC/abc = 13 => parental

ABc/abc = 11 => recombinant

abC/abc =6=> recombinant

AbC/abc = 257=> parental

aBc/abc = 237 => parental

Abc/abc = 1=> recombinant

aBC/abc = 0 => recombinant

abc/abc = 8 => parental


11+6+1+0/13+11+6+257+237+1+0+8 = 0.033




Population Mapping


Genetic mapping은 앞서본것처럼 가족을 대상으로 할 수도 있지만, 인구 집단을 대상으로 할 수도 있다.



이 그림은 4개의 염색체가 시간이 오래지나서 뒤죽박죽 섞여 있는 모습을 나타낸 그림이다. (D=Disease Allele, M1=Marker1, M2=Marker2) 이 그림에서 중요한 사실은 아무리 많은 세대가 지나더라도 D와 M1사이의 연관은 그대로 남아있다는 것이다. 이렇게 연관이 그대로 남아있을 수 있는 이유중 하나로, Recombination이 완전히 임의로 일어나지 않는다는 사실을 들 수 있다. 염색체에서 Recombination이 자주 일어나는 부분을 Recombination hotspot이라 하는데(hot spot은 평균적으로 매 3000bp 마다 한 번씩 존재한다.) 이 부분을 제외한 나머지 부분은 recombination fraction이 거의 0에 가깝다. 따라서 hotspot과 hotspot 사이에 window가 형성되는데 이 window 내에서는 recombination이 거의 일어나지 않고 세대가 지나더라도 같이 유전된다. 이를 Linkage disequilibrium(LD)이라 한다. 어떠한 window 내에 disease gene이 있을 수 있고, 우리는 이러한 LD를 이용하여 disease gene을 찾을 수 있다. hot spot이 평균적으로 매 3000bp 마다 한 번씩 있으므로 30억/3000 = 100만개의 SNP을 마커로 사용한다면 disease gene을 찾을 수 있다.



이 그림은 window와 LD에 대해 이해하기 좋은 그림이다. 이를 통해 disease locus의 위치를 알아내기 위해 마커가 어떻게 쓰이는지를 이해할 수 있다. 예를 들어 SNP2=G일 때 Disease Allele인 A가 높은 비율로 존재한다. 따라서 SNP2은 Disease에 대해 연관이 있고 좋은 정보를 준다는 것을 알 수 있다. 하지만 윈도우 밖의 SNP5의 경우 disease와 아무런 연관이 없다.


위에서 말한 100만개의 SNP 마커를 (genotype) 알아내는 기술을 microarray라 한다. 많은 회사들이 이러한 SNP 마커를 이용해 disease suceptabilty를 알려주는 서비스를 제공한다.



Pedigree와 population으로 mapping하는 것의 차이는 위 그림에서 볼 수 있다. pedigree는 세대수가 적기 때문에 recombination이 된 부분이 적다. 따라서 같은 염색체 내에서 두 locus가 recombination이 되었을 확률이 적다. 하지만 Population의 경우 매우 많은 세대가 지난 것이기 때문에 같은 염색체 내에서라도 많은 recombination이 일어났을 것이다. 그러므로 recombination이 안일어났을 것이라고 보장되는 범위가 pedigree에서는 ~2백만bp이지만 population을 이용했을 때는 ~3000bp 정도이다. 또 Population을 대상으로하면 질병이 희귀한 경우 연구하기 힘들다. 엄청나게 많은 sample을 뽑아야하기 때문이다.





출처 - Coursera Duke Univ 유전학 강의


반응형

'Domains > Genetics' 카테고리의 다른 글

Genetics - Genome-wide association study  (0) 2017.11.13
Genetics - Genetic Mapping3  (0) 2017.11.12
Genetics - Genetic Mapping1  (0) 2017.11.11
Genetics - Recombination  (0) 2017.11.11
EM 알고리즘 haplotype frequency 추정  (0) 2017.10.08
반응형


Genetic Mapping


gene mapping은 human genone project가 완성되고, dna sequencing 기술이 발전되기 훨씬 이전부터 있던 개념이다. Gene Mapping의 기본 개념은 dna sequencing을 하지 않고도 염색체 안에서 gene의 순서를 결정하고 질병과의 연관성을 정립하는 것이다.



Recombintation Fraction 계산을 통한 Gene Mapping


앞서 포스팅한 http://3months.tistory.com/216 을 통해 Recombination Fraction을 구하는 방법을 알아보았다. 이번엔 3개의 linked라고 예상되어는 gene들에 대해 각각 서로의 recombination fraction을 구해본다. 부모의 phase가 ABC/abc * abc/abc 일 때를 예로 들어보자. 3개의 gene일 때 recombination fraction을 구하는 방법은 구하고자하는 유전자외의 나머지 유전자는 가리고 구하면된다. 즉, A-B를 구하려면 C를 가리고 AB에 대해서만 보면된다. 그러면 AB/ab, ab/ab만 parental이고 나머지는 recombinant이다. 따라서 recombinant의 숫자는 15+13+1+1 = 30 따라서 recombination fraction = 30/1000 = 0.03 이다. 이런식으로 나머지 유전자들에 대해서도 구하면, A-C간에는 0.046, B-C간에는 0.02가 나온다. 따라서 A-B-C 순서로 유전자가 염색체상에 존재하는 것을 알 수 있다. 이를 Gene Map 이라 한다.


Double Cross-over



유전자의 순서가 A-B-C 순서라면 왜 거리가 4.6 vs 5 로 정확히 맞지 않을까? 한 가지 이유는 Double Cross-over 때문이다. 위 그림에서 빈도수가 1인 AbC/abc, aBc/abc는 Double cross-over가 일어났다. 그래서 A-C 사이의 recombination fraction을 계산할 때 parental 이 아니라 recombinant로 들어가야한다. (+4가 되어야함) 왜 이것이 double cross-over 인가? 우선 빈도수가 매우 낮기 때문이다. 위 그림에서 A-B에 recombination 될 확률이 1%, B-C에 될 확률이 1%라면 double로 될 확률은 0.01%이다. 또, A-B-C 순서로 gene이 위치한다면, 저런 조합이 나온 이유는 double recombination에 의한 것이다.




반응형

'Domains > Genetics' 카테고리의 다른 글

Genetics - Genetic Mapping3  (0) 2017.11.12
Genetics - Genetic Mapping2  (0) 2017.11.11
Genetics - Recombination  (0) 2017.11.11
EM 알고리즘 haplotype frequency 추정  (0) 2017.10.08
DNA 결합 단백질  (2) 2017.08.12
반응형

Recombination


Recombination=Crossing-over이 아니다. Crossing-over은 Recombination의 한 종류이다. Independant Assortment(독립유전)도 Recombination의 한 종류이다. 즉, Recombination의 두 가지 타입은


1. 독립 유전

- 주로 다른 염색체 간에 진행되는 과정. 독립유전에서는 독립적으로 유전이 이루어지므로 자손의 allele은 단순히 확률을 곱해서 구할 수 있다.


2. Crossing-over

- 이것이 Recombination과 동의어로써 쓰이기도 한다. 주로 같은 상동 염색체끼리 부위를 교환하는 과정이다. 아빠로부터 받은 염색체의 일부와 엄마로부터 받은 염색체의 일부가 감수분열 시 교환되는 현상


Crossing-over


감수분열 과정에서 crossing-over이 일어나지 않은 것이 NR이고, R은 crossing-over이 일어난 것. NR은 어머니로부터 받은 염색체가 그대로 생식세포로 전달되었고, R은 어머니와 아버지로부터 받은 염색체가 crossing-over이 되었다.


어떻게 Crossing-over이 일어난 것을 알 수 있나?


Genetic Marker을 통해 Crossing-over이 일어난 것을 알 수 있다. 위 그림을 보면, Allelse는 AaBb이다. 만약 recombination(crossing-over)이 일어나지 않았다면 생식세포의 alleles는 AB 또는 ab일 것이다. 왜냐하면 AB, ab는 같은 염색체에 있기 때문에 같이 다닐 것이기 때문이다. 하지만 recombination이 일어나면 같은 염색체 내의 Allele이 aB나 Ab가 될 수 있다.


가까운 variants(allele)은 연관이 되었을 경향이 크다


위 그림에는 AB는 linked 되어있다. 둘다 엄마로부터 받거나 둘다 아빠로부터 받는다. 가까운 위치에 있기 때문에 생식세포를 형성할 때 같이 다니기 때문이다. 반면 AC는 2/5의 확률로 염색체의 주인이다르다. 이 경우에는 독립유전의 법칙이 깨지게 된다.


이 그림에서 보듯이 Ab aB alleles를 갖고 있더라도(그림은 아버지로부터 받은 alleles(Ab)와 어머니루부터부 받은 alleles(aB)를 보여주는데 이렇게 allele이 누구로부터 왔는지, 같은 염색체 내에 있는지를 보여주는 것을 이를 Phase라고 한다.) 다른 염색체에 있거나, 멀리 떨어져서 recombination이 일어나지 않으면 생식세포가 Ab, aB 형태만 갖는 것이 아니라 AB, ab 형태도 갖을 수 있게 된다.


이 중에서 Recombinant 인 경우는? 답 : Aabb, aaBb (만약 Recombination 없다면 각각이 나올 확률을 1/4이다.)



Alleles Association


Point :  두 allele의 위치가 멀리 떨어져있다면, 그 두 allele이 같이 생식세포로 갈 확률은 50%이다. 두 allele이 가까운 위치에 있다면, 같이 생식세포로 갈 확률은 거의 0%이다.


Point : Recombintation Fractor은 gene의 거리를 반영한다. 두 유전자의 거리가 멀면 Recombination Fraction은 크고, 가까우면 Recombination Fraction은 작다. Recombination Fraction은 0~50% 사이의 값이다.


Recombination 계산

부모의 phase가 위와 같을 때, recombination이 아예 없다면, cn+vg, cnvg+만 나타날 것이다. 이것을 parental 이라고 한다. 그 외의 cn+vg+, cnvg는 상동염색체 끼리의 recombination이 일어나서 생겨난 것으로 recombinant라고 한다. recombination fraction은 전체 개체수중에 recombinant된 offspring의 비율이다. 따라서 9+11/(92+88+9+11) = 20/200 = 0.1이다. 이 recombination fraction은 두 gene사이의 거리에 관한 정보를 준다.



출처 - 코세라 Duke Univsersity 유전학 강의

반응형

'Domains > Genetics' 카테고리의 다른 글

Genetics - Genetic Mapping2  (0) 2017.11.11
Genetics - Genetic Mapping1  (0) 2017.11.11
EM 알고리즘 haplotype frequency 추정  (0) 2017.10.08
DNA 결합 단백질  (2) 2017.08.12
유전체학을 위한 신경망 모델  (0) 2017.08.12
반응형

Medical Image 분야에서의 Deep Learning 응용


약 100여년 전, 의학분야에 처음 Medical Image가 도입되었을 때 그것은 의학 분야의 패러다임을 바꾸었습니다. X-RAY와 같은 의영상 기술을 통해 비침습적으로 내부 장기들을 볼 수 있고, 이를 통해 병을 진단할 수 있고, 암환자의 경우 자신의 남은 수명 또한 알 수 있었습니다. 최근, Deep Learning 기술의 발전이 이 분야에 적용됨으로써 의영상 분야에 다시 한 번 새로운 가능성을 만들어나가고 있습니다.


CBInsigt에서 제시한 이 HeatMap을 보시면 Medical Image분야에 대한 투자가 2015년에 정점을 찍고 계속해서 높은 관심을 받고 있는 것을 볼 수 있습니다. 그만큼 이 분야에 많은 가능성이 있다는 것을 알 수 있습니다. IBM 연구자에 따르면 Medical Image 데이터가 전체 Medical 데이터의 90%를 차지한다고 합니다. 용량만 놓고 말하면 소위 말하는 "헬스케어 데이터" 의 대부분이 Medical Image 데이터 인 것입니다. 데이터의 양만 보더라도 이 분야가 헬스케어 산업에서 차지하는 비중이 매우 높다는 것을 알 수 있습니다. 영상의학 전문의들은 병원에서 하루에 수많은 영상 데이터를 본다고 합니다. 그러므로 그러한 의사들이 마주치는 데이터로부터 어떤 특징을 추출해서 정보를 효율적으로 보여주는 방식이 진단의 속도와 정확성을 높이고 병원이 더 많은 환자를 처리할 수 있게 되어 사회적 문제 해결에도 도움이 될 수 있는 것이죠.


현재 Medical Image 분야에서 Machine Learning, Deep Learning이 응용되는 부분


Tumor Detection


미국에서는 년간 500만건의 피부암의 발생이 보고된다합니다. 피부암은 미국에서 가장 흔하게 진단되는 암이며, 미국의 헬스케어 시스템에서 80억달러가 매년 피부암 치료에 사용된다고 합니다. 이중에서 악성흑색종(Melanoma)의 경우 치명적인 종양인데, 빠른 진단과 치료가 이루어진다면 높은 확률로 이를 치료할 수 있습니다. 피부암은 언제 진단되느냐에 따라 생존률이 15%~65%로 달라지며, 빠른 진단과 치료가 이루어진다면 5년 생존률은 무려 98%에 달한다고 합니다. 피부암을 진단하기 위해서는 피부암을 영상이미지에서 찾아내는 것(Detection)이 중요합니다. Deep Learning을 통해 피부암과 관련된 특징들을 학습하고 이를 통해 피부암을 찾아내는 것이 응용되는 부분 중 하나입니다.


피부 병변의 양성/악성 분류하는 CNN (출처 - https://web.stanford.edu/~kalouche/cs229.html)


다음으로 폐암(Lung Cancer) Detection에도 DeepLearning이 많이 사용됩니다. 주로 폐의 CT scan 데이터를 통해 암을 Detection 하는 알고리즘이 많이 사용되고 있습니다. (Enlitic 이라는 Medical Image 관련 호주 회사) 이 회사에 보고에 따르면 이미지로부터 폐암의 특성을 찾아내는 정확도가 영상의학 전문의보다 높다고합니다.


Medical Image 분야에서는 데이터를 어떻게 획득하냐는 문제가 있습니다. 데이터가 있어야 이를 통해 학습하는 알고리즘을 만들 수 있기 때문입니다. IBM은 2015년 8월 Merge Health Care라는 의영상업체를 인수함으로써 이러한 문제를 해결하고자 하였습니다. Merge의 홈페이지에 가보면 이제 IBM Watson HealthCare라는 이름이 붙어있습니다. IBM은 Merge의 약 300억개의 Medical 이미지 데이터를 통해 Watson을 학습시켜 의사의 진단을 보조할 수 있도록 하는 방법을 꾸준히 연구해나가고 있습니다.



간암 Segmentation하는 논문의 Groud Truth 데이터 Deep Learning은 이러한 CT 데이터를 학습하여 테스트 데이터가 들어왔을 때,

간의 위치와 종양의 위치를 Segmentation 할 수 있다.


암 전이 Tracking


Medical Image는 non-invasive로 질병을 모니터링함으로써 의학적인 중재에 활용할 수 있습니다. Deep Learning은 시간의 흐름에 따른 영상 데이터를 통해 암의 전이 과정을 추적하는데 활용되기도 합니다. 이 논문은 유방암의 Historical 데이터를 통해 암 전이 과정을 평가한 논문입니다. Fraunhofer Institute for Medical Image Computing 은 2013년도에 딥러닝을 통해 암 이미지의 변화를 추적하는 새로운 툴을 공개하였습니다. 이를 통해 임상의들이 암 치료를 어떻게 할지를 결정할 수 있습니다. 이러한 기술들이 더욱 발전된다면 암의 Progress 모니터링을 자동화할 수 있는 가능성이 있습니다.



Tumor Detection & Classification 사례


병변이 의심되는 지점을 찾더라도 그것이 양성인지 악성인지 분류하는 것이 필요한데 삼성은 초음파 이미지에 딥러닝을 활용하여 유방의 병변을 분석하는데 활용하고 있습니다. 삼성의 시스템은 수많은 유방의 케이스를 학습함으로써, 해당 병변의 특성과 그것이 양성인지 악성인지를 분류해 냅니다. 특히 의영상 분야에서는 한국 스타트업의 활약이 두드러지는데 대표적으로 LunitVuno가 있습니다. Lunit은 유방암 Detection 대회에서 마이크로소프트와 IBM을 제치고 1위에 올라 CB Insight 선정 100대 AI 스타트업에 그 이름을 올린 것으로 유명합니다. 삼성 연구원들이 퇴사후 2014년에 설립한 Vuno의 경우 Medical Image Interpretation분야에서 의사를 보조하는 기술을 개발하고 있습니다. 여기에 머신러닝/딥러닝 기술이 들어가며, 이를 통해 의사의 진단 과정을 더욱 빠르고 정확하게 보조하는 역할을 합니다. 

Vuno의 데모영상(https://youtu.be/i7CS05WvOLE)을 보면 Medical Image 데이터를 통해 DILD(Diffuse Interstitial Lung Disease)를 Detection하는 시스템의 데모를 볼 수 있습니다.



참고

https://www.techemergence.com/deep-learning-applications-in-medical-imaging/


반응형
반응형

Stacking을 위한 패키지 vecstack


stacking을 쉽게 할 수 있는 패키지가 있을까 해서 찾아보았는데 역시 이미 여러개가 있었다.. 여러가지 패키지중에 vecstack이 사용하기 쉬워보였는데, 매우 간단한 코드로 stacking을 구현할 수 있었다. vectstack은 아래와 같이 선택된 모델마다 "K-fold  averaging prediction" (이 명명법이 맞는지 모르겠지만, K-fold로 K번 prediction을 한 후 이 예측치들의 평균을 결과 예측치로 내놓는 방법을 뜻한다.) 을 한 후 이 결과를 앙상블하여 최종 예측 결과를 내놓게 된다. 결론적으로 stacking에 5개의 모델이 쓰이고 3-fold라면 총 15번 fitting을 하고 5개의 모델에 대한 5번의 예측결과가 나오고 다시 이것을 최종 classifier에 통과시켜 최종 prediction을 만들게 된다. 이러한 과정을 실제 코드로 구현하기는 어렵지는 않지만 코드의 양이 많아질 수도 있다.




이러한 stacking을 vecstack은 간단하게 구현한다. 단순히 모델을 정의하고, 모델들의 리스트와 train_x, train_x, test_x만 넣어주면 된다. 그러면 그 안에서 모델들에 대해 k-fold averaging prediction을 수행하며, 이를 통해 트레이닝셋과 테스트셋에 대해 각각 예측 결과 4개씩을 내놓는다. 그게 S_train, S_test이며 다시 이를 최종 classifier로 학습시켜 최종 예측 결과를 내놓게 된다. 하지만 sklearn 형식의 모델만 stacking에 활용할 수 있는 것 같다. 그것이 단점이지만 sklearn의 패키지만으로도 충분히 좋은 예측 결과를 내놓을 수 있기 때문에 stacking을 간단하게 적용해보기에 좋은 패키지인 것 같다.

from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.ensemble import ExtraTreesClassifier from sklearn.ensemble import RandomForestClassifier from xgboost import XGBClassifier from vecstack import stacking # Load demo data iris = load_iris() X, y = iris.data, iris.target # Make train/test split # As usual in machine learning task we have X_train, y_train, and X_test X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0) # Caution! All models and parameter values are just # demonstrational and shouldn't be considered as recommended. # Initialize 1-st level models. models = [ ExtraTreesClassifier(random_state = 0, n_jobs = -1, n_estimators = 100, max_depth = 3), RandomForestClassifier(random_state = 0, n_jobs = -1, n_estimators = 100, max_depth = 3), XGBClassifier(seed = 0, n_jobs = -1, learning_rate = 0.1, n_estimators = 100, max_depth = 3)] # Compute stacking features S_train, S_test = stacking(models, X_train, y_train, X_test, regression = False, metric = accuracy_score, n_folds = 4, stratified = True, shuffle = True, random_state = 0, verbose = 2) # Initialize 2-nd level model model = XGBClassifier(seed = 0, n_jobs = -1, learning_rate = 0.1, n_estimators = 100, max_depth = 3) # Fit 2-nd level model model = model.fit(S_train, y_train) # Predict y_pred = model.predict(S_test) # Final prediction score print('Final prediction score: [%.8f]' % accuracy_score(y_test, y_pred))

코드 출처

https://github.com/vecxoz/vecstack



실행결과

task:   [classification]
metric: [accuracy_score]

model 0: [ExtraTreesClassifier]
    fold 0: [0.93548387]
    fold 1: [0.96666667]
    fold 2: [1.00000000]
    fold 3: [0.89655172]
    ----
    MEAN:   [0.95000000]

model 1: [RandomForestClassifier]
    fold 0: [0.87096774]
    fold 1: [0.96666667]
    fold 2: [1.00000000]
    fold 3: [0.93103448]
    ----
    MEAN:   [0.94166667]

model 2: [XGBClassifier]
    fold 0: [0.83870968]
    fold 1: [0.93333333]
    fold 2: [1.00000000]
    fold 3: [0.93103448]
    ----
    MEAN:   [0.92500000]
    
Final prediction score: [0.96666667]



반응형

'Domains > Kaggle' 카테고리의 다른 글

Stacking 사용할 때 가이드  (0) 2017.10.15
반응형

IGV Tutorial


IGV(Intergrative Genomics View)는 게놈 데이터를 시각화하고 인터랙티브하게 볼 수 있는 생명정보학 툴이다. 또한 다양한 포맷의 데이터를 로드할 수 있어 매우 편리한 것 같다. array-based 데이터, ngs 데이터, annotation 데이터 모두 로드할 수 있다고 한다.


1. 다운로드


http://www.broadinstitute.org/software/igv/download

실행은 다운받은 폴더에서 igv.bat 을 실행하면 된다.


2. reference fasta 파일 로드


Genomes - Load Genome From File을 통해 reference file을 로드한다. 필자는 hg19 13번 염색체 fasta 파일을 로드하였다.


3. bam 파일 로드


File - Load from File에서 bam 파일을 로드한다. 이 때 bam 파일 인덱스 파일도 필요하다. IGV에서 로드하기 전에 samtools를 통해 bam 파일의 인덱스 파일을 만든다. bam 파일은 reference 에 mapping된 시퀀스 데이터를 나타내주기 때문에 이처럼 reference 파일과 같이 로드해야한다. bam 파일은 ENCODE 데이터 중에서 아무거나 가져와서 로드했다. 용량은 91.6Mb 정도 됐던 것 같다.





둘 다 로드를 완료하면 위 화면과 같이 나온다. 매핑된 부분이 옅은 회색으로 나오는 것을 볼 수 있다. 짙은 회색은 coverage를 나타낸다. bam 파일에는 어떤 reference 데이터에 매핑되어있는지를 이름으로 나타 내는데 만약 이 이름이 다르다면 bam 파일을 로드할 수 없다. 예를 들어, 앞서 로드한 reference fasta 파일의 >chr13 부분을 다르게 변경하면 bam 파일을 로드할 수 없다. 왜냐하면 bam 파일에는 chr13이라는 이름으로 align 되어있기 때문이다. 이 데이터는 ENCODE에서 받았는데 시퀀스가 이어져있지않고 조각조각 흩어져있다. "특정 기능" 을 하는 부분만 시퀀스 된 정보로 볼 수 있다. 저 회색 부분에 마우스를 올려보면 아래와 같은게 뜬다.



이는 그 리드의 기본적인 정보(이름, 길이)와 reference sequence에 매핑된 위치와 CIGAR 정보를 나타내준다.



참고

TreeGenes_IGV_Tutorial.pdf


반응형

'Domains > Bioinformatics' 카테고리의 다른 글

Chip-seq 데이터를 통한 binding motif 분석 [rGADEM]  (0) 2018.01.13
Variant calling 이란?  (0) 2017.11.20
Sam File  (0) 2017.10.16
K-MERS 란  (2) 2017.10.12
Chip-seq 관련 정리 - 데이터 받기  (1) 2017.10.07