BLAST

BLAST

[ BLAST ]

생물정보학(bioinformatics)에서 사용되는 프로그램 이름이며, Basic Local Alignment Search Tool의 약자이다. BLAST 프로그램은 2개 이상의 핵산(nucleic acid) 서열이나 아미노산 서열이 서로 얼마나 비슷한지 비교하는 용도로 사용한다. 또한 뉴클레오타이드(nucleotide) 서열이나 아미노산 서열이 서열 데이터베이스 (sequence database)에 저장된 서열과 일치하는지 비교하고 통계적 유의성을 계산하는 용도로도 사용한다.

BLAST는 뉴클레오타이드 서열이나 아미노산 서열 간 유사성을 비교해주는 여러 프로그램 가운데 가장 널리 사용되는 프로그램이다. 데이터베이스 검색 속도가 매우 빠르기 때문이다. 특히 유전체학(genomics)의 발달로 인해 서열 데이터베이스 (sequence database)에 축적된 유전체(genome)의 수와 정보의 양이 폭발적으로 증가하고 있으므로 BLAST의 유용성은 날로 높아가고 있다.

목차

공개

미국 국립보건원(National Institute of Health-NIH)의 스테픈 알출 (Stephen Altschul), 워렌 키쉬 (Waren Gish), 웹 밀러 (Webb Miller), 유진 마이어스 (Eugene Meyers), 데이비드 립맨 (David Lipman)이 1990년에 분자생물학 저널 (Journal of Molecular Biology)이라는 학술지에 발표한 것이 BLAST 프로그램의 시초이다 (1).  이 논문은 1990년대 생명과학계에서 발표된 논문 중 최고 피인용도를 기록한 논문이라는 기록을 갖고 있기도 하다 (2017년 2월 현재 45,000번 이상 피인용 되었다).

BLAST 실행

BLAST는 두 가지 방법으로 실행 가능하다. 첫 번째 방법은 인터넷에서 BLAST 서버( )에 접속하여 실행하는 방법이다 (그림 1). BLAST 서버는 미국 국가생명공학정보센터(National Center of Biotechnology Information, NCBI)에서 관리하고 있다. BLAST 서버는 무료로 개방되어 있으므로 인터넷과 웹 브라우저만 있으면 누구나 접속하여 자신이 관심 있는 서열을 질의어(query)로 입력하고 결과물을 받아볼 수 있다.

그림 1. BLAST 웹사이트의 초기 화면. ()

두 번째는 개별 컴퓨터에 설치하여 사용하는 방법이다. UNIX, Linux, 맥, 또는 윈도우즈를 운영체계로 하는 컴퓨터에서 사용할 수 있도록 각 운영체계용 실행 파일이 공개되어 있다. 각 운영체계별로 실행 가능한 파일 역시 미국 국가생명공학정보센터(National Center of Biotechnology Information, NCBI)의 BLAST 웹사이트에서 다운로드 받을 수 있다.

BLAST 내 검색 프로그램

BLAST에는 사용자의 목적에 따라 다양한 검색 프로그램이 존재한다. BLAST 검색 프로그램은 크게 뉴클레오타이드 BLAST와 단백질(protein) BLAST로 나눌 수 있다. 검색하기 위해 입력하는 서열 (혹은 질의어라고도 한다)이 무엇이냐, 검색하는 데이터베이스에 들어있는 서열이 무엇이냐에 따라 다음의 검색 프로그램 중에서 골라서 사용하면 된다. 각 검색 프로그램 이름은 blast 단어 앞이나 뒤에 하나 또는 몇 개의 글자가 추가되어 있다 (예, blastn, blastp, megablast 등). 이 단어는 검색의 목적에 따라 붙여졌기 때문에 검색프로그램의 이름을 보면 그 용도를 짐작할 수 있다. 예를 들어 뉴클레오타이드 검색을 위한 프로그램은 blastn이다. Blast에 뉴클레오타이드(nucleotide)의 n을 붙인 이름이다.

뉴클레오티드 BLAST megablast

