% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lowest_common.R
\name{lowest_common}
\alias{lowest_common}
\alias{lowest_common.default}
\alias{lowest_common.uid}
\alias{lowest_common.tsn}
\alias{lowest_common.gbifid}
\alias{lowest_common.colid}
\alias{lowest_common.tolid}
\title{Retrieve the lowest common taxon and rank for a given taxon name or ID}
\usage{
lowest_common(...)

\method{lowest_common}{default}(x, db = NULL, rows = NA,
  class_list = NULL, low_rank = NULL, ...)

\method{lowest_common}{uid}(x, class_list = NULL, low_rank = NULL, ...)

\method{lowest_common}{tsn}(x, class_list = NULL, low_rank = NULL, ...)

\method{lowest_common}{gbifid}(x, class_list = NULL, low_rank = NULL, ...)

\method{lowest_common}{colid}(x, class_list = NULL, low_rank = NULL, ...)

\method{lowest_common}{tolid}(x, class_list = NULL, low_rank = NULL, ...)
}
\arguments{
\item{...}{Other arguments passed to \code{\link[taxize]{get_tsn}},
\code{\link[taxize]{get_uid}}, \code{\link[taxize]{get_colid}},
\code{\link[taxize]{get_gbifid}}, \code{\link[taxize]{get_tolid}}}

\item{x}{Vector of taxa names (character) or id (character or numeric) to
query.}

\item{db}{character; database to query. either \code{ncbi}, \code{itis},
\code{gbif}, \code{col}, or \code{tol}}

\item{rows}{(numeric) Any number from 1 to infinity. If the default NA,
all rows are considered. Note that this parameter is ignored if you pass in
a taxonomic id of any of the acceptable classes: tsn, colid, gbifid, tolid.
NCBI has a method for this function but rows doesn't work.}

\item{class_list}{(list) A list of classifications, as returned from
\code{\link[taxize]{classification}}}

\item{low_rank}{(character) taxonomic rank to return, of length 1}
}
\value{
NA when no match, or a data.frame with columns
\itemize{
 \item name
 \item rank
 \item id
}
}
\description{
Retrieve the lowest common taxon and rank for a given taxon name or ID
}
\examples{
\dontrun{
id <- c("9031", "9823", "9606", "9470")
id_class <- classification(id, db = 'ncbi')
lowest_common(id[2:4], db = "ncbi")
lowest_common(id[2:4], db = "ncbi", low_rank = 'class')
lowest_common(id[2:4], db = "ncbi", low_rank = 'family')
lowest_common(id[2:4], class_list = id_class)
lowest_common(id[2:4], class_list = id_class, low_rank = 'class')
lowest_common(id[2:4], class_list = id_class, low_rank = 'family')

# COL
taxa <- c('Nycticebus coucang', 'Homo sapiens', 'Sus scrofa')
cls <- classification(taxa, db = "col")
lowest_common(taxa, class_list = cls, db = "col")
lowest_common(get_colid(taxa), class_list = cls)
xx <- get_colid(taxa)
lowest_common(xx, class_list = cls)

# TOL
taxa <- c("Angraecum sesquipedale", "Dracula vampira",
  "Masdevallia coccinea")
(cls <- classification(taxa, db = "tol"))
lowest_common(taxa, db = "tol", class_list = cls)
lowest_common(get_tolid(taxa), class_list = cls)
xx <- get_tolid(taxa)
lowest_common(xx, class_list = cls)

spp <- c("Sus scrofa", "Homo sapiens", "Nycticebus coucang")
lowest_common(spp, db = "ncbi")
lowest_common(get_uid(spp))

lowest_common(spp, db = "itis")
lowest_common(get_tsn(spp))

gbifid <- c("2704179", "3119195")
lowest_common(gbifid, db = "gbif")

spp <- c("Poa annua", "Helianthus annuus")
lowest_common(spp, db = "gbif")
lowest_common(get_gbifid(spp))

cool_orchid <- c("Angraecum sesquipedale", "Dracula vampira",
  "Masdevallia coccinea")
orchid_ncbi <- get_uid(cool_orchid)
orchid_gbif <- get_gbifid(cool_orchid)

cool_orchids2 <- c("Domingoa haematochila", "Gymnadenia conopsea",
  "Masdevallia coccinea")
orchid_itis <- get_tsn(cool_orchids2)

orchid_hier_ncbi <- classification(orchid_ncbi, db = 'ncbi')
orchid_hier_gbif <- classification(orchid_gbif, db = 'gbif')
orchid_hier_itis <- classification(orchid_itis, db = 'itis')

lowest_common(orchid_ncbi, low_rank = 'class')
lowest_common(orchid_ncbi, class_list = orchid_hier_ncbi,
  low_rank = 'class')
lowest_common(orchid_gbif, low_rank = 'class')
lowest_common(orchid_gbif, orchid_hier_gbif, low_rank = 'class')
lowest_common(get_uid(cool_orchid), low_rank = 'class')
lowest_common(get_uid(cool_orchid), low_rank = 'family')

lowest_common(orchid_ncbi, class_list = orchid_hier_ncbi,
  low_rank = 'subfamily')
lowest_common(orchid_gbif, class_list = orchid_hier_gbif,
  low_rank = 'subfamily')

lowest_common(orchid_itis, class_list = orchid_hier_itis,
  low_rank = 'class')

## Pass in sci. names
nms <- c("Angraecum sesquipedale", "Dracula vampira", "Masdevallia coccinea")
lowest_common(x = nms, db = "ncbi")
lowest_common(x = nms, db = "gbif")
# lowest_common(x = nms, db = "itis")

## NAs due to taxon not found, stops with error message
# lowest_common(orchid_itis, db = "itis")
# lowest_common(get_tsn(cool_orchid))
}
}
\author{
Jimmy O'Donnell \email{jodonnellbio@gmail.com}
Scott Chamberlain \email{myrmecocystus@gmail.com}
}
