ImmPort study data is available for download in two formats currently: MySQL and TSV (Tab) formats. The RImmPort workflow is as follows: 1) MySQL formatted study data: User downloads one or more studies in MySQL zip files. Unzips the files. Loads local database instance. Connects to the database. Sets the ImmPort data source to the connection handle. Invokes RImmPort functions. 2) Tab: User downloads one or more studies in Tab format. Passes the folder where the zip files are located to an RImmPort function that builds SQLite database. Connects to the database. Sets the ImmPort data source to the connection handle. Invokes RImmPort functions.
User downloads study data of interest from the ImmPort website ( http://www.immport.org ) **. Depending on the file format MySQL or Tab the data is loaded into a local MySQL and SQLite database respectively. The user installs the RImmPort package, loads the RImmPort library, connects to the ImmPort database, and calls RImmPort methods to load study data from the database into R. Please refer to RImmPort_Article.pdf for a detailed discussion on RImmPort.
** User need to regsiter to the ImmPort website for downloading the datasets.
# get the directory where ImmPort sample data is stored in the directory structure of RImmPort package
studies_dir <- system.file("extdata", "ImmPortStudies", package = "RImmPort")
# set tab_dir to the folder where the zip files are located
tab_dir <- file.path(studies_dir, "Tab")
list.files(tab_dir)
# set db_dir to the folder where the database file 'ImmPort.sqlite' should be stored
db_dir <- file.path(studies_dir, "Db")
# get the directory of a sample SQLite database that has been bundled into the RImmPort package
db_dir <- system.file("extdata", "ImmPortStudies", "Db", package = "RImmPort")
# connect to the private instance of the ImmPort database
sqlite_conn <- dbConnect(SQLite(), dbname=file.path(db_dir, "ImmPort.sqlite"))
The getStudyFromDatabase
queries the ImmPort database
for the entire dataset of a specific study, and instantiates the
Study
reference class with that data.
## loading Study ID = SDY139
## loading Demographics data....done
## loading Concomitant Medications data....done
## loading Exposure data....done
## loading Substance Use data....done
## loading Adverse Events data....done
## loading Protocol Deviations data....done
## loading Medical History data....done
## loading Associated Persons Medical History data....done
## loading Laboratory Test Results data....done
## loading Physical Examination data....done
## loading Vital Signs data....done
## loading Questionnaires data....done
## loading Findings About data....done
## loading Skin Response data....done
## loading Genetics Findings data....loading HLA Typing Results data....done
## loading Array Results data....done
## done
## loading Protein Quantification data....loading ELISA Results data....done
## loading MBAA Results data....done
## done
## loading Cellular Quantification data....loading FCS Results data....done
## loading ELISPOT Results data....done
## done
## loading Nucleic Acid Quantification data....loading PCR Results data....done
## done
## loading Titer Assay Results data....loading HAI Assay Results data....done
## loading Neut. Ab Titer Results data....done
## done
## loading TrialArms data....done
## loading Trial Visits data....done
## loading TrialInclusionExclusionCriteria data....done
## loading TrialSummary data.... SDY139 done
## done loading Study ID = SDY139
## STUDYID DOMAIN USUBJID AGE AGEU SEX RACE ETHNIC SPECIES STRAIN
## 1 SDY139 DM SUB118053 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## 2 SDY139 DM SUB118054 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## 3 SDY139 DM SUB118055 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## 4 SDY139 DM SUB118056 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## 5 SDY139 DM SUB118057 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## 6 SDY139 DM SUB118058 2 Months Unknown <NA> <NA> Mus musculus BALB/c
## SBSTRAIN ARMCD ARM
## 1 <NA> ARM678 BALB/c
## 2 <NA> ARM678 BALB/c
## 3 <NA> ARM678 BALB/c
## 4 <NA> ARM678 BALB/c
## 5 <NA> ARM678 BALB/c
## 6 <NA> ARM678 BALB/c
# access Concomitant Medications data of SDY139
cm_df <- sdy139$interventions$cm_l$cm_df
head(cm_df)
## NULL
# get Trial Title from Trial Summary
ts_df <- sdy139$trial_design$ts_l$ts_df
title <- ts_df$TSVAL[ts_df$TSPARMCD== "TITLE"]
title
## [1] "The peptide specificity of the endogenous T follicular helper cell repertoire generated after protein immunization"
Note that some RImmPort functions take a domain name as input.
## Domain Name Domain Code
## 1 Adverse Events AE
## 2 Concomitant Medications CM
## 3 Demographics DM
## 4 Exposure EX
## 5 Medical History MH
## 6 Associated Persons Medical History APMH
## 7 Laboratory Test Results LB
## 8 Physical Examination PE
## 9 Protocol Deviations DV
## 10 Trial Arms TA
## 11 Trial Visits TV
## 12 Trial Inclusion Exclusion Criteria TI
## 13 Trial Summary TS
## 14 Substance Use SU
## 15 Vital Signs VS
## 16 Questionnaires QS
## 17 Findings About FA
## 18 Skin Response SR
## 19 Genetics Findings PF
## 20 Protein Quantification ZA
## 21 Cellular Quantification ZB
## 22 Nucleic Acid Quantification ZC
## 23 Titer Assay Results ZD
The Domain name should be exact to what is found in the list of Domain names.
# get list of studies with Cellular Quantification data
domain_name <- "Cellular Quantification"
study_ids_l <- getStudiesWithSpecificDomainData(domain_name)
study_ids_l
## [1] "SDY139" "SDY208"
The Domain name should be exact to what is found in the list of Domain names.
# get Cellular Quantification data of studies `SDY139` and `SDY208`
# get domain code of Cellular Quantification domain
domain_name <- "Cellular Quantification"
getDomainCode(domain_name)
## [1] "ZB"
study_ids <- c("SDY139", "SDY208")
domain_name <- "Cellular Quantification"
zb_l <- getDomainDataOfStudies(domain_name, study_ids)
## loading Cellular Quantification data....loading FCS Results data....done
## loading ELISPOT Results data....done
## done
## loading Cellular Quantification data....loading FCS Results data....done
## loading ELISPOT Results data....done
## done
## [1] "zb_df" "suppzb_df"
## STUDYID DOMAIN USUBJID ZBSEQ ZBTEST ZBCAT
## 1 SDY139 ZB SUB118078 1 Figure-7_FCM Cellular Quantification
## 2 SDY139 ZB SUB118078 2 Figure-7_FCM Cellular Quantification
## 3 SDY139 ZB SUB118078 3 Figure-7_FCM Cellular Quantification
## 4 SDY139 ZB SUB118078 4 Figure-7_FCM Cellular Quantification
## 5 SDY139 ZB SUB118078 5 Figure-7_FCM Cellular Quantification
## 6 SDY139 ZB SUB118078 6 Figure-7_FCM Cellular Quantification
## ZBMETHOD ZBPOPDEF ZBPOPNAM ZBORRES ZBORRESU ZBBASPOP ZBSPEC VISITNUM
## 1 Flow Cytometry Cell 1
## 2 Flow Cytometry Cell 1
## 3 Flow Cytometry Cell 1
## 4 Flow Cytometry Cell 1
## 5 Flow Cytometry Cell 1
## 6 Flow Cytometry Cell 1
## VISIT ZBELTM
## 1 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## 2 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## 3 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## 4 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## 5 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## 6 Day 0 Protein/peptide inoculation, SL_Sant_Plos1_2012_d0 P0D
## ZBTPTREF ZBREFID ZBXFN
## 1 Time of initial vaccine administration ES662746 Tfh_Tfh CLN D0-1.297191.fcs
## 2 Time of initial vaccine administration ES662746 Tfh_Tfh CLN D0-1.297192.txt
## 3 Time of initial vaccine administration ES662766 Tfh 1_Tfh EAR D0-1.297261.fcs
## 4 Time of initial vaccine administration ES662766 Tfh 1_Tfh EAR D0-1.297262.txt
## 5 Time of initial vaccine administration ES662786 Tfh_Tfh ILN D0-1.297339.fcs
## 6 Time of initial vaccine administration ES662786 Tfh_Tfh ILN D0-1.297340.txt
## [1] "ELISA" "ELISPOT" "Array" "PCR"
## [5] "HLA Typing" "MBAA" "HAI" "Neut Ab Titer"
## [9] "Flow"
The assay type should be exact to what is found in the list of supported assay types.
# get 'ELISPOT' data of study `SDY139`
assay_type <- "ELISPOT"
study_id = "SDY139"
elispot_l <- getAssayDataOfStudies(study_id, assay_type)
## loading Protein Quantification data....done
## loading Cellular Quantification data....loading ELISPOT Results data....done
## done
## loading Nucleic Acid Quantification data....done
## loading Titer Assay Results data....done
## loading Genetics Findings data....done
## [1] "zb_df" "suppzb_df"
## STUDYID DOMAIN USUBJID ZBSEQ ZBTEST ZBCAT
## 1 SDY139 ZB SUB118053 8675 Figure-4_ELISPOT Cellular Quantification
## 2 SDY139 ZB SUB118053 8658 Figure-4_ELISPOT Cellular Quantification
## 3 SDY139 ZB SUB118053 8673 Figure-4_ELISPOT Cellular Quantification
## 4 SDY139 ZB SUB118053 8660 Figure-4_ELISPOT Cellular Quantification
## 5 SDY139 ZB SUB118053 8662 Figure-4_ELISPOT Cellular Quantification
## 6 SDY139 ZB SUB118053 8663 Figure-4_ELISPOT Cellular Quantification
## ZBMETHOD ZBPOPDEF ZBPOPNAM ZBORRES ZBORRESU ZBBASPOP ZBSPEC VISITNUM
## 1 ELISPOT IL-2 IL-2 622.8571 1000000 Cell 3
## 2 ELISPOT IL-21 IL-21 8337.5 1000000 Cell 3
## 3 ELISPOT IL-2 IL-2 1048.571 1000000 Cell 3
## 4 ELISPOT IL-21 IL-21 3925.0 1000000 Cell 3
## 5 ELISPOT IL-21 IL-21 600.0 1000000 Cell 3
## 6 ELISPOT IL-21 IL-21 798.5714 1000000 Cell 3
## VISIT ZBELTM
## 1 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## 2 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## 3 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## 4 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## 5 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## 6 Day 8 Sample collection, SL_Sant_Plos1_2012_d8 P8D
## ZBTPTREF ZBREFID ZBXFN
## 1 Time of initial vaccine administration ES661770
## 2 Time of initial vaccine administration ES661753
## 3 Time of initial vaccine administration ES661768
## 4 Time of initial vaccine administration ES661755
## 5 Time of initial vaccine administration ES661757
## 6 Time of initial vaccine administration ES661758
# get the directory where ImmPort sample data is stored in the directory structure of RImmPort package
studies_dir <- system.file("extdata", "ImmPortStudies", package = "RImmPort")
# the folder where the .rds files will be stored
rds_dir <- file.path(studies_dir, "Rds")
# list the studies that have been serialized
list.files(rds_dir)
## [1] "SDY139" "SDY208"
# load the serialized data of study `SDY208`
study_id <- 'SDY208'
dm_l <- loadSerializedStudyData(rds_dir, study_id, "Demographics")
##
## domain_file_path = /tmp/RtmpX7vOoB/Rinst8efb5e53b7/RImmPort/extdata/ImmPortStudies/Rds/SDY208/dm.rds
## suppdomain_file_path = /tmp/RtmpX7vOoB/Rinst8efb5e53b7/RImmPort/extdata/ImmPortStudies/Rds/SDY208/suppdm.rds
## STUDYID DOMAIN USUBJID AGE AGEU SEX RACE ETHNIC SPECIES STRAIN
## 1 SDY208 DM SUB120516 6 Weeks Female <NA> <NA> Mus musculus <NA>
## 2 SDY208 DM SUB120517 6 Weeks Female <NA> <NA> Mus musculus <NA>
## 3 SDY208 DM SUB120518 6 Weeks Female <NA> <NA> Mus musculus <NA>
## 4 SDY208 DM SUB120519 6 Weeks Female <NA> <NA> Mus musculus <NA>
## 5 SDY208 DM SUB120520 6 Weeks Female <NA> <NA> Mus musculus <NA>
## 6 SDY208 DM SUB120521 6 Weeks Female <NA> <NA> Mus musculus <NA>
## SBSTRAIN ARMCD
## 1 <NA> ARM881
## 2 <NA> ARM882
## 3 <NA> ARM883
## 4 <NA> ARM884
## 5 <NA> ARM885
## 6 <NA> ARM886
## ARM
## 1 Microneedle vaccination- 5 ug inactivated A/California/04/09 virus
## 2 Subcutaneous vaccination- 5 ug inactivated A/California/04/09 virus
## 3 Uncoated microneedle vaccination- Placebo
## 4 Microneedle vaccination- 5 ug inactivated A/California/04/09 virus, Challenged: 10x LD50 A/California/04/09 virus
## 5 Subcutaneous vaccination- 5 ug inactivated A/California/04/09 virus, Challenged: 10x LD50 A/California/04/09 virus
## 6 Uncoated microneedle vaccination- Placebo, Challenged: 10x LD50 A/California/04/09 virus