A taxonomic toolbelt for R
tnrs()
and tnrs_sources()
functions are defunct. The service has been unreliable for years now, and AFAICT is down for good. Associated changes have been made throughout the package, eg. resolve()
no longer has an option for tnrs, etc. (#841) (#842)tol_resolve()
test following new version of rotl
package on cran (#816)class2tree()
function documentation regarding how the function works in more detail (#849) (#851)worms_downstream()
, children(..., db="worms")
and downstream(..., db="worms")
: now paginate automatically for the user to get all results, and allow parameter marine_only
to be passed through the high level functions children()
/downstream()
down to worrms::wm_children()
where it toggles whether marine only results are returned (#848) thanks @oharac !ncbi_downstream()
(which cascades up to downstream(..., db="ncbi")
): an unneeded line of code was removed that was also throwing an error in some cases (#850)worms_downstream()
, children(..., db="worms")
and downstream(..., db="worms")
: added ranks epifamily
and infraphylum
. In addition, when a rank is missing in data returned from WORMS, we'll change the missing rank to "no rank" (#847)worms_downstream()
docs: make it clear that users can use parameters passed down to worrms::wm_children()
(#831)get_pow_()
docs: add section on rate limits, what are rate limits for KEW POW and a user facing resolution (#836)rank_ref
) in the package: biotype, forma specialis, isolate, pathogroup, series, serogroup, serotype, and strain - queries from downstream()
and other functions that rely on relative rank information should not fail anymore when they contain these 8 rank names (#830)rank_ref_zoo
reference data.frame specfically for zoological rank types - right now only used for WORMS. main difference is section/subsection in rank_ref_zoo
are nested between the order and family, whereas in rank_ref
(used for all other data sources) section/subsection are on the genus rank level (#833)class2tree()
. Problem sorted out now (#835) (#838) (#839) (#840)sci
will always only accept a scientific name; com
accdepts only a common name; id
accepts a taxonomic identifier; sci_com
accepts or scientific or common name; sci_id
accepts a scientific name or taxonomic identifier. In most cases we have retained the old parameter name and you can still use it but you get a warning with information. In a future package version the replaced parameters will be removed completely. See https://github.com/ropensci/taxize/issues/723 for tables covering the functions affected, their old and new parameter names (#723) (#829)apg_families
and apg_order
) to v14 (from July 2017) (#827)worrms_downstream()
: three rank names were not accounted for in our internal set of ranks (suptertribe, subterclass, parvorder) (#824)classification.gbifid
was returning a duplicate last taxon, i.e., the last two rows in the output data.frame were the same. fixed. (#825)lowest_common()
due to problem in classification.uid()
when a taxon UID was merged into another taxon (#828)ELEMENT_GLOBAL.2.
part is redundant for every identifier (#823)rankagg()
and tax_agg()
fixes: rankagg()
examples now conditional on availability of vegan
as it should be, and now real abundance data are used in the example. tax_agg()
fixes species name ordering in dune
data (#822) work by @jarioksaclass2tree()
(#818) (#820) thx to @adriangeerre for the report & the fix by @trvinhworms_downstream()
: user encountered a rank name ("phylum (division)") we hadn't dealt with yet for worms (#821) thx @msweetlove for the reportbold_children()
, bold_downstream()
and new S3 methods for boldid
: children.boldid
and downstream.boldid
. Beware that these new methods are built on top of a function that scrapes BOLD's website - their API doesn't provide access to taxonomic children (only parents) - so we've taken the liberty of trying to liberate that data and make it easy to access (#817)tol_resolve()
test - upstream package rotl had the bug; told maintainer about it and he'll submit a new version soon; affected commented out for now (#814)synonyms()
gains a method for Plants of the World Online (synonyms.pow
); and new associated helper function pow_synonyms()
used within synonyms.pow
(#812)iucn_summary()
to allow get_iucn()
failures and the function to still proceed - to make a better experience when passing in more than 1 name (#810)species_plantarum_binomials
datasetclassification()
for data source GBIF wasn't working when the queried taxon rank was below species (e.g., subspecies or variety); GBIF didn't return the same fields for ranks below species, so we tack on that information with a bit of extra code (#809)classification()
with data source GBIF; at some point introduced bug in how results were sorted (#811)use_eol()
is now defunct; EOL no longer requires an API key (#749) (#803) thanks @padpadpadpadvascan_search()
, taxize_cite()
, all *_ping()
functions, get_wormsid()
, get_pow()
, get_eolid()
, get_gbifid()
, get_boldid()
, gbif_name_usage()
; and in various places in documentation (#799)classification.uid()
now does batch HTTP requests. NCBI Entrez web service allows requests with up to 50 identifiers; @zachary-foster did the work to make this method now use batch queries so its much faster (#678) (#798)class2tree()
improvement in taxonomy rank indexing (#805) work by @trvinhtaxon_state_messages
parameter in the taxize_options
help file (#806)ncbi_children()
now accepts numeric and character class ids (#800)classification.gbifid()
, was failing because GBIF changed the order of results (#802)class2tree()
fix: problem was due ultimately to a bug in classification.gbifid()
(see line above) (#801)tax_rank()
fix - for db="ncbi"
was not giving correct ranks for queried names - was due to a change in classification.uid
(#804)get_eolid()
when filtering by data source lead to no results (#808)ncbi_downstream
(and thereby fix for downstream()
with db="ncbi"
): for some taxa a query to NCBI resulted in children as well the queried name itself, and the next query would give the same results, leading to an endless while loop - now we remove the taxon itself that was queried to prevent this (#807)COL introduced rate limiting recently in 2019 - which has made the API essentially unusable - CoL+ is coming soon and we'll incorporate it here when it's stable. see https://github.com/ropensci/colpluz for the in development R client (#796)
gn_parse()
to access the Global Names scientific name parser. it's a super fast parser. see the section on name parsers (https://docs.ropensci.org/taxize/reference/index.html#section-name-parsers) for the 3 functions that do name parsing (#794)get_wormsid()
gains two new parameters: fuzzy
and marine_only
; both are passed through to worrms::wm_records_name()
/worrms::wm_records_name()
(#790)worrms_ranks
to apply rank names in cases where WORMS fails to return rank names in their dataget_tpsid()
example that passes in names as factors; get_*
functions no longer accept factorsclassification.tpsid()
: change to an internal fxn changed its output; fix for that (#797)get_boldid()
: when filtering (e.g., w/ rank
, division
, parent
) returned no match, get_boldid
was failing on downstream parsing; return NA nowget_wormsid_()
: was missing marine_only
and fuzzy
parameterspow_search()
: an if statement was leading to length > 1 booleanssynonyms()
: an if statement in internal fxn process_syn_ids
was leading to length > 1 booleansclassification.gbifid
: select columns only if they exist instead of failing on plucking non-existtent columnsget_ids()
gains a new parameter suppress
(default:FALSE
) to toggle pakage cli
messages stating which database is being worked on (#719)taxize::downstream()
: rank_ref
, theplantlist
, apg_families
, apg_orders
(#777) (#781)get_*
functions have S3 methods that dispatch on those get_*
output classes. however, you can still pass in a db
parameter, which is IGNORED when dispatching on the input class. the db
parameter is used (not ignored) when passing in a taxon id as character/numeric/etc. now these functions (children, classification, comm2sci, sci2comm, downstream, id2name, synonyms, upstream) warn when the user passes a db
value which will be ignored (#780)http_version=2L
across all Entrez requests (#783)col_search()
: COL now does rate limiting (if you make too many requests within a time period they will stop allowing requests from your IP address/your computer); documented rate limiting, what I know at least; changed checklist
parameter behavior: years 2014 and back dont provide JSON, so we return xml_document
objects now for those years that the user can parse themselves (#786)tax_rank
somehow (my bad) had two .default
methods. previous behavior is the same as current behavior (this version) (#784)ncbi_children()
: fixed regex that was supposed to flag ambiguous taxa only, it was supposed to flag sp.
and spp.
, but was including subsp.
, which we didn't want included (#777) (#781)ncbi_children()
: when ID is passed rather than a name, we need to then set id=NULL
after switching to the equivalent taxononmic name internally to avoid getting duplicate data back (#777) (#781)eubon_search()
gains new params limit
and page
; other eubon functions have no pagination (#766)ipni_search()
from http to https, via (#773)synonyms()
to always return NA
for name not found, and always return a zero row data.frame when name found BUT no synonyms found; updated docs to indicate better what's returned (#763) (#765)xml2
package, so we have to remove them using regex; we throw a message when we're doing this so the user knows (#768)classification()
docs with a new EOL
section discussing that EOL does not have good failure behavior, and what to expect from them (#775)taxize::downstream()
: rank_ref
, theplantlist
, apg_families
, apg_orders
(#777)sci2comm()
and comm2sci()
improvements: for db="ncbi"
we no longer stop with error when when there's no results for a query; instead we return character(0)
. In addition, now all data source options for both functions now return character(0)
when there's no results for a query (#778)id2name.uid()
now actually passes on ...
internally for curl optionsget_nbnid()
: was returning non-taxon entities, have ot add idxtype:TAXON
to the fq
query (#761)as.eolid()
and as.colid()
- don't run through helper function that was raising error on HTTP 404/etc., dont want to fail (#762)class2tree()
: set root node name to NA if it does not exist, ITIS does not set a root node (#767) (#769) work by @gpliipni_search()
: IPNI changed parameter names, fixes for that; and now returning tibble's instead of data.frame's (#773) thanks @joelnitta !ncbi_children()
: fixed regex that was supposed to flag ambiguous taxa only, it was supposed to flag sp.
and spp.
, but was including subsp.
, which we didn't want included (#777)ncbi_children()
: when ID is passed rather than a name, we need to then set id=NULL
after switching to the equivalent taxononmic name internally to avoid getting duplicate data back (#777)