在生态学和植物科学领域,植物性状数据的重要性不言而喻。这些数据是我们理解植物生理、生态和进化过程的关键,也是预测全球变化对生态系统影响的基础。然而,获取全面、可靠的植物性状数据往往是一项具有挑战性的任务。随着大数据时代的到来,全球范围内的科研人员和机构开始致力于建立大型植物性状数据库,旨在整合和共享来自世界各地的植物性状信息。其中,最为知名和广泛使用的数据库包括TRY(全球植物性状数据库)、BIEN(植物信息和生态网络数据库)以及GIFT(全球植物区系和性状名录)等。这些数据库不仅汇集了海量的植物性状数据,还提供了便捷的检索和下载功能,极大地促进了植物科学研究的发展。然而,每个数据库都有其独特的结构、检索方式和使用规则,初次接触时往往会感到无从下手。因此,本篇教程主要整理了植物性状的获取方式,旨在为大家快速获取植物性状提供一个较为实用且全面的指南(由于个人能力有限,只收集整合了一些主流且适用性强的性状数据集,欢迎大家补充指正)。
性状数据的获取来源
1. TRY(全球植物性状数据库)
2. BIEN(植物信息和生态网络数据库)
3. GIFT(全球植物区系和性状名录)
4. sPlotOpen(全球植被样地数据库)
5. 其它数据集(植物形态和功能全球谱数据集、CoRRE性状数据集、中国植物性状数据库v2、GRooT、其它一些区域性状数据库)
下面将逐一对这些数据库(集)进行介绍,教程完整代码可从github下载(https://github.com/biodiversity-monitoring/WeChat/blob/main/code/R/plant_traits/plant_traits.R )。
1 TRY数据库
2007年,TRY倡议(TRY–不是首字母缩略词,而是情感表达:http://www.try-db.org)开始从全球范围内植物功能的不同方面汇编植物性状数据,以便通过一个门户以一致的格式提供数据。截至目前,TRY已从数据库中发布了超过50,000,000,000条数据:50亿个性状和450亿条辅助数据。有关TRY数据库的详细介绍可以参考下面的这篇文献:
Kattge J, Bönisch G, Díaz S, et al. TRY plant trait database – enhanced coverage and open access.Glob Change Biol. 2020;26:119–188. https://doi.org/10.1111/gcb.14904
在众多的性状数据库中,TRY(目前已经更新到了第6版)无疑是使用最为广泛的。不过其获取方式也较为麻烦,需要先在TRY的数据门户上进行数据申请,然后使用rtry包在R中进行数据处理。
TRY性状数据的申请流程如下:
在收到数据后,我们就可以使用rtry包对下载的数据进一步处理了,参考代码如下(更多的使用细节可以查看我之前的推文:Ecology and Evolution | rtry:支持植物性状数据预处理的R包或者https://github.com/MPI-BGC-Functional-Biogeography/rtry/wiki):
# install.packages('rtry')
# 加载rtry包
library(rtry)
# 1.1 使用rtry_import函数进行数据导入
# 这里为了方便演示导入了内置的TRY数据
# 导入我们自己的数据只要更换路径就可以,例如:TRYdata <- rtry_import("C:/Users/Administrator/Desktop/34975.txt")
TRYdata1 <- rtry_import(system.file("testdata", "data_TRY_15160.txt", package = "rtry"))
# 使用View函数查看数据,后面需要查看数据时可以经常使用,不再赘述
View(TRYdata1)
# 同样的方式导入第2个数据集
TRYdata2 <- rtry_import(system.file("testdata", "data_TRY_15161.txt", package = "rtry"))
View(TRYdata2)
# 1.2 使用rtry_explore函数进行数据探索
TRYdata_explore <- rtry_explore(TRYdata1,DataID,DataName,TraitID,TraitName,sortBy=TraitID,showOverview=FALSE)
View(TRYdata_explore)
# 1.3 使用rtry_bind_row函数按行绑定导入的两个数据集
TRYdata <- rtry_bind_row(TRYdata1, TRYdata2)
View(TRYdata)
# 1.4 现在数据集的信息可能有点冗余,要精简信息可以使用下面的方法
# 使用rtry_remove_col删除某一列
workdata <- rtry_remove_col(TRYdata, V28)
# 使用rtry_select_col函数选择需要的列
workdata <- rtry_select_col(workdata, ObsDataID, ObservationID, AccSpeciesID, AccSpeciesName, ValueKindName, TraitID, TraitName, DataID, DataName, OriglName, OrigValueStr, OrigUnitStr, StdValue, UnitName, OrigObsDataID, ErrorRisk, Comment)
# 使用rtry_select_row函数选择所有性状记录和感兴趣的辅助数据
workdata <- rtry_select_row(workdata, TraitID > 0 | DataID %in% c(59, 60, 61, 6601, 327, 413, 1961, 113))
# 1.5 使用rtry_exclude函数排除数据,根据实际研究选择
# 排除对幼年植物或幼树的观测
workdata <- rtry_exclude(workdata, (DataID %in% 413) & (OrigValueStr %in% c("juvenile", "saplings")), baseOn = ObservationID)
# 排除没有地理参考信息和不相关区域的观测值,如排除小于 10 或大于 60 的经度(纬度的DataID是59)
workdata <- rtry_exclude(workdata, (DataID %in% 60) & (StdValue < 10 | StdValue > 60 | is.na(StdValue)), baseOn = ObservationID)
# 排除非代表性子性状(7222和7223包含了性状3115的最小值和最大值, 3117 中的 6598 也是如此,因此排除掉它们)
workdata <- rtry_exclude(workdata, DataID %in% c(7222, 7223, 6598), baseOn = ObsDataID)
# 根据标准值 (StdValue) 排除数据,例如排除6582、6583 和 6584 三个SLA相关性状的数据中标准值小于5的值
workdata <- rtry_exclude(workdata, (DataID %in% c(6582, 6583, 6584)) & (StdValue < 5), baseOn = ObsDataID)
# 根据错误风险排除离群值 (ErrorRisk),这里排除ErrorRisk大于等于3的值
3, baseOn = ObsDataID) =
# 1.6 使用rtry_remove_dup函数根据重复标识符 (OrigObsDataID) 删除重复项
workdata <- rtry_remove_dup(workdata)
# 1.7 使用rtry_trans_wider函数转换为宽表(长表格式是出于数据管理目的,宽表格式才是我们平时处理数据比较习惯的格式)
# 选择包含完整TraitID和StdValue的行
num_traits <- rtry_select_row(workdata, complete.cases(TraitID) & complete.cases(StdValue))
# 从筛选后的数据中选择指定的列
num_traits <- rtry_select_col(num_traits, ObservationID, AccSpeciesID, AccSpeciesName, TraitID, TraitName, StdValue, UnitName)
# 提取纬度数据(DataID 59)及对应的ObservationID
workdata_lat <- rtry_select_anc(workdata, 59)
# 提取经度数据(DataID 60)及对应的ObservationID
workdata_lon <- rtry_select_anc(workdata, 60)
# 合并提取的辅助数据与数值性状数据
# 使用rtry_join_left(左连接)基于ObservationID合并相关数据框
# 将纬度数据合并到num_traits中
num_traits_georef <- rtry_join_left(num_traits, workdata_lat, baseOn = ObservationID)
# 将经度数据合并到num_traits_georef中
num_traits_georef <- rtry_join_left(num_traits_georef, workdata_lon, baseOn = ObservationID)
# 对TraitID、TraitName和UnitName进行宽表转换,单元格值为StdValue的平均值
# 将数据转换为宽表格式,每个性状作为一列,值为StdValue的平均值
num_traits_georef_wider <- rtry_trans_wider(num_traits_georef,
names_from = c(TraitID, TraitName, UnitName),
values_from = c(StdValue),
values_fn = list(StdValue = mean))
View(num_traits_georef_wider)
# 1.8 使用rtry_export函数导出预处理后的 TRY 数据
rtry_export(num_traits_georef_wider,"traits.csv")
2 BIEN数据库
为了利用日益大量的植物学数据进行可重复的科学研究,BIEN工作组自2008年以来一直致力于将不同的植物学研究人员网络整合在一起。目标是开发基线信息学基础设施和协作网络。BIEN的一个中心目标是汇集有关植物分布、多度和性状的数据,以预测和减轻气候变化对植物物种和群落的影响。BIEN数据库(最新版本4.2)提供了一个通用模式,用于合并来自标本、植被清单和区域清单的个体和物种的地理参考观察,以及物种水平性状的测量,例如大小、生长形式、木材密度、比叶面积等。更多详细信息可以查阅BIEN官网(http://bien.nceas.ucsb.edu/bien/),在此主要介绍如何使用BIEN包从BIEN数据库中下载性状数据。
相比于TRY数据库,BIEN数据库的数据在获取方式上较为直接,可以通过BIEN包直接下载使用,更多细节可以查看我之前的推文(MEE | BIEN R包:访问植物信息和生态网络(BIEN)数据库的工具)或者官方的教程文档(https://cran.r-project.org/web/packages/BIEN/vignettes/BIEN_tutorial.html)。参考代码如下:
#install.packages('BIEN')
library(BIEN)
# 如果我们对某一性状感兴趣,第一步是检查该性状是否存在,并使用函数 BIEN_trait_list 验证拼写
BIEN_trait_list()
# 获取特定科的所有性状数据
family_traits <- BIEN_trait_family(family = "Poaceae")
head(family_traits)
# 获取多个科的所有性状数据,以下类似
family_traits <- BIEN_trait_family(family = c("Poaceae","Orchidaceae"))
View(family_traits)
# 获取特定属的性状数据
genus_traits <- BIEN_trait_genus(genus = "Acer")
head(genus_traits)
# 获取特定物种的性状数据
species_traits <- BIEN_trait_species(species = "Poa annua")
head(species_traits)
# 获取特定性状的所有记录
leaf_area_traits <- BIEN_trait_trait(trait = "leaf area")
head(leaf_area_traits)
# 获取多个性状的所有记录
BIEN_traits <- BIEN_trait_trait(trait = c("whole plant height", "leaf dry mass per leaf fresh mass"))
head(BIEN_traits)
# 估算物种平均性状值
# BIEN_trait_mean函数在没有物种水平数据的情况下,使用属或科水平数据估算给定性状的物种平均值
BIEN_trait_mean(species=c("Poa annua","Juncus trifidus"),trait="leaf dry mass per leaf fresh mass")
# 获取特定科和性状的数据
family_leaf_area <- BIEN_trait_traitbyfamily(trait = "whole plant height", family = "Poaceae")
head(family_leaf_area)
# 获取特定属和性状的数据
genus_wood_density <- BIEN_trait_traitbygenus(trait = "whole plant height", genus = "Carex")
head(genus_wood_density)
# 获取特定物种和性状的数据
species_hl <- BIEN_trait_traitbyspecies(trait = c("whole plant height", "leaf area"), species = c("Carex capitata","Betula nana"))
head(species_hl)
# BIEN_trait_species 提取物种国家的性状数据
BIEN_trait_country("South Africa")
BIEN_trait_country(country="South Africa",trait="whole plant growth form")
3 GIFT数据库
GIFT(全球植物区系和性状名录)是一个包含区域植物名录、物种水平功能性状和环境区域特征的全球数据库。自2018年发布1.0版(https://gift.uni-goettingen.de/about)以来,GIFT中的植物清单和地理区域数量稳步增加。GIFT 3.0包含109种不同功能性状的数据,共有5,679,014条物种水平的性状记录。不同的性状分布在六个类别中:形态、生态、生理、生殖、遗传或生活史。GIFT数据库的性状数据同样可以在R中使用GIFT包进行快速处理,更多细节可以查阅我之前的推文(MEE | GIFT——用于访问全球植物区系和性状名录的R包、实例教程 | 使用“GIFT”包访问全球植物区系和性状数据库)。
使用GIFT包下载性状数据的参考代码如下:
library("GIFT")
options(timeout = max(1000, getOption("timeout")))
trait_meta <- GIFT_traits_meta()
View(trait_meta)
height <- GIFT_traits(trait_IDs = c("1.6.2"), agreement = 0.66, bias_ref = FALSE, bias_deriv = FALSE)
View(height)
height_raw <- GIFT_traits_raw(trait_IDs = c("1.6.2"))
View(height_raw)
trait_tax <- GIFT_traits_tax(trait_IDs = c("1.1.1", "1.2.1", "1.4.1"),bias_ref = FALSE, bias_deriv = FALSE)
View(trait_tax)
注意:GIFT包很容易因为网络问题出现下载错误,所以需要设置一下超时时间。
4 sPlotOpen数据库
sPlotOpen数据库是一个全球性的开放植被数据资源,专为全球宏观生态学研究而设计(例如探索从大陆到全球的群落功能多样性模式)。该数据库包含来自68个国家的95,000多个植被样地数据,记录了约50,000种维管植物物种。作为sPlot全球植被数据库的开放子集,sPlotOpen允许研究者自由下载和使用数据,无需特殊许可。更多细节可以查看我前面的推文(Global Ecology and Biogeography| sPlotOpen:一个环境平衡、开放存取的全球植被样地数据集)。
相比于其它数据库,sPlotOpen是特殊的,因为它提供的是样地(群落)水平的性状值。sPlotOpen的性状数据可从 https://idata.idiv.de/ddm/Data/ShowData/3474?version=76进行下载使用。下载完成后,数据可以直接加载到RStudio中使用。
5 其它数据集
植物形态和功能全球谱数据集于2022年发布,包含六种维管植物性状的物种平均值。这些性状——株高、茎比密度、叶面积、单位面积叶片质量、单位干重叶片含氮量和传播体(种子或孢子)质量——共同定义了植物形态和功能变异的主轴。该数据集基于通过TRY数据库获得的约100万条性状记录(代表约2,500篇原始出版物)以及其他未发表的数据。它提供了92,159个物种的六个性状平均值,涵盖46,047个物种。这些数据由更高层次的分类学分类和六个分类性状(木质、生长型、肉质、对陆生或水生生境的适应性、营养类型和叶片类型)进行补充。数据质量管理以概率方法为基础,结合专家知识和外部信息进行全面验证。通过密集的数据采集和全面的质量控制,形成了迄今为止规模最大、据我们所知最准确的维管植物物种平均性状经验观察汇编。更多细节可以参考之前的推文(Scientific Data | 植物形态和功能全球谱:增强的物种水平性状数据集)。
植物形态和功能全球谱数据集是Díaz等提出的植物形态和功能全球谱的分析基础,如果在出版物中使用该数据集,应同时引用该数据集和Díaz等2016年在Nature上发表的文章,即:
Díaz, S., Kattge, J., Cornelissen, J. et al. The global spectrum of plant form and function. Nature 529, 167–171 (2016). https://doi.org/10.1038/nature16489
Díaz, S., Kattge, J., Cornelissen, J.H.C. et al. The global spectrum of plant form and function: enhanced species-level trait dataset. Sci Data 9, 755 (2022). https://doi.org/10.1038/s41597-022-01774-9
该数据集以CC-BY许可在TRY File Archive(https://www.try-db.org/TryWeb/Data.php#81)上提供,点击这个链接下载即可。
CoRRE性状数据集于2024年7月发布,涵盖了17个性状(9个分类性状、8个连续性状),预计用于预测物种对全球变化的反应,这些性状涉及世界各地390个草原实验中173个植物科的4,079种维管植物。该数据集包含通过全面文献检索获得的所有4,079个植物物种的完整分类性状记录,以及2,927个植物物种子集的近乎完整(99.97%)的插补连续性状值。这些数据将揭示全球草原种群、群落和生态系统对全球变化的反应机制。更多细节可以查看之前的推文(Scientific Data | CoRRE性状数据:全球4079种草原物种的17个分类和连续性状的数据集)。
可通过EDI获取这些数据(https://portal.edirepository.org/nis/mapbrowse?packageid=edi.1533.3)。数据集48包含三个文件:(1)CoRRE分类性状数据;(2)CoRRE连续性状数据;(3)插补训练数据。性状定义和单位概览见表1(分类性状)和表2(连续性状)。
中国植物性状数据库v2于2022年12月发布,其中包含来自140个地点的1,529个独特物种的形态、物理、化学、光合作用和水力性状的信息,涵盖各种植被类型。更多细节可以查阅这篇文献:
Wang, H., Harrison, S.P., Li, M. et al. The China plant trait database version 2. Sci Data 9, 769 (2022). https://doi.org/10.1038/s41597-022-01884-4
中国植物性状数据库v2可从figshare获得(一般需要科学上网才能打开)。数据库链接为:https://figshare.com/articles/dataset/The_China_Plant_Trait_Database_Version_2_0/19448219。或者也可到国家生态数据中心资源共享服务平台进行数据下载。
GRooT的主要目标是使根性状数据可供使用,尤其是在大尺度分析的背景下。GRooT包括38个根性状,根据114,222个性状记录,有38,276个物种的位点平均值。GRooT包括>1,000物种,具有以下9个性状的数据:根质量分数、根碳氮浓度、横向扩散、根菌根定植强度、平均根直径、根组织密度、比根长和最大生根深度。细节内容可以查阅这篇文献:
Guerrero-Ramirez N, Mommer L, Freschet GT, Iversen CM, McCormack M.L, et al. 2020. Global Root Traits (GRooT) Database. Global Ecology and Biogeography. doi.org/10.1111/geb.13179
GRooT包含两个csv文件和一个R脚本。可从github下载(https://github.com/GRooT-Database/GRooT-Data)。
这部分适用性没那么强,只是列举部分看到的性状数据库,如:
AusTraits:澳大利亚植物植物性状数据库
FRED:细根生态数据库
CLO-PLA:中欧植物区系的克隆和芽库性状数据库
LEDA性状库:西北欧植物群生活史性状数据库
参考来源
Kattge J, Bönisch G, Díaz S, et al. TRY plant trait database – enhanced coverage and open access. Glob Change Biol. 2020; 26: 119–188. https://doi.org/10.1111/gcb.14904 https://github.com/MPI-BGC-Functional-Biogeography/rtry/wiki Maitner BS, Boyle B, Casler N, et al. The bien r package: A tool to access the Botanical Information and Ecology Network (BIEN) Database. Methods Ecol Evol. 2018; 9: 373–379. https://doi.org/10.1111/2041-210X.12861 https://cran.r-project.org/web/packages/BIEN/vignettes/BIEN_tutorial.html Denelle, P., Weigelt, P., & Kreft, H. (2023). GIFT—An R package to access the Global Inventory of Floras and Traits. Methods in Ecology and Evolution, 14, 2738–2748. https://doi.org/10.1111/2041-210X.14213 Díaz, S., Kattge, J., Cornelissen, J. et al. The global spectrum of plant form and function. Nature 529, 167–171 (2016). https://doi.org/10.1038/nature16489 Díaz, S., Kattge, J., Cornelissen, J.H.C. et al. The global spectrum of plant form and function: enhanced species-level trait dataset. Sci Data 9, 755 (2022). https://doi.org/10.1038/s41597-022-01774-9 Komatsu, K.J., Avolio, M.L., Padullés Cubino, J. et al. CoRRE Trait Data: A dataset of 17 categorical and continuous traits for 4079 grassland species worldwide. Sci Data 11, 795 (2024). https://doi.org/10.1038/s41597-024-03637-x Wang, H., Harrison, S.P., Li, M. et al. The China plant trait database version 2. Sci Data 9, 769 (2022). https://doi.org/10.1038/s41597-022-01884-4 Guerrero-Ramirez N, Mommer L, Freschet GT, Iversen CM, McCormack M.L, et al. 2020. Global Root Traits (GRooT) Database. Global Ecology and Biogeography. doi.org/10.1111/geb.13179 Falster, D., Gallagher, R., Wenk, E.H. et al. AusTraits, a curated plant trait database for the Australian flora. Sci Data 8, 254 (2021). https://doi.org/10.1038/s41597-021-01006-6