plink를 이용한 GWAS 분석 및 Manhattan plot 만들기

유전체 연구에 있어서 연구 디자인 (Study Design)과 형질 (Phenotype) 은 매우 중요합니다. 특히 약물 유전체 연구에 있어서의 관심 형질은 체내 약물 농도나 대사능, 부작용의 발생 여부 등이기 때문에 더욱더 정확한 표현형을 수집하기가 어려운 점이 있습니다. 최근에 논문을 쓰면서, GWAS (Genome-wide association study)를 돌리고, Manhattan plot을 그릴 일이 있어서, 관련 분석 과정을 정리해볼까 합니다.

관련 포스팅 보기>

 

I. PLINK

1-s2.0-S0002929707613524-gr4_lrg

대부분의 GWASSNP array를 이용하여, 대표 유전자 마커를 이용한 표현형 연관성 연구로 진행이 되는데, 이때 주로 사용하는 Tool이 plink입니다. (해당 tool이 논문으로 나온게 2007년이니까 벌써 10년도 넘은 소프트웨어입니다..) 그러나 아직도 쓰이고 있다는 건, 그만큼 많은 연구자들이 쓴다는 것이고, 대표적인 소프트웨어라고 할 수 있습니다. (1.9 버젼이 나온 이후, 2.0 버젼을 베타 테스트하고 있다고 한지도 꽤 오래 되었는데, 그 이후 업데이트가 매우 느리게 진행되고 있는 것이 단점입니다.) 물론, BI tool 답게 많은 경쟁 소프트웨어들이 나왔는데 (ex. EPACTS), 아직도 대부분의 논문에서 plink를 쓰는 것을 보면, 대부분의 분석을 하는데 plink만 있어도 크게 무리가 없기 때문이 아닐까 합니다. plink의 사용법은 plink 홈페이지 (PLINK: Whole genome data analysis toolset)의 tutorial page에 매우 자세하게 소개가 되어 있어서, 그때 그때 필요한 내용들을 찾아서 쓰면 됩니다.

plink 다운로드 및 설치>

<VCF 파일 압축 및 인덱싱>

bgzip -c [myvcf.vcf] > [myvcf.vcf.gz]
tabix -p vcf -f [myvcf.vcf.gz]

<PED, MAP 파일 or BED, BIM, FAM 파일 만들기>

plink 실행을 위해서는 PED & MAP file 또는 binary 형식으로 변환된 BED, BIM, FAM file이 필요합니다. 일반적으로 SNP array 데이터를 생산하면 만들어주기 때문에 따로 준비할 필요는 없습니다. 간혹 NGS로 생산된 시퀀싱 데이터로 plink로 실행하고 싶은 경우, vcf 파일을 위의 형식으로 변환하면 좋은데, 아래와 같은 command가 유용합니다.

plink --noweb --vcf [myvcf.vcf.gz] --recode --out myplink
plink --noweb --vcf [myvcf.vcf.gz] --recode --make-bed --out myplink

<PLINK 파일 기본 QC>

plink --file myplink --missing-genotype N --make-bed --mind 0.05 --maf 0.05 --geno 0.1 --hwe 1e-6 --recode --out myplink.QC

missing genotype 여부, genotyping calling rate, minor allele feqeuncy, HWE (Hardy-Weinberg equilibrium) cut-off 기준으로 이를 위반하는 SNP들은 모두 날려버리는 quality control 과정입니다.

<plink를 이용한 연관 분석>

plink를 이용한 연관 분석은 통계 모형에 기반하기 때문에 우선적으로 어떤 모델을 이용하여, 어떻게 분석을 할지를 고려해야 합니다. Genetic inheritance mode (Additive, Dominant, Recessive)와 분석 형질이 Dichotomous trait인지 Continuous trait 인지에 따라서 Case-control, linear regression, logistic regression model 등을 적용할 수 있습니다. 더불어, 보정을 위한 공변량(covariate)으로 무엇을 선택할 것인지도 중요합니다.

분석을 위한 Input Phenotype data를 준비하는 과정도 중요한데, 다음 페이지에서 자세하게 소개가 되어 있습니다.

[분석을 위한 command]

plink --noweb --bfile [mydata] --[additive/dominant/recessive] --[assoc/linear/logistic] --pheno [phenotype_file] --pheno-name [phenotype_name] --covar [covariates_file] --covar-name [covariates_name] --out [result_file]

위의 command에 적절한 inheritance mode [additive/dominant/recessive]와 분석 모델 [assoc/linear/logistic]을 골라서, 분석을 실행하면 됩니다. 특정 SNP에 대한 Conditioning을 원하는 경우, –cond [SNP ID]를 추가합니다.

위의 분석 과정을 거치면, 모든 SNP 위치에 대한 Beta 및 P value가 계산됩니다. Beta는 해당 SNP의 Effect size를 나타내는 통계량이고, P value는 해당 SNP의 통계적 유의도를 의미합니다. Manhattan plot은 일반적으로 여기서 계산된 P value에 -log를 취한 형태로 그리게 됩니다.

II. Manhattan Plot 그리기

Manhattan Plot을 그리는 방법도 다양하지만, 여기서는 제일 간편한 qqman R package를 이용하도록 하겠습니다. 자세한 option은 아래 Reference의 자료들을 참고 바랍니다.

library(qqman)

## plink 결과 파일 불러오기
data &amp;amp;lt;- read.table("plink_result", header = T, stringsAsFactors=F)

## Manhattan plot 그리기
manhattan(data, main = "Manhattan Plot", ylim = c(0, 40), cex = 0.8, cex.axis = 0.9, col = c("grey", "skyblue"))

## QQ plot 그리기
qq(data$P)
GWAS

위의 패키지를 이용하면, 위와 같은 Manhattan plot을 손쉽게 만들 수 있습니다.

III. HaploView

마지막으로, SNP 정보의 linkage 여부에 따른 LD block의 시각화를 위한 Haploview에 대해서 간단히 정리하고, 포스팅을 마치도록 하겠습니다.

Haploview 4.2 Download

plink --noweb --bfile [mydata] --extract [Gene_SNP_list] --recodeHV --out [Gene_haploview]

plink의 위의 command를 이용하여, Haploview를 원하는 SNP의 list에 대해 ped 및 info 파일을 생성합니다. 이를 HaploView 프로그램을 통해 loading해주면, 생성된 LD block과  계산된Haplotype 조회가 가능합니다. 아래 그림은 HaploView를 이용하여, 생성된 LD block 입니다.

Figure S5

[References]

PLINK: Whole genome data analysis toolset

Purcell, Shaun, et al. “PLINK: a tool set for whole-genome association and population-based linkage analyses.” The American journal of human genetics 81.3 (2007): 559-575.

Chang, Christopher C., et al. “Second-generation PLINK: rising to the challenge of larger and richer datasets.” Gigascience 4.1 (2015): s13742-015.

qqman R package GitHub

Manhattan plot in R: a review

Bioinformatics 비전공자를 위한, Bioinformatics 어떻게 공부하는게 효과적일까?

지난 포스팅에 이어서, 주변에 계시는 분들께 종종 받는 질문에 대한 포스팅입니다. 가끔 주변의 선생님들로부터 아래와 같은 질문을 심심치 않게 듣습니다.

“Bioinformatics나 머신 러닝에 대해서 공부하고 싶은데, 너무 막막해요. 무슨 교재를 보고 어떻게 공부하는게 좋나요?”

저는 BioinformaticsComputational Biology 전공자도 아닐 뿐 더러, 코딩을 잘하는 것도 아닙니다. 다만 연구자로써 그 때 그때 필요한 Bioinformatics 도구들을 많이 사용한 경험이 있고, 구글링을 잘 활용할 뿐 입니다. 물론 컴퓨터 언어를 전혀 모른다면 문제겠지만, 프로그래밍 언어 자체를 배우는데 시간을 낭비할 필요는 없습니다. (원래 인생은 바로 실전 아니겠습니까?)

unnamed

책을 사서 프로그래밍 언어 자체를 독학을 하는 것은 시간적으로 효율도 나쁠 뿐 더러, 실전에는 별로 도움이 안되는 (=별로 쓰이지 않는) 내용들이 많습니다. 논문을 쓸 때, 통계 기법을 사용하는 것도 분석을 하고 해석을 통해 결과를 도출하기 위해서이지, 그것을 위해 우리 모두가 통계학 책을 꺼내서 처음부터 정독할 필요는 없습니다. 그런 의미에서 대부분의 사람들에게는 Bioinformatics tool 이나 머신 러닝 기법도 통계 기법과 같이, 데이터를 다루는 도구일 뿐이며, 우리는 이러한 도구들을 적당히 이용해서 데이터를 해석하고, 결과를 만들면 됩니다. (즉, 어떤 칼을 사용하던지 생선 손질만 하면 되는 것 아니겠습니까)

 

r-bioconductor-training_1

python_ml_header

R? Python? 머신러닝을 위한 Tensor Flow? 어떤 프로그래밍 언어를 먼저 배워야하는지, 어떤 교재를 봐야할지 고민할 시간에, 일단 아무거라도 시작해 보세요. 프로그램을 설치해보고, 데이터를 로딩해보고, 요리 조리 만지다 보면, 점점 뭐가 필요한지 깨닫게 됩니다. (개인적으로 R과 Python은 좀 더 쓰기 친숙한 Interface를 제공하는 R studio와 Anaconda를 설치해서 사용하기를 추천합니다.) 아래는 제가 생각하는 비전공자들이 BI tool의 사용법을 가장 효율적으로 습득하는 방법입니다.

 

1. 나만의 Real dataset을 가지고, 논문을 써보자

데이터는 직접 만지고, 조작을 해봐야 하는데, 자신이 분석하고자 하는 데이터셋이 있는 경우가 가장 좋습니다. 내가 가장 친숙한 데이터셋일 뿐 더러, 남의 깨끗하게 정제된 데이터가 아니라, 날 것 (?) 자체의 데이터 (Raw data)를 가공하는 과정에서 많은 것들을 배우게 됩니다. 이를 이용해서 논문을 한번 써보면 금상첨화 입니다.

비슷한 특성의 데이터셋을 이용해서 이미 분석해서 출판한 선행 논문을 참고 삼아서, 그 논문에서 이용한 분석 방법론을 그대로 나의 데이터셋에 적용해보세요. 그러다보면 자연스럽게 방법론을 습득하게 되고, 그 과정에서 어떤 프로그래밍 Tool이 필요한지, 어떤 분석 방법들을 다룰 수 있어야하는지를 알게 됩니다. 조금더 나아가 이런 방법을 응용하거나 확장하면 나만의 논문을 쓸 수 있을 정도의 데이터 분석 수준에 도달하게 됩니다. (사실 대부분의 Bioinformatics 전문가들도, 이러한 과정을 통해서 박사 학위를 마치고, 전문가가 됩니다.)

 

2. 검색을 최대한 활용하자: Google knows everything!

위에서 언급한 대로 일단 나의 데이터셋을 가지고 시작을 하면, 얼마 지나지 않아 바로 문제에 봉착하게 됩니다.

“아 설치하는데 왜 안되는 거야? 파일 로딩을 어떻게 하는거지… 프로그램을 잘 돌아가는데, 에러는 왜 발생하는 거야..?” 등등

google_god_hero

여기서 재밌는 점은 내가 봉착한 문제는 대부분 다른 사람들도 다 겪었다는 점입니다. 다른 말로하면 구글에 검색해보면 똑같은 문제를 질문한 사람이 꼭 있습니다. (없다면 검색을 제대로 못한 것..)

그렇게 그들의 질문과 다른 전문가들의 답변을 따라서 하나씩 문제를 해결해 가다 보면, 대부분의 문제들은 해결됩니다. 그리고 이러한 과정이 실력을 쌓아가는 과정이기도 합니다. (물론, 이런 시행 착오 과정을 단축 시켜줄 전문가가 옆에 있다면 매우 좋겠지만, 독학하는 사람에게는 구글이 슨상님입니다..) 이러한 방법의 장점은 교재가 필요없고, 돈도 들어가지 않으며 (= 온라인 교재, 무료), 단 시간에 가장 핵심적으로 실무에 필요한 기술만 습득할 수 있다는 점입니다.

 

