用法:genbank2uid(id, batch_size = 100, key = NULL, ...)
参数:
说明:关于为什么有两个标识符以及它们之间的区别,请参阅 https://www.ncbi.nlm.nih.gov/Sitemap/sequenceIDs.html。
返回值:一个或多个 NCBI 分类 ID。
NCBI请求限制:以防万一你触发了NCBI的请求速率限制导致出错,参考taxize_options(),你可以设置ncbi_sleep。
NCBI请求的HTTP版本:本方法硬编码了http_version=2L以便让HTTP请求使用HTTP/1.1访问Entrez API。详见curl::curl_symbols(“CURL_HTTP_VERSION”)。
示例1:使用许可编号
genbank2uid(id = 'AJ748748')
[[1]]
[1] "282199"
attr(,"class")
[1] "uid"
attr(,"match")
[1] "found"
attr(,"multiple_matches")
[1] FALSE
attr(,"pattern_match")
[1] FALSE
attr(,"uri")
[1] "https://www.ncbi.nlm.nih.gov/taxonomy/282199"
attr(,"name")
[1] "Nereida ignava 16S rRNA gene, type strain 2SM4T"
示例2:使用gi编号
genbank2uid(id = 62689767)
[[1]]
[1] "282199"
attr(,"class")
[1] "uid"
attr(,"match")
[1] "found"
attr(,"multiple_matches")
[1] FALSE
attr(,"pattern_match")
[1] FALSE
attr(,"uri")
[1] "https://www.ncbi.nlm.nih.gov/taxonomy/282199"
attr(,"name")
[1] "Nereida ignava 16S rRNA gene, type strain 2SM4T"
描述:检查从 .Rprofile 或 .Renviron(或类似文件)中获取的密钥。
用法:getkey(x = NULL, service)
参数:
getkey(service="tropicos")
[1] "00ca3d6a-cbcc-4924-b882-c26b16d54446"
用法:
get_boldid(sci, fuzzy=FALSE, dataTypes='basic', includeTree=FALSE, ask=TRUE, message=TRUE, rows=NA, rank=NULL, division=NULL, parent=NULL, searchterm=NULL, ...)
as.boldid(x, check=TRUE)
## S3 method for class 'boldid'
as.boldid(x, check=TRUE)
## S3 method for class 'character'
as.boldid(x, check=TRUE)
## S3 method for class 'list'
as.boldid(x, check=TRUE)
## S3 method for class'numeric'
as.boldid(x, check=TRUE)
## S3 method for class 'data.frame'
as.boldid(x, check=TRUE)
## S3 method for class 'boldid'
as.data.frame(x, ...)
get_boldid_(sci, message=TRUE, fuzzy=FALSE, dataTypes='basic', includeTree=FALSE, rows=NA, searchterm=NULL, ...)
参数:
接受值 | 返回说明 |
---|---|
all | 所有数据 |
basic | 基本的类群信息 |
images | 标本图片。包含版权信息,图片链接,图片元数据 |
stats | 标本和测序统计。包括公开物种数,公开BIN数,公开标记物数,公开记录数,标本数,测序物种数,条形码标本数,物种数,条形码物种数 |
geo | 采集点信息。包括国家和采集点地图 |
sequencinglabs | 测序实验室。包括实验室名称和记录数 |
depository | 标本仓库。包括仓库名和记录数 |
thirdparty | 第三方信息。包括维基百科总结,维基百科链接和GBIF地图 |
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且行不等于 NA,则返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。
筛选:division、parent和rank参数不用于搜索数据提供者,而是用于将数据筛选为更接近所需目标的子集。所有这些参数都可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。过滤将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
示例1:简单传入分类名称。
get_boldid(sci = "Agapostemon")
[1] "1973"
attr(,"class")
[1] "boldid"
attr(,"match")
[1] "found"
attr(,"multiple_matches")
[1] FALSE
attr(,"pattern_match")
[1] FALSE
attr(,"uri")
[1] "http://boldsystems.org/index.php/Taxbrowser_Taxonpage?taxid=1973"
示例2:模糊匹配。
get_boldid(sci="Osmi", fuzzy=TRUE)
示例3:筛选子集。
get_boldid(sci="Osmi", fuzzy=TRUE, rows = 1)
[1] "4940"
attr(,"class")
[1] "boldid"
attr(,"match")
[1] "found"
attr(,"multiple_matches")
[1] TRUE
attr(,"pattern_match")
[1] TRUE
attr(,"uri")
[1] "http://boldsystems.org/index.php/Taxbrowser_Taxonpage?taxid=4940"
描述:请注意,EOL 并没有提供直接查询 EOL 分类群 ID 的 API 端点,因此我们首先使用函数 eol_search()查找涉及相关物种的页面,然后使用 eol_pages()查找实际的分类群 ID。
用法:
get_eolid(sci_com, ask=TRUE, messages=TRUE, rows=NA, rank=NULL, data_source=NULL, sciname=NULL, ...)
as.eolid(x, check=TRUE)
## S3 method for class 'eolid'
as.eolid(x, check=TRUE)
## S3 method for class 'character'
as.eolid(x, check=TRUE)
## S3 method for class 'list'
as.eolid(x, check=TRUE)
## S3 method for class 'numeric'
as.eolid(x, check=TRUE)
## S3 method for class 'data.frame'
as.eolid(x, check=TRUE)
## S3 method for class 'eolid'
as.data.frame(x, ...)
get_eolid_(sci_com, messages=TRUE, rows=NA, sciname=NULL, ...)
参数:
说明:EOL 有点奇怪,它们为每个分类群都设置了页面 ID,但在页面 ID 中,它们又为该页面中的不同分类群设置了分类群 ID(例如,GBIF 和 NCBI 在页面 [即分类群] 中都有一个分类群)。我们需要特定数据提供者(如 NCBI)提供的分类群 id 来做其他事情,比如获取更高级的分类树。然而,我们需要的是页面 id,而不是分类群 id。因此,该函数返回的 id 是分类群 id,而不是页面 id。你可以通过使用 eol_search() 和 'eol_pages() 获得分类群的页面 id,分类群属性中返回的 URI 将引导你进入分类群页面,URL 中的 ID 就是页面 id。
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。有关属性和异常情况的详细信息,请参见 get_id_details。
筛选:rank 和 data_source 参数不用于搜索数据提供者,而是用于过滤数据,使其成为更接近所需目标的子集。所有这些参数都可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。筛选将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
示例
get_eolid('Poa annua', rows=1)
[1] "11811642"
attr(,"class")
[1] "eolid"
attr(,"pageid")
[1] "1114594"
attr(,"provider")
[1] "Arctic Vascular Plants"
attr(,"match")
[1] "found"
attr(,"multiple_matches")
[1] TRUE
attr(,"pattern_match")
[1] TRUE
attr(,"uri")
[1] "https://eol.org/pages/1114594/"
用法:
get_gbifid(sci, ask = TRUE, messages = TRUE, rows = NA, phylum = NULL, class = NULL, order = NULL, family = NULL, rank = NULL, method = "backbone", sciname = NULL, ...)
as.gbifid(x, check = FALSE)
## S3 method for class 'gbifid'
as.gbifid(x, check = FALSE)
## S3 method for class 'character'
as.gbifid(x, check = TRUE)
## S3 method for class 'list'
as.gbifid(x, check = TRUE)
## S3 method for class 'numeric'
as.gbifid(x, check = TRUE)
## S3 method for class 'data.frame'
as.gbifid(x, check = TRUE)
## S3 method for class 'gbifid'
as.data.frame(x, ...)
get_gbifid_(sci, messages = TRUE, rows = NA, method = "backbone", sciname = NULL)
参数:
说明:在这个函数的内部,我们使用一个函数来搜索 GBIF 的分类标准,如果找到完全匹配的,我们会返回该匹配的 ID。如果没有完全匹配,我们将返回选项供您选择。
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果 如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE,且行不等于 NA,则返回一个 data.frame,但不是 uid 类、 这样就不能像通常那样将其传递给其他函数。有关属性和异常情况的详细信息,请参见 get_id_details。
method参数:"backbone "使用/species/match GBIF API途径,根据其主干分类法进行匹配。我们默认开启模糊匹配,因为不开启模糊匹配的骨干分类法搜索范围很窄。“查找”(lookup)使用/species/search GBIF API途径,对名称使用情况进行全文检索,包括科学命名和俗名、物种描述、分布和整个分类信息。
筛选:phylum, class, order, family, 和 rank参数并不用于搜索数据提供者,而是用于过滤数据,筛选出更接近所需目标的子集。所有这些参数都可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。过滤将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
示例:get_gbifid(sci='Poa annua')
描述:这是一个方便的函数,用于获取所有数据源的标识符。您可以使用其他 get_* 函数来获取特定数据源中的标识符。
用法:
get_ids(sci_com, db = c("itis", "ncbi", "eol", "tropicos", "gbif", "nbn", "pow"), suppress = FALSE, names = NULL, ...)
get_ids_(sci_com, db = get_ids_dbs, rows = NA, suppress = FALSE, names = NULL, ...)
参数:
返回值:分类标识符向量,每个标识符都保留了各自的 S3 类别,这样每个元素都可以传递给另一个函数。
说明:向 NCBI 查询的间隔时间为 1/3 秒。
示例:get_ids("Poa annua", db="eol", rows=1)
说明:
• get_boldid()
• get_eolid()
• get_gbifid()
• get_ids()
• get_iucn()
• get_natservid()
• get_nbnid()
• get_tolid()
• get_tpsid()
• get_tsn()
• get_ubioid()
• get_uid()
• get_wiki()
• get_wormsid()
属性:get_*() 函数的每个输出都具有以下属性:
抛出异常:以下是 get_*() 函数的各种行为方式:
用法:
get_iucn(sci, messages = TRUE, key = NULL, x = NULL, ...)
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'iucn'
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'character'
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'list'
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'numeric'
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'data.frame'
as.iucn(x, check = TRUE, key = NULL)
## S3 method for class 'iucn'
as.data.frame(x, ...)
参数:
说明:没有下划线方法,是因为没有真正的 IUCN 搜索,即搜索一个字符串,然后通过模糊匹配得到一堆结果。如果将来出现这种情况,我们将在这里添加下划线方法。IUCN ID 仅适用于synonyms() 和 sci2comm() 方法。
返回值:作为 S3 类的分类标识符向量。具有以下属性:
match:(字符型)NA 的原因,可以是 “not found”、“found”,或者如果 ask = FALSE,则 “NA 因为 ask=FALSE”)。
name:(字符型)synonyms()和 sci2comm() 方法需要分类名称,因为它们内部使用的 rredlist 函数需要分类名称,而不是分类标识符。
ri(字符型)可以读取分类群更多信息的 URI - 包括 URL 中的分类标识符。
在这里,multiple_match 和 pattern_match 并不像其他 get_* 方法那样适用,因为没有 IUCN Redlist 搜索,所以要么匹配,要么不匹配。
示例:get_iucn("Branta canadensis")
用法:
get_natservid(sci_com, searchtype = "scientific", ask = TRUE, messages = TRUE, rows = NA, query = NULL, ...)
as.natservid(x, check = TRUE)
## S3 method for class 'natservid'
as.natservid(x, check = TRUE)
## S3 method for class 'character'
as.natservid(x, check = TRUE)
## S3 method for class 'list'
as.natservid(x, check = TRUE)
## S3 method for class 'numeric'
as.natservid(x, check = TRUE)
## S3 method for class 'data.frame'
as.natservid(x, check = TRUE)
## S3 method for class 'natservid'
as.data.frame(x, ...)
get_natservid_(sci_com, searchtype = "scientific", messages = TRUE, rows = NA, query = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且行不等于 NA,则返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。有关属性和例外情况的更多详情,请参阅 get_id_details。
示例:get_natservid("Helianthus annuus", verbose = TRUE)
用法:
get_nbnid(sci_com, ask = TRUE, messages = TRUE, rec_only = FALSE, rank = NULL, rows = NA, name = NULL, ...)
as.nbnid(x, check = TRUE)
## S3 method for class 'nbnid'
as.nbnid(x, check = TRUE)
## S3 method for class 'character'
as.nbnid(x, check = TRUE)
## S3 method for class 'list'
as.nbnid(x, check = TRUE)
## S3 method for class 'data.frame'
as.nbnid(x, check = TRUE)
## S3 method for class 'nbnid'
as.data.frame(x, ...)
get_nbnid_(sci_com, messages = TRUE, rec_only = FALSE, rank = NULL, rows = NA, name = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。
请参阅 get_id_details,了解更多详细信息,包括属性和异常 nbnid 类对象,是对作为分类 ID 的字符串的轻量级封装–包括具有相关元数据的属性。
示例:get_nbnid(sci_com='Poa annua')
用法:
get_pow(sci_com, accepted = FALSE, ask = TRUE, messages = TRUE, rows = NA,family_filter = NULL,rank_filter = NULL,x = NULL,...)
as.pow(x, check = TRUE)
## S3 method for class 'pow'
as.pow(x, check = TRUE)
## S3 method for class 'character'
as.pow(x, check = TRUE)
## S3 method for class 'list'
as.pow(x, check = TRUE)
## S3 method for class 'data.frame'
as.pow(x, check = TRUE)
## S3 method for class 'pow'
as.data.frame(x, ...)
get_pow_(sci_com, messages = TRUE, rows = NA, x = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。请参阅 get_id_details,了解更多详细信息,包括属性和异常。
筛选:参数 family_filter 和 rank_filterer 不用于搜索数据提供者,而是用于过滤数据,使其成为更接近所需目标的子集。对于这两个参数,可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。过滤将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
请求频率限制:截至 2019 年 2 月,KEW 限制为每秒 5 个请求。请注意,他们将来可能会更改这一数字。如果你收到包含 429 的错误,那就是达到了速率限制,你可以通过在请求之间使用 Sys.sleep 来解决这个问题。
示例:get_pow(sci_com="Helianthus")
描述:从 OpenTreeOfLife 检索分类群的开放生命树分类法 (OTT) ID。
用法:
get_tolid(sci, ask = TRUE, messages = TRUE, rows = NA, sciname = NULL, ...)
as.tolid(x, check = TRUE)
## S3 method for class 'tolid'
as.tolid(x, check = TRUE)
## S3 method for class 'character'
as.tolid(x, check = TRUE)
## S3 method for class 'list'
as.tolid(x, check = TRUE)
## S3 method for class 'numeric'
as.tolid(x, check = TRUE)
## S3 method for class 'data.frame'
as.tolid(x, check = TRUE)
## S3 method for class 'tolid'
as.data.frame(x, ...)
get_tolid_(sci, messages = TRUE, rows = NA, sciname = NULL)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。请参阅 get_id_details,了解更多详细信息,包括属性和异常。
示例:get_tolid(sci = "Quercus douglasii")
用法:
get_tpsid(sci, ask = TRUE, messages = TRUE, key = NULL, rows = NA, family = NULL, rank = NULL, sciname = NULL, ...)
as.tpsid(x, check = TRUE)
## S3 method for class 'tpsid'
as.tpsid(x, check = TRUE)
## S3 method for class 'character'
as.tpsid(x, check = TRUE)
## S3 method for class 'list'
as.tpsid(x, check = TRUE)
## S3 method for class 'numeric'
as.tpsid(x, check = TRUE)
## S3 method for class 'data.frame'
as.tpsid(x, check = TRUE)
## S3 method for class 'tpsid'
as.data.frame(x, ...)
get_tpsid_(sci, messages = TRUE, key = NULL, rows = NA, sciname = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。请参阅 get_id_details,了解更多详细信息,包括属性和异常。
筛选:参数 family 和 rank 不用于搜索数据提供者,而是用于过滤数据,使其成为更接近所需目标的子集。对于这两个参数,可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。过滤将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
示例:get_tpsid(sci='Poa annua')
用法:
get_tsn(sci_com, searchtype = "scientific", accepted = FALSE, ask = TRUE, messages = TRUE, rows = NA, searchterm = NULL, ...)
as.tsn(x, check = TRUE)
## S3 method for class 'tsn'
as.tsn(x, check = TRUE)
## S3 method for class 'character'
as.tsn(x, check = TRUE)
## S3 method for class 'list'
as.tsn(x, check = TRUE)
## S3 method for class 'numeric'
as.tsn(x, check = TRUE)
## S3 method for class 'data.frame'
as.tsn(x, check = TRUE)
## S3 method for class 'tsn'
as.data.frame(x, ...)
get_tsn_(sci_com, messages = TRUE, searchtype = "scientific", accepted = TRUE, rows = NA, searchterm = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。请参阅 get_id_details,了解更多详细信息,包括属性和异常。
示例:get_tsn("Quercus douglasii")
用法:
get_uid(sci_com, ask = TRUE, messages = TRUE, rows = NA, modifier = NULL, rank_query = NULL, division_filter = NULL, rank_filter = NULL, key = NULL, sciname = NULL, ...)
as.uid(x, check = TRUE)
## S3 method for class 'uid'
as.uid(x, check = TRUE)
## S3 method for class 'character'
as.uid(x, check = TRUE)
## S3 method for class 'list'
as.uid(x, check = TRUE)
## S3 method for class 'numeric'
as.uid(x, check = TRUE)
## S3 method for class 'data.frame'
as.uid(x, check = TRUE)
## S3 method for class 'uid'
as.data.frame(x, ...)
get_uid_(sci_com, messages = TRUE, rows = NA, key = NULL, sciname = NULL, ...)
参数:
返回值:作为 S3 类的分类标识符向量。如果未找到分类群,则给出 NA。如果找到一个以上的标识符,如果 ask = TRUE,函数会要求用户输入,否则返回 NA。如果 ask=FALSE 且 rows 不等于 NA,则会返回一个 data.frame,但不是 uid 类,不能像通常那样传递给其他函数。请参阅 get_id_details,了解更多详细信息,包括属性和异常。
请求速率限制:如果因超出速率限制而出错,请参阅 taxize_options(),您可以在其中设置 ncbi_sleep。
查询:参数 rank_query 用于向 NCBI 发送搜索结果,而 rank_filter 则用于过滤返回的数据。参数 modifier 在名称中添加修饰符。例如,modifier=“Organism” 会在名称中添加修饰词,例如,Helianthus[Organism]。
筛选:参数 division_filter 和 rank_filter 并不用于搜索数据提供者,而是用于将数据筛选为更接近所需目标的子集。所有这些参数都可以使用 regex 字符串,因为我们内部使用 grep() 进行匹配。过滤将范围缩小到与您的查询相匹配的数据集,并删除其余数据。
注意:NCBI 有时会做一些有趣的事情。例如,如果你搜索羊肚菌(Fringella morel),属名拼写稍有错误,外标又不存在,NCBI 就会给出一个羊肚菌真菌物种。此外,NCBI 并不擅长模糊搜索,因此如果您的名称中存在轻微的拼写错误,您很可能得不到您所期望的结果。教训是:在使用该功能之前,请先清理名称。其他数据源在模糊匹配方面做得更好。
NCBI请求的HTTP版本:本方法硬编码了http_version=2L以便让HTTP请求使用HTTP/1.1访问Entrez API。详见curl::curl_symbols(“CURL_HTTP_VERSION”)。
示例:get_uid(c("Chironomus riparius", "Chaetopteryx"))