BLAST란? — 서열 상동성 검색으로 유전자·단백질의 정체 찾기

BIO GLOSSARY · BIOINFORMATICS 101

BLAST란? — 서열 상동성 검색으로 유전자·단백질의 정체 찾기

TL;DR
BLAST (Basic Local Alignment Search Tool)는 정체를 모르는 DNA·단백질 서열⁠(query)을 거대한 서열 데이터베이스와 견주어, 닮은⁠(상동, homologous) 서열을 빠르게 찾아 주는 검색 도구입니다. 새로 읽은 유전자가 무엇인지, 어떤 단백질을 만드는지 짐작하는 첫걸음이 대개 여기서 시작되죠. 작동은 세 박자입니다. ① 짧은 조각⁠(word·k-mer)을 씨앗 삼아 데이터베이스에서 일치 지점을 먼저 찾고⁠(seeding), ② 그 씨앗을 양옆으로 늘려⁠(extension) 점수가 높은 국소 정렬 구간인 HSP (High-scoring Segment Pair)를 만든 뒤, ③ 치환행렬⁠(BLOSUM62 등)로 점수를 매기고 통계값⁠(E-value·bit score)을 붙입니다. 전체를 다 맞춰 보는 대신 지름길을 쓰는 휴리스틱⁠(heuristic)이라 빠르지만 최적을 보장하진 않고, 여기서 Smith-Waterman (지역 최적)·Needleman-Wunsch (전역 최적)와 갈립니다. 질의·DB의 종류에 따라 blastn·blastp·blastx·tblastn을 골라 쓰며, 결과는 E-value가 낮을수록, 그리고 % identity와 질의 커버리지⁠(query coverage)가 높을수록 믿을 만한 히트입니다. 도메인처럼 서열의 일부만 닮는 경우가 흔해, 전체가 아닌 국소⁠(local) 정렬을 쓰는 것이 BLAST의 핵심입니다.
🔗 관련 글 · 서열을 맞추고, 나무로 잇기
서열 정렬 — 리드를 유전체에  ·  계통수·분자진화

1. 한 줄 정의 — 서열로 던지는 '이거 뭐예요?'

BLAST (Basic Local Alignment Search Tool)는 한마디로 서열판 검색 엔진입니다. 실험으로 막 얻은, 정체를 알 수 없는 서열 하나를 들고 "이것과 닮은 게 데이터베이스 어딘가에 있나요?"라고 물으면, 수천만 개 서열을 훑어 가장 비슷한 후보들을 유사도 순으로 돌려줍니다. 그 후보의 정체가 이미 밝혀져 있다면, 내 서열의 정체와 기능도 거기서부터 추정할 수 있죠.

핵심 전제는 진화입니다. 두 서열이 우연이라 보기 어려울 만큼 닮았다면 대개 공통조상에서 갈라진 상동⁠(homology) 관계이고, 그렇다면 기능도 이어졌을 가능성이 큽니다. 그래서 BLAST 검색은 단순한 '문자열 찾기'가 아니라 서열의 닮음을 근거로 기능을 추론하는 작업이고, 유전자·단백질에 이름과 역할을 붙이는 기능 주석⁠(functional annotation)의 출발점이 됩니다.

2. 어원·역사 — 1990년, '빠른 검색'이라는 돌파구

1980년대 후반, 서열 데이터가 빠르게 쌓이면서 문제가 하나 생겼습니다. 두 서열의 최적 정렬을 엄밀히 계산하는 Smith-Waterman 알고리즘은 정확하지만 느려서, 커져 가는 데이터베이스를 통째로 뒤지기엔 버거웠습니다. 검색 한 번에 하루가 걸린다면 실용성이 없으니까요.

그 벽을 넘은 것이 1990년 스티븐 알철⁠(Stephen Altschul)과 동료들이 발표한 BLAST입니다 (Altschul et al., 1990). 발상은 이렇습니다. 정확도를 조금 양보하는 대신, 애초에 닮았을 리 없는 구간은 계산조차 하지 않고 건너뛰는 지름길⁠(휴리스틱, heuristic)을 쓴 것이죠. 그렇게 속도를 수십 배 끌어올렸고, 이 논문은 생물학에서 가장 많이 인용된 축에 들 만큼 분야의 표준이 되었습니다.