BLAST 웹사이트에서 뉴클레오타이드 BLAST 프로그램을 실행하게 되면 기본 설정값으로 되어 있는 프로그램이다. Megablast의 용도는 질의어와 매우 유사한 뉴클레오타이드 서열을 찾는 것이며 표적 서열이 95% 이상 비슷할 때 가장 잘 작동한다. Megablast는 사용자가 여러 질의어를 동시에 입력했을 때에도 작동한다. 여기서 질의어란 검색을 위해서 사용자가 BLAST 서버로 보내는 뉴클레오타이드를 말한다. Megablast 프로그램이 여러 질의어를 하나로 연결하고 이를 이용하여 데이터베이스를 검색한다. 검색이 끝나면 megablast는 결과물을 분석하여 각 질의어에 해당되는 결과물로 나눠서 사용자에게 보여준다. 검색하고자 하는 유전자가 여러 개 있다면 유전자를 하나씩 검색하는 것보다 여러 유전자 서열을 한꺼번에 질의어로 입력하고 megablast를 실행하는 것이 훨씬 빠르다 (그림 2).

그림 2. megablast 실행 결과를 보여주는 화면 ()

Discontiguous megablast

Discontiguous megablast는 뉴클레오타이드 서열(nucleotide sequence)을 비교하면서 일치하는 않는 염기가 많이 존재해도 의미 있는 결과라고 보여준다. 비교적 유연관계가 먼 종에서 발견되는 서열(sequence)은 일치하지 않는 염기가 많이 존재하기 때문에 종간(cross-species) 서열 비교를 할 때 discontiguous megablast는 매우 유용하다. 같은 종 내에서 유사성이 떨어지는 서열을 찾거나 비교할 때도 매우 유용하다.

blastn

blastn은 DNA 염기서열을 질의어로 하고 이 질의어와 가장 비슷한 DNA 서열을 DNA 데이터베이스로부터 찾고자 할 때 사용한다. blastn의 맨 마지막에 있는 n은 뉴클레오타이드(nucleotide)에서 따온 n이다.

단백질 (protein) BLAST blastp

BLAST 웹사이트에서 단백질 (protein) BLAST 프로그램을 실행했을 때 기본 설정 프로그램으로 되어 있는 것이 blastp 프로그램이다. 이 프로그램은 단백질 서열을 질의어로 하고 이 질의어와 가장 비슷한 단백질 서열을 단백질 데이터베이스로부터 찾고자 할 때 사용한다. blastp의 맨 마지막에 있는 p는 단백질(protein)에서 따온 p이다.

PSI-BLAST (Position-Specific Iterated BLAST)

이 프로그램은 blastp 프로그램을 실행하여 얻어진 결과를 사용하여 사용자에게 PSSM (position-specific scoring matrix; 위치 특이적인 측정 행렬)를 구축하는 것을 허용한다.

PHI-BLAST

이 프로그램은 질의어 내에 있는 패턴과 일치하는 배열에 국한되는 검색을 수행한다.

DELTA-BLAST

이 프로그램은 보존된 도메인 데이터베이스 (Conserved Domain Database)의 결과를 이용하여 PSSM (position-specific scoring matrix; 위치 특이적인 측정 행렬)을 구축하고, 서열 데이터베이스(sequence database)를 검색한다.

그 외 blastx

이 프로그램은 DNA 서열을 질의어로 하고 이 서열을 단백질로 번역(translation)했을 때 가장 비슷한 단백질 서열을 찾고자 할 때 사용한다. 사용자는 DNA 염기 서열을 질의어로 입력하지만, BLAST가 질의어를 자동으로 아미노산 서열로 변환하여 검색에 사용한다. 변환할 때 질의어 DNA 서열의 양쪽 가닥을 6개 읽기 틀 (reading frame) [가닥마다 3개의 읽기 틀 (reading frame)]을 이용하여 번역(translation)한다. 종합하자면 사용자가 입력한 DNA 염기 서열을 자동으로 번역한 단백질을 질의어로 사용하고 blastx 검색의 결과물은 단백질 대 단백질 서열 비교로 나온다.

tblastx

이 프로그램은 blastx와 tblastn이 합쳐진 형태라고 볼 수 있다. 사용자는 DNA 염기 서열을 질의어로 입력하지만 입력한 DNA 서열의 양쪽 가닥을 BLAST가 6개의 읽기 틀 (reading frame)로 자동으로 번역(translation)하여 [각 가닥마다 3개의 읽기 틀 (reading frame)을 사용한다] 얻어진 아미노산 서열을 검색에 이용한다. 여기까지는 blastx와 같다.

