Vol. 8 No. 22 PUBLIC HEALTH WEEKLY REPORT, KCDC 차세대 염기서열 분석 플랫폼으로서의 클라우드 컴퓨팅 Cloud Computing as a Platform for Next-Generation Sequencing Data Analysis Abstract Background: Recently, Next-generation Sequencing (NGS) technologies have become popular in a broad range of life science and medical researches. However, NGS technology produces huge amounts of data. In order to overcome its weaknesses, which include short read and high error rate of the experimental procedure, in-depth coverage and sequencing of data must be performed. Currently, expanding the computational infrastructure is required for NGS data analysis, but it is difficult to expand the required computing resources immediately. Instead, cloud computing is considered as an alternative to the existing facilities. In this paper, we illustrated the concepts of cloud computing and surveyed some examples of cloud computing utilization for NGS data analysis. To assess the performance of cloud computing, we compared a local cluster and the Amazon Web Service (AWS) EC2. Methodology: We downloaded an exome sequencing data from the 1,000 Genomes Project consortium. The 1,000 genomes pipeline was modified according to the configuration of each system. With the modified 1,000 genomes pipeline, we ran two benchmark tests on local cluster and AWS EC2. After the benchmark, the running time of the single nodes has been put together serially. We calculated relative speeds, or Ct score, with our equations. Results: The Ct score of AWS EC2 was 164.4%. Therefore, we estimated that the performance of the single CPU core of AWS EC2 was slower than the local cluster. Conclusion: To evaluate the performance of cloud service, we benchmarked a local cluster and AWS EC2 service. We found out that the local cluster outperformed the cloud service; however, the difference was not significant. Instead, NGS data analysis on a cloud service showed a reasonable performance level, which provided a good alternative for researchers who cannot build a cluster system.. 질병관리본부 국립보건연구원 생물안전평가과 권태수, 김대원, 강연호 1) 들어가는 말 최근 시퀀싱 기술의 발전은 생물학, 신약개발, 진단, 의료 등에 큰 영향을 주고 있다. 여기에는 전장유전체 해독, 전사체 정량분석(RNA-seq), 단백질 결합위치 동정(ChiP-seq), 메틸화 분석, 게놈/전사체 어셈블 등의 시퀀싱 기술이 포함된다. 이러한 기술들을 총칭하여 차세대 염기서열 분석(Next- Generation Sequencing, NGS)이라고 부르고 있다. 그러나 NGS 기술은 짧은 서열, 높은 에러율 등의 단점을 갖고 있는데 이 문제를 많은 양의 서열 데이터를 생산함으로써 극복하고자 하였다. 때문에 NGS 기술은 데이터양이 증가함으로써, 분석과 관리의 문제가 생기게 되었다(Figure 1). 실제로 NGS 데이터 생산비용은 5개월 마다 절반으로 줄어든 반면에 저장장치의 가격은 14개월[1]에 절반가격이 되었다. 결국, 저장장치의 발전이 NGS 데이터 생산을 따라갈 수 없는 상황이 되었다. 또 한가지 문제는 NGS 데이터가 양과 복잡도에 있어서 1) 교신저자(kyhfisher@nih.go.kr/ 043-719-8040) www.cdc.go.kr 501
주간 건강과 질병 제8권 제22호 Figure 1. The total size of the sequence read archive (SRA) database of the National Center for Biotechnology Information (NCBI) is exponentially growing (http://www.ncbi.nlm.nih.gov/traces/sra/) 기하급수적으로 증가함에 따라, 전산자원의 연산 능력의 확장이 필요하나[2] 이것이 쉽지 않은 것이다. 작은 연구소나 연구실에서 대량의 NGS 데이터를 분석하기 위해 필요한 전산자원을 도입하기까지는 많은 시간이 소요될 것이다. 뿐만 분석하였을 경우 소요되는 경비를 추정하였다. 이러한 비교는 연구자들이 분석 목적과 컴퓨팅 환경에 따라 상용 NGS 분석 서비스를 이용할 것인지 클라우드 컴퓨팅을 임대하여 직접 분석할 것인지 결정하는데 도움이 될 것으로 생각한다. 아니라 고가용시스템은 전문가가 관리해야 하고 다중 사용자 시스템으로 개별 사용자의 권한이 제한되어 필요한 소프트웨어를 설치하기 위해서는 관리자의 도움이 필요할 것이다. 이러한 문제를 해결하기 위해, 클라우드 컴퓨팅이 대안으로 떠오르고 있다. 클라우드 컴퓨팅은 기존의 클러스터나 고가용시스템에 비해 낮은 성능을 보이지만 가상화 등의 기술로 그 단점을 보완하며 관리와 확장비용을 줄여 주고 있다. 이 글에서는 클라우드 컴퓨팅의 개념을 설명하고 클라우드 컴퓨팅을 이용한 NGS 데이터 분석의 예를 보여주고자 한다. 뿐만 아니라 클라우드 컴퓨팅을 이용한 상용 NGS 분석 서비스를 조사하였고 클라우드 서버를 임대하여 NGS 데이터를 몸 말 클라우드 컴퓨팅 역사 클라우드 컴퓨팅의 개념은 전산학의 오랜 이론들로부터 유래했는데, 특히 1965년 John McCarthy[3]가 컴퓨팅이 언젠가는 공공시설을 사용하는 것과 같을 것이라고 제안한 것이 중요하다. 이 개념에 따르면 클라우드 컴퓨팅은 사용자에게 돈을 받고 전산 인프라를 제공하게 된다. 또한 SaaS (Software as a service)도 클라우드 컴퓨팅에 포함된 개념 중 하나이다. 502 www.cdc.go.kr
Vol. 8 No. 22 PUBLIC HEALTH WEEKLY REPORT, KCDC SaaS에서 사용자는 SaaS 제공자가 제공하는 웹기반 응용프로그램을 사용하면되고, 소프트웨어 설치, 업데이트 및 하드웨어와 운영체제의 관리는 SaaS 제공자가 맡게 된다. 오늘날, 이러한 개념들을 포함하는 클라우드 컴퓨팅은 다음과 같은 다섯가지 특징을 갖는다. 다섯가지 특징 미국 표준과학연구소(NIST: National Institute of Standards and Technology)의 정의[4]에 따르면 클라우드 컴퓨팅은 다음과 같은 다섯가지 특징으로 규정지을 수 있다(Figure 2). 1) On-demand self-service: 사용자는 서비스 제공자의 도움없이 스스로 전산자원을 설정하고 관리할 수 있다. Figure 2. Cloud computing concepts: the user does not need to know how the service is offered. The user can easily access the service with various devices through the internet 2) Broad network access: 사용자는 어느 장치를 이용해서든지 네트워크를 통해 클라우드에 접속할 수 있다. 3) Resource pooling: 전산자원을 최대한 확보하고 동적으로 할당함에 따라 다중 사용자에게 동일한 환경을 제공할 수 있다. 4) Rapid elasticity: 사용자는 전산자원을 무제한적으로 사용할 수 있다. 5) Measured service: 사용자는 사용량 만큼 비용을 지불하게 된다. 세가지 서비스 모델 한편 클라우드는 서비스 제공자가 사용자에게 무엇을 제공하는가에 따라 세가지 서비스 모델로 나눌 수 있다. 서비스 제공자가 응용프로그램만을 제공할 때는 SaaS라는 용어를 사용한다. 만일 사용자가 클라우드 서비스 제공자가 제공하는 개발도구를 이용해 응용 프로그램을 개발한다면 PaaS (Platform as a Service)라고 부른다. 또한 서비스 제공자가 운영체제 및 저장소와 같이 다양한 전산자원을 사용자에게 제공한다면 IaaS (Infrastructure as a Service)라는 용어를 사용한다. 클라우드 컴퓨팅을 이용한 NGS 데이터 분석 클라우드 컴퓨팅을 이용해 NGS 데이터를 분석하게 될 경우 두가지 큰 장점이 있다. 첫째는 대용량 클러스터나 고가용성 컴퓨팅 시스템(High Performance Computing, HPC)을 구매할 필요가 없다는 것이다. 둘째는 연구자가 지금 당장 NGS 데이터 분석을 시작할 수 있다는 것이다. 그런데 클라우드 컴퓨팅을 NGS 데이터 분석에 이용할 때 이용방법에 있어서 두가지 선택사항이 있는데 하나는 NGS 데이터 분석의 전체 과정을 자동화해주는 상용 서비스를 이용하는 것이고, 또 한가지는 연구자가 클라우드 서비스 제공자로부터 전산자원을 임대하여 직접 전체 분석과정을 설계하고 공개 소프트웨어를 설치해 구성하는 방법이다(Table 1). 이 두가지 이용방법은 각각의 장단점이 있다. 상용 서비스 상용 서비스는 NGS 데이터 분석에 필요한 시간과 노력을 줄여 준다. 사용자는 단순히 클라우드 서버에 데이터만 업로드하면 된다. 일루미나와 아마존이 함께 만든 BaseSpace 서비스는 하드디스크나 네트워크를 이용해 아마존 클라우드에 www.cdc.go.kr 503
주간 건강과 질병 제8권 제22호 Table 1. Cloud computing services and open source tools for next-generation sequencing (NGS) data analysis Category Name Apps & APIs 1 URL (Uniform Resource Locator) BaseSpace o http://basespace.illumina.com Bina Technologies x http://www.binatechnologies.com Commercial Services* DNAnexus o http://www.dnanexus.com GeneSifter x http://www.genesifter.net LifeScope x http://www.lifescopecloud.com SevenBridges o http://www.sbgenomics.com Function 2 Amazon Machine Images 3 CloudAligner Align x http://cloudaligner.sourceforge.net CloVR Platform o http://clovr.org Crossbow Pipeline x http://bowtie-bio.sourceforge.net/crossbow Open Source Tools FX RNA-seq o http://fx.gmi.ac.kr Galaxy CloudMan Platform o http://bitbucket.org/galaxy/cloudman HugeSeq Pipeline x http://hugeseq.snyderlab.org SIMPLEX Pipeline o http://simplex.i-med.ac.at TREAT Pipeline o http://ndc.mayo.edu/mayo/research/biostat/ stand-alone-packages.cfm VAT Annotation o http://vat.gersteinlab.org * Only the service providers that offer NGS data analysis usingcloud computing are listed here. Apps &APIs1 (applications and application programming interfaces): BaseSpace and DNAnexus provide user Apps that can be added or removed so that the users can choose the Apps they want to use and can modify or design their own analysis workflow. For bioinformaticians and experts, they also provide APIs so that the users can develop their own Apps on the cloud service. Function2: The functionality of open source tools is categorized in Align maps reads against a reference genome, Assemble denovo assemble, Annotation annotates SNPs and indels, ChIP-seq ChIP-seq data analysis, Pipeline a preset pipeline for NGS data analysis from reads mapping to variant calling, Platform a workflow that user can customize or design their own analysis pipeline, and RNA-seq RNA-seq data analysis. Amazon Machine Images3: Since building and setting up toolsfor NGS data analysis is not easy for non-experts, some tools provide user Amazon machine images (AMIs) in which the tool is preinstalled and ready for service without complicated instructions. 서열 데이터를 업로드하고 매핑, de novo assemble, small RNA 분석, 라이브러리 QC, 메타지놈 분석, NGS 데이터 보관 등의 서비스를 제공한다. GeneSifter는 PerkinElmer가 제공하는 마이크로어레이/NGS 분석 서비스로서 웹브라우저를 이용해 컴퓨터나 모바일 장치로부터 접속할 수 있다. 라이프 테크놀로지가 제공하는 LifeScope는 2.4GHz Xeon processor와 4Gbytes 메모리를 1시간에 코어당 $ 0.17 가격으로 제공하고 있다. 이러한 상용 서비스는 잘 구성된 파이프라인과 사용자 인터페이스 및 API (Application Programming Interface)를 제공한다. DNAnexus와 Seven Bridges가 대표적인데 사용자가 각자의 분석에 맞게 설정할 수 있는 파이프라인을 제공한다. 또한 API를 제공함으로써 사용자가 본인의 작업을 관리하거나 응용프로그램을 개발할 수도 있도록 하고 있다. Bina Technologies는 Bina Box와 클라우드 서비스로 구성된 서비스를 제공하고 있다. Bina Box는 가속된 BWA (Burrows- Wheeler aligner) [5]와 GATK [6]를 사용해 NGS 데이터 분석을 빠르게 수행할 수 있는 특별한 하드웨어이다. 또한 Bina 클라우드 서비스는 작업을 관리하거나 NGS 데이터 분석 결과를 다른 연구자와 공유할 수 있게 해준다. 이러한 장점에도 불구하고 상용서비스는 NGS 데이터 분석에 추가적인 비용이 들게 한다. 또한 공공 클라우드 서비스와 공개 504 www.cdc.go.kr
Vol. 8 No. 22 PUBLIC HEALTH WEEKLY REPORT, KCDC 소프트웨어를 이용하는 경우보다 클라우드 사용과 접근에 있어서 많은 제한이 있다. 결국 사용자는 서비스 제공자들이 사용자들의 요구를 반영하여 새로운 기능을 추가할 때까지 기다려야 한다. 공공 클라우드 서비스와 공개 소프트웨어를 이용한 NGS 데이터 분석 상용서비스와 비교할 때, 공공 클라우드와 공개 소프트웨어를 이용할 때의 가장 큰 장점은 저렴한 가격과 유연성에 있다. 연구자가 공공 클라우드에서 NGS 데이터를 분석할 때는 클라우드 사용료만 지불하면 된다. 그리고 사용자는 자신의 클라우드에 필요한 소프트웨어를 제한 없이 설치할 수 있고 설정 또한 마음대로 바꿀 수 있다. 이러한 장점에도 불구하고, 공공 클라우드에서 공개 소프트웨어를 이용할 때는 몇가지 단점을 갖고 있다. 무엇보다도 사용자는 스스로 NGS 데이터 분석에 필요한 CPU 수, 메모리, 저장소, 보안정책 등 시스템 설정을 계획해야 한다. 또한 시스템 관리도 본인이 해야 한다. 또한 시스템 설정과는 별개로 전체 분석 파이프라인을 설계하고 설치하는 것도 사용자의 몫이다. 이는 곧 NGS 데이터 분석에 필요한 설정을 마치기까지 수많은 시도와 오류를 해결해야 함을 의미한다. 공공 클라우드 서비스와 공개 소프트웨어를 이용한 NGS 데이터 분석 성능 벤치마크 로컬 서버(국립보건연구원 내에 운영 중인 서버)와 클라우드 서비스의 성능을 비교하기 위해 NGS 데이터 분석을 수행하였다. 로컬 서버는 IBM idataplex dx360이었고, 클라우드 서비스는 아마존 AWS EC2 (http://aws.amazon.com/ec2/)이었다. 자세한 시스템의 사양과 벤치마크 결과는 Table 2에 정리하였다. 벤치마크를 위해 1,000 genomes project (ftp://ftp. 1000genomes.ebi.ac.uk/vol1/ftp/)로부터 NA19098 ([7], accession number: SRX033165)의 엑솜 시퀀싱 데이터를 다운로드하였고 1,000 genomes 파이프라인 중 일부를 수정하여 실행하였다. 이 엑솜 시퀀싱 데이터는 두 개의 PE (paired end) run인 SRR077453 (22,555,779 reads)와 SRR077460 (24,867,840 reads)로 구성되어 있는데 Illumina Genome Analyzer II로 생산되었다. 아마존 EC2의 인스턴스 타입은 한 개 노드의 M2 High- Memory Quadruple Extra Large (m2.4xlarge)이었고 ephemeral disk를 이용해 RAID (Redundant Array of Inexpensive Disks)를 구성하였다. 로컬 서버는 3개 노드로 구성하였는데, 두 개의 read를 각 계산 노드에서 분석한 뒤 하나로 합쳐서 변이정보를 추출하였다. 반면에 AWS EC2의 M2 High-Memory Table 2. Specifications and benchmark results of the local cluster and cloud computing services Times Provider CPUs RAM (Gbytes) Storage (Gbytes) Nodes OS Ct (%) 1 Cost ($)/h (hh:mm:ss) Mapping 2 Total process 3 Local Cluster 24 (12 x 2) 48 100,000 3 Red Hat Enterprise Linux Server release 5.3 100 NA 1:48:42 14:35:02 AWS EC2 2:44:56 26 (8 x 3.25) 68.4 1,700 1 Ubuntu 11.10 164.4 1.64 (m2.4xlarge) 15:25:58 Ct (%) 1 : represents the relative speed of benchmarked system to the local cluster that calculated bythe equation (1). Mapping 2 : running time for the mapping process that allows the use of multi-threads (Burrows Wheeleraligner, BWA version 0.7.3a). Total process 3 : running time for the total process frommapping to variant call, including the multi-threads enabled program andsingle-threads only program. www.cdc.go.kr 505
주간 건강과 질병 제8권 제22호 Quadruple Extra Large 노드에서는 두 개의 read를 순차적으로 분석한 뒤 변이정보를 추출하였다. 벤치마크 결과 로컬 서버가 맵핑 과정에서 아마존 클라우드 서비스에 비해 월등히 빨랐으나, 나머지 분석 과정에서는 큰 차이가 없었다. 맵핑 과정에서 차이를 보인 이유는 맵핑 소프트웨어인 BWA가 다중코어를 사용하도록 하였기 때문이다. 그러나 이후의 과정에서는 모두 한 개의 코어만을 사용하였다. 맵핑 과정은 로컬 클러스터에서는 1시간 48분 42초가 걸렸고 AWS EC2에서는 2시간 44분 56초의 시간이 걸렸다. 이 결과는 CPU 코어수에 비례하므로 더 많은 CPU 코어를 사용할 경우 더 빠른 결과를 보였다. 이를 상대적 수치로 변환하여 비교하기 위해 각 클라우드 서비스에 대하여 Ct 값을 계산하였다. 공공 클라우드 서비스를 이용한 NGS 데이터 분석에 대해서도 알아보았다. 최근 클라우드를 기반으로 NGS 분석 서비스를 제공하는 비즈니스 모델이 성장하고 있으며 클라우드를 이용해 쉽게 NGS 데이터를 분석할 수 있도록 하는 많은 도구들이 개발되고 있다. 이에 실제로 클라우드 컴퓨팅을 이용한 NGS 데이터 분석의 효용성을 알아보기 위해 클라우드 컴퓨팅을 이용한 NGS 데이터 분석 성능을 비교하여 보았다. 로컬 서버와 AWS EC2 서비스를 비교하였을 때, 로컬 서버가 더 나은 성능을 보여주었지만 그 차이가 크지 않음을 알 수 있었다. 또한 클라우드에서의 NGS 데이터 분석은 합리적인 성능을 보여주었고 당장에 클러스터 시스템을 도입할 수 없는 연구자에게 좋은 대안일 될 수 있을 것이다. (1) Ct = T C (2) Ct = Ca Cl 이때 T는 실행시간, Ca는 벤치마크 시스템의 CPU 코어수, Cl은 로컬 서버(Intel R CPU X5670 2.93GHz) 의 CPU 코어수이다. 계산식 (2)에 따라 C 값은 로컬 서버에 대한 클라우드 시스템의 상대적인 CPU 코어수를 나타낸다. 계산식 (1)에 따라 Ct 값은 클라우드 시스템의 로컬 서버에 대한 상대적인 속도를 나타내는데, 높은 값일수록 로컬 서버에 비해 더 느림을 나타낸다. 계산식 (1)에 따른 AWS EC2의 Ct값은 164.4% 였다. 결국 로컬 서버의 한 개 CPU 코어의 성능이 AWS EC2 (m2.4xlarge)의 한 개 CPU 코어 보다도 나은 성능을 갖고 있다고 추정할 수 있다. 실제로 AWS EC2 (m2.4xlarge)는 Intel R CPU X5550 2.67GHz를 사용하는 반면에 로컬 서버는 Intel R CPU X5670 2.93GHz를 사용하고 있다. 참고문헌 1. Baker M. 2010. Next-generation sequencing: adjusting to data overload. Nature Methods 7:495-499. 2. Fusaro VA. et al. 2011. Biomedical cloud computing with Amazon Web Services. PLoS Comput Biol 7:e1002147. 3. http://www.technologyreview.com/news/425623/the-cloudimperative/ 4. Peter Mell TG. 2011. The NIST Definition of Cloud Computing. 5. Li H, Durbin R. 2009. Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics. 2009 Jul 15;25(14):1754-60. 6. McKenna A. et al. 2010. The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. 7. Abecasis GR et al. 2010. A map of human genome variation from population-scale sequencing Nature 467:1061-1073. 맺는 말 이 글에서 우리는 클라우드 컴퓨팅에 대해 알아보았고 클라우드 컴퓨팅을 이용한 상용 NGS 데이터 분석 서비스와 506 www.cdc.go.kr