http://www.ncbi.nlm.nih.gov/BLAST/
한글 tutorial : http://www.ensoltek.co.kr/Support/tutorial/BLASTinformation.php
참고자료 : http://bioinformatics.utmem.edu/blast/blast.html
NCBI에서 개발된 BioSequence유사성 검색 프로그램, PairwiseAlignment에서의 HeuristicAlgorithm이다.
Algorithm
BLAST는 FASTA와 마찬가지로 "Word Based Method"를 이용한다. 하지만 FASTA와는 달리 별도의 pre-formatted 검색 데이터베이스를 필요로 한다. 실제 유사성 검색방법은 다음과 같다.
- 우선 검색할 query 서열로 부터 3개의 단백질 혹은 11개의 염기로 이루어진 단어들과 T 이상의 점수를 가지는 조합을 만든다. 만들어진 조합들을 각각 서열 데이터베이스의 서열들과 비교한다.
- 만약 각각의 단어 조합들과 같은 서열이 서열 database에서 발견이 되면 BLAST는 옆단어들로 유사성 검색을 확장시켜 나간다. 이때 gap은 허용하지 않는다.
- 확장을 마친후 database 서열중 일정 값 이상의 HSP (High-scoring Segment Pairs) 를 가진 서열들을 추출하고 이때 중복되지 않는 각각의 HSP 들은 통계적인 test를 거쳐 연결한다.
- BLAST는 quary 서열과 gap 없이 일정 값 이상의 HSP를 기록하지 못하는 서열들을 미리 제거한다. 그래서 FASTA에 비해 훨씬 비교속도가 빠르다. 하지만 두 서열이 특정 부분이 높은 일치성을 가지고 있지는 않지만 대부분의 서열에서 유사성을 가지고 있는 경우에 BLAST는 검색을 해 낼 수 가 없다.
- Short repeat sequence 나 특정한 residue들이 많이 존재하는 서열들을 query 서열로 이용하였을 경우 많은 중요하지 않은 서열들이 결과로 나오게 된다. 이런 결과들을 피하기 위하여 BLAST는 filtering하는 기능을 기본적으로 가지고 있다. 결국 repeat sequence같은 것들은 검색하기 이전에 제거된다는 사실을 기억해야 한다. FASTA와 마찬가지로 BLAST도 단백질 서열을 위해 개발된 프로그램이다. 염기 서열의 검색이 가능하지만 sensitivity가 떨어지므로 염기 서열로 염기 데이터베이스를 검색해 진화적으로 떨어져 있는 서열을 찾고자 한다면 FASTA를 사용하는게 좋다.
BLAST program의 종류
- BLASTP : 단백질 서열간의 비교
- BLASTN : 염기 서열간의 비교
- BLASTX : 입력한 염기서열을 6개의 frame으로 변환 후 단백질 서열 database와 비교
- TBLASTN : 염기서열 database를 6 frame으로 변환 후 입력한 단백질 서열과 비교
- TBLASTX : 입력한 염기 서열과 염기서열 database를 모두 6 frame으로 변환후 비교
BLAST 의 결과 해석
기본적으로 결과의 형태는 FASTA의 결과 출력 형태와 유사하다. 결과는 HSP가 큰 순서대로 보여준다. 일반적으로 가장 큰 의미를 가지는 값은 P-value 와 High score이다. 의미가 있다고 생각되는 단백질 서열의 경우 P-value는 가능한 한 작아야 하고 High score는 커야 한다. DNA의 경우 의미있는 서열의 P-value가 0.0001 보다 작더라도 두 서열이 연관에 없을 가능성이 크다.
BLAST 2.0
기존의 BLAST에 gap을 도입하는 기능이 추가되었다. 일반적으로 BLAST 검색을 수행하면 결과가 끊어진 몇 개의 조각들로 출력이 되는데, BLAST 2.0에서는 gap을 도입하여 FASTA 와 같이 insertion 과 deletion을 도입하여 상동성이 있는 조각들을 연결하여 결과를 보여준다.
Special BLAST
Executable Program
Programming with BLAST
데이터베이스 동기화
rsync -avz ftp.ncbi.nih.gov::genomes/Bacteria/all.fna.tar.gz /data/ncbi/bacteria/ rsync -avz ftp.ncbi.nih.gov::genomes/Bacteria/all.gbk.tar.gz /data/ncbi/bacteria/ 혹은 rsync -avz --exclude=all* ftp.ncbi.nih.gov::genomes/Bacteria/* /data/ncbi/bacteria/ 그외에도 여러가지 응용이 가능합니다.
Etc
BLAST에서 e-value 의 의미
종종 Biologist로부터, e-value가 의미하는 바가 무엇이냐는 질문을 받는다. 복잡한 통계적 수식말고, 간단히 설명하면,
검색Database가 모두 random sequence라고 가정했을대, 쿼리서열이 매치되리라 기대되는 Database내의 서열의 갯수를 의미한다. 만약 BLAST의 E-value가 1e-12이면 0에 가까운 수이다. 따라서 쿼리서열이 우연히 조합되어 만들졌을 가능성이 매우 작다(검색 데이터베이스를 Random Data라고 가정했으므로). 즉, 랜덤서열중에 비슷한게 거의 없다는 의미이므로, 어떤 정보를 담고 있을 확률이 높다는 뜻이 된다(=유의하다). 참고
base position
결과 정보에 사용되는 base position 은 1부터 시작되는 포지션. 보통의 ProgrammingLanguage의 index가 0부터 시작된다는것 주의.
See also SequenceHomologySearch