Learn R Programming

SolveBio for R

This version of SolveBio for R is compatible with Vault-based datasets only (released on July 28th, 2017).

This package contains the SolveBio R language bindings. SolveBio makes it easy to access genomic reference data.

Features of this package include:

  • Authentication with SolveBio's API
  • REST API query support
  • S3 object system for SolveBio API resources
  • Portability between most platforms: Linux, Windows, OS X.

Please see the SolveBio documentation for more information about the platform.

Installation

Installing this package requires an installed R environment.

install.packages("solvebio")
library(solvebio)

Usage

# By default it will look for a key in the $SOLVEBIO_API_KEY environment variable.
library(solvebio)

# You may also supply an API key in your code
login(api_key="<Your API key>")
# RStudio users can put the following line in ~/.Rprofile
# Sys.setenv(SOLVEBIO_API_KEY="<Your API key>")

# Retrieve a list of all datasets
datasets <- Dataset.all()

# Retrieve a specific dataset (metadata)
ClinVar <- Dataset.get_by_full_path("solvebio:public:/ClinVar/3.7.4-2017-01-30/Variants-GRCh37")

# Query a dataset with filters as JSON:
filters <- '[["gene_symbol", "BRCA1"]]'
# or, filters as R code:
filters <- list(list('gene_symbol', 'BRCA1'), list('clinical_significance',
'Benign'))

# Execute the queries
# NOTE: paginate=TRUE may issue multiple requests, depending on the dataset and filters
results <- Dataset.query(id = ClinVar$id, filters = filters, limit = 1000, paginate = TRUE)

# Access the results (flattened by default)
results

Shiny

To use SolveBio in your Shiny app, refer to the docs on Developing Applications with R Shiny and SolveBio.

This package provides a Shiny server wrapper called solvebio::protectedServer() which requires users to authenticate with SolveBio and authorize the app before proceeding. In addition, you may enable token cookie storage by installing ShinyJS and adding JS code (solvebio::protectedServerJS()) to your Shiny UI.

An example app is available in the solvebio-shiny-example GitHub repository.

Developers

To install the development version of this package from GitHub, you will need the devtools package.

install.packages(c("devtools", "httr", "jsonlite"))
library(devtools)
devtools::install_github("solvebio/solvebio-r", ref="master")
library(solvebio)

To run the test suite:

make test

Packaging and Releasing

  1. Bump the version using the bumpversion command (pip install bumpversion).

  2. Update the NEWS.md with changes.

  3. Update the DESCRIPTION file with the latest date.

  4. Regenerate roxygen2 and build/check the tarball:

    make clean make make check

  5. Submit to CRAN.

Copy Link

Version

Install

install.packages('solvebio')

Monthly Downloads

509

Version

2.15.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tobi Guennel

Last Published

February 14th, 2025

Functions in solvebio (2.15.1)

Dataset.all

Dataset.all
DatasetExport.all

DatasetExport.all
BeaconSet.all

BeaconSet.all
Beacon.retrieve

Beacon.retrieve
Dataset.fields

Dataset.fields
Dataset.get_or_create_by_full_path

Dataset.get_or_create_by_full_path
DatasetExport.delete

DatasetExport.delete
BeaconSet.create

BeaconSet.create
DatasetField.retrieve

DatasetField.retrieve
Dataset.query

Dataset.query
DatasetField.update

DatasetField.update
DatasetExport.create

DatasetExport.create
Dataset.facets

Dataset.facets
DatasetExport.get_download_url

DatasetExport.get_download_url
DatasetMigration.all

DatasetMigration.all
DatasetMigration.create

DatasetMigration.create
Dataset.retrieve

Dataset.retrieve
DatasetImport.retrieve

DatasetImport.retrieve
Expression.evaluate

Expression.evaluate
DatasetImport.delete

DatasetImport.delete
DatasetTemplate.update

DatasetTemplate.update
Dataset.get_by_full_path

Dataset.get_by_full_path
Beacon.update

