BLAST入門教學:序列比對與同源搜索完整指南

• ⏱️ 13分鐘閱讀 • 🧬 生物資訊學 • BLAST

你是否從定序結果裡拿到一段神秘的DNA或蛋白序列,心裡嘀咕:「這是什麼基因?哪種生物有它?別的物種裡有同源基因嗎?」答案幾乎總是從一個傳奇工具開始:BLAST(Basic Local Alignment Search Tool)。由NCBI自1990年開發至今,BLAST是生物資訊學世界的「Google」——幾乎每位分子生物學家在進入進階分析前都會先打開它。但很多初學者卡住:在blastn/blastp/blastx之間分不清、E-value讀錯、或被海量hit淹沒不知哪些相關。本文從零基礎揭開它的所有秘密。如果你手上正有一個大規模定序專案需要專業的BLAST解讀,Corvexum團隊隨時為你代勞。

BLAST是什麼?為什麼必須掌握?

BLAST是一種把你的query序列與公共序列資料庫做比對的演算法。輸出回答這些基礎問題:

  • 身份:「這段序列最像哪個基因?」
  • 同源性:「其他物種裡有相關基因(ortholog/paralog)嗎?」
  • 功能:「根據它的同源物,這個基因很可能有什麼功能?」
  • 分類:「哪個生物在演化上最接近?」

現代每一篇基因組、轉錄組或宏基因組文章幾乎都在方法部分提到BLAST。

五種BLAST變體:何時用哪一種

變體 Query 資料庫 用例
blastn 核苷酸 核苷酸 物種鑑定、引物檢查
blastp 蛋白 蛋白 蛋白功能註釋
blastx 核苷酸(轉譯) 蛋白 EST/cDNA → 蛋白,找ORF
tblastn 蛋白 核苷酸(轉譯) 在草圖基因組中找新基因
tblastx 核苷酸(6框) 核苷酸(6框) 跨物種EST比較

最常見的初學者錯誤:對蛋白query用blastn,或對原始DNA用blastp——結果要麼零命中,要麼誤導。選變體前一定先確認序列類型。

第一步:存取BLAST

兩種主要方式:

  • NCBI網頁(blast.ncbi.nlm.nih.gov):單條query最簡單。按上表選擇程式。
  • 命令列 BLAST+:批次處理數千條序列。透過 sudo apt install ncbi-blast+(Linux)或 conda 安裝。NGS流程或基因組尺度分析必備。

初學者建議從NCBI網頁開始——介面友善,所有關鍵參數都清晰可見。

第二步:提交query並選擇資料庫

用FASTA格式貼上序列(>header 後接序列行)。多條query用批次上傳。關鍵資料庫選項:

  • nr/nt:最完整的非冗餘庫(預設,但大query較慢)
  • refseq:更經篩選,適合精準註釋
  • swissprot:手工註釋蛋白,功能註釋的金標準
  • Organism-specific:如果只關注某物種(如「Homo sapiens」)

專業提示:先用refseq或swissprot得到可解釋的結果,需要廣覆蓋時再用nr。

第三步:必須理解的關鍵參數

  • E-value(期望值):隨機預期出現的hit數。1e-5或更小通常被認為具有生物學意義。E-value 0.05 = 大概率假陽性。
  • Bit score:正規化比對分數;越高越好,不依賴資料庫大小。
  • 序列一致性(Percent identity):鹼基/胺基酸完全相同的百分比。對遠緣同源物,蛋白30% identity就有意義了(「twilight zone」)。
  • Query coverage:query被比對到的百分比。低coverage + 高identity往往只是共享結構域,不是完整同源物。
  • Word size:初始匹配的種子長度。小 = 敏感但慢,大 = 快但可能漏掉遠緣同源物。
  • 打分矩陣:BLOSUM62(預設、通用)、PAM、BLOSUM45(遠緣)、BLOSUM80(近緣)。

第四步:正確解讀結果

NCBI BLAST結果頁展示:

  1. Graphic Summary:hit在query上的視覺化——看比對是分佈均勻還是集中在某個結構域。
  2. Description Table:所有hit的E-value、score、identity、coverage列表,按最小E-value排序。
  3. Alignments:每個hit的比對細節——檢查mismatch、gap、功能區的保守性。
  4. Taxonomy Report:hit來自的生物分佈——用於識別污染或序列來源。