1997년에는 빈칸⁠(gap)을 허용하는 gapped BLAST와, 먼 상동까지 찾는 반복 검색 PSI-BLAST가 더해졌습니다 (Altschul et al., 1997). 2009년에는 재작성된 BLAST+ 도구 모음이 나와 지금까지 쓰이고 있고 (Camacho et al., 2009), NCBI의 웹 서버는 누구나 브라우저에서 검색할 수 있게 열려 있습니다.

3. 개념 풀이 — '전역'이 아니라 '국소'로 맞추는 이유

BLAST를 이해하는 열쇠는 국소 정렬⁠(local alignment)이라는 선택입니다. 정렬에는 크게 두 방식이 있습니다. 서열을 처음부터 끝까지 통째로 맞추는 전역 정렬⁠(global alignment)과, 가장 잘 맞는 일부 구간만 떼어 맞추는 국소 정렬입니다.

생물학적 서열은 전체가 고르게 닮는 경우가 오히려 드뭅니다. 단백질은 기능을 담당하는 도메인⁠(domain) 단위로 진화해서, 서로 다른 단백질이라도 특정 도메인 하나만 강하게 닮는 일이 흔하죠. 유전자도 보존된 조각과 변이가 심한 조각이 뒤섞여 있습니다. 이럴 때 전체를 맞추려 들면 닮은 알맹이가 닮지 않은 부분에 묻혀 신호가 흐려집니다. 국소 정렬은 반대로, 닮은 구간만 콕 집어 그 부분의 유사성을 또렷하게 드러냅니다. BLAST가 도메인·모티프 수준의 부분 상동을 잘 잡아내는 힘이 여기서 나옵니다.

한 가지 짚어 둘 것은, BLAST의 국소 정렬은 Smith-Waterman처럼 국소 최적을 보장하지는 않는다는 점입니다. 빠르게 훑느라 진짜 최적을 놓칠 수 있지만, 실전에서는 그 손해가 크지 않고 속도 이득이 압도적이라 널리 쓰입니다.

4. 작동 원리 — 씨앗을 심고, 늘리고, 점수 매기기

미지의 서열 하나가 히트 목록으로 바뀌기까지, BLAST는 크게 네 단계를 거칩니다.

① 워드 시딩⁠(word seeding). 질의 서열을 짧은 조각⁠(word 또는 k-mer)으로 잘게 쪼갭니다. 조각 길이는 blastn (핵산)이 기본 11, blastp (단백질)가 3입니다. 그런 다음 데이터베이스에서 이 조각과 일치⁠(단백질은 비슷한 점수 이상)하는 지점을 씨앗⁠(seed)으로 표시합니다. 전체를 정렬하는 대신, 씨앗이 심긴 유망한 자리에서만 계산을 시작하는 것이 속도의 비결입니다.

② 시드 확장⁠(extension). 각 씨앗을 기점으로 양옆으로 정렬을 늘려 가며 점수를 쌓습니다. 점수가 오르면 계속 늘리고, 일정 이상 떨어지면 멈추죠. 이렇게 얻은, 점수가 높은 국소 정렬 구간을 HSP (High-scoring Segment Pair)라고 부릅니다. 히트 하나가 여러 HSP로 이루어지기도 합니다.

③ 점수화⁠(scoring). 정렬의 좋고 나쁨은 치환행렬⁠(substitution matrix)로 매깁니다. 단백질에서는 BLOSUM62가 기본값으로, 아미노산이 서로 바뀔 때 진화적으로 얼마나 그럴듯한지를 점수표로 담고 있습니다. 화학적으로 비슷한 아미노산끼리의 치환에는 후한 점수를, 드문 치환에는 벌점을 주죠. PAM 계열도 비슷한 목적의 다른 행렬입니다. 빈칸⁠(gap)에는 별도의 벌점이 붙습니다.

④ 통계⁠(statistics). 마지막으로 각 HSP에 통계값을 붙여 '이 정도 닮음이 우연일 확률'을 가늠합니다. 대표가 E-value와 bit score인데, 이건 결과 해석에서 자세히 봅니다. 요컨대 BLAST는 씨앗을 심고⁠(seed), 늘리고⁠(extend), 점수와 통계를 매기는⁠(score) 흐름으로, 다 맞춰 보지 않고도 닮은 서열을 골라냅니다.

