README.md

DataSpaceR

R build
status codecov CRAN
Status 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.

This 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.

For a quick guide of how to use the API, see our cheat sheet .

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: 273
#>     - 77 studies with data
#>     - 5049 subjects
#>     - 423195 data points
#>   Available groups: 6
#>   Available publications: 1530
#>     - 12 publications with data

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 | ni_data_availability | |:------------|:-------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------|:---------|:-----------------|:-------------------|:------------|:-------------------------------------|:--------|:-------------------|:-----------------------| | cor01 | NA | The correlate of risk targeted intervention study (CORTIS): A randomized, partially-blinded, clinical trial of isoniazid and rifapentine (3HP) therapy to prevent pulmonary tuberculosis in high-risk individuals identified by a transcriptomic correlate of risk | Phase III | Inactive | Assays Completed | Human | NA | NA | GH-VAP | NA | NA | | 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 | 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 | NA | | cvd235 | mAbs potency | Weiss mAbs potency | Antibody Screening | Inactive | Assays Completed | Non-Organism Study | 2008-08-21 | Prophylactic neutralizing Ab | CAVD | NA | NA | | cvd236 | neutralization assays | neutralization assays | Antibody Screening | Active | In Progress | Non-Organism Study | 2009-02-03 | Prophylactic neutralizing Ab | CAVD | NA | 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 | NA |

available groups can be listed by availableGroups field

knitr::kable(con$availableGroups)

| group_id | label | original_label | description | created_by | shared | n | studies | |----------:|:-----------------------------------|:-----------------------------------|:--------------------------------------------------------------------------------------------------------------------------|:------------|:-------|----:|:-------------------------------| | 216 | mice | mice | NA | readjk | FALSE | 75 | 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 | 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:
#>     - Binding Ab multiplex assay
#>     - Demographics
#>     - Intracellular Cytokine Staining
#>     - Neutralizing antibody
#>   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  33
colnames(NAb)
#>  [1] "participant_id"      "participant_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"          "virus_full_name"    
#> [31] "virus_species"       "virus_host_cell"     "virus_backbone"

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



FredHutch/DataSpaceR documentation built on July 5, 2022, 2:07 a.m.