Learn R Programming

Opal R

Opal R Client for the Opal data warehouse. Most of the web services of Opal can be reached by an opalr function: import/export, data dictionaries, projects, tables, resources, permissions, users, DataSHIELD profiles etc.

See opalr documentation.

Installation:

# install from CRAN
install.packages("opalr")

# or install latest development version
remotes::install_github("obiba/opalr")

Basic usage:

library(opalr)
o <- opal.login('administrator', 'password', url = 'https://opal-demo.obiba.org')

# assign a table (as a data.frame) to a R symbol
opal.assign(o, 'D', 'CNSIM.CNSIM1')

# perform R operations on the server side
opal.execute(o, 'summary(D$GENDER)')
opal.execute(o, 'summary(D$LAB_GLUC)')

opal.logout(o)

Options

Some helper options can be defined to control default values and behavior:

  • opal.username, the login user name (default is NULL).
  • opal.password, the login user password (default is NULL).
  • opal.token, the login personal access token (default is NULL).
  • opal.url, the login Opal URL (default is NULL).
  • opal.opts, the curl options (default is NULL), see httr::httr_options.
  • opal.profile, the login profile (R servers cluster name) (default is NULL).
  • opal.progress, whether to show progress bar (default is TRUE).
  • opal.progress.clear, whether to clear progress bar after it is completed (default is FALSE).
  • opal.retry.times, the maximum number of GET requests to attempt (default is 3, no retry when value is 1).
  • opal.retry.quiet, whether to print a message displaying how long until the next request (default is FALSE).

Cookbooks

DataSHIELD Client

See the DSOpal documentation.

Copy Link

Version

Install

install.packages('opalr')

Monthly Downloads

735

Version

3.4.2

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

September 18th, 2024

Functions in opalr (3.4.2)

.newSession

Create a new R session in Opal.
opal.file

Get file content
.url

Utility method to build urls. Concatenates all arguments and adds a '/' separator between each element
.handleResponseLocation

Default request response Location handler.
.authorizationHeader

Constructs the value for the Authorization header
.tokenHeader

Constructs the value for the X-Opal-Auth header
opal.assign

Data or expression assignment
dsadmin.set_method

Set DataSHIELD method
oadmin.log_rest

Get Opal REST API logs
dsadmin.profile_rparser

Set or remove the R parser version of a DataSHIELD profile
oadmin.system_perm

Get the System permissions
.opal.login

Create the opal object
.as.zeroOne

Turns a value into 0/1 numeric.
oadmin.log_sql

Get Opal SQL API logs
dsadmin.profile_perm_add

Add or update a permission on a DataSHIELD profile
.getContent

Wrapper of httr::content()
.handleResponseOrCallback

Process response with default handler or the provided one
dsadmin.profile

Get a DataSHIELD profile
dsadmin.rm_option

Remove a DataSHIELD option
oadmin.r_perm_delete

Delete a R permission
dsadmin.get_methods

Get DataSHIELD methods
oadmin.user_reset_password

Reset user password
opal.project_command

Get project task
dsadmin.profile_access

Restrict or open access to a DataSHIELD profile
oadmin.installed_devtools

Check devtools package
opal.file_mv

Move and/or rename a file
opal.execute.source

Execute a R file script
oadmin.perm

Get the R permissions (deprecated)
dsadmin.profile_perm_delete

Delete a permission from a DataSHIELD profile
dsadmin.rm_options

Remove all DataSHIELD options
opal.command

Get an asynchronous command
opal.tokens

Get the personal access tokens
.tickProgress

Output the progress status if option "datashield.progress" is allows to.
opal.datasources

Get datasources
dsadmin.profile_create

Create a DataSHIELD profile
oadmin.install_package

Install CRAN package
dsadmin.get_options

Get the DataSHIELD options
.rmRSession

Remove a R session from Opal.
oadmin.remove_package

Remove package
dsadmin.profile_enable

Enable or disable a DataSHIELD profile
opal.assign.table

Data assignment to a data.frame
oadmin.user_profiles

Get user profiles
opal.project_create

Create a project
.extractJsonField

Extract JSON
.select

Returns a list r such that r[[i]] == l[[i]][field] for all i:length(l)
oadmin.package_description

Get package description
opal.commands

List the asynchronous commands
.extractLabel

Extract label for locale. If not found, fallback to undefined language label (if any).
oadmin.system_perm_add

Add or update a System permission
.deparse

Turn expression into character strings.
dsadmin.perm_add