3. Community Forum, Github tutorial 및 온라인 강의 (Youtube) 활용

마지막으로 위와 같은 과정으로 대충 어떤 스킬이 필요한지, 조금은 감이 왔다면 조금은 더 advanced 된 과정을 배우고 싶은 생각이 들기도 합니다. 이제 관심사와 처지가 비슷한 사람들이 모여있는 커뮤니티에 들어가서 눈팅을하고 질문을 합시다. 요새는 다양한 Bioinformatics 관련 커뮤니티가 활성화되어 있어서, 질문을 올리고 전문가의 답변을 얻기가 훨씬 용이해졌습니다.

maxresdefault

대표적으로 R과 관련한 다양한 블로그 및 포럼, Kaggle과 같은 Machine Learning 포럼, 유전체 분석 관련 Biostar, Bioinformatics Stack Exchange 등등의 커뮤니티들이 있으며, Software 제작자들이 Github에 친절하게 tutorial을 만들어주기도 합니다. 최근에는 유튜브가 활성화되어서, 친절하게 Step-by-step으로 분석 방법을 알려주는 영상도 많이 업로드되고 있으며, Coursera 온라인 강의도 접근이 쉽습니다.

이제는 정보의 홍수 속에서 얼마나 더 효율적으로 원하는 정보를 찾고, 활용하는지가 중요한 시대가 온 것 같습니다. 저런 정보들만 잘 활용한다면, Bioinformatics 도구를 활용하는데 큰 걸림돌은 없을 것이라고 믿어 의심치 않습니다.

이번 포스팅은 여기까지 입니다. 혹시라도 더 좋은 팁이 있다면 알려주세요^^

 

 

NGS 분석 파이프 라인의 이해: GATK Best Practice

최근들어 제 블로그의 방문자들이 눈에 띄게 증가했습니다. 대부분 구글 검색을 통해서 유입되는 분들인데, 검색어 통계를 보니 NGS 관련 내용에 대해서 검색하다가 들어오는 사람들이 많았습니다. 그래서 저에게는 쉬운 내용들이라 하더라도, 일반인들이 궁금해하는 내용에 대해서도 정리해두어야 겠다는 생각이 들어서 이번 포스팅은 NGS 장비를 통해서 생산된 데이터를 어떻게 분석하는지, 전반적인 파이프 라인에 대해서 개념을 소개하는 포스팅을 올려볼까 합니다.

우선, 차세대 염기 서열 분석법 Next-generation sequencing (이하 NGS)은 다양한 이름으로 불리는데, 이미 널리 사용하는 기술이기 때문에 현재는 차세대 기술이라고 보기 어렵습니다. 따라서, NGS라고 부르는 건 misnomer라고 할 수 있죠. 좀 더 정확한 명칭으로는 Massively parallel sequencing, High-throughput sequencing 등이 있는데, 동일 기술을 가르킨다고 생각하면 됩니다.

관련 포스팅 보기 >

휴먼 게놈 프로젝트, 그 이후.. 그리고 정밀 의료시대까지

NGS 검사: Whole Genome & Exome, Targeted Sequencing 비교

시퀀싱 기술의 발전으로 현재는 NGS를 널리 사용하게 되었는데, 다양한 방식이 있지만 지금은 Illumina 사의 Flow cell 기반의 short-read 시퀀싱 방식이 대부분의 시장을 독점하고 있는 상태입니다. 따라서, 아래의 NGS 분석 방법은 Illumina 시퀀싱 방식으로 생산되는 read를 기준으로 설명하도록 하겠습니다.

[Illumina sequencing 과정 소개 You-tube 영상]

 