blastx와 다른 점은 데이터베이스의 비교 대상이 뉴클레오타이드 서열 데이터베이스(nucleotide sequence database)라는 점이다. & nbsp; 뉴클레오타이드 서열데이터베이스(nucleotide sequence database)에 들어있는 모든 뉴클레오타이드 서열도 6개의 읽기 틀 (reading frame)로 자동으로 번역(translation)하여 [각 가닥마다 3개의 읽기 틀 (reading frame)을 사용한다] 얻어진 가상의 아미노산 서열을 비교대상으로 삼는다.

사용자가 입력한 DNA 서열도 가상으로 번역(translation)한 서열을 질의어로 사용하고, 뉴클레오타이드 서열 (nucleotide sequence) 데이터베이스에 들어있는 모든 서열을 가상으로 번역한 단백질 서열을 비교 대상으로 사용하기 때문에 tblastx의 구동 속도는 BLAST 프로그램 가운데 가장 느리다. tblastx는 진화적으로 유연관계가 먼 뉴클레오타이드 서열 (nucleotide sequence)을 찾는 목적으로 사용한다.

tblastn

이 프로그램은 단백질 서열을 질의어로 하고 뉴클레오타이드 서열 데이터베이스(nucleotide sequence database)로부터 이 질의어와 가장 유사한 단백질을 암호화할 수 있는 뉴클레오타이드 서열(nucleotide sequence)을 찾는다. 검색의 결과물은 단백질 대 단백질 서열 비교로 나오지만, 뉴클레오타이드 서열 데이터베이스(nucleotide sequence database)에 있는 뉴클레오타이드로부터 자동으로 번역(translation)하여 얻어진 가상의 단백질 서열과 비교하는 점이 blastx와 다르다.

각 프로그램의 기능 요약표 뉴클레오티드 BLAST
검색 프로그램 megablast
질의어 (query) 뉴클레오티드
비교대상 서열 데이타베이스 뉴클레오티드
결과의 형태 뉴클레오티드 대 뉴클레오티드
용도 종내 (intra-species) 비교하는 용도
검색 프로그램 Discontiguous megablast
질의어 (query) 뉴클레오티드
비교대상 서열 데이타베이스 뉴클레오티드
결과의 형태 뉴클레오티드 대 뉴클레오티드
용도 종간 (cross-species) 비교, 코딩 서열 (coding sequence)를 검색하는 용도
검색 프로그램 blastn
질의어 (query) 뉴클레오티드
비교대상 서열 데이타베이스 뉴클레오티드
결과의 형태 뉴클레오티드 대 뉴클레오티드
용도 비교적 짧은 서열의 검색, 종간 (cross-species) 비교하는 용도

단백질 BLAST
검색 프로그램 Blastp
질의어 (query) 단백질
비교대상 서열 데이타베이스 단백질
결과의 형태 단백질 대 단백질
용도 일반적 용도의 서열 동정 및 유사성 검색하는 용도
검색 프로그램 DELTA-BLAST
질의어 (query) 단백질
비교대상 서열 데이타베이스 단백질
결과의 형태 단백질 대 단백질
용도 단백질 유사성 검색하는 용도 (blastp보다 민감도 높음)
검색 프로그램 PSI-BLAST
질의어 (query) 단백질
비교대상 서열 데이타베이스 단백질
결과의 형태 단백질 대 단백질
용도 위치특이적인 측정 행렬 (PSSM) 구축을 위한 반복적인 검색 혹은 단백질 집단 (protein family)의 유연관계가 먼 친척을 동정하는 용도
검색 프로그램 PHI-BLAST
질의어 (query) 단백질
비교대상 서열 데이타베이스 단백질
결과의 형태 단백질 대 단백질
용도 입력 패턴을 앵커/제약조건 (anchor/constraint)로 사용한 단백질 서열 정렬하는 용도

