白順華
摘要:生物多樣性是群落生態(tài)學(xué)中的重要概念,α多樣性指數(shù)普遍應(yīng)用于生態(tài)學(xué)科學(xué)研究中。α多樣性指數(shù)的計算與相關(guān)圖像繪制,在數(shù)據(jù)處理與分析階段是非常必要的。為獲取α多樣性指數(shù)相關(guān)數(shù)據(jù)信息,從規(guī)范的“物種-樣地”二維矩陣初始數(shù)據(jù)格式出發(fā),運用Python編程語言開發(fā)程序并通過測試,實現(xiàn)較高整合程度與較快計算速度,協(xié)助后續(xù)研究過程。
關(guān)鍵詞:植物群落;α多樣性;多樣性指數(shù);Python語言;程序設(shè)計
Abstract: Biodiversity is an important concept in community ecology, and α diversity index is widely used in the scientific research of ecology. It is necessary to calculate α diversity index and render its related image in the stage of data processing and analysis. In order to obtain the data information related to α diversity index, a program is developed in Python code and passes the tests on the basis of the standard initial data format of “species-sample” which is a two-dimensional matrix. It increases the integration and computing speed, and assist in the follow-up research process.
Key words: plant community; α diversity; diversity index; Python; program design
1 背景
生物多樣性能夠揭示生物種的多樣化程度、變異狀況以及物種生境的生態(tài)復(fù)雜性[1]。作為人類生存與發(fā)展的必要條件,生物多樣性的研究在植物學(xué)、生態(tài)學(xué)、農(nóng)業(yè)科學(xué)等領(lǐng)域得到廣泛應(yīng)用與發(fā)掘,并面向共同維系全球生態(tài)平衡的森林、草地、濕地、海洋各類型生態(tài)系統(tǒng),不斷產(chǎn)生出新的研究熱點與重點。在2015-2021六年間,關(guān)于生物多樣性的論文在愛斯唯爾Scopus數(shù)據(jù)庫中數(shù)量達到67469篇[2]。生物多樣性指數(shù)計算的結(jié)果可用于表征物種的豐富度和均勻度,反映生境中物種的數(shù)量和分配狀況,實現(xiàn)生物多樣性測度的定量化[3]。其中,α生物多樣性指數(shù)的計算應(yīng)用最為普遍,可應(yīng)用于優(yōu)勢植物判別、群落特征描述與群落分類確定等具體研究方面[4]。在以往的研究中,從研究樣地獲得初始數(shù)據(jù)后,包括生物多樣性指數(shù)計算的數(shù)據(jù)處理與分析步驟,依賴于Microsoft Excel、SPSS Statistics、Canoco等軟件,需要人工手動輸入和接續(xù)操作,精度較高,但時間花費較長。近年來,隨著計算機技術(shù)的發(fā)展,出現(xiàn)了R語言中的外在軟件包“Vegan”用于生物多樣性指數(shù)計算和分析,運行效率高,精度也進一步提高。相比于更專精于統(tǒng)計學(xué)數(shù)據(jù)處理的R語言,面向?qū)ο蟮拈_源編程語言Python,運行速度更快,具有強大的“膠水語言”功能。因此,以α多樣性指數(shù)計算的數(shù)學(xué)公式為基礎(chǔ),借助Python語言及Numpy、Matplotlib等第三方庫,以命令行方式編寫了α多樣性指數(shù)計算處理程序,實現(xiàn)了α多樣性相關(guān)指數(shù)的計算與繪圖,其運行結(jié)果與傳統(tǒng)軟件及R語言相比無明顯區(qū)別,集成化等級高,輸入固定格式的二維數(shù)據(jù)矩陣即可得到計算結(jié)果與圖像,操作簡單、上手容易,適合于在生物多樣性科學(xué)研究的數(shù)據(jù)處理與分析過程中使用。
2 α多樣性計算原理
α多樣性是關(guān)注局域生境(如棲息地或群落)物種多樣性的測度指標(biāo),其測度包括物種豐富度指數(shù)、物種相對多度模型、物種多樣性指數(shù)、物種均勻度指數(shù)四個方面,可以應(yīng)用于微生物測序分析與植物群落研究中[5]。選取了具有代表性的數(shù)量豐度、物種密度、Chao1指數(shù)、ACE指數(shù)、Simpson多樣性指數(shù)、Shannon多樣性指數(shù)六個數(shù)量指數(shù)與物種稀釋曲線、秩-多度曲線兩個曲線圖像,通過Python語言編程實現(xiàn)指數(shù)計算與圖像繪制。
α多樣性的計算依賴于野外實驗或模型推演中獲得的數(shù)據(jù)。野外實驗中,在設(shè)定的樣方內(nèi)逐物種識別并記錄,綜合統(tǒng)計得到初始數(shù)據(jù);模型推演中,依靠固定的數(shù)學(xué)模型自動或手動推算產(chǎn)生初始數(shù)據(jù)。初始數(shù)據(jù)通常儲存為“物種-樣方”的二維矩陣形式,將物種名(即屬性)放在行名中,樣地名(即樣方名、地點)放在列名中,某個樣地某個物種的個體數(shù)量以自然數(shù)(大于等于0的整數(shù))的格式存儲在某行某列的單個元素中。
得到數(shù)據(jù)完整的二維矩陣后,對每列(即每個樣地)進行數(shù)據(jù)處理與分析。假設(shè)樣地編號為i1,i2,i3, ……,ir,所有樣地內(nèi)物種編號依次為j1,j2,j3,……,js(允許被編號的物種僅在某個或某幾個樣地中出現(xiàn)),某個樣地某個物種的個體數(shù)量編號為k11,k12, ……,k21, ……,krs,則初始數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)如表1所示。
Simpson多樣性指數(shù)與Shannon多樣性指數(shù)是反映群落個體屬于何種物種的不確定性的兩種物種多樣性指數(shù),這兩個指數(shù)都可以由物種度和均勻度兩個側(cè)面來反映α多樣性。
Simpson多樣性指數(shù)以隨機取樣的概率學(xué)問題出發(fā),可表述為在群落或樣地中隨機選擇兩個個體,其屬于同一個物種的概率。其中,pi為某個編號為i的物種在整個樣地中出現(xiàn)的概率,S為數(shù)量豐度。
3 α多樣性程序設(shè)計方法
獲取初始數(shù)據(jù)后,確定數(shù)據(jù)結(jié)構(gòu),即得到完整的數(shù)據(jù)信息?;赪indows10系統(tǒng)下Python語言3.7.6版本的支持,通過Python語言程序設(shè)計方法,進行數(shù)據(jù)處理與分析。程序設(shè)計中主要借助于擁有多種針對數(shù)組進行數(shù)據(jù)綜合處理模塊的NumPy庫與math庫,進行α多樣性相關(guān)指數(shù)的計算與匯總;使用Matplotlib庫實現(xiàn)α多樣性相關(guān)科學(xué)計算圖像繪制;使用Pandas庫實現(xiàn)基于二維矩陣Dataframe格式的“物種-樣地”數(shù)據(jù)結(jié)構(gòu)進行數(shù)據(jù)處理,將數(shù)據(jù)從Excel軟件的.csv格式讀取和輸出;同時使用SciPy、Random等庫,進行隨機數(shù)生成和數(shù)據(jù)最優(yōu)化選擇等功能。程序依托于Python3.7.6與Jupyter Notebook軟件運行,運行前需先安裝這兩個軟件,并將擴展名為.ipynb的程序文件在Jupyter Notebook軟件中上傳后運行。