馬上可以做的事 - 掌握土壤微生物組分析全流程,迅速提升數據品質與可靠性
- 比對樣本採集時間與環境,確保同批次變異 ≤ 10%
減少外部因子干擾,有效提高組間差異的科學解釋力
- 初步過濾低於Q20的序列,保留高質量原始資料
避免劣質讀段影響後續拼接和功能預測結果
- 每階段記錄使用軟體及參數設定,維持流程重現性
方便日後追蹤問題或交叉驗證,比對不同專案成果更順暢
- (多樣性分析) 固定隨機抽取不少於10000條有效序列
統一比較基礎,使各樣本多樣性指標具備可比性,不會因測序深度偏誤
誰在這裡?從土壤到腸道的微生物大亂鬥
微小基因組,大數據——有時候我自己都會搞混,欸,不過講真的,宏基因組數據分析這東西比起那些簡化版的流程還是厲害太多了。你要問「這裡有哪些微生物?」不管是在土壤、海洋水體或是人體腸道,只要提到這問題,好像自古以來大家都很在意。嗯,我也會好奇啦。其實,傳統的作法一直就是讓微生物學家跑去實驗室,一個一個分離又培養,然後再慢慢鑑定牠們有什麼特性。老方法沒錯,但就只能摸到表面,唉。有些資料說超過99%的微生物種類,其實根本養不起來,用標準技術都碰不到。
但話說回來,在這種情況下,宏基因組學橫空出世就變得超重要。它跟舊派做法不一樣啦,不必先苦哈哈地把細菌分開,也不用一堆瓶瓶罐罐慢慢養。我記得有人說,它直接從環境樣本撈走所有遺傳物質(完全不放過任何微生物),也就是那個所謂的✨宏基因組✨,對於想鑽研自然的人真的是新大陸。有點岔題,不過每次看到“全部遺傳物質”這詞,都覺得自己突然變成某種探險者。不扯遠了。
憑著不用培養的方法,人類看待微生物多樣性還有生態角色、甚至醫療應用方式,其實都被翻新了。在發現新型抗菌素產生菌株、剖析腸道健康等領域(我想到的例子還真不少),宏基因組學帶來新的觀測角度,那種廣度和深度一般手段真的追不上。有一次我參加了一場七天的宏基因組數據分析工作坊,每天睡眠不足⋯⋯啊抱歉,又扯開了。不過那時候親手操作各種工具,把整套流程摸了一遍,也順便整理了自己的筆記概要。
現在啊,不論是解讀腸道菌群那些神秘奧妙、還是監控北極冰層中的古怪微生物活動,到處都有宏基因組技術伸展觸角。例如它能監測環境健康狀況、幫忙找到具工業價值的新酶、追蹤抗藥性相關的基因故事,更別說連挖掘考古遺址裡失落已久的老舊DNA也難不倒它。當然啦,每次寫到這裡都覺得可能還漏掉某些應用,但眼前看到的世界確實因此更寬廣了,大概吧。
但話說回來,在這種情況下,宏基因組學橫空出世就變得超重要。它跟舊派做法不一樣啦,不必先苦哈哈地把細菌分開,也不用一堆瓶瓶罐罐慢慢養。我記得有人說,它直接從環境樣本撈走所有遺傳物質(完全不放過任何微生物),也就是那個所謂的✨宏基因組✨,對於想鑽研自然的人真的是新大陸。有點岔題,不過每次看到“全部遺傳物質”這詞,都覺得自己突然變成某種探險者。不扯遠了。
憑著不用培養的方法,人類看待微生物多樣性還有生態角色、甚至醫療應用方式,其實都被翻新了。在發現新型抗菌素產生菌株、剖析腸道健康等領域(我想到的例子還真不少),宏基因組學帶來新的觀測角度,那種廣度和深度一般手段真的追不上。有一次我參加了一場七天的宏基因組數據分析工作坊,每天睡眠不足⋯⋯啊抱歉,又扯開了。不過那時候親手操作各種工具,把整套流程摸了一遍,也順便整理了自己的筆記概要。
現在啊,不論是解讀腸道菌群那些神秘奧妙、還是監控北極冰層中的古怪微生物活動,到處都有宏基因組技術伸展觸角。例如它能監測環境健康狀況、幫忙找到具工業價值的新酶、追蹤抗藥性相關的基因故事,更別說連挖掘考古遺址裡失落已久的老舊DNA也難不倒它。當然啦,每次寫到這裡都覺得可能還漏掉某些應用,但眼前看到的世界確實因此更寬廣了,大概吧。
傳統培養方法碰壁,DNA直接抓來聊聊
資料量真的也是大得嚇人。宏基因組分析說穿了,就是要面對那些把人壓到喘不過氣的數據。處理這些龐雜資料時,流程裡總是得安插一連串繁複的步驟:品質控制啦、拼接還有分箱,然後什麼分類學歸屬、功能註釋、統計視覺化…其實老實說光聽名字就讓人頭暈吧?嗯,但我會一個個慢慢拆給你看,所以別急着逃跑(欸,我不確定是不是有人已經關掉頁面了?)。但話又說回來喔,為什麼這類東西檔案格式都難得像什麼賽博密碼詩?偏偏我們還得硬著頭皮,用命令列和那些讀段搏鬥,大概電腦宅們會覺得這很有趣吧…唉,我每次自問自答都沒人附和,好啦!
其實在開始解剖任何微生物群落前,重點反而是先去它們待的地方找它們。可能是土壤、海水、人類皮膚,嗯,有時古代化石都能冒出一堆意外收穫。那第零步你猜到沒——生命科學領域的人最熟悉的一招,就是從環境樣本把總DNA萃取出來再進行測序。你以為只有細菌嗎?沒有喔,包括古菌、病毒、真菌,有些場合甚至連宿主自己的DNA也會混進來。如果來源不同,萃取手法就得變通——既要夠強悍去擊潰頑固微生物細胞壁,又不能太粗暴,不然脆弱DNA片段一碰就爛成碎片。我以前寫論文時每天都被這種事情磨到快失憶(改天再開部落格聊細節好了)。常用法子像機械裂解(比方珠磨)、化學裂解或酶消化,緊跟著純化程序,把蛋白質啊抑制劑還有五花八門雜質清除乾淨。說到底目標就是……唉,其實每次忙完腦袋都是空的,但至少理論上,我們就是想留下越乾淨越完整的DNA。
其實在開始解剖任何微生物群落前,重點反而是先去它們待的地方找它們。可能是土壤、海水、人類皮膚,嗯,有時古代化石都能冒出一堆意外收穫。那第零步你猜到沒——生命科學領域的人最熟悉的一招,就是從環境樣本把總DNA萃取出來再進行測序。你以為只有細菌嗎?沒有喔,包括古菌、病毒、真菌,有些場合甚至連宿主自己的DNA也會混進來。如果來源不同,萃取手法就得變通——既要夠強悍去擊潰頑固微生物細胞壁,又不能太粗暴,不然脆弱DNA片段一碰就爛成碎片。我以前寫論文時每天都被這種事情磨到快失憶(改天再開部落格聊細節好了)。常用法子像機械裂解(比方珠磨)、化學裂解或酶消化,緊跟著純化程序,把蛋白質啊抑制劑還有五花八門雜質清除乾淨。說到底目標就是……唉,其實每次忙完腦袋都是空的,但至少理論上,我們就是想留下越乾淨越完整的DNA。