5. 결과 해석 — E-value·bit score·identity·coverage

BLAST 결과에서 히트가 진짜 상동인지 판단할 때 보는 지표는 넷입니다. 이 값들을 함께 읽어야 오해가 없습니다.

  • E-value (expect value, 기댓값). 가장 중요한 값입니다. 지금 크기의 데이터베이스에서, 순전히 우연으로 이만한 점수의 정렬이 나올 것으로 기대되는 횟수를 뜻합니다. 그래서 낮을수록 우연이 아닐, 곧 유의미한 상동일 가능성이 큽니다. E-value가 0에 가까울수록 강한 히트이고, 반대로 1이나 그 이상이면 우연히도 그만한 정렬이 여럿 나온다는 뜻이라 신뢰하기 어렵습니다. 흔히 E < 1e-5 정도를 유의 기준의 출발선으로 삼습니다.
  • bit score. 정렬의 품질을 데이터베이스 크기와 무관하게 나타낸 표준 점수입니다. 높을수록 정렬이 좋고, E-value와 달리 DB가 커져도 값이 흔들리지 않아 서로 다른 검색끼리 비교하기 좋습니다.
  • % identity (일치도). 정렬된 구간에서 문자가 똑같이 맞은 비율입니다. 다만 짧은 구간이 100% 맞아도 우연일 수 있으니, 반드시 E-value·커버리지와 같이 봐야 합니다.
  • query coverage (질의 커버리지). 내 질의 서열 가운데 몇 %가 이 정렬에 참여했는지입니다. identity가 높아도 커버리지가 낮으면 서열의 극히 일부만 닮았다는 뜻이라, 전체를 대표한다고 보기 어렵습니다.

정리하면, 믿을 만한 히트는 대체로 E-value가 아주 낮고, bit score가 높으며, identity와 coverage가 함께 받쳐 주는 경우입니다.

6. 프로그램 종류 — 언제 무엇을 쓰나

BLAST는 하나의 프로그램이 아니라 계열입니다. 질의가 핵산인지 단백질인지, 뒤질 데이터베이스가 핵산인지 단백질인지에 따라 골라 씁니다. 핵심은 단백질 수준에서 비교할수록 먼 상동까지 민감하게 잡는다는 점입니다. 코돈의 중복성 덕에, 염기가 달라도 같은 아미노산을 만드는 경우가 많거든요.

프로그램질의⁠(query)데이터베이스비교 수준대표 용도
blastn핵산핵산염기 서열유전자·프라이머·종 판별
blastp단백질단백질아미노산 서열단백질 정체·도메인·상동
blastx핵산⁠(6프레임 번역)단백질아미노산 서열미지 DNA·전사체의 기능 추정
tblastn단백질핵산⁠(6프레임 번역)아미노산 서열미주석 유전체에서 유전자 탐색

blastx는 정체 모를 DNA 조각을 여섯 방향으로 번역해 단백질 DB와 견주므로, 새로 조립한 전사체가 어떤 단백질을 만드는지 가늠할 때 유용합니다. 반대로 tblastn은 아는 단백질을 들고, 아직 유전자 주석이 안 된 유전체를 번역해 뒤지는 방식이라 새 유전자 찾기에 씁니다. 두 서열을 모두 번역해 맞추는 tblastx도 있지만 계산이 무거워 덜 씁니다.

7. 현장 활용 — 정체 확인부터 유전자 발굴까지

BLAST는 실험실에서 거의 매일 돌아가는 도구입니다. 대표 쓰임 셋을 보겠습니다.

미지 서열의 정체 확인. 클로닝한 DNA, 정제한 단백질, 혹은 환경 시료에서 읽은 조각의 정체를 확인하는 가장 빠른 방법이 BLAST입니다. 예컨대 배양한 균의 16S rRNA를 blastn으로 검색하면 가장 가까운 종이 무엇인지 곧바로 드러나죠. 서열 데이터는 보통 NGS로 얻고, 유전체에 서열 정렬로 리드를 맞춘 뒤 조립한 결과를 BLAST에 던지는 흐름이 흔합니다.

