关于 tooluniverse-ecology-biodiversity
面向生态与生物多样性研究的 ToolUniverse 技能,指导 Agent 查询物种分类、分布、保护状况和研究文献。内容涵盖入侵影响、传粉、种群及群落生态等问题的分析框架。
主要功能
- 01查询物种分类与分布
- 02检索保护状况和标本记录
- 03查找生态学研究文献
- 04分析入侵物种影响
- 05指导种群与群落生态分析
适用场景
- 01核对物种名称与分类信息
- 02评估某地入侵物种的生态影响
- 03检索传粉或种群研究证据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-ecology-biodiversity安装后在 Claude Code 中输入/tooluniverse-ecology-biodiversity确认已加载。
详细介绍
生态学与生物多样性研究
推理策略
1. 物种与分类学问题
当问题涉及物种识别或比较时:
- 查询,不要猜测——使用
GBIF_search_species获取分类信息;海洋生物使用WoRMS_search_species - 如果问题询问入侵物种的影响,可考虑:生态位重叠、繁殖率、捕食者释放和生态系统工程效应
- 使用
PubMed_search_articles或EuropePMC_search_articles查找有关特定生态影响的研究
2. 入侵物种影响评估
推理框架——比较入侵物种的影响时:
- 确定生态系统:受影响的生境/生物群系是什么?
- 评估影响机制:竞争?捕食?疾病传播媒介?生境改造?杂交?
- 影响范围:局部(单个地点)、区域还是大陆范围?
- 营养级位置:处于较高营养级的入侵物种(捕食者)造成的危害往往大于较低营养级的物种(食草动物)
- 生态系统工程:改造生境的物种(海狸、蚯蚓、排挤本土传粉者的蜜蜂)会造成远超其数量的影响
- 查询具体信息——不要依赖一般知识。在文献中搜索“[物种名称] invasive impact [地区]”
3. 传粉者生态学
传粉问题的推理框架:
- 觅食行为:区分探查(靠近/评估)和实际取食(喙管插入)
- 相互作用类型:互利共生(获得传粉回报)、寄生(盗蜜)、偏利共生
- 观察方法:摄像机陷阱存在分辨率/视场限制——应考虑在给定分辨率下能够识别哪些信息
- 统计学考量:观察者一致性(评分者间信度)、采样努力和时间模式
- 行为谱解释:每种行为类别都有特定的起始/结束判定标准——应严格遵循
4. 种群动态
种群生态学问题的推理框架:
- 增长模型:指数增长(不受限制)、逻辑斯谛增长(受 K 值限制)、Allee 效应(低密度问题)
- 灭绝分析:区分确定性灭绝(r < 0)和随机性灭绝(小种群波动)
- 生存分析:事件发生时间分析需要采用适当的统计检验(log-rank、Cox 回归、Kaplan-Meier)
- 微生物生态学:对于微生物对胁迫因子的响应,使用基于时间杀灭动力学的生存曲线分析。要比较不同种群的灭绝时间点,需要使用生存统计方法分析灭绝时间数据(而非仅比较终点)
5. 群落生态学与食物网
- 营养级联:移除顶级捕食者 → 中型捕食者释放 → 猎物减少
- 关键种:相对于其丰度,产生不成比例的影响
- 岛屿生物地理学:物种—面积关系、距离与定殖之间的权衡
- 竞争排斥:两个物种无法稳定共存于单一的限制性资源上(Gause 原理)
6. 进化生态学
- 警戒色:警戒色向捕食者传递有毒/不可口的信号
- 拟态:贝氏拟态(无害物种模仿危险物种)与穆氏拟态(危险物种相互模仿)
- 生活史权衡:r 策略(后代多、投入少)与 K 策略(后代少、投入多)
- 出生—死亡模型:对于系统发育问题,随时间变化的速率会引发可识别性问题。解决策略包括:限制速率变化、增加化石数据、使用分子数据校准,或限定为特定函数形式
可用工具
| 工具 | 用途 |
|---|---|
IUCN_get_conservation_status | 按学名查询红色名录保护状况(CR/EN/VU/NT/LC)——权威的灭绝风险来源(需要免费的 IUCN_API_KEY) |
GBIF_search_species | 物种分类、出现记录、分布 |
GBIF_search_occurrences | 在哪里观测到某个物种? |
GBIF_get_taxon_parents | 沿 GBIF 主干树向上遍历——获取 taxonKey 的分级祖先谱系(界→属) |
GBIF_get_taxon_children | 沿树向下遍历——获取直接子分类单元(例如,某个属中的物种) |
GBIF_get_taxon_synonyms | 获取已接受 taxonKey 的替代/历史学名 |
GBIF_get_vernacular_names | 获取 taxonKey 的俗名(含语言代码);可选的 language 筛选条件 |
GBIF_parse_name | 将杂乱或带作者信息的名称字符串解析为规范名称+属名/种加词/作者/年份 |
iDigBio_search_records | 按 genus/scientificname/地点搜索 1.3 亿多条数字化博物馆/植物标本馆标本记录(Darwin Core)——用于补充 GBIF,获取实物标本来源信息 |
iDigBio_get_record | 根据 uuid(来自 iDigBio_search_records)获取单个标本的完整 Darwin Core 详情 |
WoRMS_search_species | 海洋物种分类 |
BOLDSystems_search_by_taxon / _search_by_bin / _get_record | 基于 DNA 条形码的物种鉴定(COI 条形码);BIN 聚类按条形码相似度对标本分组,适用于 GBIF 基于名称的搜索无法解决的隐存种问题 |
ensembl_get_taxonomy | 分类学分类 |
NCBIDatasets_get_taxonomy | NCBI 分类查询 |
PubMed_search_articles | 生态学主题文献 |
EuropePMC_search_articles | 包含生态学主题的欧洲文献 |
浏览 GBIF 分类树
将名称解析为 GBIF usageKey 后,即可浏览主干树:
key = tu.run_tool("GBIF_match_name", {"name": "Panthera leo"})["data"]["usageKey"] # 5219404
tu.run_tool("GBIF_get_taxon_parents", {"taxon_key": key}) # Animalia→...→Felidae→Panthera
tu.run_tool("GBIF_get_taxon_synonyms", {"taxon_key": key}) # Felis leo Linnaeus, 1758, ...
tu.run_tool("GBIF_get_vernacular_names", {"taxon_key": key, "language": "eng"}) # Lion, African Lion
# Walk down from a genus key (Panthera = 2435194) to its species:
tu.run_tool("GBIF_get_taxon_children", {"taxon_key": 2435194, "limit": 8})
# Normalize an authored name string without a key:
tu.run_tool("GBIF_parse_name", {"name": "Quercus robur L."}) # canonicalName 'Quercus robur'
这五种工具都无需密钥即可调用 GBIF 公共 API。通过 GBIF_match_name 或 GBIF_search_species 获取起始 taxon_key。
其他分类学与生物多样性数据源
GBIF/WoRMS/BOLDSystems/iDigBio(见上文)是主要数据源。以下八个数据源补充了 GBIF 单独无法提供的权威分类、系统发育和观测数据覆盖范围——当 GBIF 的结果不明确、你需要的是系统发育树而非扁平分类,或你需要公民科学观测分布密度而非博物馆标本记录时,请使用它们。
| 工具 | 用途 |
|---|---|
EOL_search_species / EOL_get_page / EOL_get_hierarchy_entry / EOL_get_collection | Encyclopedia of Life——聚合物种页面(图片、文本、每页包含多个分类系统)、经策展的主题合集 |
ITIS_search_by_scientific_name / _search_by_common_name / ITIS_get_hierarchy / ITIS_get_full_record | ITIS(Integrated Taxonomic Information System)——权威的北美分类标准;返回 tsn(Taxonomic Serial Number,分类序列号) |
CoL_search_species / CoL_get_taxon / CoL_get_children | Catalogue of Life——覆盖范围最广的单一全球物种名录(整合了 190 多个来源数据库);当 GBIF 的骨干分类系统无法匹配时,是很好的首选 |
OpenTree_match_names / OpenTree_get_taxon / OpenTree_get_mrca / OpenTree_get_induced_subtree | Open Tree of Life——涵盖所有生物的综合系统发育树(不只是分类阶元层级);当问题涉及进化关系或分支顺序,而不只是分类时使用 |
iNaturalist_search_taxa / _get_taxon / _search_observations / _get_species_counts | iNaturalist——包含照片、地点和日期的公民科学观测记录;用于查询出现分布密度和近期目击记录,而非权威分类 |
OBIS_search_taxa / OBIS_search_occurrences | OBIS(Ocean Biodiversity Information System)——包含坐标和时间信息、并解析为 AphiaID(WoRMS 的标识符)的海洋物种出现记录;相当于海洋版的 GBIF 出现记录搜索 |
eBird_get_taxonomy / eBird_get_taxon_groups | eBird(Cornell Lab)——鸟类专用分类和物种分组;鸟类相关问题请使用它,而非通用分类数据源,因为后者对鸟类亚种和杂交种代码的覆盖较浅 |
MarineRegions_search_by_name / MarineRegions_get_record | Marine Regions Gazetteer(VLIZ)——通过 MRGID 查询海洋地理和政治边界(海域、专属经济区、海湾);与 OBIS 搭配,可回答“哪些出现记录位于这个具名海域内”这类问题 |
如何选择物种标识与分类数据源(EOL、ITIS、CoL、GBIF 都能回答“这是什么物种”):
- ITIS:当你需要北美监管标准标识符(
tsn)时使用。 - CoL:当 GBIF 的骨干分类系统无法匹配时,用于获取覆盖范围最广的全球物种名录。
- EOL:当你需要聚合页面(图片、多个分类层级、经策展的合集),而非单纯的分类记录时使用。
- Open Tree of Life:仅当问题确实涉及系统发育(MRCA、分支顺序、Newick 子树)时使用——其他数据源都不会返回进化关系。
- 交叉核对用的 ID 不可互换:同一物种在每个系统中的键都不同(GBIF
usageKey、ITIStsn、CoLtaxon_id、EOLpage_id、Open Treeott_id、iNaturalisttaxon_id、OBISAphiaID)——始终在同一个系统内解析,不要把一个数据库的 ID 用在另一个数据库的查询调用中。
示例:跨四个物种标识系统交叉核对物种(已通过实时查询验证,ID 真实有效):
tu.run_tool("EOL_search_species", {"query": "Panthera leo"}) # page_id 1270491
tu.run_tool("ITIS_search_by_scientific_name", {"scientific_name": "Panthera leo"}) # tsn 183803
tu.run_tool("CoL_search_species", {"q": "Panthera leo"}) # 293 CoL-database matches
tu.run_tool("OpenTree_match_names", {"names": "Panthera leo,Panthera tigris"})
# -> ott_id 563151 (leo), 42314 (tigris); note `names` is a comma-separated
# STRING, not a JSON array, even though it takes multiple names
示例:系统发育 MRCA 和子树(已通过实时查询验证):
tu.run_tool("OpenTree_get_mrca", {"ott_ids": "417950,770315"})
# -> mrca_name "Homininae", mrca_ott_id 312031, num_tips 19
tu.run_tool("OpenTree_get_induced_subtree", {"ott_ids": "417950,770315,312031"})
# -> real Newick tree with supporting_studies citations (pg_2741@tree6645, ...)
示例:海洋物种与区域(已通过实时查询验证):
tu.run_tool("OBIS_search_taxa", {"scientificname": "Rhincodon typus"}) # whale shark occurrence-resolved AphiaID
tu.run_tool("MarineRegions_search_by_name", {"name": "Mediterranean Sea"}) # MRGID 25180
示例:公民科学观测分布密度(已通过实时查询验证):
tu.run_tool("iNaturalist_search_taxa", {"query": "Panthera leo"})
# -> genus-level hit "Panthera" (59,036 observations) if the exact binomial
# isn't the top match — check the returned `rank` before assuming species-level
查阅资料,不要猜测
生态学问题的答案往往有悖直觉。例如:
- 蜜蜂(Apis mellifera)在美洲属于入侵物种,会排挤本土传粉者——这会让那些认为蜜蜂“有益”的人感到意外
- 破坏性最大的入侵物种往往并非最显而易见的那些
- 微生物灭绝临界点需要通过生存分析来判断,而不是简单的 t 检验
回答生态学问题前,务必检索文献。使用 PubMed_search_articles,并输入具体的检索词,例如“[物种] 入侵 影响 [地区]”或“[生物] [生态过程]”。
计算,不要描述
如果分析需要计算(统计分析、数据处理、评分、富集分析),请通过 Bash 编写并运行 Python 代码。不要描述你打算怎么做——实际执行并报告结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。