bold

Interface to the Bold Systems barcode webservice

https://github.com/ropensci/bold

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 8 committers (37.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary

Keywords

api-wrapper barcodes r r-package rstats sequences taxize

Keywords from Contributors

bicycle-hire bicycle-hire-systems bike-data bike-hire
Last synced: 4 months ago · JSON representation

Repository

Interface to the Bold Systems barcode webservice

Basic Info
Statistics
  • Stars: 18
  • Watchers: 5
  • Forks: 11
  • Open Issues: 6
  • Releases: 14
Topics
api-wrapper barcodes r r-package rstats sequences taxize
Created over 14 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

bold
====

```{r echo=FALSE}
knitr::opts_chunk$set(
  comment = "#>",
  collapse = TRUE,
  warning = FALSE,
  message = FALSE
)
```

[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![cran version](https://www.r-pkg.org/badges/version/bold)](https://cran.r-project.org/package=bold)
[![cran checks](https://cranchecks.info/badges/worst/bold)](https://cranchecks.info/pkgs/bold)
[![R-check](https://github.com/ropensci/bold/workflows/R-check/badge.svg)](https://github.com/ropensci/bold/actions/)
[![codecov.io](https://codecov.io/github/ropensci/bold/coverage.svg?branch=master)](https://codecov.io/github/ropensci/bold?branch=master)
[![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/bold)](https://github.com/r-hub/cranlogs.app)

`bold` accesses BOLD barcode data.

The Barcode of Life Data Systems (BOLD) is designed to support the generation and application of DNA barcode data. The platform consists of four main modules: a data portal, a database of barcode clusters, an educational portal, and a data collection workbench.

This package retrieves data from the BOLD database of barcode clusters, and allows for searching of over 1.7M public records using multiple search criteria including sequence data, specimen data, specimen *plus* sequence data, as well as trace files.

Documentation for the BOLD API: http://v4.boldsystems.org/index.php/api_home

See also the taxize book for more options for taxonomic workflows with BOLD: https://taxize.dev/

## Installation

__Installation instructions__

__Stable Version__

```{r eval=FALSE}
install.packages("bold")
```

__Development Version__

Install `sangerseqR` first (used in function `bold::bold_trace()` only)

For R < 3.5

```{r eval=FALSE}
source("http://bioconductor.org/biocLite.R")
biocLite("sangerseqR")
```

For R >= 3.5

```{r eval=FALSE}
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("sangerseqR")
```

Then install `bold`

```{r eval=FALSE}
remotes::install_github("ropensci/bold")
```


## Usage
```{r}
library("bold")
```


### Search for sequence data only

By default you download `fasta` file, which is given back to you as a `data.frame`

```{r}
res <- bold_seq(taxon='Coelioxys')
head(res)
```

You can optionally get back the `crul` response object

```{r}
res <- bold_seq(taxon='Coelioxys', response=TRUE)
res$response_headers
```

### Search for specimen data only

By default you download `tsv` format data, which is given back to you as a `data.frame`

```{r}
res <- bold_specimens(taxon='Osmia')
head(res[,1:8])
```

### Search for specimen plus sequence data

By default you download `tsv` format data, which is given back to you as a `data.frame`

```{r}
res <- bold_seqspec(taxon='Osmia', sepfasta=TRUE)
res$fasta[1:2]
```

Or you can index to a specific sequence like

```{r}
res$fasta['GBAH0293-06']
```

### Get trace files

This function downloads files to your machine - it does not load them into your R session - but prints out where the files are for your information.

```{r}
x <- bold_trace(ids = 'ACRJP618-11', progress = FALSE)
read_trace(x$ab1)
```

### Large data

Sometimes with `bold_seq()` you request a lot of data, which can cause problems due 
to BOLD's servers. 

An example is the taxonomic name _Arthropoda_. When you send a request like 
`bold_seq(taxon = "Arthropoda")` BOLD attempts to give you back sequences
for all records under _Arthropoda_. This, as you can imagine, is a lot of 
sequences. 


```{r}
library("taxize")
```

Using `taxize::downstream` get children of _Arthropoda_

```{r}
x <- downstream("Arthropoda", db = "ncbi", downto = "class")
nms <- x$Arthropoda$childtaxa_name
```

Optionally, check that the name exists in BOLD's data. Any that are not in 
BOLD will give back a row of NAs

```{r}
checks <- bold_tax_name(nms)
# all is good
checks[,1:5]
```

Then pass those names to `bold_seq()`. You could pass all names in at once,
but we're trying to avoid the large data request problem here, so run each 
one separately with `lapply` or a for loop like request. 

```{r eval = FALSE}
out <- lapply(nms, bold_seq)
```

## Citation

Get citation information for `bold` in R by running: `citation(package = 'bold')`

## Meta

* Please [report any issues or bugs](https://github.com/ropensci/bold/issues)
* License: MIT
* Get citation information for `bold` in R doing `citation(package = 'bold')`
* Please note that this project is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). By participating in this project you agree to abide by its terms.

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": [
    "https://doi.org/doi:10.5063/schema/codemeta-2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "bold",
  "description": "A programmatic interface to the Web Service methods provided by\n    Bold Systems (<http://www.boldsystems.org/>) for genetic 'barcode' data.\n    Functions include methods for searching by sequences by taxonomic names,\n    ids, collectors, and institutions; as well as a function for searching\n    for specimens, and downloading trace files.",
  "name": "bold: Interface to Bold Systems API",
  "codeRepository": "https://github.com/ropensci/bold",
  "issueTracker": "https://github.com/ropensci/bold/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "1.2.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.0.5 Patched (2021-03-31 r80136)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Central R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Scott",
      "familyName": "Chamberlain",
      "email": "myrmecocystus@gmail.com",
      "@id": "https://orcid.org/0000-0003-1444-9135"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Salix",
      "familyName": "Dubois",
      "email": "salixdubois+bold@gmail.com"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tibble"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "sangerseqR",
      "name": "sangerseqR",
      "provider": {
        "@id": "https://www.bioconductor.org",
        "@type": "Organization",
        "name": "BioConductor",
        "url": "https://www.bioconductor.org"
      },
      "sameAs": "https://bioconductor.org/packages/release/bioc/html/sangerseqR.html"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "vcr",
      "name": "vcr",
      "version": ">= 0.5.4",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=vcr"
    }
  ],
  "softwareRequirements": [
    {
      "@type": "SoftwareApplication",
      "identifier": "xml2",
      "name": "xml2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=xml2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "crul",
      "name": "crul",
      "version": ">= 0.3.8",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=crul"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "stringi",
      "name": "stringi",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=stringi"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "data.table",
      "name": "data.table",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=data.table"
    }
  ],
  "applicationCategory": "DataAccess",
  "isPartOf": "https://ropensci.org",
  "keywords": [
    "biodiversity",
    "barcode",
    "DNA",
    "sequences",
    "fasta",
    "api-wrapper",
    "barcodes",
    "r",
    "rstats",
    "r-package",
    "taxize"
  ],
  "contIntegration": "https://codecov.io/github/ropensci/bold?branch=master",
  "developmentStatus": "https://www.repostatus.org/#active",
  "releaseNotes": "https://github.com/ropensci/bold/blob/master/NEWS.md",
  "readme": "https://github.com/ropensci/bold/blob/master/README.md",
  "fileSize": "12180.385KB",
  "contributor": {},
  "copyrightHolder": {},
  "funder": {},
  "relatedLink": "https://docs.ropensci.org/bold"
}

GitHub Events

Total
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 12
  • Push event: 6
  • Pull request event: 4
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 12
  • Push event: 6
  • Pull request event: 4
  • Create event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 431
  • Total Committers: 8
  • Avg Commits per committer: 53.875
  • Development Distribution Score (DDS): 0.364
Past Year
  • Commits: 117
  • Committers: 1
  • Avg Commits per committer: 117.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Scott Chamberlain m****s@g****m 274
Salix 3****d 146
Grace Li g****8@b****u 4
Francois Michonneau f****u@g****m 2
katieroserice k****e@b****u 2
Chris Fields c****s@i****u 1
Diana Ly d****6@g****m 1
ropenscibot m****t@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 84
  • Total pull requests: 16
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 21 hours
  • Total issue authors: 25
  • Total pull request authors: 7
  • Average comments per issue: 2.58
  • Average comments per pull request: 1.25
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sckott (44)
  • salix-d (6)
  • devonorourke (5)
  • dougwyu (5)
  • tadeu95 (3)
  • jphill01 (2)
  • griffinp (2)
  • boopsboops (2)
  • mdogniez (1)
  • LunaSare (1)
  • VascoElbrecht (1)
  • pieterprovoost (1)
  • vanessamata (1)
  • bastianegeter (1)
  • cjfields (1)
Pull Request Authors
  • salix-d (13)
  • diana-ly (1)
  • graceli8 (1)
  • sckott (1)
  • katieroserice (1)
  • fmichonneau (1)
  • cjfields (1)
Top Labels
Issue Labels
bug (14) API-related (5) enhancement (4) question (1) later (1) Beginner (1) asking for feedback (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 7
conda-forge.org: r-bold
  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Average: 37.7%
Forks count: 40.0%
Stargazers count: 47.8%
Last synced: 5 months ago

Dependencies

DESCRIPTION cran
  • crul >= 0.3.8 imports
  • data.table * imports
  • jsonlite * imports
  • plyr * imports
  • reshape * imports
  • stringr * imports
  • tibble * imports
  • xml2 * imports
  • sangerseqR * suggests
  • testthat * suggests
  • vcr >= 0.5.4 suggests
.github/workflows/R-check.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact master composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite