Fork me on GitHub 단맛만좋아요 ::

23andMe 재단장
2015.10.28 21:25 | 개인유전체분석

국내 질병 예측성 유전자 검사 현황

지난 19일 "질병예측성 유전자 검사의 개선방안 공청회"가 진행되었다. 공청회의 질병관리본부의 질병예측성 유전자 검사의 관리에 관한 용역 결과에 대한 세션에서 의하면 유전자 검사를 6개의 카테고리로 나누어 관리하는 방안으로 카테고리 1~4까지는 기존의 유전자 검사에 해당하며 카테고리 5와 6의 경우는 다음과 같은 기준으로 나뉘어 관리하도록 하고 있다.


질병관리본부의 질병예측성 유전자 검사 관리 용역 결과 유전자 검사 분류


이에 유전체기업협의회의 경우 기존 검사와 더불어 질병예측성 유전자검사와 웰니스 유전자 검사의 카테고리로 나누어 관리하고자 하고 있다. 특히 웰니스 유전자 검사의 경우 DTC를 허용하는 것을 골자로 하고 있다.


유전체기업협의회의 유전자검사 분류 방안

미국의 질병 예측성 유전자 검사 현황

미국의 경우 2006년 23andMe가 질병 예측성 유전자 검사를 DTC를 통해 시작한 이후 13년 FDA의 판매중지 명령에 의해 수행되지 못하는 실정이다. 


다만, 최근 15년 2월 FDA는 이중 상염색체열성유전질환(autosomal recessive disorders)의 유전자 검사에 대해서 의료기관을 거치지 않고 일반 임신진단키드와 같이 일반인이 직접 구매하여 사용할 수 있도록 DTC를 허용했다. 정확히 지난 14년 6월 bloom syndrome이라는 상염색체열성유전질환에 대해서 FDA에 승인(clear) 요청이 있었고 이를 올해 2월 승인 후 10월달에야 decision summary가 공개되었다.


FDA의 승인 내용은 해당 검사에 대해서 Class II로 분류하고 "Autosomal Recessive Carrier Screening Gene Mutation Detection System"이라는 기기타입(Device Type)과 PKB라는 상품코드(Product Code)를 부여하여 관리되는 한편 해당 승인과 더불어 상염색체열성유전질환은 의사를 거치지 않고도(DTC) PMA가 아닌 의견 수렴을 위한 30일간의 최소 부담의 규제만으로 제공이 가능하다는 것을 포함하고 있다.


지난2월 FDA의 승인 후 실제 서비스를 위한 decision summary가 이번달 릴리즈 되면서 23andMe는 발빠르게 웹페이지를 단장하고 새로운 서비스를 제공 준비를 하고 있다. 23andMe는 승인시 제출한 bloom syndrome외에도 36개의 상염색체열성유전질환(cystic fibrosis, sickle cell anemia, Tay-Sachs 등)에 대한 검사도 제공한다.

예측성이 아닌 유전질환의 보인정보

23andMe로서는 기존의 health라는 메뉴를 통해 질병예측성 정보를 제공하는 Health Risks와 Drug Response를 과감하게 현재로서는 포기 했지만, 기존의 health 메뉴중 하나였던 Inherited Conditions에 대해서는 FDA의 승인이라는 값진 선물을 받았다. 


기본적으로 유전자 검사가 임상에 도입되기 위해서는 해당 검사를 이용함으로써 얻을 수 있는 이익과 위험도를 평가하는 임상적 유용성(clinical utility)이나 해당 질환을 정확하게 예측하고 검출하는 임상적 타당성(clinical validity)를 질병예측성유전자 검사가 만족할만한 수준이 아니기 때문에 우선 이를 만족할 수 있는 유전질환에 대한 승인을 시작했으나 점차 예측성 부분으로 승인을 확장할 것으로 보인다. 이번 승인은 23andMe로서는 어쩔 수 없이 유전질환이 타깃이었지만 어찌보면 기존의 분자진단 업체들의 밥그릇을 빼앗아 올 수 있는 기회가 된 것일 수도 있다. 뭐 이게 메인인 서비스들이 막강히 버티고 있고 어차피 23andMe는 보인자 정보가 메인은 아니니...


DTC로서의 Inherited Condition