Add or update a DataSHIELD permission
dictionary.annotate

Set variable annotation with a taxonomy term
dsadmin.install_package

Install a DataSHIELD package
.handleError

Handle error response
dsadmin.install_github_package

Install a DataSHIELD package from GitHub
.rmOpalSession

Remove a Opal session (logout)
oadmin.install_devtools

Install devtools package
dsadmin.package_descriptions

Get DataSHIELD package descriptions
dictionary.apply

Apply the dictionary to a tibble
.handleResponse

Default request response handler.
dsadmin.get_method

Get a DataSHIELD method
dictionary.annotate.harmo_status

Set variable annotation with Harmonization Status term
dsadmin.activity_summary

Get DataSHIELD activity summary
opal.table_dictionary_get

Get the dictionary of a Opal table
dsadmin.rm_method

Remove DataSHIELD method
opal.load_package

Load package
dsadmin.profile_delete

Delete a DataSHIELD profile
dsadmin.unpublish_package

Unpublish DataSHIELD package settings
dsadmin.set_package_methods

Set DataSHIELD package methods
opal.commands_rm

Remove all asynchronous commands
oadmin.log

Get Opal main logs
opal.resources_perm_delete

Delete a permission from any resource
opal.resources

Get the resource references of a project
.extractOpalSessionId

Extract opalsid from cookie data frame.
opal.resource_create

Create a resource reference in a project
.listToJson

Simple transformation function of a list into a JSON object/array.
dsadmin.profile_init

Initialize a DataSHIELD profile
dictionary.inspect

Inspect the dictionary of a tibble
oadmin.install_bioconductor_package

Install a package from Bioconductor
opal.task_wait

Wait for a task to complete.
opal.login

Opal login
opal.put

Generic REST resource update.
opal.symbol_rm

Remove a R symbol
.newProgress

Create a new progress instance with default settings.
opal.report

Opal report
opal.token_datashield_create

Create a personal access token for Datashield usage
opal.taxonomy

Get a taxonomy
opal.table_export

Export a table as a file
dsadmin.publish_package

Publish DataSHIELD package settings
dsadmin.perm_delete

Delete a DataSHIELD permission
opal.resource_exists

Check a resource reference exists
opal.resource_extension_create

Create an extended resource reference in a project
opal.symbol_save

Save a tibble
.aclsToDataFrame

Permsissions (ACLs) into a data frame.
.getPEMFilePath

Extract absolute path to the pem file
opal.table_perm_add

Add or update a permission on a table
opal.datasource

Get a datasource
opal.table_perm

Get the permissions on a table
opal.resource_get

Get the resource object of a project
opal.file_cp

Copy a file
opal.file_rm

Remove a file
opal.table_dictionary_update

Update the dictionary of a Opal table
dsadmin.rm_methods

Remove DataSHIELD methods.
oadmin.activity

Get R activity
dsadmin.remove_package

Remove DataSHIELD package
oadmin.perm_add

Add or update a R permission (deprecated)
dictionary.annotations

List the annotations
.getRSessionId

Extract R session Id from opal object, create a new R session if not found.
dsadmin.installed_package

Check DataSHIELD package
opal.task_cancel

Cancel a task
dsadmin.profile_perm

Get the permissions of a DataSHIELD profile
oadmin.install_cran_package

Install a package from CRAN
opal.assign.data

Data assignment
.getSessions

Get all R session in Opal.
opal.file_upload

Upload a file or a folder
oadmin.r_perm_add

Add or update a R permission
dsadmin.set_option

Set DataSHIELD option
opal.file_mkdir_tmp

Make a temporary folder
dsadmin.profile_exists

Check a DataSHIELD profile exists
oadmin.system_perm_delete

Delete a System permission
oadmin.user_add

Add a user
dsadmin.install_local_package

Install a DataSHIELD package from a local archive file
dsadmin.rm_package_methods

Remove DataSHIELD package methods
opal.file_read

Read a file
oadmin.installed_packages

List installed packages
dsadmin.perm

Get the DataSHIELD permissions
.isContentEmpty

Check if response content is empty.
opal.attribute_values

Get a vector of attribute values
.is.verbose

Verbose option
opal.variable

Get a variable of a table
opal.project_perm

Get the permissions on a project
opal.file_unzip

Unzip a zip archive file
opal.perms

Get the permissions of a subject
opal.resources_perm

Get the permissions on any resource
opal.annotations

Get the annotations of a Opal table
opal.delete

