taxize: taxonomic search and retrieval in R.
Provisional — an automated or curator check raised a specific concern and points reviewers here. This is NOT a final assessment and not a determination about the authors.
The main result did not reproduce in this reproduction attempt. Where our recomputation produced values that differ from the published ones, those discrepancies are listed below. This is a single automated attempt — not peer review and not a finding of error or misconduct — and differences can also arise from data access, undocumented parameters or the computing environment. The verdict can be contested via “report an error”.
Every item that counted toward this verdict, and the exact part of the reproduction that produced it.
- ✓Same input data as the authors
- ✓No authors-side cause for any deviation
- 🟡Reported values were only indirectly comparable
- 🟡A deviation arose in the data or preprocessing
- 🟡Reported values were not (fully) derivable from the shared data
- 🟡The deviation was non-trivial in magnitude
- 🟡The central claim did not (fully) hold under reproduction
- 🟡Overall, the reproduction showed a material discrepancy
A 0–100 reproducibility-quality score from the per-question grades, shown as a z-score: standard deviations above (+) or below (−) the mean of comparable assessments.
▸Reproduction agent’s raw note
This paper is a software-methods paper (taxize R package) whose 'results' are illustrative pipeline runs against live third-party taxonomic web services (ITIS, NCBI, GNR, TNRS/taxosaurus.org, IUCN, Catalogue of Life, Phylomatic). We installed the exact paper-linked archival package (github.com/ropensci/taxize_, v0.0.6, matching the Zenodo code archive byte-for-byte) inside an Apptainer R container on «our HPC», and ran the full 'Main manuscript code' block (15 illustrative pipeline calls; the plotting lines and Appendix A/B, which need devtools/rgbif/GBIF network access and manual trait-table data entry, were out of scope / not attempted as they are illustrative extras, not the paper's core claims). Unmodified, only 3/15 blocks ran without an R-level exception, but on inspection all 3 actually returned NULL/NA due to caught internal errors -- i.e. genuinely 0/15 reproduced the paper's reported output on the first pass. A diagnostic job traced most 'empty or no content specified' failures to NCBI/ITIS now forcing http->https redirects that this 2013-era RCurl-based code does not follow by default. Applying one disclosed, non-code-modifying global option (options(RCurlOptions=list(followlocation=TRUE))) -- not a change to the paper's own example code -- recovered 4 additional blocks. Two of those recovered blocks (classification() rank lookup and tax_name() via NCBI) reproduce the paper's reported values EXACTLY. The remaining ITIS-dependent calls fail with a second, distinct bug (garbled/undecodable XML, not fixed by the redirect option) suggesting the ITIS SOAP endpoint's response encoding has also changed since 2013. TNRS's backend (taxosaurus.org) is completely unreachable (connection timeout, i.e. the service is dead, not just moved). The IUCN Red List scraper returns NA for both test species (site restructured since 2013). Catalogue of Life and Phylomatic (phylodiversity.net) calls fail or return unparseable output. get_genes_avail fails with a pure R/XML-class incompatibility unrelated to any network issue. gnr_resolve fails with an internal parsing bug consistent with the live Global Names Resolver API's response format having changed. Net result: 2/15 claims reproduce exactly, 1/15 partially/plausibly, 12/15 mismatch -- overwhelmingly because the paper's demonstrated functionality is a thin wrapper around a dozen external taxonomic web services that have drifted or died over 12+ years, not because the archived code itself is broken or unavailable (it installs and runs cleanly). We did not attempt: the plotting/visualization lines (require an interactive graphics device, not a reproducible numeric claim), Appendix A (requires install_github of an old 'rgbif'/ropensci fork plus live GBIF occurrence queries, materially out of scope for a 2h+ job budget without further justification), and Appendix B (requires manually-entered trait/abundance toy data not shipped as a file, used purely for illustration of a workflow rather than reporting a checkable numeric result).
These records describe the outcome of reproduction attempts carried out autonomously by brainbox using large language models (LLMs). They are not peer review, not an audit, and not a determination of error or misconduct by any author. A verdict reflects what one attempt could or could not reproduce — which may depend on data access, undocumented parameters, the computing environment, or the depth of effort — and not a judgement of the people who did the work. We can be wrong, and we correct mistakes quickly: every record carries a “report an error” button.
✎ I am an author of this paper
Updated or fixed a deposit, or is there an erratum? Ask us to re-run the metrics. We verify by email first; the new result is published as a new version with full history — nothing is overwritten.
Provenance — full disclosure
When this reproduction was carried out, which methodology version was used, and by whom — so the record can be audited and checked independently.
- Reproduced
- 2026-07-30
- Rubric version
- v1.0
- Assessed by
-
🤖 AI curator · claude (ai-curator room) · v1.0 · run #1 2026-07-31no human curator yet
- Last updated
- 2026-07-31
Provisional, curator- or AI-assessed, and independently checkable. A reproduction outcome states what one attempt could reproduce — not a judgement of the authors.
Deep full-text extraction
Model: opusTaxonomic names are inconsistent across databases and hard to obtain reproducibly through web interfaces, so the paper asks whether a programmatic R toolkit can make searching, resolving, and retrieving taxonomic data easy and reproducible. taxize is presented as that toolkit, providing access to 13 web-based taxonomic data sources.
- ★ taxize is an open-source R package (on CRAN) giving simple programmatic access to taxonomic data from 13 web data sources. resource
- ★ Taxonomic names are unstable and inconsistent across sources due to revisions, lumping/splitting, and spelling changes, so different databases assign different accepted names to the same taxon. finding
- ★ Numeric identifier codes (ITIS TSN, uBio namebankID, Tropicos ID) are database-specific, so there is no universal cross-database code and name comparisons must be done on names, not codes. finding
- ★ Programmatic (API-based) retrieval of taxonomic names loops over species lists and makes taxonomic workflows reproducible, addressing reported irreproducibility in science. method
- ★ taxize resolves misspelled and outdated names via EOL's Global Names Resolver (gnr_resolve) and the iPlant/Taxosaurus TNRS (tnrs). method
- ★ taxize retrieves upstream classifications and single ranks (classification, tax_name) from ITIS and NCBI, enabling aggregation to a chosen taxonomic level. method
- TNRS fuzzy matching is available only for plants, so EOL's Global Names Resolver is recommended for resolving animal names. method
- taxize deliberately returns results from multiple sources and leaves the choice of trusted source to the user rather than picking a best match. method
| Assay | System | Perturbation | Readout | Platform |
|---|---|---|---|---|
| Name resolution / fuzzy name matching (gnr_resolve) | R package taxize; two misspelled query names ('Helianthos annus', 'Homo saapiens') | none (query with deliberately misspelled names) | matched_name and data_source_title per match | EOL Global Names Resolver API (http://resolver.globalnames.org/) |
| Name resolution with match scoring (tnrs) | R package taxize; list of 8 plant/animal species names, several misspelled | none (query with deliberately misspelled names) | submittedName, acceptedName, sourceId, match score | iPlant Taxonomic Name Resolution Service via Taxosaurus API (http://taxosaurus.org/) |
| Identifier retrieval and synonym-to-accepted-name mapping (get_tsn + itis_acceptname, via plyr::ldply) | R package taxize; six infraspecific names of Helianthus annuus | none | submittedTsn, acceptedName, acceptedTsn | ITIS API (http://www.itis.gov/) |
| Upstream classification retrieval (classification, db='itis') | R package taxize; two conifer species (Abies procera, Pinus contorta) | none | rankName, taxonName, TSN for each hierarchy level | ITIS API (http://www.itis.gov/) |
| Upstream classification retrieval (classification, db='ncbi') | R package taxize; same two-species list | none | taxonomic hierarchy per species | NCBI API |
| Single-rank name retrieval (tax_name) | R package taxize; user-supplied species names | none | taxonomic name at a user-specified rank (e.g. family) | ITIS or NCBI (selected via db argument) |
| Package installation and loading | R session (CRAN release; development version from GitHub, archived at doi 10.5281/zenodo.7097) | none | taxize available in R session | CRAN / GitHub (ropensci/taxize_) |
| API-key-authenticated access (e.g. ubio_namebank with key argument or key stored in .Rprofile) | R package taxize; services requiring authentication | none | authenticated query results from EOL, uBio, Tropicos, Plantminer | EOL, uBio, Tropicos, Plantminer web APIs |
- – gnr_resolve returned corrected/matched names for the misspelled queries across several sources (Catalogue of Life, GBIF Taxonomic Backbone, EOL, uBio NameBank); correct spellings are Helianthus annuus and Homo sapiens. 6 matched rows shown
- – tnrs corrected misspelled plant names via fuzzy matching, e.g. Madia sateva -> Madia sativa and Rosa california -> Rosa californica. scores 0.96-1
- – All six submitted Helianthus annuus subspecies/variety names mapped to the single accepted name Helianthus annuus with accepted TSN 36616. 6 of 6 synonyms -> 1 accepted TSN (36616)
- – classification() with ITIS returned an 11-rank hierarchy for both Abies procera and Pinus contorta, showing both are in the family Pinaceae. 11 ranks per species; family Pinaceae (TSN 18030)
- – A compilation of digitized herbarium plant observations contained far more unique taxon names than accepted names, illustrating taxonomic name inconsistency. 22,100 unique names of which only 13,000 accepted
- – The same taxon (Helianthus annuus) carries entirely different identifiers in different databases. ITIS 36616; uBio 2658020; Tropicos 40022652
- – Databases disagree on accepted status: ITIS accepts Helianthus x glaucus while The Plant List lists it as unresolved; The Plant List accepts Helianthus glaucus, which ITIS does not list.
- – taxize is built on existing R infrastructure (httr, RCurl, XML, RJSONIO, stringr, plyr) and avoids duplicating sequence-focused packages (rsnps, rentrez, BoSSA, ape).
- count 13 data sources (Number of web taxonomic data sources accessible through taxize)
- count 308,000 plant observations (Compilation from digitized herbarium records cited as evidence of name inconsistency)
- count 22,100 unique taxon names, of which only 13,000 were accepted names (Unique vs. accepted names in the 308,000-observation herbarium compilation (from 51 digitized herbarium records))
- count over 5,000 packages on CRAN (Size of the R package ecosystem motivating an R-based tool)
- other scores 1, 0.98, 0.96, 0.96, 0.99, 1, 0.99, 0.99, 0.97 (TNRS match scores for the 8 submitted (partly misspelled) species names)
- count accepted TSN 36616 (ITIS accepted TSN returned for all six submitted Helianthus annuus synonyms (submitted TSNs 525928-525930, 536095-536097))
- count more than 12,000 European freshwater organisms (Size of the freshwaterecology.info database planned as a future taxize data source)
- count 4 services require an API key (EOL, uBio, Tropicos, Plantminer) (Data sources in taxize needing authentication keys)
Statistical methods review
Model: sonnetA neutral, descriptive read of the statistical approach — what was done, and (for shared learning, not as criticism) what could also have been done.
This is a software tool paper describing taxize, an R package for programmatic access to taxonomic name data from multiple web APIs. The paper presents use cases and example code output (e.g., name resolution and classification lookups) rather than an empirical study with hypothesis testing; no statistical comparisons, experimental groups, or inferential analyses are reported.
What was reproduced
The exact results taken into scope, with each reported value next to the value our attempt produced.
Assessments & scoring basis
Each contributor’s verdict, the per-question basis, and the auditable, itemised worksheet behind it.
An automated assessment. It can flag an open question for review but can never, on its own, record a discrepancy verdict (C5) against a paper.
Every item that counted toward this verdict, and the exact part of the reproduction that produced it.
Software-methods paper, not a statistical one. The deposited Zenodo archive is exemplary (byte-exact download, installs as taxize v0.0.6, quality grade A), and every claim that could still be evaluated in 2026 matched the paper exactly: classification('gammarus roeseli', db='ncbi') → genus/family, and tax_name('Helianthus annuus', get='family', db='ncbi') → 1 Asteraceae. Those two only appeared after a one-line global RCurl followlocation fix, which is diagnostic: the failures are HTTP/API drift, not defective code or defective reporting. The remaining 12 of 15 blocks are unevaluable because their third-party backends changed or died — ITIS SOAP returns non-XML, taxosaurus.org times out after ~133 s, IUCN moved to a versioned JSON API (Panthera uncia/Lynx lynx → NA instead of EN/LC), Catalogue of Life and Phylomatic return empty or malformed payloads, and get_genes_avail() fails on an xpathApply class-dispatch incompatibility with modern xml2. The only genuine authors'-side blemish is minor and illustrative: the narrative's "3 taxa before / 2 after / 0 not found" for tax_agg() contradicts the shipped code.txt, which uses 5 taxa (incl. a deliberate xxx miss) and reproduces as 5/4/1. Verdict: yellow across the board — a solid, honest reproduction whose limits are external-service decay, with no sign of unreliable reporting.
Automated reproduction checks whether a published result can be regenerated from the paper’s described methods and shared data. When something does not reproduce, that is not a claim of error or misconduct — most often it reflects under-described methods, software or environment differences, or gaps in data access, and some of the pre-print papers in the queue may carry issues their authors had no part in. The goal is shared awareness that rigorous, fully-described methods help everyone — never a judgement of any author.
Are you an author? We would genuinely like to hear from you — to clarify the record, add data or code, re-run the pipeline after an accession update, and publish your response right next to the assessment. Everything here is open and auditable.
🚩 Report an error in this record
Spotted something wrong — a verdict you’d contest, a data or value error, or a private detail that slipped through? Tell us, with a short justification. Authors and readers are equally welcome to write in; we review every report.
Prefer email, or the form below not working? Contact us at support@doesitreproduce.com.