이번 승인은 모든 유전질환이 아닌 자손에게 유전질환에 대한 risk를 물려 줄 수 있는지에 대한 검사로 현재 대부분은 한국인을 포함한 아시안에서는 그리 유용한 검사가 아니다. 따라서 국내에서 해당 서비스를 받는다 해도 그리 임상적 유용성을 만족할 만한 것은 아니지만( bloom syndrome만 보더라도 Ashkenazi Jewish에 대해서 107명 중 1명이 보인자로 0.93%며 Asian이나 African American에서는 0%) 다양한 인종이 존재하는 미국에서는 그 유용성이 클 수 있다고 할 수 있다. Anne Wojcicki도 부모중 한명이 Jewish로 그녀 또한 bloom syndrome에 대한 보인자라고 한다. 뭐 한때 부부사이였던 구글의 Sergey Brin도 부모가 Jewish로 유전질환에서 자유롭지 못했다. 아마도 이 서비스자체가 부부였던 둘의 자식에 대한 사랑은 아니었을까 한다. ㅋㅋㅋ

Bloom Syndrome

23andMe는 사업초기부터 Illumina의 chip을 사용(2008년 v1, 2011sus v3, 2014년 v4)하고 있으며 현재는 BeadChip v4 assay (Illumina HumanOmniExpress-23 format chip)을 사용하고 있다. 이 칩은 ~750,000 SNPs를 커버하고 있으며 약 200,000개의 custom markers를 추가(현재 할 수 있는 것으로 알려져 있다. 해당 칩에는 SNPs외에도 II와 DD, DI의 genotype을 가지는 deletion과 insertion 또한 확인이 가능하며 그 수는 대략 60여개에 달한다.


Bloom Syndrome은 BLM 유전자의 2281에서의 6-염기쌍결실/7-염기쌍 삽입 (rs113993962)의 BLMAsh라고도 불리는 유전변이를 가지고 보인정보를 판단한다. 23andMe 형태의 genotype으로 보자면 "DI"인 경우는 보인자이며 "II"인 경우 bloom syndrome 환자 "DD"인 경우 정상이라고 할 수 있다.


Analytical performance 분석적 성능

FDA의 23andMe 서비스에 대한 decision summary에 따르면 23andMe는 FDA에 510(k) 드노보 프로세스를 진행하면서 6개의 셀라인을 가지고 analytical performance(찾고자하는 유전자형을 정확하고 믿을 만하게 검출하느냐)를 수행했다. 


4 homozygous common (DD)

1 BLMAsh heterozygous (DI)

1 BLMAsh homozygous rare (II)


각 셀라인은 5일에 걸쳐 2곳(site1, site2)에서 각각 별도로 진행되었으며 이때 4개의 reagents와 3대의 별도의 Tecan, iScan 장비의 조함을 사용하여 진행하여 DD의 경우 360번 DI와 II의 경우 720번의 replicate를 수행했다. 

각 site별 실험에 따른 정확성과 재현성(Precision/Reproducibility)


또한 이들은 Interference와 관련하여 Endogenous와 소고기가 포함된 음식 섭취, 소고기가 포함되지 않은 음식 섭취, 음료 섭취, 검씹기, 이빨닦기의 Exogenous Interference와 함께 흡연에 대한 Interference에 대해서도 analytical performance에 관한 내용을 제출했다.


이빨 좀 닦아 본 후(간섭에 의한)  재현성 - QC fail은 있어도 QC만 통과하면 정확함

Comparison Studies 비교 시험

타액을 통해 23andMe의 자체 Biobank로부터 genotyping된 총65샘플에 대해서 bi-directional sequencing을 통한 결과와 비교 시험 결과 DI(heteo)인 경우와  DD(homo)인 경우에 대해서 총5개 샘플은 QC에 fail되었으나 다시 시도해서 모두 genotyping과 동일한 결과를 얻었다.

Clinical Studies 임상적 시험

지금까지 본 바로 아무리 잘 잡아냈다고 하더라도 지금까지 봐온 BLMAsh가 기존의 논문등의 근거가 부족하다면 이 검사에 대한 승인은 처음부터 재고려해보아야 할 것이다. 23andMe는 ACMG의 Ashkenazi Jewish decent에 대한 보인자 스크리닝 가이드라인과 Bloom Syndrome에서 BLM 유전자의 원인 변이라는 논문을 근거로 제시하고 있다.


Ashkenazi Jewish에서의 Bloom syndrome외의 다양한 유전질환에 대한 carrier frequency

결론

지금까지 살펴본 바와 같이 23andMe는 FDA의 승인을 받기 위해 기존의 의료기기들이 허가를 받기 위해 필요한 분석적 성능이나 임상적 성능 등 다양한 결과들을 제출하고 허가를 받았다.  비록 질병의 예측성 유전자 검사가 아닌 기존의 보인자 유전검사라는 틀에서 이루어지긴 했지만 이번 기회를 통해 23andMe는 FDA와 어떠한 관계를 가지고 어떻게 허가를 진행해야 할지에 대한 값진 교훈을 얻게 되었고 분명 이는 23andMe에게는 앞으로의 서비스 확장과 사업 진행에 있어서 큰 도움이 될 것이라고 생각한다.


23andMe는 질병 예측성 유전자 검사라는 카테고리(예전의 health 카테고리)를 잃었지만 아직도 Ancestry, wellness, traits의 정보와 함께 FDA의 승인된 보인정보(carrier status)를 얻었다. 


국내에서도 카페인이나, 유당분해, 알콜분해 등의 웰니스에 관련한 유전자를 DTC로 풀어나가는 한편 체계화된 연구를 기반으로 규제기관과의 허가에 관한 이슈를 풀어나아갔으면 한다.


저작자 표시 비영리 동일 조건 변경 허락
Software enginner of GenomeCloud. Covers bioinformatics, computational biology, and life science informatics.
Posted in : 개인유전체분석 at 2015.10.28 21:25
Currently 4 comments want to say something now?

그래프를 이용한 태스크 표현

흔히 바이오인포매틱스 분석이라고 하는 경우 스크립트나 모듈을 작성하여 일련의 분석을 수행하곤 한다. 그러나 단순한 형태의 일이 아니라 더욱 고난이도의 일을 처리하다가 보면 (물론 대부분이 그렇지만) 태스크의 의존성을 고려해야 하는 경우가 많다. 그래프를 이용하여 이를 표현해 보면서 어떻게 의존성과 결함을 고려한 스케줄러를 만들 수 있는지 생각해 보도록 하자.



총 4개의 노드 (Task1, Task2, Task3, Task4)와 엣지로 구성된 그래프로 각각의 엣지는 다음과 같은 의존성을 가진다.


Task1=>[Task2, Task3]

Task2=>[Task4]

Task3=>[Task4]

Task4=>[]


즉, Task1이 끝나야 Task2,3이 수행되고 Task4는 Task2,3가 끝나야 수행된다. 이렇게 각각의 노드(태스크)는 의존성(엣지)을 가지고 최종적으로 위의 그래프는 Task1-Task2, Task1-Task3, Task2-Task4, Task3-Task4로 표현될 수 있다.

워크플로우 상호 의존 태스크 관리

SGE를 비롯한 대부분의 스케줄러는 workflow interdependence (워크플로우 상호의존) 개념을 가지고 있으며 다음과 같이 표현될 수 있다.

qsub -N Task1
qsub -N Task2 -hold_jid Task1
qsub -N Task3 -hold_jid Task1
qsub -N Task4 -hold_jid Task2, Task3


어때유 간단하쥬,

결함을 허용하는 워크플로우 만들기

그런데 문제는 어떻게 결함을 허용하게 하느냐는 것이다. 여러가지 방법이 있겠지만, 필자는 각 Task의 결과 파일과 결과 파일의 MD5 체크섬을 이용하는 방안에 대해서 이야기 해 볼 것이다.


각 Task는 Task의 결과로 생성되(어야하)는 ouput file이 존재한다. 따라서 Task의 실행전에 해당 output file이 존재하는 또한 저장된 ouput file의 MD5 값이 outputfile을 실제 MD5를 실행해서 얻은 값과 동일한지(결과값이 변경되었는지를 확인하기 위해) 를 확인한다. 만약 두 조건을 만족한다면 해당 Task는 이미 정상적으로 실행되었던 것이기에  skip하고 그렇지 않은 경우에는 해당 Task가 처음 수행되거나 또는 비정상적으로 종료된 것이기 때문에 Task 고유의 action을 수행한다.


if [[ -f $OUTFILE && -f $MD5FILE && `md5sum ${OUTFILE} | cut -f1 -d" "` = `cat ${MD5FILE} | cut -f1 -d" "` ]]; then

   skip

else

   do task action

   task_md5=`md5sum $OUTPUTFILE > $MD5FILE

fi


위 그림과 같이 Task3이 어떤 이유에서든 실패했다면, 실패의 원인을 찾아 해결한 후 다시 모든 Task job을 resubmit하면 Task1은 skip이 되고 (이미 정상적으로 수행되었기때문) Task3부터는 재실행하게 되어 결국 자원낭비 없이 모든 Task들이 수행된다.

Job Array를 이용한 반복 태스크 관리

한가지 더 이쪽 분야의 일을 하다가 보면 특정한 일을 여러번 반복해야하는 경우가 생긴다. 가령 염색체별로 23번을 반복해야한다거나 샘플별로 동일한 작업을 여러번 해야 한다거나 말이다. Task2, Task3...TaskN의 작업은 변수1개만 다를뿐 동일한 경우에는 Job Array를 이용한다.


qsub -N Task2toN -t 1-100 


-t 옵션을 주어 1부터 100까지 100번의 job을 차례로 submit한다. 그럼 나는  job 스크립트에 다음과 같이 array별로 변수를 바꾸어 할당하여 job을 수행하도록 하면 된다.


sample=awk "NR==${SGE_TASK_ID}" samplelist.txt

java -jar GATK.jar -T GenotypeGvcf -I ${sample}.bam -O ${sample}.vcf


samplelist.txt에는 sample 이름 100개가 담겨져 있고 스크립트는 samplelist.txt 파일을 한줄한줄 읽어 두번째  모든 샘플에 대해 GATK 작업을 100번 수행한다. 100번을 job을 submit하지 않고도 100번을 job을 수행할 수 있는 것이다. 이렇게 간단하게 embarrassingly parallel를 손쉽게 구현이 가능하다.


간단하게 바이오인포매틱스 워크플로우에서 SGE 스케줄러를 이용하여 의존성 있는 Task들에 대해서 결함을 허용하는 한편 간단히 array job을 수행하는 방법에 대해서 알아보았다.


실제로는 NoFlo 등을 이용하여 프론트엔드단을 구현하고 그안에 SGE 스케줄러와 위에 설명한 방법들을 결합하여 워크플로우를 작성하여 실행하도록 하면 끝.

Job 모니터링과 fail job 복구

마지막으로 스케줄러를 사용하다보면 간혹 shared storage가 네트워크의 과부하 등으로 제대로 작동되지 않는 경우 SGE는 job의 상태를 Eqw로 빠드리고 에러를 확인해 보면 "can't chdir to directory: No such file or directory"라고 shared storage에 접근하지 못한다는 에러를 확인 할 수 있다. 이때는 아까도 말했듯이 간헐적인 네트워크 과부하 등의 원인으로 shared staroge 접근에 임시적으로 문제가 생길 수 있으니 이때는 job을 다시 실행하도록 하는데 qmod의 -cj 옵션으로 에러를 해결(clear)했으니 다시 시도하라는 것이다.


간단히 다음의 bash 스크립트로 job 상태를 xml 형태로 받아 파싱하여 queue의 상태를 모니터링하도록 하자.


로그 관리

분석을 수행하면서 생기는 로그는 다음의 3가지로 나누어 볼 수 있다. 스케줄러에서 생성되는 Job별 STDOUT, STDERR과 전체 워크플로우에 사용자가 넣은 로그로 각 로그는 웹 상에서 자동으로 갱신되어 보여지도록 한다. 이때는 js-logtail 등을 이용하면 쉽게 로그 파일을 처리할 수 있다.





저작자 표시 비영리 동일 조건 변경 허락
Software enginner of GenomeCloud. Covers bioinformatics, computational biology, and life science informatics.
Posted in : 빅데이터분석 at 2015.10.13 18:58
Currently 댓글이 없습니다. comments want to say something now?

티스토리 툴바