Generic REST resource deletion.
opal.as_md_table

Array to Markdown
dsadmin.profiles

Get DataSHIELD profiles
opal.project_backup

Backup a project
oadmin.install_github_package

Install a package from GitHub
opal.table_truncate

Truncate a Opal table
opal.table_exists

Check a Opal table exists
opal.execute

Execute a R script
opal.project

Get a project
oadmin.perm_delete

Delete a R permission (deprecated)
opal.logout

Logout from Opal(s)
opal.project_perm_delete

Delete a permission from a project
opal.project_perm_add

Add or update a permission on a project
oadmin.install_local_package

Install a package from a local archive file
opal.token_sql_create

Create a personal access token for SQL usage
opal.symbols

List R symbols
oadmin.users

Get the users
opal.assign.script

R script assignment
opal.token_delete

Delete a personal access token
opal.variable_summary

Get summary statistics of a variable of a table
opal.table_view_create

Create an Opal view over tables
dsadmin.package_description

Get DataSHIELD package description
oadmin.activity_summary

Get R activity summary
oadmin.r_perm

Get the R permissions
opal.taxonomy_delete

Delete a taxonomy
opal.workspace_rm

Remove a R workspace from a opal.
opal.workspace_restore

Restore a R workspace from a opal.
opalr-package

opalr: 'Opal' Data Repository Client and 'DataSHIELD' Utils
opal.report_md

Turn a R markdown file to html.
opal.resource

Get a resource reference of a project
opal.resource_perm

Get the permissions on a resource
.verbose

Verbose flag
opal.assign.table.tibble

Data assignment to a tibble
oadmin.user_delete

Delete a user
oadmin.user_exists

Check user exists
opal.assign.resource

Resource assignment
dsadmin.activity

Get DataSHIELD activity
opal.table_view_update

Update the table references and the entity filter of an Opal view
dsadmin.log

Get DataSHIELD logs
opal.table_create

Create an Opal table or view
opal.tables_perm_delete

Delete a permission from any table of a project
opal.table

Get a table of a datasource
opal.tables

Get tables of a datasource
opal.tables_perm_add

Add or update a permission on any table of a project
oadmin.installed_package

Check package is installed
opal.projects

Get projects
opal.resources_perm_add

Add or update a permission on any resource
opal.annotate

Apply the annotations to a Opal table
opal.vocabularies

Get the vocabularies of a taxonomy
opal.rm

Remove a R symbol (deprecated)
opal.terms

Get the terms of a vocabulary
opal.token

Get a personal access token
opal.projects_databases

Get projects databases
opal.command_result

Get result of an asynchronous command
opal.table_import

Import a file as table
opal.profiles

List R profiles
oadmin.user_enable

Enable a user
oadmin.user_profile_delete

Delete a user profile
opal.project_delete

Delete a project
opal.command_rm

Remove an asynchronous command
oadmin.system_metrics

Get system metrics
opal.file_ls

List content of a folder
opal.file_download

Download a file
opal.sql_history

SQL query execution history
opal.version_compare

Compare
opal.file_write

Write a file
opal.file_mkdir

Make a folder
opal.symbol_import

Import a tibble
opal.post

Generic REST resource creation.
opal.variables

Get variables of a table
opal.resource_view_create

Create an Opal view over a resource reference
opal.project_exists

Check a project exists
opal.get

Generic REST resource getter.
opal.project_restore

Restore a project
opal.resource_perm_add

Add or update a permission on a resource
opal.resource_perm_delete

Delete a permission from a resource
opal.token_r_create

Create a personal access token for R usage
opal.unload_package

Unload package
opal.resource_delete

Delete a resource reference
opal.resource_view_reconnect

Reconnect an Opal view to its underlying resource
opal.table_delete

Delete a Opal table
opal.sql

Execute a SQL query on tables
opal.table_perm_delete

Delete a permission from a table
opal.table_save

Save a local tibble as a Opal table
opal.tasks

Get the tasks
opal.tables_perm

Get the permissions on any table of a project
opal.token_renew

Renew an inactive personal access token
opal.task

Get a task
opal.taxonomy_download

Download a taxonomy file
opal.table_get

Get a Opal table as a tibble
opal.taxonomies

Get taxonomies
opal.vocabulary

Get a taxonomy vocabulary
opal.taxonomy_upload

Upload a taxonomy file
opal.valueset

Get the values of an entity
opal.workspaces

Get the R workspaces from a opal.
opal.workspace_save

Save the current session in a opal R workspace.