Skip to content

Commit

Permalink
incorpporatd get_nbnid into get_ids, #332
Browse files Browse the repository at this point in the history
  • Loading branch information
sckott committed Oct 1, 2014
1 parent 9529b86 commit fa85ba7
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 12 deletions.
20 changes: 13 additions & 7 deletions R/get_ids.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,20 @@
#' @export
#' @param names character; Taxonomic name to query.
#' @param db character; database to query. One or more of \code{ncbi}, \code{itis},
#' \code{eol}, \code{col}, \code{tropicos}, \code{gbif}, or \code{ubio}. By
#' \code{eol}, \code{col}, \code{tropicos}, \code{gbif}, \code{ubio}, or \code{nbn}. By
#' default db is set to search all data sources.
#' @param ... Other arguments passed to \code{\link[taxize]{get_tsn}},
#' \code{\link[taxize]{get_uid}}, \code{\link[taxize]{get_eolid}},
#' \code{\link[taxize]{get_colid}}, \code{\link[taxize]{get_tpsid}},
#' \code{\link[taxize]{get_gbifid}}, or \code{\link[taxize]{get_ubioid}}.
#' \code{\link[taxize]{get_gbifid}}, \code{\link[taxize]{get_ubioid}},
#' \code{\link[taxize]{get_nbnid}}.
#' @return A vector of taxonomic identifiers, each retaining their respective S3
#' classes so that each element can be passed on to another function (see e.g.'s).
#' @note There is a timeout of 1/3 seconds between queries to NCBI.
#' @seealso \code{\link[taxize]{get_tsn}}, \code{\link[taxize]{get_uid}},
#' \code{\link[taxize]{get_eolid}}, \code{\link[taxize]{get_colid}},
#' \code{\link[taxize]{get_tpsid}}, \code{\link[taxize]{get_gbifid}}, or
#' \code{\link[taxize]{get_ubioid}}.
#' \code{\link[taxize]{get_tpsid}}, \code{\link[taxize]{get_gbifid}},
#' \code{\link[taxize]{get_ubioid}}, or \code{\link[taxize]{get_nbnid}}.
#' @examples \donttest{
#' # Plug in taxon names directly
#' ## By default you get ids for all data sources
Expand All @@ -28,6 +29,9 @@
#' ## Or you can specify which source you want via the db parameter
#' get_ids(names="Chironomus riparius", db = 'ncbi')
#' get_ids(names="Salvelinus fontinalis", db = 'ubio')
#'
#' get_ids(names="Salvelinus fontinalis", db = 'nbn')
#'
#' get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = 'ncbi')
#' get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = c('ncbi','itis'))
#' get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = c('ncbi','itis','col'))
Expand All @@ -41,11 +45,12 @@
#' synonyms(out$tropicos)
#' }

get_ids <- function(names, db = c('itis','ncbi','eol','col','tropicos','gbif','ubio'), ...)
get_ids <- function(names, db = c('itis','ncbi','eol','col','tropicos','gbif','ubio','nbn'), ...)
{
if(is.null(db))
stop("Must specify on or more values for db!")
db <- match.arg(db, choices = c('itis','ncbi','eol','col','tropicos','gbif','ubio'), several.ok = TRUE)
db <- match.arg(db, choices = c('itis','ncbi','eol','col','tropicos','gbif','ubio','nbn'),
several.ok = TRUE)

foo <- function(x, names, ...){
ids <- switch(x,
Expand All @@ -55,7 +60,8 @@ get_ids <- function(names, db = c('itis','ncbi','eol','col','tropicos','gbif','u
col = get_colid(names, ...),
tropicos = get_tpsid(names, ...),
gbif = get_gbifid(names, ...),
ubio = get_ubioid(names, ...))
ubio = get_ubioid(names, ...),
nbn = get_nbnid(names, ...))
names(ids) <- names
return( ids )
}
Expand Down
14 changes: 9 additions & 5 deletions man/get_ids.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@
\title{Retrieve taxonomic identifiers for a given taxon name.}
\usage{
get_ids(names, db = c("itis", "ncbi", "eol", "col", "tropicos", "gbif",
"ubio"), ...)
"ubio", "nbn"), ...)
}
\arguments{
\item{names}{character; Taxonomic name to query.}

\item{db}{character; database to query. One or more of \code{ncbi}, \code{itis},
\code{eol}, \code{col}, \code{tropicos}, \code{gbif}, or \code{ubio}. By
\code{eol}, \code{col}, \code{tropicos}, \code{gbif}, \code{ubio}, or \code{nbn}. By
default db is set to search all data sources.}

\item{...}{Other arguments passed to \code{\link[taxize]{get_tsn}},
\code{\link[taxize]{get_uid}}, \code{\link[taxize]{get_eolid}},
\code{\link[taxize]{get_colid}}, \code{\link[taxize]{get_tpsid}},
\code{\link[taxize]{get_gbifid}}, or \code{\link[taxize]{get_ubioid}}.}
\code{\link[taxize]{get_gbifid}}, \code{\link[taxize]{get_ubioid}},
\code{\link[taxize]{get_nbnid}}.}
}
\value{
A vector of taxonomic identifiers, each retaining their respective S3
Expand All @@ -39,6 +40,9 @@ get_ids(names="Chironomus riparius")
## Or you can specify which source you want via the db parameter
get_ids(names="Chironomus riparius", db = 'ncbi')
get_ids(names="Salvelinus fontinalis", db = 'ubio')
get_ids(names="Salvelinus fontinalis", db = 'nbn')
get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = 'ncbi')
get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = c('ncbi','itis'))
get_ids(names=c("Chironomus riparius", "Pinus contorta"), db = c('ncbi','itis','col'))
Expand All @@ -55,7 +59,7 @@ synonyms(out$tropicos)
\seealso{
\code{\link[taxize]{get_tsn}}, \code{\link[taxize]{get_uid}},
\code{\link[taxize]{get_eolid}}, \code{\link[taxize]{get_colid}},
\code{\link[taxize]{get_tpsid}}, \code{\link[taxize]{get_gbifid}}, or
\code{\link[taxize]{get_ubioid}}.
\code{\link[taxize]{get_tpsid}}, \code{\link[taxize]{get_gbifid}},
\code{\link[taxize]{get_ubioid}}, or \code{\link[taxize]{get_nbnid}}.
}

0 comments on commit fa85ba7

Please sign in to comment.