DataSpaceR

Build Status Build status codecov CRAN Status CRAN Downloads monthly Project Status: Active – The project has reached a stable, usable state and is being actively developed. lifecycle

DataSpaceR is an R interface to the CAVD DataSpace, a data sharing and discovery tool that facilitates exploration of HIV immunological data from pre-clinical and clinical HIV vaccine studies.

The package is intended for use by immunologists, bioinformaticians, and statisticians in HIV vaccine research, or anyone interested in the analysis of HIV immunological data across assays, studies, and time.

This package simplifies access to the database by taking advantage of the standardization of the database to hide all the Rlabkey specific code away from the user, and it allows the users to access the study-specific datasets via an object-oriented paradigm.

Examples & Documentation

For more detailed examples and detailed documentation, see the introductory vignette and the pkgdown site.

Installation

Install from CRAN:

install.packages("DataSpaceR")

You can install the latest development version from GitHub with devtools:

# install.packages("devtools")
devtools::install_github("ropensci/DataSpaceR")

Register and set DataSpace credential

The database is accessed with the user’s credentials. A netrc file storing login and password information is required.

  1. Create an account and read the terms of use
  2. On your R console, create a netrc file using a function from DataSpaceR:
library(DataSpaceR)
writeNetrc(
  login = "yourEmail@address.com", 
  password = "yourSecretPassword",
  netrcFile = "/your/home/directory/.netrc" # use getNetrcPath() to get the default path 
)

This will create a netrc file in your home directory.

Alternatively, you can manually create a netrc file in the computer running R.

The following three lines must be included in the .netrc or _netrc file either separated by white space (spaces, tabs, or newlines) or commas. Multiple such blocks can exist in one file.

machine dataspace.cavd.org
login myuser@domain.com
password supersecretpassword

See here for more information about netrc.

Usage

The general idea is that the user:

  1. creates an instance of DataSpaceConnection class via connectDS
  2. browses available studies and groups in the instance via availableStudies and availableGroups
  3. creates a connection to a specific study via getStudy or a group via getGroup
  4. retrieves datasets by name via getDataset

for example:

library(DataSpaceR)
#> By exporting data from the CAVD DataSpace, you agree to be bound by the Terms of Use available on the CAVD DataSpace sign-in page at https://dataspace.cavd.org

con <- connectDS()
con
#> <DataSpaceConnection>
#>   URL: https://dataspace.cavd.org
#>   User: jkim2345@scharp.org
#>   Available studies: 254
#>     - 72 studies with data
#>     - 4872 subjects
#>     - 407558 data points
#>   Available groups: 6

connectDS() will create a connection to DataSpace.

available studies can be listed by availableStudies field

knitr::kable(head(con$availableStudies))
study_name short_name title type status stage species start_date strategy network data_availability
cvd232 Parks_RV_232 Limiting Dose Vaginal SIVmac239 Challenge of RhCMV-SIV vaccinated Indian rhesus macaques. Pre-Clinical NHP Inactive Assays Completed Rhesus macaque 2009-11-24 Vector vaccines (viral or bacterial) CAVD NA
cvd234 Zolla-Pazner_Mab_test1 Study Zolla-Pazner_Mab_Test1 Antibody Screening Inactive Assays Completed Non-Organism Study 2009-02-03 Prophylactic neutralizing Ab CAVD NA
cvd235 mAbs potency Weiss mAbs potency Antibody Screening Inactive Assays Completed Non-Organism Study 2008-08-21 Prophylactic neutralizing Ab CAVD NA
cvd236 neutralization assays neutralization assays Antibody Screening Active In Progress Non-Organism Study 2009-02-03 Prophylactic neutralizing Ab CAVD NA
cvd238 Gallo_PA_238 HIV-1 neutralization responses in chronically infected individuals Antibody Screening Inactive Assays Completed Non-Organism Study 2009-01-08 Prophylactic neutralizing Ab CAVD NA
cvd239 CAVIMC-015 Lehner_Thorstensson_Allovac Pre-Clinical NHP Inactive Assays Completed Rhesus macaque 2009-01-08 Protein and peptide vaccines CAVD This study has assay data (NAB) in the DataSpace.

available groups can be listed by availableGroups field

knitr::kable(con$availableGroups)
id label original_label description created_by shared n studies
216 mice mice NA readjk FALSE 75 c(“cvd468”, “cvd483”, “cvd316”, “cvd331”)
217 CAVD 242 CAVD 242 This is a fake group for CAVD 242 readjk FALSE 30 cvd242
220 NYVAC durability comparison NYVAC_durability Compare durability in 4 NHP studies using NYVAC-C (vP2010) and NYVAC-KC-gp140 (ZM96) products. ehenrich TRUE 78 c(“cvd281”, “cvd434”, “cvd259”, “cvd277”)
224 cvd338 cvd338 NA readjk FALSE 36 cvd338
228 HVTN 505 case control subjects HVTN 505 case control subjects Participants from HVTN 505 included in the case-control analysis drienna TRUE 189 vtn505
230 HVTN 505 polyfunctionality vs BAMA HVTN 505 polyfunctionality vs BAMA Compares ICS polyfunctionality (CD8+, Any Env) to BAMA mfi-delta (single Env antigen) in the HVTN 505 case control cohort drienna TRUE 170 vtn505

Note: A group is a curated collection of participants from filtering of treatments, products, studies, or species, and it is created in the DataSpace App.

Check out the reference page of DataSpaceConnection for all available fields and methods.

create an instance of cvd408

cvd408 <- con$getStudy("cvd408")
cvd408
#> <DataSpaceStudy>
#>   Study: cvd408
#>   URL: https://dataspace.cavd.org/CAVD/cvd408
#>   Available datasets:
#>     - BAMA
#>     - Demographics
#>     - ICS
#>     - NAb
#>   Available non-integrated datasets:
class(cvd408)
#> [1] "DataSpaceStudy" "R6"

available datasets can be listed by availableDatasets field

knitr::kable(cvd408$availableDatasets)
name label n integrated
BAMA Binding Ab multiplex assay 1080 TRUE
Demographics Demographics 20 TRUE
ICS Intracellular Cytokine Staining 3720 TRUE
NAb Neutralizing antibody 540 TRUE

which will print names of available datasets.

Neutralizing Antibody dataset (NAb) can be retrieved by:

NAb <- cvd408$getDataset("NAb")
dim(NAb)
#> [1] 540  29
colnames(NAb)
#>  [1] "ParticipantId"          "ParticipantVisit/Visit" "visit_day"             
#>  [4] "assay_identifier"       "summary_level"          "specimen_type"         
#>  [7] "antigen"                "antigen_type"           "virus"                 
#> [10] "virus_type"             "virus_insert_name"      "clade"                 
#> [13] "neutralization_tier"    "tier_clade_virus"       "target_cell"           
#> [16] "initial_dilution"       "titer_ic50"             "titer_ic80"            
#> [19] "response_call"          "nab_lab_source_key"     "lab_code"              
#> [22] "exp_assayid"            "titer_ID50"             "titer_ID80"            
#> [25] "nab_response_ID50"      "nab_response_ID80"      "slope"                 
#> [28] "vaccine_matched"        "study_prot"

Check out the reference page of DataSpaceStudy for all available fields and methods.

Note: The package uses a R6 class to represent the connection to a study and get around some of R’s copy-on-change behavior.

Meta

ropensci_footer