시퀀싱 데이터 분석 과정은 위의 과정을 통해서 생산된 매우 많은 짧은 가닥의 read (50~150 bp 염기)들을 적절한 유전체의 위치에 퍼즐로 끼워 맞추고, 기존에 알려진 표준 유전체 (Reference sequence)와 대조하여, 바뀐 염기나 변이가 있는지를 검출하는 전체 과정을 말합니다. 따라서, 크게 아래와 같은 과정을 거쳐야, 생산된 read들로 부터 변이를 검출할 수가 있습니다.

GATK에서는 Germline 또는 Somatic variant 에 따라, 그리고 타겟 변이의 특성에 따라, 서로 다른 Best practice를 제공하고 있습니다. 이 중에서 아래는 가장 보편적인 Germline short variant 발굴 과정을 나타내고 있습니다.

[GATK Best Practice 보기]

Germline short variant discovery

Germline copy number variant discovery

Somatic short variant discovery

Somatic copy number variant discovery

 

gatk
[GATK best practice] GATK에서는 생산된 read로부터 변이를 검출하는 전체 과정에 대한 표준화 지침을 제공하고 있는데, 이를 GATK best practice라고 하며 자세한 과정은 GATK forum에서 step-by-step으로 제공해주고 있습니다.
 

I. 표준 유전체 서열에 read를 정렬하기 (FASTQ to SAM): 보통 NGS를 통해서 생산되는 개별 Read의 개수는 백만개 이상의 단위가 됩니다. 이때, 개별 read의 정보는 FASTQ 파일로 저장되고 그 크기는 수십~수백 Gb 단위가 됩니다. 각각의 생산된 read는 이미 알려진 인간 표준 유전체 서열에 가장 잘 맞는 위치에 정렬시키게 됩니다. 예로, 100 bp read를 기준으로 하여, 100개의 서열이 모두 일치하는 경우는 거의 유일하게 되므로, 해당 위치에 잘 찾아가게 됩니다. 다만, 반복 서열이나 특이적이지 않은 서열의 read는 제대로 mapping이 되지 않을 수가 있는데, 이는 Illumina 방식이 가진 한계점입니다. 보통 이 과정은 BWA (Burrow-Wheeler Aligner)라고 하는 프로그램으로 진행하게 됩니다.

fastq
개별 Read는 위의 그림과 같은 정보를 포함한 FASTQ 파일 형식으로 생산됩니다.

 

II. 정렬된 정보를 binary format으로 변경하기 (SAM to BAM): 위의 과정을 거친 SAM 파일은 여전히 용량이 매우 큽니다. 따라서, 용량을 절약하기 위해서 컴퓨터가 이해하는 2진법의 binary 형식으로 변경하면서 용량을 줄이고 연산 속도를 올립니다. 이 과정을 거친 파일이 흔히 말하는 1차적인 BAM 파일이 됩니다.

bam
인간 표준 유전체 서열에 개별 Read들이 정렬된 모습. BAM 파일

 

III. 개별 위치의 Base quality 보정하기 (Quality Control 과정): 1차적으로 read들이 표준 유전체에 정렬되면, 이것이 제대로 찾아 들어간 것인지를 평가하기 위해, 유전체 개별 위치에 대해 각각의 read 정보를 토대로 제대로 정렬된 것인지를 평가하고, 보정해주는 과정을 거칩니다. 특히, Indel이 발생한 read들의 경우, bias가 크기 때문에 따로 Indel realignment 라는 과정을 거치고, 개별 염기 위치에 대해서도 다시 한번 보정을 해주는 Base Recalibration 과정이 존재하게 됩니다.

IV. Variant Calling (BAM to VCF): 마지막 과정은 BAM 파일에서 실제로 변이를 검출하여, 변이들만 추출하는 과정입니다. Germline인지 Somatic mutation 인지에 따라서 다양한 알고리즘을 이용하게 되는데, Germline의 경우 가장 대표적으로 Haplotypecaller를 이용하게 됩니다.