기능 주석과 유전자 발굴. 새로 조립한 유전체나 전사체에는 정체 모를 서열이 가득합니다. 이때 blastx·tblastn으로 이미 기능이 밝혀진 서열과 견주어, 각 유전자에 잠정적인 이름과 역할을 붙입니다. 어떤 유전자가 무엇인지 짐작하는 이 작업이 곧 대량 기능 주석이고, 뒤이어 변이 호출이나 발현 분석으로 이어집니다.

상동 단백질·도메인 탐색. 관심 단백질과 닮은 친척을 여러 종에서 찾아, 보존된 도메인이나 활성 부위를 짚어 낼 수 있습니다. 이렇게 모은 상동 서열은 계통수를 그리거나 구조를 예측하는 다음 분석의 재료가 됩니다. 이 모든 흐름의 밑바탕에는 서열에서 단백질로 이어지는 중심원리가 놓여 있죠. 대표 도구로는 NCBI 웹 BLAST가 접근이 편하고, 명령줄에서는 BLAST+ 패키지, 훨씬 큰 데이터에는 더 빠른 DIAMOND·MMseqs2가 널리 쓰입니다.

8. 핵심 정리 & 다음 학습

  • ✅ BLAST (Basic Local Alignment Search Tool)는 미지 서열⁠(query)을 DB와 견줘 닮은⁠(상동) 서열을 찾는 검색 도구 — 유전자·단백질의 정체 추정과 기능 주석의 출발점.
  • ✅ 작동 4단계 = 워드 시딩 → 시드 확장 → HSP 점수화⁠(BLOSUM62) → 통계⁠(E-value). 다 맞춰 보지 않는 휴리스틱이라 빠르되 최적 보장은 아님.
  • ✅ 결과는 E-value가 낮을수록 유의 · bit score 높을수록 좋고 · % identity와 query coverage를 반드시 함께 본다.
  • ✅ 질의·DB 조합으로 blastn·blastp·blastx·tblastn을 선택 — 단백질 수준에서 볼수록 먼 상동에 민감.
  • ⚠️ 국소⁠(local) 정렬이라 서열의 일부만 닮아도 잡아낸다 — 도메인·모티프 상동을 놓치지 않는 강점.
🎓 다음 학습
(서열을 맞춘다) 서열 정렬이란? — 리드를 유전체에 맞추는 정렬의 기초⁠(BWA·MAPQ)
(닮음으로 가계도) 계통수·분자진화란? — BLAST로 모은 상동 서열로 진화의 나무 그리기
(데이터의 출발) NGS란? — BLAST에 넣을 서열을 얻는 차세대 시퀀싱
(큰 그림) 중심원리란? — 서열에서 단백질로, 상동성 검색이 놓인 토대

References

  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. doi:10.1016/S0022-2836(05)80360-2
  2. Altschul, S. F., Madden, T. L., Schäffer, A. A., Zhang, J., Zhang, Z., Miller, W., & Lipman, D. J. (1997). Gapped BLAST and PSI-BLAST: a new generation of protein database search programs. Nucleic Acids Research, 25(17), 3389–3402. doi:10.1093/nar/25.17.3389
  3. Camacho, C., Coulouris, G., Avagyan, V., Ma, N., Papadopoulos, J., Bealer, K., & Madden, T. L. (2009). BLAST+: architecture and applications. BMC Bioinformatics, 10, 421. doi:10.1186/1471-2105-10-421
  4. Henikoff, S., & Henikoff, J. G. (1992). Amino acid substitution matrices from protein blocks. PNAS, 89(22), 10915–10919. doi:10.1073/pnas.89.22.10915
  5. NCBI BLAST. National Center for Biotechnology Information. blast.ncbi.nlm.nih.gov

Pipette & Pipeline · A bio portfolio journal

이 글을 쓴 사람 Yumingming

생명융합공학과 박사과정.
Microbiome · Cosmetics · RNA Therapeutics · Bioinformatics를 공부하며,
실험(Wet Lab)과 데이터(Dry Lab)를 잇는 글을 논문(article) 기반으로 씁니다.

About · 더 알아보기 →

⚕️ 이 글은 학습·정보 제공 목적이며, 의학적 진단·치료·조언을 대체하지 않습니다. 건강·질병·치료에 관한 결정은 반드시 의사 등 전문가와 상의하세요. 자세한 내용은 면책조항을 참고해 주세요.