Skip to content

Google Genomics #
Find similar titles

Structured data

Category
Business

IT 인프라를 다루는데 있어 Google만한 선도기업은 없을 듯. 대부분의 유전체 연구가 대형 IT 인프라가 필요한데, 구글에서도 자신들의 IT 인프라 기술을 이용하여, 유전체 연구를 클라우드에서 진행할 수 있는 서비스를 최근 시작했다.

이름하여, Google Genomics. NGS 데이터를 구글 클라우드에서 분석하고 다룰 수 있도록 지원하는 Google Developers 서비스의 한가지로써, 다양한 구글 서비스들을 유기적으로 연결하여 사용할 수 있다. API 쿼리 기준으로 과금이 이루어지도록 되어 있지만, 과금 정책은 아직 결정되지 않았다.

다음과 같은 기본 API 기능을 제공한다. (Global Alliance for Genomics and Health 협약 기반)

  1. Store: 다수 샘플의 Alignments (BAM), variant call (VCF) 데이터 저장
  2. Process: 유전체 데이터에 대한 기본 계산 (PCA, Hardy-Weinberg equilibrium 등, MapReduce 기술이 사용됨)
  3. Explore: 다수 샘플에 대한 유전체 영역 가시화 (transition/transversion ratio, allelic frequency, genome-wide association 정보 표시, Google BigQuery 기술이 사용됨)
  4. Share: 유전체 데이터의 연구그룹내 공유 혹은 전체 공개

제공하는 자원(resource)는 다음과 같다.

  1. Datasets: 클라우드 프로젝트의 기본 유전체 데이터 단위로 다수의 샘플을 포함한다. 데이터 접근 권한은 이 수준에서 관리된다.
  2. Readsets: 특정 샘플에 대한 리드(read)들로서 다수의 FASTQ 혹은 BAM 파일. 만일 BAM 파일에 여러 샘플이 있으면 multiple readsets 가 된다.
  3. Reads: DNA 시퀀싱 장비로 부터 획득한 리드들
  4. Variants: rs1234 와 같은 유전변이. 보통 레퍼런스 유전체상 위치와 변이 종류(SNP, INDEL 등), 대립유전자 등과 관련된 정보를 갖는다.
  5. Callset: 하나의 샘플로 부터 얻어지는 variants의 집합
  6. Jobs: 대용량 데이터 수입 및 내보내기시 해당 작업의 진행 상태 등 관리

본 서비스를 이용하기 위해서는 구글 사용자로 로그인 한 뒤, Google Developers Console에서 Genomics 프로젝트를 만들고 Client ID를 발급받아야 한다. 그후, 자바 환경이 설정된 상태에서 다음 명령으로 바로 설치할 수 있다.

$ curl -O -L https://github.com/googlegenomics/api-client-java/raw/master/genomics-tools-client-java-v1beta.jar

다음 명령은 Reads 를 검색하는 예제이다. 1000 Genome Project 데이터가 예제데이터로 공개되어 있고 이용 가능하다.

$ java -jar genomics-tools-client-java-v1beta.jar searchreads --client_secrets_filename ~/Downloads/client_secrets.json --sequence_name "chr20" --sequence_start 68198 --sequence_end 69000 --readset_id "CJ_ppJ-WCxDxrtDr5fGIhBA” 
result: {"nextPageToken":"CikI45kEEhxIN0Y0UkFEWFhfMDoyOjEyMDc6MTQ4Mjk2ODowGgVjaHIyMA==","reads":[{"alignedBases":"CTTACAGTTCTACGGGATAATAGCTTATCTCATAAGGCCTCAGCTTTCTTTAATAATTTCTAGAAGCAGACGTTATTGTGTCATGCACACTAAGTGTTGC","cigar":"100M","flags":147,"mappingQuality":60,"matePosition":67930,"mateReferenceSequenceName":"chr20","originalBases":"CTTACAGTTCTACGGGATAATAGCTTATCTCATAAGGCCTCAGCTTTCTTTAATAATTTCTAGAAGCAGACGTTATTGTGTCATGCACACTAAGTGTTGC","position":68099,"name":"H7F3RADXX_1:1:1207:2208623:0","baseQuality":"ISElJSElJSEhISUlJSUlJSUlJSUlJSUlJSUoKCgoKCgoJSUlISUlKCgoKCgoKCgoKCUlKCgoKCglKCglJSgoKCgoKCgoJSUlKCglJSgoKCglJSUlJSUhJSEhGw8lJSUlJSEhIQ==","referenceSequenceName":"chr20","tags":[{"bytesValue":"bm9uZQ==","type":"string","tag":"BC"},{"bytesValue":"Mg==","type":"string","tag":"RG"},{"intValue":1,"type":"int8","tag":"NM"},{"intValue":484,"type":"int16","tag":"SM"},{"intValue":60,"type":"int8","tag":"MQ"},{"intValue":1073,"type":"int16","tag":"AS"}],"templateLength":-268},{"alignedBases":"TTACAGTTCTACGGGATAATAGCTTATCTCATAAGGCCTCAGCTTTCTTTAATAATTTCTAGAAGCAGACGTTATTGTATCATGCACACTCAGTGT","cigar":"96M4S","flags":83,"mappingQuality":60,"matePosition":67884,"mateReferenceSequenceName":"chr20","originalBases":"TTACAGTTCTACGGGATAATAGCTTATCTCATAAGGCCTCAGCTTTCTTTAATAATTTCTAGAAGCAGACGTTATTGTATCATGCACACTCAGTGTCGCA","position":68100,"name":"H7F3RADXX_1:1:2201:959593:0","baseQuality":"ISEhISEhISEhISEhISEhJSUhJSUlJSElJSUlJSElJSUlISUlJSUlGyglISUlIQ8hISUlJSUhJSUoKCUoJSElIRYhJSUhJSUbISUlJSUhDxYlKCgoKCgoJSUlJSUlJSUhGxsbGw==","referenceSequenceName":"chr20","tags":[{"bytesValue":"bm9uZQ==","type":"string","tag":"BC"}...

본 API를 원하는 목적에 맞게 사용하기 위해서는 적절한 분석 기능을 MapReduce 기술을 이용하여 Process 단계에 접목시키는 것이 핵심이다. 이 단계를 위한 파이썬 라이브러리는 GitHub에 공개되어 있다. Google Genomics/MapReduce Python.

다음은 구글 IO에 소개된 Google Genomics 소개 동영상이다.

유전체 데이터를 어떻게 의료 데이터와 접목할 것인가는 최근 유전체학, 생물정보학의 화두인데, 이렇게 구글의 클라우드를 이용하는 것도 좋은 대안이 되고 있다. 비용이 어찌되느냐가 관건인데, 저 비용보다 저렴한 서비스를 만들어내지 않으면 의미가 없어지는 시대가 되어가고 있다.

Incoming Links #

Related People #

Related Data Sciences #

Related Bioinformaticses #

Suggested Pages #

0.0.1_20140628_0