DNA / RNA / 단백질 서열 도구

서열 정렬 비교 도구

두 개의 서열을 붙여넣으면 Needleman-Wunsch(전역 정렬)와 Smith-Waterman(지역 정렬) 알고리즘으로 최적 정렬을 계산해, 서로 얼마나 일치하는지와 정확히 어느 위치가 다른지 보여줍니다. DNA, RNA, 단백질 서열을 모두 지원합니다.

🔒 모든 계산은 이 브라우저 안에서만 실행됩니다 (정렬 계산은 Web Worker로 처리되어 입력 중에도 화면이 멈추지 않습니다). 입력한 서열은 서버로 전송되거나 저장되지 않습니다.
광고 영역 (Google AdSense 승인 후 삽입 예정)

서열 정렬이란?

서열 정렬(Sequence Alignment)은 두 개 이상의 DNA·RNA·단백질 서열을 나란히 배치해 어느 위치가 같고, 어느 위치가 다르며, 어디에 삽입/결실(갭)이 있는지 찾아내는 작업입니다. 서열의 길이가 다르면 한쪽에 갭(-)을 넣어 두 서열이 최대한 잘 겹치도록 맞춰야 하는데, 가능한 정렬의 경우의 수는 서열이 조금만 길어져도 기하급수적으로 늘어납니다. 이 도구는 동적 계획법(dynamic programming)을 이용해 주어진 채점 기준에서 수학적으로 최적인 정렬을 항상 찾아냅니다.

전역 정렬 vs 지역 정렬

  • 전역 정렬 (Global Alignment · Needleman-Wunsch): 두 서열 전체를 처음부터 끝까지 정렬합니다. 두 서열의 길이가 비슷하고 전체를 비교하고 싶을 때(예: 같은 유전자의 두 대립형질 비교, 재조합 플라스미드 시퀀싱 검증) 적합합니다.
  • 지역 정렬 (Local Alignment · Smith-Waterman): 두 서열에서 가장 유사한 부분 구간만 찾아 정렬합니다. 짧은 서열(프라이머, 도메인 등)이 훨씬 긴 서열 안 어딘가에 포함되어 있는지 확인하거나, 서열 앞뒤에 벡터·어댑터 등 관련 없는 부분이 섞여 있을 때 적합합니다.

왜 두 서열을 비교하나요?

두 서열을 정렬해 비교하는 작업은 분자생물학 실무에서 매우 자주 필요합니다.

  • 시퀀싱 결과 검증: Sanger 시퀀싱이나 클로닝 결과가 예상한 참조 서열과 정확히 일치하는지, 어느 위치에서 다른지 빠르게 확인합니다.
  • 변이·돌연변이 탐지: 야생형과 변이형 서열을 비교해 치환·삽입·결실이 정확히 어느 위치에서 일어났는지 찾습니다.
  • 프라이머/올리고 결합 부위 확인: 설계한 프라이머가 타깃 서열의 특정 구간과 얼마나 잘 맞는지 지역 정렬로 확인합니다.
  • 오솔로그·파랄로그 비교: 서로 다른 종이나 유전자 계열 간 단백질 서열의 보존된 영역과 차이를 살펴봅니다.

채점 방식 (Scoring)

정렬 알고리즘은 "어떤 정렬이 더 나은가"를 점수로 판단합니다. 이 도구는 갭이 하나 열릴 때와 이어질 때 서로 다른 비용을 매기는 어파인 갭 페널티(affine gap penalty)를 사용합니다 — 실제 생물학적으로 짧은 갭 여러 개보다 긴 갭 하나가 더 자연스러운 경우가 많기 때문입니다.

  • DNA/RNA: 직접 지정하는 일치 점수(Match)와 불일치 점수(Mismatch)를 사용합니다. 기본값은 일치 +1, 불일치 -1입니다.
  • 단백질: NCBI BLASTP 등에서 기본으로 쓰이는 BLOSUM62 치환 매트릭스를 사용합니다. 완전히 같은 아미노산이 아니어도 화학적 성질이 비슷한 치환(예: L↔I)에는 양수 점수를, 성질이 크게 다른 치환에는 음수 점수를 매깁니다. 정렬 결과의 : 기호가 이런 "유사하지만 동일하지 않은" 위치를 나타냅니다.
  • 갭 열기(Gap open) / 갭 연장(Gap extend): 새 갭을 여는 비용과, 그 갭을 한 칸씩 늘릴 때 추가되는 비용을 각각 지정할 수 있습니다. 기본값(10 / 0.5)은 EMBOSS 등 널리 쓰이는 정렬 도구의 관행을 따랐습니다.