環境樣本提取總是手忙腳亂,糾結又驚喜
要說一個乾淨、濃縮的DNA樣本,唉,你可以把它想成房間裡所有雜音都先被收拾好,然後再一一遞上麥克風,讓每種聲音自己唱自己的歌。嗯,其實這比喻還蠻貼切的吧?不過,重點是,在DNA被萃取出來以後,它通常會送去做高通量定序(多半是shotgun那種啦,有空再聊其他定序技術好了,我現在有點懶)。但,欸,其實精彩的部分根本不是在實驗室,而是在你拿到那些亂七八糟的結果之後才真正開始。
你以為收到的是什麼整齊、有標籤、分類清楚的大型資料庫?想太多了。現實裡,那就是一堆混亂得要命的東西。一旦DNA完成定序——通常靠Illumina之類的高通量儀器——你會得到數百萬條短讀長的FASTQ檔案,每個檔案裡面藏著好多資訊。有時候我看到那些檔名就頭痛。裡頭包含了DNA序列,也有每個鹼基(A、T、G或C)對應到的一個品質分數。
呃…這品質分數到底是啥呢?其實,它反映了儀器對於判讀每個鹼基時有多大信心。這分數叫Phred分數(Q),名字聽起來有點像某種冷門小吃,不過很重要。我們用的軟體套用公式:Q = –10 × log₁₀(P),P就是判錯機率嘛。咦,我差點想問「log」是誰發明的,但算了,拉回來講。
反正你可以想像你的定序機器就跟一個疲憊又心不在焉的速記員差不多。他有時候自信滿滿地寫下內容,有時卻猶豫不決。品質分數,就是評估他對每個字母輸入到底有幾分把握。有常見像Q10、Q20、Q30、Q40這些等級,各自代表約90%(錯誤機率每10次1次)、99%(100次1次)、99.9%(1000次1次)、還有99%的準確度。等等,最後那個跟前面好像重疊?噢,好吧,大概就是這樣啦。
你以為收到的是什麼整齊、有標籤、分類清楚的大型資料庫?想太多了。現實裡,那就是一堆混亂得要命的東西。一旦DNA完成定序——通常靠Illumina之類的高通量儀器——你會得到數百萬條短讀長的FASTQ檔案,每個檔案裡面藏著好多資訊。有時候我看到那些檔名就頭痛。裡頭包含了DNA序列,也有每個鹼基(A、T、G或C)對應到的一個品質分數。
呃…這品質分數到底是啥呢?其實,它反映了儀器對於判讀每個鹼基時有多大信心。這分數叫Phred分數(Q),名字聽起來有點像某種冷門小吃,不過很重要。我們用的軟體套用公式:Q = –10 × log₁₀(P),P就是判錯機率嘛。咦,我差點想問「log」是誰發明的,但算了,拉回來講。
反正你可以想像你的定序機器就跟一個疲憊又心不在焉的速記員差不多。他有時候自信滿滿地寫下內容,有時卻猶豫不決。品質分數,就是評估他對每個字母輸入到底有幾分把握。有常見像Q10、Q20、Q30、Q40這些等級,各自代表約90%(錯誤機率每10次1次)、99%(100次1次)、99.9%(1000次1次)、還有99%的準確度。等等,最後那個跟前面好像重疊?噢,好吧,大概就是這樣啦。
一堆序列回家了,質量分數快來救命
99%(1 in 10,000),就是這個數字。你知道的,分別對應某種東西——不過我一時之間腦子打結,也許只是午餐吃太少。嗯,說回 FASTQ 檔案吧,其實裡面的品質分數都是用 ASCII 字元儲存(像是 #%*-+! 這類看起來亂七八糟的符號),其實它們背後都藏著某個數值。我有時會想:到底誰決定要用這麼難懂的方式記錄?但算了,總之 FastQC、Trimmomatic 跟 Cutadapt 等工具,不光是分析 DNA 序列本身,它們還會細細查閱每個鹼基後面被夾帶進去的品質分數。
然後,有點岔題——那些符號真的看了讓人頭疼,可對電腦來說卻像暗號一樣有意義。嗯,我拉回來,這些字元就像給機器看的密碼,只要軟體讀到,就能正確轉譯成信心水準分數。所以這些工具會利用那些奇妙的符號來評斷資料哪些地方比較可靠、哪些則需要直接修剪或乾脆移掉。好吧,說到底,就是幫你把資料「洗」得乾淨點。
好了,又換下一步了!等 QC 工具搞定修剪和清理,你手上就剩下那幾百萬段短短的 DNA 片段,但老實說,那堆東西暫時還沒有什麼特別意思。有時候我會想像自己在圖書館,看著一堆從各種書撕下來又亂糟糟混在一起的頁面——欸,是不是有點誇張?不過工作坊的人常拿這比喻啦。反正啊,你就需要其他工具把這些片段拼湊回去、組成長一點、有意義的新序列。
於是組裝開始了,用 MEGAHIT、SPAdes 什麼的,把那些讀段兜成更長的結構,也就是 contig。感覺像什麼呢?大概就像在完全不知道原作者有幾位、語言是哪國話的情況下,被迫去拼湊出一本本殘缺不全又神祕兮兮的大書吧。有時真的懷疑人生。不過沒辦法,就是要靠這流程才行。
然後,有點岔題——那些符號真的看了讓人頭疼,可對電腦來說卻像暗號一樣有意義。嗯,我拉回來,這些字元就像給機器看的密碼,只要軟體讀到,就能正確轉譯成信心水準分數。所以這些工具會利用那些奇妙的符號來評斷資料哪些地方比較可靠、哪些則需要直接修剪或乾脆移掉。好吧,說到底,就是幫你把資料「洗」得乾淨點。
好了,又換下一步了!等 QC 工具搞定修剪和清理,你手上就剩下那幾百萬段短短的 DNA 片段,但老實說,那堆東西暫時還沒有什麼特別意思。有時候我會想像自己在圖書館,看著一堆從各種書撕下來又亂糟糟混在一起的頁面——欸,是不是有點誇張?不過工作坊的人常拿這比喻啦。反正啊,你就需要其他工具把這些片段拼湊回去、組成長一點、有意義的新序列。
於是組裝開始了,用 MEGAHIT、SPAdes 什麼的,把那些讀段兜成更長的結構,也就是 contig。感覺像什麼呢?大概就像在完全不知道原作者有幾位、語言是哪國話的情況下,被迫去拼湊出一本本殘缺不全又神祕兮兮的大書吧。有時真的懷疑人生。不過沒辦法,就是要靠這流程才行。

剪修、清理、還有Ascii符號你搞懂沒
組裝這玩意兒大致分兩種啦,一種叫 de novo 組裝,就是完全不鳥參考基因組,只靠那些讀段之間互相重疊的地方慢慢拼出 contigs。然後還有一種,嗯…叫參考式組裝,顧名思義就是把讀段硬湊到已經知道的基因組上。不過話說回來,在宏基因體學裡頭,因為啥都很新奇、物種又爆多,這招其實沒那麼常用欸。
唉,我剛剛是不是岔題了?拉回來。反正現在主流都是 de novo 組裝嘛。這些工具幾乎都愛用 de Bruijn 圖,一堆連線在一起,找出誰跟誰有重疊,再一路把短短的讀段接成長長的 contigs。可是啊,就算你辛苦搞出了一堆 contigs,也別想太美——我們根本沒辦法直接知道每一塊是哪個生物體生出來的,好煩喔。
於是就要靠分箱(binning)這招了。分箱大概意思就是,把看起來可能同個微生物基因組蹦出來的 contigs丟進同一籃子裡。理論上,大部分方法都走參考獨立或非監督式,也就是說它們通常不會去查什麼資料庫自己判斷(雖然偶爾會破例啦)。主要還是靠 DNA 序列自身藏著的小玄機,把不同來源的 contig 按特徵歸類到各自 bin 去。
舉個例,你可以把整個流程想像成在挑拼圖碎片,只是我們不是看顏色或形狀,而是在盯著 GC 含量、四核苷酸頻率甚至讀段覆蓋度這些指標。我猜 GC 含量應該不少人聽過吧?如果你覺得陌生也沒關係,其實我也常忘記四核苷酸頻率到底怎麼算…咳,好啦拉回正題,它是指 A、T、G、C 這四個字母湊成 256 種不同排列(像 AGTC 啦 TTGG 啦 CGTA 那類),而每隻生物都有自己的偏好愛用哪幾組「四字母詞」。所以當分析工具發現某些不同 contig 裡頭,四核苷酸頻率怪異地一致時,就八九不離十地推測它們應該同屬一隻微生物—於是就被丟進同一個 bin 裡面了。有時候覺得人生也蠻像這樣亂七八糟地被分類,但總之工具就是照著 DNA 的模式努力工作啦。
唉,我剛剛是不是岔題了?拉回來。反正現在主流都是 de novo 組裝嘛。這些工具幾乎都愛用 de Bruijn 圖,一堆連線在一起,找出誰跟誰有重疊,再一路把短短的讀段接成長長的 contigs。可是啊,就算你辛苦搞出了一堆 contigs,也別想太美——我們根本沒辦法直接知道每一塊是哪個生物體生出來的,好煩喔。
於是就要靠分箱(binning)這招了。分箱大概意思就是,把看起來可能同個微生物基因組蹦出來的 contigs丟進同一籃子裡。理論上,大部分方法都走參考獨立或非監督式,也就是說它們通常不會去查什麼資料庫自己判斷(雖然偶爾會破例啦)。主要還是靠 DNA 序列自身藏著的小玄機,把不同來源的 contig 按特徵歸類到各自 bin 去。
舉個例,你可以把整個流程想像成在挑拼圖碎片,只是我們不是看顏色或形狀,而是在盯著 GC 含量、四核苷酸頻率甚至讀段覆蓋度這些指標。我猜 GC 含量應該不少人聽過吧?如果你覺得陌生也沒關係,其實我也常忘記四核苷酸頻率到底怎麼算…咳,好啦拉回正題,它是指 A、T、G、C 這四個字母湊成 256 種不同排列(像 AGTC 啦 TTGG 啦 CGTA 那類),而每隻生物都有自己的偏好愛用哪幾組「四字母詞」。所以當分析工具發現某些不同 contig 裡頭,四核苷酸頻率怪異地一致時,就八九不離十地推測它們應該同屬一隻微生物—於是就被丟進同一個 bin 裡面了。有時候覺得人生也蠻像這樣亂七八糟地被分類,但總之工具就是照著 DNA 的模式努力工作啦。
萬千碎片拼拼湊湊,組裝像拆書一樣焦頭爛額
如果某個DNA區域的覆蓋度很高——欸,我這裡指的是,有一大堆定序讀段都跑去跟那塊區域比對——那就表示,嗯,這段基因序列已經被重複「觀察」了好多次。雖然說,究竟「好多」是多少,好像沒人能給個標準答案,但感覺數量越大心理越踏實。反過來,如果覆蓋度很低…唉,那可能只是偶爾有一兩條讀段掃過去而已,甚至搞不好完全沒碰到,誰知道呢?
其實我一直覺得,「覆蓋度」之所以被大家念茲在茲,是因為它直接關乎我們對資料真假程度的信心吧。畢竟你想嘛,一個區域要是一直出現在資料裡面,你會不自覺相信它是真的存在,不太會懷疑這是哪來的機械失誤或偶發亂碼。不過話說回來,有時候看太多也挺膩…好啦,重點還是在於多次觀察可以減少誤判。
像_MetaBAT、MaxBin_和_CONCOCT_這些工具,就是拿來做binning操作用的。有時候名字也不知道誰取的。結果最後你得到的是基因組「草圖」,專業點講叫metagenome-assembled genomes,也就是MAGs。對啦,不管是之前拼湊(組裝)還是後面的binning,其實都距離完美狀態還蠻遠——老實說,大部分時間都只能做到相對有秩序一點點而已;但在混亂中擠出這麼一絲頭緒,也算難能可貴了。
當你終於(大概累癱)把contigs都組裝並分桶之後,下一步就比較明確:我們得去判斷每個片段到底屬於哪種生物體。欸,這一步專業名詞叫分類學歸類(taxonomic classification),嗯,我常常一寫完就忘記怎麼拼字。而且嘛,要靠另一套更精細的工具才能搞定。
流程上,其實就是把所有DNA片段拿去跟那些已知微生物資料庫做比對,看能不能映射到具體的物種、屬或者再高階一些的分類單元。有趣的是,大部分binning方法不太依賴資料庫,但分類學歸類超級吃這塊。如果底層資料庫品質夠好,比對起來通常也準多了,雖然偶爾還是遇到莫名其妙配不上號的情況。
換句話講,就像一直在玩著模糊又缺角的拼圖,但隨著一步步處理下去,「咦!沒錯,很有可能就是E. coli。」突然拼出了熟悉輪廓,那瞬間還真讓人鬆口氣啊。
其實我一直覺得,「覆蓋度」之所以被大家念茲在茲,是因為它直接關乎我們對資料真假程度的信心吧。畢竟你想嘛,一個區域要是一直出現在資料裡面,你會不自覺相信它是真的存在,不太會懷疑這是哪來的機械失誤或偶發亂碼。不過話說回來,有時候看太多也挺膩…好啦,重點還是在於多次觀察可以減少誤判。
像_MetaBAT、MaxBin_和_CONCOCT_這些工具,就是拿來做binning操作用的。有時候名字也不知道誰取的。結果最後你得到的是基因組「草圖」,專業點講叫metagenome-assembled genomes,也就是MAGs。對啦,不管是之前拼湊(組裝)還是後面的binning,其實都距離完美狀態還蠻遠——老實說,大部分時間都只能做到相對有秩序一點點而已;但在混亂中擠出這麼一絲頭緒,也算難能可貴了。
當你終於(大概累癱)把contigs都組裝並分桶之後,下一步就比較明確:我們得去判斷每個片段到底屬於哪種生物體。欸,這一步專業名詞叫分類學歸類(taxonomic classification),嗯,我常常一寫完就忘記怎麼拼字。而且嘛,要靠另一套更精細的工具才能搞定。
流程上,其實就是把所有DNA片段拿去跟那些已知微生物資料庫做比對,看能不能映射到具體的物種、屬或者再高階一些的分類單元。有趣的是,大部分binning方法不太依賴資料庫,但分類學歸類超級吃這塊。如果底層資料庫品質夠好,比對起來通常也準多了,雖然偶爾還是遇到莫名其妙配不上號的情況。
換句話講,就像一直在玩著模糊又缺角的拼圖,但隨著一步步處理下去,「咦!沒錯,很有可能就是E. coli。」突然拼出了熟悉輪廓,那瞬間還真讓人鬆口氣啊。

GC含量、四核苷酸頻率,分箱小工具做大事
像 Kraken2、Kaiju、Centrifuge 還有 MetaPhlAn 這幾個分析工具,其實都是把你的序列資料和一大堆微生物基因組的參考庫作比對。我有時都懷疑,誰會沒事突然想出「用 k-mer 比對」這種說法?嗯,總之,它們所謂的 k-mer 或蛋白質層級比對演算法,就是拿來決定那串莫名其妙的 DNA 到底要貼給哪個分類學標籤。k-mers 本身啊,就是長度是 k 的短 DNA 段落,很乾脆。
像當 k = 4,那就會冒出什麼 ATGC、TGCA、CGAT 這種小單位。有些人每次聽到 Kraken2 都會聯想到海怪,其實我也忍不住──名字真的很適合搞某種深海冒險動畫,不過現實它只是…嗯,只是用 k-mer 方法冷靜地處理你的讀段,把那些片斷切成一堆小碎片(沒錯,就是所謂的 k-mers),然後依序去資料庫裡翻找類似的。咦,我剛才還在想早餐吃什麼,算了,拉回來講。
這些工具啊,通常會先把你給的 DNA 序列拆得七零八落,劃分為很多短短的小段,每一段就叫做一個 k-mer;接著它們再把這些小東西,一個一個跟事先已經索引好的大資料庫比起來(像是 RefSeq 啦、GenBank 啊,或你自己打造的基因庫)。根據每顆 k-mer 屬於哪種生物,它們就給你指派分類標籤,但事情永遠沒那麼完美,有時候就偏偏遇到查無此人的狀況啦!現在其實不少微生物還根本沒被放進資料庫裡,所以偶爾一些讀段只好維持「未分類」狀態——如果硬要說,有點像電玩世界裡那塊尚未開啟的新地圖吧?反正等以後誰補上了,再解鎖新內容,大概如此。
至於 Kaiju 就走另一條路線,它採的是蛋白質層級來比對,也就是說,它先把你的 DNA 翻譯成蛋白質序列,再跑去比照參考嘛。我覺得這方法聽起來比較繞,不過理由倒挺簡單:蛋白質序列跨物種之間往往比 DNA 穩固多了(欸,是不是有點像家族遺傳特徵?)。所以即使兩條 DNA 看起來差超多,在蛋白質層面上還可能找到彼此的一絲關聯性。不過呢,用蛋白質比對速度確實慢上一點,可敏感度常常更高,尤其針對新發現或者註釋稀鬆平常的新奇物種,很有看頭。好啦,我廢話太多,又離題了。
像當 k = 4,那就會冒出什麼 ATGC、TGCA、CGAT 這種小單位。有些人每次聽到 Kraken2 都會聯想到海怪,其實我也忍不住──名字真的很適合搞某種深海冒險動畫,不過現實它只是…嗯,只是用 k-mer 方法冷靜地處理你的讀段,把那些片斷切成一堆小碎片(沒錯,就是所謂的 k-mers),然後依序去資料庫裡翻找類似的。咦,我剛才還在想早餐吃什麼,算了,拉回來講。
這些工具啊,通常會先把你給的 DNA 序列拆得七零八落,劃分為很多短短的小段,每一段就叫做一個 k-mer;接著它們再把這些小東西,一個一個跟事先已經索引好的大資料庫比起來(像是 RefSeq 啦、GenBank 啊,或你自己打造的基因庫)。根據每顆 k-mer 屬於哪種生物,它們就給你指派分類標籤,但事情永遠沒那麼完美,有時候就偏偏遇到查無此人的狀況啦!現在其實不少微生物還根本沒被放進資料庫裡,所以偶爾一些讀段只好維持「未分類」狀態——如果硬要說,有點像電玩世界裡那塊尚未開啟的新地圖吧?反正等以後誰補上了,再解鎖新內容,大概如此。
至於 Kaiju 就走另一條路線,它採的是蛋白質層級來比對,也就是說,它先把你的 DNA 翻譯成蛋白質序列,再跑去比照參考嘛。我覺得這方法聽起來比較繞,不過理由倒挺簡單:蛋白質序列跨物種之間往往比 DNA 穩固多了(欸,是不是有點像家族遺傳特徵?)。所以即使兩條 DNA 看起來差超多,在蛋白質層面上還可能找到彼此的一絲關聯性。不過呢,用蛋白質比對速度確實慢上一點,可敏感度常常更高,尤其針對新發現或者註釋稀鬆平常的新奇物種,很有看頭。好啦,我廢話太多,又離題了。
分類誰是誰?k-mer和蛋白比對兩種路線
有時候,當你面對那種龐大的資料量、速度又急迫的狀況,唉,或是真的電腦記憶體有點捉襟見肘,你就不得不考慮k-mer工具。這類東西像Kraken2、Bracken什麼的,用起來就是快,真的省事。嗯,可如果你研究的東西牽涉到那些不明生物、甚至剛發現的新玩意兒,那蛋白質註釋工具可能會比較給力,比如Kaiju或DIAMOND,因為它們特別擅長找遠親資料。不過——欸,我剛才想到什麼?喔對,如果你既想搞懂是哪個物種,又想順便知道它在幹嘛,可以用點混合型的法子,比方RAT還有kAAmer這些名字偶爾會跳出來。
分類學註釋其實就是在問:「欸,這堆樣本裡到底是誰啊?」然後功能性註釋才慢慢揭露,「噢,他們可以做什麼事」。有點像小時候看寶可夢猜謎啦,「猜猜牠是誰?」然後下一秒再問「牠有啥稀奇本領嗎?」這…唉,每次想到都覺得挺妙。把基因或預測蛋白丟進去,一下子就能被映到那些已知功能上,比如代謝路徑、抗生素抗性之類,有時連致病因子或酵素的複雜作用途徑都挖得出來,更別提某些抗生素生成路徑也藏在裡頭呢。
宏基因組學厲害的是,即使遇到未曾培養過的新物種,大概還能從中淘出新基因,再推敲一番潛在的機能(老實說,在某些場合下這種探索還真讓人雀躍)。好吧,其實流程就是:先靠分類學註釋認出「寶可夢」──呃,是說微生物啦──再用功能註釋揣摩他們究竟多強悍;最後,也許還可以拉一些環境資訊進來綜合判讀,不過話題要扯開太遠了我自己都快跟不上了,先暫停一下,把重心拉回數據上吧。
分類學註釋其實就是在問:「欸,這堆樣本裡到底是誰啊?」然後功能性註釋才慢慢揭露,「噢,他們可以做什麼事」。有點像小時候看寶可夢猜謎啦,「猜猜牠是誰?」然後下一秒再問「牠有啥稀奇本領嗎?」這…唉,每次想到都覺得挺妙。把基因或預測蛋白丟進去,一下子就能被映到那些已知功能上,比如代謝路徑、抗生素抗性之類,有時連致病因子或酵素的複雜作用途徑都挖得出來,更別提某些抗生素生成路徑也藏在裡頭呢。
宏基因組學厲害的是,即使遇到未曾培養過的新物種,大概還能從中淘出新基因,再推敲一番潛在的機能(老實說,在某些場合下這種探索還真讓人雀躍)。好吧,其實流程就是:先靠分類學註釋認出「寶可夢」──呃,是說微生物啦──再用功能註釋揣摩他們究竟多強悍;最後,也許還可以拉一些環境資訊進來綜合判讀,不過話題要扯開太遠了我自己都快跟不上了,先暫停一下,把重心拉回數據上吧。

微生物超能力秀:功能註解和多樣性統計小劇場
統計分析到底有什麼用?嗯,讓我們可以對社群結構、基因豐度還有功能多樣性,試著做出一點推斷吧。你開始比較那些樣本時,腦袋裡就會自然而然冒出問題,像是哪邊的豐度高一點?哪些功能是大家都有的?又有哪些只有某個地方才有?唉,其實這些問號一直揮之不去。有時會分神想著昨天晚餐吃了啥,再拉回來。
_R、Python_ 還有 _QIIME、Phyloseq_ 或 _Vegan_ 這類工具,其實就像畫筆或調色盤,幫助你慢慢把那幅原本模糊的數據畫布補上細節。不過,有時候打開 R 跑一下午沒跑動也是常事啦。Alpha 多樣性 __ 基本上就是看單一樣本裡面,到底塞進了多少種不同的東西,就很像你清點自己實驗室所有微量移液器的型號和規格;Beta 多樣性則拿來比比不同樣本間究竟差多少,就…其實挺像比隔壁系跟你們家誰移液器種類多(老實說,我上次差點借走人家的 2 μL 移液器還被自己嚇了一跳,好在悄悄放回去沒人發現——應該沒關係吧,大概啦…。好啦,不亂講了)。
到了視覺化階段,不管是熱圖還是 PCA 圖,又或者巨大的系統發生樹,都能讓人在數據大海中勉強找到一些趨勢和分群,看起來突然就變直觀一點。但我偶爾會盯著那些顏色發愣,好啦,主題拉回來。在這裡生物學跟藝術彷彿逐步攪和在一起,你要設法把死板板的原始資料轉換成故事,而這些故事,也許真的能透露健康、環境甚至演化的一些端倪。等忙完所有數據運算、多樣性的比較,以及用熱圖跟 PCA 做完資料展示後,剩下要做的重要工作,就是想辦法把資訊拼湊起來,用它們回答你最初掛心的研究問題。
_R、Python_ 還有 _QIIME、Phyloseq_ 或 _Vegan_ 這類工具,其實就像畫筆或調色盤,幫助你慢慢把那幅原本模糊的數據畫布補上細節。不過,有時候打開 R 跑一下午沒跑動也是常事啦。Alpha 多樣性 __ 基本上就是看單一樣本裡面,到底塞進了多少種不同的東西,就很像你清點自己實驗室所有微量移液器的型號和規格;Beta 多樣性則拿來比比不同樣本間究竟差多少,就…其實挺像比隔壁系跟你們家誰移液器種類多(老實說,我上次差點借走人家的 2 μL 移液器還被自己嚇了一跳,好在悄悄放回去沒人發現——應該沒關係吧,大概啦…。好啦,不亂講了)。
到了視覺化階段,不管是熱圖還是 PCA 圖,又或者巨大的系統發生樹,都能讓人在數據大海中勉強找到一些趨勢和分群,看起來突然就變直觀一點。但我偶爾會盯著那些顏色發愣,好啦,主題拉回來。在這裡生物學跟藝術彷彿逐步攪和在一起,你要設法把死板板的原始資料轉換成故事,而這些故事,也許真的能透露健康、環境甚至演化的一些端倪。等忙完所有數據運算、多樣性的比較,以及用熱圖跟 PCA 做完資料展示後,剩下要做的重要工作,就是想辦法把資訊拼湊起來,用它們回答你最初掛心的研究問題。
結束沒那麼簡單,新問題冒出來才是真的開始
你有沒有發現,有時候我們其實都在關心那些表面上看不見、但潛藏著巨大威力的基因?嗯,或許這聽起來有點神祕,但是真的,有些未被開發的生物技術潛力,可能早就在等著改變世界了。欸,話說回來,我自己有時候也會好奇——這些東西到底會不會哪天反過來對人類產生什麼威脅啊?唉,好像想太多。拉回來講,計算生物學在這裡,其實就像個愛碎碎念的旁白,把現實生活中的生物學拆成一段段可理解的敘述。它並不只是無聊地盤點「到底有哪些生命形式」或者「牠們能做什麼」,更在意的是,那背後藏著什麼意思、或我們根本沒意識到的事——總之,就是有種莫名玄妙感吧。
然後咧,流程是不是就這樣告一段落?唉,好問題。我剛開始學這套技術時還真以為做完就是萬事OK(結果呢),從技術層面看確實到這裡結束啦!宏基因體分析那條管線,到最後你已經把原始環境DNA清得乾乾淨淨、分類分得明明白白、註解跟視覺化也都交代清楚,最後才獲得可以閱讀、甚至加以詮釋的那些所謂「見解」。可是嘛,就探索本身而言,其實故事很少真的停下來。往往才剛得到一組生物學上的詮釋,一堆新問題馬上就冒出頭:比如說,那些觀察到的模式換個時間或空間還能成立嗎?我是不是該用qPCR再驗證一下、還是直接拿去做培養試試看?又或者,用不同方法重新跑一次數據,是不是會得到完全相同的結果呢?唉,有時候真的會陷入自問自答的輪迴欸。其實每次研究以為抵達所謂「最後一步」,通常又是下一個更大坑洞的開端。所以整件事情轉了一圈,其實只是在無限循環中繼續前進,大概就是這種感覺吧。
然後咧,流程是不是就這樣告一段落?唉,好問題。我剛開始學這套技術時還真以為做完就是萬事OK(結果呢),從技術層面看確實到這裡結束啦!宏基因體分析那條管線,到最後你已經把原始環境DNA清得乾乾淨淨、分類分得明明白白、註解跟視覺化也都交代清楚,最後才獲得可以閱讀、甚至加以詮釋的那些所謂「見解」。可是嘛,就探索本身而言,其實故事很少真的停下來。往往才剛得到一組生物學上的詮釋,一堆新問題馬上就冒出頭:比如說,那些觀察到的模式換個時間或空間還能成立嗎?我是不是該用qPCR再驗證一下、還是直接拿去做培養試試看?又或者,用不同方法重新跑一次數據,是不是會得到完全相同的結果呢?唉,有時候真的會陷入自問自答的輪迴欸。其實每次研究以為抵達所謂「最後一步」,通常又是下一個更大坑洞的開端。所以整件事情轉了一圈,其實只是在無限循環中繼續前進,大概就是這種感覺吧。