
估算細菌群聚的多樣性
在面對一個群聚時,我們會希望知道它的組成和多樣性。但是我們不能簡單做個採樣調查就知道這個群聚裡有多少物種,因為細菌的種類太多了。那麼,我們該怎麼辦呢?如果你本錢雄厚,可以用 NGS 定它個幾百萬條序列,可能得到比較清楚的組成,但是細菌種類太多,有些數量很少,真想看到樣本裡的每一種細菌,還真的是件很難做到的事。
我們可以根據定序結果統計 accumulation curve。Accumulation curve 的 X 軸調查的序列數,Y 軸是找到的 OTU 總數。整個圖代表的是從零開始一條一條序列數,隨著序列數增加,我們看到的 OTU 數的變化。序列越多,看到的 OTU 越多。但是我們也會一直看到已經看過的 OTU 重複出現,所以上升趨勢會慢慢趨緩。每個樣本定序得到的序列數不一樣,序列定得多的樣本裡,看到的物種數理論上會比較多,這是 sampling effort 大造成的影響。為了避免這影響,我們針對每個樣本算出個平均的 accumuation curve,再比較在相同採樣數下各樣本的 OTU 數的多少,這樣就能比較不同樣本間多樣性的高低了。這個方法是 rarefaction,畫出來的圖是 rarefaction curve。
但這是在目前已經定序的資料上來判斷。如果我只能從樣本裡定 10000 條序列,我能不能知道(估算)環境裡原本的這個群聚裡到底有多少種細菌。
當然有,所以才有這篇文章。
第一種方法是利用 accumulation curve。前面到 accumulation curve 上序列越多,看到的 OTU 越多。如果我們能無限制採樣下去,理論上所有樣本的曲線都會走上高原,因為所有 OTU 都被你看完了。但是問題就在有的樣本採樣 10000 條序列就打平,有的 10000 條時還在快速上升。這時,只要利用數學方程式(例如 Michaelis-Menten equation 或 negative exponential function)來描述到目前為止的曲線,算出這方程式裡的參數,用參數來估算無限採樣後應該得到的理想值,就可以估算出我們現在在曲線的哪一部份,以及未來(無限取樣時)需要定多少序列才能到達高原,以及高原線會指在多少 OTU 的地方。我們在處理 NGS 序列時會看的 Rarefaction curve 就是這樣的想法產生的。
第二種方法是利用 rank-abundance curve。先做出 rank-abudance curve 後再利用方程式來描述這個 curve 的變化,算出這方程式裡的參數,用參數來估算無限採樣後應該得到的理想值,就可以推出菌種的 richness 和 evenness 了。例如可以用 lognormal 或 Poisson lognormal distribution 來描述 rank-abundance curve 的變化。
第三種方法是利用 mark-recapture 的想法。Chao1 estimator 是利用出現一次的序列(singleton)和出現兩次的序列(doubleton)的比值來做估算,在有很多數量少的 OTU 的群聚裡比較不受影響,所以在菌相分析時常用。ACE (abundance-based coverage estimator) 則是將 OTU 分成數量大於 10 和小於 10 的兩群,看相對比例來估算真正的物種數。Chao1 和 ACE 在採樣數少的時候都容易低估多樣性。
這篇老論文講得很簡單,可以讀一下。
Hughes JB, Hellmann JJ, Ricketts TH, Bohannan BJ. Counting the uncountable: statistical approaches to estimatingmicrobial diversity. Appl Environ Microbiol. 2001 Oct;67(10):4399–406. Review. PMID: 11571135. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC93182/