Beacon.update
Dataset.data

Dataset.data
Dataset.delete

Dataset.delete
Dataset.create

Dataset.create
BeaconSet.retrieve

BeaconSet.retrieve
Dataset.count

Dataset.count
BeaconSet.update

BeaconSet.update
Dataset.update

Dataset.update
Dataset.get_global_beacon_status

Dataset.get_global_beacon_status
DatasetField.all

DatasetField.all
DatasetExport.retrieve

DatasetExport.retrieve
DatasetMigration.delete

DatasetMigration.delete
Object.get_by_full_path

Object.get_by_full_path
DatasetMigration.retrieve

DatasetMigration.retrieve
GlobalSearch.facets

GlobalSearch.facets
DatasetCommit.all

DatasetCommit.all
Object.create

Object.create
DatasetImport.all

DatasetImport.all
DatasetImport.create

DatasetImport.create
Object.get_or_upload_file

Object.get_or_upload_file
Vault.create

Vault.create
Object.get_by_path

Object.get_by_path
Vault.all

Vault.all
Vault.get_personal_vault

Vault.get_personal_vault
Object.data

Object.data
Vault.objects

Vault.objects
DatasetCommit.retrieve

DatasetCommit.retrieve
GlobalSearch.search

GlobalSearch.search
DatasetCommit.delete

DatasetCommit.delete
GlobalSearch.request

GlobalSearch.request
Dataset.template

Dataset.template
Object.upload_file

Object.upload_file
Object.enable_global_beacon

Object.enable_global_beacon
Object.fields

Object.fields
DatasetTemplate.delete

DatasetTemplate.delete
DatasetTemplate.retrieve

DatasetTemplate.retrieve
Vault.files

Vault.files
SavedQuery.all

SavedQuery.all
Vault.retrieve

Vault.retrieve
Vault.search

Vault.search
Vault.folders

Vault.folders
DatasetField.create

DatasetField.create
DatasetField.facets

DatasetField.facets
SavedQuery.retrieve

SavedQuery.retrieve
Object.query

Object.query
GlobalSearch.subjects

GlobalSearch.subjects
Object.get_global_beacon_status

Object.get_global_beacon_status
Object.get_download_url

Object.get_download_url
SavedQuery.create

SavedQuery.create
login

login
Vault.datasets

Vault.datasets
SavedQuery.update

SavedQuery.update
Vault.delete

Vault.delete
Task.all

Task.all
Vault.create_dataset

Vault.create_dataset
Vault.create_folder

Vault.create_folder
Task.follow

Task.follow
protectedServer

protectedServer
DatasetTemplate.all

DatasetTemplate.all
DatasetTemplate.create

DatasetTemplate.create
createEnv

createEnv
Vault.update

Vault.update
SavedQuery.delete

SavedQuery.delete
protectedServerJS

protectedServerUI
Object.all

Object.all
GlobalSearch.subjects_count

GlobalSearch.subjects_count
Object.delete

Object.delete
Object.disable_global_beacon

Object.disable_global_beacon
Object.retrieve

Object.retrieve
Object.update

Object.update
Task.retrieve

Task.retrieve
User.retrieve

User.retrieve
Vault.get_by_full_path

Vault.get_by_full_path
Vault.get_or_create_by_full_path

Vault.get_or_create_by_full_path
Annotator.annotate

Annotator.annotate
Application.all

Application.all
Beacon.all

Beacon.all
Application.delete

Application.delete
Application.create

Application.create
Beacon.create

Beacon.create
Application.update

Application.update
Beacon.delete

Beacon.delete
Beacon.query

Beacon.query
Application.retrieve

Application.retrieve
BeaconSet.delete

BeaconSet.delete
Dataset.activity

Dataset.activity
BeaconSet.query

BeaconSet.query
Dataset.disable_global_beacon

Dataset.disable_global_beacon
Dataset.enable_global_beacon

Dataset.enable_global_beacon