V. Variant Annotation: 4번 단계까지 거치면, 무수히 많은 변이 정보를 포함하는 VCF 파일이 얻어지게 됩니다. 이렇게 call된 변이들 중 일부는 error를 일부 포함하고 있기 때문에, 보정 및 QC 과정을 한번더 거치게 됩니다. (Variant Recalibrator) 이후에 QC 과정을 거쳐서 Filtering된 변이들 중에서 관심 있는 변이만 얻기 위해서는, 기존 데이터 베이스의 자료를 토대로 각각의 검출 변이에 대해서 신원을 식별하고, ID를 발급하는 일종의 annotation 하는 과정이 필요합니다. 보통 이 과정에서 다양한 툴들이 이용되는데, 가장 대표적으로 Annovar 프로그램을 이용하여, gnomAD DB 등의 자료를 이용하게 됩니다. 최근에는 GATK의 Funcotator에서 기본적인 annotation을 지원하고 있습니다.

 

개별 과정의 코드까지 전부 올리기에는 너무 양이 많아질 것 같아서, 이번 포스팅에서는 전체 흐름에 대해서만 간략히 다루도록 하겠습니다. 다음 포스팅에서는 개별 변이를 해석하는 방법에 대해서 조금 더 자세히 다루도록 하고, 이번 포스팅은 여기서 마치도록 하겠습니다.

 

[Reference]

GATK Best Practice Forum https://software.broadinstitute.org/gatk/

Annovar http://annovar.openbioinformatics.org/en/latest/

휴먼 게놈 프로젝트, 그 이후.. 그리고 정밀 의료시대까지

Hx of HGP
The landscape of Human Genome Project (National Human Genome Research Institute 에서 발췌)

인간 게놈 프로젝트 (Human Genome Project; HGP)는 인간의 모든 유전자 염기 서열을 밝히는 것을 목표로 1990년 처음 시작되었습니다. 그리고 당초 목표보다 2년 빠른 2003년도에 목표를 완수하게 되었죠. 이 당시만 해도, 인간의 유전체 암호가 모두 해독되어서 마치 모든 유전병을 정복가능하게 될 거라고 기대가 매우 컸습니다. 그렇지만 당시의 기대와 흥분도 잠시, 지금까지 무려 14년이 흘렀지만 아직도 게놈 프로젝트는 현재 진행형입니다. 이번 글에서는 게놈 프로젝트의 역사와 의의, 그리고 앞으로 유전체 연구 진행 방향에 대해서 논의해 보겠습니다.

사실 게놈 프로젝트를 말하는데 있어서, 염기서열 분석 기술의 발전을 떼놓고는 말하기가 어렵습니다. 하지만 각 세부적인 분석 기술 소개하는 것 만으로도 엄청난 분량이 되어버리므로, 이번 글에서는 간단히만 언급하겠습니다.

Frederick-Sanger-and-a-DN-009
1958년 노벨 화학상 수상자, Frederick Sanger (1918 – 2013). 그의 이름을 딴 생거 시퀀싱 방법은 아직까지도 염기 서열 분석 방법의 고전적 분석 표준(Gold standard)으로 인정받고 있습니다.

유전자의 염기 서열을 분석하는 가장 고전적인 방법은 생거 시퀀싱(Sanger sequencing)법 입니다. 영국의 생화학자였던 프레데릭 생거에 개발된 방법은 아직까지도 염기 서열 분석의 표준 방법(Gold standard)로 인정되고 있습니다. 그러나 기술의 발전으로 점점 더 빠르고 정확하게, 대용량의 유전 정보를 시퀀싱하는 것이 가능하게 되었고, 최근에는 이를 두고 차세대 염기 서열 분석법 (Next-generation sequencing, NGS) 라고 부르고 있습니다. 사실 우리는 이미 NGS의 시대에 살고 있기 때문에 엄밀한 의미에서 차세대 라는 말은 맞지 않습니다. 따라서 일부에서는 3세대 염기서열 분석 (Third generation sequencing, TGS) 또는 대용량 염기 서열 분석 (Massively parallel sequencing, MPS)라고 부르기도 합니다. 하지만, 편의상 널리 NGS로 통용되고 있습니다. 예전에는 염기 서열을 밝히는데 수년이 걸렸던 인간 게놈 프로젝트도, NGS 기술의 발달로 이 글을 작성하는 지금도 매우 저렴한 가격에 며칠이면 가능해졌으며, 소요 시간과 가격은 점점 감소하고 있습니다. 그렇다면 이렇게 저렴해진 유전체 서열 분석 기술이 의미하는 바는 무엇일까요?

costs_plummeting_x9001.jpg
2000년대 초, 백만불이었던 전체 유전체 분석 가격은 2017년 현재 이미 1,000불 아래로 떨어졌습니다. 즉, 개인이 100만원의 비용이면 본인의 모든 염기 서열 정보를 알 수 있는 시대에 도달했다는 의미가 됩니다.

사실 인간 게놈 프로젝트 이후에 진행된 프로젝트는 1000 게놈 프로젝트 (1000 Genome Project)가 있습니다. 1000 게놈 프로젝트는 1000명의 사람들의 전체 유전체를 분석해서 서로 차이를 보이는 염기 서열에 무엇이 있고, 이것이 개인마다 어떻게 다름으로써 개인별 특징을 나타내는지를 찾고자하는 첫 시도였다고 볼 수 있죠. 그리고 현재 알게된 사실은 사람들은 무수히 다른 단일 유전자 변이 (Single Nucleotide Variant, SNV)를 가지고 있으며, 이러한 SNV가 각기 어떻게 작용을 해서 서로 다른 형질을 보내는지에 연구의 포커스가 맞춰진 상태입니다. 인간이 가지고 있는 형질과 질병은 무수히 많습니다. 그리고 인간의 유전체도 SNV를 포함해서 매우 다양하며, 무궁 무진한 상호 작용과 조절을 받고 있습니다. 즉, 인간 게놈 프로젝트 초기에 기대했던 목적을 완전히 이수하려면 이러한 모든 유전체의 발현과 조절, 그리고 개개인의 유전 정보와의 관계를 밝히는 것이 필수라는 것이죠. 1000명에서 시작된 프로젝트는 이제 나라와 인종별로 10만명, 100만명 수준으로 확대되고 있으며, 앞서 언급한 유전체와 형질간의 관계를 확인하기 위한 데이터 수집 과정입니다.

즉 앞으로의 유전체 프로젝트와 연구 방향은 이러한 형질 또는 질병과 유전 정보 간의 관계를 파헤치는데 집중될 것입니다. 유전자 지도 완성 뿐 아니라, 유전자 지도 안의 각 위치가 어떠한 역할을 하고, 어떤 형질과 질병을 일으키는지 완벽하게 이해를 해야한 엄밀한 의미의 정밀 의료가 실현 가능하다는 것이죠.  유전체 정보는 매우 방대하고, 이를 분석하는데는 매우 많은 시간과 노력이 필요합니다. 따라서 뒤이어 발전하게 된 것이 이러한 유전 정보를 분석하는 생물 정보학 (Bioinformatics)입니다. 더 나아가 최근에는 이러한 유전 정보를 빅데이터로 간주하여, 인공지능 방법론을 활발하게 적용하고 있는 상황입니다. 정밀 의료를 논의하는데 있어, 유전학, 생물 정보학, 그리고 인공 지능 등을 함께 이해할 필요가 있는 대목입니다.

2-DNA-computer
유전 정보 데이터를 바탕으로 한 정밀 의료 를 실현하기 위해서는 생물 정보학과 같은 분석 도구가 필수적이며, 유전체 데이터가 매우 크기 때문에 이를 효과적으로 처리하기 위해 빅데이터와 인공 지능 기술 적용이 크게 각광 받고 있습니다.

궁극적으로 정밀 의료 시대에는 모든 개인이 자신의 유전 정보를 보유하게 될 것이고, 앞에서 알게된 지식을 바탕으로 사는 시대에 있게 될 것입니다. 그리고 지금은 연구자들이 그러한 지식의 틈을 메꿔가는 과정이라고 볼 수 있겠죠.

유전 정보 분석 및 생물 정보학, 그리고 빅 데이터와 인공지능. 각각의 세부적인 내용은 나중에 더 자세히 알아보도록 하고 이번 글은 여기서 마치겠습니다.