R Observatory
Search

bold

1.3.0CRAN

Interface to Bold Systems API

Record of 1.3.0Compare with 1.2.0LicencesSBOM

Archived on 26 Aug 2024

CRAN's reason
repeated policy violation. On Internet accessPolicy
Last release
1.3.0, 2 May 2023
1.3.0 from CRAN’s archive
# Needs the pak package. # install.packages("pak") pak::pak("cran::bold@1.3.0")
CRAN checks, method
Not checkedarchived 26 Aug 2024

A programmatic interface to the Web Service methods provided by Bold Systems (<http://www.boldsystems.org/>) for genetic 'barcode' data. Functions include methods for searching by sequences by taxonomic names, ids, collectors, and institutions; as well as a function for searching for specimens, and downloading trace files.

Maintainer
Salix Dubois
Licence
MIT + file LICENSE
Latest release
2 May 2023
First release
28 May 2014

Compare with another package

More details
Releases
16
Needs R
>= 2.10
LazyData
yes
RoxygenNote
7.2.3
Cite

Package

Run in R for the authors' preferred citation:

citation("bold")
APA
Dubois, S., & Chamberlain, S. (n.d.). bold: Interface to Bold Systems API (Version 1.3.0) [Computer software]. Retrieved October 27, 2026, from https://CRAN.R-project.org/package=bold
About

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA
Balamuta, J. J. (2026). R Observatory: Metrics for bold version 1.3.0 [Data set]. HJJB, LLC. Data release v2026-10-26. https://doi.org/10.5281/zenodo.21843040
About

From data release v2026-10-26, which the citation names so these numbers can be found later.

CRAN checks only the packages on CRAN, and it archived this one on 26 Aug 2024.

Total downloads in the last 30 days
389+82.6% up on the 30 days before, the better directionIt is the sum of 4 channels: r2u, autoCRAN, conda-forge and c2d4u.

r2u rank

2,564 of 30,526

r2u

81 downloads in the last 30 days

Rank
2,564 of 30,526
Change
+913% up on the 30 days before, the better direction

It is in the total. Take it out

autoCRAN

31 downloads in the last 30 days

Rank
1,322 of 29,130
Change
−20.5% down on the 30 days before, the worse direction

It is in the total. Take it out

conda-forge

266 downloads in the last 30 days

Rank
2,137 of 3,828
Change
+97% up on the 30 days before, the better direction

It is in the total. Take it out

c2d4u, no longer updated

11 downloads in the last 30 days

Rank
1,551 of 7,575
Change
−64.5% down on the 30 days before, the worse direction

It is in the total. Take it out

Over time

Compare downloads

Needs
6
Dependent packages
0
Suggested by
0
Needs (6)
Optional extras (4)
Functions
74
Public exports
18
Lines of R code
2,082
Median complexity
3
Functions (74)
Size and composition

Lines by kind (41,837)

KindLinesShare
R code2,0825%
Tests38,48492%
Documentation1,2713%

Lines by language

LanguageLinesShare
YAML37,45390%
R3,1027%
Rd1,2713%
Other110%

Languages are counted from file extensions.

Files
83
R functions
74
Object systems
S3: 4 methods, S4: 1 generics, S4: 4 methods
Deprecated functions
2
Complexity
Median
3
Mean
3.96
Highest
24
Median lines per function
11.5
About complexity

Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only.

Call graph figures
R functions
74
Calls
123
Unconnected
7
Groups
2
Growth (16 releases)
Total lines by release
803 on 28 May 201441,837 on 2 May 2023
Release changes

No coverage run is on record for this package.

Test cases
81
Lines of tests
38,484
Exports named in tests
88.9%
Has tests
Yes
Test frameworks
testthat
Test lines per line of code
18.48
Exports documented
100%
Arguments documented
92.3%
Return value documented
69.2%
Help pages with examples
76.5%
Examples run in checks
0%
Other documentation
README
Yes, 512 words
Release notes file
Yes
Help pages
17
Lines of documentation
1,271
DatasetSize
sequencesList of 3 nucleotide sequences to use in examples for the `bold_identify` functionlength 3

No repository on record

R releases
  • On CRAN
  • Archived
  • Release

Archived

ArchivedBackCRAN's reasonKind
26 Aug 2024not backrepeated policy violation. On Internet accessPolicy
VersionReleasedREvents
1.3.02 May 20234.3.0Archived 26 Aug 2024
“repeated policy violation. On Internet access”
Maintainer: Salix Dubois
1.2.011 May 20214.0.5
1.1.017 Jun 20204.0.0
1.0.01 May 20204.0.0
0.9.027 Jun 20193.6.0
0.8.614 Dec 20183.5.1
0.8.026 Oct 20183.5.0
0.5.021 Jul 20173.4.1
Earlier versions (8)
VersionReleasedR
0.4.06 Jan 20173.3.2
0.3.529 Mar 20163.2.4
0.3.423 Mar 20163.2.4
0.3.016 Sep 20153.2.2
0.2.617 Apr 20153.2.0
0.2.020 Aug 20143.1.1
0.1.224 Jul 20143.1.1
0.1.028 May 20143.1.0
Release notes (1.3.0)

NEW FEATURES

  • New function bold_identify_taxonomy() to add taxonomic information to the output of bold_identify() and replace bold_identify_parents(). Instead of taking the taxon names from the bold_identify() output, and use bold_tax_name() to get the taxonomic ID to then pass it to bold_tax_id() to get the parent names, we take the process ids from the bold_identify() output and then pass them to bold_specimens(). This has the advantages of being faster and, more importantly, making sure the correct taxonomy is returned. The function has less arguments since the filtering of the result isn't necessary anymore. Since the result now has only one line per row of input, the output is always in 'wide' format (like when using bold_identify_parents() with wide=TRUE). There is one new argument taxOnly which is TRUE by default and return only the taxonomic data. However, since bold_specimens() also returns other data (habitat, country, image_url, etc), setting this argument to FALSE will also join that data to the input.
  • New function bold_tax_id2() which will eventually replace bold_tax_id(). The main changes are in the format of the output. For the dataTypes 'basic', 'stats', 'images' and 'thirdparty', the output doesn't change. For the dataTypes 'sequencinglabs', 'geo' and 'depository', instead of having one (sometimes very) wide data.frame, the result is now in 'long' format, with the columns 'input', 'taxid', 'sequencinglabs|country|depository' and 'count'. For the dataTypes 'all' or when selecting more than one dataTypes, the output is a list for each data types containing their respective data.frame. When setting includeTree to TRUE, the parents' data is rbinded to their respective data.frame. The function also check that all arguments are the correct type and that the dataTypes chosen are valid.
  • The now deprecated bold_tax_id() has the same argument checks as bold_tax_id2() but will throw warnings instead of errors to not affect existing workflows. Also, if a chosen dataTypes is invalid, it gets removed to not make unnecessary requests.
  • Similarly, the now deprecated bold_identify_parents() has new argument checks and will throw warnings to not affect existing workflows.
  • For bold_tax_id2() and bold_tax_name(), when querying multiple taxa, if one fails, the loop won't break and will instead throw the API error as a warning. The ouput object will also have 2 new attributes "errors" and "params" that will let you see what errors occured for with request and what parameters were use for the request.

To make it easy to retrieve these attributes, 3 new functions have been created:

  • bold_get_attr() will return a list of the two attributes
  • bold_get_errors() will return a list of the errors
  • bold_get_params() will return a list of parameters used
  • bold_specimens() and bold_seqspec() have a new parameter cleanData which, when set to TRUE, replaces empty strings ("") by NAs and strings containing only duplicated values by their unique value (ex : "COI-5P|COI-5P|COI-5P" becomes "COI-5P").
  • New function bold_read_trace() to replace read_trace(). Can read one or multiple trace files from a boldtrace object or provided file path(s).
  • New function b_sepFasta() to use after a call to bold_seqspec() where sepFasta wasn't set to TRUE.

MINOR IMPROVEMENTS

  • made tests for the new functions
  • made tests for the bold_trace() function
  • added test to existing functions to improved test coverage
  • added/completed argument checks for every functions
  • bold_specimens() and bold_seqspec() can now also return partial output like bold_seq()
  • using data.table when possible, removed dplyr and reshape dependencies
  • using stringi instead of stringr which removed stringr's other dependencies
  • added more details to the documentation of some functions

BUG FIXES

  • changed how http responses are read so they throw warnings and return NAs instead of errors. This prevents a long request to stop and fail, loosing the already fetched data. (#74)
  • added a note in the documentation of bold_seq(), bold_seqspec() and bold_specimen() that if the taxon doesn't have public records, if using another parameter will return all data for that parameter. Users can verify the availability of public records with bold_stats(). A note was also added in bold_tax_name() that the column 'specimenrecords' relate to the records in the taxonomy browser and not in the public data portal. (#76)
  • fixed output of bold_seq() (#79)
  • changed the function used to encode to UTF-8 (#81, #86)
  • contacted bold so they would fix their typo in 'depository' which prevented fetching related data with bold_tax_id() (#83). Added a line in the function to change 'depositories' to 'depository' in case people had been using that.
  • added a check for 'name' in bold_tax_name() to double escape single quotes. Otherwise it doesn't return the data (#84, #85). Since it's related to the API, this means that the data that comes back also contains errors. So I added a function to repair the names of 'taxon', 'taxonrep' and 'parentname' in the returned object. The function is also used in pipe_params() (which is used by bold_seq(), bold_seqspec() and bold_specimen()) to repair the taxon parameter in case users use results from previous versions.
  • changed the way the response of bold_seqspec() is read (#87, #88) thanks @cjfields
  • added a note in bold_stats() documentation to specify that the record counts include all gene markers (#90).