DOI QR코드

DOI QR Code

Implementation of Parallel Local Alignment Method for DNA Sequence using Apache Spark

Apache Spark을 이용한 병렬 DNA 시퀀스 지역 정렬 기법 구현

  • 김보성 ((주)이글루시큐리티) ;
  • 김진수 (한국교통대학교 컴퓨터공학과) ;
  • 최도진 (충북대학교 정보통신공학과) ;
  • 김상수 (한국산업인력관리공단) ;
  • 송석일 (한국교통대학교 컴퓨터공학과)
  • Received : 2016.09.26
  • Accepted : 2016.10.11
  • Published : 2016.10.28

Abstract

The Smith-Watrman (SW) algorithm is a local alignment algorithm which is one of important operations in DNA sequence analysis. The SW algorithm finds the optimal local alignment with respect to the scoring system being used, but it has a problem to demand long execution time. To solve the problem of SW, some methods to perform SW in distributed and parallel manner have been proposed. The ADAM which is a distributed and parallel processing framework for DNA sequence has parallel SW. However, the parallel SW of the ADAM does not consider that the SW is a dynamic programming method, so the parallel SW of the ADAM has the limit of its performance. In this paper, we propose a method to enhance the parallel SW of ADAM. The proposed parallel SW (PSW) is performed in two phases. In the first phase, the PSW splits a DNA sequence into the number of partitions and assigns them to multiple nodes. Then, the original Smith-Waterman algorithm is performed in parallel at each node. In the second phase, the PSW estimates the portion of data sequence that should be recalculated, and the recalculation is performed on the portions in parallel at each node. In the experiment, we compare the proposed PSW to the parallel SW of the ADAM to show the superiority of the PSW.

Smith-Waterman(SW) 알고리즘은 DNA 시퀀스 분석에서 중요한 연산 중 하나인 지역 정렬을 처리하는 알고리즘이다. SW 알고리즘은 동적 프로그래밍 방법으로 최적의 결과를 도출할 수 있지만 수행시간이 매우 길다는 문제가 있다. 이를 해결하기 위해서 다수의 노드를 이용한 병렬 분산 처리 기반의 SW 알고리즘이 제안되었다. Apache Spark을 기반으로 하는 병렬 분산 DNA 처리 프레임워크인 ADAM에서도 SW 알고리즘을 병렬로 처리하고 있다. 하지만, ADAM의 SW 알고리즘은 Smith-Waterman 이 동적프로그래밍 기법이라는 특성을 고려하지 않고 있어 최대의 성능을 얻지 못하고 있다. 이 논문에서는 ADAM의 병렬 SW 알고리즘을 개선한다. 제안하는 병렬 SW 기법은 두 단계에 걸쳐 실행된다. 첫 번째 단계에서는 지역정렬 대상인 DNA 시퀀스를 다수의 파티션(partition)으로 분할하고 분할된 각 파티션에 대해서 SW 알고리즘을 병렬로 수행한다. 두 번째 단계에서는 파티션 각각에 대해서 독립적으로 SW를 적용함으로써 발생하는 오류를 보완하는 과정을 역시 병렬로 수행한다. 제안하는 병렬 SW 알고리즘은 ADAM을 기반으로 구현하고 기존 ADAM의 SW와 비교를 통해서 성능을 입증한다. 성능 평가 결과 제안하는 병렬 SW 알고리즘이 기존의 SW에 비해서 2배 이상의 좋은 성능을 내는 것을 확인하였다.

Keywords

References

  1. 복경수, 유재수, "빅데이터 활성화 정책 및 응용 사례," 정보과학회지, 제32권, 제11호, pp.46-57, 2014.
  2. M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica, "Spark: Cluster Computing with Working Sets," Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, Vol.10, pp.10-10, 2010.
  3. M. Massie, F. Nothaft, C. Hartl, C. Kozanitis, A. Schumacher, A. D. Joseph, and D. A. Patterson, "Adam: Genomics Formats and Processing Patterns for Cloud Scale Computing," University of California, Berkeley Technical Report, No. UCB/EECS-2013, 2013.
  4. Parquet, http://www.parquet.io.
  5. Avro, http://avro.apache.org.
  6. T. F. Smith and M. S. Waterman, "Identification of Common Molecular Subsequences," Journal of Molecular Biology, Vol.147, No.1, pp.195-197, 1981. https://doi.org/10.1016/0022-2836(81)90087-5
  7. https://en.wikipedia.org/wiki/Smith-Waterman _algorithm
  8. S. F. Altschul, W. Gish, W. Miller, E. W. Myers, and D. J. Lipman, "Basic Local Alignment Search Tool," Journal of Molecular Biology, Vol.215, No.3, pp.403-410, 1990. https://doi.org/10.1016/S0022-2836(05)80360-2
  9. G. Zhao, C. Ling, and D. Sun, "SparkSW: Scalable Distributed Computing System for Large-scale Biological Sequence Alignment," In 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp.845-852, 2015.
  10. D. R. Mathog, "Parallel BLAST on Split Databases," Bioinformatics Application Node, Vol.19, No.14, pp.1865-1866, 2003. https://doi.org/10.1093/bioinformatics/btg250
  11. 김동욱, 최한석 "그리드 컴퓨팅을 이용한 BLAST 성능개선 및 유전체 서열분석 시스템 구현," 한국콘텐츠학회논문지, 제10권, 제7호, pp.81-87, 2010. https://doi.org/10.5392/JKCA.2010.10.7.081
  12. A. Julich, "Implementations BLAST for Parallel Computers," CABIOS, Vol.11, No.14, pp.3-6, 1995.
  13. V. Breton, E. Caron, F. Desprez, and G. L. Mahec, "BLAST Application with Data-Aware Desktop Grid Middleware," In Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, pp.284-291, 2009.