blast-visualizer — Interactive BLAST Viewer
NCBI BLAST URL API + 인터랙티브 정렬 지도(SVG) + 일치 목록 + 상세 정렬 + 외부 링크 10종 (Kablammo 대체, ko/en/ja)
도구 가이드
정의
blast-visualizer는 NCBI BLAST (Basic Local Alignment Search Tool) URL API (https://blast.ncbi.nlm.nih.gov/Blast.cgi)를 Next.js 15 Route Handler 4종 (submit / status / cancel / result)으로 프록시하여, NCBI 1990년대 UI 대신 모던한 인터랙티브 SVG 정렬 지도 + 일치 목록 + Pairwise Detail Drawer로 변환하는 무료 BLAST 결과 시각화 도구입니다. PROGRAM 5종 (blastn / blastp / blastx / tblastn / tblastx + megablast) × DATABASE 6종 (nt / nr / refseq_rna / swissprot / 16S_ribosomal_RNA / pdb) × ko/en/ja UI를 지원합니다. BlastOutput2 JSON2 응답을 Vercel Edge ISR 24h로 캐시하고, JSON2 ZIP archive는 BioPlayground 자체 PKZIP 파서 (node:zlib.inflateRawSync 기반, 외부 lib 0)로 unzip합니다.
목적
(1) NCBI BLAST 웹 UI(1990년대 디자인) 학습 부담 해소 + 한국어 통합 진입점 (2) Kablammo(영문 전용) / BLAST Ribbon(영문, 학습 곡선 가파름) 빈자리 → 한국어/일본어 인터랙티브 정렬 지도 (3) 미지 sequence 동정 / 진화 분류 / homology 탐색 / BLAST E-값 해석 통합 워크플로우 (4) ko/en/ja 학술 표준 용어 매핑 (HSP / E-값 / 비트 점수 / 동일도 / 커버리지 등 15종) (5) 외부 npm lib 0 (Chart.js / D3.js / adm-zip 등 자체 SVG·PKZIP 구현 대체) — Vercel Edge ISR로 무료 + 빠름 (6) NCBI 정책 준수 자동화 — Route Handler 측 10s self-throttle + 60s/RID floor + tool/email 식별자
사용법
① PROGRAM 선택 — `blastn` (DNA-DNA) / `megablast` (감도↑) / `blastp` (Protein-Protein) / `blastx` (번역 DNA → Protein) / `tblastn` (Protein → 번역 DNA) / `tblastx` (둘 다 번역) ② DATABASE 선택 — `nt` / `nr` / `refseq_rna` / `swissprot` / `pdb` / `16S_ribosomal_RNA` 등 (PROGRAM에 따라 자동 필터) ③ FASTA 또는 raw seq 입력 (헤더 자동 파싱 + IUPAC 검증) ④ "BLAST 실행" 클릭 — Route Handler가 NCBI에 PUT 송신 (tool / email 식별자 자동 첨부, self-throttle 10s 강제) ⑤ RID + RTOE 수신 → 큐 폴링 시작 (60초 간격 floor + jitter ±5s) — Cycle N 카운터 + ETA mm:ss 표시 ⑥ READY 도달 시 자동 결과 다운로드 + JSON2 ZIP 자체 unzip + 파싱 ⑦ Alignment Map 탐색 — 색상 모드 3종 토글 (E-값 default = Kablammo 표준 / 비트 점수 / 동일도) + HSP hover tooltip + 클릭 → Detail Drawer (pairwise + 외부 링크 10종) ⑧ Filter Bar (E-값 cutoff / 동일도 슬라이더 / TaxID 필터) + Sort (비트 점수 desc default / E-값 asc / 동일도 desc / 커버리지 desc) ⑨ Export (SVG / FASTA / TSV outfmt 6 / JSON) ⑩ URL `?rid=` 자동 갱신 + localStorage 최근 5건 FIFO 보존 — 새로고침해도 자동 재개
예시
예 1) TP53 cDNA (NM_000546.6, ~1,183 nt, blastn × nt) — 인간 종양 억제 인자 → 1st hit = NM_000546 (100%), 영장류 ortholog 다수 → 일반 케이스 + ortholog 색상 그라데이션 검증 예 2) Lactobacillus 16S rRNA (~1,500 nt, blastn × 16S_ribosomal_RNA) — 박테리아 동정 표준 유전자 → 다수 Lactobacillus species hit + 종 facet 풍부 → microbial ID + TaxID 필터 + 근연종 미세 identity% 차이 검증 예 3) GFP (Aequorea victoria, ~720 nt, blastn × nt) — 합성 생물학 표준 → A. victoria + EGFP variants (1st 100%) + 플라스미드 벡터 매칭 예 4) SARS-CoV-2 spike (단백질, ~1,273 aa, blastp × nr) — 다수 코로나바이러스 spike hit → blastp + BLOSUM62 + 긴 시퀀스 + 변이 정렬 퍼포먼스 검증 예 5) random 100nt (blastn × nt) — 의도적 0 hits 케이스 → E-값 threshold 탈락 + zero_hits UX 안내 검증 + ToolGuide 옵션 조정 제안 노출