그외
검색 프로그램 blastx
질의어 (query) 사용자는 뉴클레오티드를 질의어로 입력하지만, BLAST가 자동으로 단백질로 번역 (translation)하여 질의어로 사용
비교대상 서열 데이타베이스 단백질
결과의 형태 단백질 대 단백질
용도 질의어로 사용한 뉴클레오티드에 암호화되어 있는 잠재적 단백질 산물을 동정하는 용도
검색 프로그램 tblastn
질의어 (query) 단백질
비교대상 서열 데이타베이스 뉴클레오티드. BLAST가 자동으로 단백질로 번역(translation)하여 검색에 사용
결과의 형태 단백질 대 단백질
용도 질의어와 유사한 단백질을 암호화하는 서열을 찾는 용도
검색 프로그램 tblastx
질의어 (query) 사용자는 뉴클레오티드를 질의어로 입력하지만, BLAST가 자동으로 단백질로 번역 (translation)하여 질의어로 사용
비교대상 서열 데이타베이스 뉴클레오티드. BLAST가 자동으로 단백질로 번역(translation)하여 검색에 사용
결과의 형태 단백질 대 단백질
용도 코딩 가능성에 근거하여 질의어와 유사한 뉴클레오티드 서열을 찾는 용도

질의어의 형식- FASTA 형식

검색하고자 하는 서열을 BLAST가 질의어로 인식하기위해 특정한 형식으로 입력해줘야 한다. BLAST가 인식 가능한 형식 중 가장 널리 사용되는 것은 FASTA 형식 (FASTA format)이다.

FASTA 형식의 규약

FASTA 형식 (FASTA format)은 다음의 규약을 따른다.

1. 각 줄에 있는 서열은 120글자를 넘지 말아야한다 (보통 80글자를 넘지 않는다)

2. 첫 줄은 > 혹은 ; 표시로 시작한다. 이 표시로 시작하는 줄은 DNA 염기 서열 또는 아미노산 서열로 인식되지 않는다.

3. 첫 줄에 >가 나오고 그 뒤에 단어 혹은 문장이 있으면 FASTA가 이를 설명(comment)이라고 인식한다. 따라서 서열에 대한 정보 (예, 유전자 이름)는 첫 줄에 있는 > 다음에 넣는 것이 관례가 되었다. ; 뒤에 나오는 내용은 FATSA가 무시한다.

4. 실제 서열은 아무런 표시없이 시작한다.    

FASTA 형식의 예

FASTA 형식의 예는 다음과 같다

>FLOWERING LOCUS T from Arabidopsis ; a florigenic substance identified from Arabidopsis

ATGTCTATAA ATATAAGAGA CCCTCTTATA GTAAGCAGAG TTGTTGGAGA

CGTTCTTGAT CCGTTTAATA GATCAATCAC TCTAAAGGTT ACTTATGGCC

AAAGAGAGGT GACTAATGGC TTGGATCTAA GGCCTTCTCA GGTTCAAAAC    

FASTA 형식의 개발 배경

BLAST가 개발되기 이전에 핵산 서열이나 아미노산 서열을 비교하기 위해서 사용되었던 방법들은 검색에 소요되는 시간이 매우 길었다. 그 대표적인 예가 스미스-워터맨 알고리듬 (Smith-Waterman algorithm)이었다. 이 단점을 극복하기 위해 FASTA 프로그램이 개발되었다. FASTA는 데이비드 립맨 (David Lipman)과 윌리엄 피어슨 (William Pearson)에 의해 1985년 개발되었다 (2). 데이비드 립맨 (David Lipman)은 FASTA를 발표하고 나서 5년 후 BLAST를 개발하는데 참여하기도 했다.

개발 초기에 DNA 염기서열의 비교를 위해 FASTA 프로그램이 많이 사용되었으나, 이제는 그 자리를 BLAST에 뺏겼다. FASTA 프로그램은 유전체와 같은 긴 서열을 비교하는데 적합하지 않기 때문이다. 만약 FASTA 프로그램을 유전체 서열을 비교하는데 사용한다면 데이타베이스 검색 시간이 매우 오래 걸릴 것이다.

FASTA 프로그램은 이제 사양길에 접어든 프로그램이지만 FASTA가 생물정보학에 남긴 업적은 위대하다. BLAST를 포함해서 많은 생물정보학 프로그램이 FASTA 형식을 질의어 입력 형식으로 여전히 사용하고 있다. 

참고문헌

  1. Altschul, S. F., Gish, W., Miller, W., Myers, E. W., & Lipman, D. J. (1990). Basic local alignment search tool. Journal of Molecular Biology, 215(3), 403–410.
  2. Lipman, DJ & Pearson, WR (1985). 'Rapid and sensitive protein similarity searches'. Science. 227 (4693): 1435–41. doi: 10.1126/science.2983426  PMID 2983426