警示信號:E-value不錯但coverage <20%的hit通常只是共享結構域,不是完整同源物。identity和coverage一定要同時報告。

第五步:BLAST之後的下一步

BLAST只是入口,下一步通常包括:

  • 提取top hits → 多序列比對(MUSCLE/MAFFT) → 演化樹
  • 映射到結構域資料庫(Pfam、InterPro)做功能註釋
  • 雙向BLAST確認ortholog(best reciprocal hit)
  • PSI-BLAST透過譜系搜索找遠緣同源物
💡 科研級提示:發表論文時,保存BLAST RID(結果ID)或用API跑BLAST並記錄參數。審稿人經常要求用相同參數複現——良好的文件能救你。

❓ 常見問題

Q:BLAST免費嗎?
A:100%免費,網頁和命令列都免費。NCBI把它作為公共服務提供。

Q:為什麼我的E-value是0?
A:意味著E-value極小(低於1e-180),不是真正的0。這個hit高度顯著。

Q:BLAST要跑多久?
A:單條網頁query 10-60秒。數千條批次:幾小時到幾天——用命令列BLAST+並開啟多執行緒。

🚀 被成千上萬的BLAST hit淹沒?

跑BLAST容易,但正確解讀數千個hit是一門獨立的藝術。E-value讀錯、打分矩陣選錯、paralog與ortholog搞混,都可能讓你的生物學結論翻車——而Q1期刊審稿人會立刻追問。Corvexum替你扛起生物資訊學負擔:

  • ✅ 用BLAST+批次跑數千條序列,參數完整記錄
  • ✅ 結果解讀:ortholog vs paralog、結構域分析、best reciprocal hit
  • ✅ 與InterPro/Pfam整合做功能註釋
  • ✅ 結果視覺化 + 可直接用於結果章節或論文的文字敘述
  • ✅ 進階分析策略諮詢(系統發育、路徑等)

備用信箱:corvexum@gmail.com


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

/* ============================================ CORVEXUM UNIVERSAL POST JS v2.2 ES5 + TANPA KARAKTER KHUSUS ( kurang-dari dan ampersand ) CTA Tracking + Smooth Scroll + PRISMA Animation ============================================ */ (function () { 'use strict'; function onReady(fn) { if (document.readyState !== 'loading') { fn(); } else { document.addEventListener('DOMContentLoaded', fn); } } onReady(function () { /* 1. CTA Click Tracking (siap untuk GA4/GTM) */ var btns = document.querySelectorAll('.cvx-btn'); var i; for (i = 0; i !== btns.length; i = i + 1) { (function (btn) { btn.addEventListener('click', function () { if (window.console) { if (window.console.log) { window.console.log('CTA Clicked: ' + btn.href); } } }); }(btns[i])); } /* 2. Smooth Scroll untuk anchor internal */ var anchors = document.querySelectorAll('a[href^="#"]'); var j; for (j = 0; j !== anchors.length; j = j + 1) { (function (link) { link.addEventListener('click', function (e) { var href = link.getAttribute('href'); var target = null; if (href) { if (href.length !== 1) { target = document.querySelector(href); } } if (target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }(anchors[j])); } /* 3. Animasi PRISMA Flow Diagram saat scroll into view */ var flows = document.querySelectorAll('.cvx-prisma-flow'); var m; var n; if (flows.length !== 0) { if (typeof window.IntersectionObserver === 'function') { var observer = new window.IntersectionObserver(function (entries) { for (n = 0; n !== entries.length; n = n + 1) { if (entries[n].isIntersecting) { entries[n].target.style.opacity = '1'; entries[n].target.style.transform = 'translateY(0)'; observer.unobserve(entries[n].target); } } }, { threshold: 0.1 }); for (m = 0; m !== flows.length; m = m + 1) { flows[m].style.opacity = '0'; flows[m].style.transform = 'translateY(20px)'; flows[m].style.transition = 'opacity 0.6s ease, transform 0.6s ease'; observer.observe(flows[m]); } } } /* 4. Auto-update tahun di footer (opsional) */ var yearSpans = document.querySelectorAll('.cvx-year'); var currentYear = new Date().getFullYear(); var p; for (p = 0; p !== yearSpans.length; p = p + 1) { yearSpans[p].textContent = String(currentYear); } }); }());