Taxize Versions Save

A taxonomic toolbelt for R

v0.9.99

3 years ago

DEFUNCT

  • 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)

MINOR IMPROVEMENTS

  • new article/vignette added on issues with taxonomic ranks, e.g., "NCBI is weird", and how rank information is maintained and used within taxize (#852)
  • vignettes are no longer on cran - find them at the docs site linked in DESCRIPTION (#855)
  • re-instate a tol_resolve() test following new version of rotl package on cran (#816)
  • improve class2tree() function documentation regarding how the function works in more detail (#849) (#851)
  • improvements for WORMS, applies to functions 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 !

BUG FIXES

  • fix to 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)
  • fixes for WORMS ranks, applies to functions 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)

v0.9.98

3 years ago

MINOR IMPROVEMENTS

  • improve worms_downstream() docs: make it clear that users can use parameters passed down to worrms::wm_children() (#831)
  • improve get_pow_() docs: add section on rate limits, what are rate limits for KEW POW and a user facing resolution (#836)
  • add 8 new rank names (via NCBI) to the reference rank data.frame (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)

BUG FIXES

  • new 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)
  • NCBI introduced a new rank "clade", or at least are using it a lot more often - often used instead of "no rank". This was causing some problems in class2tree(). Problem sorted out now (#835) (#838) (#839) (#840)

v0.9.97

3 years ago

NEW FEATURES

  • Many of the functions in taxize share similar types of inputs (e.g., scientific names, or common names), but many different parameter names are used to refer to the same thing. We've standardized parameter names to make user understanding easier as the user uses different functions. TLDR: 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)

MINOR IMPROVEMENTS

  • upgraded APG datasets (apg_families and apg_order) to v14 (from July 2017) (#827)

BUG FIXES

  • fix to 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)
  • fixed issue in lowest_common() due to problem in classification.uid() when a taxon UID was merged into another taxon (#828)

v0.9.96

3 years ago

NEW FEATURES

  • NatureServe has a new API version; the package natserv (https://docs.ropensci.org/natserv/) has a complete overhaul for the new API - taxize interfaces to NatureServe updated. Only user facing change should be that we've moved to using just the final numeric part of the NatureServe taxonomic identifiers as ELEMENT_GLOBAL.2. part is redundant for every identifier (#823)

MINOR IMPROVEMENTS

  • 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 @jarioksa

BUG FIXES

  • fixed a bug in class2tree() (#818) (#820) thx to @adriangeerre for the report & the fix by @trvinh
  • fix to worms_downstream(): user encountered a rank name ("phylum (division)") we hadn't dealt with yet for worms (#821) thx @msweetlove for the report

v0.9.95

4 years ago

NEW FEATURES

  • gains new functions: bold_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)

MINOR IMPROVEMENTS

  • fix to a failing 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)

v0.9.94

4 years ago

NEW FEATURES

  • synonyms() gains a method for Plants of the World Online (synonyms.pow); and new associated helper function pow_synonyms() used within synonyms.pow (#812)

MINOR IMPROVEMENTS

  • change to 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)
  • fixed non-ASCII string in the species_plantarum_binomials dataset

BUG FIXES

  • classification() 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)
  • fix sorting of results in classification() with data source GBIF; at some point introduced bug in how results were sorted (#811)

v0.9.93

4 years ago

DEFUNCT

  • use_eol() is now defunct; EOL no longer requires an API key (#749) (#803) thanks @padpadpadpad

NEW FEATURES

  • http to https upgrades for the following functions: vascan_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)

MINOR IMPROVEMENTS

  • 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 @trvinh
  • fix to description of taxon_state_messages parameter in the taxize_options help file (#806)
  • taxize package datasets now loaded into a package environment (#792)

BUG FIXES

  • ncbi_children() now accepts numeric and character class ids (#800)
  • fix 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)
  • fix bug in get_eolid() when filtering by data source lead to no results (#808)
  • fix for 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)

v0.9.92

4 years ago

DEFUNCT

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)

NEW FEATURES

  • gains new function 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)
  • dropped packages from imports: reshape2, stringr, plyr (#795)
  • get_wormsid() gains two new parameters: fuzzy and marine_only; both are passed through to worrms::wm_records_name()/worrms::wm_records_name() (#790)

MINOR IMPROVEMENTS

  • no longer running taxon state examples on check (#791)
  • vignettes have names now in the pkg docs site (#772)
  • update docs for new roxygen2 version that suppoprts R6 (#793)
  • gains dataset worrms_ranks to apply rank names in cases where WORMS fails to return rank names in their data
  • remove a get_tpsid() example that passes in names as factors; get_* functions no longer accept factors

BUG FIXES

  • fix to classification.tpsid(): change to an internal fxn changed its output; fix for that (#797)
  • fix get_boldid(): when filtering (e.g., w/ rank, division, parent) returned no match, get_boldid was failing on downstream parsing; return NA now
  • fix get_wormsid_(): was missing marine_only and fuzzy parameters
  • fix pow_search(): an if statement was leading to length > 1 booleans
  • fix synonyms(): an if statement in internal fxn process_syn_ids was leading to length > 1 booleans
  • fix classification.gbifid: select columns only if they exist instead of failing on plucking non-existtent columns

v0.9.91

4 years ago

NEW FEATURES

  • get_ids() gains a new parameter suppress (default:FALSE) to toggle pakage cli messages stating which database is being worked on (#719)

MINOR IMPROVEMENTS

  • the following datasets are now available when the package is not loaded, so functions that use these datasets can now be called with package namespace like taxize::downstream(): rank_ref, theplantlist, apg_families, apg_orders (#777) (#781)
  • add new documentation site url (https://docs.ropensci.org/taxize/) to DESCRITPION file (#774) (@jeroen)
  • fix links in README to issues label of new potential data sources (#782) (@katrinleinweber)
  • more or less all functions that take as input the output of 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)
  • The NCBI Entrez API often throws errors for users of this and other packages related to HTTP version used by the client; we now hard code the http version to HTTP/1.1 via the curl option http_version=2L across all Entrez requests (#783)

BUG FIXES

  • fixes to 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)
  • fix 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)
  • another fix to 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)

v0.9.9

4 years ago

NEW FEATURES

  • update all EUBON functions to use their new API version; eubon_search() gains new params limit and page; other eubon functions have no pagination (#766)
  • change base url in ipni_search() from http to https, via (#773)

MINOR IMPROVEMENTS

  • change 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)
  • COL sometimes returns control characters in the XML payload; these can't be parsed by the xml2 package, so we have to remove them using regex; we throw a message when we're doing this so the user knows (#768)
  • docs typos fixes (#770)
  • update classification() docs with a new EOL section discussing that EOL does not have good failure behavior, and what to expect from them (#775)
  • the following datasets are now available when the package is not loaded, so functions that use these datasets can now be called with package namespace like 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 options

BUG FIXES

  • fix get_nbnid(): was returning non-taxon entities, have ot add idxtype:TAXON to the fq query (#761)
  • fixes for as.eolid() and as.colid() - don't run through helper function that was raising error on HTTP 404/etc., dont want to fail (#762)
  • fix to class2tree(): set root node name to NA if it does not exist, ITIS does not set a root node (#767) (#769) work by @gpli
  • fix to ipni_search(): IPNI changed parameter names, fixes for that; and now returning tibble's instead of data.frame's (#773) thanks @joelnitta !
  • fix 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)
  • another fix to 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)