Accessing Monoclonal Antibody Data
Ju Yeong Kim
Jason Taylor
2022-06-15
Source:vignettes/Monoconal_Antibody_Data.Rmd
Monoconal_Antibody_Data.Rmd
Workflow overview
Using the DataSpace app, the workflow of using the mAb grid is the following:
- Navigate to the mAb Grid and browse the available mAb mixtures
- Select the mAb mixtures that you’d like to investigate
- Or filter rows by using columns:
- mAb/Mixture
- donor species
- isotype
- HXB2 location
- tiers
- clades
- viruses
- Click “Neutralization Curves” or “IC50 Titer Heatmap” to visualize the mAb data
- Click “Export CSV” or “Export Excel” to download the mAb data
DataSpaceR
offers a similar interface:
- Browse the mAb Grid by
con$mabGridSummary
- Select the mAb mixtures by filtering the mAb grid using any columns
found in
con$mabGrid
usingcon$filterMabGrid()
- Use
con$getMab()
to retrieve the mAb data
Browse the mAb Grid
You can browse the mAb Grid by calling the
mabGridSummary
field in the connection object:
library(DataSpaceR)
con <- connectDS()
knitr::kable(head(con$mabGridSummary))
mab_mixture | donor_species | isotype | hxb2_location | n_viruses | n_clades | n_tiers | geometric_mean_curve_ic50 | n_studies |
---|---|---|---|---|---|---|---|---|
10-1074 | human | IgG | Env | 7 | 3 | 2 | 0.0213723 | 1 |
10E8 | human | IgG3 | gp160 | 227 | 11 | 7 | 0.4843333 | 2 |
10E8 V2.0 | human | 28 | 3 | 1 | 0.0031350 | 1 | ||
10E8 V2.0/iMab | human | gp160 | 13 | 8 | 2 | 0.0462897 | 1 | |
10E8 V4.0 | human | 28 | 3 | 1 | 0.0024094 | 1 | ||
10E8 V4.0/iMab | human | 119 | 12 | 6 | 0.0015396 | 1 |
This table is designed to mimic the mAb grid found in the app.
One can also access the unsummarized data from the mAb grid by
calling con$mabGrid
.
Filter the mAb grid
You can filter rows in the grid by specifying the values to keep in
the columns found in the field con$mabGrid
:
mab_mixture
, donor_species
,
isotype
, hxb2_location
, tiers
,
clades
, viruses
, and studies
.
filterMabGrid
takes the column and the values and filters
the underlying tables (private fields), and when you call the
mabGridSummary
or (which is actually an active
binding), it returns the filtered grid with updated n_
columns and geometric_mean_curve_ic50
.
# filter the grid by viruses
con$filterMabGrid(using = "virus", value = c("242-14", "Q23.17", "6535.3", "BaL.26", "DJ263.8"))
# filter the grid by donor species (llama)
con$filterMabGrid(using = "donor_species", value = "llama")
# check the updated grid
knitr::kable(con$mabGridSummary)
mab_mixture | donor_species | isotype | hxb2_location | n_viruses | n_clades | n_tiers | geometric_mean_curve_ic50 | n_studies |
---|---|---|---|---|---|---|---|---|
11F1B | llama | 4 | 2 | 1 | NA | 1 | ||
11F1F | llama | 4 | 2 | 1 | 26.2961178 | 1 | ||
1H9 | llama | Env | 4 | 2 | 1 | 5.0898322 | 1 | |
2B4F | llama | 4 | 2 | 1 | 1.5242288 | 1 | ||
2H10 | llama | 2 | 2 | 1 | NA | 1 | ||
2H10/W100A | llama | 2 | 2 | 1 | NA | 1 | ||
3E3 | llama | gp160 | 3 | 3 | 1 | 0.9944945 | 1 | |
4H73 | llama | 4 | 2 | 1 | NA | 1 | ||
5B10D | llama | 4 | 2 | 1 | NA | 1 | ||
9B6B | llama | 4 | 2 | 1 | 24.3643637 | 1 | ||
A14 | llama | gp160 | 3 | 3 | 1 | 1.8444582 | 1 | |
B21 | llama | gp160 | 3 | 3 | 1 | 0.0936399 | 1 | |
B9 | llama | gp160 | 3 | 3 | 1 | 0.0386986 | 1 | |
LAB5 | llama | 4 | 2 | 1 | NA | 1 |
Or we can use method chaining to call multiple filter methods and browse the grid. Method chaining is unique to R6 objects and related to the pipe. See Hadley Wickham’s Advanced R for more info.
con$resetMabGrid()
con$
filterMabGrid(using = "virus", value = c("242-14", "Q23.17", "6535.3", "BaL.26", "DJ263.8"))$
filterMabGrid(using = "donor_species", value = "llama")$
mabGridSummary
Retrieve column values from the mAb grid
You can retrieve values from the grid by mab_mixture
,
donor_species
, isotype
,
hxb2_location
, tier
, clade
,
virus
, and studies
, or any variables found in
the mabGrid
field in the connection object via
data.table
operations.
Create a DataSpaceMab object
After filtering the grid, you can create a DataSpaceMab object that contains the filtered mAb data.
mab <- con$getMab()
mab
#> <DataSpaceMab>
#> URL: https://dataspace.cavd.org
#> User: jmtaylor@scharp.org
#> Summary:
#> - 3 studies
#> - 14 mAb mixtures
#> - 1 neutralization tiers
#> - 3 clades
#> Filters:
#> - virus: 242-14, Q23.17, 6535.3, BaL.26, DJ263.8
#> - mab_donor_species: llama
There are 6 public fields available in the DataSpaceMab
object: studyAndMabs
, mabs
,
nabMab
, studies
, assays
, and
variableDefinitions
, and they are equivalent to the sheets
in the excel file or the csv files you would download from the app via
“Export Excel”/“Export CSV”.
knitr::kable(con$mabGridSummary)
mab_mixture | donor_species | isotype | hxb2_location | n_viruses | n_clades | n_tiers | geometric_mean_curve_ic50 | n_studies |
---|---|---|---|---|---|---|---|---|
11F1B | llama | 4 | 2 | 1 | NA | 1 | ||
11F1F | llama | 4 | 2 | 1 | 26.2961178 | 1 | ||
1H9 | llama | Env | 4 | 2 | 1 | 5.0898322 | 1 | |
2B4F | llama | 4 | 2 | 1 | 1.5242288 | 1 | ||
2H10 | llama | 2 | 2 | 1 | NA | 1 | ||
2H10/W100A | llama | 2 | 2 | 1 | NA | 1 | ||
3E3 | llama | gp160 | 3 | 3 | 1 | 0.9944945 | 1 | |
4H73 | llama | 4 | 2 | 1 | NA | 1 | ||
5B10D | llama | 4 | 2 | 1 | NA | 1 | ||
9B6B | llama | 4 | 2 | 1 | 24.3643637 | 1 | ||
A14 | llama | gp160 | 3 | 3 | 1 | 1.8444582 | 1 | |
B21 | llama | gp160 | 3 | 3 | 1 | 0.0936399 | 1 | |
B9 | llama | gp160 | 3 | 3 | 1 | 0.0386986 | 1 | |
LAB5 | llama | 4 | 2 | 1 | NA | 1 |
View metadata concerning the mAb object
There are several metadata fields that can be exported in the mAb object.
names(mab)
#> [1] ".__enclos_env__" "variableDefinitions" "assays"
#> [4] "studies" "nabMab" "mabs"
#> [7] "studyAndMabs" "config" "clone"
#> [10] "getLanlMetadata" "refresh" "print"
#> [13] "initialize"
DataSpaceR can also fetch and add metadata associated with downloaded
mAbs via the getLanlMetadata
method that is associated with
the DataSpaceMab
object.
mab$getLanlMetadata()
The LANL metadata can now be found at the
mabs$lanl_metadata
variable. This is a list column and its
structure can very depending on what data LANL has collected.
mab$mabs[mab_name_std == "B9"]$lanl_metadata
#> [[1]]
#> [[1]]$epitopes
#> accession alt_names binding_type cite country dis
#> 1: NA NA <data.table[1x2]> <data.table[1x25]> <list[0]> NA
#> disrange donor epitope epitope_name hxb2_contig hxb2loc2end hxb2loc2start
#> 1: NA NA NA NA NA NA NA
#> hxb2locend hxb2locstart hxb2protein hxb2protein_id id immunogen
#> 1: NA NA gp160 18 3219 <data.table[1x2]>
#> in_catnap in_feature_db is_adcc isotype keyword mab_name
#> 1: TRUE FALSE NA <list[0]> <data.table[4x2]> B9
#> modifydate neutralizing note origlocend origlocstart
#> 1: 2018-06-01 13:59:55 L <data.table[2x4]> NA NA
#> origprotein origprotein_id patient species strain subprotein
#> 1: NA 1 <list[0]> <data.table[1x2]> NA NA
#> subprotein_id subtype table total_cite_count total_note_count
#> 1: 1 <data.table[2x2]> ab 1 2
#> vaccine_adjuvant vaccine_component vaccine_strain vaccine_type
#> 1: <list[0]> <data.table[1x2]> <data.table[2x2]> <data.table[1x2]>
#>
#> [[1]]$params
#> [[1]]$params$id
#> [1] "3219"
#>
#> [[1]]$params$table
#> [1] "ab"
#>
#>
#> [[1]]$timestamp
#> [1] "2022-04-01 17:01:42z"
#>
#> [[1]]$source
#> [1] "https://www.hiv.lanl.gov/mojo/immunology/api/v1/epitope/ab?id=3219"
Session information
sessionInfo()
#> R version 4.1.2 (2021-11-01)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 18.04.5 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
#>
#> locale:
#> [1] LC_CTYPE=en_US.utf8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.utf8 LC_COLLATE=en_US.utf8
#> [5] LC_MONETARY=en_US.utf8 LC_MESSAGES=en_US.utf8
#> [7] LC_PAPER=en_US.utf8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] data.table_1.14.2 DataSpaceR_0.7.5 knitr_1.37
#>
#> loaded via a namespace (and not attached):
#> [1] Rcpp_1.0.8 digest_0.6.29 assertthat_0.2.1 R6_2.5.1
#> [5] jsonlite_1.8.0 magrittr_2.0.2 evaluate_0.15 highr_0.9
#> [9] httr_1.4.2 stringi_1.7.6 curl_4.3.2 tools_4.1.2
#> [13] stringr_1.4.0 Rlabkey_2.8.3 xfun_0.29 compiler_4.1.2