일치율(Identity) 읽는 법

일치율은 정렬된 전체 위치 중 완전히 동일한 문자가 차지하는 비율입니다. 두 서열이 길이도 같고 갭도 없이 100% 일치하면 완전히 동일한 서열이라는 뜻이고, 그 외의 경우 일치율이 높을수록 두 서열이 유사하다는 뜻입니다. 지역 정렬에서는 일치율이 서열 전체가 아니라 찾아낸 유사 구간 안에서의 비율이라는 점에 주의하세요 — 정렬되지 않은 앞뒤 구간은 일치율 계산에 포함되지 않습니다.

사용 방법

  1. 서열 A와 서열 B 입력창에 비교할 서열을 각각 붙여넣습니다 (일반 서열 또는 >헤더가 있는 FASTA 모두 가능. 여러 서열이 포함된 경우 각 입력창의 첫 번째 서열만 사용됩니다).
  2. 서열 종류(자동 감지 / DNA / RNA / 단백질)와 정렬 방식(전역 / 지역)을 선택합니다.
  3. 필요하면 일치·불일치 점수나 갭 페널티를 조정합니다.
  4. 일치율, 정렬 결과, 차이 나는 위치를 확인하고 결과 리포트를 복사하거나 다운로드합니다.

자주 묻는 질문

서열 정렬(Sequence Alignment)이란 무엇인가요?

두 개 이상의 서열을 나란히 배치해 어느 위치가 같고 다른지 비교하는 방법입니다. 서열 길이가 다르면 갭(gap, -)을 삽입해 최적의 정렬을 찾습니다. 이 도구는 두 서열 간 최적 정렬을 찾는 Needleman-Wunsch(전역)와 Smith-Waterman(지역) 알고리즘을 사용합니다.

전역 정렬과 지역 정렬은 어떻게 다른가요?

전역 정렬(Global, Needleman-Wunsch)은 두 서열 전체를 처음부터 끝까지 정렬합니다. 지역 정렬(Local, Smith-Waterman)은 두 서열에서 가장 유사한 부분 구간만 찾아 정렬합니다. 서열 길이가 비슷하고 전체를 비교하고 싶다면 전역 정렬을, 짧은 서열이 긴 서열의 일부에 포함되는지 확인하고 싶다면 지역 정렬을 사용하세요.

일치율(Identity)과 유사율(Similarity)은 어떻게 다른가요?

일치율은 정렬된 위치 중 완전히 동일한 문자의 비율입니다. 유사율은 단백질 서열에만 적용되며, 완전히 동일하지는 않지만 BLOSUM62 매트릭스 상 양수 점수를 갖는(화학적 성질이 비슷한) 치환까지 포함한 비율입니다.

단백질 서열은 어떤 채점 방식을 사용하나요?

단백질 서열은 널리 쓰이는 BLOSUM62 치환 매트릭스로 채점합니다. DNA/RNA 서열은 직접 지정할 수 있는 일치·불일치 점수를 사용합니다.

서열 길이 제한이 있나요?

네. 브라우저에서 빠르게 계산할 수 있도록 서열당 최대 2,000자로 제한됩니다. 계산 자체는 브라우저 뒷단(Web Worker)에서 처리되어 입력 중에도 화면이 멈추지 않습니다.

입력한 서열이 서버로 전송되나요?

아니요. 모든 정렬 계산은 자바스크립트로 브라우저 내부에서만 이루어지며 서버로 전송되거나 저장되지 않습니다.