From b14c3195750af3b9636c2fb29b6095893471c022 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 20 Apr 2024 11:35:31 +0200 Subject: [PATCH 01/57] Increment version number to 2.0.3.9000 --- DESCRIPTION | 2 +- NEWS.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index d2912ec..4ffb058 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dbparser Title: Drugs Databases Parser -Version: 2.0.3 +Version: 2.0.3.9000 Authors@R: c( person("Mohammed", "Ali", email = "moh_fcis@yahoo.com", role = c("aut", "cre")), diff --git a/NEWS.md b/NEWS.md index 89f0cfe..700c5cb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,5 @@ +# dbparser (development version) + # dbparser 2.0.3 ## Enhancements From d1ba888f9157bf9fcb8c4acd38907fc828e575e8 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Tue, 16 Sep 2025 18:50:53 +0300 Subject: [PATCH 02/57] #177, updated package version --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 4ffb058..a4fca28 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dbparser Title: Drugs Databases Parser -Version: 2.0.3.9000 +Version: 2.1.0.9000 Authors@R: c( person("Mohammed", "Ali", email = "moh_fcis@yahoo.com", role = c("aut", "cre")), From 5b7c94574fec4debd1746d7770e945da5ba9932d Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 28 Sep 2025 15:30:09 +0300 Subject: [PATCH 03/57] #177,added data.table dependency and exported new parser --- DESCRIPTION | 3 ++- NAMESPACE | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index a4fca28..d47aaf2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -12,13 +12,14 @@ Description: This tool is for parsing public drug databases such as 'DrugBank' X License: MIT + file LICENSE Encoding: UTF-8 Imports: + data.table, dplyr, progress, purrr, tibble, tools, XML -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.3 Suggests: canvasXpress, knitr, diff --git a/NAMESPACE b/NAMESPACE index 2fa538f..ae1807f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -3,6 +3,7 @@ export(cett_nodes_options) export(drug_node_options) export(parseDrugBank) +export(parseOnSIDES) export(references_node_options) export(show_dvobject_metadata) import(dplyr) @@ -16,6 +17,7 @@ importFrom(XML,xmlSize) importFrom(XML,xmlToDataFrame) importFrom(XML,xmlToList) importFrom(XML,xmlValue) +importFrom(data.table,fread) importFrom(progress,progress_bar) importFrom(purrr,'%>%') importFrom(purrr,is_empty) From 6a7ca57d11625f02ee5591b4601a328a6ee7c34c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 28 Sep 2025 15:30:45 +0300 Subject: [PATCH 04/57] #177, added new onside parser --- R/onsides_parser.R | 59 +++++++++++++++++++++++++++++++++++++++++++++ man/dbparser.Rd | 2 +- man/parseOnSIDES.Rd | 23 ++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 R/onsides_parser.R create mode 100644 man/parseOnSIDES.Rd diff --git a/R/onsides_parser.R b/R/onsides_parser.R new file mode 100644 index 0000000..1e92535 --- /dev/null +++ b/R/onsides_parser.R @@ -0,0 +1,59 @@ + +#' Parse the OnSIDES Core Relational Database +#' +#' Parses the core relational tables from the OnSIDES database. +#' +#' @param dataDir A string specifying the path to the directory containing the +#' OnSIDES CSV files. +#' @param include_high_confidence Logical. If TRUE (the default), the function +#' will also parse the `high_confidence.csv` file, which is a pre-aggregated +#' summary of ingredient-to-effect relationships. If the file is not found, +#' a warning is issued. +#' +#' @return A list of 7 or 8 data.frames. +#' +#' @export +#' @importFrom data.table fread +parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { + # The 7 canonical files + core_files <- c( + "product_label.csv", + "product_adverse_effect.csv", + "product_to_rxnorm.csv", + "vocab_meddra_adverse_effect.csv", + "vocab_rxnorm_ingredient.csv", + "vocab_rxnorm_product.csv", + "vocab_rxnorm_ingredient_to_product.csv" + ) + + file_paths <- file.path(dataDir, core_files) + names(file_paths) <- gsub("\\.csv$", "", core_files) + + if (!all(file.exists(file_paths))) { + missing <- core_files[!file.exists(file_paths)] + stop("Core files not found in '", dataDir, "':\n", paste(missing, collapse = "\n")) + } + + message("Parsing the 7 core OnSIDES database tables...") + db_tables <- lapply(names(file_paths), function(name) { + message("Reading ", name, ".csv ...") + data.table::fread(file_paths[[name]]) + }) + names(db_tables) <- names(file_paths) + + # --- Optional Handling of high_confidence.csv --- + if (include_high_confidence) { + hc_path <- file.path(dataDir, "high_confidence.csv") + if (file.exists(hc_path)) { + message("Reading high_confidence.csv ...") + hc_table <- data.table::fread(hc_path) + db_tables$high_confidence <- hc_table + } else { + warning("`include_high_confidence` was TRUE, but 'high_confidence.csv' was not found.") + } + } + + message("Successfully parsed OnSIDES database.") + class(db_tables) <- c("OnSIDESDb", "list") + db_tables +} diff --git a/man/dbparser.Rd b/man/dbparser.Rd index a2adf48..11a2d5c 100644 --- a/man/dbparser.Rd +++ b/man/dbparser.Rd @@ -2,8 +2,8 @@ % Please edit documentation in R/dbparser-package.R \docType{package} \name{dbparser} -\alias{dbparser} \alias{dbparser-package} +\alias{dbparser} \title{dbparser: A package for reading and parsing \strong{DrugBank} xml database.} \description{ The main purpose of the `dbparser` package is to parse diff --git a/man/parseOnSIDES.Rd b/man/parseOnSIDES.Rd new file mode 100644 index 0000000..d850084 --- /dev/null +++ b/man/parseOnSIDES.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/onsides_parser.R +\name{parseOnSIDES} +\alias{parseOnSIDES} +\title{Parse the OnSIDES Core Relational Database} +\usage{ +parseOnSIDES(dataDir, include_high_confidence = TRUE) +} +\arguments{ +\item{dataDir}{A string specifying the path to the directory containing the +OnSIDES CSV files.} + +\item{include_high_confidence}{Logical. If TRUE (the default), the function +will also parse the `high_confidence.csv` file, which is a pre-aggregated +summary of ingredient-to-effect relationships. If the file is not found, +a warning is issued.} +} +\value{ +A list of 7 or 8 data.frames. +} +\description{ +Parses the core relational tables from the OnSIDES database. +} From 705d82050d81af5607793f0f2e22f71a0d2f5f2b Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 28 Sep 2025 15:53:19 +0300 Subject: [PATCH 05/57] #177, refactored "add_database_info" to be more generic --- R/drugbank_parser.R | 8 +++++++- R/dvobject_metadata.R | 23 ++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/R/drugbank_parser.R b/R/drugbank_parser.R index 9154474..37e0bc0 100644 --- a/R/drugbank_parser.R +++ b/R/drugbank_parser.R @@ -80,7 +80,13 @@ parseDrugBank <- function(db_path, message("Completed loading DrugBank DB into memory") message("...........................................") pkg_env$root <- XML::xmlRoot(parsed_db) - dvobject <- add_drugbank_info(dvobject = dvobject) + dvobject <- add_database_info(dvobject = dvobject, + db_version = XML::xmlGetAttr( + node = pkg_env$root, + name = "version"), + db_exported_date = XML::xmlGetAttr( + node = pkg_env$root, + name = "exported-on")) message("parsing drugs elements") dvobject[["drugs"]] <- parse_drug_nodes(drug_options) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 4e6a0e8..a6f7f58 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -12,19 +12,24 @@ init_dvobject <- function() { } -#' add_drugbank_info -#' Add passed DrugBank db metadata to passed dvobject +#' add_database_info +#' Assign passed databases db metadata to passed dvobject +#' +#' @param db_type database type (defualt="DrugBank") +#' @param db_version database version as string +#' @param db_exported_date database official export date #' #' @keywords internal #' @return dvobject -add_drugbank_info <- function(dvobject) { - db_info <- attr(dvobject, "original_db_info") +add_database_info <- function(dvobject, + db_type = "DrugBank", + db_version = NULL, + db_exported_date = NULL) { + db_info <- attr(dvobject, db_type) - db_info[["db_type"]] <- "DrugBank" - db_info[["db_version"]] <- XML::xmlGetAttr(node = pkg_env$root, - name = "version") - db_info[["db_exported_date"]] <- XML::xmlGetAttr(node = pkg_env$root, - name = "exported-on") + db_info[["db_type"]] <- db_type + db_info[["db_version"]] <- db_version + db_info[["db_exported_date"]] <- db_exported_date attr(dvobject, "original_db_info") <- db_info dvobject From 2d15feeb0e7123dd8881e4e18aa2c6e046f2f54a Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 28 Sep 2025 17:33:40 +0300 Subject: [PATCH 06/57] #177, added dvobject metainfo for onside --- R/dvobject_metadata.R | 1 - R/onsides_parser.R | 17 ++++++++++++++--- man/add_database_info.Rd | 29 +++++++++++++++++++++++++++++ man/add_drugbank_info.Rd | 17 ----------------- man/cett_nodes_options.Rd | 1 + man/drug_node_options.Rd | 1 + man/parseDrugBank.Rd | 1 + man/parseOnSIDES.Rd | 21 +++++++++++++++++++-- man/references_node_options.Rd | 3 ++- 9 files changed, 67 insertions(+), 24 deletions(-) create mode 100644 man/add_database_info.Rd delete mode 100644 man/add_drugbank_info.Rd diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index a6f7f58..d5c536a 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -30,7 +30,6 @@ add_database_info <- function(dvobject, db_info[["db_type"]] <- db_type db_info[["db_version"]] <- db_version db_info[["db_exported_date"]] <- db_exported_date - attr(dvobject, "original_db_info") <- db_info dvobject } diff --git a/R/onsides_parser.R b/R/onsides_parser.R index 1e92535..85c2be0 100644 --- a/R/onsides_parser.R +++ b/R/onsides_parser.R @@ -9,12 +9,18 @@ #' will also parse the `high_confidence.csv` file, which is a pre-aggregated #' summary of ingredient-to-effect relationships. If the file is not found, #' a warning is issued. +#' @param db_version used onside version (default = NULL) +#' @param db_exported_date used onside release date (default = NULL) #' -#' @return A list of 7 or 8 data.frames. +#' @return dvobject +#' @family parsers #' #' @export #' @importFrom data.table fread -parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { +parseOnSIDES <- function(dataDir, + include_high_confidence = TRUE, + db_version = NULL, + db_exported_date = NULL) { # The 7 canonical files core_files <- c( "product_label.csv", @@ -34,6 +40,8 @@ parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { stop("Core files not found in '", dataDir, "':\n", paste(missing, collapse = "\n")) } + dvobject <- init_dvobject() + message("Parsing the 7 core OnSIDES database tables...") db_tables <- lapply(names(file_paths), function(name) { message("Reading ", name, ".csv ...") @@ -55,5 +63,8 @@ parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { message("Successfully parsed OnSIDES database.") class(db_tables) <- c("OnSIDESDb", "list") - db_tables + append(dvobject, db_tables) %>% + add_database_info(db_type = "OnSIDES", + db_version = db_version, + db_exported_date = db_exported_date) } diff --git a/man/add_database_info.Rd b/man/add_database_info.Rd new file mode 100644 index 0000000..87598b7 --- /dev/null +++ b/man/add_database_info.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{add_database_info} +\alias{add_database_info} +\title{add_database_info + Assign passed databases db metadata to passed dvobject} +\usage{ +add_database_info( + dvobject, + db_type = "DrugBank", + db_version = NULL, + db_exported_date = NULL +) +} +\arguments{ +\item{db_type}{database type (defualt="DrugBank")} + +\item{db_version}{database version as string} + +\item{db_exported_date}{database official export date} +} +\value{ +dvobject +} +\description{ +add_database_info + Assign passed databases db metadata to passed dvobject +} +\keyword{internal} diff --git a/man/add_drugbank_info.Rd b/man/add_drugbank_info.Rd deleted file mode 100644 index 2adfff8..0000000 --- a/man/add_drugbank_info.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/dvobject_metadata.R -\name{add_drugbank_info} -\alias{add_drugbank_info} -\title{add_drugbank_info - Add passed DrugBank db metadata to passed dvobject} -\usage{ -add_drugbank_info(dvobject) -} -\value{ -dvobject -} -\description{ -add_drugbank_info - Add passed DrugBank db metadata to passed dvobject -} -\keyword{internal} diff --git a/man/cett_nodes_options.Rd b/man/cett_nodes_options.Rd index 64957fe..3106647 100644 --- a/man/cett_nodes_options.Rd +++ b/man/cett_nodes_options.Rd @@ -16,6 +16,7 @@ returns carriers, enzymes,targets and transporters node valid options. Other parsers: \code{\link{drug_node_options}()}, \code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/drug_node_options.Rd b/man/drug_node_options.Rd index 51f5404..0b016ad 100644 --- a/man/drug_node_options.Rd +++ b/man/drug_node_options.Rd @@ -16,6 +16,7 @@ returns drug node valid options. Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/parseDrugBank.Rd b/man/parseDrugBank.Rd index 8f21cb3..a97a00e 100644 --- a/man/parseDrugBank.Rd +++ b/man/parseDrugBank.Rd @@ -46,6 +46,7 @@ parses given DrugBank XML database into a dvobject. dvobject is a list of Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{drug_node_options}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/parseOnSIDES.Rd b/man/parseOnSIDES.Rd index d850084..295a4f8 100644 --- a/man/parseOnSIDES.Rd +++ b/man/parseOnSIDES.Rd @@ -4,7 +4,12 @@ \alias{parseOnSIDES} \title{Parse the OnSIDES Core Relational Database} \usage{ -parseOnSIDES(dataDir, include_high_confidence = TRUE) +parseOnSIDES( + dataDir, + include_high_confidence = TRUE, + db_version = NULL, + db_exported_date = NULL +) } \arguments{ \item{dataDir}{A string specifying the path to the directory containing the @@ -14,10 +19,22 @@ OnSIDES CSV files.} will also parse the `high_confidence.csv` file, which is a pre-aggregated summary of ingredient-to-effect relationships. If the file is not found, a warning is issued.} + +\item{db_version}{used onside version (default = NULL)} + +\item{db_exported_date}{used onside release date (default = NULL)} } \value{ -A list of 7 or 8 data.frames. +dvobject } \description{ Parses the core relational tables from the OnSIDES database. } +\seealso{ +Other parsers: +\code{\link{cett_nodes_options}()}, +\code{\link{drug_node_options}()}, +\code{\link{parseDrugBank}()}, +\code{\link{references_node_options}()} +} +\concept{parsers} diff --git a/man/references_node_options.Rd b/man/references_node_options.Rd index 74f555a..bd5dd3a 100644 --- a/man/references_node_options.Rd +++ b/man/references_node_options.Rd @@ -16,6 +16,7 @@ returns references node valid options. Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{drug_node_options}()}, -\code{\link{parseDrugBank}()} +\code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()} } \concept{parsers} From 65e72eb0f9cf149d1787630e417c0f32e1efa194 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 28 Sep 2025 17:33:40 +0300 Subject: [PATCH 07/57] #177, added dvobject metainfo for onside --- DESCRIPTION | 2 +- R/dvobject_metadata.R | 1 - R/onsides_parser.R | 17 ++++++++++++++--- man/add_database_info.Rd | 29 +++++++++++++++++++++++++++++ man/add_drugbank_info.Rd | 17 ----------------- man/cett_nodes_options.Rd | 1 + man/drug_node_options.Rd | 1 + man/parseDrugBank.Rd | 1 + man/parseOnSIDES.Rd | 21 +++++++++++++++++++-- man/references_node_options.Rd | 3 ++- 10 files changed, 68 insertions(+), 25 deletions(-) create mode 100644 man/add_database_info.Rd delete mode 100644 man/add_drugbank_info.Rd diff --git a/DESCRIPTION b/DESCRIPTION index d47aaf2..787bba8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dbparser Title: Drugs Databases Parser -Version: 2.1.0.9000 +Version: 2.1.0.9001 Authors@R: c( person("Mohammed", "Ali", email = "moh_fcis@yahoo.com", role = c("aut", "cre")), diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index a6f7f58..d5c536a 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -30,7 +30,6 @@ add_database_info <- function(dvobject, db_info[["db_type"]] <- db_type db_info[["db_version"]] <- db_version db_info[["db_exported_date"]] <- db_exported_date - attr(dvobject, "original_db_info") <- db_info dvobject } diff --git a/R/onsides_parser.R b/R/onsides_parser.R index 1e92535..85c2be0 100644 --- a/R/onsides_parser.R +++ b/R/onsides_parser.R @@ -9,12 +9,18 @@ #' will also parse the `high_confidence.csv` file, which is a pre-aggregated #' summary of ingredient-to-effect relationships. If the file is not found, #' a warning is issued. +#' @param db_version used onside version (default = NULL) +#' @param db_exported_date used onside release date (default = NULL) #' -#' @return A list of 7 or 8 data.frames. +#' @return dvobject +#' @family parsers #' #' @export #' @importFrom data.table fread -parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { +parseOnSIDES <- function(dataDir, + include_high_confidence = TRUE, + db_version = NULL, + db_exported_date = NULL) { # The 7 canonical files core_files <- c( "product_label.csv", @@ -34,6 +40,8 @@ parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { stop("Core files not found in '", dataDir, "':\n", paste(missing, collapse = "\n")) } + dvobject <- init_dvobject() + message("Parsing the 7 core OnSIDES database tables...") db_tables <- lapply(names(file_paths), function(name) { message("Reading ", name, ".csv ...") @@ -55,5 +63,8 @@ parseOnSIDES <- function(dataDir, include_high_confidence = TRUE) { message("Successfully parsed OnSIDES database.") class(db_tables) <- c("OnSIDESDb", "list") - db_tables + append(dvobject, db_tables) %>% + add_database_info(db_type = "OnSIDES", + db_version = db_version, + db_exported_date = db_exported_date) } diff --git a/man/add_database_info.Rd b/man/add_database_info.Rd new file mode 100644 index 0000000..87598b7 --- /dev/null +++ b/man/add_database_info.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{add_database_info} +\alias{add_database_info} +\title{add_database_info + Assign passed databases db metadata to passed dvobject} +\usage{ +add_database_info( + dvobject, + db_type = "DrugBank", + db_version = NULL, + db_exported_date = NULL +) +} +\arguments{ +\item{db_type}{database type (defualt="DrugBank")} + +\item{db_version}{database version as string} + +\item{db_exported_date}{database official export date} +} +\value{ +dvobject +} +\description{ +add_database_info + Assign passed databases db metadata to passed dvobject +} +\keyword{internal} diff --git a/man/add_drugbank_info.Rd b/man/add_drugbank_info.Rd deleted file mode 100644 index 2adfff8..0000000 --- a/man/add_drugbank_info.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/dvobject_metadata.R -\name{add_drugbank_info} -\alias{add_drugbank_info} -\title{add_drugbank_info - Add passed DrugBank db metadata to passed dvobject} -\usage{ -add_drugbank_info(dvobject) -} -\value{ -dvobject -} -\description{ -add_drugbank_info - Add passed DrugBank db metadata to passed dvobject -} -\keyword{internal} diff --git a/man/cett_nodes_options.Rd b/man/cett_nodes_options.Rd index 64957fe..3106647 100644 --- a/man/cett_nodes_options.Rd +++ b/man/cett_nodes_options.Rd @@ -16,6 +16,7 @@ returns carriers, enzymes,targets and transporters node valid options. Other parsers: \code{\link{drug_node_options}()}, \code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/drug_node_options.Rd b/man/drug_node_options.Rd index 51f5404..0b016ad 100644 --- a/man/drug_node_options.Rd +++ b/man/drug_node_options.Rd @@ -16,6 +16,7 @@ returns drug node valid options. Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/parseDrugBank.Rd b/man/parseDrugBank.Rd index 8f21cb3..a97a00e 100644 --- a/man/parseDrugBank.Rd +++ b/man/parseDrugBank.Rd @@ -46,6 +46,7 @@ parses given DrugBank XML database into a dvobject. dvobject is a list of Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{drug_node_options}()}, +\code{\link{parseOnSIDES}()}, \code{\link{references_node_options}()} } \concept{parsers} diff --git a/man/parseOnSIDES.Rd b/man/parseOnSIDES.Rd index d850084..295a4f8 100644 --- a/man/parseOnSIDES.Rd +++ b/man/parseOnSIDES.Rd @@ -4,7 +4,12 @@ \alias{parseOnSIDES} \title{Parse the OnSIDES Core Relational Database} \usage{ -parseOnSIDES(dataDir, include_high_confidence = TRUE) +parseOnSIDES( + dataDir, + include_high_confidence = TRUE, + db_version = NULL, + db_exported_date = NULL +) } \arguments{ \item{dataDir}{A string specifying the path to the directory containing the @@ -14,10 +19,22 @@ OnSIDES CSV files.} will also parse the `high_confidence.csv` file, which is a pre-aggregated summary of ingredient-to-effect relationships. If the file is not found, a warning is issued.} + +\item{db_version}{used onside version (default = NULL)} + +\item{db_exported_date}{used onside release date (default = NULL)} } \value{ -A list of 7 or 8 data.frames. +dvobject } \description{ Parses the core relational tables from the OnSIDES database. } +\seealso{ +Other parsers: +\code{\link{cett_nodes_options}()}, +\code{\link{drug_node_options}()}, +\code{\link{parseDrugBank}()}, +\code{\link{references_node_options}()} +} +\concept{parsers} diff --git a/man/references_node_options.Rd b/man/references_node_options.Rd index 74f555a..bd5dd3a 100644 --- a/man/references_node_options.Rd +++ b/man/references_node_options.Rd @@ -16,6 +16,7 @@ returns references node valid options. Other parsers: \code{\link{cett_nodes_options}()}, \code{\link{drug_node_options}()}, -\code{\link{parseDrugBank}()} +\code{\link{parseDrugBank}()}, +\code{\link{parseOnSIDES}()} } \concept{parsers} From 52e925f6d32126a6a0b346b1e0d10ae487dfbbf3 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 5 Oct 2025 08:33:10 +0300 Subject: [PATCH 08/57] #177, add merge drugbank and onsides databases function --- NAMESPACE | 6 ++ R/dvobject_metadata.R | 9 +-- R/merge_helpers.R | 123 ++++++++++++++++++++++++++++++++++ R/onsides_parser.R | 11 ++- man/merge_drugbank_onsides.Rd | 63 +++++++++++++++++ 5 files changed, 201 insertions(+), 11 deletions(-) create mode 100644 R/merge_helpers.R create mode 100644 man/merge_drugbank_onsides.Rd diff --git a/NAMESPACE b/NAMESPACE index ae1807f..77dc3a3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,6 +2,7 @@ export(cett_nodes_options) export(drug_node_options) +export(merge_drugbank_onsides) export(parseDrugBank) export(parseOnSIDES) export(references_node_options) @@ -18,6 +19,11 @@ importFrom(XML,xmlToDataFrame) importFrom(XML,xmlToList) importFrom(XML,xmlValue) importFrom(data.table,fread) +importFrom(dplyr,filter) +importFrom(dplyr,left_join) +importFrom(dplyr,mutate) +importFrom(dplyr,rename) +importFrom(dplyr,select) importFrom(progress,progress_bar) importFrom(purrr,'%>%') importFrom(purrr,is_empty) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index d5c536a..ff3a8e6 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -27,10 +27,11 @@ add_database_info <- function(dvobject, db_exported_date = NULL) { db_info <- attr(dvobject, db_type) - db_info[["db_type"]] <- db_type - db_info[["db_version"]] <- db_version - db_info[["db_exported_date"]] <- db_exported_date + db_info[["db_type"]] <- db_type + db_info[["db_version"]] <- db_version + db_info[["db_exported_date"]] <- db_exported_date attr(dvobject, "original_db_info") <- db_info + class(dvobject) <- "dvobject" dvobject } @@ -45,6 +46,6 @@ add_database_info <- function(dvobject, #' @export show_dvobject_metadata <- function(dvobject) { dvobject_attributes <- attr(dvobject, "original_db_info") - dvobject_attributes[["class"]] <- class(dvobject) + dvobject_attributes[["class"]] <- class(merged_db) %>% paste(collapse = ", ") data.frame(Atrribute = names(dvobject_attributes), Value = stack(dvobject_attributes)[[1]]) } diff --git a/R/merge_helpers.R b/R/merge_helpers.R new file mode 100644 index 0000000..1c47916 --- /dev/null +++ b/R/merge_helpers.R @@ -0,0 +1,123 @@ +#' Merge DrugBank and OnSIDES Database Objects +#' +#' Creates an integrated dvobject object by linking DrugBank dvobject with +#' OnSIDES dvobject using RxNorm CUIs as the bridge. +#' +#' @details +#' This function performs the following key steps: +#' 1. Creates a mapping table between DrugBank IDs and RxNorm CUIs from the DrugBank object. +#' 2. Enriches the relevant OnSIDES tables (`vocab_rxnorm_ingredient` and optionally +#' `high_confidence`) by adding a `drugbank_id` column. +#' 3. Assembles a new list object containing all original tables plus the enriched ones +#' and the ID mapping table itself. +#' +#' The resulting object allows for powerful queries that span both mechanistic data from +#' DrugBank and clinical side-effect data from OnSIDES. +#' +#' @param drugbank A dvobject produced by `dbparser::parseDrugBank()`. +#' @param onsides A dvobject produced by `dbparser::parseOnSIDES()`. +#' +#' @return A new dvobject containing the integrated data. +#' +#' @export +#' @importFrom dplyr filter select rename mutate left_join +#' +#' @examples +#' \dontrun{ +#' # First, parse the individual databases +#' drugbank <- parseDrugBank("path/to/drugbank.xml") +#' onsides <- parseOnSIDES("path/to/onsides_csvs/") +#' +#' # Now, merge them into a single, powerful object +#' merged_db <- merge_drugbank_onsides(drugbank, onsides) +#' +#' # --- Example Analysis: Find the protein targets of all drugs known to --- +#' # --- cause the side effect "Hepatitis" with high confidence. --- +#' +#' # 1. Find the MedDRA ID for "Hepatitis" +#' hepatitis_id <- merged_db$onsides$vocab_meddra_adverse_effect %>% +#' filter(meddra_name == "Hepatitis") %>% +#' pull(meddra_id) +#' +#' # 2. Find all drug ingredients linked to this effect in the high_confidence table +#' drug_ids_causing_hepatitis <- merged_db$onsides$high_confidence_enriched %>% +#' filter(effect_meddra_id == hepatitis_id) %>% +#' pull(drugbank_id) %>% +#' na.omit() %>% +#' unique() +#' +#' # 3. Look up the targets for these DrugBank IDs +#' targets_of_interest <- merged_db$targets %>% +#' filter(parent_key %in% drug_ids_causing_hepatitis) %>% +#' select(drug_id = parent_key, target_name = name, gene_name) +#' +#' head(targets_of_interest) +#' } +merge_drugbank_onsides <- function(drugbank_db, onsides_db) { + + # --- Step 0: Input Validation --- + if (!inherits(drugbank_db, "dvobject") || + (!"drugs" %in% names(drugbank_db))) { + stop("`drugbank_db` must be a valid dvobject from parseDrugBank().") + } + + if (!inherits(drugbank_db, "dvobject") || + (!"external_identifiers" %in% names(drugbank_db$drugs))) { + stop("`drugbank_db` dvobject must contain external_identifiers data.") + } + + if (!inherits(onsides_db, "dvobject") || + (!"vocab_rxnorm_ingredient" %in% names(onsides_db))) { + stop("`onsides_db` must be a valid dvobject from parseOnSIDES().") + } + + # --- Step 1: Create the Bridge (RxCUI Mapping Table) --- + message("Creating DrugBank ID <-> RxCUI mapping table...") + rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% + dplyr::filter(resource == "RxCUI") %>% + dplyr::select(drugbank_id, rxcui = identifier) + + # --- Step 2: Enrich OnSIDES Tables --- + message("Enriching OnSIDES tables with DrugBank IDs...") + + # Enrich the core ingredient vocabulary + onsides_ingredient_enriched <- onsides_db$vocab_rxnorm_ingredient %>% + dplyr::left_join(rxcui_mapping_df, by = c("rxnorm_id" = "rxcui")) + + # Optionally enrich the high_confidence table if it exists + if ("high_confidence" %in% names(onsides_db)) { + onsides_hc_enriched <- onsides_db$high_confidence %>% + dplyr::mutate(ingredient_id = as.character(ingredient_id)) %>% + dplyr::left_join(rxcui_mapping_df, by = c("ingredient_id" = "rxcui")) + } + + # --- Step 3: Assemble the Final Merged Object --- + message("Assembling final merged object...") + + # Start with all of DrugBank's data + merged_object <- drugbank_db + merged_object$onsides <- list() + + # Add all of OnSIDES's data + for (name in names(onsides_db)) { + merged_object$onsides[[name]] <- onsides_db[[name]] + } + + # Overwrite the original OnSIDES tables with our new enriched versions + merged_object$vocab_rxnorm_ingredient_enriched <- onsides_ingredient_enriched + if (exists("onsides_hc_enriched")) { + merged_object$onsides$high_confidence_enriched <- onsides_hc_enriched + } + + # Add the mapping table itself for user reference + merged_object$drugbank_onsides_mapping <- rxcui_mapping_df + + # Update metadata + attr(merged_object, "onSideDB") <- attr(onsides_db, "original_db_info") + + # Assign a new class + class(merged_object) <- c("DrugBankOnSIDESDb", class(merged_object)) + + message("Merge complete.") + merged_object +} diff --git a/R/onsides_parser.R b/R/onsides_parser.R index 85c2be0..d92bf7d 100644 --- a/R/onsides_parser.R +++ b/R/onsides_parser.R @@ -40,8 +40,6 @@ parseOnSIDES <- function(dataDir, stop("Core files not found in '", dataDir, "':\n", paste(missing, collapse = "\n")) } - dvobject <- init_dvobject() - message("Parsing the 7 core OnSIDES database tables...") db_tables <- lapply(names(file_paths), function(name) { message("Reading ", name, ".csv ...") @@ -62,9 +60,8 @@ parseOnSIDES <- function(dataDir, } message("Successfully parsed OnSIDES database.") - class(db_tables) <- c("OnSIDESDb", "list") - append(dvobject, db_tables) %>% - add_database_info(db_type = "OnSIDES", - db_version = db_version, - db_exported_date = db_exported_date) + db_tables <- add_database_info(dvobject = db_tables, + db_type = "OnSIDES", + db_version = db_version, + db_exported_date = db_exported_date) } diff --git a/man/merge_drugbank_onsides.Rd b/man/merge_drugbank_onsides.Rd new file mode 100644 index 0000000..23574fe --- /dev/null +++ b/man/merge_drugbank_onsides.Rd @@ -0,0 +1,63 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/merge_helpers.R +\name{merge_drugbank_onsides} +\alias{merge_drugbank_onsides} +\title{Merge DrugBank and OnSIDES Database Objects} +\usage{ +merge_drugbank_onsides(drugbank_db, onsides_db) +} +\arguments{ +\item{drugbank}{A dvobject produced by `dbparser::parseDrugBank()`.} + +\item{onsides}{A dvobject produced by `dbparser::parseOnSIDES()`.} +} +\value{ +A new dvobject containing the integrated data. +} +\description{ +Creates an integrated dvobject object by linking DrugBank dvobject with +OnSIDES dvobject using RxNorm CUIs as the bridge. +} +\details{ +This function performs the following key steps: +1. Creates a mapping table between DrugBank IDs and RxNorm CUIs from the DrugBank object. +2. Enriches the relevant OnSIDES tables (`vocab_rxnorm_ingredient` and optionally + `high_confidence`) by adding a `drugbank_id` column. +3. Assembles a new list object containing all original tables plus the enriched ones + and the ID mapping table itself. + +The resulting object allows for powerful queries that span both mechanistic data from +DrugBank and clinical side-effect data from OnSIDES. +} +\examples{ +\dontrun{ +# First, parse the individual databases +drugbank <- parseDrugBank("path/to/drugbank.xml") +onsides <- parseOnSIDES("path/to/onsides_csvs/") + +# Now, merge them into a single, powerful object +merged_db <- merge_drugbank_onsides(drugbank, onsides) + +# --- Example Analysis: Find the protein targets of all drugs known to --- +# --- cause the side effect "Hepatitis" with high confidence. --- + +# 1. Find the MedDRA ID for "Hepatitis" +hepatitis_id <- merged_db$onsides$vocab_meddra_adverse_effect \%>\% + filter(meddra_name == "Hepatitis") \%>\% + pull(meddra_id) + +# 2. Find all drug ingredients linked to this effect in the high_confidence table +drug_ids_causing_hepatitis <- merged_db$onsides$high_confidence_enriched \%>\% + filter(effect_meddra_id == hepatitis_id) \%>\% + pull(drugbank_id) \%>\% + na.omit() \%>\% + unique() + +# 3. Look up the targets for these DrugBank IDs +targets_of_interest <- merged_db$targets \%>\% + filter(parent_key \%in\% drug_ids_causing_hepatitis) \%>\% + select(drug_id = parent_key, target_name = name, gene_name) + +head(targets_of_interest) +} +} From 7c47d4662645c577decdbd7a4438f4881dd93c95 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 5 Oct 2025 09:59:53 +0300 Subject: [PATCH 09/57] #177, updated show dvobject meta data function --- R/dvobject_metadata.R | 186 +++++++++++++++++++++++++++++-- man/build_metadata.Rd | 22 ++++ man/count_top_level_lists.Rd | 18 +++ man/find_dataframes_recursive.Rd | 20 ++++ man/find_second_database.Rd | 18 +++ man/grapes-or-or-grapes.Rd | 12 ++ man/show_dvobject_metadata.Rd | 24 ++-- 7 files changed, 283 insertions(+), 17 deletions(-) create mode 100644 man/build_metadata.Rd create mode 100644 man/count_top_level_lists.Rd create mode 100644 man/find_dataframes_recursive.Rd create mode 100644 man/find_second_database.Rd create mode 100644 man/grapes-or-or-grapes.Rd diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index ff3a8e6..4aed599 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -36,16 +36,184 @@ add_database_info <- function(dvobject, } -#' init_dvobject -#' Returns data.frame with two columns (key, value) of dvobject attributes +#' Display dvobject Metadata +#' +#' Displays information about passed dbobject object including basic info, +#' database metadata, and all data.frames contained within nested lists. +#' +#' @param obj A dvobject +#' @param return_df Logical. If TRUE, returns metadata data.frame without printing. +#' Default is FALSE. #' -#' @param dvobject - dvobject list to show related metadata +#' @return Invisibly returns a data.frame containing dvobject metadata +#' +#' @examples +#' \dontrun{ +#' display_merged_db_attrs(drugbank) +#' metadata <- display_merged_db_attrs(drugbank, return_df = TRUE) +#' } #' -#' @return data.frame -#' @family utility #' @export -show_dvobject_metadata <- function(dvobject) { - dvobject_attributes <- attr(dvobject, "original_db_info") - dvobject_attributes[["class"]] <- class(merged_db) %>% paste(collapse = ", ") - data.frame(Atrribute = names(dvobject_attributes), Value = stack(dvobject_attributes)[[1]]) +show_dvobject_metadata <- function(obj, return_df = FALSE) { + # Initialize return variable + metadata <- NULL + + # Validate input + attrs <- attributes(obj) + + if (is.null(attrs) || is.null(attrs$original_db_info)) { + stop("Object does not have expected database attributes (missing 'original_db_info')") + } + + # Find all dataframes in object + df_info <- find_dataframes_recursive(obj) + + # Count only top-level lists (not data.frames) + top_level_lists <- count_top_level_lists(obj) + + # Find second database if it exists + second_db_info <- find_second_database(attrs) + + # Build metadata + metadata <- build_metadata( + attrs = attrs, + has_second_db = second_db_info$has_second_db, + second_db_name = second_db_info$second_db_name + ) + + # Display output if not returning data.frame + if (!return_df) { + cat("=== BASIC INFO ===\n") + basic_info <- data.frame( + Class = paste(attrs$class, collapse = ", "), + Total_DataFrames = nrow(df_info), + Top_Level_Lists = top_level_lists, + Object_Size = format(object.size(obj), units = "auto"), + stringsAsFactors = FALSE + ) + print(basic_info) + + cat("\n=== DATABASE METADATA ===\n") + print(metadata, row.names = FALSE) + + cat("\n=== DATA.FRAMES ===\n") + print(df_info, row.names = FALSE) + } + + # Return metadata + invisible(metadata) +} + + +# Helper Functions for Display Attributes +# These are internal functions not exported to users + +#' NULL Coalescing Operator +#' @keywords internal +`%||%` <- function(x, y) { + if (is.null(x)) y else x +} + +#' Find All Data Frames Recursively +#' @param x Object to search +#' @param prefix Current path prefix +#' @return Data.frame with paths, dimensions, and sizes +#' @keywords internal +find_dataframes_recursive <- function(x, prefix = "") { + result <- NULL + + if (is.data.frame(x)) { + result <- data.frame( + Path = prefix, + Rows = nrow(x), + Cols = ncol(x), + Size = format(object.size(x), units = "auto"), + stringsAsFactors = FALSE + ) + } else if (is.list(x) && (length(x) > 0)) { + results <- lapply(names(x), function(name) { + new_prefix <- if (prefix == "") name else paste0(prefix, "$", name) + find_dataframes_recursive(x[[name]], new_prefix) + }) + result <- do.call(rbind, results[!sapply(results, is.null)]) + } + + result +} + +#' Count Top Level Lists +#' @param obj Object to analyze +#' @return Integer count of top-level lists (excluding data.frames) +#' @keywords internal +count_top_level_lists <- function(obj) { + sum(sapply(obj, function(x) { + (is.list(x) && !is.data.frame(x)) + })) +} + +#' Find Second Database in Attributes +#' @param attrs Attributes list +#' @return List with has_second_db (logical) and second_db_name (character) +#' @keywords internal +find_second_database <- function(attrs) { + result <- list( + has_second_db = FALSE, + second_db_name = NULL + ) + + standard_attrs <- c("names", "class", "original_db_info", "row.names") + potential_second_db <- setdiff(names(attrs), standard_attrs) + + if (length(potential_second_db) > 0) { + for (db_name in potential_second_db) { + db_attr <- attrs[[db_name]] + required_fields <- c("db_type", "db_version", "db_exported_date") + + if ((is.list(db_attr)) && (all(required_fields %in% names(db_attr)))) { + result$has_second_db <- TRUE + result$second_db_name <- db_name + } + } + } + + result +} + +#' Build Metadata Data Frame +#' @param attrs Attributes list +#' @param has_second_db Logical indicating if second database exists +#' @param second_db_name Name of second database attribute +#' @return Data.frame with database metadata +#' @keywords internal +build_metadata <- function(attrs, has_second_db, second_db_name) { + metadata <- NULL + + if (has_second_db) { + metadata <- rbind( + data.frame( + Database = "First Database", + Type = attrs$original_db_info$db_type %||% "Unknown", + Version = attrs$original_db_info$db_version %||% "Unknown", + Export_Date = attrs$original_db_info$db_exported_date %||% "Unknown", + stringsAsFactors = FALSE + ), + data.frame( + Database = "Second Database", + Type = attrs[[second_db_name]]$db_type %||% "Unknown", + Version = attrs[[second_db_name]]$db_version %||% "Unknown", + Export_Date = attrs[[second_db_name]]$db_exported_date %||% "Unknown", + stringsAsFactors = FALSE + ) + ) + } else { + metadata <- data.frame( + Database = "Original", + Type = attrs$original_db_info$db_type %||% "Unknown", + Version = attrs$original_db_info$db_version %||% "Unknown", + Export_Date = attrs$original_db_info$db_exported_date %||% "Unknown", + stringsAsFactors = FALSE + ) + } + + metadata } diff --git a/man/build_metadata.Rd b/man/build_metadata.Rd new file mode 100644 index 0000000..a8f169f --- /dev/null +++ b/man/build_metadata.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{build_metadata} +\alias{build_metadata} +\title{Build Metadata Data Frame} +\usage{ +build_metadata(attrs, has_second_db, second_db_name) +} +\arguments{ +\item{attrs}{Attributes list} + +\item{has_second_db}{Logical indicating if second database exists} + +\item{second_db_name}{Name of second database attribute} +} +\value{ +Data.frame with database metadata +} +\description{ +Build Metadata Data Frame +} +\keyword{internal} diff --git a/man/count_top_level_lists.Rd b/man/count_top_level_lists.Rd new file mode 100644 index 0000000..eeff527 --- /dev/null +++ b/man/count_top_level_lists.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{count_top_level_lists} +\alias{count_top_level_lists} +\title{Count Top Level Lists} +\usage{ +count_top_level_lists(obj) +} +\arguments{ +\item{obj}{Object to analyze} +} +\value{ +Integer count of top-level lists (excluding data.frames) +} +\description{ +Count Top Level Lists +} +\keyword{internal} diff --git a/man/find_dataframes_recursive.Rd b/man/find_dataframes_recursive.Rd new file mode 100644 index 0000000..898a44f --- /dev/null +++ b/man/find_dataframes_recursive.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{find_dataframes_recursive} +\alias{find_dataframes_recursive} +\title{Find All Data Frames Recursively} +\usage{ +find_dataframes_recursive(x, prefix = "") +} +\arguments{ +\item{x}{Object to search} + +\item{prefix}{Current path prefix} +} +\value{ +Data.frame with paths, dimensions, and sizes +} +\description{ +Find All Data Frames Recursively +} +\keyword{internal} diff --git a/man/find_second_database.Rd b/man/find_second_database.Rd new file mode 100644 index 0000000..eb00f74 --- /dev/null +++ b/man/find_second_database.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{find_second_database} +\alias{find_second_database} +\title{Find Second Database in Attributes} +\usage{ +find_second_database(attrs) +} +\arguments{ +\item{attrs}{Attributes list} +} +\value{ +List with has_second_db (logical) and second_db_name (character) +} +\description{ +Find Second Database in Attributes +} +\keyword{internal} diff --git a/man/grapes-or-or-grapes.Rd b/man/grapes-or-or-grapes.Rd new file mode 100644 index 0000000..aaf7f3d --- /dev/null +++ b/man/grapes-or-or-grapes.Rd @@ -0,0 +1,12 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dvobject_metadata.R +\name{\%||\%} +\alias{\%||\%} +\title{NULL Coalescing Operator} +\usage{ +x \%||\% y +} +\description{ +NULL Coalescing Operator +} +\keyword{internal} diff --git a/man/show_dvobject_metadata.Rd b/man/show_dvobject_metadata.Rd index ab2fa55..aaa3e24 100644 --- a/man/show_dvobject_metadata.Rd +++ b/man/show_dvobject_metadata.Rd @@ -2,19 +2,27 @@ % Please edit documentation in R/dvobject_metadata.R \name{show_dvobject_metadata} \alias{show_dvobject_metadata} -\title{init_dvobject - Returns data.frame with two columns (key, value) of dvobject attributes} +\title{Display dvobject Metadata} \usage{ -show_dvobject_metadata(dvobject) +show_dvobject_metadata(obj, return_df = FALSE) } \arguments{ -\item{dvobject}{- dvobject list to show related metadata} +\item{obj}{A dvobject} + +\item{return_df}{Logical. If TRUE, returns metadata data.frame without printing. +Default is FALSE.} } \value{ -data.frame +Invisibly returns a data.frame containing dvobject metadata } \description{ -init_dvobject - Returns data.frame with two columns (key, value) of dvobject attributes +Displays information about passed dbobject object including basic info, +database metadata, and all data.frames contained within nested lists. +} +\examples{ +\dontrun{ +display_merged_db_attrs(drugbank) +metadata <- display_merged_db_attrs(drugbank, return_df = TRUE) +} + } -\concept{utility} From 21926e2c488b9eba85c77c03aedd2be5fd372c8c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 5 Oct 2025 18:16:36 +0300 Subject: [PATCH 10/57] - Fixed unit tests --- tests/testthat/test_dvobject_metadata.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test_dvobject_metadata.R b/tests/testthat/test_dvobject_metadata.R index 5f8dc6c..d5d9afd 100644 --- a/tests/testthat/test_dvobject_metadata.R +++ b/tests/testthat/test_dvobject_metadata.R @@ -22,9 +22,9 @@ test_that( dvobj <- parseDrugBank(db_location) metadata <- dbparser::show_dvobject_metadata(dvobj) - expect_match(metadata$Value[[1]], "DrugBank") - expect_match(metadata$Value[[2]], "5.1") - expect_match(metadata$Value[[3]], "2018-07-03") - expect_match(metadata$Value[[4]], "dvobject") + expect_match(metadata$Database, "Original") + expect_match(metadata$Type, "DrugBank") + expect_match(metadata$Export_Date, "2018-07-03") + expect_match(metadata$Version, "5.1") } ) From 52504207c9a2f8e0fa1342d2ec76f832121508fc Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Mon, 6 Oct 2025 18:49:10 +0300 Subject: [PATCH 11/57] #177, added missed imports --- DESCRIPTION | 1 + NAMESPACE | 2 ++ R/dvobject_metadata.R | 1 + 3 files changed, 4 insertions(+) diff --git a/DESCRIPTION b/DESCRIPTION index 787bba8..ad67057 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,6 +18,7 @@ Imports: purrr, tibble, tools, + utils, XML RoxygenNote: 7.3.3 Suggests: diff --git a/NAMESPACE b/NAMESPACE index 77dc3a3..f0a577f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -19,6 +19,7 @@ importFrom(XML,xmlToDataFrame) importFrom(XML,xmlToList) importFrom(XML,xmlValue) importFrom(data.table,fread) +importFrom(dplyr,.data) importFrom(dplyr,filter) importFrom(dplyr,left_join) importFrom(dplyr,mutate) @@ -34,5 +35,6 @@ importFrom(tibble,as_tibble) importFrom(tibble,as_tibble_row) importFrom(tibble,tibble) importFrom(tibble,tibble_row) +importFrom(utils,object.size) importFrom(utils,stack) importFrom(utils,unzip) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 4aed599..629d140 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -54,6 +54,7 @@ add_database_info <- function(dvobject, #' } #' #' @export +#' @importFrom utils object.size show_dvobject_metadata <- function(obj, return_df = FALSE) { # Initialize return variable metadata <- NULL From 2b87ca52c4cb59d725442e015a554dea244c3acf Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Mon, 6 Oct 2025 18:49:43 +0300 Subject: [PATCH 12/57] #177, fixed global variables issue --- R/merge_helpers.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 1c47916..3985b48 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -20,7 +20,7 @@ #' @return A new dvobject containing the integrated data. #' #' @export -#' @importFrom dplyr filter select rename mutate left_join +#' @importFrom dplyr .data filter select rename mutate left_join #' #' @examples #' \dontrun{ @@ -74,8 +74,8 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # --- Step 1: Create the Bridge (RxCUI Mapping Table) --- message("Creating DrugBank ID <-> RxCUI mapping table...") rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% - dplyr::filter(resource == "RxCUI") %>% - dplyr::select(drugbank_id, rxcui = identifier) + dplyr::filter(.data$resource == "RxCUI") %>% + dplyr::select(.data$drugbank_id, rxcui = .data$identifier) # --- Step 2: Enrich OnSIDES Tables --- message("Enriching OnSIDES tables with DrugBank IDs...") @@ -87,7 +87,7 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # Optionally enrich the high_confidence table if it exists if ("high_confidence" %in% names(onsides_db)) { onsides_hc_enriched <- onsides_db$high_confidence %>% - dplyr::mutate(ingredient_id = as.character(ingredient_id)) %>% + dplyr::mutate(ingredient_id = as.character(.data$ingredient_id)) %>% dplyr::left_join(rxcui_mapping_df, by = c("ingredient_id" = "rxcui")) } From a82577fa4c064f998f3099a95041df99f8d194fa Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Mon, 6 Oct 2025 18:54:17 +0300 Subject: [PATCH 13/57] #177, fixed function param documentation --- R/merge_helpers.R | 4 ++-- man/merge_drugbank_onsides.Rd | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 3985b48..d39b7ac 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -14,8 +14,8 @@ #' The resulting object allows for powerful queries that span both mechanistic data from #' DrugBank and clinical side-effect data from OnSIDES. #' -#' @param drugbank A dvobject produced by `dbparser::parseDrugBank()`. -#' @param onsides A dvobject produced by `dbparser::parseOnSIDES()`. +#' @param drugbank_db A dvobject produced by `dbparser::parseDrugBank()`. +#' @param onsides_db A dvobject produced by `dbparser::parseOnSIDES()`. #' #' @return A new dvobject containing the integrated data. #' diff --git a/man/merge_drugbank_onsides.Rd b/man/merge_drugbank_onsides.Rd index 23574fe..f67afc4 100644 --- a/man/merge_drugbank_onsides.Rd +++ b/man/merge_drugbank_onsides.Rd @@ -7,9 +7,9 @@ merge_drugbank_onsides(drugbank_db, onsides_db) } \arguments{ -\item{drugbank}{A dvobject produced by `dbparser::parseDrugBank()`.} +\item{drugbank_db}{A dvobject produced by `dbparser::parseDrugBank()`.} -\item{onsides}{A dvobject produced by `dbparser::parseOnSIDES()`.} +\item{onsides_db}{A dvobject produced by `dbparser::parseOnSIDES()`.} } \value{ A new dvobject containing the integrated data. From beb2039848e761bf5000a42be667130ac43c8f5c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Wed, 8 Oct 2025 16:19:43 +0300 Subject: [PATCH 14/57] #177, imported null operator from purrr and fixed CMD warning --- NAMESPACE | 1 + R/dvobject_metadata.R | 7 +------ man/grapes-or-or-grapes.Rd | 12 ------------ 3 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 man/grapes-or-or-grapes.Rd diff --git a/NAMESPACE b/NAMESPACE index f0a577f..12f532a 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -26,6 +26,7 @@ importFrom(dplyr,mutate) importFrom(dplyr,rename) importFrom(dplyr,select) importFrom(progress,progress_bar) +importFrom(purrr,"%||%") importFrom(purrr,'%>%') importFrom(purrr,is_empty) importFrom(purrr,is_null) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 629d140..65cdd20 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -109,12 +109,6 @@ show_dvobject_metadata <- function(obj, return_df = FALSE) { # Helper Functions for Display Attributes # These are internal functions not exported to users -#' NULL Coalescing Operator -#' @keywords internal -`%||%` <- function(x, y) { - if (is.null(x)) y else x -} - #' Find All Data Frames Recursively #' @param x Object to search #' @param prefix Current path prefix @@ -186,6 +180,7 @@ find_second_database <- function(attrs) { #' @param second_db_name Name of second database attribute #' @return Data.frame with database metadata #' @keywords internal +#' @importFrom purrr %||% build_metadata <- function(attrs, has_second_db, second_db_name) { metadata <- NULL diff --git a/man/grapes-or-or-grapes.Rd b/man/grapes-or-or-grapes.Rd deleted file mode 100644 index aaf7f3d..0000000 --- a/man/grapes-or-or-grapes.Rd +++ /dev/null @@ -1,12 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/dvobject_metadata.R -\name{\%||\%} -\alias{\%||\%} -\title{NULL Coalescing Operator} -\usage{ -x \%||\% y -} -\description{ -NULL Coalescing Operator -} -\keyword{internal} From 929e6772e85950e907881d6de93c54cab332a399 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Tue, 25 Nov 2025 23:14:33 +0200 Subject: [PATCH 15/57] #177, Added util functions and docs --- NAMESPACE | 2 + R/dvobject_metadata.R | 3 +- R/merge_helpers.R | 11 +- R/utils.R | 228 ++++++++++++++++++++++++++++++++ man/add_database_info.Rd | 1 - man/subset_drugbank_dvobject.Rd | 31 +++++ vignettes/drugbank_nside.Rmd | 109 +++++++++++++++ 7 files changed, 378 insertions(+), 7 deletions(-) create mode 100644 R/utils.R create mode 100644 man/subset_drugbank_dvobject.Rd create mode 100644 vignettes/drugbank_nside.Rmd diff --git a/NAMESPACE b/NAMESPACE index 12f532a..62809af 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,5 +1,6 @@ # Generated by roxygen2: do not edit by hand +export(add_database_info) export(cett_nodes_options) export(drug_node_options) export(merge_drugbank_onsides) @@ -7,6 +8,7 @@ export(parseDrugBank) export(parseOnSIDES) export(references_node_options) export(show_dvobject_metadata) +export(subset_drugbank_dvobject) import(dplyr) importFrom(XML,xmlApply) importFrom(XML,xmlChildren) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 65cdd20..d8e3dcd 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -19,8 +19,9 @@ init_dvobject <- function() { #' @param db_version database version as string #' @param db_exported_date database official export date #' -#' @keywords internal #' @return dvobject +#' @export +#' @importFrom dplyr .data filter select rename mutate left_join add_database_info <- function(dvobject, db_type = "DrugBank", db_version = NULL, diff --git a/R/merge_helpers.R b/R/merge_helpers.R index d39b7ac..18b38da 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -54,7 +54,6 @@ #' head(targets_of_interest) #' } merge_drugbank_onsides <- function(drugbank_db, onsides_db) { - # --- Step 0: Input Validation --- if (!inherits(drugbank_db, "dvobject") || (!"drugs" %in% names(drugbank_db))) { @@ -95,8 +94,10 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { message("Assembling final merged object...") # Start with all of DrugBank's data - merged_object <- drugbank_db - merged_object$onsides <- list() + merged_object <- list() + merged_object$drugbank <- drugbank_db + merged_object$onsides <- list() + merged_object$integrated_data <- list() # Add all of OnSIDES's data for (name in names(onsides_db)) { @@ -106,11 +107,11 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # Overwrite the original OnSIDES tables with our new enriched versions merged_object$vocab_rxnorm_ingredient_enriched <- onsides_ingredient_enriched if (exists("onsides_hc_enriched")) { - merged_object$onsides$high_confidence_enriched <- onsides_hc_enriched + merged_object$integrated_data[["high_confidence_enriched"]] <- onsides_hc_enriched } # Add the mapping table itself for user reference - merged_object$drugbank_onsides_mapping <- rxcui_mapping_df + merged_object$integrated_data[["DrugBank_RxCUI_Mapping"]] <- rxcui_mapping_df # Update metadata attr(merged_object, "onSideDB") <- attr(onsides_db, "original_db_info") diff --git a/R/utils.R b/R/utils.R new file mode 100644 index 0000000..1bbea59 --- /dev/null +++ b/R/utils.R @@ -0,0 +1,228 @@ +# Create a reusable helper function to process one component (carrier, enzyme, etc.) +subset_cett_component <- function(component, component_name, drug_ids) { + new_component <- list() + + if (!is.null(component)) { + # The name of the intermediate ID, e.g., "carrier_id", "target_id" + intermediate_id_col <- paste0(sub("s$", "", component_name), "_id") + + # Step A: Filter the top-level `general_information` table by drug_id. + # This is our anchor. + general_info_filtered <- component$general_information %>% + dplyr::filter(drugbank_id %in% drug_ids) + + # Step B: From this anchor, get the set of relevant intermediate IDs. + relevant_intermediate_ids <- general_info_filtered[[intermediate_id_col]] %>% + unique() + # No matching items for this component + if (length(relevant_intermediate_ids) > 0) { + # Step C: Use these intermediate IDs to filter all other tables in the component. + new_component <- list() + new_component$general_information <- general_info_filtered + new_component$actions <- component$actions %>% + dplyr::filter(.data[[intermediate_id_col]] %in% relevant_intermediate_ids) + + # Step D: Recurse into the `polypeptides` list, using the same intermediate IDs + if (!is.null(component$polypeptides)) { + new_component$polypeptides <- list() + for (poly_table_name in names(component$polypeptides)) { + poly_table <- component$polypeptides[[poly_table_name]] + if (is.data.frame(poly_table) && intermediate_id_col %in% names(poly_table)) { + new_component$polypeptides[[poly_table_name]] <- poly_table %>% + dplyr::filter(.data[[intermediate_id_col]] %in% relevant_intermediate_ids) + } + } + } + } + } + + new_component +} + + +#' Subset a DrugBank dvobject by a vector of DrugBank IDs +#' +#' @details +#' Intelligently filters a DrugBank dvobject to retain only the data associated +#' with a specified list of drugbank_ids. It correctly handles the deep, +#' multi-level nested structure of the entire object, including the complex +#' relationships within the `cett` list. +#' +#' @param dvobject The dvobject from `parseDrugBank()`. +#' @param drug_ids A character vector of `drugbank_id` values to keep. +#' +#' @return A new, smaller dvobject with the same structure and attributes. +#' +#' @export +#' @importFrom dplyr .data filter +#' +#' @examples +#' \dontrun{ +#' library(dbparser) +#' one_drug <- subset_drugbank_dvobject(dvobject = dbdataset::drugbank, +#' drug_ids = "DB00001") +#' } +subset_drugbank_dvobject <- function(dvobject, drug_ids) { + + new_dvobject <- list() + + if (length(drug_ids) == 0) { + warning("`drug_ids` is empty. Returning an empty structure.") + } else { + # --- 1. Filter the `drugs` list (many sub-tables) --- + if (!is.null(dvobject$drugs)) { + message("Subsetting `drugs` list...") + new_dvobject$drugs <- list() + for (name in names(dvobject$drugs)) { + sub_table <- dvobject$drugs[[name]] + # Most tables here link directly via drugbank_id + if (is.data.frame(sub_table) && ("drugbank_id" %in% names(sub_table))) { + filtered_subtable<- sub_table %>% + dplyr::filter(drugbank_id %in% drug_ids) + if (NROW(filtered_subtable) > 0) { + new_dvobject$drugs[[name]] <- filtered_subtable + } + } + } + } + + # --- 2. Filter the `salts`, `products` data.frames --- + for (name in c("salts", "products")) { + if (!is.null(dvobject[[name]])) { + message(paste("Subsetting", name, "...")) + filtered_subtable <- dvobject[[name]] %>% + dplyr::filter(drugbank_id %in% drug_ids) + if (NROW(filtered_subtable) > 0) { + new_dvobject$drugs[[name]] <- filtered_subtable + } + } + } + + # --- 3. Filter the drugs`references` list --- + if (!is.null(dvobject$references) && !is.null(dvobject$references$drugs)) { + message("Subsetting drugs `references` list...") + new_dvobject$references$drugs <- list() + for (name in names(dvobject$references$drugs)) { + sub_table <- dvobject$references$drugs[[name]] + if (is.data.frame(sub_table) && "drugbank_id" %in% names(sub_table)) { + filtered_subtable <- sub_table %>% + dplyr::filter(drugbank_id %in% drug_ids) + if (NROW(filtered_subtable) > 0) { + new_dvobject$references$drugs[[name]] <- filtered_subtable + } + } + } + } + } + + # --- 4. Filter the complex, multi-level `cett` List --- + if (!is.null(dvobject$cett)) { + message("Subsetting complex `cett` list...") + new_dvobject$cett <- list() + + # Apply the helper to each component within cett + for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { + component <- subset_cett_component( + component = dvobject$cett[[cett_name]], + component_name = cett_name, + drug_ids = drug_ids) + + if (length(component) > 0) { + new_dvobject$cett[[cett_name]] <- component + } + } + } + + # --- 5. Filter the CETT`references` list --- + if (!is.null(dvobject$references)) { + for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { + if ((length(dvobject$references[[cett_name]]) > 0) && + (length(new_dvobject$cett[[cett_name]]) > 0)) { + message("Subsetting ", cett_name ," references list...") + cett_references <- list() + # The name of the intermediate ID, e.g., "carrier_id", "target_id" + intermediate_id_col <- paste0(sub("s$", "", cett_name), "_id") + + for (name in names(dvobject$references[[cett_name]])) { + sub_table <- dvobject$references[[cett_name]][[name]] + if (is.data.frame(sub_table) && (intermediate_id_col %in% names(sub_table))) { + filtered_subtable <- sub_table %>% + dplyr::filter(.data[[intermediate_id_col]] %in% new_dvobject$cett[[cett_name]][["general_information"]][[intermediate_id_col]]) + if (NROW(filtered_subtable) > 0) { + new_dvobject$references[[cett_name]][[name]] <- filtered_subtable + } + } + } + } + } + } + + # --- Final Step: Preserve original object's attributes --- + #attributes(new_dvobject) <- attributes(dvobject) + message("Subsetting complete.") + new_dvobject +} + + +#' Subset an OnSIDES dvobject by a vector of RxNorm Ingredient IDs (Schema-Aware) +#' +#' Intelligently filters an OnSIDES dvobject by cascading filters through the +#' relational tables, ensuring the final subset is self-consistent. +#' +#' @param dvobject A dvobject from `parseOnSIDES()`. +#' @param ingredient_ids A character vector of RxNorm CUIs (ingredients) to keep. +#' +#' @return A new, smaller dvobject with the same structure. +#' @noRd +subset_onsides_dvobject <- function(dvobject, ingredient_ids) { + if (length(ingredient_ids) == 0) return(dvobject[0]) + + new_db <- list() + + # --- 1. Get the cascading set of keys --- + message("Subsetting OnSIDES: Identifying all related keys...") + # Find all products containing our target ingredients + relevant_product_ids <- dvobject$vocab_rxnorm_ingredient_to_product %>% + dplyr::filter(ingredient_id %in% ingredient_ids) %>% + dplyr::pull(product_id) %>% + unique() + + # Find all labels associated with those products + relevant_label_ids <- dvobject$product_to_rxnorm %>% + dplyr::filter(rxnorm_product_id %in% relevant_product_ids) %>% + dplyr::pull(label_id) %>% + unique() + + # --- 2. Filter the main data tables --- + message("Filtering main OnSIDES data tables...") + new_db$product_adverse_effect <- dvobject$product_adverse_effect %>% + dplyr::filter(product_label_id %in% relevant_label_ids) + + if ("high_confidence" %in% names(dvobject)) { + new_db$high_confidence <- dvobject$high_confidence %>% + dplyr::filter(ingredient_id %in% ingredient_ids) + } + + # --- 3. Filter the "bridge" and vocabulary tables to keep the subset lean --- + message("Filtering vocabulary and mapping tables...") + new_db$product_label <- dvobject$product_label %>% + dplyr::filter(label_id %in% relevant_label_ids) + new_db$product_to_rxnorm <- dvobject$product_to_rxnorm %>% + dplyr::filter(label_id %in% relevant_label_ids) + new_db$vocab_rxnorm_ingredient_to_product <- dvobject$vocab_rxnorm_ingredient_to_product %>% + dplyr::filter(ingredient_id %in% ingredient_ids) + + # Find all MedDRA effects that are actually present in our subset + relevant_meddra_ids <- new_db$product_adverse_effect$effect_meddra_id %>% unique() + + new_db$vocab_meddra_adverse_effect <- dvobject$vocab_meddra_adverse_effect %>% + dplyr::filter(meddra_id %in% relevant_meddra_ids) + new_db$vocab_rxnorm_ingredient <- dvobject$vocab_rxnorm_ingredient %>% + dplyr::filter(rxnorm_id %in% ingredient_ids) + new_db$vocab_rxnorm_product <- dvobject$vocab_rxnorm_product %>% + dplyr::filter(rxnorm_id %in% relevant_product_ids) + + # Preserve attributes and return + attributes(new_db) <- attributes(dvobject) + return(new_db) +} diff --git a/man/add_database_info.Rd b/man/add_database_info.Rd index 87598b7..9bee2d3 100644 --- a/man/add_database_info.Rd +++ b/man/add_database_info.Rd @@ -26,4 +26,3 @@ dvobject add_database_info Assign passed databases db metadata to passed dvobject } -\keyword{internal} diff --git a/man/subset_drugbank_dvobject.Rd b/man/subset_drugbank_dvobject.Rd new file mode 100644 index 0000000..821a5f2 --- /dev/null +++ b/man/subset_drugbank_dvobject.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/utils.R +\name{subset_drugbank_dvobject} +\alias{subset_drugbank_dvobject} +\title{Subset a DrugBank dvobject by a vector of DrugBank IDs} +\usage{ +subset_drugbank_dvobject(dvobject, drug_ids) +} +\arguments{ +\item{dvobject}{The dvobject from `parseDrugBank()`.} + +\item{drug_ids}{A character vector of `drugbank_id` values to keep.} +} +\value{ +A new, smaller dvobject with the same structure and attributes. +} +\description{ +Subset a DrugBank dvobject by a vector of DrugBank IDs +} +\details{ +Intelligently filters a DrugBank dvobject to retain only the data associated +with a specified list of drugbank_ids. It correctly handles the deep, +multi-level nested structure of the entire object, including the complex +relationships within the `cett` list. +} +\examples{ +\dontrun{ +one_drug <- subset_drugbank_dvobject(dvobject = dbdataset::drugbank, + drug_ids = "DB00001") +} +} diff --git a/vignettes/drugbank_nside.Rmd b/vignettes/drugbank_nside.Rmd new file mode 100644 index 0000000..b6f85a8 --- /dev/null +++ b/vignettes/drugbank_nside.Rmd @@ -0,0 +1,109 @@ +--- +title: "Integrating DrugBank and OnSIDES for Pharmacovigilance Analysis" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Integrating DrugBank and OnSIDES for Pharmacovigilance Analysis} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +``` + +## Introduction + +This vignette demonstrates how to use the `merge_drugbank_onsides()` function to create a powerful, integrated dataset for pharmacovigilance research. By combining the deep mechanistic data from **DrugBank** with the large-scale, real-world side effect data from **OnSIDES**, we can perform sophisticated analyses that would otherwise be impossible. + +Our use case: **Identify the most common high-confidence side effects for Statins and visualize the results.** + +```{r setup} +library(dbparser) +library(dplyr) +library(ggplot2) +library(plotly) +library(DT) +``` + +## Step 1: Loading and Merging the Data + +We begin with pre-parsed `dvobject`s for DrugBank and OnSIDES. The `merge_drugbank_onsides()` function combines them into a single, well-organized object. + +```{r merge-data, eval=FALSE} +# In a real analysis: +# drugbank_db <- parseDrugBank("path/to/drugbank.xml") +# onsides_db <- parseOnSIDES("path/to/onsides_csvs/") +# +# For this vignette, we use example data: +drugbank_db <- dbparser::drugbank_example +onsides_db <- dbparser::onsides_example + +merged_db <- merge_drugbank_onsides(drugbank_db, onsides_db) +``` +```{r, echo=FALSE} +# Create mock merged data for the vignette to run +# This code block would not be in the final vignette, it's just for compilation +mock_drugbank_db <- structure(list(drugs = list(drugs = data.frame(drugbank_id = c("DB00175", "DB01076"), name = c("Simvastatin", "Rosuvastatin")), categories = data.frame(drugbank_id = c("DB00175", "DB01076"), category = "Statins"))), version = "5.1.9") +mock_onsides_db <- structure(list(high_confidence = data.frame(ingredient_id = c("12345"), effect_meddra_id = c(101, 102, 103)), vocab_meddra_adverse_effect = data.frame(meddra_id = c(101, 102, 103), meddra_name = c("Myalgia", "Headache", "Nausea"))), version = "2.0") +mock_rxcui_map <- data.frame(drugbank_id = c("DB00175", "DB01076"), rxcui = c("12345", "67890")) +mock_enriched_hc <- data.frame(drugbank_id = c("DB00175", "DB01076", "DB00175"), drug_name = c("Simvastatin", "Rosuvastatin", "Simvastatin"), meddra_name = c("Myalgia", "Myalgia", "Headache")) +merged_db <- list(drugbank = mock_drugbank_db, onsides = mock_onsides_db, integrated_data = list(drugbank_onsides_mapping = mock_rxcui_map, high_confidence = mock_enriched_hc)) +``` + +The resulting `merged_db` object has a clean, nested structure: +- `merged_db$drugbank`: Contains the original DrugBank data. +- `merged_db$onsides`: Contains the original OnSIDES data. +- `merged_db$integrated_data`: Contains new, enriched tables that link the two. +- `merged_db$metadata`: Contains detailed, per-database metadata. + +## Step 2: Use Case - Analyzing Statin Side Effects + +### 2.1 Identifying Statins + +We access the `categories` table inside the `drugbank` list to find all drugs classified as "Statins". + +```{r find-statins} +# Note the nested path: merged_db$drugbank$drugs$categories +anticoagulant_ids <- merged_db$drugbank$drugs$categories %>% + filter(category == "Anticoagulants") %>% + pull(drugbank_id) + + +anticoagulant_drugs <- merged_db$drugbank$drugs$general_information %>% + filter(drugbank_id %in% anticoagulant_ids) + +datatable( + anticoagulant_drugs %>% select(drugbank_id, name), + caption = "Anticoagulants Found in DrugBank" +) +``` + +### 2.2 Finding and Visualizing Common Side Effects + +Now, we can filter our `high_confidence` table from the `integrated_data` list to find the side effects associated with these anticoagulants and count their occurrences. + +```{r count-effects} +anticoagulant_side_effects <- merged_db$integrated_data$high_confidence_enriched %>% + filter(drugbank_id %in% anticoagulant_ids) %>% + count(effect_meddra_id, sort = TRUE, name = "Frequency") %>% + filter(!is.na(effect_meddra_id)) # Remove any potential NA values + +# Display the results in an interactive table +datatable( + anticoagulant_side_effects, + options = list(pageLength = 10), + caption = "Table 1: High-Confidence Side Effects Associated with Anticoagulants" +) +``` + +The plot clearly shows "Myalgia" (muscle pain) as the most frequent high-confidence side effect, which is clinically well-established for statins and validates our integrated data. + +## Conclusion + +The `merge_drugbank_onsides` function, respecting the scalable `dvobject` structure, allows for clear and powerful integration of disparate datasets. By maintaining distinct namespaces for each database (`$drugbank`, `$onsides`) and providing a dedicated list for `integrated_data`, the final object is both easy to navigate and ready for complex, multi-database analyses. + From a9a2ecdc8db904b569a605a34bb310d41f85d6db Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 30 Nov 2025 07:31:35 +0200 Subject: [PATCH 16/57] #177, add drugbank subset function unit tests and added few fixes --- R/utils.R | 93 ++++++++++++++++++-------------- inst/two_drugs.RDS | Bin 0 -> 230686 bytes man/subset_drugbank_dvobject.Rd | 2 + tests/testthat/test_utils.R | 24 +++++++++ 4 files changed, 78 insertions(+), 41 deletions(-) create mode 100644 inst/two_drugs.RDS create mode 100644 tests/testthat/test_utils.R diff --git a/R/utils.R b/R/utils.R index 1bbea59..68fb9cc 100644 --- a/R/utils.R +++ b/R/utils.R @@ -1,8 +1,15 @@ -# Create a reusable helper function to process one component (carrier, enzyme, etc.) +#' Create a reusable helper function to process one component (carrier, enzyme, etc.) +#' @param component the component to subset from CETT +#' @param component_name componemt name +#' @param drug_ids passed drugs ids to subset for +#' +#' @return A new, smaller dvobject with the same structure. +#' @noRd +#' @keywords internal subset_cett_component <- function(component, component_name, drug_ids) { new_component <- list() - if (!is.null(component)) { + if (!is.null(component) && (NROW(component$general_information) > 0)) { # The name of the intermediate ID, e.g., "carrier_id", "target_id" intermediate_id_col <- paste0(sub("s$", "", component_name), "_id") @@ -62,13 +69,16 @@ subset_cett_component <- function(component, component_name, drug_ids) { #' one_drug <- subset_drugbank_dvobject(dvobject = dbdataset::drugbank, #' drug_ids = "DB00001") #' } +#' @family utils subset_drugbank_dvobject <- function(dvobject, drug_ids) { - new_dvobject <- list() + new_dvobject <- NULL - if (length(drug_ids) == 0) { - warning("`drug_ids` is empty. Returning an empty structure.") + if ((length(drug_ids) == 0) || (sum(nchar(drug_ids)) == 0)) { + warning("`drug_ids` is empty. Returning NULL") } else { + new_dvobject <- list() + # --- 1. Filter the `drugs` list (many sub-tables) --- if (!is.null(dvobject$drugs)) { message("Subsetting `drugs` list...") @@ -88,12 +98,12 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { # --- 2. Filter the `salts`, `products` data.frames --- for (name in c("salts", "products")) { - if (!is.null(dvobject[[name]])) { + if (NROW(dvobject[[name]]) > 0) { message(paste("Subsetting", name, "...")) filtered_subtable <- dvobject[[name]] %>% dplyr::filter(drugbank_id %in% drug_ids) if (NROW(filtered_subtable) > 0) { - new_dvobject$drugs[[name]] <- filtered_subtable + new_dvobject[[name]] <- filtered_subtable } } } @@ -113,53 +123,54 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { } } } - } - # --- 4. Filter the complex, multi-level `cett` List --- - if (!is.null(dvobject$cett)) { - message("Subsetting complex `cett` list...") - new_dvobject$cett <- list() + # --- 4. Filter the complex, multi-level `cett` List --- + if (!is.null(dvobject$cett)) { + message("Subsetting complex `cett` list...") + new_dvobject$cett <- list() - # Apply the helper to each component within cett - for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { - component <- subset_cett_component( - component = dvobject$cett[[cett_name]], - component_name = cett_name, - drug_ids = drug_ids) + # Apply the helper to each component within cett + for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { + component <- subset_cett_component( + component = dvobject$cett[[cett_name]], + component_name = cett_name, + drug_ids = drug_ids) - if (length(component) > 0) { - new_dvobject$cett[[cett_name]] <- component + if (length(component) > 0) { + new_dvobject$cett[[cett_name]] <- component + } } } - } - # --- 5. Filter the CETT`references` list --- - if (!is.null(dvobject$references)) { - for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { - if ((length(dvobject$references[[cett_name]]) > 0) && - (length(new_dvobject$cett[[cett_name]]) > 0)) { - message("Subsetting ", cett_name ," references list...") - cett_references <- list() - # The name of the intermediate ID, e.g., "carrier_id", "target_id" - intermediate_id_col <- paste0(sub("s$", "", cett_name), "_id") - - for (name in names(dvobject$references[[cett_name]])) { - sub_table <- dvobject$references[[cett_name]][[name]] - if (is.data.frame(sub_table) && (intermediate_id_col %in% names(sub_table))) { - filtered_subtable <- sub_table %>% - dplyr::filter(.data[[intermediate_id_col]] %in% new_dvobject$cett[[cett_name]][["general_information"]][[intermediate_id_col]]) - if (NROW(filtered_subtable) > 0) { - new_dvobject$references[[cett_name]][[name]] <- filtered_subtable + # --- 5. Filter the CETT`references` list --- + if (!is.null(dvobject$references)) { + for (cett_name in c("carriers", "enzymes", "targets", "transporters")) { + if ((length(dvobject$references[[cett_name]]) > 0) && + (length(new_dvobject$cett[[cett_name]]) > 0)) { + message("Subsetting ", cett_name ," references list...") + cett_references <- list() + # The name of the intermediate ID, e.g., "carrier_id", "target_id" + intermediate_id_col <- paste0(sub("s$", "", cett_name), "_id") + + for (name in names(dvobject$references[[cett_name]])) { + sub_table <- dvobject$references[[cett_name]][[name]] + if (is.data.frame(sub_table) && (intermediate_id_col %in% names(sub_table))) { + filtered_subtable <- sub_table %>% + dplyr::filter(.data[[intermediate_id_col]] %in% new_dvobject$cett[[cett_name]][["general_information"]][[intermediate_id_col]]) + if (NROW(filtered_subtable) > 0) { + new_dvobject$references[[cett_name]][[name]] <- filtered_subtable + } } } } } } + + # --- Final Step: Preserve original object's attributes --- + #attributes(new_dvobject) <- attributes(dvobject) + message("Subsetting complete.") } - # --- Final Step: Preserve original object's attributes --- - #attributes(new_dvobject) <- attributes(dvobject) - message("Subsetting complete.") new_dvobject } diff --git a/inst/two_drugs.RDS b/inst/two_drugs.RDS new file mode 100644 index 0000000000000000000000000000000000000000..ed48c275bb5d22bd05dddc23b9d7fef4b63c8eca GIT binary patch literal 230686 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 Date: Sun, 30 Nov 2025 07:51:06 +0200 Subject: [PATCH 17/57] - Added object metadata --- R/utils.R | 5 ++++- inst/two_drugs.RDS | Bin 230686 -> 230769 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/R/utils.R b/R/utils.R index 68fb9cc..6f3d8f8 100644 --- a/R/utils.R +++ b/R/utils.R @@ -77,7 +77,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { if ((length(drug_ids) == 0) || (sum(nchar(drug_ids)) == 0)) { warning("`drug_ids` is empty. Returning NULL") } else { - new_dvobject <- list() + new_dvobject <- init_dvobject() # --- 1. Filter the `drugs` list (many sub-tables) --- if (!is.null(dvobject$drugs)) { @@ -166,6 +166,9 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { } } + attr(new_dvobject, "original_db_info") <- attr(dvobject, "original_db_info") + class(dvobject) <- "dvobject" + # --- Final Step: Preserve original object's attributes --- #attributes(new_dvobject) <- attributes(dvobject) message("Subsetting complete.") diff --git a/inst/two_drugs.RDS b/inst/two_drugs.RDS index ed48c275bb5d22bd05dddc23b9d7fef4b63c8eca..36dad7fdd933f75db13c1b541764985af26707df 100644 GIT binary patch delta 228446 zcmV)3K+C_LiVpFL4v?aM26dlc;n8=$i~oKel|O+0eF*>i?xS}eZNR^e_xJMfUsW#Z z#fsAEa(KPtZO z4VYzV1IOYo~sa z3{4vvTAX>N-P8JxJ8*2SJv*{5Uq0W}zOpUzHP@g^joTfk$89I@v<^2|+$lEP(X4bD zhGYB8w8dngON(oN`#Cl+ZAW8<+0mZu=b*7MvYuq8rF z_ZN*qzE~&}eyKHZf;f5ja9|o_2>?l0AZuF!RBhAl;ONkQF~UK7<8lMm@3lo^=)}afaa!mjg^fz>D&%~8? zVRg7(!!m7u=+@GB7rQq`*q;n6TkDwD-1WrPcT5}-dWTK40s%MHxn{NjD}XONANB-* z3uSjlpwxgPUVA2df-o?+?Yl785FqRrCSuz#Xmi&eg?pzLDm$9^qgeRm)6J*SVbQ*2 zp4K&8&kqscn&Xyedc9WG818n5;TpZ5Z3I5EIreRT+P~t408(Igc(`B~zr$@d;Mxgx zZU6iK?0>GcM_QxZzBajb0CP566SnNwHgl_3gBDWiEzdSMc6p#tFw$HA)*5(|bjQi#cIktq2^ZU%#hOol` zF~nDY8(P86d+@u1bAi?_tk%2%90Z!+iMdv5`i_SG)?v;P=v+P!XBN(t?OV7yfP~A2 zBZMH*z;tT`Vnn#(Yht|}zzZM7#a{xC?}o(b@&6|!TY@;*Ar5m5_MEk0U|*cCYtu*i zpzUklns7XdT7T4m<2$mnXXh`UYdzNqhF*Aoz+j!u0G12F3I4Y5ERO(~cQ^ zYV?t0C77T8EKY`{0{;4|ETy6U*JDGN?#Kj?P|wf z#=3CQ;K;cqkRw)I*g$>GM+Mm+==Co@)X5*Jj7&BcMlV z8*yNI4lFU=uaMdZdh8A~Bi;OKlWF>Y{cm$gL!cGUnm@lNRQL4fAySzBNP`1jDVB@B z+|?-J7)X*}uyB^`kR1(xmS{uZ)U&6b8@Z6 zfJHe#h5(yP1Pah2!{0&J3>-nCTmdUTXbTbr?2HT(cOT(Ogdrgnk6|d-W*^CmB^bK& znFrjHd+Bt%*U-j?@w^dW_W%wUkc&=8a}fCHw7Sd(WD&wdDD8M=L>}zE*)~NR%N#n^ zNN^Qtcl$snB2o&Vgypjc^Am}GgWG`9qmb1BVFhN_MveiLoO?n*`l@+Rz#}Tkj(naX zP7fX8C%}!Fg&zQg?thE>k86jG_XIDs0|Ox9CUS(QJ+oi!Up~kF0MX@1Gvoq-f7#3r zkT(KJz~%m;p;yZly$s0K5+5NLEYAVT52qz$N5CSauHq?*!!OQVw3Q=&-vQ#lLog25 zD8@!4DmWW7Ra(29XOsQ z(lF#zup%Jm;Q+8B*Fwa!Mmx%}ObCB~98SPvzy;%p4o=9rIr9fd5`@fyObbs!e>CK- zbe2pnJQbn%#3Tx000oDCPNc~^ z!G+bi5K{E^E07%&Qqn8Cm13oQ$L~+^_hO-*FO>^bRpEQrL-~gm zXp8^ZKC?}3X5qJB{?P!0>pzzAEUISbkfqx57_`@s53J@i87kwls zR|$oJU6ceagyAvZ(J|0p7ZDkc6 zzkbo}uy5c%fM)U{()V|Vo$h}G@_xBqDAW=id$I2HVnyz*S})y!Esfc_A9$U~9Tx!& z-@#756C;&>Ao|g0--{~W^V`-poo-b69+YBq?=YY3c0n`XNO9nBNgAlF_Nyi z2MUpp3*xQ~=6z!a1JK*z4+7gXqrbO-#=ES?zZoEZV8XhO0COGFa|9)ne|T4Dj8Wl} zgx`N7#D8RRF?f;Lj|{(PG$ye7O;s!sZ55j5fb&jtrcCFc47(HpEju`{Jcg)^KGuslQ63lK9gv zS|IP6w8jNp#vOtvWR8J6p27d35w`xK0WbzZ4<^$G5gFxPBb-~jX9lE@s5mYzp{@(k4bo#KCg{l9usAJ6pq^NIb0Gx?Ke(f8qu7VhWw^qjEv z+j=I-`wnnYBOp0u*K7`1sb^u$(&?Uf3%Hh z4eS`jgvZ?Ofy^EID;|48IKfHry)JUdxb&{j$M5*?o{FDG#TU`UUrd^@vSibLwqL** ziHQLer~dh9MgM+?WRhdUI0R4LUmCQo=!HmA1&ZV{O&FFs8Qqgm|lLDZ$nFs?Zr|_FaJ`=2OumCL9jCg zKbWnf&}xs?dbFHK1_WUSnK-9^p-|df;N*$5LKqY8cCBd7nim((BL_h#bP&|4(U5}Y zw@o`#97RuPv(bKG0~R$;WI@6_I2sIn zXCP#8;x@ur=ZiW3=n$=#XgD$_OxbkN`W_627RPSIFY27ervspJhG=kq!TsuUw0(it zC~P(6K)9Ha{j>RC4B`QR27M_OH=V)AfzO%tEUxUDZ6VEuaIfj5Uxpa?oqzR}7g{9+ z5F~SUhbLA^n4f8TL1L!dL4OF^Z-s5nG+uL`aLAm zT5L?))fx%Thc@zG1-6myu40RpCMS&FF26=wWN7yYy`2Jth6567qJZUu|CTF8J4zm& zR8@!jOpf%_^)5`Z-DvWWU6*>4g@nnVTiCG3=UFU-KF`o`Exb#A%uddVH$?3UmX7`8 zB9l#`AQ5ke?3P8lzY`r^0Va+H@s5e^vSH$N29V2MW=8$Yuxha%l8;{XGQ-cppD6ap z2Q1^M)69qc4|+gP&=Mi6pI&&Dpkq)raveT&W1n~Ik9^kHZ#`Fi!G(J26h@^RcQ&+8 zchb#Z){7J-Mjse|3Qrt(07P!!vXBr9UpDV{xe+cpv1Z5UtHIHTTsGcrL?pijl4Q%c zo02f3CWK}o?oFT#X!3?*99W6RD_pwEd(0IJ0Zi`M3<&`82=rfjIAIgcg)lZGIFW`> z*y+ATdm;?{-#V~JJ0+{ar7ZXp?lKxeEY5MvUF`(D)@TfW6v&`B{}F{f;3fj)#2#Bt zXfY9nbf7*QnMH@gg8Y%NAVv;rC&y$zfcSQdr{Gli%@AFw=+N+j4)g>hQ8-g^B!R22 z1YvRSm_rNBApmk<_FPyA-w`-AXaoJRIQoVn{U5duF#^Z{AE4boatPpXf-|+@NcdXc z>>*;hruRC3w3xy!IM*!l*+)(SX-#4cOvCvj9Y$Xqk3B_WOF{oUo-HGAg&|9Bew{MB zn7;|Gj9enZHwD`!$`y!sv0(86T^xut$feXk3=d9-AMUZBCIamVfsjzgV2B5PFuK z_ZbRjB^>aMFh)e+CH}&ll+TFS`N?_cB%2vUQwZ{a?xCJF66_1Hh_zw#I3Q)>rpJCi zga>dN(EL0Xb9k~kyeFoJ@_y<4kzsNLxUP$tB{6k6~-VLF+`GU7$KUq7mSjVcN(40kR=D9|1Ob2~v|fji03mcI#4r5faKE9Qprw9) zEYO3+uI*UhSF7__^i_-<20mJ38%A z6hj&>(vahpgnw3!Frjfnl1B~X!0W`(9>se^Bvgulz(4^hQbL+w+#(qI3~5GmOv0#) z$#EF%(Rduj5ICgSwnp;zcf@0eK#Vkh2t!0?gfc}ZNS%hDBDe!)ggBc%uKSVEtPf@6p|hFfu?bGo)1SqR5W5|xfK1Dl7>jrN0&TCYQBovhM#*h#w3k@7@-kL zY5a#+g6L30P@v3A2oZ2wfa_ocOiM`D!E2#xVPgqhn-hXvy27y~qFjWis|II8EH{dt z35OSivl|Pb-ykTEB7GyUDlA?@$waZn9z`)Az(!%pG0z_`3xi;6Us{kB(WL?NV#U6V zco~Kr37G_r5i-M_C|pg5qOOpC944bQRp2}c_6CxvDg1IFY*4j|tVytc-y*8Rze2i4 zIzI9pA%lU!3G^UVVi7=+&L!wS(5}=;oWKC-->XR$AUxhEG)6Ql@KUOpD1X9m7I;Wv z%us|8TZdv5NV8!~QmfBZ_LjmYiiJfNgh4&)FGO4je3TYIV6ujqJ zXuiP%2|I}TPTaX%((1Y3j?CPIo8_#DptEm`Wx%PsjZ|0{N}Yw8NqUVVi~-j?yy*}}`6H6= zrgvj5wa5^ENwleC<3oF};1{v>BCtt<>d8yd3N|7J=@;~tL}I-p*J2`B+4RP)q0}jhN5td+1rEix2#@Z#XVc}pgONH(v~egwz2W}N$;%ytLCj9M z=_;p20$H@0oyayB1`36og9pgTLL%nJ;YG>ng*i!o+%!O71w%Y`390}Ii&h!x%6D5( z6I(MXuZig?F&?B!ZEQ?POj9A9dYo_FfrUz}{e+lZDV`M;WEj9&VyqAK8`BN7*;GEg z=BXZn?OuyoJK{1ayp@gRLo~1=*`E}#9Pvd(lO_s}Kh8KM>09Cg?Z_N$rHGlZxp7TE zdxmj;;K}{3R})l)Fh(s7Q4{_G;mZ-zik%rT4Fs}j7jQ_d?)zsA zn9Z*PG_6bst=rGVWB|Ei=)#K^foLC^4RSGm1?pgQvz^5EXkFnLi-esNj&XAo99^DD zBJ^Y2YUcL1uK^CgRjT{YfYlo?ZoeP~49FICyzR zER<@9(P~ul4?$6?cqelaD4FyR=W3EZif9O|J7mcSllC-gG#K{7Pu?KDMdtWBS}@tk^Lo zAVFlzh%s-HRU>Q`S~XIHQ*0ZdgP2?gi?@~7fst^b@z%2)O=sea%Cq(FQ`!+Nb#4IK@`iJ&t zAipf+lkl0iN1}*Li74<(ylqVEB#BeN52L|VffJQ{99k$w=qCm2G zfXWVB3R+F@&X!U%7o?t}dwQIGhVT z`GL0+!VsnC(8tGPx040rq2uht7JFb$U!B3!tagA21;jK$@Td1~LpNda!PU`u$kwio zE?Q7;h)WDwJlP1E;rPg4uoU|M8O(F!_n||99Ef~yibp#dUZ(SZL+_M`7)Ulo_7_eeB}Tv^ecpw}msWhW>YvDuM0@4^Z5lo^I94&qBZ{V=0P zM;vctXc#lV(QKMtzfOE$v6>Ke8{Whm2ZXp`lU|OeFh;q5R|sW3AAXAlbb8G^jK=`7 zlq*zXN4+Q&BR?$OdALokq>oGvoDY=vI4g*bsQ@m=q)t$X3&pEkd?OAGoe`oFg)WRT z`<3I$chBW8sO0LoU>xUtv_1%9JCFndGL@OcgdBszwJ16~2N>hrI3N;#5!Dx?!13bv zPo>NFx3sQ*e6>@ksC7}-MdkbQW!yIXO+ZxqEIum12s;R=YR=~<+&ONpd4B#9TarVd z#MYiu!NwmAW5>4~3B=OWF*)H(l+$LQiWw6E4vM7{+O*7&@|cE;VT|b8K#PItba>AN zHi%?GT<*jO8{w=l`nGTga#{Sj6oFP2_Y&_EzkzXo$)J+WD|B_D)yD22`@|2L0-FZx zCK4~`GL62;uS1qt%9X>MGWO;^GllO)7_2kOg#sN4w4iy0{CV<>L>3)k9ovZ`nQY)sAhfyZaQR&whl>Y0 za}t(+6B&6W?`qd^Fc*oOo*?zI!f|!+BmkLTl1_j3fBBVAG>I=yy*>^ip4q_#<6PQk zQi>A~BqR_7@t>kQDDh;AFz48vo!5=ItYDoUbtif&>AU5B_ixLv?Kn=<1wG}5js-eMnCeIM zr%FKqUI@lQ87HR0@MGW%p$ByKb&?~4g74cfWDdpJP8=2_LI*07=7n(siT6J`0HH2_ z9u6e-7l=f37e72-xTDqlZUxs|`y)ZeK`Ze4qtFEmoD1a?9zmyC*exL3!j_Sfn1q14 zEEL*>Zd<5~5yeOUTq24>*VQl%Peg%mbp1wA>}l>Rw5Q&k;A+vM6i(*PqUhqg_AxmU zUI;>UhMJfm!mymHP1+M>@qZ;PJ|TL4Qn-PXdn@wfhj=kWhYKbwYIFZvBqycfABE^z z|D$DL5GX-O1lINXZvBry8w$cu__hT!ZbvxcEs-k({n6s)S)%x-5?H*LX!275^M9Fk zsEWH))J|ooH{@%=4J=fQP=7|ei186!I6^3dDVF~zW^ja+;l5#T-*wD~LHQDYancDSd+CnD{~pdJNDXLy2R8Yu(BDBJU8sgTT21CEoM?%(913J< z>Lp-1k-cBcWJj{fqCyo15l*CF(vGKTjX3HfPM;4&%q+kKCCbQWi^M`i58p&qolwxd zTdWH$sF9U0Rl$Tq$w1cA3_=lq?PVjpzT5tH@I8;lMSCYBgYr0gjZP{vKvL{36m zqPzGY-Bkn$6R?XsX*3eVT6kiTU?HTXQ0`CE+?~m=YJz) zmb>>XB(HZvOp!tIyQTWS`?nyRm9!HyTD^g70T-@f^L*vs|M|bPq7On=Whh)M2``G( znmbsk%;A!BM8YC}XF4L&3oXM@A~!UFMO1!ZTCY*wK+|UA3Vvq7krvz*MNlF6JP%zD zQRvql=UIqXNK#x8S1H+l5t3kkanK_g;wz1&(dhrRoX=%UgF$QM1WZP#UCWtqf9syC^*uWS|h`Lfnax zdyK7GF9UoB0AN>`ex=P{e`kD-icE* zZ0)fdAQ>-O{F)_8g#&V9#_c!4_S#op-c|AV%(;eP;_u&oyL4_?lJB8_xw*7Ie8OQ#5jU49drY<`ltlio#!g(m%Yrs>{a)bpS%CBa_-_T-)#dLCJB#( zBg&4?${knCV?2E~p4BUpb%Gd)K9=}H!{AaPqwO%WthSF*dsO!n>R{u1rd=@Ob$n)D zF-yd$Cdw#C@sfE zs`>Y|7BjFPkerlBt^_$&zWx8r9otWGS^;GPMsB`2H%p8Ge=8;&VUj%L8lWrtj>rLf z;&lOJC6fk_%B=09yYDA+Vn3z2&KeE;fHbeAmZPes^mCk~=5wi8Kiv8Wt^QDd zYBfy2?jzLk0=o3Y?@BGbkXEpeR!EJ0AU6u^kUUAh%M0@bt+?Z3AD}J1zUyN_7w-6R z3}m0mKO%X!V_hsF6t18XcT9~9hhyuK!N?-okzVKYX5T&fb4W#`pFfs7Vcl>%c9?3(0SP{vX&}@FR`;pvIocdfBPyHP;bVDLAVd&2Y zfbe+FfqHQ#KbG2Eheuh$1$v0rEG=g$cs~>uF0Nc?{lCs2w0Z@>L3XwOg^QBmp21gwzS7Z9Y30-3`It z4IwCO;o?4^n4<_8P8_Y%mPst^O#Q1zZ(s@8WaNvU21q>f94 zdbyr__l~|>DocM?(!c9}ac}Pwc9WOl-YM-?;-0=&*^OUOcvsJ-_3!AV-D>hfeYaRs zcOyL%-)lRGot$E|)JXZ|4MmESa}~c6yAZycVBTGS(G~snh|4Qy68}$yNyG-*2}!Y^ zMCr+5L-;%B_K5!u>;zxlU>^MkF;QuB!eoz4^rGKrFQYrvF+*v8gvl40ED)ESPQxn* zE$X=XTT>FdUqpdHF%fUjBoJZ$(T~4B@yDHLQi(b2?9auMlj#7zb1o>}z8-wD4+GGv@G6W_WKuT{an2T|lmOncKu=vrY$iRgz94>1S3 zh+`uY`hi-%qaAX8^vy=UzmPKvz^HL%foOZ6CW;+zgxA5N&+>DA7EkBzydjYRBcnW( zTgP4eD8?MI9hcF~C%U~a<-BgWMtZ4+H2dtOl=nbI$iHfgRdaw$Yp&yDRv+O={x zFxA{$%lXkIkFUkSs+x{1q!8u&Sf)s(3xl`t!jIUCQ`M{denU<_mL7Fd8(sp8-a+~* z(O|Sa5rrRSkHlGcm={l2Zpl>sPBTpZ1dH#*N0ML&X}#4<-q291cv|)Q&5`e5irN8e zXRcJvYt5g3Ulbd{0BmqKZuSRvG`qt5{)jq>gJE*RlGPo(@Rx z;g3#D&)C(jUPss4P6Go2c9ISW@_b)-Dw1qs7kzGH>euAeg{$;Qm*n7G(eh(amK+4+ z@e%cHk|)v6aryJOtUWsfc7cATw#A<-oc1xkfn3bTg61Q+x{}D2qFAry)1qFh7j@;M zyZ*(0ugiscT`m^$`6;cd^;%UbR`Qj?wAT4TZ9;Xuq}NHYN{Y3Tv^qUsDwm~VwJ3k9 z=j-{3RMg8!Q5sM$==r;*DK#s@gk#8UiWjJ>)k38tO|4L^R!FfX&9qXk=2gJoQB8iX z)Qd`WIC!N}tJS2@%H{O!>2P+1Qne^=hF+9^i?zHAxO}Z#k$x@J>vf7W)#?PmdfN-_xfoR z{u?HzB2j|((yVw_vt$uFm`8%!m}N4`$@QE1>EE5WNxvD*zn9v%-}vX|m5PCXG687T z2vbIji}y1_@NMho58j9jG5NU=zec5v3++WF2TH>!Kg~GQVx7|ou9i~F4C|el zHur7pd<-vU{&MDq_e1$+Mwx~7VcG^uY*KZn!b{8e)2@U;4s!=%Ie1(FLJ0C`DV2QaZxU^$jrya`eHt0 z5L^F+=3{P)ySG(BHg$*9@^75*_uKU8?tI9x)K`)ms#R`J31!6pVLUsdCRhDpf**8`hH7j8JITJVk3!z zQN#Q8m6TCsO?8_WNih9VHCfE{x2^8!v7A9?TIK4$p1H@R8m=FY#z&YqxgU|rFSH3g z&Cp~G8@75}S+a87#Nacz?u$5tZP5=_jES=>e!2Z#4I-|l$*fzpU{^nXRzAbLFzWt2 zS`;hp^^E+cRDQ1P00ryxUsp;FvtQf{(_i?ouTFw`bZ6_kf0?c4`KjiTmG7LV6WTgX z)41JT^?j-83vFywvvo3|N}kDGe=pqmT4%M)->U<}yd#ez$p>V}u|o3YqluG> zwt{p>TRfUPugyZCOjkoc+o&o(k5xPt_?NCs*YUpZ>CubR7}lFni?n7tX;e5(w=-&$ zR&DB7hJ8zF-VZ-iVI3WTX;`qS>tdzq#M6ZptMvDA(2TA9z2a^qUHUunA-nUJ4RKj} zw~)+Cjo92wu7@XopotMIt=foA-krTDt9wWK`$-J_xT)wnp&c9I=eq&*B;JEN%1ZNh zi}^bWk0y_Q#|oa5DP0_cz=nD*KZqv=tt4!DU#gafnLgffB5jQ6?VAYZBxl2}6$`iS6`wrC`<7&&I}okWQsEmzg@7)M&GqS9Ve% zT9lS0c&sAg7(%E-pJ3x-eYaM-6N}$)29%H0pW_L?pCXiukSRvV$QN}MiG&aL~PC~w4zWM;*v zVM-0cd?PZtj8mtgm`y^B!ULsCe2!`cZ_{0+hvGx=q4-dIC_WT_n~QJJJ=BNdL-Dt# zxbj=q%{x*&<3=zNGZ=jAWLYkReLRkuq=lzkMzqjAi3Fi2NuAQIG^^E9qI%uIQBC73-W>5KE2= zV!_I{KYDq7d3t_!aHTcQ_O;7{lSb=cUuzs4oVBiIZ}NMMv)1v&)%oRdqjlW8(hkor zwbuE?akFuveRUPjX7|-`t8sdKrZq%Q`#aiy@mcd^S8JZ1?j4`Om*;0!+WDc@dU>F= zetNDV3odNZ-?+y3Z(O4C-A4y!`{&KeWbWl3{JGY;Y&2V32@X{)jVJey5=xzlC`E z%BjtNt5BQGcmtVld}BDtJ2a2Q`)=RF)Z#t-DJexi7RZkU`eTv&SfoFe$d7U94np?c zBPE%8C10%6)0926dI6Kv#KmfNPf?}~yE+xBP zDObw1B%SHwO0`<7>S?i3sMOMAP<2>AAx%+KhmMLVBGpQ@ij-TaRx9P}dJ3z5QZ-*p zfm1KTg3|Ot^}1fFC8zX>p0AWD0I;+*0I!^kRIip`fl{$n&!>5n>J`0OO!&zYU9alZ zaxyP0SM^#cHIV7`qAqP4EE(pOLNi~6ol4L51}f3RmkI<^#c8Ws*o$_v<7yk zPHG5z!Zxtc@>g{nJulT1blgFCcgAb*lWML|qWc9s*Jzs>;@BAW0py@Rd3{A)z_P5) zi@=~DAXif%M|NqvrY6QxU{E1FBfRNqCbXGltcf*aW5J$~RgBdX#OW+l=lg16Ke__L zqQHpq)HdTaA%<4wtPzxdfQ%*ZTE?T|81|LMaBaK>;RDDpTMfm&yC2nfD7+1Y>Ccn= zrasE_P+Yk97Cg%IUfiV}4BF|{Zo>&|KgntMgbjzTbDiFE{kEzTIM>O4uZ2Q^6l*29DCvh- zEa?SWB#ldTGEk*T8drxHsTi}cqD z{k2-5#VRe+*^!dO@B> zrI0U@VqKm_rC20?T~*3*u}0@ytI=YethZLL$iLR}1zIfDNU>C;MS0x1Ua!%j49R+d zfDVc}DON~Vr7}5#WhoW(o-P|1!eUJ>R_df!Efh(ymY0jQLWveh&o$ary-dEX%bTJX z3S=4uawM@R_gttH%5t%)7fG?E%f-69-FmSkBQO+8q*$qclE(FdJgZWkEU=U(J(qQv zBI)IVPLCDYLC{#rq)1LE&@0-QP*EV0HB!{+uLK!@h?2%7N^;ATrNtT< zs8%Folb#fvz$%Y;Mv7JXDVOmXjLR9rAm&5E~5$(VEGIds|AWzdCK@ogdbJt zua#nz?jV7)o~QhX>_VwVs3?#=%GoJPrNk{?paK=$-+Y0PO*knO+l#bVQqBS`QdVB9 zlV3}O;R3a$zn1B*RFWwdh^$hkkSr6t%9qQuF+HJw<*Kqr2OxmKB<# z5E&wz0DqE;WrCt`=Hy=i2PyKCLszPiQwDT{k`b~C<$}y%0aI#no2??qz8i7vr1*&=!3RJM6nnvit&-f(j+dL#v7~Mt`M* zkse9lN0j4~lwT{fNahU4L5mcy75XimWU)#aUzK)Mr!rxlN{j`n|58R!q6;ih+Fq)E zDQuBSo0L6~<1C(mp%_c~AYB3x)KL~C%daRpJ2eheb;?7ja8jj0Z_y+nJax<;My!8}ns^*rUj`64xF zP{}-BR*JM|su580j!vXpEK*iZjS@P4B{F)2{#vCH1tontHFp#WlwJ|R28xty7L~@d zs}gNYmrwLxG{TVemI%YuOGMfP%1B^Uq13xV?MM|OZxjdv0`g3aFqOI@*pOfAi`0g=)u@0-@~{sn8xzq*FYB~Of33*$8KY|Qv`Bxg5fQOQyQ&eRlU^s2EadB? zNQ6%mf{4^tp~WgSSXC=TfUFaL0kTL~xn87TFH$MDSRqCykO_%+NzMYuge7VXAk!#T zt3VdSiYbLfz%*bEGXh7b&(Vm+XxjPso+ZO&%i~f3ZU92=|B{7N)&U-dBt3* z$dlB}LYH5rB5_$U;M5cZCQGPL3AsX%zd}_2s!HdnQUihvZA?8=RVqJI=9RD3sfb7i zs!=(%Mm4WmQ8|NDyev?EsZUW46|WZ6kLpx0sZ(hrPhCQJ#RW#JYI-5l3 z`ARQQ`y}nTK))?0zt$+BpfsmQ6<&H$ph$gQEW` zsMivTWm=?WaGmx{75oyl)lbfoFghYYmWh^sTB7F462<2dRi=P2 zP%|1iR^>c78kI7Ukt)JyI-_Vv#7VdXdNsaC~)IED{;1KqV+@CxpXI#H}Ln02WJm z(sPOST%vZu5)o@bCZxX-&=t#hGH$t`6v?>dA{8&Gh*;67$+18Ns?cvMCHiZbil!8> zl^W@}TA)SZ)hbqNL_#La3yPIIEmF6vEEJ(3RBjA<2_=1hWJP7daR3MN3bs>egoag= z2!}0EX|qIygp#65mWl-V%T#+R6JZ-p2AM{lTA8S872{V(kx-R9^_b+TsU%NbBzbBZ z$?J*%mKs8JDl+MW0zOLz_XcQI@&B2`R^^jnGyC5j9sdT>e< z`Af>I>WZGCgjJA%%G3{AE-Pva{go<2WonP5wmv9-QZ0raE9&FRS12{3!4G*V*X1kp z995|LP@xN~P-Li3M{|WZF)`wb7HL!oJt-BsqAH~fijAU5k4BZAg(^kwDqT^PYSvXc z=PFf~s?_^Ht%y*h0IM|ZGBjRVxSnWs+be2wm4O>uKj z0#&DfldRKeP{}-Br?a9)<9waMxvr?Clps?_GZYoYQ}J9--vl8epodb$lWLlI#SuwO z=rqg^id3bg3SgdUd^8A9r!lTjq~lg-SJX#9%#~QA>ab$4qJd93Ra$kbhw4hO7M+z& zL#lLg*ma$#c)Cu+51mG4LXiwaIlE336TMJ>pj}aYzd+cNPPsD_Nmn!gm}(-ZXe-)r zo)&3iY7Hn+eZNfY43yO4&0JEXfw*NF2~(jMOG8jVa3h;iQT1*b*hVCoQcdyl5b*;T zojh)t9*uIDP?d^K1gZ*^2`kj?UMUbbS7_8hg*xRcR5q(nc3h!etqQf8R;U}RLgSEs zp;(|r+E}NJ393{msjpDeZiNzaD3bNo2)0*h1*J&T|FI%9Wm79ejmTFu5}<;9D{8?Y zlZ2uY>O-s_b)7cWsmX%iMy+0?#t`C$u9IL|D3X&>r?jq4-NAM0|E*IU2c}GlI-xmr z8aGm>zT-MIIo9=pQlwo`UmK0duT!Fb3Pn0Db3v-> zgGIW7C2HTG>QcQ#z0x$swO*pjFA-W-FB2+Sr*Q@KGIiSK>q?Or_w+n5hUnD)tJ7Ns zI*s}x#|n$Yil|dh962dE1{BK00(H!hdoeoo0-yjzi)C6=uV9cl6TYugzK`B;<$?xv zj#HZ|v6<^S2@`^%ta{*$1ahl?LZ?N#-hyJF%abb@MM9vUNB|2*f!O+}qq(S47j~gS zO`UbpxJF_Ei-bJ@Q$Vc0L6JE0p-3CkV9PoUwyc+FW9o&k(-o1BW)K+3rIHc_Y^g+c zutaUSB@#N0#VRev&LL=*=JnV4tmMJl>b zFKwBc4NK}J8tVV8E6OtUwAQJnsYI|7>RqHE>pOY6_!Pf5Zwkv(ywbsRCGP?w}Fu`LbdPqfE0%qaCRGEKlQ~ z0UFeZN^K)0B^;Xi*~`@2QKnXxiemes;T*LZwG~ihS*M|xRNm03yg@^`&{j>=L!#l9 z^F*wzQ3Fn$28e>dtVkm?!iqS33Kb$V6siEe;)}i1j(BO zwiT-+W~^AF&P0NBNGPZ)N~hGD+RdsI39E|fj~e!=PN!43u0kDE6&ei=;2;+jN$dy6 z7u52ZSDa1M=0rHrG&sDZkWGcCQsz~rHb!cc$WtRszDy|t z4N-torWna7AEX|W3N)H4M(kIV*d9vjYSe^YqkB|S7%p{H)M^T4pj{~} zhTapQoKDZ@DaWCK*3=QH(*R%)Cuw8F9$TkIMQYom*ZFm-4?>Yf;1JGUpvS7L=M~0B z%`7^#jZ~<8gQhRYE0-J<<&n~>GL7}7OO;7-UR4yD*TQ0SnC^v3OR8~=L z2^AGL7S;IbB%DK6q!HzUMwuQ-8sDBTD{e~a;;fN-b$VC2UQ|p6G@zaAKAe3eh=>HJ6shT;Sf<)B(XB8F zoyMwB4oick3N^CcG6@yHd-L*kmq>6put9RH%7nw}lx%_me^1kKRB6mMxd@{KmZN)R zN^F2mGsY0BCHI&g`l?w~HPUv%?q--}qh9X6V z5{)RU(r>FZY8)V$E}&SVMdeN$jaH(@d1}4`9#W=7YS2)kJ5&`5#pI4~28W}Q85t~Qz8oMz^6|o`>)tjoPl$9WDopKzV zdeUi1jeK2ka8r$duD4Vme#sJbW0lAy8obj<&c04>a#0Tg$jj7iM@|ah27yMNu%~iG zQM8o{umy!pP?eSlML?jaWsFcWorDPLcqZjpk-Huke;`WGjHFvZb0rnk$aU`$we*%0 z<4=+5R@AJd(^w|zJ!e;pL4*+HR`HEM9C@uDS?w+D(O*FlMfLzhTo7ZwRmsSukv6bU1s2@0S{#wDR# zh~7$2jS~7oSEQI6>6M~tg$i;s)lylx3s1diianNEdtiYSy%mjKp*hsJr@0O_P#(D)g%HqD3Xij}nG_IgX_lQJ;qas3gkjO}d5>3REr@p5m z6%osd3P3H873v_X(J=cOy^^3hxoFOiF|U^5*Px`JO7&3X{$PHZ{;MWLqCtS_UA#IK ze@+y`5j71dAyqVNRSA5m(EBM$`o4Nz@zf|0DKxBNEarp;Fi^)UP4l8t-=dm)h6w6< zL2*PP)#Y)#x#RjzODpYe@@MBR!~%0#Uw>98dIXGQ}kAHqg4vj3PH_T zW#vk~k}j#Jq=qAOqo8{UerQjE7mxuE&Y6!WZ- zRZq=~NAkI0qy&wHAg4^PQu&J5Mu4Ui=g@1{N@|*_5{XKae+rVj z;S+Lp(Xd7(sh|=BNRxEc$fl@4fW$ejCa(ZmM`Oll=29h?hlHJ@1(M)ZiJG%$GD9^> zRapTYjrkl)u}GsFsX>G4zjc}>u|V_KQWw z)1H+}G>SN_B=)2^QFVp3(~zpVe-f8V1sm!VsN|~(-&byODOacIMJIY=j$8@@P*I6d zNt-}zsybCYbejFFOhqQ0gr0(0MhHcj;1wV+QPRuG1swGfTwN*BYhOwluBquLl`N5J z!Yd`@hI)DE9*t*Bl&7J1#Nb4dV@2<#RVs?XSqYY=j%J$vx<)T|)alWnf7$%dIZh;* zx)RNzT*0W)-B)r)(|kc?MdPDeR#R@DQ8`CRU81BtDX4d*D7~Uog+`LAQBpKIT1~;H zq&-n%sFbuPO1?fNH+V&1KvaGvb1u-Er{yxSURFpNALJ=YWHk+zrr}ssn!Qk`aZpNd zT1ClRssug}rm5>RSr)zXf2hQa)eAI*HRXdSLJ^u%rREM|oG;P4OG+Sancjvj)s;wc zLaz$cMnQAY;8h43;!CbS1B)S6Q+jo}OfpTO>Op}cZ?|5d>n#+hcZue%tkB!;us|YT zkpM!>@KmC6CJ`wl918?DVt@tmoPR{08u+y7xMtU}EHip|lUZFBfBm+3e9hV}>zFo= zYPOqw$AY5P)RKepagz;QXTaLpklP*Zo5{O?PmgUcfaY317_j&Wg!ki0%k<#8sP@CS zwr4T7Ck+_a4;}Y)T-S1)9?X~BI!U{&Bg-7{q3NchKWP}uZ9B8{cp>V=!$TS)+C!Ee9&hp?NEP0~H2zEp-e-wF6%sYx}|+gB5=G>%iH8sW}(f6fi;O;VMh0P}{-^`qJk z;#$BVJ}}*=`lA#x;2$sDJA@FdG_ClgaolWZuGx0%z_7R@P2$O3K%l$*%CtJ_@?IgN zB!qeQ>`b~K&^SHHrPltfJ=5d#`^|>s(3+?FOl)-5a&A))U9lTwPMxcnym^k6VyZVjt#DihfcEM;y_Pn^?Xa`M}pcU3CUf$@V5H&h%M;=Cr272oAOAaC*MeR@1} z$5+1}_zKJ)H-Io2DZE=w*HJ%vdf@tjTKQRFrZ0iUPhl+VBVr(81KTYk`K~FYTRdVpqQU-A5c|F zWS$%a%+-29%u}{c;Uk59Ze8(#f=AmeIRB1i3SAhwtlXrrkH& zK$YDQe=rDZG~`1WPxpW=Ifg61keq}j^lmw@{R0_#F6>7-v3;Oe!;ve`f3s=90z9dw zjbi|VDSh_z6|(^KU|P&DJ8|Wa3v&lp-mnyp9{(f&TATFr8283XSj)zNYXR}H&34K{ zT-fw3Pri6^JYaH*?N;9eKHed`4cO$hI`Z}@e{?f+P0vpO{J7~DOk%kgt|-f^|FGf0 z@r0ED)SVj%QU{))!gFii84S5A^Ox-_p!4cXUczTxWS!E9pjf|;LTSI zf5jUn?aQTuFdBL(4{0D38%pTbaDka|e5pL4b-{ou>)v|B2Z76AgQdQKh#SD*lN#W6 z%mc!gRD8J41AoF|woU;E0|!w$p$9GQIsjK`V*5^)6ZGAJHZTKO+}miH9vjMhq~RfN z2BMZU5vVME^W*}?mc^9Dz;rsyl@9bie-=p9<^ht!!1I}(tQHutyoBuocjWisM2{pK zYTTM*b*F%!3MOn`G8?5Z>2RPhh;j*&*8+5_&!jEi*f%X7XgD7v00E*X@9zfmL!{2l zGgyAdl$%_jbS#biAs#RxJ#tsB-vqdXI5#F_lJB?9Z}3=HOcn%8Xr-R8L*)1le;}5T zoT$wU*kqu%E>HML)3j~iJkkJ98lf(bl6;(o12SW}s78m|jwFq3UBEeGL>_zp2w>S3 zWJ4y1$UjWmLGB=9BOo{6a&n+SGQSzy+xO2Ha?=~yBVegb7QS`l!YL))ZJpa4W|OMz z6MhXV7;yY03@rek2eV2zN-HpMc)5EZjuyLSw)EKrkcFW{ z>9@{6CZb&fZ?c^>?P&|x$TcGy2GWHugg{9Gfx||b%^pxgz!0g?#v!03sW?E=;7L4n z4^A5NVtP@EOm9@t9F_7TujWtvZ#U+p(@snP4nm2xaEO#?wlV10^gh)85xjW!?`X|(~g z(syKq81-6}Jpd8+9huKvQ;UwNVK4eK~F@}_z#{+Xn7QYQ#RILNS-*6NW=wJZn zLf+u*J-}QLcq|#if6fiyW<=RPzZvm6) zH?EXT`xvme4M;Wt0fMwA?+prTggXNbhi>Sm9)X%Hq?;7PE$Hh8Rk8%cAU7B?&^JyUphiGd z62xnnw~WZje_O|G&?#J^UN?q-EkH2{i=@KG)}`sG%E__kAU$DH4G>UboZPr{JOVOg z_d}VQyC4*xSwKGcUjqg8h!WixARMKoJUta68A@Ez z;XA~QB7izY8?#Rom@9@P3J5}ii-+85vwx=}Q2HH-g zwjT<6F&-|eC7_kn7wS}s$49_pRjKUEL@Aph(wQ@+244vIs!tU-4j4&fF5nk#AJ9nx zzz6##ZUf4j@{l?)9YctAUKWTUS7pP#aEn>SKXBHzQ+A8QQv-a2)!kvWU%BKq07b z1Om8Au;GV?NWr|3rNOsof^vp^#~bz~oNjVUf6z?HTy*OItCFb-oP2}H>qd)Q-wSR` z`7pMC_5?%@eZ^gyy%xkS-c5l`DsS2Z9nKs&t}L}P&!lV^m`-RzlhkS8si@P(MrdGE zRLS3XX?ng~v4tGMC$@}F6BxnSQlRt0BM^l^59x*fOlYyW7r@Tj68xSVxMn+$Y$d=5 ze_5ONQcZDlAKhRwmkSkhLpdEA0C+BU4I3N`IN`hJmeV0yv-!$IcuO@~f~TW#QBoOE z@&b~d9N>+82WT}PO168KDT4ggLDx~LHcwD-rZmay1s1Jp7_NCu2}sik1`L6j@(OVf zu9KR_K(&YcAeIiF916o*s&1cy+OOI{e=nfJLBg@Oub4X~o9~aQwtFTO`!_FxA!U%j zol#qmL>Ex#0##jX0C$4TAS$bHB9cQ2a#&!E5%+yi8I`(EgkcfMF{qA~u+OG~6d&+z z0;vyRgAEJKc9iWMnb(T0bYWVaN$KlW6TTH@$P@q|pIDBpH$WrkovNK6zaqj)e-Z*{ z+LY=&J-@+E6!Qw`HPB9K)e!nY$LxUwl;{^1ri*$O{dVgFgp@9^yuog%c9RQp$j3hY zOlA+7#R8y|sn~gJBVG4W@#~C(;38`$C|jyZ##7+GV>0zN(q%>b-#!2~q0-A&AQl2g z=t=?|Gf;XR1j(rY5rkU*w!cJnf2b%I4HUG=WRC%LlvW%2%%evB3&$I81mdhO?Zf5? z@K}#HcP~wA2$&_?*$)))-~_cAX+Dqlg~vAajB!r^<;EopD}S=pL~}kGbJCGPB=`Bi zlXb=e9Egm4$*rL0NK66G)&OZ)ve^bK9PRk=^qX*)Ky6KgnN#jDf@E9Je`0{PAUMyY z%9nxnX$zWk9he<33J)X}3B$I5mWP6wM0uKs&5pcg-W{4$(19wH+&byVXc%A^i;(y+ zH=q#{4u=GNSsOToj3BRdu#s0kF|EAwdETht;98*~b<_go`nSecx)ZwFF>;xOfmHYZz8&pNpI~jD_no7A|1B_(gvs9LHBD? z^L`UfG8}Jla%7>kE9iHEnc@VXaait(bqI~e!-aE9nHn4|*JL-2EKaE>|0EcgNJ~>p z#P5)xbR@EgRf0WAe-$7rr9j)p3gMuUc3K=T6ED_30_=f&7Zb z>}b1EKy6%wKu;=uKMuGWBp(3?#=b)g1A0w}9a{0w_$~q1H&MlvCp(10A`{7m?T3D#+kr$GU`GWBlJNEb&$28)g&dCf z2M|dSmtsc0g%;Hj6~Om_^C(2-Db&4Isne5v%C|lMPB)3p9|C`q!SUfFm1@PUHXtEHT@me>aqnCSdAA=SH$JKRHCka3hx; z8M%d3$zh&MI#KO(01s@M0^XoW2 zdJ@Z7QTe^AW-d*m^WNE2F1^6DksOEkOkRXQe@8YUE9ao*I-Z%X>w_es2c^Lj04L53 z#jDLjz^IWS3A9^47U6uzF0G9tj;>;6#5wn4q zf3=zL+axe?6mf6!0^#k*9w;Cx*EHZ_tARFr;?e-*xrT#g5w#G|mJf+!+lIb}afJAj z7JycA5^kM)+`?W{Ech@qn~qH!^gfTfvel`D3d4|ilrNZ#grAt-F{-3v62}Gxf022f znikqxCC4G0$~I2kPtP{Gz=R2p*fl|!f0u1bry=J_O-Wn(rXY%rgsCk@5Ic#5oS^l0 zgr1F5?rS>suYw*l>S!Er%jt1Dwi|5hS)5|=f$&;OJwk;Ip9u44%1}W0VRG=^#)0b# z3L1k#7;9K8!XI~~Qh})gJ(h!f#Vr9h@I1-gEH+s9tmJ?$e~|wN zKno=k+(=m5iNFHfxQ)T_@u@lGVug;S3I3bP7mZtV^4dwur@{bxD?BrjODHg0yuXlq z_hGAVf+jMulu#=SECg`U5FwB=5Yui_3)$9z2jmOUQnK|UR~zyh*_<~;q25B)wtyrQxr(yHMs%qkP41pGn*Xq?L$ZS8)4o-5@Q~^qFmvZ zi3j`~qtXmvodt;*x7m@cn|Qi?5(EbVew)kju|GQH!Vxoc#d#3HEDFACf9{3$9NBpd zO`WK9%y^nsNZ?d`87*0^4DJsAHwL`J#i5kV@-FY#a#YUdK8PA4OExd!C5Zv`wF~9r zhDm4z(vh+;TURJ+qOp>tv>qL3GNF549LO%Z)qF>a_GAN;iaet46Aaxv11Z5ki*2f{ zmv z$%bxR!d$Oq(*>NeE}`B}_D!-)oBK`}GN0-~upx4bt$kr3RKn~Ae;@!_Bzj3;F-Xk5 zjB>yyNGvAG|J0)nL}lPmWZD8P6Nn1&vR|6F3d%jXK)^}d@06=7=Lu-Ad}ui-V+ZNm z^0|{jL--~nl>tUU_onP=ZXgZ=8l*xY&<+rsmBF?SI>IL^hi1WH0@fn2DU{>wF3P+K z(E&}^b5M5S8V2&&e?-!JdVxn)xOCG_J~|y4f@iAo6>!BNkSIgKR~HpKE;Tvj80a7q z=RnvIml|#32Ej52 zEj{kSF_J0Z<1^M#ov8o}TROzTVk6sd4#Jp*1YS?Rq(biY!O#)=z*F|RaSZb04U_oo zD-0wxWqP)SLJqYwZe9pmlsv;r=CK|LQfYx4h~P*7_I;TTX%VPog=;_r*Uj^rk?`b6 z-Z#q{Swaq!e`XBi4EvHUcx~>9uyF}@!r%&KX(D7K#eQK4>ryzO`+)%R{a4KDVT>#_ zn_uCfN`*X-NQEwh4%%e@Q8)$#K=NyTfTSDOk4Q{3K37~Ql*7DwY$)Hk*aFcWqcSAD z82B}4F4WC^YW5gTB6X$ip-bBh%{o!tk44Nn7xxNqe-WCvO+jhH=JC)(4_~T>Z5-px zlXe;-u>ma63wo(szOfJdO=f-@XBev_-QU>|<||2&+P-iDL)@d0r8f)cpDU4(r~4?~ zDq**u?!);8wE||YaUWxZ(%HWc+UE6GMB?@#_Z%gJ>2qYBa00JEEAxeo8GcQ$_Ty7Q zbo_A{f9j*gU?8Zm%GS4#Qo(i(={H?BoVTS!~#6Hf!1ycBD9PX zLISb_9_LiO{uHQ<=n#znoYJ`ujuAOQj^NsHF3nyBa(|bLIK&jBXStBd0uewjolKQJ zJpx4%r3}0qXA7>KdMGXfbfA+6?1mx28&gpEfVjv~`EKL5!`tK{Ld!(^fSb~hCk@-+=thdlpQJt$VVaTn-X~F5 ze^$s9uYBej{dg|oe0y@$2OwvlYXOaaMtaqEW8dVVb{(T-6CaL|)pPw8%*WC4zRXsjN_m*@M-g5*2w6(Ss#3TH8{IbJ_6dZ#>A+#S0=`M$bPy5U%gwqy1KEf8*(vcI0y{ILow)*mu8n4hBu2Ig;x*tB zk}-ur|H0J=l`vGVBxBY=Y|Prx8nZTxjiqcg}FqTD5mz<9w9Qq z87}0@X6J@4F2kjpe~1_5fj&kAPkW}<4xdLq{@@rDmmUh^@vww7J~>AFe_DD`;-hr_ zR7#Q-);85ieR!4&Z=4^ZS84gJ8=oCN*ezv6J>Ob03@NWXh7$Ats}cH2keg)U1h!zkOieGR2_%ag(Ej9||;> zsU@`{#!&r!^T?%7q9?Lsfi?{Exd4<}zkTq~+r)q-_2qjdhO? z5w%F%J$F$Pe@tb<4@B%LmQG*Bh)Hk&LQpu zMj{NiFe@0H`r~~PF^>5(47!e{>5)zV{GsWPr_OCle@Ge2u6fLj&mTuYmO=hE^^-kWT#H^%#h6Ja>4&*2>SSj%+ZQ+)ot(*AI zfFH{D>`r;t4J5ZaARJy1l3??p*rPDt4M_`!e{N26Sj(YZW6(yA7zoWI+|{Dl?KV#X zjG2|)SU)rA71M*EN#^vC$iW1i85zb8+`!?o%Q2Kqk7ly(0ndF|{I(1M73SOt&d-H1` zDc6DQiD@F!l-cUj6SU;2x659cw&9vGyZlhZ+F59UAX#TN5+yd_7wBoE?w@O9wT83+ zL5kx@fvEDmGgD$#A2cjM)>K-I*lo6@e{;EUt@^Zq?zYhXq9T2Ke+*It`XJs`#e98%lxz$Ex1-C_vcu(lj2jFM;8F7-v34FgIH!@L)NCVC2v4Bkm>!Cs;qg2~BV5e!XD;M{IK8oa!f8&KTYFgSpb=p84Tnawqlyc4cCxOSuQg&`0!u+XhfEQIs zpvm5N>`4>|{nj;l|P{4$%=U)jdToKgLavPf;!>HIY=Uw0rMD zwp5E?EWk4PPU!o4lT21ffjuT`dI!D&1ketBlgud$^-`CEfwXkde{4WHdV=w{gLWD| zh-LE0`3%Ptnnz;)gtnw+X*7OAcU};vAmp`nuasGsVO5P76-a__C-PDD|w2xh<%- zFKz`)7%fbQJ+UK9+IBN>imLrmnilHdk`$c$Fb-!6P|7kVfA@l>1PK8Y6AEf%crO8v zS_<`ecKJN_Ep7Pe<<3|P+#C(0aq#w#Cxm)oXOtu(Q%QiZeF6u^7ei^yc>E)n4hjKs=DZ2X z6Y#_Y*YY$`ed6zu!@+?;doB(QeYw|2X+l zrM2&;e+!nZPM;+m!MPEjz}SZPIDqnm5mLhx^F$3Om{QQDKzz@qX_&^tt%PcTHAJ&V zjw6{~Fb@MJF_7!V-9uaA0;}gp*ROxHhnJoc%?eXCs9~=Yja7J41jSEpVx;W!dn6N$ zN8{HuJ~$L%&SL3O_4^@tQ);*4&!sM-z{uhFe=nOYH%zf6MQ=_}FrPMY6oVQLKWfH9 zE63|8kgRc|p2!G9ccEc*lt9f-WN2bG2B}xvY_Wn4C!m?IEMR>@6^cJ13)Ao?)o}`+ zfsPkl?n=2crUqgN=M<}9;n#9nIsx>NB~J|v8)6bt{BydvWM@R);t9+BobIjy;vXo# zf2s~~^>;5Y40)xW%UGg~B`71m_Bkro^m}a_qb9cdI7Mb<1)l!GO4CA{wl@<6Y(97OEj#pyo6&p!8Z2A#cL^p!32NN z1V_-syGxUwX_;`72y<6DB%knvC$TnOIT#pqlZ5kbUV&zfK8%DaVvtP$f3!2LnQ&=g z^USn;-jQw|O-=U_>x~@sPfRHznTP}60;ZQ54kskQ|D>K1ck~T50FBA-^K|Dvq^u{E z=j0Ko85<>N{f0?Jp9=o2DnB8~e^neo$v2f71%)pNAuGw>GI>iY-s_|EG zwp-(|3lk%Y#*;yAT$xIR`c}?UG~J^)-w6ikb(y^&ycH6cl?Qd6MhUsdl*ZjzW9cKu zQ$-$Jb2`BZFZ19nWKUVgxKj*t&$dY~AC0|5v2~7TjM&ie)-!M{fAU$w8j|C(dE5aZ ziqwofLbQ2;y)fyCL4Z97XOiW8k~0${7?5+y{_^pl2CQl;4^065bKIaUXPHrb)lWnQ zXrB1yCpo3ZUX+^f5EKAJ@e#hlyKRnPvE-^J%upm0l%r&TMzvj%-g)!DX7n+M?XQ^~ zsIA7IM`*&t-5v=~e}WM^Tz-sEeFtC@6EzKGljc~;e9Un|Tc|0#w~lY{YO*QGI%7|> zOnQf9V-I+b+|iT94ZW2&_6Ex*d%%Uh4gdjWbSZ)aIUxS3AkfarK0sT;Pj3)HyZb-4K!Ze~bj&plC+!v5!AzrbbL{ zUGko?(UYzsJ~_8UDv$&gjW!=J0*j9%9z|{*NA}-P`IKKZnV7qG51AQ_6Tb5WlS$8x zd9D04tT>v;xEj*@#4-j9)*#FZe(C+Od$1C1KnL zZijX0shE(Je`Z1`K@-Fk@*Kj}2_LknD1?vEK?C|A(AZ;XYL=(%L);u1Vlf_b(GNPTH|lXOnR|y{Kc3zf4?y|@o~2a&yExJe{?5#YIkDSw=+5h$Xk# z!}LP*OpQHgg;J}n%KQ`G5*mA}a6DD_gohc&9*;aV(fY~)DUrc}O6SI7Rwq2bI4L*z zc&hWUe~_s0N1_@7*cx)sFv~U+(!FCSd_yV{>Ref#fv+D}un z`lRbPn@IYJ!Z+d0%@z(CCOb&x(F|N8NX<;2QRBa2s}fPsuG34?!A!Va`yq1B*Ar0a zlwkzcAWd03evkYk*ip=Egr`^&nsPezv9$LMP!pw4!XFdgiw3ma3o973Sx?Hq z8TW;o{pitqF)Mft%C&}X;{uMM|3>58e=e{!W28A<4K~N@I-ul6+k;U^0AUOa)KE#| z%;O#HTbP#?;9r=IHN5JLK2+^npeou455o7w_--`hK0vx1=Hu1|Y?Snb)6jm>GIAno zoZZ7Kx(oy=IQS;_a6aRGoupNwuMUs;f@PpE23(GN;@kM@V^h<0jd>bFlXMSte->n` zJvd--pO>@u$%O3=uhO9wi62buxibyeah#dB92`SA9(#T$^I66UUus`|u-+_#^?=V{ z)avrX8M6#Gbllf#9;$^IjH9R0mmjJ>-x&(DQnW4p@G$?kt0WM!^TByZmVV*`)ITT^g%6!*608 zVFK^v$NAM%LF~BM&|I_a*nwe%ucEG59NP<4#e1g`_E)CW$%r<+LKdKvOlEeKt(5>#dvZvYXYR_SBJ1 zOqWF&VAsv19B*|y^@cUstApNDoME(Gc^@{Cr+DZWzjj~{wg)8>6R+E4f_n;Avi5B$|}xEs*={hTf-E_|7`oRjvvZjqy*eT`2g<~fSbLp7tr@$?I_sCosc1$H!=XlLMo1ySk zz11lu)8$=0Slyzgf2%+%6nCc%ba0)Ku65=3tE7Tc$J%2kt*uM~u&28~1`>tBR59U& z?=?#}%w3(aeX8l_C}6JE6Sv3Ld5ST~&gy)N(=~BESe-0C-HFb;p_7e*a$sjAT(?XY zLyA|kreG@SF;6^TY1(}g-+^+&8;wJ}9I|#jOr#byTtOOFe=wFXi@T=xT60{@6N&nK zG0sm~h89Hyg&j-|LXrY^OfMP`f5Xw57^8;?q6b-whO7y5TPni+nnv5lr#467Ti=<$ z(gNxrZsQQ|$(lwx#`H8YD9tqv_KI2XTNG)X#ehdH(1|#*oDj@44JdBF**uG(P@J(G zD+?q^ZvJP1fB!89^Y7zbXhJ2|h5yk_i!3M!-k5VS%cF!L>%{(+>s*gv|2h{aryY3X z=3z{=kX-S08|?U9!LL(kWtjXhi?v;ZSt$t{u-3`s@F55wl^}nJc(ym8=7`9ImhExza;BBZe{o=-vnzY|t2K_7zJh@rWJ0Y$ z3{$aXohzhiA~N9*nCv!w=$zBSOnG&HjT zWW)8jkPX}{PWeeN;3|z?Css-c5LN}u^up$ZievTB{l<<%P&%JUJg+CT0#y^P^}6YZdmAge9~2 zIRmRJo&y)}AFL*Je_fCaGuULq0+K`|nedx9f5}M}gTao6w^y^k#xu-1W@fdti#UH{ z79!T=_JKv@_WXim&kvDNb%v<8WnO=nR-)@joqxrDM{24U{y@HxON z@Z|#JW(yzQwzCk5nx<_t*Bs+L>*C~LE{sg%z3|}=ks2x!8%l?VPq)t$;&2f@X1v0y ze_ZPlEP;Kuxt*a;S3D1DN7>1;(Tgo;h`Fw_Sl%TFmt)fGI(P64vm2T>$_}nq7q=;W zUgt4Ca+z(??OW$?=XM8E^~%Go)qKe@5#|6hT4$sBa4%CAHa>8bJXV(pK%D{4((AL2 zn}8{2oOm|#7stGLl(XXn}q-$e~P!z%5*bh4`! zLKSY0EJ9S)tX1NBE2hP>LCq7Vi&?g_(uHo#L1vDo3slX+^y%?%|8%X0Y4mOGe`Bml z%gEL1_?X`Wlf+s@Uhyt_W+b}>><^zU$t3Qm72q?IbUWAUg0=ARjf_B&F>P0skh zv9psTizFn))(}| zL?(9E%*y6+icbq=$kPvOb+ol=(9&~gS?GPuulAccJ+Egm)>Ve4$4k>d_L`aeaEbw3 z^djCmhikO)0YWFMfS~gm<~#CTmbG5IF#WMm`gI=gtHAOd679EEQ2O|Qe-|ix*;pHI z9cr;!=hF59n|0+AuwEO4tC+`}Y?*8()(DXWjl_Gb_3|>mxsG2=%3=@GciA$L-Q#C~ zvO!M_3zA9Zdhg~)&k$u28AKi`$^xK22|(&2F>-_TI!@@Td6_Vxyop?$*olf8t@JkZr5t}klvzO)#}a- z-;GjF&j8D1wV?Bxk?$C@#WyaS_2Ix9KpQIy6iFY$on^FT@n3pFGKO%$jZ2 zmc{=)kV9A$znI19(w8=8y7ng>Px9`T53>MK*yUm1K3s?;I;4EM6nN9aEVjX#YbspJ&((B+m<;qw_TP+ zv|J36L8;4}X}o2z^=ckz(_R)y_)QzMN7-qS0kXUtIi4|^dAQ|w&{P}?j{!y#Y_b8YTt!UjQrnVEzwe{FDN1LX3(jD~CA1;8+b zIE&$=m*BG)?udan=+8`1mPM2n?A;BfyUXIho#J!rGs`c_F74FeH$X0D<8{j}t!3Ua zduF=)pWcsXcHD+uTt^P|U-~c(L058z{j9|MTQ)l{T6S%hrWdDh%0{Dh&^N;}8qMyo z=+)N@_U+Q~e`e>j|MC5t4$xJHPIq;d`F+#FR0tr9X2OK|wKKr%T)snF6_I>TxBCdG01G4OBjRA7~St;AHhKo~iLl7_0Wn>FIL=kaj_PDeP&!CZS z&Wb7bWGJ~}=nUlU>XIlQa;wb-XhY3nOC1;X6sJGSe`w3bQoI~>qU;!scs3@ZV+ngC zo|%|!ky9UC!n`;P&4nvVjk7dCbucv0ne|jIYrHsuALmiHmmTlS#55JNYi{=>l%F{( z&kB4YF2nWNteV!+^p=A*?q@dK1$XN}PQhzqS@@t#3nNW$voU+0iy%9Ocib}pWpgx#lV)ipgL`u*jms|Wz>Y#B zXBq6D-j3zjgee7>wY7boVz?B6^iGp=P0_+VzH zv2-9O8-}-oW*Kbi%js8v9bTtcUV>X5O}cYQf8onUIAX#?H1!Yo(4BebmURg=el?g` z>0kPoLvNTDct#O*S*NAYYHmhGnhPuw`6*+&P2Ze{t}M$DUpa1cktGu?*n+b+vr2Ql zv>C;Xc@SAMH=b|*^Sq%2l^!%9zTbjpWkfk&8aKlycp^iBh2U?c@ z9f3q{kE~w!&%C2A9jy)>VlMRAc*N3?P_EeyW`EqzrO&*H51I5_CzH|kS$mGaz@=l@ zP`EbcvB@lZ@*~O$gE$U;Vq2cG6<2y)3U@=!?uG=5^ z{ej86yMzoA<%?NovI6=#;P_T;HekNMTYK=)Z06Xdd9dRJ79VEAsTwYelbK{O+(Flw zXMeb*@4R6Wci)0+KUFa2O(Fq|WZ zbNK*g%-WOD4Vw#g8_ctBOH*Xq^gtk+RexDumX?UzPW5~>o1256{A3v}vd^u#PWZAB zP2%}m3>LX@Zj>z4U&Ef!4!W5>N7<0IdMuCi??Jrz5hZl2M+IfD1V1JCB zRLR7-?%?_|T3tir(dn2y=Vmray{rZ4!gMiL-5l^-I+)+=I9+RI5Bu^G**uJId2kN- zeBk``Dx+yE7Px>pnfNe|ZH&$EvbkM%#;tCc?I{a!2`yrAf}$)={h8y=mq}vT1!5e* zJn3SV9q+&gZ8k%n@GItaxXrq=oqvRTx+BqI2L3b%yp`F@x#i4mGFx_2zr`+ra!Alv$UQRxXhdRX6y17X{{kBU$X{a zFYP(aFmC6V-j>zf_nn)p+%)^#n}@sq`TekmOE@tkzva?OsO5ASK7S9C&A~Wy zJf9D|S@CDtQ-6TCn%U8~Ua+5upqlK~YmQ1^kanX&$%T7p^`8PH+aEQ=d3 zSbP1OC727#gbKG?4kjbWf;?S1-HZTepy4(fw1B-D_L+rmsH}giLw~?__#BgVt(|qf z0-?h&4J#9V(t*)BS)HzZT$Q-%wf@s}g@L@C3`Xkg!EX6(CW1yU#Cg!*Mp+EkJ+uP1 zZDxe{R-?mXL2+naXCf!I4}7PS3B&B4a>V>W?1Nc5C2pXvH4_@rKEvccHyNNvPh@n- zOe^c-wat-8M{}En{C{?*v0)WyGfue`a^_U7Vs1u98%s%xG4Yb$`p4=w;Y-gCUpMeGFt@%x?~`C)qDwmq1r(u(j*CtfhHruNBDgY>p&Z-H zf?alTD0~(%6M2=Vny*UW%acEo`IH9HGg6`8iv$;i{%u>J7f zeHPY=#=x{4k$5o^;@pA7nZuEr#oB(=GFd3}XQdZ*4tx=fnuT046iLaf(Jk+2k%iaq zXTXSF%Yz-cPB2{ikmmW#2vIaMo0@ULFq!mC243aP8Gq0eXqbf-+}%U}E6Yj|KIQm6 zP9^~(#@Eh(V~E50ZSpA0`i^jLWTFt5gNz8uKm=~Mp|H|*JaM5civW(SVgh)>;FpZ!%a` z_t0_-KYuGJxqXPjMRzCDWAN~epY_L7Fe}5gVFX85Z#cGr>Gi_<8h_An8VJuU79wqj-x0`R&h}(2+IE3Q zXF`birPD@nJDWJt79YaGvT&ZX4>4XOi(>{OIoVhuy7&;2!@O*Kt_I4b*~nC#7Kj2F zNgkbsm6?iZV9q#`-DVN5dKIALk%?|3ya;}jC4BvXxIp7OW;T&}4NDl?vl8F%g^bLu z{eN`M#Dg3enPL&nnOqs@90e$AXA%(051>=~HXAB6z`)H|#4(s z^Ii4e6tsiPqHQ`C_##q9W1;`bH8Y8t5P#J87N4ifhHword07^=do!!}eGyf8%RAYG z6&O4#;)uKD^K9X%KFDSyUG>owJaxis@z*#)yPE+y2A*MGjWBf!Ou z85$_pzGW>w$m&F&nif96oyCUj1wLyd0r6P|r+OdXYR8u(Ga>iP9Ry*r&b5zq8ir$8 zS&+tkQ#fHAEUtZFEk`&i7aMC%Ts*;N?nka;FScd&oao`$zY2O#=x7}DEvLtAZ~aGm z&*G7)wf3P7e0+2xlbwU1Y<~ctc&~X8Ngv~^)|Dye5-|9h;UhzQQ9!!Ba5OJM`FnH9 z!$v3#i;I65uxk_DQHE(*S*U}DmU9!hi%KH%vTMgO*l;l(I_IW|@T{R5fCj&qNn`O(e{$i_}lLH+1eKu$Z{z9y6UVI$6n5be=iEd79rU_()-7X~1&3|cDI^}{m0tiK< z>_Q}YPW*4&0x@>%g;qBwLW&2%Z=IXa*SvOwyb27LS>45;IHzXV>YKoVMwal}XQV+{ zz)L;u<6H9UmnHcPDr+|^3r+OEy9Hhh+GrMoU0`_Kkl!q(h|YWTTx84UWTA&v;AbU@U}`#hAzSC1+ts+`7F*nLF(=la z0{3)oJZ3GV&CI!9Uo(4Qi}9RLJap_18#16B!Oi*wtP_6i7=O&Q%>_^NaBjSJ4DseS zjD`ZMV`oB-(VXjZ^mJu#xKCIcB=N-zcEP-d0No3tp({)z+>ODSi2-jfe5Pfwh0ZH1 z!1A1Ug^NTN&8xl%A6sU`OuTL7F3Q5^TpdW}1K#1nhL?%VaN+Wf4aky-d@>q>QnjEP zU{0hw(ORZF7c=2;*HB z#4NwSF3M=pkQ}0 z@@QYULYETh3^QQY_|VD1?$~*q+8`Dz>P4~Ugreg!Pk$uzH2Na7Nf!PF6Ud0!&VoE* zfH}7oG)K;f{}-6u!G_sEK+@PIi@PW$GZAd4DV7t!M_X874CgJy@>C=h26&SctV zRuuJoH31x836Mca!b20PPTH}gN`B+@hoGbg9S$t?M zUj*UuF7Dlp>yJ&FMoMRmY%}~P;*D~4IQ5wnP}H8X2#>0EbEjHK)KGwO&^HN=-z@d-JD#Y(FSU? zn13gB?i*y7oHQdVC+6^6SihLlh_x>sj~iJU^o?&BWntw%v;t$~FDi@AiIGh<9UN|#FSxKdM?(<^NJ&P1GHO0qeEh^V{1+zQ#pP@|+^Umy6%?p7%D=&=HajUo5b5P7oeD9rK1|5<~imx%gz(f@beI z2g7S7@w=hx7rMn8QrVp4OXjhjnav&4mg(T#pv73_ua}6vidflV{AFHYf3Wav<$pQB zd44kj-E6^YCi7m!v#gONt~6$Hwhy_Dd**;pkU>zO>nwhmecmuVbip%A!^B3JSVP3? zX5GcP&7AZf`P!l^bWYFbD`xeWZQvD}#dPaA5B3!rvlhGfH?P9vh@?;!^ZX2?Z@km) z+yJd)i;OlW{$of35-e2XGl}>;aerI`e$B*TeZhMS-9Y9d37+P?OJG_yD7Zs63x8S@ zJ_dzpm`%{A*<*VJ zAXqH@*t}|h!F&w=T4W379O}YlUeH@C)xw-Z?K`fyXwcrAL!B{ez`HyPmVYfCv|2D@ z*1Xqw-N0ZLIw=>jhs7C+Jy$pN*8}xC7vQi{)II(hjrEC%Nng=kn7ZvFY#=1g*upKOBUYyrZ#X(wOUM68e_%w`TIk$@) zx;b(Gl><81;t5#hrGH(_GcybCJ?J<$Y_VHz^BPn-yv?(5E455a{_HMh>7LhFW*b2J z%|&?HU|zD(v$?nhDc+P=FoJB(LBmwqqcC#q%4aSNm%+U{AdcRmgUw0)8-eR!+&PE~ zhT~;ntulF-Ty_0wU9*o@xQ%6WfnPqEjD_8_a=5!*oxY5T4jG&vAk*n7S+JLvkn@|hs%uA1s zq|{wBwqj1R)gc_jHuo_Hf%Z(V9X`))NHioZI^^6jR6}=BP2t;Rx0BzX?!ayr%egRG zcKG2)+`RFI{eMh+Vy{dKGqq+SnI8DgP~`K<Z8Mc=WEMcohc`Z3ML{m}EqcAFkXk!KMSab|)l!R$^J_P9N~k76$x>oF(WKaEYt zi?aQBQPFfQarZZqXD*N`E_gR;PC0F#-}sB!jpiJv#eaLO8!Td6ne%iVp`!~^O|75G zi+6XsX!2eN<>wu(!`#3yZx;+9nN#q(0Lp=ab+Cjw9hm3pj&;;VN=rt zdYw(nG%}HWu9y+DF~#&Eh&rbsq}g|D&=SyDvP9_LKb>=dBTUtV35}%JZ4TnsZFaQA z{ZC>ah%B0)T6WiO?3i z4KU~CUI>NIS%MMFDcr@3VBxgH^M(K=9AF7s&7l=^xN|d#&Ham7#N2r;V!*t5cyTvD zoJE6Y<~3O3J3fPj9O?7QyUBT6JR*Ey63{l6LD)I{DrY$)tRu@Gxr-)On3L!nVA%0! z=zj;E<}4)c&P(LD1!9&1!!5|KzL}E*EO@7K-WyP2Sy_w}y51HVX--Mz{AMIl1ub|3 zcHZ=DBTTKm&|QT&N7@4^-^+ymv>cHDX|cH8dDFn0*#qO9r^o?{(M41fJ(j54#yYLB_^X3HV!ah=LP<*xH<72HK46?YEc*d*_ zAMk9_e6}!$Kvpji?lDky7Y;3+JCTM3;&n#3d-u3~yF}L6dG9=WP8V|~Wq}~CSby7b z7q)lJ{WJnTp5rL5 zGsa1SLc2(2i+QzI9C5Kg&N(d~=Qn`;;-MeITs+mvVs=4nlg(Rj`=&6IIiV?CW0v9c zvxs?USOexQddYK6qd)@>gv*B*ZGX%Rr>Eh~*7ZyFd!{!C{60w5?H;ohTn#@B8a8g!BC5oqIH9C_w_?A@_k zQ)DyCBr_uS9M@RzJ@f@=%`)%U&ucg_J;%x_pHssM~?knK4__#*~ zw$anjUXq1f0j=xiU{UMLynneKSch4xn?)MoGv0+oEf{-0r`CPOEGL^ZAbUXvh}44b zk*W78e&DRTFYnVHJq3yCo zpBbH(Ug5b0bu^2y&Y);5I@Y`*4`2A9)_HY6v`za9k2Y^QYi2Ku8gnk}(rjZ6=0!)F zH`73hh)sPF^ZvXK27kJ3zUXz2Q|5NrVuI@24Igp^jhI>12->*36Bwdn_=I=6rooI+Jf(jvBA*Ql?$^7hQ>FMlsg7?s&?(cb-a%f!cRWoi8_ znAKl=Wr6gX%`2+y(KgIOH5yi4;#Kcd-xa8 z9=<&!>aQ*x;Cds=dW*>BU!fj>4}QNzbNY)@jF)xUTQ#Gu8+dOKcK_umZwJ2lHi;_# zS||<}AAj4d zh7mtg{x$)s>DcDActHAXnbN=7cO49%^jFOI|f9_+0l1#@2IkIy6Zuc?XCfCayJlfHRXmgb_J?~7@Vjb7Sig+Ub{rj0nD~v|JXZ*nE zoaiFdJ)hntjH9CJe|Ar(itkgPkm))1zCouBCejOD17z;`+?;p}}KVZ6&> z$`iRKJUPLazHKwSVS3Ma@(SCEc(i0D|9_+VVmZ!mWZ}yKfp{Mxp3a}&&vcT^$oGu3 zXXY)VSbI+sIlji*JI4K!SrG&&Zk|hI_MhF??l4JM`ybxVBpQ~8PKx6v@0-kmxMsFd zZ@A|ZeC0FBckXE(XROOyZl!4QSN9|mj6^0{46Z{DD+ty8y;HXnP(bM>-4h>daeo)z zrRd(jbZ`+pLBa<2PxCK9OnEDq&jI}6G1q7JO=~YrX!h37+C7XL6v09Ftd$;s)&qp) zp1~0&zwW>g_ss)GK66?7{>j=AvkeSNyf)o?=7J}f8(6j%+?Qeuf}=4qtoz@aLtw>< zq;yXcpZ8oQi3ImW z)=YoQ%XDA*g|D*WdvbR*FhTghxw&tziU~g{5V+@3{3G9nK5RJyw)Nm6CtAaO;;St=zk-U+&6(cw!4;jV-8sR-ua=`;poY@Z^anHK5bdexGx`* zqbeEq1dt18F!G&y*8o9cdP~%<3uag*F`nF$lCcjwZ!C1{o`BLanazi?WPMNU253CO z1kHVed!7n#U>_rrZRzy<8BWFTW1@K;;7cTNJTXoOM47JRf)pGN7JtWhM}r0U7yc@S ziNd-=KSex?cpQG$l7G@NG;HhGy|9DH>uR}iZuJRH5p}TMl7meTX#yA;;@QM_xP2uO zo*gWA~HV7jnHv+><@E)#tlP>Ph?ivo1-p#q?{Po1`7aF;NUWr@oLUS|kj z@|^*gd>YF?0iF(0hS{~8+g0%WzdVGgyj_?3?u0hVX?zgLSbVUUo&-$8U=mxr6PH#o z+Fmd;uUU5EHGiRPpRRAM(A-B`jV+CKrx>}4(L{v6EE3IX1~V->oVn(;4Vg<(R7SSxxS_$q5y>*5+9Vq|yr5M5Zd)C^?HEU7gc(0|QaD<|5+*R9&=eciQU3J#VX zB+qZSGTd6p$^mK~$x~37a6W{mNbM*u(pu+;plY#p;G^kvkkt{y+@q#P&qQaMX0gX_ z*a{VkwVuDmpzS(0tF!)`IH2IL&Rbypfo;2GRQp_~wtHa?*fp~~4EK4X`C`WLj(GI` z>I|U#?|;oa7Aldx<9e)vSPA;1Y5V+6JBp9y$Qi9(zg{DJk8Q^f!iOH6Tc;O36tpTl zI%U^DHE&oKK3~?ZaBO?RsBIb!oca6rCrph&;@81|OD9AK^`XVVaBPFym|qq9cDhlR z5d6{?CUNX=@`$ECNdmPnS*w{+nll^?!4Bt1ttM51U`qMY`YOw(4 zZY|jTpX@UmI~up}^hZOyr*9d2Afj_*kHvUDznB8&tH5ws_z3ti@ckd3yZCYp^F=QP z1C-NPn!5;)52wxAp5qSVq0?R>Llk;nge^+gnP9L!C9Meu|%KUuLKNY^ITxKXH7v6)_O#M%J>6nug&p z7_&O=vO{!cTF+{zRd=Sb;1f^C!%MDg8W~PUOP+mQKM>QGyp|d3t0`l(p!HIn&vstp zjN$9wos}TMFQ*J8Jk!4TBnuQ^-Vkq8XMX}aV5Q3++1ZxWvjSsz%$^PT@O_kJNBVlk z^SW*}VS(sqnHd2N-*;Meq(2>(5t3K@7LyRpC&-$x0>^MbO#zX6!EPrA#?LOF=e}KT zvaiN_z1+FVB_N2*(W~qIYUgrQy-$M3)$`nv+jnQY-Zf&OX#^H?HRihgk>4Mf%zqPd zZc~Ja7@$>UeiPGcFzVO}Dcq0Gu-X?;ndq-Bs?3u*A&~4 zP3Hk?vl(u4uYV#IhrT4k(*41tIT|o&BLCvvCUW6Ap2&OSn$m6EJMZPJeLnbF2c9JP z9Nph+P8e`zag4O){h#V1ATJnRD}UV+x-)BFb~I1ksXODy*N?{_`&<)(_is)ykce5D z6Pc;r9^1{GeiqsKbr%%IUR<3)XuH#yG|PaKUg4Zo{#|0s+j$1N)88`7V9j~Kd8Y$% zmeD4>JvqaWcbevBS|EK>a@`0cR%pyU=2B3d@IK|bag@C9IIGUS_^D4`Xn&evsHF(Z z*vm`nUYnGqf0?5`TWIf8sSJPX^3E)fTz<3zx91q)h;BOIoskABSRSa3e0;!Qn!8QCge1fy4@K(viyjz;=PN<^45(zxt9volrsSAh0Bxio)w>G!Km;z^p#+a zH~-CXF{>Lx&^Id| zqc7Gma!I^6n-;+N#(#0{4Bl*+H;&=BlGwPWf$)w!4wM?O+iM#LV=?5XQ;fBZWT4?q z9%@a{+Y34zQ*I`Q*CLa-;8vnHrce6(my#{tx&4x*`YU2iRrM1T7_(k*$ksnPU{j}{v9 z)xp+8y|g5$L$~ZIVdHy2Sw$`zO+>HOa$Nu2NZ=lgXgQNRj=s8P*F7!^}YCkflj&s9H*Y zoxz}ej!EW})qb0mKs$N(H65T-{ZVoG_1cI~Xe7#RNPn3@sYBWs*agOscxpD*6^Poz z(!G{FYzwk$O)x~P&q5{)5wfhkrp;66UOPYos=scHeIFEw8#88SYZe7kzPWzcK0WVi zKIepnE9ZQD>V)G8(<52nnnv3HSD|}{yM%Py5pU_dX4bUu&Z!ZC7T`pmStN5ZThCyyR}Ls)>mTUY?y#ZA zi!e*L>JkHCiX%jHc};hwN?vZLgP|FQ1Fy|^z6H!8Jbbv?8SQh$z=QrEjH8A^Sr6!KO67(-0(q6gO8>Lw2SI^?Mfb~z!tL`aR1%6~1+pC+Kg*&2ABu(YGUZt+twVWx--uDJxM zm>{K`f%4j0N}!t1>B-0z5M6xr6VjC&Ii3fy_X>CE+#PVsxdGm`FhnPysZhoSm;`jy z6h`cmxeTwE00dNiu;V2N_(b71M61<`O@1umEY{`ECh!8BV@w6P4O&xwaWXhTZGTB6 zy*6g8U%c-LOj42}V~5Z>CVmad?v$iq3rt+5Im>bPpWi97Ulz`vL89!sA;L=#U_9z}yB59|c?8WE-H@+nr^SpHA4TCLi_z zeQ#DNlI=S;FiUTh8x=pZyi%R*(tq)S_~pvgakqwLg}T)e%zXk@eH|p1*KbzIhb~3R z2Ge2-3!)RS>Vz4Nw@kv;<b9n#7G1y?}JAR)p&SfXq zo2c( zx)!?yeFYT(wnBTwAutI*i+_+*t?tyN567;~yo)I80V=FC2l*)%Z>uhjSQCr@2W_^@ zIhX*>rir_>_`)Yy0OsRo#~!;DH&o@PDJSK02gL@&Zrkjv&^aT$+p)r30*!jLF1lm8 zYxdAHx;S5$WTwNEN#4+L7ssdx`?T+LF&pCIC^d;f^|>b4muazLY2 z34j(e@X3uquqfT1a7?evm3Jv#Hd=x_O#mo9+=nj(I>BIJxpTsK+6#myXN5h&xp!_? zO7t2iVJ(TGlZYNOEMTBF3tQ(W$*s&=ijqupcl5#}!mC^P!8KnF zJYQiKOX<0jJ8fG_DGk#yf9yLqjvKU1$)d1O=;=f|GrC3=XMcPXxPGf|IzAuX6}Y$n zbXzWKbHfL9e}$ay6|+0sU&72b2@UulaM8ZDTIvUDUxJ`cT06Hv%QGx?v%)@2yNkIv zRw?N=3}&&m8?1Qw2R3@3me{2U6!2?i2dkgyp5yxb7I?r4k+cbi$?Z8yNYIm<04AI! zZ>3#cIm;cTNq^!VbT|B|_XL%=3cX zI>RN1@+9jMv+?oXW$dmKCc5W%OC9zJjI(jG)D}(hdAT5tuGr17=Ynh!+?e=E>^1K= zi#vWNc~XNL_l_H_%B!h(IEM?c6 zq?5ZqrG0KJY=WH7=cR+5?&0ErG?O^KV_mbMzwk6C(LLTOwK@D)?32YKjFNe zTWrYOReuT+jW!>!r6}EmJ4}-2S)`|4q2D=t10%d`zXWV22cJWep+8zeIG=zBd*~() z{ADIP0m3Kznu&Lw26!{0vr0!C5SIbQ2`;g3lY(Ge=Ed*Z^8uXSCG?fadKJ4}%8M|e z(^J#3;cNgb7Ns^5ZtmbEyus2PPb6bLUZ!0lZhv5sS#@AJ9dotLL*!oQkz{v0wMb5?XYerRnKB>Jn%pV19B`Wb_1pS`|iiLLc5IHlqN4}HB zt$(gO>%xUP!X%CWbg;vgiMOA$gC^c<7%m>|H6JLH&L@H5(!>`ru1$BA1N4$%2)1k9 zjV}xPGFpK_b-bwoQS*|P;b3a#v(5USOc~;eTjDviduT%m8k0;O^YyuJTE2-fzcb;51t>RM_QWh7CfdZT z_FW55!^EnAZ-~k&jG(e^muKsJhb0gTx>iWEbK8N_0S;FBa=*@F)d=hePOK)mT zy6!k9W#Qg6w=LFXH!G#zXQp+nkiq3Uy#ly8Hy97M!lRE_yR6mDbC0=b&>pT7t@gOu z=kg>P)Ej&3a@z7|br1AS6pzqNx_?4~Ixw9u6m*4s`V7P~S>af|&r36Qwyh3H;W#4Tp9StJg`b1OM!vc}n?UkHC&}s--{LM_U6cv`@@W6camN_nDsGQjU6Y{b zN@(7yyFBP(f84%Z<$(t_N~XE|#_w|rJM65K-ebrrNKvcZ_m(iI%d20W-ha11*cnrK zmPhQ6h~I@C*+;O^A$>K zuS~Rc-%6O-UiGv=+Hic4%gxtB7MEEL@10-fAFk zM{2M?h9=_qZY09A&VR>flgEQ#7nqgN3%JRkai-jO(6v1V>Nz(fF>H$e(_GXG;s5!7 zU1J7R@|wuXgAk6dmtu{xcpirUDG)~_=kdxN?XOsebpqK0yYe9pc_#|5U)vBzmeZwx zTDcqe()2BEm@}{A>pJ8&;g_Rx-ShjUi5p$Ma4IkEJPv zmrI#C=@yO^4BD)>%0T=SBJ+0n=+TFd9=$h+x_-RBmxuqVlCvk1u(Cpv53?8r%&e#v zE0VJ(ld!T1e;ma}?|k>sqwoC9Bk|*C86{`B>}6Ls>#7;2W&yO93AivIra zr_ATBcI8+>+q6u7G@#v{{=tQVUt9%l zml<4ZxSVOvF0LBSqu;kLIe_2r&FgfT?~8BDTSgZD>80btZnZ70?KyTwYdV1)&-AmG zVO_&8_|SJ;^5e(RkNdDt`pf6TFJU&G?>aU_?W4Zqaj3BX z4`QgC?(bjbPR!R_!!J}+D({x{`0re4w-)zQ*{xK0E??AoFJi2Jr?guvM}PlMp6Qo6 zf5oev^4HIE<=j6lu#~SH}7rU*FCZawF@P zxhjilbB^IN(KM&O%$atF+qn`nfirFMUy3H;&wmEBgS2Rj49n^B8)oyIzEjL~0Jt$8 zwoQEHJjSq+4r?k_;uSo_a`IBGj z&wlapm(QC`Q7DMQKW<_(sQ9H`Xg>er=09%!aZ~@tq6PGD{ygdm{?Pxp8Bd~FsJ<+f z&Wlm`|18k{kM*k;@eeNyJ*U^6)c{(0DOadGEAEt@7xT{x#hhNq>BU?DYV*(Pf4OQ- zFXsx?XNBTUq4d1`T+iopJy(FQE4f19S)uk^ujUHnXNCH6z5cAAKQFxKi#9uYZKqIx zpLPnhTrvN0r?6AW)pxM>>dV3o0MQx(N==uvpDadLiiaWzBfNwd!f zjhlo`J(Sl~raN@+64P&aaph9d|LqQe@txN||Krns&8#31mpmtMjZ|Wse=07$8&mpI zZUG}%Rr%<6W zkb3r5uLrEuw4w4~_Y3W--K$;g0-$62T5+ddFYZ*T_4BQ&AZM1!Cov@e{>PFk(h!Y-S$A}N+$L6%Y&mM5NZcQ zkZa>bY=}x6BZdurdo=_>E0!iV_F&C$5ccgHZG&mXGa0P zp$JDv^a>{wsLg0L0KW6}@mZ4slj7PtdbJ#%n|BMvN-dU`-l>!d@o{@ns+9B9N+R;V z*MyQ@h)etVnx05&@0F{1G3oM2IbW>Qi}i8>m`16bFXZFae;fOa3q06`m|$&%`n$`m zL|lK`e2FX43wd3y$HLybr9!b9_xet$R!>F3YON3#9+wL>km`%_I%;~Qkgh|oREz04 z@_Hd2;Bg85)AO}-AqDukR*)7_s#WzEMBjV0|1-L#LM;(Y3)SkRzcUxU zWk?Mr`~(%-+5{(dd}eI5T@fBp5)l>QznYrS{$csq+LN80~~ zg0$a_$>Oln{sx~)j=A0&a5Vnz2QLGVI6Wc7I`|^8HeiDRv%EL{PW!owO066K|KSb* ze8jq4Zuq?OjpO#1ZF+;*01?ZlPuLKc>NSsLnh#9-ntQ(4W1+G4j%H8oz;~G;WEE&c z`&^8Yf3F;5|Lq+hd$;F0!Eid5V!=CBI^MgyIWfIhsoN0pCMsEzf4~m)M{qgp+ z+Z?KIk@n`^SkQ&g+>D<2qQ`CSn#KzdcY4h2?DqY5uxHXoow(x{M#p?%B_0lJ9z*KI z8wV-8Fd}(F8s%6cBfA}|y*)=Why#S=}f}xnxi)+*WCSRzO zcRgt;cTe3&pSKq6e-m}SyEy6h0@u0|-J%}8D|+}mYW9iP7-k75qwgnmcYPwDZ&;{6 z6Zcb zMhFn)0TolieWzHEQv z0R^4x)_y0j%~;HY6Xbnk3ol;`7t=QS=Ig}oxy`QOaP;^$10VwNu^C9NR{4iJ7~Ch( z{Qi$IM4D`1@N09S;z7ux9*S=+e?B?nXyQ#^rI z3BMoPzv70(jh~(bLuSKo+6A!DX_fDtU}yFWrR}gp=JHT?e{~^FSN{86*=cp9p*AulUW3<#GGxL(N0YL(N0YL(SVzfAeWtGbZ=^ zVA5~eS63G^{{BJwd(P=FdwTUoRGm!i{fpD9oS{y5a_z>Y19j5Jzrhv1pHyh)F0({< zih!&>FnTW%3*38GruEuP!bV%nb;jXxNA;6e3^}_yNXoc*sr@(BC4Z-37>?V~UJ8?; z!CbzhUG1Lieieswd=@p>e>0uXaV^Jt{K28)a*y-arybdtJ+0~N?r0}|XLr_Nv@2#i zT~ljZqlw1@i6rnnqi>;6|7g(GUfy%NAGOX;P8*jRdh|~l&4aI6$IZscm3DmA+|9bl zR@6k=h=r?ur{!1!=0cTZY9u?i{syaD&umqn9C7=0G~j@z?$B{%f5Yti2XGEgSlc6k zO~2pb*Qf`&To^ko?UZ*+!?ZbV_W4y{M`uAhvYa*s;LkMb-%me`4-tIX2|Quh)Sev# zXcc{~?d`sbdwU9)+i`B;7+vf(;>sVsI{JB|aW-}yPfp_akx$$1h}pj8GTZ2DLzfRz z<#ziZ=$Q=YyVU-Je>2DR`<@RQczKgn|FAKz;Ve%X=#CG6_mrD{f6}KCq(1nnZEEA> z=KZEQv~Ye6x%Q(o=h_kGbM3?&n0}(Ez1L{BuT4HfNo%p83jQcUiOh?B^&=7cZjMjT25K16xXHUm%lk^zlgMW26g&4H4~`DbT02AzYxp1pVtD6X za=j}=5ij9Vux}j`g_)Of1i@X^(2qSF<7szP|L810DOttQ9W!mRfXtB1C)42odq9N0 z`eozz>flm4Jpbx!ztK8AKhs{GUtJuxK*-Iy$?v{IiUsFv8qJ!i(T^`palqB>lH2^@ z1?#|hh3`C<@qY=TlOGE%za!52l%u}-BlE*M(LHW4O>ms{+wWZgrgQ*RVtQbh7#X0* zYBRQaX}%t){L@nf!g&eMn`PNIxA?t~8H`ViKzYViGp+K|BcY^5i==S+(Zzo5@@6VF z{_#|_);cfRFBodY{xq~-NhjG5rD-Vo{RTSewNv9uKz|QBb&fZLWm!vN{vC|q2THZ3 z=c_V0&Wpa&rm)Js*74g%cwyTAmRlAmi7=5Qp!m)oK0S22RLPFcL=4$R?kXa3!km^Y zcZQjKa=`$3;*O~j_l9oQAw+Fop(Hq9H`4MZ)qQr}VZvU4;<^aslK9BfAAfYpMs|E~ zQ3nB@1Ap?aB~A3B@JBDA#p$Sb{_vT&6Q-W_rGK0k!n3Ff!ay2$Q)v2%nyf@r`TUAA z*XUcAmO-+N%=GI=@ufX2zO)yAcEl{S5lgy(WJ~%3v@DNvq1`KS$50kBW^MTWhG7H) zbBr;?U`VDTqb%$z%<2&}TdOxBAO3y#_u=1%e}5nT{qNeplj;6OrCuu4a{1)8{YJG= zE9<#@si3yZ=L@A=zM5PujVcO-0cw)dS}xEEsgJOtm{%%F>L=CY z8f(%=QSGCs_EDS>TJZ-JT^+Qd4q8u~V31Ni1zB!EtXPD(hId(uAC&bLDVW0bLDyp z)q1{O&B6a0$F*uHr{~K>wW2^Ois`lMjemSGpO-7*zBbFHTBVjN)Cy&#X-TJ@=|!b? z394a*w7XG7F|SOhrdFt&a#F5GzXMT4}5%U5gIrS_iD9O)7;-Ix{?=)uNuFbfs9VocpWN=YDEHOy$S~$ zD21+86lg^)ZILhQRbUpy6ltopa(@N5LPC5uk#xXb6jBJpH8ttn1K#Bd`Knq`OQDvp z0@W(js?v({fJjMxtGFV?w75cTgEDv*L?9%a3huL5hRD;3o|1$0qQQbTN3btLrpQh%wa)YS7S zpi4!VN>yTwQH6BY$|bqm2$AwBnpDbqrI0I2>kBKY5)r5)F3Q9?tSFLEq`OGs3;?sx zlRm12Y7GEgR=`?GvQs1#5wfbak^AX zwlv0Ry_PNjI5X^eI(XO(kblB5ZBj0%jJKK){Io__)=;e#XiXtsm&7U^Y9zrcuFzBP z0@KgQhZ6QEpR1%ab+cN)ZPn{3Dinbf)Fe?b`Ur?Zo-V0Yy^HYPEnxvY22z?((g`FT z4l`0cFHZ>Q;*Bz6p9=l;k+z;PqNg>NTz?(TaKsx{w0o(|@xWS1ihd5eX}B zxbu=kQm6x}fJpU-is?_FO#x7-vfxmw`WNO=DAiKp8 z2ZWB&%h2@fTzDghj z6|1ydQt1fR*UL4TzCyX4Ul)Cab5#Q2CSk2nxggUSJh8g8u3{}U58(Wumx6H%K=E;X+f@_DGy zbEzTsZKy$mG_9%S3KglQn1f1EQ^tN0<9XOd$IhqLln`Qx$`$ofBcm74(x1y$NR6(O ze!`l9G&(x<@qh6XsV0w*&ljilEIyIuqu1*-oKLbo zjMd-?EPqp4I$kqAR!LC2={4b4rKvT7mXdQ@#v0Nlq=5x8A3SgMX*GHc_f-CBLd^^- zovB8gH$vBH;uKV-)`ZwnoLVzB!wEH20YiNZ6DZCr{5tBVG_?lZ)`S+%G@pt}F~gby zR_(!+kH#StF>8B7aP*DZH_!I)QhS(;f1` z1b@zYy*egsjMu30N7xUQ;Sg7;6g{D4Tpq5Aa~i+eH|x!g2s;%?da;_aIM21EYO>Zf z6S*Tf0}E-gS`aZQ$cs|)F{ zIA=|T$mOe?&zL4DA}Q(Uv}T_DuT9*4dVkhoxw5qcN2^jC$DpLi=RxQzV`nv)Gm++L z%^P7d<`fQjv`Q_D6VK{AFdCOX>tm-}(9(iTrD|g{sS!x70ypXlQIaf9QFVf>G->sb zw4qPM!9sZ=er2$Z&>D4Tc=(EWO6ASiaVKY;g5%LCsHFQbt#@%^6MY%~`|#1Ybbs(k zl8tglpHIH1!1-zG5s5#+a2D~TyF97 zVZq2F%|of(^dp{08}=MWNB$jIwOx7=sNs2@!DR-Vdx)ooo~#CuO@so ziJHA>-yS|)_S3hTOZ_%|`t~2tH;78Vaj5@Re<}gHwg6JeT`l|l6bVRWiEk=@-ef~B zusDE0aDA<7T2_)HZThbpYO4Gx^BQaWIO=+);xe=g* zR7Jxnt9?6{H~rVKQ+ICKzLcnTg*&*)13llKWp;v2Ffim33kx?2vvD3p^H9~264ZLykGZx!=lWm@&L zG@;#ZN}t11}_fU42j7Q)|T7*hLzRC{eE8I-s6Np&*-Z8lgh*wti6O@RD_{fW2k{S=1M z+TKrrDAhjEwSdeB4wgZ1a?6ow$7>L6|7=xPJi?F`KDDY0NS}{tEU=o>ove(`7YHDlsT(Q8VA}&F{+sn3XfFSQLSV9 zDrg&l&us1l-b3AQZQW;b-4|NR8H)Ew7yRJ2<;PX;!qa2hcYoO+@QlD>?v#c0G;xemzo9Ff$UHLWxb}9zX-p!V%yykX_>I+xBgU4{f-z)EM z-oF>@It$pWU^k#57k5<5u3N|6u#hSN(%$1@E}&f66C% zf3TvUYXz|3E5R?ge)D@D;Xmj<+&Ka(41;%;L@hc`)MM}3f%s0JO152wfdzsw+T((|LT8PnTp7Ayp_*<55v0qFYlh@ zTGX2UN}=R0+Cy#li)}_hq-z=5e++|n%-VacnQy!H_wazLzqPVvD|cSmt|VsdFuMCM z?{~mf?rd46W8VFl_Zfw4y576~@}3*vJ!b5^zV$w9`gMtg?_m^cX8yf4xDy4=SNN^3 zrjNv7`AT1Ww|Mw!0_5Fa`Gx6S9;Xh#zi}C7ZGFRsi?8A0CzeI^RbKysf4=;6z5b=2 zwhtFSs29Ifd-jL*^@qv*@cR2-;Q#Pym9H|I4`AxU#fOUz7auM@Tzt6raPi^d`}smg zYu^tr{KM-HuRpy0@cP5+53fJG{_y%2@>)YY>J1(6d~-LR$CJ3e`mxW>S6@B;?5=nJ z0ldvlJloq{fBEB&PloUH!SByYG0u0s{62Z)AA-xTX;Oc<*5<2h#UGBn z`d*Lz13bPDmme-aTzHCPyE+k>lzrUmY{^QLp|B?EeKQYI5)ay^Pc$8#W(hzHXb3PgW zOxpqQm*Z+tb?tm#%)P-6;^yhf6o;jp9=~2yH)VEA~INBinPG z?%E2X!1P--f16LND0HpJ?A~@F-)hJ5sYMSEx@}YEPpvR?UHV3Qdnd4*uq_n-gnpgw z(EWPo+L7ma?bmJ34x^|~%krsBKjVi%e>DG}gM1PjCua|gBb=_nIC=TNI7x~!8CAs< zT@TM67`sJ2k1M?SV%r$bCq+)1%9tdJBE8`)XV8W!f8xch@j6{jjpL-Ey_BVs#E8eq zGF~R!_KUV~%&jMk{L+XgH}QO&Obq&D$sZZxy4W%vzgZ;3(s;f|=f>$YE@tsK$L+Ta zG;=l%iO1AMfUKTKE&*b+5DJ)_D2EI4rh} ze|_46lYCj^^s@uiEsn&dF(oOP(<)$f(j`_Y&ho1&p=Wt!Jf2@=#vx6|WXrJVP+<4a zLp*Y97xNyWp|-YxJpbXd$A>5QtO-&F+XZD%^KAdpP7%MxF*w>b&XO^<@+qAK+7G3X z@*yxT4;sIu7L2uAVOC=+k)4oevteKUwL~S6CjtvhLY5x*&+$LDUTJ zpZzkKC7E%u^MH=#-1vN3&K4dT>h9{+n9;5t(GD+Xv=OQ$?#>6#42|dG%7MaIUwDqQWmg+2@6e(@Cx0vUXYM#Fx z?8YS+KS`(_os_je;sxzZe|nuS;;N*x zPFG33$Z5x>WqYa?Id*AEZ*$+Gf(C)l6?r-tq;mp8w8`Zcx0F0EhF7#<`0Tkn?cP22 z{R;l4A)i@3e~k6r!K%c#Ntf{qLYby$oGg~4o#OEl$}BI+HJf!x3XqoV zI-Sf(Ad!Set4f0~*y|*{n({AW(aLWd&yodwm?Y4xac?&+vSmKMUu!O`qir{PZkyzy z*WYmSWU*yArrnPEw?2uBcs!+DRY10%kZgZO`@cwxr`sgfW}|}ke_A_;lJ#sixO#;e z8ChO0;a0Z@dS8+@)kJd;OS`zDl?cIBRaNpi@cr~m){RePKSMQdPvsj3%76 zrJT_{dhlCp%M1GLe{zx0?q_Mk4{Fl{-$H5x_q_Ytp&k8|fBIh_Y}Cx;pT3B%XSBbv>$oTfASJ>%r*1LNuI7?*TGN2yu@mm7~KSEL+=(=+2Kod@HDWFoWk z*0Y3R2?<2wIH+c%WiE_evNdQ94~?g@8HomUoIT?_Ss0f0f5?iwdp;d$&o&1_1-Ygh zJ*3A|->^Jd0N3r5zGn<+eJppY53PTY9erQBG5EK8#^6shw=9y&&XoIQG^evf*mj@N zBF3W0+NznOnKl1VbJt@63N2A0T@kXev@2J;3glHJzZY8alcCqWN1LFtaE{%`YE7DN z924Aix(^0Ef89iXzyrjmhP8dCPWY*^U`ZkzR|^s$%h))L$JZ=BQprKBgl0kKvTDpSn=b>}Da(LB3J z*WYpFUemko_4xSd{_t#X{jJmtV9fD|@Kt|uNpkDH78 z-S5`yk+OkE&&;dVq44Ehx7!__>^^?+blv@UJ`%!}@0^XFzVm@UJ3V{;%-DN;`ut+u zH1Li4GjX5bH`!RWX*>7pANc|*Y_RwA;ETPp=bwMEd+_}D@$T?=_vw?zXU~s~f$@wb z2%VSXf0UGS!MK_1k8})E@!))KhoB1$3ix4QT;y+_kqV)2Jw2#@;M;p-V&2j>2)B=t zj0}yOAPkv3WD9gy=05jRFzPmsbU=-^L8N~6kEYAzqTGJ?@b&B0TQQrmN_XdHje{Hu^oWe8*rhd!pd!5$kp`to2O(%MwNRH`&tp|$UnEvWNP~^z; zGWdFiK}%@@RO2^Y{g%(a;w|Ts_~D{RBLATx2Yyc0kA>MGOXKU9aO$6lTA?|IWX ze-GQ8Mw_nLf1!T&!{+YG{0%9?t$8-vnx|8~^Y|(qjMDi-!krHZ_ZQ>o!}!~iQTgkq z|jlc4zn>$W$oC#)V_iX;ikNtFhnQx6RXWuRfCr|!~ z$=HsZ*cuO_$eRpY^D-X9<0u;V;pEb?f0L0viIUzS|3wZ0|3ZP}*N*T0&U@jzZ!FVg z*8;aHTK@YLSf}0W$6Aj#tlTUqo7-jS{JQ+8b9eXM+#lB;{D})MvU`8~sCRvJzDSbs zbqqh+$<_lyT%OV8ev)Lyvn>W+dkNV&S7c!xZW;IB5FmT9b}X@}y4yJEcBf=Bf0avi zJZ2?K|6;56v%hTTu?ZG!*ZTSwfKBcj^cIY-g@JZ+drWbb6 z0@L(tw*~y4T2=smiHI(c$n&H2e@8>#H#@W9lQ8h2z;}O9?)Hi8(|B4|*H3NFA!D{R zcRsc00>O;lh<|o3zDaJ4v(LAU7meov0(S!An^4*^p})km)t3fY{?&Yv6y*|rZ2B`C z`rG(3y%`(hB3<%HxK8Rw#OrA~o*K*Cm?qf*{{@;)*k2?3LIhRmwna7jf3`84s{>{1 zr1_Z6lW^U5>@p@rI)1J+LKy}g}Ne-bAL^wvJU&Yn64E{aDHdmOFM>3qw7_1W$9s~9n%2L!L< ztBM}$f$@^iDST@5@&yB}V=?-a@ z&GXmB#bZR5jATw4{1!u5#LMaH_|`!DMR~0-B{VxQM;FWZTDkpef7e~@cE*?+#}`3$ z_?Nm_bhg+n!{dw)fuR?VA|GB!&kP1u>+1hgFOp(Jh6E4cEFPt=XrVCfgf>HRiy#1v zmnL>6PBQw`0Rk-*4TK)zj6Zf3!$EKC(wOLZ3Nk|~Kz2g@saje*Xf;p2TO~%b-7k}P z*@Tz6wY%ALEVf{6e;DU{bL`lxc7!3a6!G#o)}Zwz{-%Sxx|%NO0gq`QFVciI&Kdiq zX}gK6^kTDB=bE?^R{II1?hkStkQxf4WGxa|&;k5psf1K9e`FI{1hqOx{(`g{%1RMF3fWTYhgpTTGq_s1~3~_doBRcUUUJ_b} z$LXXrMtQ}-+Ra-}DSG3w$Y=E~#Yv`ZWMTl7e?lf)*rrhlltero;cQuUA@-dfANh`o?kc4j?Vd^rT1wD`9I$JI~>by zU)!yPOMf^0?(c0v9KCLvrELDL?{(kx+h!vA=eyTGcHykOi{17<`|*p&UH_2shOIB_ zCoU|@U;B5*48@?V?zP|D(=xjOy1tkM%V{6S-S7zC!)tv#nv}nvvIb$~x~4s_?LqVW zf4@8m!htymO=sYfnr|oeSK#l~!1XOs{chw9+O~3L=sA8Ac<$%#bN`Rt@!y{`{m`N5 zblSdkYj5*Y^f-<~vX^GKbuiS==##7^BiynF=2v-=`r8CDBQJCVXJD`Yfa|*SufXeW z-wxQsn}g7HO@H9M=YZe;zxpbE=Qv$1e;c2lPewYfzg4QZ78&yk1|GkT@O8{VHzZf{a1 zR*Ex~2Xwwj#)RsZDH2J5Lz%N9jqBXTv!r%hFxERrU}zu!cS*m`5wX&^w^-0Pe>@M5 z)_k}AB{DGxvDa=5q;%9zJADx&V;jFeRQ}L&f*IvC!3Q-p0o`mbzDXxEH~ItZSBUT7 zVV)5NB}IGB^68P()I1sTw@My&Jil#z?`KcqV$8aDcZ;l{YDu7oYzg>iU(x~~`|mMc zlUlt(Zui`{VE1iNk-k0LLPE)Sf0}b5=F2VQ-es?2(%eT|FsXoo_UP4KMMxEX-t*UZ zMEufuLKYhR^$EQ`N{ezl#oE{7o#1xQ)Oay@!`cKutTR>)t_6Xloc=|Vcav~p&w#Ug z(i#=1%uRYudT#iI)oA}amjA%8BefAiwGqyj`S?0ZZkxUKRNTS17pfV2e_&uKy(oM@ zkSMSQ^e-DZil^tsX*J4_R5QQY`r+To?pN5#)p=SG9wdZETZKLQae5Wg?Xy`zpub&% zI=vQou54S(jfF^qu2TrhM+6Fs{0(Xck}bODZI-KKjVAz@w6XJfhPUb;-yY7>%s3+K zUp(S1l_U$}obSua65$x-fAeIKyiLhoIVS)?_D5V~-&j6Xmc-rwr(e4s=IiIhjj$?Q4-)XryQvL36AguRR}(^H(%i5Zi*pv?R_k}snz#yziF+5Bor4^A(y$yWdV*|ot}*tP!}*=Mh+d5n8)(Vj~m7>CJxe-3v8*6b)H^AQG0 zmC*!~%pH;OLGyc*z}_K|eU?vd@@&G3i`~5{Q#gzKl2b>j5-IXXt}M6N`k19;^Nrw3 zS|f|xcHaAPtvF3f0>Nxno|CX@9^y!eR2l_IbbchOd8D-WNNM*-b-pM4qEk$Izi6C~ zQ_T7I&*C~?VR3)ae~#YvDGIHYh&Al1yPNb;nJiCsF#Vg%N)D;ZkfplA|73?$D!aeP z{yj*uI2-KIJjLv=JDTTN##ZtU!GL5^w%cnz&nNJ2{5oSl#V5X1&t{uconLW?Xonqp zv=$;Q8wkN^_teRFzldKC=%+K|@uV7S6ZZ=r-@ie3zlB~uf8J814hiqn15)CQ98Si& zgfFJI3@T3OAxiZsuP`Zi$-WibVNbtMTl|u7Q?t$SbVn5#^5wUbCsQS$$8^L-X|BfJ zful9rWWUI(Mf2=0j>(`*ZkyjaOBZzfm(6cE^^s~5!!wkVv{}>Q5DnqLL!K}1pXTnr zVZTTb4r>6=f8Mu-#rPJ|=bjZs0pp)~AF4tku2oqbG?@_m;swZ1 zhsP_hOIs_wn$uK%rhZ?3_OP4I;ieykgJnuzggwotbwQ&W7wL#TzIJY}Gcq10MpF4L@mpaIJ?IQE)cx5K+7e|*N=DM?PtFgG=Nd4{ zcj(hemRE0RJJn~&<`JszwvW%5bUfMdh_>&xaeh0etz4#WX^X*i*~!vHc}pOiorH)s-!-L=6L9iTB*VX}n)Z#&S*ZrsMc-SBmX;LC_U+TVdpyqQ0AM zWICIElHQBNHyz8>FFjko?0(ep{LmC{+FgY=f8W>AhGIF|m8)HO+LbH}_bq?@!_t-S z*FQC2PT1w7;mU5WzAy!JU)pGAx(@WW94dg~kSeTydDT>Fj_*?~M9G|ys_IU-^szE*!w+Z$eFZki(6 zDcbUg{7A<$<@WPEQ|?>O>;fA@$6YrgfB2ZyWhkybN)X8L1#TFH@-lL@{padiS`tIJ zT~;ZbMKd(zDg+zFA<0x*%xGwvV!U3Ujo0-9d5ZPz5@-wWbXPnDj!aLbO`)A5r(?9R zZEed~p5=?oS=$ze%<>#3kgMoK@=9n2#Dl~Yi7jzY*YxBu4#e*{kt4Ta*rmDhe>8fU znDR9Fs)>7A8aWxR=dIhd^u5TH&k{%hgL`T`AfEOUVuF>pmnsF9@?d+u6f$<;X%f~8 z#G9V!>N~#Gmh|XiI`FXFKwOhPx^~C0ToLltal=q-8&U<@l`FYU2)=037zs)3_`V|t zaMMo&IydBqzv?p%^mVE&o$q{;XD3y^XaDfxJa-nF0o7$D7UCI3w`udY}7{To@ zsd{U@?o;nch-AsNUiqZlzoDneI+6gVK}1QY z=eiQU$YNI(w&Ev3skU+DXjdARvE-)keN(&A?&4~4NbFd-nHU)8z%JCU1WX{EpdCEA z47AHupV0zq$kGk8!)>~q-1FK!g4g1?Jh_}sWQO|v#CsrI5_>SRH0UG>mkEEGj+~ZI zev|~BZ|j$yeknGM8HA3hf4v)6;%96}6Qz;17Lm3wBMoXvS>j1E!|^ogs8D=y1$jmC zxg+0|dfhj@O<$96)YpxVNPFry&=*l*W-(fkM(zn-?co|16$kX{#NDn-(py zGy^L_9iFD)#MnJ)COM+y1G~nSJCtlKTYFE+MoTKOz?J|%^dxEse|=ATZfP{qm0W2{ zGj&2!LmS%e2~DXpd|v`F*U|tcU2cM+VW?q0&k>k{kdP~=#%L>>UD{E9&)9M=OLPTr z*U1i&s;-0{!rD=4(ve!kk2GNFYM-S`ZH{$hYDwUv=?8}Z?)t;k8?xGCnii)+B=v>u zYb)8?tMc%Lz67HLe{tmGg|@CB(!Hd^TiU~#8z>USp6$@Fe~q*U(3YkPD8tX)Hy36iJVAW%Gvfzxhr(6tw9r9>5^49mc_FO*}-PD)K`(^ zYre_QmF8jJxg-y-saZ}=r#|ks102G-5k*Yn0k!f5DwZUdVU};_w3tx?*}A>&Ql&ZU+xszs)2Udb4Q8oK+;Xq@}3S! zg#WKItMNKq^IS@EnAV2D!Gop=Hb2xCNqRd%Pr}_m3pUu&D{qA{CSo!st8cXuxtCgq^c@b<#BXBwZ4o?`x<$5QxqWJ1?Yi1KQmt)LdbRLTW##M=PRD zzPvEf4yCS;bakkod(BsOuVm6OQahsVt;61EwZ9CYb6Y%DecL_ ze~&9oQtMvsNQb3?=39(39WNaVbXFYQs~Yqqtp-db{t6|=SaHor$b)!LzNYdbSCgBOE`S_qXL+_XwzP($El;;=_1Lt8 zYL=}Ih8L;4{m8VO{(F*lRA`kh4dimSqG6OcI?15^-Fntx;;`qs;|Ad>7?~RP-F&T z+Jx35$*ONqU3O~kS^9Hoksqmn^vG%-J4cp=ovig66z@oZW15=bruj=FO9QBuzyz)x z$_xED^k38G*;x-773S8%rdn_^f3h{RK@Z>P=DzNo^zJJ-6QqG!$O zOQ_}l$VfS^HX(dhv(m^&l>w4oW}YJ<8fhtUih4h;uXG?GS=7s@lB*)ceJ_D1(ERsw zPYs6Y3R_Q$((`9^f8iUh-*t$7h0=T{FePNK?Rrw$l4UFBCD6QZmL`aLDTh4%t6-^2BNK@ zpPtTlWHcUW9qS!c?6uJBtSGYe+h`(OOWkyA&3yALS9jIA`kR}9qc085$kETa?)=lz zpPW#ORNzM4ar!F2ju6VmsBomY#$3Pmi=s3@+nMw|-N!9=O4vma>)ZJHrIvJ{IdE}s zHk?{rusUJTf4kIHGSuR@maT_%d(uuXEeYhF2wV*m2fYklJ=2yhrNb@|ame~o&V#L2 zMd*9Rk$Az?B7Y)6r$#Ogw=X^Cda%A9kauk@7~pE3?WfRc-kDC{(XP-l2l^k}RMLR= zEbU5v&lNu)Q_`%?CCzWiXiX%Oa9m3oC4oLITH1+*e-y32m%b1$kPt+ahiKs$h5jVO z5;^zZ)bjBadI&V5U-Q6+8mOZ~CN02dLlV@=_Mr_fMYRUb0zLm&vw?y@Te04Wv-R|N z?M*xX?TB{Y1-}8D-Lete9!rJefk*3!4Sh2rh zkbK)ne{)vTrDhddoqIxylv=_1iWl}OY)XXjWX%k&)~AE10SO(hmqx69RM!PEYk^>< z7VXfDtscUc4ofF;b!Ve5C)l#}ePe53Tt~VCZAbHtI8r9zN=pbeby1*iczrWy@c_D% zIjEtQa^mTMBUiJCyU_YdLYiiKx|->y<>QC0e~`hp<7nyJ;-F#&+4_(+o!Y($;Oj8I zmuJ4wr5OZzVTg2b1X{6)uX*78K)N41E!7I{PO&o`Ex}j!p?X@*zwc@4!FSgWS8X;u zbSyW5r>%=8jT~G_Ngqfc=xViPeh(DOB+*F9^1k{Fv`pkcPxp1wui)!}?cW^rNxdb(R2 z{m7C(L7PK3DLECkd((Bzu(RzPJtKj1f|luJOJE#CGA&jY6Z#hKy(dGRPUo@ZNV*xx zXCs?KX06y-&1|_0NCjVf7jF! zY8@@);aH*gps(Linplp#Ua}%qtQ`Pbz;Mm+3Fn(8t9^Z;wJzz7Cw8{4SNrKADbT$| zQsa19EVHNm^mGy}MS`xn;rXG~+{FnsXnj|%kUpD1sJ*AjQD2`I;WslKN8||5r5kEn zX@gY9nR8veVpiHK{q%axLgYtgza0FwhA4v;7@8>LXVV$zW#$+ z6vWgFN-5fO02bQqj$BE03D!@Tqot|=mCM5&1X{_uui;7G*QAxNAtO=ye@W+Xv%uBF zp~&24ASO?`mN*<(L8p%cM~j?#dNrID)TT>Meo;$!iX>3b)Oz4rzPwn!W$~6RKPT(( zTn&_1S|z7`0_lKgfoL-lxAcUzwj(L`>9R{i<&R2_lpnd;O}Mhe@)3ifm~7Pv57jq0UC)XN_=3_NCUb@>e7REJ=A6%{Q)(v%mqhE;)=4-{@-7@1XPyDu22q2Tu=TMs{A$&0S z@3jIDn?QyM11bFinKO+cNloo*Wt^dgPw6zv@SYcGNxz;Y@?`^=f6;Q+s`c3>LPubc zAdnIx*k}RCD||4N-;%OD3Z(kbe1(y%OLJ2ilyvr_{PwlN7GJM)d+#f4QV?d9@9C-j zGBM4Hq={}t-o{VrzYxg0=(}u2WUh!$YK7Z2?XgW(X-_Xifds#y=5GBeToFze@A`?M zBf+*faw|Hj=Vb`Be?VhT#E6RdZ}wxbWV}i5lj%!L2C5G6QCIqF;fFPSY|wn@rMo>_SiK9<8c6LTGx!NAJWKNZWl+O?c;R#4oPm7+0GOve%^H zXlZ0rU;igpinpZ2HO-iao!TQTJfnvwHVb54Ad;UM#%#**i~+JR-mX1hnL> z1YMc}e@_}eLu85gu?>fcwi9Lf$epW4PvM!aei><(GL0KOm?U25B@}$c3T&O*7JaQl zzsnx{l=CeG;2^|GgYMq;Z6w*a-PcjE(@x>1^suz0+q3*BO|a>8RA8R~d|9pU_fwlJ zRkVI+uYJ?AMSQOJ>o!>|k<(84r#ABByWF@>e-Xd%x-c*OI=Ah%#nYQXD6f4cC+@C2 z`hT|@t>=;H-wIK>Mo7dG-w!SNLw8Mo@Vl&yPia3PS7GDxTeLSFN6em2yTtC?W`wLl zzdcg)bCG2V7Ymu8X2%@!Nr)O*tNXMS`A)~g^{IuX<7SspZV~M5TzfQ^q?An2(A;!9 zf5D}QhUd1|m0sg^X4qwm&|I4#8SLHK5WuuM>XBydoNh3#>vVAlx<5EX99PV}8Oh(L z$F(}LD;lk7bvY6A@yL%l!;o%Au)cG9(BpyR5JgzU6&h#QOJKc@5 z3F@{kEBjLg;l(+k*I`F^^QjeiG9*s-f3u^|6yHbR(=JG^hNsOo6CNh%R6r@MO&2@W~>!0mkL{ipkc;0irUw>Kcnx?~wX^|W0!eI1i6lQvdwPv8VbMjbKQr?hOKkLf-SR?8=tbkbG|0=arZW`BaxkN4U_WIWQ)Q)^t zM5<}};jRd}{tXoMM7iH6-TnncDf>;PZ=w8)IFaq7$ETl&i}MfB96=ad)VY(4!RzsYKt8y0 zG6IE2Cp!>}L9^Y(MQJPfepiu9$BOWIM=OA}^aD$5Tv}JNuHu3J)=^XlEEJlwMF#vuV~ z24ZeJ=B*R3GmPBMf9(z&M>5k9w|7BLV|H@`qpLg9`nI$J(1Htlgp`ljl`yfij{+g> zY1epiE^IOwx+-KwDk8iK1W$u;#lDGXS9bO!eK&Ai?U2z%l0Q$nI}m^#WVnvpwyxKa z{a|isDSdH>9a=20tvMk(5XXeJvDu+eT1Ws_iTQODiKP{fe?xaC7}p(gLX?pu)(Y~| zx1`K4k@VBe9%u?eA%gDBVl^$KdPWlIz(@%!+Tqy@gp9zIV64bLTaZo)nP;7C3*F&sc z>|Xk??MYZpe@o(ThT#M~B{H*ti%omOYSV7B&^kkGcAyDyIFK(P2#81>x?OTHKdo<> z5)BYk>Aci5kVw>zK~;)Q03nLaJNF3L^@7+NNP*;Ur&?_=R0~KBYr_+u%p~j45y#v@ zc|aFWi6HAesi{M|%jaXe*%5YgfPS$;-V#PKg@}Srf5JDzjewqZ2y}I~tzAfo?*0zC zQ#c(ka8N7aIGeYfZpVMhO>rVuf<_3P?tR*0wj*F#&lV+1oG_}G4kR9QVF4&V6S>+# zx0AZ;Y+;%Vj8LpjNMcUtm!5jF5i^T~?cF=Z{rN!dyV+TvBt(PI5~qv=TF`L=zzaiY zArwEaf1h%jRAFEX>ocIcN8;3wQ0x-ZF?)^~$Ws7gNX%{@dYCqi=^83w|fL5x2V+5qQRDtiwUkl|+SXT#+zj(G^(8AuPA??lpW zCm1O7q+ZIBeyu>_MwfOR7zKC-37zF!%vPg29( z>`#kKGG3+3qi50f9lD*kLZ*_GvxMsyreaqP%+Mxq1!(R$RY*RO3=y7emr!vagcOuO zC}FVg1h&wgWV&?;r4WgN)gAhe6t}d5J;)8=-GB5vv@GbJjs&77WE>%GtLv?XwZQ)g z&>hk9NMzyLzz&-v{wh!-0T@ZB07^PfLI>DmVzzryjIlx|qa71LjV?|TLF9<7=Yep~ z+w2ISgXu~?KCQJA2wZxn{YB@Pj%p-5*>E)reT2;tNOf*{j*vR03v*DYyU=$+Ie3>W z<$n(4p(l?o{D(Fh1)YXKNGcG%UXtMSutF{nwsNHN7BbBjM~A?UZ3a?*q5?)7T%;Na z|0!uW6bH4xPbz}8e)szz{O?kN`+)=G#(9w~PpXVF^aBfUHwInO$|pF-(#>yr@P^v* z;UekWL|nlVJDUtX#M8yY5=IqZV#QDYm46`ksye5I3Vb0)Xq(%fDYl*sjzA4NxnlA{ z_+aG0>v`xf_2pF#N;P* z)M!QoyonIx+GOA1?3kkZf7K&t6N-1lbPgQ9Z3QuQGN=PniZQH|zz5)klW}_+8?VbLi4axkYTJ4dDVSWo z%sPm`jMm|9GM#->$VAe3GhZ3vA`-rJQxZ3t(0N1sjd%5kLhb=a4^VSn&8Sr~-GgdvXt zV!K1V;O%rBA#8yZx`k!=AdJJFG1wQ?hz6p|W{gB9*7bZDU$RACGcqp%K?DepK#)iJ zB5g8#IvPfj<5AaM^b_EZK*qiTOFSG&JKK|v;vT>vq)X54ZGSqFYjn1T4?hXfF-{tW zv=3Zq2zn?R@17l%RZ`2*vdEdT5!;b5Rfyv*D~BF5Fgv@jm-(=2sj%~_2hIIWU=T-K zOL8&M>q$s<_5g^92N(*39b^)a6h}G;EISYxMcg_^M7B)$_Cf*VQ9dT1r-hZq#vH5s((M(PO?6Ew|`^dt!23*tp$NvOyjR&4Ef*HF6Zn?aSFCc^YXVC9Km_9h&lQVLYcHWSJAcol*{1u<9nuBb>O{y)w8Z8L zX`^>O3OnS0i#V62C8(|YZe@p7+Y7_Zd#{&j2#Ym}gbO1A!IQw=B%y8j^S~5cYGXfx z$qsR_WYQ{=8e<&wgspmZ0QTi16l~v6TbP7wnQLI zd4JyvwLG?dup5fh62iP6{Pq}@bPKJ!VODn?N(^O=hKa@v@(lORY%d>lHDIbqQ+6Se zjV4ar-7dktznDu3I_Cg*p=82Nf1~IUrQSHg&q9DS3}mdKm)%N=gFY@jipZiD4o^fR zrRijY08OkOrZecFK6&lJWxCNbV`Co&U4O+fh%sI15QPKO(U65LC8lj5<+C#k%_!^$ zC)OlNV7Bhq8-efZhMtxuvI@&gARlp5NH3G}?|f)%fXl@&?NDqby+mPk>#YP{^v5Oi zk7`nZQ;?q}%Tt)KwKErJF}v0_K-^v+VTBg#Ud_|)C-nztC?qD+M;i!D`N7k*DSvX0 z-*dx2#438305rMC)DUtf3`B2QSUV(A1&$ygBiei+Iv-ks{Wn6lG^y=ENsJGFt1BTk zL@voKvC{$Rgh&T7ts|xfnOuQ1+7UC9(feNRSwGjz2j`ZUj(%2t0CTNND}h)HOyMfi zwKZulIw`_C?VFM4dj}^0Qc{J3hJUQ!NE$ro?cj*nhF#p@CLObW657aW7v5r=MD1=M z5*3MhwAp0Fs^iI~*=u~BWd8`4sq!uf>k3_zL|P=NYN4J1+iaP{iM(f9hzS!kyIKqn zV)%{%5wiY79EIi6@A-Ouzj;pX!;A2CSZK%zE~O4veLTPURzHm(PXa~Zg{ zk;~OxL$3=}N|?i!xF!PcjtFIjG(B=->1k^{gbjIT3$js6FMOCXY=5s;6ZRvQbfN-Z z1a0~?RJ|H20<4ZLEJdU-6AqHf2L5}YyHQjobn^-*?&a(BHzUc*P|JMNYqTIUEa`z^ z!&u@r05@9$-C9D94}VR#>0GX<0V6CTb4but%F^Tj@;Ze3&qXDbz$Wx#L08PuPb#4g zi?(FQ4>o1(B|!&Iq<;9F6I&St8{(+;aux_j(Lr@Kdq_+RB@Y{u%;}U^uEe;Ig5uz6>8qcBMcWb}u2&wn zn(b-08o30V+@wE(ohs3IkR(~*vl!J#eOIC1`y(3Vc ziK1o!n#uZzWXR7B5RQ>K2Qa7va)~^Viwr?RxJ}4qkPkb;B8lK~>0GUla)OG5E5<$f zc|v`@EjE4#HdEW*wD>lBnKHkKj-@3l08w!t$qZTqGzHA01@>(j5a|g9+A5X|C%;Qj ztdxyGCkr{v1%EFRQ1o)w`l;xIeu7W{(Ev2N0#$>BvI{dH!N>A79gn1nZvF_T(S*r# zF4L8%^Q4E#9@o&7HXhU$nZkLZ3KygaNb~Po*2ej;;fLRx9|l2(Y)5ha=(GtZn#r7) z-F_w|Z_53`X|bZRyN@IK-VwyRL$N>lpQp`=NJghudw<>Cffs$fOau$%{1HkKxB{G}mKJ(ICXDc*`d}0h_?U2) zRJ=$dwgcgVHL-i78`AHNw4vy${3*^b;l4l0y7#tM~PB5(!SJ&tDgk>w_ElZ}4!wlvB~(~0dK zxk!837`w1xImzXOJQr1}Hpm!dIUo|$WPw;etD9hBAlzr@9&Sl>fl!ZdC=p1Z{VH%2 z`>$MS2NR0x#HRz<77BGjTO||)+jih%_iGs=j(;qN0Q-n=$I;Jukt1sDu^lZ(;7Cwa zNy67~A?PJPPDYAA=Pphx&Jr5J+Na*S~wyZBTeXRawZAVs7 z*@W8d`%yQpcVsJuCPun3dl6FD_eJ;}{(mQ1rWK>SLYN~Cyx=l2hQ1ZzxotR}z0KCT z;=b8rF|5>7t%NB0%is{|l*0+>j7y3PHO2HFS!{+&xpq{COge!#*g4ag&ehDc^LQK}wBX}w>OJIVeU*r*y zac)I&cy}umy_5@&>)J8|6~X+MaeoNSKHbVAKRRh2Kve12g?@iqtpY+GV0SCSRjHdklJ^bo=t z^827zHO0C{pG@1Mzh?W)av@BQmxf}W-Ly@N5f-^uLpBQi7 zl3l%q=gySxJ2EjJv?ek(-ir{_E@P1;LW}K+a}cOJvhI0pM-S!nxPLId;`Qo$fjCPh z%Y&IyTBbS`3K!%GN(c*S69NmaP^YYF87l~cC-GgL0##@z_H&Pl1({-k+wqVLIoh^L#9`R4BD{{>&Kln^_C7FI<%grw8zMf-Z8L`dr(k{lIC z<`aG#!lQxkE8B3(1>!VD0eTB}yALFBmWYq_rmrt85C%1c-xM5&mZ%waxJpM*Ohta+ z$ma#4VW2rqe2FqR>g??lAZJ-Q(ux&*~oqG z;)kCEpos_t=)ui}8~9yHJS6EYDn=ZO{aT_v-Ng3nz8|7Znp|E|r?TMe9T50k*G#LY zg->DmJHn5IK5!y)2rN+|&k9z(DW-Sjc|hH8~Si8)(D7M%xqB0-<7Y(Vo*Mp*Z}HgXmP=8s_F`kRF{f~}4z z{8%WokQwS)2|V*9*mk%X4D@4sE62kHg~MiP*OQJQXK%uXUno4PCe7gNqDUyB?>N=edY$Kh`s(HSgCPlos-7D5jem3c z&4QlPi02bEf&5&FQ6yJYMw6``xj*5~&^1Q4#2RnY8cBR({CGkWv!e3Flgbe?Bw_`FV`aad)KLg!v^ ze;d>Q1HT^k$3M9{O{)17#{ETQ41Z~O^oO~zdrqrU#8vs$IC@F@@Rl~#F>S~vNqUvc zM{zYXX#E~fUek^%jWe2`m+>1c!X73qpTCW>VLjkb<4-H zTaFzL9Cyojyr@Qa*E62wH-^>B$VY$lF&%)?pb6M1;+qu5@MU^UhxG7(UKQ!pbV(0z zKHR1sD3WAA&!5ckP;oZ+ZWYg$=`!XmP%evVjD_m2qYYdn>44D0!HW;{K@4ld{sXi?|`2Qq@3qsnk!)AE@>dSb^d+>Azn~a1>PLfI6C1t%$APwa3 zW_TzXSUJO%8P1I1IG)h$Y3i4?%r^0Bk8J0jZ=5a-8z;iF2GJurh@?-{@uELP14~;E z%YO(5_JGj5eJ?WagEb=@krodU8Zj@bJm$?v^>CPbMT4$Yz_2!d8F%D_^A9EPe~+dPIjM zGrpiRlw8vZdVjJ_irE;)MRHkX#wfYW>5M}(k=!K>e`SzVyu@7aQ|IGlk>tyCk{C;R zN@&z=BR1yAYhyzDXn=opsw2m7qA}AEIY<|a{F=^x8uM^m3}=AFvqJ1KG8=xxwbw`g z_W5{Pl>jeKan8l*U|2)TLi&QFPzvdm#kT~zSar~uqJN`I@{AOgQKnZUiLq|wE!}HY zgPnAS|1PGtB^{!rS^~>BjOUMlOd)N_G#Ert?~uIO8ja#byx0PX#g^%Bk@eplbrVA| z+I9P1@1)nXYhuOKIsOf>C$4%dyD4VdSH8`Kc}~oB7bw+u83n~$xV`# z+q_VX@GBBpC0e36{SjJ|XCZE;3ZH0ifbDb+G=H5=THty@TdJ8D#(}qw!e|hg_pAZw z9}>$0XJuwym802c3!mRIoh>trno0O8hdB@oL4(sGryW)pdyfHUt4k7R1o5{G8rVT^ zSOZed^-wba@_VFLY{RS{3xqbP>NgrIQM>p`SkpO?@9PbQrT#s$}w9C%i6raMnV-wH@@A)qjQ#q6P2&y?4yE=?KwCllFEEbf8(f$+H`lL-p=) z*X$mfXY8*1Wp7p(G>s%ZAAz3Y9w9B8=1iI%{I1cQwU7Qed2X)a*Resc{R_fPvwWEw zBvzl!^XfJ+j<%I@Torr{=49N{gImTEQqW60Tscm+)TX8VOd`TEN%BSfOn;}Ob(iA3 zW?fH*qXd2j@oW_>bk48R<&ypk?0p`m^o;bp=a3CCWX6-~RZ3EWw(6Lop5@ zOzI&WV4$=3x}q?LS(_Pt+1Q19~|?2I;`;Rx@C!Z~f2!(fs+8Pv;j(;FQfKfw!ZN|I1Df zuiG4J#ElC}gTzg=?SEi0t;W**_}4C z{;fN4#qjcUTlc1<<3Z0$qdS^vk4>3mi8Aj9u#)(lv+Jf>kO)tjf#yZI-d}@|J|7py zf^>6Tci^{h__v(E6v>iHg>}egHE5l7aGU2O-aacCz{52*N!W!4l#A2JhoGb_{+9N4 z!M;2Iz62oVb$?2BWBqv=3CX<2gb`?M ze8;p~_KPH$k7#0+?55nSX!D(a4t)go$Xny^ym9ccfj(m(~0VX!eQ+g*`=Yzu!{yW{m8iW`9`?Ql33;opd3T>RE2`)~-G+ zZ^zSop*imv;z47;2V}Z~7W9Ag&)?9@(5x(zIUIz~N#@?9$?Ik#t@sJ)@0VG1lfS_U zOg3&H?~xr5KEO$_wyl8>SSUStXreKw8HNLV)HLnL8t|W5HFlKcv`U{TE1~h0Eb?V7 zSLrDTUVo3tT%M#0_D3i$%S~M7-GtY=esNo*ynth+Lxt}Wrq$bdlFkU-BpG2++Mu+E zyysonqqp2QVxYY4T+tkl^_pdPVQHhc?B^uhFTuJX2N4pC!h zkbiuh0D#DN(V|G;34O83uJfCiLvZm; za*Y=!q$x4r7ulHpa46A%dTNEWq|1#~Twkc#*+B=J%syC33OppmtZZ?PIR0CR5F})v zKVLvkc2KoeR-JE%3;^tAmoTs+eWRWgJb$!MI&0Ga@!_p72m|RSaM?=el+*73Y4DgG85U^?6ALy-J}qI!90B~W5qm%zv0?MV(K@NS)H#>@G$rvvu5tUYV&c6nqIngddR7VDs8_srr!#pA>9 zo|C$`KTLBauz=urK9u6W0#Zd zcTuR1vjY-ij9UoKomHe3p=L>ozkep|hLdqVU8EVuaGoQ;NHa=Qb(f_%b1(L002s zTJPBr9n0ixK1)X|OEkPPBZ-nOXpFPlBqJ$r(3H;e`QRX*T+#1*t2DCP*?(e6?`#Z< zsc4Y($TRO*w10z;G^N#3l@>Q%A(?D8|EO23F#2+uSH?>?mEfd2OaZfL$||wG zt{{EZH{FU zLl_C{*3Hbek*>%R=>>0Yct_rX?pUxiRoq4v;iWcFy|vNl@Ueefaes^mVErmD;e|U+ zp`|`gV`KL_G%-~fXV>%{8un*PvZzXW!YRzJdY;r=Tr`sd1akwA?NuzT?$w}{2GjHt z1fYulULwjy(qU1=1QG^&@#`$P?SxMYuiJ!=RZXyd_7u={TmYHCv%_f)u@Q4^ncT2D`QU1lKJbDtkU5QOSC0~%O0J#FLI<*oMNLD={Vv1h>IK^ z(bO1nehNwfPnY#@HQhJt-RMCh*B(g0Rs+FQfv8PWwN6QUaAS}; ze=mZ|#q-g~C5-@Mh#^RRo zbgOS?l5A1W*ME0ckWrY-v3GjXs0}<5S`zo(?ha4w>|47RTAR@3qvFD0(Ta|L9InG; z!YlLiHGtj`ytmg?1Mi-}Q*#YW!WU{e58<7m?emPjJcFC}qW<7jMOHs<@w|TH8D3WW z@<^^YElP|PryH$V>&DDs<-$UzKyYvwBb>l;nZ9RbBR@&yCeV(c=UCFvN!gQ3S)}5c69!4DO>dEj^a}pg&Yz%7 zhQ;AjGK)O26a!}vwqEW(z6VPSyX7&-%fpzK)!0SqRH6M4fLYl)ptoer!^d(3XUAon zkqLim#G^S0LoAL=HPA8y5kR~npMVWp&L;@rDt~t@3s_rNwwC$u)fhovdtf5VvpwX0 z`aGU8dN@F24oP4n>d({pTWom34VpnKTqcQC?zXutm06nN`Yf*&&CS1+x5TvyvXPlIj{hk@3f>02=)?u1N-D0 zaDQn6Gl4%6Giph7dmWOhUcC+hCB^L$gSj26v%AT4l%-emd>l7fKJ0Dn^a^_xZ;d)J zMPMa%9oG9&o#1+F@J;A!r${nUlATU;Z5i(r>$kAO4t39i`2ufxtC@b+5h;1XD|8Bu z*r}Pri^0*%-7GFhk)H!I=2eLuak#VHOn*cl0+rivYqTCb1UAi1E|aVpC0fSc+9ze> z7N(*b;;;plKj`qu52%CeFR-z4js#RBqE2Jpb7Z6x#(qA9B;>z6u06Idn|}hL zHdV^lZLODNLN+oK*0i*5ZBxaPc0wt~xx?z#*i)!F7pGx-PwDdw;CO zQNQ^pR~|4nM~s)lyKGg3U!=7sQTLxQ%Akn3_{Y$qDHT85L0xSHko-T+l0Q01KDWQALA zn!)`>GTkP0=+CiOoNtPsPJibxwdyCCck%z`@we+g@sPwGp2P^tijCID+@yFN;ZX0mkOOR98hpSEX@6;;>to zZb8lxnp8lIZe`9%ukykG3j;~72#*P$4<#gV$9OE)kfTqxWicf+K7XqP44ykCNq;v$tNT%!iS zeGN6>fOlT0fi|Pz|9|=E5d@RoaFQGuzzV6-Vs{6 z{myeh>(b>ruCB^LtY4R=HT%jco^2eFL)zE(#*6^X5|JW8FMlYhsJAEnDpN!vEV&<| zM#1b)%EexjLXI|eW6Qs6_wK)VlHAfgKO5?Z3`uAl^)(jNY$5dmpO?M@-PR*NP4c2P zV_T$zXo!c(Z$T2jK2;40@D&O$yXg2wzio#M7P1MCV4WB7{8i4D8Huhs)Y}g*uc-#n zTzriXP=g?|hJVyh5tG_^TouN%q#{h&k3zTJC(FXNvjcAswz%-moWP&)>Gz&z!PC81P~(zFTFd9@s4ld!(pazpkbkdt=_SIHld+t2S+$Q+tQB ztpk1*2mAs*8U*&8wJG3PbuJre`;Xn7*|JXnx=h*OL@(!)*w}g57UEnNX*oqD&XGug zc|y;KAb%bEEo457NP^kzhRnghq*TaFOhsePZm%p-X{Zz{_U9m%xkXxaJwvyg?KZz{ z()=2CEW`)hqqwaNVcu?JnXyI=fdiu-xl{JXAK%by8hg7a#vs%W}nCCpnF4H+l_kw<}giV)h0{p6`%jR@tAH{}kMe?@}%G-*Ii;z>BE#D55Npr%U z@ZPi~uT$E^-L$P_K#8WzR&DsyuK8N~T?9)sp0VM$oIy&lw_>ls1(%V%lx= zZ_TAHT*=}=2@fBfadJ`PY{>1S_*GuUagiFwPazFxT{G6c1jKGwDI+|&6OXUCM*m`) z76r;BXUw(p?+IxOedM#eHLS+mxcRb|)?&Y&45srY+T#IDZjm z)CQ4W(MkWn@DE&j5QMISY4W!g%lv0-(hF~XbRLg5;`SsZbD3nxv&YD^o=gz4 z-s3`@^WRS5DQ7|MB*hgcK^;DkzTekm%hRt^FlWgs8PS}!Hh&0A{DPEo zPV-7fvZmsIV@i#_A1*`Q=+hU2bdHyJ+Gz{TOHn z&Xp9-qi8z{2A1hdx0@S0Jl#J%**Xt>lrI~}Zk{ppq1nM#+vJ@MiVyh+$t*S2KnIZ_ z&_pS^SQ8vQ~1aYfRJ3@83cC)okBM- z15?YF|M-`mL%(7Dl7H0r4p{=rC5Q@6UK)o5mY3tXJ24i|a#g>P#Ijfj+E_!oz9~qtJ0p;~uI)kZc5C)qhp6A63)2@!1~2T?k#O zDJnqm@)^w%fo|lmFL~>~OxSv^v(yVna@0jE6)-=bopa5H;zgdlH4aWOpILr2HQ13h z%HJf*Cam30;TiPvPw1lg{F2PGB>+IH@Jcw_mn%}d zE=V(*N%$jAvVSBkr(9=sxO*1~442+FLqW*6^NW#|P7p|5Oqru&O$AF+(c6tkRp72I z@!5C`6lICSURc+1M9BL`19VF?+GTE!0_Nf2{)SYa9(qvOa_qO^SByB? z)oGxGe)^OI>;^?xUI{z;>ZD>{E3l#h9Cxjsjocs$aeoCX0-WflGfPQkb1z6OZt?+( zy&H>t9G>4KW8{z>(@Yd^=^-KAtKzmyuJO0w{4I75>;QasmxJl->2Kx`w8M|hS z7s!4-st{X54r^X9bIkb?h5JvmTXCw;OhI*BFo@X#iNLvjNn_VV|UIFl`cuCE+bdbQD;`*!_xN!cp z_sB!|B|#86lF4S4Z#_I59t`nntA4kBoSx{ScQ^oVlYI`L6^ncB>SA$(N|#RB4ST={U(q zM1N!7k;s~)%vZQRpI{chB3UJEzZLJ5%9FlV-e1X-#tno?(j@JxggTi~MsK}M373`W zq_Ie8i;;!XhV2@}z9s;->0q0W+^*`;@y^NMJZ~2HUpg&PdccdPP092A&IWP5E~!FQ ziMK({lFt8pGQim=;yQG)OjXQn$#I86;eSF`5xJ&9+u?)?JH$zeK>gL8i$A~@(ZP8Nq*jZW2E58hXM=vh8-I}$ zoHhd%crLE|158^r%!S?TW-0Kr+t0FpWsAnEwd~`7V`V#V2)!HVC7k==lybWSDv*6 z7&>x0jSCR^ea?|&}kw6jc;`Exi~S|r?h?!#A$X}NW|055+4bf8yY zbmUV%Jlu?b`6Q*U8^a^LNI>!>9l^B^`{XeR%g^TVgm#N@2r3o?`VuDU*1? z3DL9@U?{Z=9N4RH7N8*FvDKxWwuLpQ6<=#xpctEDl^$oDdZ0h@dyX`?&VNwN;opnA z`;ln{{-7;I``PEydCnA4X<2i{d`3n-1B&V`TnuDv?z7Ayv-@Jjc zx?6u7GiX!eYfJt3OP926qR6OK19zL;APn^VXb_rr+uWAf%kcS4wLP-Uhy>z$iX^VM z6dPv6_UKYQH-%l5)$9Oi;UnwT|=ql z|B}93#P7<*hPmhYoz@Hnu6uWepR7hn!{;{~W**?445p`?2c;jd(oX7K!t>l5)ADhdsk za82AW+2uqFIGs%=N={Ga&!*TE>}=e*a-kOEzaV z9(D~M(~{ul$f(}#J%8}(HW&al&c`TYE$@Oed{kA+ljeyvxq>WYDC4;UnPF#Jf&0+% z0uv4O%pkID7j0;o=l(rwtgJJQrE|3~eNz(dD!;%ww>v#77aG{iXNz=4S&T~){m?|4 z29NLY$G12g-6I(noQ1c5VZE@U%Nm`&>6fWS7}Bj zn<|qgSZACd8Gov{svxKdU+&?^GNF<(ufUsFq_F`nEMgQ3WOKhsneF-sE845E>3y4x1)>q8WdDRg~sdsPQFkZ2dWilrnNIKsK)+J5vfezlxU zYqCqy)^^xR!~e&3D&vdqfU1Ok`pYjH*CDF&a^uUBCVwmA49>-h^Q`s|XgWRRIzD=Z zK+=9fMq8~bZ;-HdMjC_Q035tXgV7y5ydz&Wp1i*Cj zncUn)Jy06}{%;>uZ^6lo{JT?}3+$X-Z~zza{2F@q%evO7wY|@|FoVptB^yMj(HL^R-jx44C%Xt7yib6$GumhM zGqtW3QI+~K&dMq7+%uuLx(6$#MC7W?u%Xz$&IAU{_38BNWN6SKFBd9ku%U$1Q6;1f zlYhaxjvyENk4W|BC8q;2qs&_}lbKe$NXBnLR(Ra!=h}3f7AO@U<*l+1Va^Wb7*W09 zbW&NIJytf?^ZfN3xTLk61XEf=x7<2yYQDR=Ervz51c;X%Yv8VKwDBnI$b~zetG|Cv zCg8+4Kd%elj-O#)%@)jz_aZL8TP1Ie$A7eJhY7?H>bMB3k#91cSe*9e=i` z#zp;{Fwz~bW{D5Gbi{w^1awweLX(HOUFB)rmcT^TmaMo5*7yjU8EV_As7$zcK46+y z&T0x>>3;jm&md9AVmk+KM+QT;;9%_m33l4hWz44Cd9tK+%s7L2ry5_wgN>}7=JoIl zbu%R$9rP5~%gaP?2x!^W>+`A`nSZV`^R98#bLwEeNMUCp`|mNM=~7YH*Or~@DtDMi zpt40xe`JT00im~LYMh+c^rT5oap;K;C|!+L06R;aqAg-jTB&6{cv8(L@MW%X(=w#v zS_H-tXo_I13BtI5dba6f&zf7y5uIN`7VWP6pDASUs#l=)it8V9{WpvTl@8@8ljk7-_Wu${*wGT2wzy2;MJl>GYt;D*ot7IdMi>YW_LT<#QJSO$X|Df8FAmvM!Z?pXJ(l{ho@OXZeWPeOkvYY2*|00Wv zlr%itO|Wjv#t2OFL{x~^Lur;;^<#SfVXd+gSSn7(9N8czXjS1KYx7xU!cM<{M9b_s zN^jB(uYWjdy!`d z;WI%^%1$go>BsqNRJ)`kC7WI##xsTR4{C;qixeK4?p|x}bC4qSrM{6UOV6)vRXFrf zM0jX`L;%nL%Z3Y<7s0veqN|*sDOLf1HaGmElZp)ZS2P_=t$)~FoXaYrVR4gWiiEK( zK+<3kiOd9o1YUx5yc?U+Ra?edJq!ZceL~Vp2)u%XHLTZq5}P;*?ZD0Mb(d4&J-=?& zptYfJ!iVE*vE0JPwxS=w8nWk0Hb-7?W>v;q8+FIB^Oqo+tTUX?s!5(LrrcugJV8Dq zVK%~!FOqo{Uw_7La9TPp$&N~_;j-?+2LM+_N!J3uBk77sTxpT3(z@=Wz9w!V~ zRRZ=c!&v|laAmu&>p=OdW@@P|uS;YjBwu?W(3Yqlfmuizwk<&^REsqbemZ}dGd=~*(R2`9p#grgMN7nm;=28ATr$zoML5o2Z z_@48Qxu}c_5UW&3keP8myUl>CW|`d$8*HZ1N>=hJRx*D`6bI&fm9OHCf`mTEQM<%( zut`GKLPf9;^r1=W&y7OcGadA(MFUbZG}>_9MSPv8?kd2ZDGL|?LI!Q3=kM5yQ#z*bN)FNbhJbNm>>jVuDPwgT zS;cj?gqn1du$6JGRoG8t-)c1x=t#l#=Y}NgWvI=zt>EF}s@yW8t+3srfAjgIZhcZz zX-#lP21L!-dyp16Gl4&y#rZWa=CH)F3{|rf+GT%iYLJl{)AIFW`--e7%UL`V2%`_K3B5eQ@kN<3=HWO-U%mRn z2lRi**XdQM@^y}r!9|f&OXCZYRL@t$znY{`)lLR1%G_9_BzE)cHX{(P2(4NW5A~0V z4cb>tM~eB%_f&Tg09ng^wPfv1}Q!gd}T)w7q9aNzZ6RlLTS1XD915w6s^&rZnhOK=kaoXGtH$+N!cahul^? zw`G-G#&GM_)S8UvboXS`bY@}#bl)FvN~7lO87-z;mg|YEQ7crfI@^u^=Z^AX$|ipX z>{2>Wc!?C3s^qG8-nZ3!a#bYEYIYc_j~sGM=A4@x$qt_^C_6d1j;Mz|5q+dhL0XB!k1;+# zD()$oSk|1x-OUzRRjT-7gTYs9zIbv2TBQk-dzUkqCg|2+WUx$_afv|NF8_bGEBWp1 zKwCJ-(VcX)|1F7FvX4y58W5zm2XFgr`r2*yzd3=gk=Cc=+?Hv|%oW33poJ`+8PCwM zv>Bhu&)^U$g0Cd1NX{g1AXLT3S=0dS`HyIcRZ&+Y$fyQu1V@NKf)|d|o zz^ D~C7T;)gG*@8?vh`m=v0KxcFIOUO=#b$0=9>ZN6gt#ZNkA1oJGwolTlE92#! zP7bxMNeGh{-lU-XfIBu(9Ti%3f0CU^Ty#G9XJ^(^8=8NvMIa<5uR9L}D8-j@&~d$o zG34N>9Hq>6vDOSSxfWSDY3 z+F8S{uH$Hgt5(z_bf7XjT0ad<1qnLNaU?CM(Ti-gC~8eY&n6eT3i8@63aUuYhe(BQ z!|MO=lXyHP^u$5hAp&A0`<>3o`kCa$31YQmd6Hb@q7!z}&6V`4rogUgC<`;D*#dv|Ns^+^^qiY?og~>jy(Ss;Ws@vXi*F9ia|5kR zh;kIkLWFTF7DMhA)YJ`7mUU5FZKrT;jcAs$xhtwFA~vi?j^cj~u=*RFP|?G9q$0A` zmhHFAl|TNmUD8g7#J@&k!(oqYXIt#AwIK|BX!kIF{!56SbDi`T}5;_k;GOKzxC3vp(s^wieUHmSu;Q zEqw;?#9@YT%`{0#y7FLpwqBZH#T6y zbw(J2<`iY(F$;|`Z;^e};3?c}4+7L&C7p;Oe~ z&6#_8zi)pVLqa~@e{yClZ)vlvnNH&>xlBP^JzC?+Fsz}~#p(D)gV$+Rrw7h)z}7;% z`VWYRsBTfaHS%i_n(c6pRaXmja1Y&pEDkRU2bMX&+x4P6dkKRlo|VSoa6Qpy!|z$g zVtICRX2!eNt<${F67dD74yr}nO_4q4DkpsQK?PLe84oIC(>=srFfO zGS=;)&W<4XjuOL(k>#)PvAhH{yEpu7H+@L|x^J)++Zao88JReC-4n^QHZ<-)+Y>Vo z{a}!PLpSVPoxlByDlxwE1!_T+0p4=mNVO|MBel+bKH$^4hNO0!PZH@%SmXawX{2j{ z2mya6vH=~f&b{?7pXAjDMES;$bGc|eudxEg?h~%o=e#`n=`VNs9=!fm)=9ij)HBa- z8gx)|d*iRmx>w(eWC`e{k?c4s%)!Ove%DX&BL;cj;aHRL`IAPmBU2K9?%WT**XKKYb!Z_%}Y>HLP`M^AW(6# z4XmNNFjU!l%9*m`e)CJ3d}dv{%{1WFLN=7viw}S=qe$u)R-(pHgWo&4nAFLZbuE80 z{VF?NHfF7HEr}65vI3{6(+W1_tc6>qy#=7ul>9aWbEC%F%?)3BMXJiy zyb;#tCA|W;UXYeY&L;N!She_NKg54D;Z2ucvfII&VENZ`%Rl$qW^%#$^JdWSI@tI15LHk!!@{&j$YH_9zA7x|MNpd_J4l# zuH;!Lk>xa=jjCmyy*~k$!kf^-!6VydfbKZ!l3_`4t-;3eAQTsC?qD|vsRYPU!e4XN{38y&L7xxl^4RUb;7iROXy!m47nnR2-c z48bjFPzt>v-J@xS{Yd$p$utp}&j0RCUU6TUJ#_9X=Ac{PRxB^Ds}bxP8mOK^{dry{ z+V3^!rCf1rNy9^=q}+4~JdhJ?-l!vpVT0X++s$C3mh|`x)$StXhwOjwn8n$lL3Ppo z7kNe)8hG{d%3ugKjbFV+Qme6Bw@M=!@bs){@%VzFeLbiXU6(U{|J)f) z{|=1Ebk2#l=g*L{4KsgnRPcXb-e^9}r(It=jUv3E;BO1~RS#){?5lb0@DWu&D_Nu} zc1r;SOyLhb7>ROTh+5H4Ac9>xMumVTuBS=qv!r2@}LAFcIh6^%7 zm&sdhcPq+8R+1{Zq07YHxHchr!>{T1pPrvR>-jgFNBGxv5ZQmOrzN6z-b1|euz5!> z;%Mv2KmPB2nIq1G{%oooVlsm>3&Ah&fp7p%p<4n2H1sdi*(@nAbMW!)XE6zQMIW^T z+Jo^mv#Fhrr>~QAiAG&KCx!BbqN60i&9o}v7G56xyV4HnL4I7HApst-FZVOebo({d5H!$lZVZ4#>mO3F?22Yn~#m5;|kA z3atp24DBG(y-D(Y*ya1KcO_!b=gKBM8^8@dtEZ~SSqk=NNOy)U)L^E1*w4E)CQPUw|eUH|n2lV+zw{>_W3SR`rfFqUz05gV6@yC+TGV3nKIZWu)_Sc|iw zA`_t?tvIP81v9b+ric=9zWN#sOHvmU{mM(D!2*9%rNf{ZH=f-A<4pbV|5H$&7>~JB zAm_>}fa@=Iv|h?2z?Ul1gwr@sTsDe}5yr^{uAPxDvm~BtM;MjAbudFc+gVbsrbt;< zE;F|w{50be_NuB7 zMeRugag%NU0CnZ%1FX|bDHQJGLhB>GL=!f8|PAbyu1^@0#QdzRje4X9YR2ppT zMBeD?adDethLo#RByTmn9M^;>*^E%}ET4ZX3|%{bx!wn^qw%69$A}2Gw)^CNHyn}V z<6L>6ig2~8wG?6^WPapJW~e#8j_2H<{i#rD+n|ru>O%BPEV0wx74CVjY6{;+kBlba z;R5G(o+P*Nb(O&EUI*AysFaiCT|lzJ$su}0VLSxTBGPc<1WWchr<>TupfeI#}&G6?17y1 zMx}B*EpyVn1;^K(^-c9PUEApa#k0#0aLqiD7Fx$X_?6by@NNu0spbtXH*c`GMXMjgd*J?=XTU5d9YZxk>yiLFBpH2V@SvSJtz%O3T;1)?+dyAe z^E&i;yC@UX@|dZ@L1?#yl|KUQLjQd&3fTG-c4<118*99H+(ZQTz~3~!E;)pJh&mWr z^HE+vFCQra2dF)+7e)|pujhY!kk+}NeT^3}Gj-Q&cS^WCQ2+HrH}zn%Kb4c+O-^cwUp<9i_~3*R&IFdW(1UmhfKki8|6sy7cD5P5pk$ z&z`Sl1gdyg-55_}nFjo78WZQex&Qn9 zD!!#%NsIGl3F$f+fb9d;Mx0$%Z#gzUm1T?DbzXZ+x;P%h6NI^#RdJ0NWQ(P|ozb6X z?9Lq}^Yn^yC^+wPOt)Sn1yZF@aL$5dpA0DyD=Ud_1fW>DGss5*V@uytC+vfbkM`n{ z`4^G72fIx5Cex})`!j#eUN;a$sOBiHN>@sir#8*+Dk9NIe7Xhd3~;AuV+JPd$mvwl zpXr`eog5q^XrR}a`xCtf$OShWIuiABa(oxs!>(%zwU)JJ+emI`J>j2e$op0cg=t>a z^=9KvleF+8ZCc<%j6U${=RUluCu4d z8JT2n>8$Icld;l`?vsYXXDr<(@0r7Zjy3I){iR95<_dF>s$@V^<;N&72Qgj!h<8xL zDaH$F>ULEwn18`~p(y5yoE|LBO6G^8?|}mFvf>Z4DP-$7*Hl7)quAxmfxFTfRC3PQ zK|G1W)+hdl4yu321hmMU{+*zk916PMv*T&IQX9LR-q~g^6xA9QQf;)NxwTDAot9nx zV-IcJ6ZYRF%=VfpU-wB`Ahl5iu+svLZWu`_iRnBh(UvgB>=`sydOeD{>m*k) z>1d*$wp`^`hyeXUXMHlAt7;1^C-fc1levPNG|}R;AB2>akN%hYc~KIsfWNLoR01Nk zz=?}CJG)6IynuGAepMh;28g>K7ZY?yhS&I@8jUznWQclz8W4koWFHC8x5mpI z#VU?I_P|qLtQG?@vlB;?>RdBcO%10keTihg0Uk&?6xH`g2@Qx;w4Nb{yM#zn1EngnXF|M z3N1X|0B4$u)gy0Ubtcq*Z=YaBY3v~L5}ETcZ}d|zo^W9{;mb+W5@;u0zJjwFrK6ZO zWaNKpwDP+Z!3~)8kq zTZFmnj-BcMc$Q9o4>9)f{}?oWOrdCOBcJIYH0HLq*e?E^;n=IIrd-fOs^Y zk>1(59Rg>-Z%p{_jbDMR76+EJ!H$o_c}57yLJc>j#W#nXJ9TWMz3qO5@bVj z!qX{uw$#sV#)L92sgozF`ia{?D0auJF+$dtU$FIPxV0tXg~1@|qDn9Mq#6fjk`#Y? zUDbDgcPRRxh79}JKsDx)iLOnNzZO&BT0$6y`p7pSK2=NSIPi}}D5mo_Cau~8eYNlz z_F6m8KY5(opy@YvO-Rc*$%3+`I!Wenm2pcG&i7@P;c-F=swnuVoS;x5Wu$SKOf%z2 zzj99QvrW8jH)z6_WFy&60;{`7uT+0y%Q^?TiA*?cvvC~t9Y{q&@@p$Y*(+RpW+0g|nq6DcO6~ znk=gKo9ec1X$zr-`RyF}60?*H1cVw&5&UWgp$tW*W}=VmZWur0i8r^qs`IaE##hA5 zi%2)?ax1$kuvANpn&z(?yu*LNT)4n#fVbaX8*^ihkVmSvT`@GZ`<2$2d$y>q1q256 z&ITg#&^^hfaKfS5oZK8XS!sU6Tnp^%MZh(Z86?mJt;StGe~p0L*)G`-+s1b;VAE!# zc;k)}GH#phawwbo?)Li;a=#RjQlg}JZL>e}U8N(<$RgO(^|d)6*)V_45e54W=|MIZ zj^UPFl2&6go(w~7w+>;Ik5yG*T$Z_Ndq0bBb8fsung_t0=JNtR8M3m+NQWPSqdz8z z&K74J)6t>HCUE#0p3X0`D(PGfG~o|D0`}RhVkRkBXKfVaS%T`aqOJqyB91i6mx_4% zr&$Zn7~9o#$t2tc+;M-6Gf=(297u5MMdrhE6G45~@&bGTwZ6<*(#+Jyk0+{~JP>Au zhEgX;0cT(I8RD+0E*!4U7W zg2_mdZn~+Ag$YjM$kt5S)O_?5Lc>%t_LV z_zD)qWHUQ2a}PP(bpTClT9oq75E9_l(y${)5I1ygA6IC3Jw3z4fO5E(kkzBZ=r6huOYj zkZqgnUNXh7g9HWG17n_C#&1EckTeO+V($0U?Fs9>Nojv0DGmH6XuEQt^1ZW!X!f(^ zTjQ)|jaRkrH5v5@7fg>qh%;Q}G0V#bf z?I5oIg(1XKzv7m)Jtpizwtwr4`19R3c5gwi49`$Aj%H-5tzyM_OK#$<>hiC|!y?k# zrWh=X+l7B}SPh(wA>Yro&bRp9hw&n2-o<9HWi@)$5VWm1u&$!h=A2BAB(>AV-~M0E zvr&<%uBR`P^ol8ikK$>jPR>cnVE|I_dw9;Pq-oDB)~FYYM#gS7$(fUcMuOB9GN#J4 z*)MIvN8kVGEB~X<#~{QhaQih6!u{wW!N3i@6{dg4j{N?YAIGB+YtrZ6I>3^m~>n0auN-J?X;eav~X$x1gyY9f-;D1ui+b+EIpB$0QpQ;3(>-ZH} z=gIw={JE$GAi`zma!;zRDb24tb#nA#= zYwvU?tNg~2$|luj0PyU2_du6|9^vqvw({x!jWWG2>OKumm|pceb?qL!OvbQ|im{)D zR_G;Ma#=n}7wMgwzh7;KPBt1yYZ-j>+2DWPc+C4(vs7#<_GY)W>I&+58*06gYvU0D zlesqFDQXw}cOb0>DamIvv@hsPdx&QqE_Vha4U9Z`>jZ5BR}}@d|LDDbUzL%ft#2xN8L_sS|K*1?Z+6ZOf_C@i|A^F~fn?_dvZ` zBul&^@nCy;Sp>H$ZLR9xNZW;uClr6)xeCasQ!1Ki&bu&37a~=E>c?&-WGAgFcT?0H zgSv>o8sO|Y1J`Zm`HyiW+kQVVv%}%O<1gP$!Cg0P0^^9<B+sb z&kQ&8@9SK#oA&p5=cTWb!yR~9Q4t}zV?O#nohLU%npfB8!Tae}NSX zwe2sqA+uwffdk5k6&+Pm@e5KrZi7NLaF&3ybT8(@GQ`l!t!}9Uh?a;mtbEYGN#^0` z;nL4Nw-DVATqiJ+<*L(GlpJ(5oDajX#wak%xFyT%Z(ueL``%*K7%#7Nl8dZ zq=9Lz`B7Vzd%kXS^Q}NJP(^=rWH$`GK^RKeXxi4pcwBCc)OWE=TmFd7vgzuKsD)v- z+x@S#QKnO<|Gb>B>VJ{WX}QqA?4&;2oH%=h;Q0Y!6!9(dhP=q<#T1cjBrBxoyI?#; zT04A5$g9{b2#YiAWL?g1cf&tplvms^4`=AMh!kpK^ z9udMhI%qqjY$J~rLTi6ebMTHE>vx^~##lycN~CiM>+`=UOSU75wtZ)V-iEutw*y}u zFRV{T$hg0s&)7GBZEup}KzC^a2*)~3RAgE4>i)XR(!QbFnVmq`nq zxJsig&Z_;UD%_T28JD7rV}z&k8R>?nTzJOzZR?J+EYb1M@+?d9!7xo8!Cl%1rezKy z&myB#hMKt~sof!e7+sJa7YpOrDZ@=sZD?DDa2zB0<+&i_0`sRS=`ipaKbH9h^e~TsO4n*_LD3oT~8+muB795 zIZfH&_@uZ^jI$?-ac(>XCOQW6m~@4WoP>cF&%d?z8VOUUhg!R73{GF5R7K2xMH2e8`oI^uQFM;X{S<`-=h|G6BvlMU517*{?m}ej)@#e!Ry^jS zu?``~FPxz#IuJCCmJI7#{q`^GMUN#KpadK9GU&o|g3xp146y~>b*$*<3eVzsJmIpM znkR#aJz{@VEwcmx11GXpi|ZH~v*mMa$qzY>JmorC;Db#CT6Noml7Rg<*XSBMhTBr5 zx3?3vj`pGJs;hPSxJjC~6a&B}@olOeqmGXQYx!X`h=R3ITvUUbflh-05|u86?3=6Y zkKd>5u|{jD8_E6Mv!N%lN)E1F#>3Bc>0L#$!G?dun)beoJb`ZR&JPaYq=6g@twH49 zkschlz8UK2!57{*ygfAJ^^ zwo!i)y~-)@YB7py)(ZzIQj+z8VQFjr{HWB?e)Ol0 zKgeIl8E4yIlNft@+s1d~QRzG8`>|KRX|yk8pZ6VZj2=&jwE8wB`oc+|0%ooo47$#} ze{nZ1G9)@4KH~<<*Mx3h%EpY85HyTYxif!HDti8>fN2>Lv5^0Hm=qO(P~!qCoJ^XY zo6s0<2#wzM$VcAhi*$?{+HaLw?IwHn+vHEJ=2Z}QsL-=_&mPp#=cu=5Nx33XK8m7y zrgfi0okzBMTT-}_jK5nc@Cj&|SMjS?G1o*tF30iZB|+BbvL^aTH6LFOc0j^LU;%%p z|1buBgzAH`j+~d7SwN^*=-ss1VZSRohtnXqX>Xu-e&A+ye&mkX4|8?VUpb89>uXR@ zUg$l;T82-Z?Ncivx=Lo3>8QxxrWq|NLdtcw`v+R}WY?nSj_j#LnqScn>m1)rK75a{ zS`cv8Q`6O`CK|f{?Vq?yC>(Zvn-YKWm(OF;mWOP|k+|4Z?Rryo^Xw0?iJ?S4$5LjT z52N6}aWw1#9-KC|n^m{;_s7gqF@I~Eywn#?2pE_eG#~82=IRiRD7HFTs8C~5L~fi1VS!~W!r)Nt(W<$aa#K#4mnMgCUP>^huz2wd>x(iUOZ3f)yv_gY;AwZKr@hi zeVTmj*-AjT#A$?Cs*;JPbtd2($t-o>$ptXN+m3p!A3VpwNGsxk{OI8M#4U z=Gg*-?(56m`uPG_!tQ+bGNFGP>z|M0woxW;6tSG>`NEkBitBE3kj7HHD!vcd8+qO% zBj(mfNI%GKjfhN@b>^HMvSm-&#vQzomOZKmt=3WUt7sllvNVo|P$akUYuX~D1F`L& z(C)ZpdDM4vh^AqQg9-=>H^z3&r3bkr0zaGzC$eg?5_z;xSTvXui+|uZ^W|C)CwK<&(H7X z0H((W4-EL4j+3N94hI@D`Lw^Qu1=F|$*nlQh!@5=dNqHO-G@k#Vq%fNg6l>Q zTx7yXqr9DS40`Qt2(8z8vxBiEJi z<6p6pGabeW#{mcu#TC+vNYs#^IYm0fd`jbe$(a=eC;uNM1-oKTv%DNnuQ{-A7Eh3& zbkdIsq8Ufq$z*?Hg1zA7T9*jDK)QZ$E981zL8qp8&3SFxDm37F6Ns)WlsuKLX^G^L zf2-}+D)AQRazEby#{j|hJKSZoG=_>jT_m{5NqN8c^Cs}f&RA1L5FF3$(rmv^;+=mI zj(VP{W36NoTsH?Xl9@BWp3{U75PH4~0>p!w=dx>$wbOrZh=C#1CB8W}$tFLd$LiX3 z*i>?m%xPpCyW5>*50)-?RN6Yj7aUoj}Bty48_SAGLEf_P(n1G_0VMLQQ| z@14ycK;|m3YPT^i6GYwWnq}1`LX3FD!)4j950U6d!Yz;vF2|uEFRr)nuYqL`=F0&% zAw}?peSd#lH#l_moT7sg(|*NelBsS;`QUs!WeOvLv}eqr&&~jFwI}223ONOE?td8* z>Qk=!9YPf(|G7f+Ni{8u&uEX1k<7^0ioqnxj5$fSkZq7r+JOS6|J%MQC_@Ft_hGFooyS> zSBajJMY_l*swH~9Bs`+JxM}U%Hbzv}@sznuT_}@h@9E$)nG|SGf5y?!S23sf)%GK223E}Bi4@OW z&RyWBU~!YP59>H7$LyuvgB$ItVx4`M-zI<68-#(Lpo0hO%>t=~$QtU$3iG(iTnn6gSSeqCm9+ zZmAfW-k>#1Kl%elxp4@8b#*;O($6!b|100`UY%s`GqlpU0eS6wxiO_; zCA89Z(`8=-YCR_0!z@-#m85R4Eb^bey+(2?mPVJ^>JjE_&5-~8PBp$ZPL7fFK?7bS zb;>1Ho+se~@xw#3SALn#zeQ7?Cf~-|GSn>AC_98kX_hSJ?6&+sy2icGcOHLQo@bH8 z5cpVlXNx}42%?{S8Iwk%VX(+R*9I*6X`;0H6GCR!+%Hmv=(p=+Cz{ey>{lr9h9ayc z0f7oyGP4)c`+)3roU48`WmPUzf4oLklx;o>O5QiC$3y&lIZpAPWPa6_`4^8YQ_l9}ZYN z>nJQ&IZjF=uZt{WMrIvE!lA)vQKoR&%jbhgpjQfh)R^x@gMM%os`*WqclTI9d{+sP8D`mcZ$MMV zyc!_jI#jgpX~v|gDrN6#$}AScHEf=uNxd`lgjJ(&2egN*lY&%_z;@^;!D)h4zy_#_ zoWU23&!Od<@ce&?2=N`26{=;9uUh5=dLpBA(VPCjv>j9QsHLwWpQy!ee^HDbXd=tF zDe`CiDcUE+9ABy{x_n%uW4?HiN9WsIIjn!4QZ?Z%(^>1*fS4?GC04x?KF!j36m6ja_$e5%>b9g*IVjkR&e&;YN z!TpoYZ#jMqOtN1y+;GOnF6e|uX*oD;O`Mg+BU{bqNp9TRfqUnE*H#3r|1kYq#v)C( zxrG&f(kFkUfp|ez+~!2)!%2~6N|ck%9>V1wf}@STIdg=yE+v)TcI1-ekco0 zuu(fo;D7rlAEzXQFCG{#2pW?jLD#}0TgHQEaFKt|$P{;EGisHPU9S}S(v!(V) zy{65JxoW^J%VBY4Dg^}dCykd-;rh zlR&xPVd=IM@LNA9DW97}qbe9|AN{n*VSKAowhK!ELL56*u`{(~3rf)SnLxPlJ)MMy z>{ox`98uS|2dWpW8c{v^IG7!dDZW=R|UhR;+F zre4K(Q^Viuv8?Ax*Po}y{%QL4`Is#1^;$(g*sI#e;kR0%&-IPNhx0MBuAa0##F2mD zfiAiGqIq~9Iu`Wf@N%qj|B2zPy`NRM`?_mj0h;5J=YtPhUv6ZajUut?LI~NR=R>6v9mOal&7Q z8L02o*>2EEt3=Hl@OuGI&_mV@k2`sBbwGE;LtKmI1OSMPs*!F>M4 z@j0?}jf10x)p{4+0(NX68DV_~?RWbQCso#LXoYD=^31_f0W*1t+JKZBjuSZMD#{#* zK&9S(d`+)HX6;7hoNfAwa=zEtpx>;}+A@PJ(~4yI1T29T%KV!br2JCm{s)otEan$2 z*ZB$iQ&16r&|p4_Z<*EnyeWTqXS)NLLs8G@G^N zY*<8&LJu&&mVxkpxtDWy5Yv9)-7GTfI?5jI(p%FXwDe>mL5?4BO)>L5);9O+$5bIA z`K)KjqK?S=E|-6~T=Ual_^#x-EwFBjuD6>yiIcWY;>~SSZEs*3R%L&`2%kl1O#3Un zOgNWM)%PM1?6!3g&dIJqPY-5YKu;2lP}sH}j?##%MawDLY!O96wnH28nq5Guy9dWA zl9)Z}NQroYGEumNUZ!X>M-b^)(MVl$Oh6zY?wuDGB)*pk!>77bi(?>(F|Wp1LWcle z#YF}^$0v;T6s=Y_K2d*Tw8AJa&q~kp&T($uHeB8uI^MwTR~XIcgIwJhnt|Z*vTU8p z>qmeO|NpX&0@P!sd@4vdK2hF|_-c-ZgT@Kc{gLm7lEDp}*t^hUv}U6=foJ>uvO4c1 z#-URoyn|r9s4SrmF?>MyT|d2Q~WN@kvsvfZq5djmbkX7bMvxKva^=D2Swn2OrIb# zv4}?uua)x;JqLdj73(iYQ)RR{d`(o(=xq4qp#$uqF;Xs)OuafFoxVV`kJ$jn9{-6L9#>)HZt@n z1{@Vlz2A}za#JzLMmiP&fO*5C!Pua6*S5Kc+6-Vt3G#mq(m5uP=BF`OHcw5&2ht7M zKaEgEbobmKI!REyW9W;|N!QYbOvcC;fO}?qSMB$NfEju!@p^4g8Gf@=wm0xv^Yw?b zy6v~^C8wwdS{g$%NUy*rz$3}%FN|LlMGg~c&_g{wTyf*?>HQ^7i=-T*i9N2LFH%UZ z&Pv)sH#dK1hcU9sTQ{U)UA8&@f~45MZ8h*;KY}pg+K`NHzzxD@u$mrsZ4&nqP^+y? z7a@Bxze$)iafwoUjG>ybdP_F^*|_R$1Ku2FPj`yK8?LbAn!JJVS+7Nsm$Fbjr_OZem2F zbz+>{cmVD_X@-5j^OJBUlf609q~_dHtx%$n;8bfd|7lJf-aF^YGp>t7&UC!w(&?kB zX->nyfnYQ($PgDz3I7)>U3v223jFFuy^@>)i(m=e+EPBLwGH8Ak7dQRzC;Kzo!`+E zx2bbOY$Ho3bbN>-0Q?nU;J*BsJgMHDf(y|3J} z8TVZxZP;%POEnv4?S%**wOf~6PUiTquWT#Z-3IZ zqfmVG+@%+89Oi91JrD%;E4n~mKOm;H>nFyv1*Uy_kdhUUY@`C|Z~ii0wTJ9X&4l^=3j#H9h6!ppSF36>mL+Xjjg(^7~Qe4ex* zvae|2r|(zn;#u~fD^K|M?%<+3Zz6Lwd4S-dQ%3}T<~OanSs~a~vt5vOn8!CMoO)!+ zlA2qR;vUBn#%`Y(=f<%1t8srA*ndRW=AO&+1FmiBX&8a?a50Zd$N@5I9H1ak49fWq z?QZ!SUofHPK}~~q){AkiG{8;XC_0ZR5>w-OFNShQT2jjgjbM8JE+b@Tf!>F!Wh=#U zJyJ<~qa3u}7d`l1uQw_8Z*R=lV-OW75an^?q#5L-3Hw?}zMIw*vhfR#$ zeZaczaqC4&H}!3-Ip3PKaE8u9_d(5R1#UVOv1l5qaSOwZBdrC5>Yz&k!qu{6P5a?J zGF{U9mKj9@Lilg);X8k(d*2GTo&P3%VS77HCxg*sVuk-LXUp6g=a1|`)~1*pr%dCz z^C~Z{Ykqybg?BG|>Le~xbf}w+2s%n}`IaF9@5 zro|yc^Py$huID(Wi-ai}HVEIo&k8wzK*QH(J7hgiQ)73VtRV4tEc(%4cd5z?wu~2X zIi__(dI$Vi*T}<&uj;soN{kMiLD)i$9|r!#*G<+x`Z9m0YJU)@)8ep?;;b&}`QnM_ zTDX5w$FQK~@)4cMiot9S7_h^p8SZ$*Ei@E=4x+AQnoK#6z6)lC87gIG%!`)JW=X+Y zmGcWGBtFl`lmQsL0mE#)=Ycemg7zR-2^F^-=B3eqdOAp!tJIH{#<9+xuRANx^ZB5h zf#!#cOfr9j>}q;LMZkR-rx^evBboyJYcV!VL+`zmFMR~CA^dLJ=Q zKR3?NB~)Sce_JS<7Tn2Q)p|RjvwUVIZJi=UzuplJx}hRdT7Q8kKR? zPSLwle%3v4pu)oR#17+ZCvZdyy)w zy9g7`(>_g6Im2nVx{H0N9nty+_7#2dBg?)QGzn%FV%hC1|Gg(^wpdhIYz%e6B%P3> zRT;5vMXycn(2~jKb%FmX`n~16B@|ael{D2pYmWLR#(eltU7LNVwrOvm-gUQ3FYqI; zU*CVw$nKAypB714mK?}rjLPJ@sOUzl@`>u_Q%5dQBpX-sVH|IKD^nD^r|~pPIoand zUcOCU<9_INOJ{>lN;6yTYBfW8nU|NXS9t^fgL1BMdPs@Rip`fV2}U95S}PYLdYtYdILUvj-9lSH)-kt&tH?OinPPkB?cRVtp&f+VyFFa@Vi#hLja7S>K6OZ!+@(HhF;|P)4oFsp$N^Ba$ z%*d8D2bnQP!>mijYMnD*bJmyKKfQr6EF0x2vddKkzc_2Vaj~||mPruckUd`@aLxqg zB=Wm%f_}r-1v@5k22Ph8^uLvf1uuXVudg`-^bFh}5P3~=wLWR#MLbhkT#A^m9eTf8 zaN4#JMhe0ez#k#JNurp5W&VFbKbkGP@``d_W#IX4D1yH~i(Dq0xhL3;NvxQTcTm(g zhWtY4HRc|P`!U(q@bc_-9H1+H+Kuf_jJmga6vNgO6ZLNR5yOyQ8YbhQL@U}`)@Rjab)|MBUp6kopRwNCz zGx2M{=(NMNt;cl}C9Yf-5s2DR4B9wSCmd+isw8MZmk9FTW^F1jsdN$bnCFG~038zA z!B94D6et3CQDUmR10wbLo-s{-8|Ww66fKg+0VhX!5lQ1!J8_i4Ohkg0D0Jsca;y)Q{-?qwuS z+jq8gb)`6j`nl!m01jAZw&Z#ndUL2A!%n1V^MXOp+CYDmHS_0(N<|NUPU&esKT}d+ znyTE#(<~mRlT=kcG<=?-=lj8$6<*VO7z8Q}k6AlKH)wKS*1e;2Hmt4If4o}Tuu)Jr zs+WLU=lO)P#m~nVkFQ3A8m?6+=n0r(VB4Q?DcG1WS!O)uUYW{v;80~w$9ehI7@n!l zvU5PSBd$t3X5#mw!TQNudxB3sGgRfNPR#C41M|;t1BAV6B1`%q}eQf zYaAsd7Vj~LajJq{?Aa*3E#hlM<8>Q@4&@XT_gQK@*+-t^JRK)xg~T~L23fr+hw7hS zRf?pwDnR~q!Qp0qo_lG9c)$?NwBxwG5KH$=TRNOMHNQ0HCox%Z!2U-=N8Fl4Yf9JE3&nD=lm|6IY z^S&lm*zJ0Wl4x+T!ost1qFYG0)~e`*+zD;vP2VWwrzDGiEWZVw7%*}NZy+-G$8omN z=8(+8OqOJ=vpK9ScZ=R_HsY^*w{T~F-}&d@_CXy8yQS)8q8pmg9@U}U71j_|k87EX znnDlSJqsk5B2d*J-6r(1BJ&v2PSUyH5D;)fyaOVNxJ!Ln$x7w(Y%;P{tj0~V#r+tR zyGJi^7BjYgKDahxKcD2r=|1wEF5jjQU1)hdoRtXL?31-}3@HcyRcnmCjW5$8tFDzd zaiha4ew(6Zes;@ohH(}b@){$wS~rXS?xq68J6YFQ*>Q(eNA;rd>@Mr;;D`il4E8i+ z)Lx^ukLl7+#)LLEj0;)E@}-!8y93iW9}6z+ zV(4RV1fk$c5CE`@ChozA?l7q4WlVN1pAS@(BbvaSv64FKN85=&X4_L-GQDjs718%( zjk4e`66IxPU0xP4<&29AilA3NvwUNEBxvkW>x(3j%9aneJ4)Fgk_^Ecy^~MC2w6La zM%9vkAmx%DuwUcaCwp%?rIgz4s|_jL!n%X*n%N-hW<`FuzE=^GTU!I#KjFZWaGQCO z+knhpZ#ellDeXkC_cgqJ4S8S7=C?bIx%*tp*>|c@wUIoihsE60VwkCx+^5Be-$CKm zGdk)X#18i$M&#BBdl9_a=BOiheq`C6V>Dxb{(tVFZ522&lbSs;juF>lPwbxJPu@qq z%!uj7j8g_d%KX;0$SHd&-~2LSdPbs;XTuhN-+>qDD<_a{C> zmTYy+?7kc}yLbv9QIyqOxxqO3t)KJKmRxGthvgj^FRFyF0T0Sbu36C;K5S~h%(L9V zsM=~)aeAC`E+nf5Gd)gjZjG~p)!Lqa)<9FOY~(zyYx>M@mM|^A`uE83>kjnZ_IW7y zA^*f~{FVSQ6D$@gHRggwRiV$_Av;BHf$1mT8j{Uf!ny>^#?-*4gQeYXL2DPP;(*&S zC9@npRnGH8cmxc^$)a&xlrbO<65ZAnU2IP9P|U4l5pkDxf8exvQNNyp9mfcN5vTJ7 z$7R`Go?v(iHljM|<%#n4mvQZwLL(f`ecPYLQ?A8J;b_wdCHw1vGTi$>4}%?6>e_y% z&(lKYvou4|3lxVk0*^%Kg>#O@oX`#$b{thG>Zt+NdE2#~XQM7&Q$oA0<6vSEj~!J$ zs+jD)+C+ncy8PU+!mb0+_esuw$6uNd{7+N>{~U~{MUL*cd*2!sMS8`Jj%p5w_Yo|$ z08MD7Cxa_)7gt*Z@}%odXz|dpu-|659;)hgODEFxtl*&)xVC3|$Rwgk_kFVUG;VA5 zZnetc&wiGas7Lq$iPqN%Gs=S9JD(OQDmgKsa_?@oCd1IJ=0kY!Z>ux}s zvR!&DMp+G@DO++`RO!-qRgne0PFl6i*_I^a=j~i@$Wn2e2jFXMT~&Xytx?@6=tLvp z@G?cg3E-C2-RNRU=WsAVCPT>-JOiz3U)iP5uG4y25$g(ZBk*a*<#Y!jU7cAOS= zbzJXZyqIoTr;g{Yr2n>R^hcF<{dY>riRV)$lsHngM_gQl1jtc;%2`TvsUu0ptU~)} zb@DQ@58jf|R?{PlyMh-*R0`=&_)})nY;XnFdFQsuJ2$!0OY1!ORUHX6;`=o2>$(Tc z0eXw!>FXYu7hMMc*gDI2qGDk&sHK->1!2DtT}al*^$&m7Dqwn=l;5V#vSd<`&M99e zjd$G|+IXAYC@JWFnMr_UT&1)=Eb3yT5132RhWjnTR&PBB|Ha)bPD+CJr7=A0DnwC0 ze@g=MysZzVKg4iuSG z3Pi8Sjv*m`3vVIKRBU{yN?O)ZWpudWhD2xU0@GbOoM*b?%u%L5i;Y#Jy|IK8B{GtF z9$*6SFDt6KsfX|GQxP$*o5xhLo@)&}-O(OC91eH4OnT)E%uvQv*%{V4m;W7_icpevS!<#Zv=kd$t#M75VS|~VbyWwy>nV@W#gH3N)XMlVBu1H5}@%N9n*Y`R?fj%8kq^fOqr=%Za+4Qi!ifJqQDHCKzqU_#R zotoRN`5&QsJfjvtNX5k`XD7m=uaFlAA1A%8Me<=8v%s!ca&lfeMy@s|!88mv<(dcp z`loV1PCip951gni9JTBH@|LMeY5YgF!`wE1j_0GLLfluLq$TM$L6=k$B`GM5GSIqz zg`vg0&kR>pc-7p#>8n|3g{EVAQlv4jul81x_lCZ?WX~H%ryRw|%7jy4j}iDERRvcn z9g}=uUOVp58{cvYDB>U~H<(Mo7fg+(kMo-cSr1-_@J5JQe+FY>pXRNIGzv`^>yU9E)NAVk5+#d>j z0_)Ss?Jd*w9o=C9wbcsUpYLd{xM%?_nBoFP$00L&qT&7a+D3lsI`FLPTBBuuEcXZ* zXrGtWo0PM8M_NZ7R1$Zw_l>cfx?tqOU3yH#C%N>vwqvUg@ZSVNq^(w2*n;h~<#pvzvg=_(+hU1V{8rN*DUq1W@y z5{*G+xczD1XXch5FAy+rzH*t8j|u64_Z@p=A4<+o}XMuD!TzL9Jqo zK&B%LV8w_8dt0R@<1Pe$vS(T?hNwQU9x(})V}X^x>XWxwZDC7rehnfjPTf3zn=fOo z|L1H@0!2--@t7kD=Q-(=Yp$@0Z)lU_lZcYhA%j!<2YnESY7*4x-?mY28PdK4{CiKK_-;oB%%&qViwVrD*7>$H)H| zl#U5ARG^ZD%?_jf@WDm>-_KjC1bU!i)TB&UO_y_fM3o@tGvGJrV>* z+AnstLX3 zYy&~tba#`v)@N-;H4BMWL-4PhpdVwF(Cj}x7A3RXTW-DMs(s|`j;l{PVm78as1{!i z_eCU&K~ndBuCTe91m7*iLen~~fAw+xy0~RXE>>qank3mkr7AO5g_hlR1QLp;=NyNa z5>nxgg)$Dq-EZb3LC%fCLgj!U9d4*-(4Oh5-;F#L9T%7Mwz6gC@#PpYW3Jh*bxw=q)kjrH5v$gzGVsVnTwKM?k<_~M z$3^`@>#qC#FvpEuGSUxY*h%MHayN}hIl($OVbYbD>(`pssGCMs-o-A`FVaa9Wn)U3 z)iKR~Nu|^*3)-kUPX&Mei`Mz#ai8bC{lXtEP_Z#c3<@~E7 zq{^hl#%*Y_>Na-3TpS}tZ_phmc zS!++hh-+WU7%XW`q5kpi;N<+_$vGDlH6pz3$iyY07Sg~R#~C=Tkg6`3C=W@(4`9O$ zOprphJ|_O6NXq%m@Zw*m1v~b;5c)~_7QAC8YpDDbyPHO@t-{v`l#335QVccK01SXz z-$EFu2C<|QT5R_Rz9hUt&%pf<%WGzTKSq&AynLG?HH|bT?bR3C96IWlWx#pEhfh}T zwQ@_g{LAfnf!;sg8Nz}vd)wZ+u$mVSon!cdM`=Ln!`Z#`(SH(?? zjK{9?MB}M~oqk*M3((=ojf0o`0=f=83&=7fmQp^zSmDX@T#5d`=U^hU{tncAm!E)_Ettyi94oZaRAFV&tpQdZm9MLprMT z2faDLo+D&}F0xryq$$R($6}R##qX;Y9)Z2$#eWr#A5O04j$`(1{nnB6(Z60duz3uI zX0#-RMGtJOxSHQt-mOB&kF7d@%vf|;q)aR^VWRCm9bqe9CBBe)RoX6Wa&n7Xm$Oak zr~WhDvpz$vRO6L+`Wom_@nnOp*m(B1jxg_lE_NQ1>2{%y??QW6y*B56j*1B|k<@sw zaq*@rgr&?fxa!4a_Qz1A$C<7`PK%?wn$Y620}jm5@sg2Ic^#*`M4v5D)QF-p8WR^q zLNer>2z`z$)wf7IN6};PHU_{r0j@xzDwEnkk0L^`N)N6^n$Bj`oXk)aryL_8u&7E! zL8BA*uoFQgOKTjV-K?#DrKVScL)A$pE8Z}GRcGjJzq3GT<$H<)q2(#v7$B%PKmde| zMoF!M_-|`ONwPd?Q&o~G#98y8YnlPmvoWy`xT)A34y^>xk+sdD!6;k{3*{ZDzbX|6 z8xH;IB<88~nG?+p(4L|Ocur{59j~mwu{(Cb-@;LUD{#qV`R#=F5zQ=( z^57l(ZOxGGw$CF-CPou?o99uFD)>+B!Tvjf&4UJd+)$}pB-v~9-MU$mS3qZ6(qFc*|=s{+3q*z9X{PVSK;<95e6A;;Uk~Ua6b+a zxU{=mlgxpx^Wn#TKXwpbVfXB)cF5PTe&9tSl`tjSnI%#81neF~UY=+&%n9V&6RsXK zZKUe5J*-W!EH=|@0d|X)GoV*;n8y2P9G0_d_DF^`kpD?C=|V2RwEMGws4^WtlW)u4(?-;IxrNXV;Xb@0Y$u6Y%Mx4lO} zXsQ6d)fQWQ{GU5QTeeKGbc1f^C3IeHe21e~3o?*@pCKFS>I%SXFGG_E;RO%{jWGq~zEsZCMYGo;(BZw*g-0~EnYPXRzo&TkA#sr%(6aq#%uBV*qwoih? z)|%3FSqj0HNi*Sjl6?%B87(;aW1^;?vCm;cys?5|?k>caDPo;s>vgDa3^MQ=jI}CZ z#r?W}JB=48k#@H~o2N^6%hKA1n)XBV4z*m88UEJt4Z$I&Y}v3s{se1!*woCPt5Vs6 zrc{;=#mOx^)aSc8C&L;>bEJ0%LuE1CVGtE|AlP z1Xoi_aE(;>zIBcN-2+12i?}FNwcoQCly50FZ9a!TA3Y*>s_``l{lJsnyas#B9$Cey zak{gyPN$m?u8K&xPHu&tZ(H^t<+;#*jQ)jeeX_0sgpaT+<*`8ntR-Cp=>8kg8wjx3 zeq_0=_vL?hLWV2}#$(W_REs*(Z8aE}s|LAiY>Zk~p2wH9e}p?qvko9kJMg15n3DZ# z_%Qb(*4sG#!Tp%Kn#C3OU8%-|#0ypCwpu3NZ&^#AfXP_L1{jW%dtd#jCf96#NQRhH z{h@su8tlZ`z&^`MV>iWr7s?hiZNnw?w0A$(Qh}?AKYVusWA3|d=_kV9`30e zXzZW;70<+==agU(kbJjN3W^U-1Ma(`;SEu_PWImwla1%73xVs(8hEWm`^|GY(A**I zaWUZt**Tba1}AYDldY>fn@MqhZ5%uio^1A>pl5q=b<3DWYi*Ry$0VzBNVB%{&P zWqoEW-lrBF8cyW#MRSM0bw0~MmtAs`B7*jWULXi}FVxjMxmt1ePs?&Eo?s`h!9d@^TMkrp5 zP>^Y5xsjGz+|>2j1N!v9bj_fv>-|qi98MIO%xF(<3)7Agtt5;OtmFNU@K%}VI)gfvJG+=BiQ9)aS^Np zLTej~gZB|2n>8s8R11~xk)RkvNj|$>@OnNgQ1o;^AhB5gqb3U zI?xsz}<$Iqg_{)<$YvY#T6@sZOqo z3P-7*Q<1v>T$Hi))iwnZofCga=Pj4=<%NKCKt*1@V)BuH*9rrZ308!E8*E}|dnR+U z=k{PySS!NV=r!DC&vT0|)1Uo3&D4#CxKo(o#azT5)}8dJaPF5!O%`kCQz(TJWzie1 z%X!0^l)>n_sV`I*3puu+zIYW9SF_EIt4^b|`gQTz-f0!GVt;2y?=p+HkICxx_X0qq zoM4T`{w4x{BC*CXRwHO{4Khj<`mOT5;ylCa3oxau>AZgut=^O29jjn@&6e$&rB{_# z@9lIu-A==R#xtDWkox(}`(S*~`o02}jW%r*StoB0;^x7FeMZGDYYCbgT+lx`$*oR~ zxeT`4*qt@ocv~Y>H6vK{s?~A}wU6&rgsc5MBhC1KNFVSf94C2JL`N2PY47QBp5hB= zBs|+{D8`Ui&~kDNXLDPZ5Z~;2c}Az7^Y1*z8}w6_2DzTa^Azb2J37#*Lht;7$q9aG zOuk(dsU(lgqi!Psl}%Qer-dlNP^R1HU-tEc9HY{ zbA$U}B@<%QH%Bqm#%H_MS-g~4!3*7c-DP}qj_g4*JmcJ7h2aIo-u%{49f+5(1{Wwm z!OJ$&oI35E-PJaWpZ(n67dF9_Cm=oB8C&{jT=?tGEF*aAISR!qan zl#O~1LCIhh3gtN+ytG$QEIik+gALgMY@_ ze+hSAwM_dj=kE33ABa1g>uI&ugebrA#XGvTtI8#zK<1lW$f0~~5R9LFe`z?Sh4jpS zDb*I}ZA59$)Q;l!L88@wjiKAN`fxkORBD56Lo|b1{yDPvmnUc)4zeF#=oy-AsvfH1NqlQ5Usdwc)re3B7R6zDi( zj;M58Ff-lInKsYPna>tYm{;Cr(D`J4>Po?n*I4T9!g=*(a$Fnp5Zl2l%moGh>*sm! z6V6ui$v=4zrDIMdj>G5{qI}5>x<-e=0@896DnDmLBL$~v?ldwS0L3>9gA;kYPa zMcnQSwLhKaj?;EcfDEhh=)>hdE@4qGuB8+I`b2C3to>7sQZdIAkJBttwfd z>!LsvmI^2}<*v$o_ad%tM-fs3pwk z1}cxDLf5Br41lXM8AvdJJ$xsBCC+H&XJd4+FNFVln^DBQs5jtM1Xk#s7r1}(?r&l+ zqnJFjF|nm3?ysSXE;>JO6BGYW1Z))eF;|LlO1YG!m>p#VZ&wry#i_p4bL@7bQElir zRMNKS;GyT&a(Z^#L=th)qodj18^!bZb{$%MAO$H+j(kzEJEY^9_xb35&2BM}R)RKS z^$Geo_(8Lv1~5e1Wf3Qv-?*!hCN&N}sq$CH=OQIYtbK!ZYF(#y%DM((b<*w7Sym#J znS!S{jk|8g(KO57r!?W9E1sg;f5>uv*<`{(ad{a<=T#csE;!Ai6Qv4++#>X{F~|6r zU2|Ksdc?r5M`?t!HN(Jvce_rWVHD0F*xS%9!eKQ0;yHyA*vVTLFglA_;J$w>^Xa{- z?Yw7hI4R-bVj4|fbUG|#TsX~Zt9ykf7M`%vDzuB~*%k1i4N!O~NvD-cVSAD=prVkY z!9PP6^QF=un>VrnESU%A&-kQ00)kLcgs^@D$1&wOsY?3 z&FDhng%ptWm0O)Wp(6#l#{)u^b8S?6Om4f;Y`IND>=sfidYuMsy(Pn_LUiLYUOh z?0)SM%I_DK>|?aevAy;$wWr30W#lIy^bBr0R1i_W!K-M0TjD6&)8+nIyY0bov5r6G z!CI#4dgl9L%aN~9k@`JHK|{ zdUnK>rs#Qp|Kix*WKpB%Ez{#X7tq}k;~ky_tCdO(`5X{$TO$nplo1uWGrANQJ18Lt zpg`Xvec6|Pm^q_$#cGph8FIYAETnfxEAfCTR9cB}cgfN_n7XgB$+DRxiK(l1qvXx;zXVP$tYRvm&_uI+uUkdm`5yO>`10TP&`~Yv%^CfO zRRwxYxBax?K7)>uYwM`=OZO>|#H_$dX2oleJK@BGda4Bdy;m}VY4>7#_$Ry&{$5@ZM@sCURvrfJXTez(Q z2Yjp7#0n^dv)^_`sX(x}38E$B*|-3;T$^EV(=#*@1l215J&s^ntXP^b?;e+Ml=NZ_`R2e(nhqv^cPU#lL!mYU(-IPb>~sTxGrGHB->@qyvE~Lm zJStaq6RJ~}!fH^1${cSg`IUjY+=hj12$#!c*dd!Y>HzygoacXWV%~wy1doz%KDS2K zMkaWPak=OaaZZ{f#V2YKL37-pSMij4Eyw=aXYC+=`uKpt7Ha|=uqFp9a=co^n2!fwt?lb(d7YlbnR*L? zZu61eA4*-`F%DI&|+FrQg^N`Y| zR(vmt`EAW8 zeDYHdW5`&H0KJ*qaX`JMOpxt9&TtC&vnXX*9ax@@f?VDX=`h3r7qT!^Yi5I%gyc!j zrZ+}sdD~xVzmkAQc|4%A&Fxb6ELXwY<6gG{`79~jHygc@j|FRg%jS#zS6u|r9Z%_B zqyItc)@NqvmG9G~rGCf*d;~l?=oq#^A1&yk;|=r860)y8^(-lW*HMoZpIY`n!?iVY z=Y1B!8x2(2b&@OKebdNGzQ~k-VmZ4IrIvBPqjt=6 z>vNWTcE6dk)C**P%e|m&{F9d@XwJvkn+BGDV~XG499d6z*rTQ=;WW1+ zEkt|07cKTy$#)~2(8`8T0u1Lv?S|na_dC!0`PfI_VMJl#E}KP6;-!ygkY+h$#fF*K zH1jcgxd%yM?8vJFRWBT!?$Mj%C%#*Em4dV=aoOnZj|@he(!FkatPxxm34v4c;l-fr zl-wx#p-%>X6wacEahk^ggFj+6ciRt+FcI@H?L7;}K!?U4b|3jkguQo-Z1?>FtX-(e z7P2W-O=y;jNwaVwGbJ^+g0rb(BOjuJaPbg>r!IDFu^|_IUy^?^TX$SymGmEPqD*Kp z^KE0gMnO`PMpCa)Xm9+fGZ?WaqWn#{3oW*D#KvrY^$;;Wf)1{<_L5mGcgZe33{=p^ z^D36OgcjODGjcZcWQ#}gi?(dqp74+u^5HaWw{|WAT|2MQDG8vmw7EvPd|kb#e&EcX z#tYvXa)(~2ArH@ra_j;qO;&BEB^puH7AHvnef~i_@wchT-O%ThSE^+|3tvI4P{bA&YdL#4|VwSYPfj z57kJetCvugPY4n!N#gtbY*k)&_-x*MenWAGip~-n+RZ6MfPfcWhsiaqeR}sew<*wF z0{X=O0xCmjkKa;+guuVd*!geN*=r7l{gZ-!s=;7$dLp3hHVQ+kpQ#JYFS3Aj5Z`7j z)JG{@p3xnZU@BA(#tF|_HbE&`xRl*2a&4o>$E~&F8fo=to33hGijt27HV02T>du@_ zu1kwEr`xeRB|Q!f>sR|bjd8XO z^X$T_;tvidbVR-9;T%0cHLlyEObapUl$C+NQdtDM_ts zh?d8hI99M7#~zEEMR(Ta!3H?7RyW7T)T9v3nLws&g-5ZTlvUeUiJP`YM!zI~NIov! z)?j@Yv}P!T_h8-NmCo(%3*VpYc;1e;gRl1J%lIL!R!(ah$#=?hE2&Fasrg-;`VgQ6 z1N~Dpol3Zoj|Q&i@aa*iXB}+S8%BaXrla-r_|=|~+s4>> z5xjr=))>m`)ZClu#a$Kent3Y%M238KRb+icSvriaDD!MIo^`3F@Cq97?=6`@?}5RP zvhJaFjUL5|MJSn<@`@H$XtPS%wO(&P5*0zJSmP>?8#&gF0Zu8bXXa3UBmRi+Dci0% zGD2Z?M6Pmm9a8!<++!=qXvL&JAc(W6vWBJ_^Ds`0t1`sWYX|n5=XB1 z9;=a3)4PB*n#Hc1p8tw*P>8ux-`c~F3|JsQG_0ec8dCy^x$ndB=Y(BH&=`5(s63ka zs2wj~)vIpQScnMa3Wfb9qbV?~B9i()0m@nLF(b|vfL&s}uOkMxh zA*FXK71{?U#$`X^Se^s`h=iJ9t}mFOO49};wjl?7}~B zwSm8JO2sIP>`^82nhm8{G-{P*B9;dcWS@#Vf6QjhhQ=O$x4FTnhW_=4Wre|4LZ|2K z@DqHo>fM`bSfX&SbHu_fRxGw&C&34(3HmNa?8+`+!S&jsx8L7=rtq_iD3$h2^*}oyM*Q@v%|}^g1uD2A9K~ zk=Fxtt7?>`L&3j9r4y_fPj^caec@swOB#(XU#aGqge6wUSr*3!uP;Ec9GBkcav52z z-I3QSO$PBEI23i^LPkH(=uuGS=%h6Zf8J@F%(w!f_i&XZ%YcV~L-dIw{ybYpBCdc= zr{{-%bvti63hkrrg0&7q(Hct+`%yY}i%6O4F z4H;O#eRNag>RmdXj}fXmOa(3*Q890&^=&q4`P$^P-*@HT`HOhQx&T+uZ5zj;;&&&E zDE0tgBOTt{9n?OdfK6S6S~nfs!(2!NPLt*^0hqets)o&0>cT(R$xO zvv9FqKr(tB2GamFYifAK=(s7`eQv9li}w}H$=~yNLYZoIhf&%^64K#v1&ypMNi)Vm zs=KJ(gb%O03C|T)v~v)u@rHJ-aI0Q_{n8AJ!o|v!?{0GBOkH+fgE|l%TTf62#+dV0 z6n9WO{n~W9&Jb1shx3lOD9+dw#hKz>dH3L7P&!+quSGje``Ib0P^eUaLHN~k#rW)R z9z^!YU)YtkE!OwjQJ=WW3Y1sQ(jJ8&UdY&l8BUP55K9G6@r&MNdhi^vuP_# z!!*g3#^4-nE|^vApZ80>Qjw6DtYlnM!EtH)mhy)UKrob`y{)Iu!0(1w&o_I9zRB+| z-@CfYlhUn=Nc#Q>(^ZY>mhN470wcp-M+D%9!=~j}fgf~gO`FOX&Qzttl($m#Cb!xM zHVh@~lBdHT?T;bktRzhMx(9N9MNws}$oY$Hzk2m*r*iTbr%l^pahE zuILSQo@ogpXblwX?Z8C(!xM5GuU3@9I?#^TrlrR5$rZyn2k3vjNmt4ko&NF#Pn?f~ zC`!WMme%>f)pk^Q?u4Xt;rtu=w(X!+rZh30k7^{1Qu@ut-$uV<0C>SMt4mJvQZ~U! zK;O`>S4Z1|In-upTiykKg%jhVw*>*_fit*LF=+GS>CtBfY7&*GoRbC-zG+wy(UZUX zm<_OH8=Rua9mS5EPi?!U+{+xf3>)YvfK#~Rsg|Gl7-Nt3B_;MxWZ4Q6;`K*>bPZdcF{-fR6EzFHtTYI8VTx>$=N zspERZ1n09qL;2x*KVnZGSjJ67ariyUu5OWP`EfUqDzhtyabkvm)_!F*b7vdp38j)Y z6*enBWCUD)%Ratx%e1ZfleR61qsL*b(JUZTUz^karT37tn`J9>rqY#q=-I8)L{{#3?k*hJwpzNP!N0kqUg zRE0;kQSNY+W7razmc|w)gtToRg6VT>8Tpf79P@jBPtd@antzE8UnDqm!e~~8c1~@! zUpfs2v-O&eZK!Fu6)U?xN)_JsA8SpsplY7Yd zTKhnAGHBwI-SFtBhRehr(`gPEya_=Z*bu5fwk5+eoumv%F`b{1YXNBu6j=44BoJO) zDGABSJ66)k4SL7Y9BQ{&Po<#|9&(j&Idgo2UXi6Rie-Y&ucFu@bvW7VZ;S;b)qQ}~6^NVb_ zh56ZM-=k?G=D{r|3TS>6{1qrjMq!+*Q>4)Hp4?w5yw^7}EahOU6}UOH7xFl#l7-FC@a zJAMk!+jUv)fC>~t!{Uc%38tZSfx=|54&H^<;PrFs^Sfodn7@aJ#X(6dW<|k&)@Pxw z$DL_GkGcUdEPu>3_1`u%Y>#=-7TTCa z{(GNe!w9aOw0Ny^3eT_D8a$XNZZpzfHJ>$`6{B<8?d}=^Gh<~?Et;gc5w_AGLq4vY znE4Rjz^q{KY%S@|mqK3^h1)rQCoZ{vTh5czlp3eOsvKp1ukn0B&!8AZf7fX?TQCmg z!u(qp?CBfbq1UTE|CD)r%xgo(;+dMmvVK$ZX;)2RDf@MM2Kx`m?EUfmDT+I?o(?XqX#YK{MRgajaMfrS$e27=>Qnyx% zsyiIpX*SyE?zSmI?b%=C@AF?7(V|;&SKtJhc53mc4_7y>xreRdU(AV06+H^_K$9Zt zthuK`@5_1FW=(N_2ZM%|4hY{{h!SWig7W<5lO+ObyjN=FN~QJYHG$u6Q;lZ2r)$O=e2dD{&T1PyKu$G{8zMuV(GlmvtdW__dXb0j72C63reepP6a>F((N!#)~M z8gy}ixmE1nKPhz;cv!RB=G3*>^XRnGJe8j|n#{6b^}yN+K2wL`LoXg3pq!z{9#8y) z_AJVz{M)&I;e(em0?t^sl2nt0GF6+Zi-HDR0HT$Toxk1%>o)I8F>)F%a5eAw@ihkL zXh};9c|tk<<(bv>CuK#no9wJ4c3HV7@s~3?5x>CehXwgLCWBG92eN+U&;w z7(t{sPpOzbdy7|mHH#CbWnBglYuyds6vTFe?M^XGU-c(2+1aNwdg=5aPXIG}cc+HR zE}TayrJ6w_=-lKh@gLixljc1r%(!O7a%2*UA1FD_eOm5Fx^EDXPmq-OXl~J4UGw{1 zOsjx@@f;Ig7OLO1Skd2~!mNPZ`JQhg;H9lE4dNQBT5|xV4nS^M1s`%&p{QNI?Czq> zY8l6Pr`2&^OvA}e{)GyBN*DZpyHNKoyv47|+8(*K3_}n1JExUmGpAkhJ()=G|iu zcE|bY=Lz2am0{p#JQ?E%E?xBV(#5ER+q_~GwrPJ?h5m8>RR6MI$zzz-P26|8bZ?I5 zmTY@XTfSbq(QC9Q8_{swpZa=6cgZgEsei{9$5Hl>iO~BIgRdew9jQ!zA18Mj{#?R; zLcxYGti;PA9>qDKqI?QTsih9F{^tYws+`~)Y2!`D2X-5Q=EvjJRtF%JF38Z1-Fu8T z((&4jZlwS}K)}D)`h%d7GJ5uO7tlqY;nD!Mt9gy?_8PUjAO*@Tv69##WF52+78TgB z4DWI)$~xLk6@5*+RgA}^TZcBWSBZHigNuUaf8A_&?Oxz(eE$W{rtVms_kcoiEJUWW z;5}0J0cx8C+Q=ub>&oFzU|K;u4w)Cnr-IP=h^!}Pkq+|$X$j-#sftX!ThcpaCGn2a zH5>=4YRz9WtA^iym4d6XW?u&FYDO>iZG0DVia6Mo8&r}-+`(<2*!Urv!|D_xFQIqx ze{PJH4{z~YuGxLrY_dm#3gsE| zw9mrK`tqBKF?dGd_;qG;LIUbHcYTiGM4^y*n_?*jz@-L0N7eC!vhQMTj>3iE?$;DZ zk=M0b1?F%tqlY_U+tQhJ3i15_Sq_xSf8<3LZpzy-H3cFz%t#@qQCd|?yb*OwZWCuy zVj65g*lfEMZd5ML*4&{O(CieRH4ck9Sxwzf{;jXS!Mg)|r@c)|&!&#fJ(~EX@k(J0 zmMygIa^PABYMQ$5iOljrDqC_Jxb~*KGVvfpV(QA8y+2NMc??Vf95sw z*Vqrh8eE|9I+@W&ClCh=AJ~qVk(;~;ck3z6!c0%jQtoK=|k z_)8l-4~ABA_G?|_?i|Vx+eOo(>Cyggmt{xX7mIlLVzIn$xFu&6_S4d1nBPQ&E|QLa zm{(>pIO&Z=RLT_{S#t%NsA_ife`T3_Xn$waZWZ3j-!t?R%2goMIo#aG6MfvJd3(6#VOdZ62m7$Ae;wkgj(G;e zPfxvW=sI>^wwXH2HZ1u?^*UbT#e6mqHy(OUjYfB))L`9){BnN{Re-dtk&BFGfD%wW z&M+Mc=C3Kf;(F7`%sSZL;5|f|RfsIHe4x6%^>ngcy1tp%^*J?S*Hg~dq{l4#G6AWD>JN`{{fZ}W!soce_cS#2%5Nx)yqEE z@Jo72b*Od34J9r?>CQ@dAj7nPtuTOE9C$qC24$byPn)(BZ?txS`D#6-Z(vWIX# z^3@gDFulTm%agawH*pUnYP~3l5@S9yHnpV)4(szP)8oeIa%V8Yvy$be1aj zl^gn(bunVihP8ENazxNdO#)%72^WO>g@!>T_g8790<&W%e^BtUFBl?5lcUr)Ea3Yl z-=s)Et7Ux8gl4vThEMjl2@~|IL!SCohd~&ye#t)fqtiR3-B>#+t7tGfH0YOs;$p+Zb+wFO`g7E__3wcuJY*onbC{v47AqN)}9(4bW9y4bU-4 z0okYHW~0x_DTqJyBmQdsHI)L?I<3?3;|jv5Tc(pVz3z+ga=bHkJbH4iwyv!I*kPR9 zW`Q+=eU}{S`%3 zebt}l3%m`qCAf~ZNOE->8@>${)K&{J1+Aj`ei9ES+!L}-A#8MTh{F|mvGoSStH6hY z*%6}AoROYB1k(4zL(W#y39qJO?BO6pj5+YecRao^OVF)c4J!w->V zg$eC)JjzryHrVTX%zl>tWgD;9U`Sdt7e|4@^ywHdMu0SU7 ztkhJZy*Q`m+@B(0Q`#N5fN;~zrNlgM^C7pIj@@v34k{;?R#T&kB2!n(Zn;{1^3&_c ze{04Adz?Zj!7{%SHPYtxbl%g)jjI-DzD;KIQEV5V%OB8M+jC zdSCvd;lg~pK!3Rc+i@(i`m6L)C1v>s=q2@K0f|jpp~Ky z77BV4T;zG+X+*{2c)EXZHL!;V&zPiUf2oQof;H|kr;(H%KzUhzBHyy*+69#44}Bh_ z%B+{-cEAx9QaAA|2_g1?J#?G+g450Os~iIi7+7a^=m)IG!(i zFC9mO#ofYs?z10yn*}p#cnHDK_dZLb4B5kDvc}x}m`VbM5zl3{qr6Iu`l>oA+(>

8b^X1Hb@rLPp_sf7Y9@6I@q>{%o&n_Io(WYKp}P3qdop2(W{*FQx8P zefe;)LEqdk@KO_fvn(#H8x>dR*oorBt&P|q!~K(T7KbguzuE+bx0p2Sbs!z8F8P1) zu}e0AE#-()y8ujJvWmdS7g~brX*J4bFs&Zvk;wms-(3!u-0=wzmf7({sVxuz< zKqOKCq??7TDqrHjZyLrL#dSrjG$&T_&er4ATlkeI_5Ex`AxlvT`z*KCeBm0@ROKBT zYOBKS>M4113Nd;a`D>(b;}8}S^at|yzHRl1->%zYNpiQb#Z3o_P>$DW8FS7KYveQw zx$a95%K|8BEzPFBiOrHYW2&EA8=;LIn&;T8Uk#~1Tj!~=qe=sm-kR%<6rBD%w;L zi?zRHOX9r*1{^F3y$qrd)}YY7yYv@#NVQn%FuGy)VI@Cc9Sxqd7+)ZgyxD3JVbDka zVs^A@Qff;nV1d#)e^-YskIjJ8#YVD@f6e1Xv=+Th`f{0uCNr>YyR6Mq9hY^qTdr5G zYV;<9XjZ3f%C7Nf!g9WTy6Wvg9IEVj9>xsK>qo(dco{=_lG{vFvOR=>6#Yk(0xr3J zpF$8n_1VdqvejfN=s+Nj#pitS02dhaK^Vv%LQ;F5GLmKRe}LjO^3yr0_65M+3hVY< zIl&gR5KlOj>_+%pwTy2UAxHU`R%9%&&suBXZCeR*sBH1F!^K3$DMw-sOLUSo5tiC^ zv*E(sT9;#L1g145kK+Ug-nT$NhCnP=(Q;ZLw&H8DLajVudC$~PnyrcFfUw+H$0ya(NNc@R4;;!7l#zyfTYTd`gp7{*oZYKND?f)K>`T4{vl8)5?i(|M zdZ2`~Cp{ioHrr**q5>#E=WeIdbqyE0j^u>8o%6%5f1?1D)Yos=svSwz>5os3QXdqO zik0m7(4Z>!xahQC7R&>uwAl=CpY7$lm4#MMW>Q(h}- zMYmoy1@_QvH0`#TXaX7Z^)u)F?C<6kNguC0iD{837c?qyCa7`V>{`P*Zkk=Ig;LRk4w7+*mh}QHr(2Y6l=Vgw4Ou!{$H~Xk ze;Vt%Mm_1EbqZdJKE?j*=V_*Nf9R#nEQYr+$e9}p)#b=<;5b+wHM! zj}sPv-uJV2{z_;JltZ9r&;IJ`Ap5|me*!-P75~E2*;1F7id>#^ zfPab9MMHqi-Mvggp72tJuwwXExos2EZ>|x;q1W8x1K#67ImQ1DphG#pe>4l;2S`^& zeQCF|3DPk-GNK}upnis2#yZWFJ94rC^uPmwZCpsQf&Q$zSJ~!$%^K6CrJg$?e_$RI z9bo(#F{8#f5-^xcAHfTzB(jTH9U-Q_Dg3(jOZ?Za*XuNTjZ(_eYQ4ahUg$3ssT!i4 z9-{v9Li!!Ce=EIU2DQ*jn8jc;VE?3n-J%%0f6#iCYbqjwy^_miRc_rCsC!g9)`fMY zz*`Kv=>m4+H9EG&xIS@DDOq|8f1*2WAr`2Kxd25W3X%GmsMZG7NT>!2Hdz?W=tW?@ z4nXYbv4|8*jHy{#yV~*{hL(lGtZypNFRKqhjBL#DnlVUwZe{u-{OWt!OY-k+2d(JD zx@|ELZri=aw!Q}fbFZp|t?ehC{I@9sh0NFkijsarVTC`q%_wj}{QifEi`4>9^tM$~n7E$V{u`j~22{znRxAhOI3E<8jljkwM!grl)a< z?G|F13jjz}K70frb-UN3N80N>>ogq1@~<8`xR zFogI1a^)}3rBshFjpcw`6z%4F$A59(G$MiZoeThka?W>wWsyw7n0|614?SO{9ZFWB zNJ$ek+l~PX`|9lYf8Rf%lyl5Og8^+iAB84A^lxUt>NfII=A8B)&{?AF+z^i~RLnsU z3-e8}38KL^Vd)Ddm>Uip#V0AdnV94x7CzW@o6UBeF(dyR{X`H<3zADAfckG=sQ?O@@3v8a?YFDY-B!-oTqWzJQv2kb!5pg;M;+f41&tN= zzj>+EUOm#j(InhZadjMi1DAbz2X@yK7hwjHe%3#zp-0DPVuWkJk^o71edi0q9N&=g zm+=vUlbCl7e;^R!kZ_PY5EAf}D3z+a>i_}eOzO6H!H;$K>xA^>E?L;dqv+GswaR}! znq_wpW$P!R$V&IdGB=XQUSg^rK;l8D@)VZ1;qV5GE6h&lA!P7e9^nHXT7p^fMaZ{W zGu0@7Y20|1)*}nBs&QehF2dHfo7jxOV;Kw1*}_kvf8FA?(2&<@dqa$<_3HeQ0@vGz z2oc@-9+Uhi`$duP<^ZMI0)mh9NDd}=Aeb<7V-+l+3UzLREY7kCoih6y zzQ(0YgU`F>fs+Gb^W3Xdp|ayBqV!b@7FbHm{f=kXdE%sByUL7);Du>)6;G6D-j8VSb0Z^IH!CPikx=;Y#`QK z9jD`VcUrFNc6JVRM)=oHVGdj1`X?Sk0P=5Nuds#{g|61Jb`{?S@-&`;y1j={I&>EbT ztP(M(8EYvZZzLhUcyR_+7ZNX^Y&>Sp8Nxav}x>a5rDE&pqQA01wKU zF~>%iTBcGptqng3KGLv;?(w3M_-u`FEzziOMWdqGY}u}Ub^ntK%ERmdjH;&eR}Xfr z@6`Eysr`@9SXFtUPSKJo^;=$L{7KPUE2rLCcEoKeX^xIt)>(7C)(d|*+i|*$mM(^V;0*9R z%GHjHaT@Z3OXOcH*9hG7<&fud6ko1TMp`UoJYmpAnei^`@PqC*?J-4{PRHye!-!F@e~_;#cjc?oOZfFiv|(0)Y*D()qXRGwGL}(2+1s_gS$>E< z$Bki?x|LnYrjRq|s6WY|G=cFGRr8=?ssWsTxTsD~sU}`Ci1zht zPW203$YppJ&cal507GHUlxo)+Ig?LR`>O_cQN`YLhJQdk&j7Z%f5DT?JUkY`Z6ZI? zRn9MkWLWeN*n9C}=8M?;m-=_*f3?)}kg%GrAMa@>;a!K{KMRnUNkYr%yl}jBi~iH- zHC(UVHN33bMbEo<5tN>X8&f4kRVorn*vnqIdk0qEJSo;kLrGRP`~Z~s8Kp`o3Q7wlMhm1Zl< zb%*AHDHc?*bS_HDP4!dd%1zgtEvd*S>a0i#x_S(j$QLh@mo3I2IGv8&)m!&pyo|>} z1#1`{&tU=>GOr9?$f+?>=E-VDrI<_dqdf5y;OOX4YbxEi{&T0KK< z`#;?ar-)`0b|`7zdlx5*bV`>5Z9WtxwCy>={QO7+hYFMk>(`%Naa#$(NCu`2X_e?q z<`yU0Tt<|o_M?Wi!d9nj70hvPn9zE|5IdpTM%#>T0}x4HP;lKYC>I6B>(qZ2r#?M) z>+BWV@vg#%e^p9p<%(wxy85uH!$qEK@Jx-ruNd!@=TLyI1D%oIgkvEpFf}K<@#o8s zCEY$jdLPF@uOo6KJ@`;8{xsG%2ea z=XMPgrJ{jS(1mT3IS%tFyPoOI`4ywj(*5|+y)P2Ui`3680cDbHU&Uj3&tj_XPr^85 z{`tpEe*izt^p6eZ84!A#aMsM?Kb9ZODT;&`R&6(hU>LQ-nY@Vms{8qOhLeLu5(f+| zKa7GfoiS7&vfbOv{1j(W|5awv!;BpXJG&n}b@pC3`_DFM8MPCU{C++zwhqpv4&`4P zJllUz2t}WY&M-T?T^U-!xwvqyW_fPP3qvu5e-22{2zRYxzL9aZgd=*goM9bRz^YY` zl3GI1HbqW!d79ki={nsaYkcxw+29wCvWQkcWP=Zo@Bp3~vLbL@vNADx2XVsAI~F|# zW#}U64fJLUo*Z6F=`Kx4)|({wRz~lI!VbdoBnih{su>jHJR#X+0ym0)$4zwFPBkZ! zf58KWCp-&M>T~IjqCCEZVD=@yO}eAmn$M>-$+y3Gux^8)4qT zW(#chES+!`68RrklSz*$OUbZ!IKhZ(3^S;u9~!7N;Rd)pygU!?zPgG1zrUj2e~@B= z^d%&!!v$QXmx-|Fca`vbywroJjkwLFMec;PvW{Q9!MG?;;5m-vulV1&3Ry)aE0`!~+A1)~S9;`d0tr`GWE@+GqOV3^RkvWOQ;^zEjiNVEz{ z8hG`WufMNk=7p=)f~I0NgjpFoe_%CwcHzzT!)Kh#h?XUWQL%M&#>xm^n2GZvL|8Cp z8CFYQwmqUv0cmwJ@_|qmfZU@Iu8Kx2_EjO^D|TX;uJ3@q-AtG$gMxlA)&bde`PGSMoc4t zz~*bj0uhC{MJo*iv@_q{3uw`v1E-s0k$=Yr7(F&Rxp9K0E67R>8Spo`O@dq4&_hw4 zPQr|iJ#b6=1)m76^8A5r+pt`fDu%&*e5*0LWtz>l^pf{m_@OY5iIW#9i7;Nw3;ou% zI_f%N4&3bsb+QFlAER06e|BF?qUB0Xil)I8rJv)*w(b!8@`3+=fefD16)<5OoP1ok zH9Y!A#+G7o#bnB@iB=OxV>Dl2YV(N9a?^9@;y5$@b_4kRS3kcIc>f6YGgzf3kRMF^ zEPb#}=}?f<- z^DWNZNBE)akJR8&1tW&$7FHXj^No&&LB7Es1-r}D2iq?z9H=2Pa11c5a+*HOAP|Kn z#A^3(XJcWGOWQ$lHuFFAve!_ATxWOGfk$3>b*Jxk#_uLO?RLXy7ZalY{4z!r$oo4& z?ZD{4#J~3^6YvX1f57iU!H03dm?DKd%-4%NTZ!}{x(vl_)OPU37$vW?;Hs}Q;xx=3 zGy%4a$$xiY5vY`s884m>WF5|PEf*e-yR<1>+Ah7GxnaD{i@~sexifOyP6ugIMLSa; zBfps`CkvJmwMN{RSxo1c?m;fLzcG_4$0@wcrq^y3(#e17D9VHg!m@-`Vf7%CY<{SMb&%%ehhK|72I;?2dOzNBFWt#Vpj@z*eG_tuxrzNyzVp^lY zhl1g|7W!J~hMN znMs#@cqx)Hkxz>k%1MmbU`PmupoI6~D4tV17qrnPN!!%SQ13Q}+-&OUOZCME+$84O z`w{8H?Vgh?N751bvX0%;Wx$^s!We}v^f^1zPOZ}u0Thn|F*ZL&35{9FzOrhYg>=Hx z`ob{%e~k}a19}o~gk@7Srqx|ya7WoV@qxS- zT(U7nFXu5x-*a-dN|@=mla|OO8sE7oX1#=ne=$>1-U;@8007N8TEqzp(jZVj7fBNN zMSx#osIbagmu$Gh+JHW~g7}_uF1A!5RBK>4NW*%zS5UOeVG8!evk%!k$HB?ioXB{QVQFbz_9 ze-4)UAPR(r(nX*h5ryB%LW(rnYt&!P);9c4f;r`nX=?F1NR*%U)3bp+9K9Hho)s3U zhUL|YherYZ%6mUz=%_N_&e2!>g|BoDWip4soR~pvpx)n6Xq15hcd9&deKICH@8&=0 z!;@pgx+>{iY+W;wIr70l1lD8VQ#4@yf7=OWXv1p^V-tUc?GBJ2w0jkt7rU8mY{ukQ4k_(DuDc1adsvy#{f5oPHh$5Aa7`MPDZI0 zXDRkN=b}wPXx{UT0|c_tE5XGplF(kOX=zW0{cnuo?7?RRT&nz_5SS&_ z*$|Ke=;)`+>xjnyh*QST@|KY8@XdHK z3WXt!7EUo;mrP;gtN1RPf8sHXO7k_-U{0Gf^&cqjX0B$P72L*%ohyf&eqxf1oqlsW z#2S1NQ;4Ug-^tHsQqf`7qyhQ^kMI_l2HH_HP#CW1KGKhwkLdM`x9(~AVSVfYX(Il* zq@Ywhwi<&#yl)O?gxSsy(u>l8Ma4*`bu;~K~0B5-XgPD*LG z3Bq`+5x}Ig4#2Rvt<7G*lzwafig7+OQ1vLug_DAx1Z(T`nhK*JD(X)zV%gvCE?7yO ze53qwL(1jw=Jb@Oe-0ADdyIjcLiBT*4bQ+ueh)^UbhM)_lt(mdxHw@EZIK;HCVqHJ zivf}1It-GBv6y?(7Z2v+Fk;lj5x$$7gc;05QS<<)6^}u!IgxTNzXg#Lrz*RoGFX7c zn(%XV1iR+g-J%EdeU||(vZ3f}u!P=d=FhD23sj?-FcFR^e`w>K98oR(22X(^TSS|Y z&Q-w@q}X^6(F3B6or}kQ#lcri9LyI{hdyUm6k7)NkkGrW4!9sj+KvdZ zgBer;@pw>7`>f=BOzUE;2vte2T3IL9zVv*!{CtmQ7xs31k0H$^;&&3SQHbu*72W!j z(Y$$WhG#tLe+fw1vG6HsBQ(P;1c=G%I8mh&Qf`$X1X9TmBwGJm&B=m=bU6Jm5qJgF zsvF_H7~_f2jOU7nv1{OpZ_jVDb+8a$W_0-uE;hD9F=f;n!q>8Fp&wO;hArs?bXXbG z@jSb&|J?86X(6<>sHm9*57s5+!q8CX^>ayIIJgJ&e{z3-USfJj`*U<4E4d^Twf)R#wY*y!9$j0AtfQ72ED| zLaKAOf5-jRYGZjrT5kK8P83clhZkA$CT`yCmF6zZ7n3FYE4v28wJVCQ`T+T>ug5rz zF9GvjWA$Eb2tdGlm15sx>|&MPSKNeFr5@Hzl-vR^!OlccV&M={)2zEtbl}!x?d(}oBC9bOkjYIB9hv>@X(ObL;X_4GeNW?*O z9H3>Tjk^R{BK>%$1CUp_9&j2>ujRT857y%jCP>{v?s$|*v_&L*d&Me03!gQA_H*X< zB^;e*p-;8K5&A=>@h0C|9^@XduY84YyocKpS}ZFZdyeDS9)u(-(5}gRzT0e2&e*7z0%X z>HB3?4dtK8Q&^cRn2)N69+&7$f6;BB*{d4da(ujGHJE^cggM~iGiRABn>+mJ${3lO z}PR(eDOIH>s_<|-G?6mpV-{dAN&xjaG(@z=V*%N9Wr``dO*nn zogINk;yH9xKeC%d#>#@yej79mLp?#r{|g~VQeC-^Y1^$e>2!GP6Xs@ zU(o%00gYOpa(+m4UX^5s^0uKNNR%U9KT4Ytiy{dndhOrS84$3q>IPL~$6z$pRB1Ww zyvnL#5i}3;4DZ=)7hG-)kque1^)T|kl?B#tfPVTK(&w;Z7}4*B!W3`ah^3m7Fs4ii z5|uGGQt`umI#k~I++Kf0e@PTl%|l2(QB0+Zd_aX2J+;*;M2m%fM=&2pA?vOU5(@E9 zwBjn}N*FcPjBb`Avdl?KYlL-dQt$=U3PH-8-Og&k?55~Vg>6K;Yzb#?>q>gtJJ#z3 zl{-{pDBXEhP!p`hQ@6>i7RPoQCDW#E+ikvxi=S(@yAYvFmOlH{r@`XA zK!9P?xfjLgiL>6=7Otbp{%fo?%!Cp7e}VDkvNI?#F>8mh+#2D=CSwUZ;Qr~<_WSny zcke~Q<`l>CiHSKACrJF+D7cTu*)qKMh2G1OS+}9MLgq%GKF-E;ovx5vu)(%e!E03G&WO? z>M5ci8y_rQs-9O`C-IZojbkdJ@4YmIXobg3vy(KwsuP+$U3&Oq2Nwm_vk7c9lO`=we6Cf2BbW6 zUj5s)A?r_JZ{Q~>M6l5ci>Xk;X}KM7Uk}q!VamHS{((R$cXW=8ym_s}3gady*aV%WPJL2WA>ohuDc*r}QPP5nX zT9r}j#+TKmAMQcFn=S#IlVK3P6Y-r_v?QYN-GbX*e`t{Q6F|&ScENWLDj33HK%yC2 zXJ_c{()S0V+&W?hKRW&BUsx=5kwojpA9@#8cE@wAr&PXw#Hp6BJvF{Q+6?8|OQFtnkvU#mq`6+WcSr3m!ul>s$VUJDycaWx+nqXG5j z4GOIYf3~&7!L(%vK>W^8aG$_+1e48I8~hYWxk{434+?^fbBj9}Bi6Pw<^e-7t8YSk*K7remA5DUl!bh?2{d7Bcucz{e+>(7O zaIfce8!Z9u>1g!N@5ihUN7t+WEa76m=rp-m?V-C;1(Lmk~DL+c}(+NK-`eI33mJs(vZMnU#(MOE^yh z%E;(zlQkvgNtV_D50v3vPSEmL08J$*jmvNh0uMOyB5Zh=w?yp`$Uc3+yT&Q_X7EpY zU})>>2@HEMO3A_p{O<**TB(nw@z7U|{mJ0`EtRiyDrUm@SUCZWI2E<;jCM7kMb*cKGXV(_=EN^KDkWe{E>!|9bAO zS9s}F!5k9u*W(N+LGkz}<+IXc_HG4=ZzCit0S9(H={0PfD*Wm}BUjDUb3aff zibJF6r*R|aoAREwnZLO4Cpij5f9WR4*Yvj+-=y><!s^I3KYvh@GrflNUeK~dZ$;Qf9G4Bp4%#=EOgKM zp!l^HXh3lt0qs(Hc@d8<(0R|MmNqt7AvLYjfAiHgcg$uXhB=@zgVhn`#<;XL1XC|E zP4qBcwA4IN?on&9izm;cK!kjxo7<0X-UDA9+HfmAM;7%n82~FAn)rP;TRIG z&vnCf!gAoud*u`^A9d>{o+@_gaNQlG7vFIaN#&ZlxC4CcIyF9NE( z@U_>*0NS8-7S6eG)u6qk8b)va2JL^!7(>ixDc0L`jMsY%Z6%9~_(QAB>U(I^>7)6V z4$)tXnHBhk4oke@cNmPGpVukv@XiR6agh26>q%|tf9g0dJ=VW(i^AOYu8!l;YOC;S z|8Sm2zMio(1m}|%*G6JlgaaO0Edm6!M^N7-Auv7_$~2(Io}KLMHUq+&Fk;?twa$t5 zExXZ^@LzaVu!5tm$^ZC8oPzB%We6NS<{+YY!xm+W>1`suLw&035>_S{L5LWG2-*gs zP{f)me-MAcTjQD7#yWToeI}jZRTY}j!sbIH3Vxh9b^-Tq3(b@^kFL3Yh`s1@N%uok zIRjPgynPMCbIeH5w}H=#Nme36s5^4yq`-GGLHiT z8BMH2N%P!sdnY*;bS?tRG=vdRZuemTS89Aec0^*C=W?Z{4fowUO2XW2c$D^cD}DFX ze+Sy+p4%xA2k~=y2J`aC@32^&)%4 zL#`S=V40PgL_WG?D}OZ$nVT3d-etFeZeCDSf->F#Wks}s($EX?pa z!TAa;6@*Eyzz@SI+d=`>MnxmN!vR~@Q7wr+@LS3`tfP^suunU3_TFEof6@>IreM0! z;a89qc`6?%ff=@jF$B&4h#SZOQ_U;t;Jx-^ zSR3o->M{w_4!^!*kwtrM5Y|P|iL1|8pFj!TqMwC|*5S zpO+{0g%34jb`pvdVeSDVfdJ-*$iM{gs_?DLbs{Z29>hY{MJK7~e~msY0{C37f`|?R zsw%U^t>Rj>xG-~CEr1`5i*L1Fq&D!cw$r3Mw4*Qke|JQc@_Tv<_RwFg)9{Wd1Yt0- zPvZsshvNDJ+6a4fdfFg_hHPg*2WA~zaG7@&&|<;|&!F%@na4#wk5gp-QLwZbQ|0nR zyXzG0S%3aAoWitgf69G8S{Vz~85#Nzkf37Lrz^Xo6AN`twpcTNca$y0sB-Z-sm)0z5tb+*%xfIJ1^#wB}OjI z9eN*b;d=bDC>#0WnB_(1f1a@vR7y)Be+lMedMJZhN#sou=Tmwu z&y;1IE)f(`2E%*+Pn9~7^uWs+CAm}-XB#?U)(yr_SGO-j)q78A#bSEdV+FrF6LEzV zrK860h58fZY^_Ux3c(Uvfe&=b^t*HxXYWO#jxrMFh+gknhiHkg>xU>`;4X!Oo#t8B zBMAK>?=AKJe+6Kh!18aQn*Q5WQ5jO{Nvh?z1uX5!^Rv(wlb2lU@^yw{V*39`V~-i$7t-!Nm`MLfe^XkVR(}5-yUUK6bdtN9D8#nc zw&|NGy=ir916{=VkEM6WXaA?SK5uG_beA#n3x||m(TNSSaM8QA4o)h_G4q(429&;G zmsAa!KCH*tY7M1rDvv=j=knP2bXeFnm5vcUK)Algt;!r4vidsx`ip1T-5u-!4j{}> z?th(Re>49sRvcWj`Bkkrz-z$9R;~Do*JxEvtmd+7`V=+(0J=}n<&)iMJ9do-GdkLh z4!uZx`_5`iDJNwo8Y%PZPJ;zVWov5)tv%Hu7Cdf2+A*#%M>}y{sIr!Hi*BMR;TGH= z)J=H01JJBuj*KIJIz=popVjAyE*!7_CsqA7uS2dkEx%A6~m zss4^3ZIE{<@KcZ|WSMomhFqTj2O7o_j2=05OoQk-M4MK0Xroj45v6ss@gCV1Tb-1; zf0841*^b47WJkfjKMSDQ%chz9iYQdFpLzBU;R(%te@rFq%IXgv6Oz1*Z?DBef#AC8symxD#uCT9vcfHE< zqm2ziuDVXgKn=${r3~OUZBIkuzb>$keW@&5fK%batb3JuHNIa`J+5!F>wJBlduxdcs;IbXC-m(}e|(!4 zX}5tUW2@b=yQPwgS~H(ZN`M<~Gx(3-pwi+nK+Mv| zNwC;RfQzmLd%I%5$q&5*isl{6e|RAmWIOL`w|{^739Xkg)P=91b~szG{zM$H5CfOd z$z+C)G1my*V^N+S;xvpR#>oNb!d-|nrr#!bQGlm>zH6P)9n+!qplw4K!;!13h-L<@ zfo0BRnDUDW%`Cvpo9?!&+!49Qo~$E#5cd@Zs|>A&2F<;n!kVzYoZf8HgJ`esmo0c6#uJTPGO(W?TLP~gJNZaH|>fpKFJwke7) z!ziBk$&x2|dx@FYsCho~l^l;rvu@$0{p6ouXRj-kp|)6yC&A3f^vPj^_=JZ{!x)rR z>+OakI8La3J71@jsgF>a3e3&(V$~WK{#;rL#%F%~@Wzfz1DFWzf8o`+ThAxgYqreu ziG_dk`Sd5hocS@+rVAS&vq4;~!=$$tOhwtohYF9MOJOYR(kG?iQWzvKk5P3lt*35z zi1rM>oV`pRe;nJGsA9k&!dBd&(#7hprWbz8f}PxqJ@u3Ed;CK=*a_<$n+t!vlu&HV z8cf?dAyjVO_%>p9f0KJao)Y73LBUw7*hgYiY@|JZ11M37_57sGv1t3xy z&rsVULz~Dbdd)sxUs5_OEI34W{()CKQHX$;J?mH1YL>-wf223G!0w3DGc4MSpe|Jc zV=Y3}6n2vxBdtw*Q^s645opXJI(qF{csoP>$6FG8yLuU2N=4}PEP?2vHx}6OjeQd_ zfonrqcLxj!pVpfp=w)+d@inBKas{g5xfzjOp9vuMJb?{(zQ zxIK1-@$G6Be~O4%@n{Ft7N=dbdblZN3ga11UZbh0{s+}w0d`eK1l@qB(zWb~mO_gv z7=`u%0=9Y}s^)%k`BUgxdgQK%2i48*8G_eScPcegjb_mEIH)sRl|f zjKGZq@?#%%=s^_vGLWX1pNb~=B3`B0oNa%^OJ$dy zL?rL3$lEJvz$W`f^$g8hFU5(+1m!mNT;SH5n~g%#N0c?NTkg&Wb0;85 zXsAIrn!x!mQ-9;zi!fjlh5knjc#OMy99Re7Rog`+r{2MLVD3FQRdz}z3|q%pH!3yS z4~?g%M%ouOmvLFxxI!34AucatL1Y_LzDkqbV8qk=I5cnOG)@APy}2aYhF$|8c8-Yq zdrYk~1RHwo7kBTLOVP-sXhSc-Gf>q0!&Y(d|FBYNpnroaNX8l9s^B`t+1(6jJXWG2 z1s{P@Xv~rwtV=hWy*g`wbcc-KOoD znIvmuyni~m7`+|t$p3t|*JymVhSEIQ5g(JcfM>@WP7H-8Y)}P9p<~9jgx^_P4rqceJDKNp zL4Q2P@KJMK6i~#v%fh*@szKqZiD}YLQ--Nf8dnz3cQh!MRIqok-mr;bgVKE~ zH;&*Y{1DRfPOYOW22n7z`yis!eZGd`1VSO$QxrwiGz~jz68k_C!4+9pr}<2PHqbqy zzKZvy5dnPx%nO!$9mm1E7@aFcjDps>ZDJ;7n_NdUD6qS>+crV*UgyQt;BvS#@_LQ7 zyP->^o0304;W@u+#ETdiAyhy`vwv@&Ld*#2;|Z^=Jo61@WHBG^@wBFiiEwFx&lGd7-J<`rcX~Ti=-_*_R{d`{ z%OJZ3WZfmo5PS=?eaAj8pv40hK?V7U* z*K56?LU+gM8Zexnq-cF2Me8pPDZZr~(P7-{KlqGscth36;5Syx%QAHuRa?)jV*F34+3ovl>Re<<&vJfRffriXEK9(XR70 z8@ZElsMKZMoo_oY&Y#d?Tz~&ozF%I=eI~iSE%OdG$9s9=w8-_G)b*&7C|C2}IG$^o z7~I3)p-*wua?HGRTF6w}EsAbB5d74`7*?>rxWg=jh?qtlA=y5z1x3P0Z&5a5G0SC0k2e4Fv5(PopC)L0?o$k<4F*A*KFg^ENF*qxLBWW;+7gIPpEBACOTcYpz z^zvEF#0={+<5rrmXt%vfwPGI?S`rws_8sg3{HkBNeqBFkNd zO311l%5)5N`vwxo`9|J6v{Wqf=SIhjVunfbeNGYQCdd;))qfpUR+EM7jVeyKzcCH9 zB(XT!(n1wYZ->l$V=-Yakg{L94EnEwaWc=Q8FU1#;RWVC0jAO?;df% zLbu#6a=t$2pRYF1U;Qba${P_32lqV%MT!gO0W8lU@_(}NJ)LcNQ&$8^Sf?;&Hc3H#~OBb0K`* zDiArJ{g}b}1rPWN+bzvP`!GwgyEq9MbDJRz7tHPzZ6lPd*n`FZq~acgi@Mi-Ofi@c z<3Q};YJbRndHT+FI!+J#1n|^@$Fu|5+;M0(A%)QD!HdZ?`@`H4>J&p9Va=48GW|R? zAF_KfrFJ((Uou}=^({&1YoRA$EwlMDZ$D^Qp+$>F-7e(?srj!6BToIVB}MV#UvdN$ zPwEpw)OI%^wwK}O(``D1$J*aJ@%_6yh}&I(b$?60B;p*s1gkXBlow%q8v!;Qms^~v z7P-MWQ?js@LS)xypCLiqL}aR;HABirhl(;a=&{EI;;HlaNU^=MT*cq*xrR#TpBee$ z&9w(vB5Sb6M%E#l#(_NeCHJkrz&ttv$9E)x{Y;NN3L_9kq3C)R45DmJpFcQb)943l zcz<2)YL^yFh*!$_-!x=le{C7n-q-h!uYXuaU+n6!a2+#2v5HDgDbh7h?rD8R8^?Je zT`xFYT7Ubv)xv>GVrCazbf*XNv1%KAe}DgKXXG^64sN^BN7rlax4n+00BIZ_8I`pu z)bj`=;)T;km)l*>mr zVZR7jHFxMwh29CCy|OgQQNXN~4h49zv@0SJ>{%Ap*=VYYLLRkcdP{ub^eI~Zuj3c;$9vgNv90Ml#+m9*VUP)Kx zYCUGo0i+I-FqqPsxW!_kwBwe6T*tuA26Ngi1F2-I9=2+uOydujf1rS69)CtL&@Zu> zI6u*`VUlN7rOtzX6HbpO@D0~1vV>m?>Pd=~2@^RaHdy1}mL+Q}#p5C7fcdy}r)0H- zs!PvS2iN(AwG`8fCjAlMQd-=+IvClcy+DyLW zI&mE>!)1^#hfa4&!lVQlEAl_Hvo4fr1|yVo0_3+atGe=>3oniGGr^L2x)&tTGs8{T z@q}9BxQ65HPtc+6k6py@G`O>_KwbvUC$&yqQ(OSPwt%dLHT}%T41aTqk+s$n3W6O01RGewU)C0diF~h7|XaPNcF!JsF?yVrg6cC2`nqYZsOq@ zdmcp<=`FfaTiJ8ADSz3+On6gOXZ2!ymr>L-Rdv`;P6L2`>@;I|BBb%ZL0s0frd=Kr9*`#-D9GH z4Yx-hv#6k6uD@=S1#3U$9>QVvjyA7wb~E|_@U`$EzKgkKz<*-3etgFxz1Q4EU}a^Q zOphs9VS8ECe=WaYR8Vs|4WkkdvB+yhi;`dFt#MyH)_3XvU8XxNzvL30qmD`QhQEmm(&yK27|~i4 zC+q#wvc#An41by{t|@hFicFYF0p1-{E=8rWJH^2G z-^~ZcqghC4B7b=0-}$#8K%E78q6%lI!%)ajk!r-}d4JMWBF`F__{TUkH5MB!d6Zpl z6?Pk~pVa&Paf3;I>pmyviFJhdvgCOT9~`-m_-++-ZCCwtO2!)XeBZj7+sI5fDcu@M zndHoZWS(QUIzO=!kth3tA{ohQLphs-l)f(z84m;LZ>W0sO|ZCw8Uwxd8O3L;zawC? ztn*SZcz;zjJJ!lekHF@K@i?9Y2+HBudV1AAwL9JJGZvY94Hfr;B@$XNqmGjJJuSFH zo=Z`gqv}{aEMjl3W0ifs*{;*1nk0<1X*%Ky)DY(b4;grQio@3A)9FsHT?o|DPjL^r zka#`^QXeyjt23bE(ZCv~cXSyCY>GIwMn~Ae0DqKI;WdEqD4NqKO{n-y@2unN+#5?x zw#Bg?LUckjmi#_kOd^QpUtAjhIH9_^pQOP8ldnSC%Ag!vesRfu^^a0xw?j<1q<7gN ztcO9L*^XBdJz50h|2;&>dkQUQcy5Ef)gOwK|2J9bAWp-1Z1vBS>L6fCblL=bf5VW4 z5PzTZRnI~!`Vh-{QN_3_S zbL1#miAg(kMB0Jl6sMIo)!oLNY|8|S1Al{qB+2gTSo=E)ygFOpGTVS@9UF?)=`-`x zwYfG1QBX4}zN020JytJM*<1SK2egRo`X;JOLDag@T_us)u%0q+(npx2Lgks6Jbyfm z;`hZ@Y9w1XCnWM5ZGMh=y0pdSNIcXjk!LxIj@{9X&7Y~e?q2|C3t{Mt2V!TTHBc?; zqk=*et#N5FWXM-FhW7f{!uRnS#Fc3s4SVdT!L(AHZp$tZ@^cV_DcdCZHE4nAgoWrY)j#yo4)u-6biw=tnkekj4n2t4wsDRn-F9FWkaMTmc50;U z+h4bt*^{T2@fz?@3QlJy27j@+^d9#OYe&|I&~Vw}t|S7P$R;&*S{uR%X7MJ3Ua6K- zg=m1apyUF@8ZehcAu%F<4mDJHhF}zn_~8wubor~w;`0%DFv5D1>!CJscYVaYzDU?H z_%iS6u0;JUpa%?oM&FFaFn$V2)FC_9Md2;JeCe+qf`9k;eS1hx{FD|- z{*=8<%P!+lY^{V<>y7;!Q|LM5KYRl%J5dhhLed`7ro{upS)lMERI~-~J%mxQ`Y|By zWYh=S3A&u(BKS-!9IiR$6~RLdI+|=@>vmgq&mh}3D>T>t*zJGHG^vx&Z0kLTz_#>#>Lio zbCqkIPrt%lop>5IJ8o4_H&w`YDN3IOtCf0r7)`R~W3NSpgTA9beZ8i&IrUiz#$bl* z!r7PJhi>QVR!}XmWg0JKmQlFUC~G2t+9_!B<1h*dAb&pSAWQKW-Qu0J9XP>Cy~-4# z=>V#pzd7?hkF(W7q%0mzw0Yt^+a+E-Vsi2&hyw%kNH1smgi8<=)X7OhCc-O_kBN7DfjI{G`5f9 z<;|_1tdzptfxl#|-DNON>Bp!NA26^k4e{;BR)1*KB9r45F90+C8mSq3ugnA3)AJan za2HN1&qmoy7_v3n-6f#I#1%X@e!+~_FJ@B*O*5pNHlL!sM#px#n-2@ZVJ)}osE0*S zx_DTh{lCuWZQN5)v}aCraN7`TL7=+~IV)q}LS}P8bH>Iz^uhlAMsqvO)t$@^w`e<8 z7JpiSIFNmmdvh5fFia-Q5krJ1*GJs;+b)5Ls;tu!Yh{BO_u0SQr|p}v4mWN0&`%$N zJL~v_1&oe-s;5KbN$ma7pHYG{0}1SPku+GrhZP3hQ~iRbF}+f(c3%=NZg}FwfTslK)%9MB7a&gp&!;C8cL(ao-aUpn*|e7FN%0n6q>I} zyaAI4b)N(AFlpx@g42ffl~V~<%Y^>7wbO7MPiL)9e$gq*X86!y6#wU-BB|9(8E|?oWAk!vzIc?tu~zP%F2n4D^Apc*%XEW~0}o16xmO{(!Md zFJ>X#?2@ynd~ZUUDt-^2k!xdTet#1#5aCLa`Vw=dE<)ib(3`V7x&4Pa=R8ZPks#3r z@kk%fzjH5`d@Bp)bY*zU!#MNbz4K>y&j<9vZm1puWpgj^GrFV;%<&hKJ9`hR0ni!; zrqK_1>0Fd`)NHex$3XBTDCJ-e@iLr5aiyKRt<>ciX-6h4KwaoW>aQqg_J3F^*@(pm zPA+ju+^?tcJyXEw{l<}g?pl09cL+4ZAkBeFHGRolJ~Pr)Ou1+%HAbElt8Q%Z`&8>b zNQJt~$N1spfjA|c#N%(I7A=cJ4H8rrp3=5tos$@r38V{KOwI7<5!lV5Ao*pdvB4ncM>VqunjJX>%1X%Z;1vOU0d~!ozOs z9rDBHP(bYSFmS>8t#6U8M{JPz)~g7^R(C~DPfL;n_kNTW(tD40W9y<*F-|K%2R`UZ8`HJYA1NH! z%(s=lJ)BXCdKzD@0Bf~h(&;D?6OQRT|M$Thi|=xMhFG|or++a*^hjv{XQKUkMY~8) zDR7&d2Qy!wC%EcyJPOOz6fQMH=N7k zwN{4@fwtRj+hy;$?u&kZfGo7>+2&JnCHQI-iDNvMJ)|}ZdlWv5%qwak!QgEeuyuMQksVrttlYv#JDOM@)Sz;+M4Ib&0w-r&GvQ-f$=(WdM*5e zttG7{r=Jjahe?ATg8X3V7M1ysnm~SWvgJmV@lffGD<~DSz^S`ybOV9OkOHwN8FuUL z%Pi~ohFHuF6p6v6a(TP{W4Rs$=sLxCY?__0NaacPwml#4te?%PBB77$5(wQ zVt;(=$vR@l`~s=~{zGUgeU!M*&#e_jCi9=+ZJ>S>m>texspgSg2FwX1(`r&Gcm^i8 z(D6%UX|w&@3P0E%HWqC-ohZRvR;1VB^L1Sc?6G@nKI>E|B-e~53IVkWmAf#&=2lv* z8KOGB@|Iju$lPx4963hsvDLNPE%P1=1Ajz^PMUVBXmh;Y_oH!q8}O+A8~`M`$1et` z10#+ir+{$KwJdxnjZ=}npDh?gyO)VJEybMAZ^3`0b$vqlFOKCScr4I?L-)e!s)5W$ zuX0Ul`krH`FT^38uIC$_IBvij;yE>J_*{~CBAH5sO1qiiPu3}Z@l7~R5Y)JlMSq{7 zqzIo-GzG?!v#z59YuMJtGI=+-5pmx}7b2?FGrFJ>{q+7_xXwZPuLO1s7u+;JGB*s@ zqQJ3fpm*t~xK9CLd9EHp+J;XW;94A9L7na`vb66fTq<36k zu+gn_;2~-}5RUb__Wn}>x&RmfG=JThsLc=1P&hqIZ$%Z`kaLsdnSGA4e4_i=o1QVp)&7Nl0a%$wQYod6E1vsFLCIrZ*nQWOIP`Q zHrp^pR`>Sjk28AH_8?1EbV7{Ikm^w;ifPDUczbJI(+9^q#_L~m4a*^IWt~tpby)oA zDz<59BGR}@~~euH{@8f9a&lvpMX9<~o?f1L!1Q#+dZ zGs+^Syl~l)dyl^J_3ao$?E}WMK&E&b$U)QIQs2JRO`)Uy{{9Tal=8qn%SqZ|BS0f6GoYcF+fb? zSc-H2x5)?%=8$b03^NIuH*2d$hk23r|BcgG99tu{V`VD&$#J1ZaU|_FDRR!M%xVJYwS0KvN;KCW1Kk^&{)*R|SwcevwpUW0c=OJ33bRbXVV5!&i zVl^)g4)4+9_6ut0lC7zAP+4dx1{hE(0^Te`M6cfzu_i4)2u~L z1RkV1h5ie8SFl6gt6t|BY#0KW53N@|21`eqLxjz|sir=)>J-rd4hn9PjQ;k!ESwaY zjQR8UM5k@|usq_l-F3X~_}fg$^)F#QoKGY%j0U|@HoK84r#}3ArD{o0BOJ7 zU@hq`(1&m?bAL2HPdtTRN*e-)9VPiuq^D0*apvs-cDTJ|noXUWGGm-^Gad(nplRl$ zT1xq%)iH8Wr{duJBcK!k55PPF>7Y@slvKa4Kn1 z0b@+=*vuLt4Dl3|+bWOmFqX(IA6k+(wqADGzQuK09Df@s@+kU%{}m^(blfo~5%sB( zgZsrU)hQIsaLm*R%GZ?4PsO3zw0SX#?Cn_yrp(Af05>yjYQH_!{gdxt{KGkh*CFyB zCMkSVUiz0vhZc8%7z5#pK}4@_-#F576xy5I1xJsu9{XSYhHDI9M-TpZ2Lz7C|ONrzO+` zV~p$c1FiK%6yCGdeCf8IdUi{!QahVgsmd9Vs((}meK-RU-<27To@W2q&(n+x)e%4> zGnTcESuOIg(qHF0kuy4WMG`I7sI}vz4KQHh5KN^-)1ZrbP}(F z?0^WM9~Ds-aQko7u<~xz)N5EIjrCJ;;7;R8ekTsBy$3i%=RERDu$F za9B1dV)s7YD=dENGyq!AvGVT>=?AljN6e-l=+LJW4wTbqLZ3L<-2mSx@>vqxW`&w% z`9-N6ZL)z;xCS^5Fek4Bj(N z(Bmq)|NqL>yU=IbUph-zM9MT+r2Hmc&el=1nG9~TSTu2-xeoJIza-^D-)ZA+dQP*D z2KqgpqxqBFVM$&jAtejIMeb)wnsNBq^WnF5RL$o7)q2Todfod@@la65j!zjGON&EiaW((%dI^= zN9n*-vsZEjtevBDDq;h3g}ZnNi@ zQ6Js>Lht%d8+TsZ-{~S-;il0;fK*3@DHQnNLbE@={e|A5(M}c_hFT(efh5HC`-!xZTMSp86l}Tr< zo|frtmFHn2|3>jbR3i!`z#he`MnM>TJ>@x0NqwaJDA{3hnzKJ>U&c1`r)~I2t|Rs3 z$a;F#?+>39G+6`DR@eWOY?iLbfH+hEbtWjTxF*rB7D^$oGhlyntPliJToAUlg*~21 zFaoW|**pq+cowRM^3He~Wq)0?eG|odnq<>;iUm1Hd@9yXA=N*jXo9nAG(&AdImiVH zH-$9Zg~lH}tPdhYu|@Y$rek=;rJLDMSIeg`TVKhpX7{RHod0miMV6a__kM(Sm(lpF z3g76Hp{RPv95+b1 z;>=`hCO>=T8uSm8M0}l|$vmDSRiNlbcT9VFN(t-Ji_yU9y6&@@GOWIJ?DnZlta7@y z6e4ElBZ_b3_{b9~6{(=?XT+&(rJR^AQC115-$v7rApDJ^ctNjrh5)%gk}m5vxfq~u z@?aet6(2)K<-%Vs#ebDUX-f{@Y^ZM4-}$nD>Y6Cet=UCOc+eeoV{EnCc1OSSf9g7~ z?p3+}O%{H~B>IA3kRrm#@^$QmsQ6jfL=5`gs*q+}&<#u|T8KG{B{F;3_mne+vsehr<$(MrletV4qD0>J| zvu{BdRG5ZkXmw2zC57DfNm?$wU~{~5#k;m+>mu!mcaF1*q8j6zw*zh3-&`I9c zh4KB_?>=Ct@QAg;?n7+n>kw@UObHCF8-(s82yA#*FHo)e5sb$R%)P!*s~${ANl~;0 zIH}?Tk8!I{ePkr{n><_wU8))+d!rJwNb!H zo>TN;c&WiEXd_`ge)Yz7gehINt4`UUoSs`^q^H$EYEv|+SmDK~5Mhf>RKuYq+HG|U zCd^-9O8JUu&y?Kcy{F5NYHmz(=%OQ>6<@yh7Y`w0^-7dzeQkCErVn4`HkmP_k+2D> zQ@q8(j(>-NwT!plDRrOy<=PEn zSu7-Yx>ixqP&D@q8Ad^1(`&osncC9lq(Zj~E-95iSWE#CU$9Sb?k3iF$^G#*Fjtz% z`{Xk~S05-K4q0h8yuD31*W8QQwyDotP*S4%bvhdx^Ao6ZB^kYdeHRm zYehFY7jn%v!13uJPOTFv>yGq5$Tslx<`K4w>}woOQ76je2({~dOv{KpbdA=}FR}*1 z{(s3%0Rw5hbh@qlUQ8i$r`2#@Oy>T(9jDpowH&jG<7&12m5XdocFz3yGBDJ~L#U2@ zzJUa~_J#L>^yHK_Dnx4`nZUBb46TP41^Pu;$NQMX214eU+>L#};9db}_#T`6bVKHw zvw-?&!R*a5oheiXSG(1K^M8CZ*?F#+Rtb12_u(|7gvo$(ZJ(hiydIB* zU8hx~KcD?*`B~-q97o0jDW2;H9V6-0U$UZ}XipdqV-vlS+gEGjkrFX{!kO z765~81$r!`>OlKfw`BghNW*$=)Oy!4;F@5ZI%1(wdXSkWH#2AF?q=qqdX|&5*_{l#C zJe%e%oQ8Cc`O@GVv)X1qW(zBb)5rW>eP|T`nsj-*u{(zTDg~UyuLoDr{*;+^ZF!a3 z-an>nz(T0WDU6 z)$GGCDHfC@7Sp9sr6X6kpv?td$QSf9B0r?uWgq!#N|^)2!8hzzPfy7{%0Mm59vC8U zP)sB?MsmItfj(uWK~a#E;4XQySPiP6IRa?EDkxSe(=t+fU|DfB+(zFUG=KBLM$PjuWLBEwf4k71xX+Lg9Z#}naq4z`JgMXx;#GcGu-?^#!d=wkBNh&h_Gw; zI7ds(z`Tg(OKC09&HB;Kt^x5jx0vs4ZY6cCdr zW3rwsx-ljCkcegS9{v&-_J8yXoIVZ~XzxUi4-)d37cVG~NIH7b{FjE40qzzuw#WYa zyTH0UtN7|10oS*9?=vIdxN5htqFu+cFAAAcBn-Kp#Jz#(5{ZkCxrycyEx`w$`($bS z7^p;Ar?euFBedGkWU2*~AiZof_4xnEPbsw!kNpLom;f*qn$LL&e}5NF;TOXAgAZ$Z zi;1tAt!Z!{=l?d_Ew6ycrgaX#r6`LT2}pUewiDvK8G;K)fV5s;-pn=r2>Wa65T0vm zQ)bKJ`|9k&rs%SwY`aUvY^mDqb-1_JXn9Q=-`sHNAL#8By{T^xm;vnd@=*fM50H@* zgM@r~@=?S${c9QKwtro@u;J#UVH$Afsr20#uV7|G!6^~x0@LxnB6--(O>H5L?0NRa zQ+IZ5R?{7(-gv#9=k0jSE`_UcE+Y73-G9jB)H?RlY=MuV%MRG@P>|lNTE)^WS-{le zkcu0Tl-5NDeuR!gX7Y_h)?M7=j`=gvYAxld`B?o?;lho_sDH|pI=`dciV8@fIcjS6 zOyV5um-s~^Fi}Pws0nD%-_wyfXB62szd5IAs4_IE!0FU9cbZ+h0b!#?&$B%f-vl&= zUUA>6u*&;;hKTh?29BTsaNG~4rnR>96kkAU|7@#jdRNA8tWCty&s!&s_-5B@G%FLw z|0HKwK(N=uGJh6l)gI-L_y&3H8|)+*GQ@>LLmro(Z?S`_n(x$NvD1KgZ^iy9%YJN~ zYm1s58&lHloBHDaI!+soF1V8|9vPd~HXFL7rAB|Y!~kVlCn_VB7%!a`qaQjzVHL2r z2HV|O1>yD&eIBHWZF@yKlrzpNj6$i<5H{^9xJ@|2DSv9hTmXmuH4*UvUSefYfGx7( zI3E^tB#nWdR%QzuK+Kxay8^w?Dxf1~QS2Ywst8_o8ZBG9Gk*5hp;$QcQ5+-c_$hs` zkNIb8Q(?4*Xz*RgAg4XP5EeNMCU;pvdmmy;U;5!~Bn;9$6q0BXaED};KyrP=qE;%U zvFeR{e1B$jLSBSvH_A9Z)>x=V#QqInU@gsw70-HHBeu{X*MZ<)&i&C&kjvcTiq0-R z5(soJd%H`5?DsY^9(%U4-OdBw?6&j$uCua#?>Iy;ep0UJN3^BiPlZ1>%qv!;y?Y7x zRhK#L36=n4|Qgd@xSx_)#(am~2z<;gRa1qHhhEh4rmSLyx8TZV;$t`p1 zi^F_C^yN^7NY`{+eF^qH9a5JZb$CMrsmM5(#Wj%O^oP@sa!x-f?Q?WrRbvJN>IkZY zSY6TvGzQeleWmCc?rw}wbK3+yE`w=hOI^nadR|l};5P^OnvNb!cl5BUJf5RL09!Aw z-+u*|;6bvq&S9Y&P?nR>PG%^`5d{zWV{}i)Cm&gGt2Ov%i(qp?rUxQdxHX+{35n5V zcfEG6X?Gg!jS_saO70bX5xg|7Iv>#aaxZsJlx_+vs1nhJ6;S9|2j65m5T z8ttkeaBt=IU33*HOC!es=+Gx~X}5uu;CRip?QJ$=kPY&_66B|%DSmZU@MnMY3V*Q% z(gm+)Oh-Kr-dkrQ1lJj!7L*asDZfH9m|-MLG!<^)ppHOTuKl;nLZkczZ$K`Ykc8s3 z!^La6=h}=yEUm6NeWwE=QoGf4i!r6>1sbdC+oXp3*C2F;PU=aGMjj_POIoqvbREh6 z(v!5k(mK%cIgrdT$27cz9d=P}qkr*JC;HcRZO3i46?e;N((}>Wt?xVcZz(ni;nj>RGXz>r;aJaOl=XrrTmP_#SLd2{?VP>up;N07i#%n zDnM-t#X!4)KyGx~FIr8v)zKZ$pNn=y_Ap!DF$)hp%saYj7$){v9`79sxqq=y=U#l9 zr8D{J!5eU_V}b6XBRtBI`#^fZ@qC%#lv~AfrTMF*HyB%;(vzpfFw5s_i~NM1hW_m$ z=Hx616g&VBry$a;|I2`uDH3-2xjhOFNk%t*>0`di9%B%w3zcSYuGz|~%0YT&LkkeD z31trf_eHXtzF17Y)#xIHKX+Xb1^g$BZiUVZRfj_4NbJyCZ$H7C`P5fY%>e*%) zJb3)-jipwlxL^3wEXoPi3f%d!-D9Fyr(?IwI8vmVUatjwSFhd6U4I00=6_3pcRr4M zx>j-B9E&0g{;+}0vgzoYWSovq^V?AE5nkw*VR}c4lP=vjcX$@b{!w}+_sjR7^JJX@ zP6RnGTGf}8CzA&BzNR+%4XR(TId|W&`g2Oi#74*(ftAniNxdNYOYcq#|gg9}ZO6zh#X2nf2{(r6dXK@&y3t86>>x$4f z>(aE5D7lq}SlI!j+v-kyji>s1Wr0sqF{6+HHEF_SqFJpQXQ{4Sa=T|(l;@c zusFDKJGGh&WgDan)wI`S<6cSu?b`g1O1}n0^Ipq@l%c7hSKXhaBspe1msja5WQm6> zbI?%bP6D>3#vh5J$1{50?!14jg_-J`Z@dA0xWW@F4+(162Tw~-PpFlw+ zSgi3nPqf?I5Tkpvx$?SEJqYf#Xh^4OTnWV;x6LFoA_F}G1B{)4Yl{~Zg0?E9gpat>pjkRFS22+u}`sKV21%5rc0NC?+uDpDx} zECzK<(|=a`Xc?|D`puvh$&UhQ!xjtja8*FgA6XsXMsi4&gQV2wz{4EMtvova9rkjJ zN7inM_Dn9swGU7rb_X(>6I_=y;P)Tj0!;WID$4-jr5jC+h~l7{pWRR_4sc`RMa-2| zY20Mx$Oe{*WUsNDa9VdqqH5k1OAGiOn@geTG=E;aV~L=q-DrZ4pn2)nz@-iM7>mxM zG>mdbtBj%;vq>m5J*2#4zQiO6sIA>cdiJ&GQO&d{eh0=-EbzGHAZjBkZ3-2&-F*Zm z-ln3V+OhiH;{c1vI#89<6wSb6@eoL@(_!U?b~iwbT($etnWUBVyyiw*y8?s0V)9g4ralf+|ITM=q(Ib?M%hDl$ND`-oC`(P4cuMd$H|@Uz|#Yz>aTFD zQ&GRX7AAg{YUr7?QuBc%Yry2X8%EW*b$^v~UwR!z^|jkQAQQGPldjisWa8M+N&36t zWIsknJL2|a#fM%#FYsIv(SWA!uq7sd#Wbr?hN@8*@~QTHrs~4>K{3z z*K|BkHio0zX65ukKJ)f18wK!p97AU4B6mDIWZ@cXpayBL=1X6isVs+iu%r`ciGNZ^ zYhfzmODvQWADQubhEtFGH?yeNGs z*GIYz77PTvil;$3iCH2w@n;l7V5v4Tv7n|(3KWlRrRpg98e zIKI2{7oxg+6-S&LN*TNgBc6L+Wyuoil{Hke*;>qQSOTsX1_O5pZAq0xju7OFXY>5A zjN| z55SGI>^NZFE&#Cj!o+6fvE7(8Z3@8Gvww;%E3tn+U&KE9yhb>Aq~y-Y}m_w+%WrnxCDP-Li|P z@S9ojZxOH}^yn4qt4!%(+)?ts%kekR;dk@2vq2zPOdva7@s~D<6zZ6!iZdyDbva^M z&+J2RW!oL|jO%zWoEE*pR?lg4dd;TSZWa>%zy2~C(^BR-@&L^2_Ef>F0Vf8C1qE2PWZ3HB#nh*5ss6ERRX`NCSvUXU!^%tf z)o^YgoCb_DziIq+yMOXn7OaPZ%%Pr(AmU%mhICxLHmfv#}OG?2-aiRhG4_FG_x=;ezMVOkh1sz?co(>92EZD|kpzH)E+v+v!%r#$}-3Oq`W1A`2$vr!Am-6k2iDauiIUQkHn-VW0z z+aP3b7~=uN&~lrS;douoE4=akQ`66fhsgk&LPO{aQx>=4>N5<-0hK$`Fe;cZDgMn; z0Q?O7yh*{56o0En<#AO_p%!i79-;;~8y>w;^;NVP=HN9daQ2q_VzS)9ckSG_+dDpG zdtRa7{5#$RNz5yMsDZT1Al#3Wd)f&H7dc(}8piT|G-c`Ze(sBnUchmQ(={(1O9>f+ z`fZETlFQfcDY45&5B0LShnxeQK;viWT3+)%rZ=LdoQtA|sWO5ouA3u^2GCjO=L3tjb;Iqo&8{sM% zJE=fc2~_M^a*vyL>`S8Lp)vQ8Oj)^g|*JPwAUE zYzDLt41ZzW?fe<}b21*C@nA}iOwr+sXH$MI>aiff$FK_c3G2${pjrip6>0r*EBL@& zi>zL&(0xqT*4_o%yZDK9bs@8O)PLg;yki5+(H!0EecCNwhJhf?D3ZTg z0I+tUXgriBo^L3QzWxS9gaxe>WIBTGPS*l4_TJa-owTbk7Kv##i=hN{ay zinEDGYz<(u%ALU~$q%F};4B8kJ#XTDAAcd4ZGy4#etBxliPS^c!2KFedK#c{uI5ME zEDo5=WPxofLWhpC5nxla`|W10)qL7(KckO(uC_IO^0HVH~4?Fq_qQnA77$)1)>WaWnXr|R5ht$XcqiysW8XG|wxS_VU<4`uNS6J^l1nA{foCrae z5^@3id{ZuVlul;v1GM}O>HIK_yGexv@!cI9W`hjv-{nSy7}_DaJ7;D^RY z;F=xJ7}2smxK-dde`r9Ve>%-jHS7oBR8I8~)vQo8ii}5Z*!RpyM8BXq&Cyq{UiA&oK?R%| z-iG+;&Am&Z(2+8VkrLgOY3TR+G|J;5Orh9v$OxirGVuXo$`5R+bqtrc4Wq%$UYIyG z_{rFx`wziVc}^)p#MX1XE!bCK8~3_)^HBhMn<_xJGUxea3iQP2Cw~rpN3;X3LKz!V z-a4k|$!ewj8YC2*L(pAX1q;R=sb-F~VbC#neX+lzk)wzo`keJ%O7F?zS>{j7%K6DJ z*o$XKmX9zhOY(4x>X0Hgrmcfxs8LX{a9PfUO5*AOT|lD0X58gcg5E*RjUiZ<>02x~ zvE9CT62b~fRFd%y#J*<4H$q7 zXcIuIa6{AHyl%DMv*l9t`lI+gJ_-|Xn0Ae|>EEMTK@ucg^%H1E&*pRxAj7_07oc&g z^U|R-rx-#0eHgS%gWQrY=cz+4cg!gXkAM}O?-u+bFazU-*!dk(sONuA4q)*|H4=|l zPO0dai|wBtyJ%LSFbJ);rA1M;a(U#vE-5-k*`1%R>cwClH+P}e*K~2(dIAMg&){GE z9MXKlk9eigU#H3*1U2i_C~4_MXhmmp#ZRY$X2JjVnU?XG3LdwBn@zI? z{s)Gbng^*(@ftDs1Y&>SRIHBSBM&pu%Xo}Q!Uc~V7q>pXXTZSHT(hMn0g6S9bOn)x zg@2RRC6!C91v&I2WKgz@6t71ssaXea7&dz)JP~Isy7K$l$XEUO^H9K0Bj_Mp;x@-w z3Y^eeLDY>IKy@et+1oG)Wfhj?ERD<^x|LP#qdW-4N`cQ$--3Txc_-)NL#@=Pgg9K# z8s_0EPTZ1IkLHIpdt4_&&7)M&7m855UeoP%T*vylz11f_|A4BM2P118# zYU+bHowM%1L5PB7>{C)Pl;NN}c0;3z>sGm)f>c!LzwCY*4_2T5^j&_m<`h9&EBX45 zKesfxQY{SQOM-vZOo~rg+h8|Ql{DL8!}PY}+J#8<_m1ehpdOk`}+WI&FGHLi2RKRgQVlQ7PhneYmUZVcB*>x#;WQ88SB^1Z2# zz%N6*z6&DzrhtS1n3dYu4rZ_uN|9EP)t~rNlpNOQ*2sVA7c3ljGQ(ciV`&|)*(^8s zJMN3+!cWntKwrW!MDf+n7kUbR2;!dHr$|;j_I;f#61NzmRE?TKy3T=AK3xxL-#lt5b>=12JUoz=MEd5&99X#Pw|NHUUv?Uh&_ zgmj#z^k{!kN(L+J#R$oWsViyfO&S`Laasm%KcX)QN#bYPJ*UjSszY=D&r3%za3`p9 z1g({ZzG|VMCy-|Yt)`KxeRbF7|Kk|*5bJEHK{(k}w6MxzuQGoDs+^cN5v*hrl&P4;)z2gx^W=10 z+tUfpj~r)^qFLmn{xDe3fkuZUSW*mh=B3Dwb+T|+C@%x-kPn6Sx+sG(<%C8nC0VcXY1u6)|Q~V9P*11w}uk%_kJtOBiVm8 zJ)4Gz`n3f$3YE)}d8{F5(`eEEbsW1Sl*dyQ9U}gA>F$arVm^R#44Lj&M5uUB=oRoc zzv5bgODJt93vCmhhuFjNBdc=Z^m8k4#@E0Zm!HJ;$OnW%t1Ac#*WPH+m+cub<7`rZ zDe{wFRoJK&?y2=UjQQ16QNAUh=N5nE@e16rD)Z}Mx!X)!r`!SnS>P?ePtd3EzqKFJ zIWSw(2^=Fk%=J;WPh_{*$ES2ha9Ex^g1}>HVGE~;W4n#5!&rPL6=bTHR%8sL_vojy zd3EAv@5Q|88cdaW1|fiy1z{w?J+EVmrM#V14S9NHd=9 zLC5Xk&N}BQ?Fag_Jq%{>%7XoS#A;`#y}8(S6GgMU2kr zbvj~q=j{}VTYus@2oY=fkgJv{4@PmyqA)sn}z#+lI#- zeZ`hI4b6=Fjn*2Ya_N7@IdTg}rrUKYd^_g_4otVzX*4^o)(8D3shXKv$5?s6Di{N2 zlrSXdI7r~8#?pJV$Y`O%d2FKYw8p_A{PPDB>hWxu0{lkC%AzP#aL;sW=L-v)Z> zd7O*`2+LpZ;{C8zqq4AAU|l4|3Q>HUqJk>sCHf2C-`D8P_xFFUY`4<|zFs}5XPk`3 z$*u0S>22O{nDpjhw#v<9my$5uH~Ot-+!j5{1QlU@u_=hJ-$#w#4K_nr=g%l@w;42{ z5#co$yU>MFa~)%v0*wdTEfZpgG*I&co_u3;7bNc}u1;9=l_90Lg+xrKF5`E1?|dM~ zkp-9mRXyA4+_Zm6oSX*Catf(r#lQ^3i9MxFx)y?6h$zL{H#{QaQbeBu&)M2_zQm|P z(&;6;5~yiY{T{EitVX5VYOrM&=+y2u$Y#&==z(>s+~THIaN0c!=S+QjHRnA$n8nt~ zTLj|3IvwSa7VVt3K`h?_Fu;|3YsjBC!9#v^A|rI`|d` ze@y{wZ=WGB^t6VUw7h=vYTtHx40X-5+axYtF&=;FO0X76!5A^j$nu(vT!B#-lDaZ- zASGc7fUpDMlWOU-`3-6}yuOa#O~SkQJv4yOoQ&^;b-z#N6%t%3Z-zcYkjgETx@iE_ zerjfpMB%9<4A0O;sm_FO!!0|_qMK49UBVHPf*B>4Aq)Rz=mayliC5ARlF|>GstmT> zH!FWo4nty!Q~HHzEikX>5VnAh>av1gS;Indz%i>Rvk(<*^QuBrTBqor-lxbp&!l`XV)+8zi0u?`eA<;e*8jhN?r*H~lrF=SM7batl@Q*Sl;;FK*YVeo_w^Of>@V zO+UmXGo|smObOf&1D!*w1T@gw!YfVKCb@s;uQi&`Pwr?s=1Zs9b1O$tV%a&|BcfC0JB5N=viU(%vf~;Ab_Vq&Zfb@>Js|rP~}Wl zIOU+Jcct}I@C|~_!cS7|TF5ieRf~VEt$11VO4Dy7elM;D7ds1Fb90Bju3IO2bh^NY z)A+;I)2SbYKqxTHHIuhXVb*L8B1OOsMc-78^KD6r?5b)hT(-wtG>jKFQhOmCz(hSuPU zRTg6FVxL`8lL>^rB^%CGEE@;J)5?FnIgO(kR_@VUT?M-pI*l>T9EkMJQdJnZS zu69UUXDs;_6eI4LXr{*7I?QZ&kiwpKdot8;?d{NEe6!ojp~Jc@@#jy#m}HlxHHE<` zR6CJSat}tZjwofvi9e$v^$0D&Odvu-WknrJs}S@0Tb7!^PX;r}_bzu~aO77AU(&{_ zh`MUTwXGb_R~nkQ&m4c>_*OONMOG=5Vsuhg$Swqnn(e1vANY2hc>0z8p|i~DA7ika zu?CQU?ax&1K`Gbk%;u~Mx|TZc(4!6d+qW4Eoy^;T${8Z4`U?BcseX zC3W_(IkT?kW;aBewdtUK=z!Fucg}A;@?l{U_{=8gQ||6lt;c^7`J0WvDzJJ1eK9@lD@V&FI|Vv=3c9g(>Wd|6E#e7F?rOgI+FK- z2mx^-a3#4Bg6VZU1E)Zgft3O5b^g{sOq-kqbfz4i)rkh1x4q3iwNkiz#L}6?W_q^U zcx;Qo)7h2>G5~EJ1i=o;hkFdStG~GtWl)MyMx59&|f0Qj( ziW!|Gq3AoRs%tN!BR7HjwK$xFka5373xDqv^9D))th)-}5e2>`0k1fvLZANuSdiQls$9Ke6?(Kvvu$36>Wr}wD(5_DXo;RwbQ z9*%IMWZXzMS#JV|qh+(_&0UzamVUpWG?GL3(~B7u0?!N;9`P!1HX66B?hB{qQCM#_ zIy-~@#iiZof#p`}PqDz7j_becf={(QCP1zb;}6-{)ED`^vuxsX!dpI|I0!wLNuYK^ zI&go?`W}-H<1yizqz$*AUqSawiy{Jl536P&I69DK z*N)c-530{Fo;O4XcE@DR@tSv5m%V*TGZXKL75* zrnq6A3ZiONXjc8`VGzxuAm9f18C?iG1digxgC7MC)}at9`@`LhCRb24TP)bW+z)@^ zGw_8v6{j&K;i8`-Gz89{*jJe1%_I6`g&&Pa@x*iL25(SuaJpUB7=y^sSBU8RD4$x# zdCGIlEKvIIs{n^Z%x1xq8$O5)5WHw$s6cU&?F_|h@zjr&;LyN55XKlVJ-cLT4NLO( zl~CJMz!UT$A^K;1VQT;ddnT`7LMeZJrVU;(6VW6?ulKDHTPN%?7ny6*qg1K)^(wQT zoE<@G_2G6FV)tI{;bfrHj9tc5jypwLir&;E<+|UbtN0R_*_lW&&ioZei=#`n#s=l! zvUiZi2$9>OU9Az%l<@&-oJ(5~v*+i!)|5KhBE|9;~K&ZIQvNXvr#djd3X5 z$SMY=Dbg=`ME18(C8VoG=quL+q%UHFB{CdX=kdFgzHXg-DPUw)x5fz!lt6^XeRf%8 zECPk_ArSJ2V}EDU{?2ijKJ|ZWc9?`A&te@tQ~r_P#WSbxvOW8$Ys;4~T%~VVhP14C zB=o$1CvS7@#PkoL+i|#7yR%kE#`IZQV0m)yHMn(U(@I246YjC1EDp(jqhSs zycmF@C6!@;xK@<_4%*b}gOzFfH#fA+R_lVK%5yGXnv1XPX<$s-9+7|Wtf#B=q>_ag z>u$H*u)ki>;IqGbLcec}&dEhCKE))CFj+9Os?UQen4?}^Y#w1$R>)bLlN_3RZAQaw zB@@ZZsk$e_u5RgLV_zLy^mTryljjXEH-_6DQ=+_fMVL#$XS=x3rrq#bu3Z3&=|@>I zLEryhfVe?l$>t5eK!AUX=d|=L4zNoXFo8vz2I6{qSLS^3p)|?eWCkcikJA~`C+tGK zLOHEK9gNvu(wuQxMbLz069n+&nfIrXT7`D+P-o8sf_m9p*$8}8W;h29)v4bMKn`HXBfw^0F z7O(X#-718agKA&8j)UZ-15U9q$zuvO} zeh;~75HI1@c+!VGz*IZ|7D1hJdAe)Zts(u7Z&q-(j+5JXMIX_Q4U>uP#S|tzF4Z#* zbi{gY*)P{=J1+*WE(f2V^{-yNKJOp*0bAVZ_F#gf5sH69Hn@KS%>O;CLiVseDGtBp z!Zuv3!g0I?ce{VY4igLO730Dpc0=r|&y8N~vc`TWdQepW&PK6+VJa?DDZPyOsG%qf zL$?V-fu91*6FpNhECAcJUh+7$2Nb)h^#Bp?dH!<%wlsP=`uzS=IxANULOIRe`{Uf* zS0AXy=0AT%CJPHX8PU2BX$lQ@)^d1NBGKVu;#>4&D2ocIBBOuDNf3=WEBNu9n)=*P zj30W%wl0UhvQDXgaTvn`3m!Afqj;bLgXMo{zdYPga6GHF5VjSrdbYn(HS*GC3wcKG zL>0;$e9>8G{%!$}B0tUZqmq?gZI&zQ>Rj%4+z)?uT?fRu`ZQPi;YOigjeJ-(MeInj zmnC=LE$l@hM&^|0%vKCz5ey*`Kl*0my8Yrqh*$)R+jPZ^r=v1uo28{_ËeJ&C| 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

aktP~a=dm_AWQ}uydzY&|lsXg5 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 From 8b1136fd4b2918c10894cfcb949f7172f982ab6e Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 30 Nov 2025 08:08:57 +0200 Subject: [PATCH 18/57] #177, Added subset dvobject metadata unit tests --- tests/testthat/_snaps/utils.md | 48 ++++++++++++++++++++++++++++++++++ tests/testthat/test_utils.R | 10 ++++--- 2 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 tests/testthat/_snaps/utils.md diff --git a/tests/testthat/_snaps/utils.md b/tests/testthat/_snaps/utils.md new file mode 100644 index 0000000..fc2b527 --- /dev/null +++ b/tests/testthat/_snaps/utils.md @@ -0,0 +1,48 @@ +# Read dvobject metadata + + Code + show_dvobject_metadata(new_dvobj) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 dvobject 32 3 547.6 Kb + + === DATABASE METADATA === + Database Type Version Export_Date + Original DrugBank 5.1 2025-01-02 + + === DATA.FRAMES === + Path Rows Cols Size + drugs$general_information 1 15 4.8 Kb + drugs$drug_classification 1 9 2.6 Kb + drugs$synonyms 4 4 2 Kb + drugs$pharmacology 1 12 9 Kb + drugs$international_brands 6 3 2 Kb + drugs$mixtures 4 3 1.7 Kb + drugs$packagers 11 3 3.1 Kb + drugs$prices 7 5 2.9 Kb + drugs$categories 28 3 5.1 Kb + drugs$dosages 129 4 12.2 Kb + drugs$atc_codes 2 10 2.9 Kb + drugs$patents 32 6 7.9 Kb + drugs$drug_interactions 1194 4 387.1 Kb + drugs$sequences 1 3 1.3 Kb + drugs$experimental_properties 2 4 1.7 Kb + drugs$external_identifiers 13 3 3.1 Kb + drugs$affected_organisms 1 2 1.1 Kb + drugs$groups 2 2 1.2 Kb + drugs$external_links 2 3 1.5 Kb + salts 2 8 2.8 Kb + products 81 19 33.6 Kb + references$drugs$articles 4 4 2.8 Kb + references$drugs$links 9 4 5.3 Kb + references$targets$articles 55 4 17.2 Kb + references$targets$links 14 4 7.1 Kb + cett$targets$general_information 2 6 2.1 Kb + cett$targets$actions 6 2 1.6 Kb + cett$targets$polypeptides$general_information 2 20 8.1 Kb + cett$targets$polypeptides$external_identy 13 3 2.9 Kb + cett$targets$polypeptides$synonyms 7 2 1.6 Kb + cett$targets$polypeptides$pfams 2 3 1.5 Kb + cett$targets$polypeptides$go 3 3 1.6 Kb + diff --git a/tests/testthat/test_utils.R b/tests/testthat/test_utils.R index 869d575..a98ecfa 100644 --- a/tests/testthat/test_utils.R +++ b/tests/testthat/test_utils.R @@ -1,18 +1,19 @@ context("test utils functions") library(testthat) +local_edition(3) -biotech <- "drugbank_record_biotech.xml" test_that( desc = "Read dvobject metadata", code = { dvobj <- readRDS(system.file("two_drugs.RDS", package = "dbparser")) - new_dvobj <- testthat::expect_warning( - subset_drugbank_dvobject(dvobject = dvobj, - drug_ids = ""), + expect_warning( + new_dvobj <- subset_drugbank_dvobject(dvobject = dvobj, + drug_ids = ""), "`drug_ids` is empty. Returning NULL") + expect_equal(length(new_dvobj), 0) new_dvobj <- subset_drugbank_dvobject(dvobject = dvobj, @@ -20,5 +21,6 @@ test_that( expect_equal(length(new_dvobj), 5) expect_equal(NROW(new_dvobj$drugs$general_information), 1) expect_equal(length(new_dvobj$cett), 1) + expect_snapshot(show_dvobject_metadata(new_dvobj)) } ) From cc1333193e496065b68fdc493a586c35efdbf064 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 30 Nov 2025 15:20:24 +0200 Subject: [PATCH 19/57] #177, added onside subset function --- NAMESPACE | 2 + R/merge_helpers.R | 2 +- R/utils.R | 144 +++++++++++++++++++++----------- inst/onside.RDS | Bin 0 -> 189824 bytes man/subset_drugbank_dvobject.Rd | 4 + man/subset_onsides_dvobject.Rd | 25 ++++++ 6 files changed, 126 insertions(+), 51 deletions(-) create mode 100644 inst/onside.RDS create mode 100644 man/subset_onsides_dvobject.Rd diff --git a/NAMESPACE b/NAMESPACE index 62809af..a85bf8e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,6 +9,7 @@ export(parseOnSIDES) export(references_node_options) export(show_dvobject_metadata) export(subset_drugbank_dvobject) +export(subset_onsides_dvobject) import(dplyr) importFrom(XML,xmlApply) importFrom(XML,xmlChildren) @@ -25,6 +26,7 @@ importFrom(dplyr,.data) importFrom(dplyr,filter) importFrom(dplyr,left_join) importFrom(dplyr,mutate) +importFrom(dplyr,pull) importFrom(dplyr,rename) importFrom(dplyr,select) importFrom(progress,progress_bar) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 18b38da..55aa340 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -74,7 +74,7 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { message("Creating DrugBank ID <-> RxCUI mapping table...") rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% dplyr::filter(.data$resource == "RxCUI") %>% - dplyr::select(.data$drugbank_id, rxcui = .data$identifier) + dplyr::select(all_of(drugbank_id), rxcui = .data$identifier) # --- Step 2: Enrich OnSIDES Tables --- message("Enriching OnSIDES tables with DrugBank IDs...") diff --git a/R/utils.R b/R/utils.R index 6f3d8f8..870b5eb 100644 --- a/R/utils.R +++ b/R/utils.R @@ -71,7 +71,6 @@ subset_cett_component <- function(component, component_name, drug_ids) { #' } #' @family utils subset_drugbank_dvobject <- function(dvobject, drug_ids) { - new_dvobject <- NULL if ((length(drug_ids) == 0) || (sum(nchar(drug_ids)) == 0)) { @@ -167,7 +166,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { } attr(new_dvobject, "original_db_info") <- attr(dvobject, "original_db_info") - class(dvobject) <- "dvobject" + class(new_dvobject) <- "dvobject" # --- Final Step: Preserve original object's attributes --- #attributes(new_dvobject) <- attributes(dvobject) @@ -186,57 +185,102 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { #' @param dvobject A dvobject from `parseOnSIDES()`. #' @param ingredient_ids A character vector of RxNorm CUIs (ingredients) to keep. #' +#' @export +#' @importFrom dplyr .data filter pull +#' #' @return A new, smaller dvobject with the same structure. -#' @noRd +#' @family utils subset_onsides_dvobject <- function(dvobject, ingredient_ids) { - if (length(ingredient_ids) == 0) return(dvobject[0]) - - new_db <- list() - - # --- 1. Get the cascading set of keys --- - message("Subsetting OnSIDES: Identifying all related keys...") - # Find all products containing our target ingredients - relevant_product_ids <- dvobject$vocab_rxnorm_ingredient_to_product %>% - dplyr::filter(ingredient_id %in% ingredient_ids) %>% - dplyr::pull(product_id) %>% - unique() - - # Find all labels associated with those products - relevant_label_ids <- dvobject$product_to_rxnorm %>% - dplyr::filter(rxnorm_product_id %in% relevant_product_ids) %>% - dplyr::pull(label_id) %>% - unique() - - # --- 2. Filter the main data tables --- - message("Filtering main OnSIDES data tables...") - new_db$product_adverse_effect <- dvobject$product_adverse_effect %>% - dplyr::filter(product_label_id %in% relevant_label_ids) - - if ("high_confidence" %in% names(dvobject)) { - new_db$high_confidence <- dvobject$high_confidence %>% + new_dvobject <- NULL + + if ((length(ingredient_ids) == 0) || (sum(nchar(ingredient_ids)) == 0)) { + warning("`ingredient_ids` is empty. Returning NULL") + } else { + new_dvobject <- init_dvobject() + + # --- 1. Get the cascading set of keys --- + message("Subsetting OnSIDES: Identifying all related keys...") + # Find all products containing our target ingredients + relevant_product_ids <- dvobject$vocab_rxnorm_ingredient_to_product %>% + dplyr::filter(ingredient_id %in% ingredient_ids) %>% + dplyr::pull(product_id) %>% + unique() + + # Find all labels associated with those products + relevant_label_ids <- dvobject$product_to_rxnorm %>% + dplyr::filter(rxnorm_product_id %in% relevant_product_ids) %>% + dplyr::pull(label_id) %>% + unique() + + # --- 2. Filter the main data tables --- + message("Filtering main OnSIDES data tables...") + product_adverse_effect <- dvobject$product_adverse_effect %>% + dplyr::filter(product_label_id %in% relevant_label_ids) + + if (NROW(product_adverse_effect) > 0) { + new_dvobject$product_adverse_effect <- product_adverse_effect + } + + if ("high_confidence" %in% names(dvobject)) { + high_confidence <- dvobject$high_confidence %>% + dplyr::filter(ingredient_id %in% ingredient_ids) + + if (NROW(high_confidence) > 0) { + new_dvobject$high_confidence <- high_confidence + } + } + + # --- 3. Filter the "bridge" and vocabulary tables to keep the subset lean --- + message("Filtering vocabulary and mapping tables...") + product_label <- dvobject$product_label %>% + dplyr::filter(label_id %in% relevant_label_ids) + + if (NROW(product_label) > 0) { + new_dvobject$product_label <- product_label + } + + product_to_rxnorm <- dvobject$product_to_rxnorm %>% + dplyr::filter(label_id %in% relevant_label_ids) + + if (NROW(product_to_rxnorm) > 0) { + new_dvobject$product_to_rxnorm <- product_to_rxnorm + } + + vocab_rxnorm_ingredient_to_product <- dvobject$vocab_rxnorm_ingredient_to_product %>% dplyr::filter(ingredient_id %in% ingredient_ids) + + if (NROW(vocab_rxnorm_ingredient_to_product) > 0) { + new_dvobject$vocab_rxnorm_ingredient_to_product <- vocab_rxnorm_ingredient_to_product + } + + # Find all MedDRA effects that are actually present in our subset + relevant_meddra_ids <- new_dvobject$product_adverse_effect$effect_meddra_id %>% unique() + + vocab_meddra_adverse_effect <- dvobject$vocab_meddra_adverse_effect %>% + dplyr::filter(meddra_id %in% relevant_meddra_ids) + + if (NROW(vocab_meddra_adverse_effect) > 0) { + new_dvobject$vocab_meddra_adverse_effect <- vocab_meddra_adverse_effect + } + + vocab_rxnorm_ingredient <- dvobject$vocab_rxnorm_ingredient %>% + dplyr::filter(rxnorm_id %in% ingredient_ids) + + if (NROW(vocab_rxnorm_ingredient) > 0) { + new_dvobject$vocab_rxnorm_ingredient <- vocab_rxnorm_ingredient + } + + vocab_rxnorm_product <- dvobject$vocab_rxnorm_product %>% + dplyr::filter(rxnorm_id %in% relevant_product_ids) + + if (NROW(vocab_rxnorm_product) > 0) { + new_dvobject$vocab_rxnorm_product <- vocab_rxnorm_product + } + + # Preserve attributes and return + attr(new_dvobject, "original_db_info") <- attr(dvobject, "original_db_info") + class(new_dvobject) <- "dvobject" } - # --- 3. Filter the "bridge" and vocabulary tables to keep the subset lean --- - message("Filtering vocabulary and mapping tables...") - new_db$product_label <- dvobject$product_label %>% - dplyr::filter(label_id %in% relevant_label_ids) - new_db$product_to_rxnorm <- dvobject$product_to_rxnorm %>% - dplyr::filter(label_id %in% relevant_label_ids) - new_db$vocab_rxnorm_ingredient_to_product <- dvobject$vocab_rxnorm_ingredient_to_product %>% - dplyr::filter(ingredient_id %in% ingredient_ids) - - # Find all MedDRA effects that are actually present in our subset - relevant_meddra_ids <- new_db$product_adverse_effect$effect_meddra_id %>% unique() - - new_db$vocab_meddra_adverse_effect <- dvobject$vocab_meddra_adverse_effect %>% - dplyr::filter(meddra_id %in% relevant_meddra_ids) - new_db$vocab_rxnorm_ingredient <- dvobject$vocab_rxnorm_ingredient %>% - dplyr::filter(rxnorm_id %in% ingredient_ids) - new_db$vocab_rxnorm_product <- dvobject$vocab_rxnorm_product %>% - dplyr::filter(rxnorm_id %in% relevant_product_ids) - - # Preserve attributes and return - attributes(new_db) <- attributes(dvobject) - return(new_db) + new_dvobject } diff --git a/inst/onside.RDS b/inst/onside.RDS new file mode 100644 index 0000000000000000000000000000000000000000..cbd3118a23df59b4983ee490d63252cca7157590 GIT binary patch literal 189824 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

SPm|Zu>fu81o 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 z%0DI=3!wq$jBYCycSVU=8W#K#P(0 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

8VMs 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 FCjj}6sI~wA literal 0 HcmV?d00001 diff --git a/man/subset_drugbank_dvobject.Rd b/man/subset_drugbank_dvobject.Rd index 423f09e..e5fd8c6 100644 --- a/man/subset_drugbank_dvobject.Rd +++ b/man/subset_drugbank_dvobject.Rd @@ -30,4 +30,8 @@ one_drug <- subset_drugbank_dvobject(dvobject = dbdataset::drugbank, drug_ids = "DB00001") } } +\seealso{ +Other utils: +\code{\link{subset_onsides_dvobject}()} +} \concept{utils} diff --git a/man/subset_onsides_dvobject.Rd b/man/subset_onsides_dvobject.Rd new file mode 100644 index 0000000..ebf9063 --- /dev/null +++ b/man/subset_onsides_dvobject.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/utils.R +\name{subset_onsides_dvobject} +\alias{subset_onsides_dvobject} +\title{Subset an OnSIDES dvobject by a vector of RxNorm Ingredient IDs (Schema-Aware)} +\usage{ +subset_onsides_dvobject(dvobject, ingredient_ids) +} +\arguments{ +\item{dvobject}{A dvobject from `parseOnSIDES()`.} + +\item{ingredient_ids}{A character vector of RxNorm CUIs (ingredients) to keep.} +} +\value{ +A new, smaller dvobject with the same structure. +} +\description{ +Intelligently filters an OnSIDES dvobject by cascading filters through the +relational tables, ensuring the final subset is self-consistent. +} +\seealso{ +Other utils: +\code{\link{subset_drugbank_dvobject}()} +} +\concept{utils} From 056ab754309805cf87950692b5435612ddb9e769 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 30 Nov 2025 15:33:58 +0200 Subject: [PATCH 20/57] #177, add onside subset function unit test --- tests/testthat/_snaps/utils.md | 26 +++++++++++++++++++++++++- tests/testthat/test_utils.R | 24 +++++++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/tests/testthat/_snaps/utils.md b/tests/testthat/_snaps/utils.md index fc2b527..ba2f20d 100644 --- a/tests/testthat/_snaps/utils.md +++ b/tests/testthat/_snaps/utils.md @@ -1,4 +1,4 @@ -# Read dvobject metadata +# subset_drugbank_dvobject Code show_dvobject_metadata(new_dvobj) @@ -46,3 +46,27 @@ cett$targets$polypeptides$pfams 2 3 1.5 Kb cett$targets$polypeptides$go 3 3 1.6 Kb +# subset_onsides_dvobject + + Code + show_dvobject_metadata(new_dvobj) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 dvobject 8 0 846.1 Kb + + === DATABASE METADATA === + Database Type Version Export_Date + Original OnSIDES 3.1.1 April 2025 + + === DATA.FRAMES === + Path Rows Cols Size + product_adverse_effect 18742 7 808 Kb + high_confidence 2 2 1.4 Kb + product_label 29 5 13 Kb + product_to_rxnorm 44 2 2.2 Kb + vocab_rxnorm_ingredient_to_product 3 2 1.6 Kb + vocab_meddra_adverse_effect 139 3 13.9 Kb + vocab_rxnorm_ingredient 1 3 1.8 Kb + vocab_rxnorm_product 3 3 2.2 Kb + diff --git a/tests/testthat/test_utils.R b/tests/testthat/test_utils.R index a98ecfa..fd91579 100644 --- a/tests/testthat/test_utils.R +++ b/tests/testthat/test_utils.R @@ -4,7 +4,7 @@ library(testthat) local_edition(3) test_that( - desc = "Read dvobject metadata", + desc = "subset_drugbank_dvobject", code = { dvobj <- readRDS(system.file("two_drugs.RDS", package = "dbparser")) @@ -24,3 +24,25 @@ test_that( expect_snapshot(show_dvobject_metadata(new_dvobj)) } ) + +test_that( + desc = "subset_onsides_dvobject", + code = { + dvobj <- readRDS(system.file("onside.RDS", + package = "dbparser")) + + expect_warning( + new_dvobj <- subset_onsides_dvobject(dvobject = dvobj, + ingredient_ids = ""), + "`ingredient_ids` is empty. Returning NULL") + + expect_equal(length(new_dvobj), 0) + + new_dvobj <- subset_onsides_dvobject( + dvobject = dvobj, + ingredient_ids = 613391) + expect_equal(length(new_dvobj), 8) + expect_equal(NROW(new_dvobj$high_confidence), 2) + expect_snapshot(show_dvobject_metadata(new_dvobj)) + } +) From 03a3c3972dcb2ac8af862a313ab603e29fb298e7 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 30 Nov 2025 19:29:42 +0200 Subject: [PATCH 21/57] #177, fixed issues and added unit tests --- R/dvobject_metadata.R | 6 +- R/merge_helpers.R | 7 +- inst/onside.zip | Bin 0 -> 142365 bytes tests/testthat/_snaps/merge_functions.md | 83 +++++++++++++++++++++++ tests/testthat/_snaps/onside_parser.md | 29 ++++++++ tests/testthat/test_dvobject_metadata.R | 4 +- tests/testthat/test_merge_functions.R | 34 ++++++++++ tests/testthat/test_onside_parser.R | 15 ++++ 8 files changed, 170 insertions(+), 8 deletions(-) create mode 100644 inst/onside.zip create mode 100644 tests/testthat/_snaps/merge_functions.md create mode 100644 tests/testthat/_snaps/onside_parser.md create mode 100644 tests/testthat/test_merge_functions.R create mode 100644 tests/testthat/test_onside_parser.R diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index d8e3dcd..1ac4e81 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -189,9 +189,9 @@ build_metadata <- function(attrs, has_second_db, second_db_name) { metadata <- rbind( data.frame( Database = "First Database", - Type = attrs$original_db_info$db_type %||% "Unknown", - Version = attrs$original_db_info$db_version %||% "Unknown", - Export_Date = attrs$original_db_info$db_exported_date %||% "Unknown", + Type = attrs$DrugBankDB$db_type %||% "Unknown", + Version = attrs$DrugBankDB$db_version %||% "Unknown", + Export_Date = attrs$DrugBankDB$db_exported_date %||% "Unknown", stringsAsFactors = FALSE ), data.frame( diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 55aa340..f9c6d9e 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -73,8 +73,8 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # --- Step 1: Create the Bridge (RxCUI Mapping Table) --- message("Creating DrugBank ID <-> RxCUI mapping table...") rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% - dplyr::filter(.data$resource == "RxCUI") %>% - dplyr::select(all_of(drugbank_id), rxcui = .data$identifier) + dplyr::filter(resource == "RxCUI") %>% + dplyr::select(all_of("drugbank_id"), rxcui = identifier) # --- Step 2: Enrich OnSIDES Tables --- message("Enriching OnSIDES tables with DrugBank IDs...") @@ -94,8 +94,9 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { message("Assembling final merged object...") # Start with all of DrugBank's data - merged_object <- list() + merged_object <- init_dvobject() merged_object$drugbank <- drugbank_db + attr(merged_object, "DrugBankDB") <- attr(drugbank_db, "original_db_info") merged_object$onsides <- list() merged_object$integrated_data <- list() diff --git a/inst/onside.zip b/inst/onside.zip new file mode 100644 index 0000000000000000000000000000000000000000..1014730f40340023d7ab93e47f12939df76f8754 GIT binary patch literal 142365 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ξKXpNGIH2E>o$O&{w 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 Z0NfH*Hegz1-~_@3W(J0K4PcLf0RY2kKSTfk literal 0 HcmV?d00001 diff --git a/tests/testthat/_snaps/merge_functions.md b/tests/testthat/_snaps/merge_functions.md new file mode 100644 index 0000000..1d4850f --- /dev/null +++ b/tests/testthat/_snaps/merge_functions.md @@ -0,0 +1,83 @@ +# merge drugbank and onside + + Code + show_dvobject_metadata(all_dbs) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 DrugBankOnSIDESDb, dvobject 66 3 3.8 Mb + + === DATABASE METADATA === + Database Type Version Export_Date + First Database DrugBank 5.1 2025-01-02 + Second Database OnSIDES 3.1.1 April 2025 + + === DATA.FRAMES === + Path Rows Cols Size + drugbank$drugs$general_information 2 15 8 Kb + drugbank$drugs$drug_classification 2 9 3.8 Kb + drugbank$drugs$synonyms 15 4 3.6 Kb + drugbank$drugs$pharmacology 2 12 18.1 Kb + drugbank$drugs$international_brands 9 3 2.7 Kb + drugbank$drugs$mixtures 5 3 2 Kb + drugbank$drugs$packagers 35 3 6.2 Kb + drugbank$drugs$manufacturers 13 4 2.9 Kb + drugbank$drugs$prices 16 5 4.6 Kb + drugbank$drugs$categories 58 3 9.2 Kb + drugbank$drugs$dosages 189 4 17.4 Kb + drugbank$drugs$atc_codes 4 10 4.3 Kb + drugbank$drugs$patents 35 6 8.6 Kb + drugbank$drugs$drug_interactions 1645 4 514.7 Kb + drugbank$drugs$sequences 1 3 1.3 Kb + drugbank$drugs$calculated_properties 26 4 5.6 Kb + drugbank$drugs$experimental_properties 5 4 2.4 Kb + drugbank$drugs$external_identifiers 30 3 4.7 Kb + drugbank$drugs$pdb_entries 19 2 2.4 Kb + drugbank$drugs$affected_organisms 2 2 1.2 Kb + drugbank$drugs$groups 4 2 1.3 Kb + drugbank$drugs$external_links 5 3 2.1 Kb + drugbank$salts 2 8 2.8 Kb + drugbank$products 190 19 68.6 Kb + drugbank$references$drugs$articles 13 4 6.3 Kb + drugbank$references$drugs$links 11 4 6.1 Kb + drugbank$references$carriers$books 1 4 1.6 Kb + drugbank$references$carriers$articles 15 4 5.4 Kb + drugbank$references$enzymes$books 33 4 8.2 Kb + drugbank$references$enzymes$articles 1573 4 485.5 Kb + drugbank$references$enzymes$links 615 4 164.4 Kb + drugbank$references$enzymes$attachments 55 4 20 Kb + drugbank$references$targets$articles 101 4 27.4 Kb + drugbank$references$targets$links 14 4 7.1 Kb + drugbank$cett$carriers$general_information 1 6 1.9 Kb + drugbank$cett$carriers$actions 2 2 1.2 Kb + drugbank$cett$carriers$polypeptides$general_information 1 20 6.8 Kb + drugbank$cett$carriers$polypeptides$external_identy 7 3 2.2 Kb + drugbank$cett$carriers$polypeptides$synonyms 10 2 2 Kb + drugbank$cett$carriers$polypeptides$pfams 2 3 1.5 Kb + drugbank$cett$carriers$polypeptides$go 2 3 1.5 Kb + drugbank$cett$enzymes$general_information 2 8 2.6 Kb + drugbank$cett$enzymes$actions 7 2 1.5 Kb + drugbank$cett$enzymes$polypeptides$general_information 2 20 14 Kb + drugbank$cett$enzymes$polypeptides$external_identy 15 3 3 Kb + drugbank$cett$enzymes$polypeptides$synonyms 21 2 3 Kb + drugbank$cett$enzymes$polypeptides$pfams 2 3 1.4 Kb + drugbank$cett$enzymes$polypeptides$go 21 3 3.6 Kb + drugbank$cett$targets$general_information 4 6 2.6 Kb + drugbank$cett$targets$actions 10 2 1.9 Kb + drugbank$cett$targets$polypeptides$general_information 4 20 14.2 Kb + drugbank$cett$targets$polypeptides$external_identy 26 3 3.9 Kb + drugbank$cett$targets$polypeptides$synonyms 15 2 2.4 Kb + drugbank$cett$targets$polypeptides$pfams 5 3 2.1 Kb + drugbank$cett$targets$polypeptides$go 37 3 5.6 Kb + onsides$product_adverse_effect 52745 7 2.2 Mb + onsides$high_confidence 2 2 1.4 Kb + onsides$product_label 95 5 39.7 Kb + onsides$product_to_rxnorm 160 2 5.5 Kb + onsides$vocab_rxnorm_ingredient_to_product 17 2 2.7 Kb + onsides$vocab_meddra_adverse_effect 347 3 31.6 Kb + onsides$vocab_rxnorm_ingredient 3 3 2.1 Kb + onsides$vocab_rxnorm_product 17 3 4.9 Kb + integrated_data$high_confidence_enriched 2 3 1.6 Kb + integrated_data$DrugBank_RxCUI_Mapping 2 2 1.2 Kb + vocab_rxnorm_ingredient_enriched 3 4 2.3 Kb + diff --git a/tests/testthat/_snaps/onside_parser.md b/tests/testthat/_snaps/onside_parser.md new file mode 100644 index 0000000..fc76e38 --- /dev/null +++ b/tests/testthat/_snaps/onside_parser.md @@ -0,0 +1,29 @@ +# parse onside DB - default params + + Code + expect_error(parseOnSIDES(dataDir = "data_path")) + +--- + + Code + show_dvobject_metadata(onside) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 dvobject 8 0 845.6 Kb + + === DATABASE METADATA === + Database Type Version Export_Date + Original OnSIDES Unknown Unknown + + === DATA.FRAMES === + Path Rows Cols Size + product_label 29 5 13 Kb + product_adverse_effect 18742 7 808 Kb + product_to_rxnorm 44 2 2.2 Kb + vocab_meddra_adverse_effect 139 3 13.9 Kb + vocab_rxnorm_ingredient 1 3 1.7 Kb + vocab_rxnorm_product 3 3 2.2 Kb + vocab_rxnorm_ingredient_to_product 3 2 1.6 Kb + high_confidence 2 2 1.4 Kb + diff --git a/tests/testthat/test_dvobject_metadata.R b/tests/testthat/test_dvobject_metadata.R index d5d9afd..3489080 100644 --- a/tests/testthat/test_dvobject_metadata.R +++ b/tests/testthat/test_dvobject_metadata.R @@ -19,8 +19,8 @@ test_that( biotech, package = "dbparser") - dvobj <- parseDrugBank(db_location) - metadata <- dbparser::show_dvobject_metadata(dvobj) + dvobj <- parseDrugBank(db_location) + capture_output(metadata <- dbparser::show_dvobject_metadata(dvobj)) expect_match(metadata$Database, "Original") expect_match(metadata$Type, "DrugBank") diff --git a/tests/testthat/test_merge_functions.R b/tests/testthat/test_merge_functions.R new file mode 100644 index 0000000..e95550d --- /dev/null +++ b/tests/testthat/test_merge_functions.R @@ -0,0 +1,34 @@ +context("test different merge functions") + +test_that( + desc = "merge drugbank and onside", + code = { + local_edition(3) + drugbank <- readRDS(system.file("two_drugs.RDS", + package = "dbparser")) + onside <- readRDS(system.file("onside.RDS", + package = "dbparser")) + expect_error(merge_drugbank_onsides( + drugbank_db = list(), + onsides_db = onside), + "`drugbank_db` must be a valid dvobject from parseDrugBank().") + + invalid_drugbank <- drugbank + invalid_drugbank$drugs$external_identifiers <- NULL + expect_error(merge_drugbank_onsides( + drugbank_db = invalid_drugbank, + onsides_db = onside), + "`drugbank_db` dvobject must contain external_identifiers data.") + + expect_error(merge_drugbank_onsides( + drugbank_db = drugbank, + onsides_db = list()), + "`onsides_db` must be a valid dvobject from parseOnSIDES().") + + all_dbs <- merge_drugbank_onsides( + drugbank_db = drugbank, + onsides_db = onside) + expect_snapshot(show_dvobject_metadata(all_dbs)) + + } +) diff --git a/tests/testthat/test_onside_parser.R b/tests/testthat/test_onside_parser.R new file mode 100644 index 0000000..4378320 --- /dev/null +++ b/tests/testthat/test_onside_parser.R @@ -0,0 +1,15 @@ +context("test parse onside nodes") + +test_that( + desc = "parse onside DB - default params", + code = { + local_edition(3) + expect_snapshot(expect_error(parseOnSIDES(dataDir = "data_path"))) + data_path <- dirname(unzip(system.file("onside.zip", + package = "dbparser"))[1]) + onside <- parseOnSIDES(dataDir = data_path) + unlink(data_path, recursive = TRUE) + expect_equal(length(onside), 8) + expect_snapshot(show_dvobject_metadata(onside)) + } +) From 5f3d210ebda8b21c1087a05ee5b0e25ea644e16c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 6 Dec 2025 19:26:25 +0200 Subject: [PATCH 22/57] #177, Added drugbank onside tutorial --- vignettes/drugbank_nside.Rmd | 379 ++++++++++++++++++++++++++++++----- 1 file changed, 325 insertions(+), 54 deletions(-) diff --git a/vignettes/drugbank_nside.Rmd b/vignettes/drugbank_nside.Rmd index b6f85a8..9ef620c 100644 --- a/vignettes/drugbank_nside.Rmd +++ b/vignettes/drugbank_nside.Rmd @@ -1,5 +1,5 @@ --- -title: "Integrating DrugBank and OnSIDES for Pharmacovigilance Analysis" +title: "Integrating DrugBank and OnSIDES with dbparser for Pharmacovigilance Analysis" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Integrating DrugBank and OnSIDES for Pharmacovigilance Analysis} @@ -18,92 +18,363 @@ knitr::opts_chunk$set( ## Introduction -This vignette demonstrates how to use the `merge_drugbank_onsides()` function to create a powerful, integrated dataset for pharmacovigilance research. By combining the deep mechanistic data from **DrugBank** with the large-scale, real-world side effect data from **OnSIDES**, we can perform sophisticated analyses that would otherwise be impossible. +In modern pharmacovigilance, the ability to link a drug's molecular mechanism of action with real-world adverse event data is crucial. **DrugBank** provides rich data on drug targets, enzymes, and pathways, while **OnSIDES** provides a massive database of adverse drug events extracted from FDA drug labels. -Our use case: **Identify the most common high-confidence side effects for Statins and visualize the results.** +The `dbparser` package now bridges these two worlds. This vignette demonstrates how to use the new `merge_drugbank_onsides()` function to create an integrated dataset, using the `show_dvobject_metadata()` function to inspect the data structure at every step. + +We will perform a scientific case study on **Leuprolide**, linking its biological target to its reported real-world side effects. + +## Prerequisites ```{r setup} library(dbparser) library(dplyr) -library(ggplot2) -library(plotly) -library(DT) +library(tidyr) +library(canvasXpress) +library(data.table) ``` -## Step 1: Loading and Merging the Data +## 1. Loading and Inspecting Data + +To demonstrate the functionality, we will use the curated sample data files included in the dbparser package. -We begin with pre-parsed `dvobject`s for DrugBank and OnSIDES. The `merge_drugbank_onsides()` function combines them into a single, well-organized object. +### 1.1 Load DrugBank Data +First, we load the DrugBank sample (two_drugs.RDS) and inspect its metadata to verify the presence of mechanistic data (targets, enzymes, etc.). -```{r merge-data, eval=FALSE} +```{r load_drugbank} # In a real analysis: # drugbank_db <- parseDrugBank("path/to/drugbank.xml") -# onsides_db <- parseOnSIDES("path/to/onsides_csvs/") # -# For this vignette, we use example data: -drugbank_db <- dbparser::drugbank_example -onsides_db <- dbparser::onsides_example +# Load sample DrugBank data included in the package +drugbank_path <- system.file("two_drugs.RDS", package = "dbparser") +drugbank_db <- readRDS(drugbank_path) + +# Review the drugbank object structure +show_dvobject_metadata(drugbank_db) +``` + +### 1.2 Load OnSIDES Data + +Next, we load the OnSIDES sample (onside.RDS). This contains the raw label and adverse effect tables. + +```{r load_onside} +# onsides_db <- parseOnSIDES("path/to/onsides_csvs/") +# Load sample OnSIDES data included in the package +onsides_path <- system.file("onside.RDS", package = "dbparser") +onsides_db <- readRDS(onsides_path) + +# Review the onsides_db object structure +show_dvobject_metadata(onsides_db) +``` + + +## 2. Merging the Databases + +We now use `merge_drugbank_onsides()` to fuse these two objects. This function automatically generates a mapping layer (using RxNorm CUIs) to link DrugBank IDs to OnSIDES label IDs. + +```{r merging_dbs} +# Create the merged database object merged_db <- merge_drugbank_onsides(drugbank_db, onsides_db) + +# Review merged_db object using 'show_dvobject_metadata' method +# Note the appearance of 'integrated_data' and 'vocab_rxnorm_ingredients' +show_dvobject_metadata(merged_db) ``` -```{r, echo=FALSE} -# Create mock merged data for the vignette to run -# This code block would not be in the final vignette, it's just for compilation -mock_drugbank_db <- structure(list(drugs = list(drugs = data.frame(drugbank_id = c("DB00175", "DB01076"), name = c("Simvastatin", "Rosuvastatin")), categories = data.frame(drugbank_id = c("DB00175", "DB01076"), category = "Statins"))), version = "5.1.9") -mock_onsides_db <- structure(list(high_confidence = data.frame(ingredient_id = c("12345"), effect_meddra_id = c(101, 102, 103)), vocab_meddra_adverse_effect = data.frame(meddra_id = c(101, 102, 103), meddra_name = c("Myalgia", "Headache", "Nausea"))), version = "2.0") -mock_rxcui_map <- data.frame(drugbank_id = c("DB00175", "DB01076"), rxcui = c("12345", "67890")) -mock_enriched_hc <- data.frame(drugbank_id = c("DB00175", "DB01076", "DB00175"), drug_name = c("Simvastatin", "Rosuvastatin", "Simvastatin"), meddra_name = c("Myalgia", "Myalgia", "Headache")) -merged_db <- list(drugbank = mock_drugbank_db, onsides = mock_onsides_db, integrated_data = list(drugbank_onsides_mapping = mock_rxcui_map, high_confidence = mock_enriched_hc)) + +> Note: The `integrated_data` slot contains the `DrugBank_RxCUI_Mapping` table, which acts as the "bridge" allowing us to cross from biological mechanisms to clinical side effects. + +## 3. Scientific Case Study: Leuprolide (DB00007) + +**Scientific Context:** Leuprolide is a synthetic analog of gonadotropin-releasing hormone (GnRH). We want to extract its real-world adverse events from OnSIDES and correlate them with its identification in DrugBank. + +### 3.1 Retrieve the Cross-Reference Key +We start by finding the link between the DrugBank ID (`DB00007`) and the RxNorm ID required to search the OnSIDES tables + +```{r find_link} +target_drug_id <- "DB00007" # Leuprolide + +# Access the mapping generated by the merge function +mapping_df <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% + filter(drugbank_id == target_drug_id) + +target_rxcui <- mapping_df$rxcui[1] + +print(paste0("DrugBank ID: ", target_drug_id, " maps to RxNorm CUI: ", target_rxcui)) ``` -The resulting `merged_db` object has a clean, nested structure: -- `merged_db$drugbank`: Contains the original DrugBank data. -- `merged_db$onsides`: Contains the original OnSIDES data. -- `merged_db$integrated_data`: Contains new, enriched tables that link the two. -- `merged_db$metadata`: Contains detailed, per-database metadata. +### 3.2 Extract Adverse Events + +Using the retrieved RxCUI, we query the onsides slot of our merged object to find relevant labels and aggregate side effects. + +```{r adverse_events} +# 1. Get the ingredient name from vocab_rxnorm_ingredients +ingredient_name <- merged_db$vocab_rxnorm_ingredient_enriched %>% + filter(rxnorm_id == target_rxcui) %>% + pull(rxnorm_name) + +print(paste("Ingredient name:", ingredient_name)) + +# 2. Find product RxCUIs that contain this ingredient (by name matching) +product_rxcuis <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% + filter(ingredient_id == target_rxcui) %>% + pull(product_id) -## Step 2: Use Case - Analyzing Statin Side Effects +print(paste("Found", length(product_rxcuis), "product formulations")) -### 2.1 Identifying Statins +# 3. Now link to labels via product_to_rxnorm +target_label_ids <- merged_db$onsides$product_to_rxnorm %>% + filter(rxnorm_product_id %in% product_rxcuis) %>% + pull(label_id) -We access the `categories` table inside the `drugbank` list to find all drugs classified as "Statins". +print(paste("Found", length(target_label_ids), "labels")) -```{r find-statins} -# Note the nested path: merged_db$drugbank$drugs$categories -anticoagulant_ids <- merged_db$drugbank$drugs$categories %>% - filter(category == "Anticoagulants") %>% - pull(drugbank_id) +# 4. Extract adverse events for these labels +ae_data <- merged_db$onsides$product_adverse_effect %>% + filter(product_label_id %in% target_label_ids) +print(paste("Total adverse event records:", NROW(ae_data))) + +# 5. Summarize top adverse events by MedDRA ID +ae_summary <- ae_data %>% + group_by(effect_meddra_id) %>% + summarise(Count = n()) %>% + arrange(desc(Count)) %>% + head(10) %>% + left_join(merged_db$onsides$vocab_meddra_adverse_effect, + by = c("effect_meddra_id" = "meddra_id")) %>% + select(effect_meddra_id, meddra_name, Count) + +# Handle NAs: For missing MedDRA names, we'll add them manually for top events +# In production, you'd use the complete MedDRA dictionary +ae_summary <- ae_summary %>% + mutate(meddra_name = case_when( + effect_meddra_id == 10033336 ~ "Pain", + effect_meddra_id == 10039769 ~ "Rash", + effect_meddra_id == 10052995 ~ "Hot flush", + effect_meddra_id == 10009226 ~ "Constipation", + effect_meddra_id == 10006068 ~ "Bone pain", + TRUE ~ meddra_name + )) %>% + rename(Adverse_Event = meddra_name) + +print(ae_summary) +``` + + +### 3.3 Retrieve Mechanistic Context +To complete the analysis, we pull the biological targets of Leuprolide from the drugbank slot. + +```{r context} +targets <- merged_db$drugbank$cett$targets$general_information %>% + filter(drugbank_id == target_drug_id) %>% + select(name) + +print(paste("Mechanism Target:", targets$name[1])) +``` -anticoagulant_drugs <- merged_db$drugbank$drugs$general_information %>% - filter(drugbank_id %in% anticoagulant_ids) -datatable( - anticoagulant_drugs %>% select(drugbank_id, name), - caption = "Anticoagulants Found in DrugBank" +### 3.4 Visualization +Finally, we use canvasXpress to visualize the side effect profile. This plot represents the seamless integration of data: selecting a drug by its DrugBank ID (Mechanism) and viewing its OnSIDES (Phenotype) data. + +```{r visualization} +cx_data <- data.frame(Count = ae_summary$Count) +rownames(cx_data) <- ae_summary$Adverse_Event + +canvasXpress( + data = t(cx_data), + graphType = "Bar", + title = "Integrated Analysis: Leuprolide (DB00007)", + subtitle = paste("Mechanism:", targets$name[1]), + xAxisTitle = "Frequency in OnSIDES Labels", + yAxisTitle = "Adverse Event", + showLegend = FALSE ) ``` -### 2.2 Finding and Visualizing Common Side Effects -Now, we can filter our `high_confidence` table from the `integrated_data` list to find the side effects associated with these anticoagulants and count their occurrences. +## 4. Second Scientific Case Study: Leuprolide (DB00007) +Let's analyze the second drug in our sample data to demonstrate reproducibility. + +```{r second_case} +# Analyze Calcitriol (Vitamin D analog) +target_drug_id_2 <- "DB00136" + +# Get RxCUI +mapping_df_2 <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% + filter(drugbank_id == target_drug_id_2) + +target_rxcui_2 <- mapping_df_2$rxcui[1] + +# Get ingredient name +ingredient_name_2 <- merged_db$vocab_rxnorm_ingredient_enriched %>% + filter(rxnorm_id == target_rxcui_2) %>% + pull(rxnorm_name) + +print(paste("Analyzing:", ingredient_name_2)) + +# Get products +product_rxcuis_2 <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% + filter(ingredient_id == target_rxcui_2) %>% + pull(product_id) + +# Get labels +target_label_ids_2 <- merged_db$onsides$product_to_rxnorm %>% + filter(rxnorm_product_id %in% product_rxcuis_2) %>% + pull(label_id) + +# Extract adverse events +ae_data_2 <- merged_db$onsides$product_adverse_effect %>% + filter(product_label_id %in% target_label_ids_2) + +# Summarize +ae_summary_2 <- ae_data_2 %>% + group_by(effect_meddra_id) %>% + summarise(Count = n()) %>% + arrange(desc(Count)) %>% + head(10) %>% + left_join(merged_db$onsides$vocab_meddra_adverse_effect, + by = c("effect_meddra_id" = "meddra_id")) %>% + select(effect_meddra_id, meddra_name, Count) + +# Fill NAs if needed +ae_summary_2 <- ae_summary_2 %>% + mutate(meddra_name = case_when( + is.na(meddra_name) ~ paste0("MedDRA_", effect_meddra_id), + TRUE ~ meddra_name + )) + +print(ae_summary_2) + +# Get target info +targets_2 <- merged_db$drugbank$cett$targets$general_information %>% + filter(drugbank_id == target_drug_id_2) %>% + select(name) + +print(paste("Primary Target:", targets_2$name[1])) +``` + +## 5. Comparative Analysis + +Now let's compare the adverse event profiles of both drugs side-by-side. + +```{r comparative_analysis} +# Prepare comparison data - handle NAs in names first +ae_summary <- ae_summary %>% + mutate(Adverse_Event = ifelse(is.na(Adverse_Event) | Adverse_Event == "NA", + paste0("Unknown_", effect_meddra_id), + Adverse_Event)) %>% + mutate(Drug = "Leuprolide") %>% + select(Adverse_Event, Count, Drug) -```{r count-effects} -anticoagulant_side_effects <- merged_db$integrated_data$high_confidence_enriched %>% - filter(drugbank_id %in% anticoagulant_ids) %>% - count(effect_meddra_id, sort = TRUE, name = "Frequency") %>% - filter(!is.na(effect_meddra_id)) # Remove any potential NA values +ae_summary_2 <- ae_summary_2 %>% + mutate(meddra_name = ifelse(is.na(meddra_name) | meddra_name == "NA", + paste0("Unknown_", effect_meddra_id), + meddra_name)) %>% + rename(Adverse_Event = meddra_name) %>% + mutate(Drug = "Calcitriol") %>% + select(Adverse_Event, Count, Drug) -# Display the results in an interactive table -datatable( - anticoagulant_side_effects, - options = list(pageLength = 10), - caption = "Table 1: High-Confidence Side Effects Associated with Anticoagulants" +# Combine and select top 5 for each drug +combined_ae <- bind_rows(ae_summary, ae_summary_2) %>% + group_by(Drug) %>% + slice_max(Count, n = 5) %>% + ungroup() + +# Reshape for canvasXpress +comparison_matrix <- combined_ae %>% + pivot_wider(names_from = Drug, values_from = Count, values_fill = 0) + +# Create matrix format +cx_compare <- as.data.frame(comparison_matrix[, -1]) +rownames(cx_compare) <- comparison_matrix$Adverse_Event + +print(cx_compare) + + +# Visualization +canvasXpress( + data = cx_compare, + graphType = "BarLine", + title = "Comparative Adverse Event Profiles", + subtitle = "Leuprolide vs Calcitriol", + xAxisTitle = "Frequency", + yAxisTitle = "Adverse Event", + legendPosition = "topRight" ) ``` -The plot clearly shows "Myalgia" (muscle pain) as the most frequent high-confidence side effect, which is clinically well-established for statins and validates our integrated data. +## 7. Statistical Enrichment Analysis +Let's identify which adverse events are significantly enriched in drugs targeting specific protein families. + +```{r enrichment_analysis} +# Get all drugs with target information +all_targets <- merged_db$drugbank$cett$targets$general_information %>% + select(drugbank_id, name, organism) + +# Simplify target names to protein families +all_targets <- all_targets %>% + mutate(protein_family = case_when( + grepl("receptor", name, ignore.case = TRUE) ~ "Receptor", + grepl("enzyme", name, ignore.case = TRUE) ~ "Enzyme", + grepl("transporter", name, ignore.case = TRUE) ~ "Transporter", + TRUE ~ "Other" + )) + +# For this example, let's focus on the "Receptor" class +receptor_drugs <- all_targets %>% + filter(protein_family == "Receptor") %>% + pull(drugbank_id) %>% + unique() + +print(paste("Found", length(receptor_drugs), "drugs targeting receptors")) -## Conclusion +# Get all adverse events for receptor-targeting drugs +receptor_rxcui <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% + filter(drugbank_id %in% receptor_drugs) %>% + pull(rxcui) + +# Map to products and labels +receptor_products <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% + filter(ingredient_id %in% receptor_rxcui) %>% + pull(product_id) + +receptor_labels <- merged_db$onsides$product_to_rxnorm %>% + filter(rxnorm_product_id %in% receptor_products) %>% + pull(label_id) + +# Get adverse events +receptor_ae_data <- merged_db$onsides$product_adverse_effect %>% + filter(product_label_id %in% receptor_labels) + +# Calculate enrichment (frequency comparison) +receptor_ae_summary <- receptor_ae_data %>% + group_by(effect_meddra_id) %>% + summarise(Receptor_Count = n()) %>% + arrange(desc(Receptor_Count)) %>% + head(10) %>% + left_join(merged_db$onsides$vocab_meddra_adverse_effect, + by = c("effect_meddra_id" = "meddra_id")) %>% + mutate(meddra_name = ifelse(is.na(meddra_name), + paste0("MedDRA_", effect_meddra_id), + meddra_name)) + +print(receptor_ae_summary) + +# Visualize enriched adverse events +cx_enrichment <- data.frame(Count = receptor_ae_summary$Receptor_Count) +rownames(cx_enrichment) <- receptor_ae_summary$meddra_name + +canvasXpress( + data = t(cx_enrichment), + graphType = "Bar", + title = "Enriched Adverse Events: Receptor-Targeting Drugs", + xAxisTitle = "Frequency Across All Receptor Drugs", + yAxisTitle = "Adverse Event", + showLegend = FALSE +) +``` -The `merge_drugbank_onsides` function, respecting the scalable `dvobject` structure, allows for clear and powerful integration of disparate datasets. By maintaining distinct namespaces for each database (`$drugbank`, `$onsides`) and providing a dedicated list for `integrated_data`, the final object is both easy to navigate and ready for complex, multi-database analyses. +## 8. Conclusion +This vignette demonstrated the power of the merge_drugbank_onsides() function for integrating mechanistic and real-world pharmacovigilance data From 0970d71bdfd2bc3f8bfc0b85b8fee7c19244e252 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Mon, 8 Dec 2025 16:33:35 +0200 Subject: [PATCH 23/57] #177, updated add_database_info documentation --- R/dvobject_metadata.R | 1 + man/add_database_info.Rd | 2 ++ 2 files changed, 3 insertions(+) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 1ac4e81..59cd518 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -15,6 +15,7 @@ init_dvobject <- function() { #' add_database_info #' Assign passed databases db metadata to passed dvobject #' +#' @param dvobject dvobject to assign metadata to it #' @param db_type database type (defualt="DrugBank") #' @param db_version database version as string #' @param db_exported_date database official export date diff --git a/man/add_database_info.Rd b/man/add_database_info.Rd index 9bee2d3..19f97aa 100644 --- a/man/add_database_info.Rd +++ b/man/add_database_info.Rd @@ -13,6 +13,8 @@ add_database_info( ) } \arguments{ +\item{dvobject}{dvobject to assign metadata to it} + \item{db_type}{database type (defualt="DrugBank")} \item{db_version}{database version as string} From ab29013d8bb631fa4e828d71c7705007eae91bf3 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Mon, 8 Dec 2025 17:31:34 +0200 Subject: [PATCH 24/57] #177, fixed CMD notes --- R/merge_helpers.R | 7 ++++--- R/utils.R | 40 ++++++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index f9c6d9e..d485c68 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -20,7 +20,8 @@ #' @return A new dvobject containing the integrated data. #' #' @export -#' @importFrom dplyr .data filter select rename mutate left_join +#' @importFrom dplyr filter select rename mutate left_join +#' @importFrom rlang .data #' #' @examples #' \dontrun{ @@ -73,8 +74,8 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # --- Step 1: Create the Bridge (RxCUI Mapping Table) --- message("Creating DrugBank ID <-> RxCUI mapping table...") rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% - dplyr::filter(resource == "RxCUI") %>% - dplyr::select(all_of("drugbank_id"), rxcui = identifier) + dplyr::filter(.data$resource == "RxCUI") %>% + dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) # --- Step 2: Enrich OnSIDES Tables --- message("Enriching OnSIDES tables with DrugBank IDs...") diff --git a/R/utils.R b/R/utils.R index 870b5eb..ffa0889 100644 --- a/R/utils.R +++ b/R/utils.R @@ -3,6 +3,8 @@ #' @param component_name componemt name #' @param drug_ids passed drugs ids to subset for #' +#' @importFrom rlang .data +#' #' @return A new, smaller dvobject with the same structure. #' @noRd #' @keywords internal @@ -16,7 +18,7 @@ subset_cett_component <- function(component, component_name, drug_ids) { # Step A: Filter the top-level `general_information` table by drug_id. # This is our anchor. general_info_filtered <- component$general_information %>% - dplyr::filter(drugbank_id %in% drug_ids) + dplyr::filter(.data$drugbank_id %in% drug_ids) # Step B: From this anchor, get the set of relevant intermediate IDs. relevant_intermediate_ids <- general_info_filtered[[intermediate_id_col]] %>% @@ -61,7 +63,8 @@ subset_cett_component <- function(component, component_name, drug_ids) { #' @return A new, smaller dvobject with the same structure and attributes. #' #' @export -#' @importFrom dplyr .data filter +#' @importFrom dplyr filter +#' @importFrom rlang .data #' #' @examples #' \dontrun{ @@ -87,7 +90,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { # Most tables here link directly via drugbank_id if (is.data.frame(sub_table) && ("drugbank_id" %in% names(sub_table))) { filtered_subtable<- sub_table %>% - dplyr::filter(drugbank_id %in% drug_ids) + dplyr::filter(.data$drugbank_id %in% drug_ids) if (NROW(filtered_subtable) > 0) { new_dvobject$drugs[[name]] <- filtered_subtable } @@ -100,7 +103,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { if (NROW(dvobject[[name]]) > 0) { message(paste("Subsetting", name, "...")) filtered_subtable <- dvobject[[name]] %>% - dplyr::filter(drugbank_id %in% drug_ids) + dplyr::filter(.data$drugbank_id %in% drug_ids) if (NROW(filtered_subtable) > 0) { new_dvobject[[name]] <- filtered_subtable } @@ -115,7 +118,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { sub_table <- dvobject$references$drugs[[name]] if (is.data.frame(sub_table) && "drugbank_id" %in% names(sub_table)) { filtered_subtable <- sub_table %>% - dplyr::filter(drugbank_id %in% drug_ids) + dplyr::filter(.data$drugbank_id %in% drug_ids) if (NROW(filtered_subtable) > 0) { new_dvobject$references$drugs[[name]] <- filtered_subtable } @@ -186,7 +189,8 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { #' @param ingredient_ids A character vector of RxNorm CUIs (ingredients) to keep. #' #' @export -#' @importFrom dplyr .data filter pull +#' @importFrom dplyr filter pull +#' @importFrom rlang .data #' #' @return A new, smaller dvobject with the same structure. #' @family utils @@ -202,20 +206,20 @@ subset_onsides_dvobject <- function(dvobject, ingredient_ids) { message("Subsetting OnSIDES: Identifying all related keys...") # Find all products containing our target ingredients relevant_product_ids <- dvobject$vocab_rxnorm_ingredient_to_product %>% - dplyr::filter(ingredient_id %in% ingredient_ids) %>% - dplyr::pull(product_id) %>% + dplyr::filter(.data$ingredient_id %in% ingredient_ids) %>% + dplyr::pull(.data$product_id) %>% unique() # Find all labels associated with those products relevant_label_ids <- dvobject$product_to_rxnorm %>% - dplyr::filter(rxnorm_product_id %in% relevant_product_ids) %>% - dplyr::pull(label_id) %>% + dplyr::filter(.data$rxnorm_product_id %in% relevant_product_ids) %>% + dplyr::pull(.data$label_id) %>% unique() # --- 2. Filter the main data tables --- message("Filtering main OnSIDES data tables...") product_adverse_effect <- dvobject$product_adverse_effect %>% - dplyr::filter(product_label_id %in% relevant_label_ids) + dplyr::filter(.data$product_label_id %in% relevant_label_ids) if (NROW(product_adverse_effect) > 0) { new_dvobject$product_adverse_effect <- product_adverse_effect @@ -223,7 +227,7 @@ subset_onsides_dvobject <- function(dvobject, ingredient_ids) { if ("high_confidence" %in% names(dvobject)) { high_confidence <- dvobject$high_confidence %>% - dplyr::filter(ingredient_id %in% ingredient_ids) + dplyr::filter(.data$ingredient_id %in% ingredient_ids) if (NROW(high_confidence) > 0) { new_dvobject$high_confidence <- high_confidence @@ -233,21 +237,21 @@ subset_onsides_dvobject <- function(dvobject, ingredient_ids) { # --- 3. Filter the "bridge" and vocabulary tables to keep the subset lean --- message("Filtering vocabulary and mapping tables...") product_label <- dvobject$product_label %>% - dplyr::filter(label_id %in% relevant_label_ids) + dplyr::filter(.data$label_id %in% relevant_label_ids) if (NROW(product_label) > 0) { new_dvobject$product_label <- product_label } product_to_rxnorm <- dvobject$product_to_rxnorm %>% - dplyr::filter(label_id %in% relevant_label_ids) + dplyr::filter(.data$label_id %in% relevant_label_ids) if (NROW(product_to_rxnorm) > 0) { new_dvobject$product_to_rxnorm <- product_to_rxnorm } vocab_rxnorm_ingredient_to_product <- dvobject$vocab_rxnorm_ingredient_to_product %>% - dplyr::filter(ingredient_id %in% ingredient_ids) + dplyr::filter(.data$ingredient_id %in% ingredient_ids) if (NROW(vocab_rxnorm_ingredient_to_product) > 0) { new_dvobject$vocab_rxnorm_ingredient_to_product <- vocab_rxnorm_ingredient_to_product @@ -257,21 +261,21 @@ subset_onsides_dvobject <- function(dvobject, ingredient_ids) { relevant_meddra_ids <- new_dvobject$product_adverse_effect$effect_meddra_id %>% unique() vocab_meddra_adverse_effect <- dvobject$vocab_meddra_adverse_effect %>% - dplyr::filter(meddra_id %in% relevant_meddra_ids) + dplyr::filter(.data$meddra_id %in% relevant_meddra_ids) if (NROW(vocab_meddra_adverse_effect) > 0) { new_dvobject$vocab_meddra_adverse_effect <- vocab_meddra_adverse_effect } vocab_rxnorm_ingredient <- dvobject$vocab_rxnorm_ingredient %>% - dplyr::filter(rxnorm_id %in% ingredient_ids) + dplyr::filter(.data$rxnorm_id %in% ingredient_ids) if (NROW(vocab_rxnorm_ingredient) > 0) { new_dvobject$vocab_rxnorm_ingredient <- vocab_rxnorm_ingredient } vocab_rxnorm_product <- dvobject$vocab_rxnorm_product %>% - dplyr::filter(rxnorm_id %in% relevant_product_ids) + dplyr::filter(.data$rxnorm_id %in% relevant_product_ids) if (NROW(vocab_rxnorm_product) > 0) { new_dvobject$vocab_rxnorm_product <- vocab_rxnorm_product From 2708444a07f18951d73ff7024af240210f59588c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 14 Dec 2025 18:31:52 +0200 Subject: [PATCH 25/57] #176, Added two sides parser --- .github/workflows/rhub.yaml | 95 +++++++++++++++++++++++++++++++++++++ NAMESPACE | 2 + R/nsides_parsers.R | 57 ++++++++++++++++++++++ R/onsides_parser.R | 1 + man/parseTWOSIDES.Rd | 45 ++++++++++++++++++ 5 files changed, 200 insertions(+) create mode 100644 .github/workflows/rhub.yaml create mode 100644 R/nsides_parsers.R create mode 100644 man/parseTWOSIDES.Rd diff --git a/.github/workflows/rhub.yaml b/.github/workflows/rhub.yaml new file mode 100644 index 0000000..74ec7b0 --- /dev/null +++ b/.github/workflows/rhub.yaml @@ -0,0 +1,95 @@ +# R-hub's generic GitHub Actions workflow file. It's canonical location is at +# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml +# You can update this file to a newer version using the rhub2 package: +# +# rhub::rhub_setup() +# +# It is unlikely that you need to modify this file manually. + +name: R-hub +run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}" + +on: + workflow_dispatch: + inputs: + config: + description: 'A comma separated list of R-hub platforms to use.' + type: string + default: 'linux,windows,macos' + name: + description: 'Run name. You can leave this empty now.' + type: string + id: + description: 'Unique ID. You can leave this empty now.' + type: string + +jobs: + + setup: + runs-on: ubuntu-latest + outputs: + containers: ${{ steps.rhub-setup.outputs.containers }} + platforms: ${{ steps.rhub-setup.outputs.platforms }} + + steps: + # NO NEED TO CHECKOUT HERE + - uses: r-hub/actions/setup@v1 + with: + config: ${{ github.event.inputs.config }} + id: rhub-setup + + linux-containers: + needs: setup + if: ${{ needs.setup.outputs.containers != '[]' }} + runs-on: ubuntu-latest + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.containers) }} + container: + image: ${{ matrix.config.container }} + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/run-check@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + + other-platforms: + needs: setup + if: ${{ needs.setup.outputs.platforms != '[]' }} + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.platforms) }} + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/setup-r@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + - uses: r-hub/actions/run-check@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} diff --git a/NAMESPACE b/NAMESPACE index a85bf8e..8991267 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -6,6 +6,7 @@ export(drug_node_options) export(merge_drugbank_onsides) export(parseDrugBank) export(parseOnSIDES) +export(parseTWOSIDES) export(references_node_options) export(show_dvobject_metadata) export(subset_drugbank_dvobject) @@ -36,6 +37,7 @@ importFrom(purrr,is_empty) importFrom(purrr,is_null) importFrom(purrr,map_chr) importFrom(purrr,map_df) +importFrom(rlang,.data) importFrom(tibble,as_tibble) importFrom(tibble,as_tibble_row) importFrom(tibble,tibble) diff --git a/R/nsides_parsers.R b/R/nsides_parsers.R new file mode 100644 index 0000000..118b66f --- /dev/null +++ b/R/nsides_parsers.R @@ -0,0 +1,57 @@ +#' Parse the TWOSIDES Drug-Drug Interaction Database +#' +#' Reads the \href{https://tatonettilab-resources.s3.amazonaws.com/nsides/TWOSIDES.csv.gz}{TWOSIDES} data file, which contains adverse event data for pairs of +#' drugs taken concurrently (N=2 interactions). +#' +#' \href{https://tatonettilab-resources.s3.amazonaws.com/nsides/TWOSIDES.csv.gz}{TWOSIDES} is a database of drug-drug interaction safety signals +#' mined from the FDA's Adverse Event Reporting System using the same +#' approach as is used to generate OffSIDES. +#' +#' Database fields as follow: +#' \describe{ +#' \item{drug_1_rxnorn_id}{RxNORM identifier for drug 1} +#' \item{drug_1_concept_name}{RxNORM name string for drug 1} +#' \item{drug_2_rxnorm_id}{RxNORM identifier for drug 2} +#' \item{drug_2_concept_name}{RxNORM name string for drug 3} +#' \item{condition_meddra_id}{MedDRA identifier for the side effect} +#' \item{condition_concpet_name}{MedDRA name string for the side effect} +#' \item{A}{The number of reports for the pair of drugs that report the side effect} +#' \item{B}{The number of reports for the pair of drugs that do not report the side effect} +#' \item{C}{The number of reports for other PSM matched drugs (including perhaps the single versions of drug 1 or drug 2) that report the side effect} +#' \item{D}{The number of reports for other PSM matched drugs and other side effects} +#' \item{PRR}{Proportional reporting ratio, PRR=(A/(A+B))/(C/(C+D))} +#' \item{PRR_error}{Error estimate of the PRR} +#' \item{mean_reporting_frequency}{Proportion of reports for the drug that report the side effect, A/(A+B)} +#' } +#' +#' @param twosides_file_path Path to the TWOSIDES data file (e.g., 'TWOSIDES.csv.gz'). +#' @param db_version used twoside version (default = NULL) +#' @param db_exported_date used twoside release date (default = NULL) +#' +#' @return A dvobject of class `TWOSIDESDB` containing the `drug_drug_interactions` +#' data frame and associated metadata. +#' +#' @export +#' @importFrom data.table fread +parseTWOSIDES <- function(twosides_file_path, + db_version = NULL, + db_exported_date = NULL) { + if (!file.exists(twosides_file_path)) { + stop("TWOSIDES file not found at path: ", twosides_file_path) + } + + message("Parsing TWOSIDES drug-drug interaction data...") + twosides_data <- data.table::fread(twosides_file_path) + message("Parsing complete.") + + twosides_db <- init_dvobject() + twosides_db$drug_drug_interactions <- twosides_data + + twosides_db <- add_database_info( + dvobject = twosides_db, + db_type = "TWOSIDESDB", + db_version = db_version, + db_exported_date = db_exported_date) + + twosides_db +} diff --git a/R/onsides_parser.R b/R/onsides_parser.R index d92bf7d..b81a4a9 100644 --- a/R/onsides_parser.R +++ b/R/onsides_parser.R @@ -64,4 +64,5 @@ parseOnSIDES <- function(dataDir, db_type = "OnSIDES", db_version = db_version, db_exported_date = db_exported_date) + db_tables } diff --git a/man/parseTWOSIDES.Rd b/man/parseTWOSIDES.Rd new file mode 100644 index 0000000..637cfbd --- /dev/null +++ b/man/parseTWOSIDES.Rd @@ -0,0 +1,45 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/nsides_parsers.R +\name{parseTWOSIDES} +\alias{parseTWOSIDES} +\title{Parse the TWOSIDES Drug-Drug Interaction Database} +\usage{ +parseTWOSIDES(twosides_file_path, db_version = NULL, db_exported_date = NULL) +} +\arguments{ +\item{twosides_file_path}{Path to the TWOSIDES data file (e.g., 'TWOSIDES.csv.gz').} + +\item{db_version}{used twoside version (default = NULL)} + +\item{db_exported_date}{used twoside release date (default = NULL)} +} +\value{ +A dvobject of class `TWOSIDESDB` containing the `drug_drug_interactions` + data frame and associated metadata. +} +\description{ +Reads the \href{https://tatonettilab-resources.s3.amazonaws.com/nsides/TWOSIDES.csv.gz}{TWOSIDES} data file, which contains adverse event data for pairs of +drugs taken concurrently (N=2 interactions). +} +\details{ +\href{https://tatonettilab-resources.s3.amazonaws.com/nsides/TWOSIDES.csv.gz}{TWOSIDES} is a database of drug-drug interaction safety signals +mined from the FDA's Adverse Event Reporting System using the same +approach as is used to generate OffSIDES. + +Database fields as follow: +\describe{ +\item{drug_1_rxnorn_id}{RxNORM identifier for drug 1} +\item{drug_1_concept_name}{RxNORM name string for drug 1} +\item{drug_2_rxnorm_id}{RxNORM identifier for drug 2} +\item{drug_2_concept_name}{RxNORM name string for drug 3} +\item{condition_meddra_id}{MedDRA identifier for the side effect} +\item{condition_concpet_name}{MedDRA name string for the side effect} +\item{A}{The number of reports for the pair of drugs that report the side effect} +\item{B}{The number of reports for the pair of drugs that do not report the side effect} +\item{C}{The number of reports for other PSM matched drugs (including perhaps the single versions of drug 1 or drug 2) that report the side effect} +\item{D}{The number of reports for other PSM matched drugs and other side effects} +\item{PRR}{Proportional reporting ratio, PRR=(A/(A+B))/(C/(C+D))} +\item{PRR_error}{Error estimate of the PRR} +\item{mean_reporting_frequency}{Proportion of reports for the drug that report the side effect, A/(A+B)} +} +} From c3f953a088d743bf993a663e5b25d810d4b13ec7 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 14 Dec 2025 19:30:02 +0200 Subject: [PATCH 26/57] #176, updated package version --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index ad67057..5f8f3da 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dbparser Title: Drugs Databases Parser -Version: 2.1.0.9001 +Version: 2.1.0.9002 Authors@R: c( person("Mohammed", "Ali", email = "moh_fcis@yahoo.com", role = c("aut", "cre")), From 68d69044d8e9eac53df1eba17c4e8814c3779812 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sun, 14 Dec 2025 19:30:27 +0200 Subject: [PATCH 27/57] #176, removed unneeded imports --- NAMESPACE | 1 - R/merge_helpers.R | 3 +-- R/utils.R | 8 +++----- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 8991267..aefe01e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -37,7 +37,6 @@ importFrom(purrr,is_empty) importFrom(purrr,is_null) importFrom(purrr,map_chr) importFrom(purrr,map_df) -importFrom(rlang,.data) importFrom(tibble,as_tibble) importFrom(tibble,as_tibble_row) importFrom(tibble,tibble) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index d485c68..b721107 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -20,8 +20,7 @@ #' @return A new dvobject containing the integrated data. #' #' @export -#' @importFrom dplyr filter select rename mutate left_join -#' @importFrom rlang .data +#' @importFrom dplyr filter select rename mutate left_join .data #' #' @examples #' \dontrun{ diff --git a/R/utils.R b/R/utils.R index ffa0889..9492b27 100644 --- a/R/utils.R +++ b/R/utils.R @@ -3,7 +3,7 @@ #' @param component_name componemt name #' @param drug_ids passed drugs ids to subset for #' -#' @importFrom rlang .data +#' @importFrom dplyr .data #' #' @return A new, smaller dvobject with the same structure. #' @noRd @@ -63,8 +63,7 @@ subset_cett_component <- function(component, component_name, drug_ids) { #' @return A new, smaller dvobject with the same structure and attributes. #' #' @export -#' @importFrom dplyr filter -#' @importFrom rlang .data +#' @importFrom dplyr filter .data #' #' @examples #' \dontrun{ @@ -189,8 +188,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { #' @param ingredient_ids A character vector of RxNorm CUIs (ingredients) to keep. #' #' @export -#' @importFrom dplyr filter pull -#' @importFrom rlang .data +#' @importFrom dplyr filter pull .data #' #' @return A new, smaller dvobject with the same structure. #' @family utils From 971644c5331c9db04ea233a4ae78391ac45c3a6f Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Thu, 25 Dec 2025 16:36:54 +0200 Subject: [PATCH 28/57] #176, implemented merge_drugbank_onsides method --- NAMESPACE | 2 + R/merge_helpers.R | 121 +++++++++++++++++++++++++++ man/merge_drugbank_twosides.Rd | 25 ++++++ tests/testthat/test_twoside_parser.R | 16 ++++ 4 files changed, 164 insertions(+) create mode 100644 man/merge_drugbank_twosides.Rd create mode 100644 tests/testthat/test_twoside_parser.R diff --git a/NAMESPACE b/NAMESPACE index aefe01e..3334710 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(add_database_info) export(cett_nodes_options) export(drug_node_options) export(merge_drugbank_onsides) +export(merge_drugbank_twosides) export(parseDrugBank) export(parseOnSIDES) export(parseTWOSIDES) @@ -24,6 +25,7 @@ importFrom(XML,xmlToList) importFrom(XML,xmlValue) importFrom(data.table,fread) importFrom(dplyr,.data) +importFrom(dplyr,distinct) importFrom(dplyr,filter) importFrom(dplyr,left_join) importFrom(dplyr,mutate) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index b721107..cb150bb 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -123,3 +123,124 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { message("Merge complete.") merged_object } + + +#' Merge a DrugBank dvobject with a TWOSIDES dvobject +#' +#' Integrates drug-drug interaction data from TWOSIDES with the rich mechanistic +#' information from DrugBank. This function is chainable and can accept a raw +#' DrugBank object or an already-merged dvobject. +#' +#' @param db_object A dvobject from `parseDrugBank()` or an existing merged dvobject. +#' @param twosides_db A dvobject from `parseTWOSIDES()`. +#' +#' @return A new, nested dvobject with the TWOSIDES data added. +#' +#' @importFrom dplyr filter select rename mutate left_join .data distinct +#' @export +#' Merge a DrugBank dvobject with a TWOSIDES dvobject +#' +#' Integrates drug-drug interaction data from TWOSIDES with DrugBank. +#' Supports piping and chaining. +#' +#' @param db_object A dvobject from `parseDrugBank()` OR an existing merged +#' dvobject (containing `$drugbank`). +#' @param twosides_db A dvobject from `parseTWOSIDES()`. +#' +#' @export +merge_drugbank_twosides <- function(db_object, twosides_db) { + + # --- Step 0: Input Validation and Hub Detection (Pipe Friendly) --- + if ("drugbank" %in% names(db_object)) { + # Case A: Input is an already-merged object + drugbank_db <- db_object$drugbank + merged_object <- db_object + } else { + # Case B: Input is a raw DrugBank object + drugbank_db <- db_object + merged_object <- init_dvobject() + merged_object$drugbank <- db_object + attr(merged_object, "DrugBankDB") <- attr(drugbank_db, "original_db_info") + } + + # Validate inputs + if (!inherits(drugbank_db, "dvobject") || (!"drugs" %in% names(drugbank_db))) { + stop("`db_object` must contain a valid DrugBank dvobject.") + } + if (!inherits(drugbank_db, "dvobject") || (!"external_identifiers" %in% names(drugbank_db$drugs))) { + stop("`drugbank_db` must contain external_identifiers data.") + } + if (!is.list(twosides_db) || !("drug_drug_interactions" %in% names(twosides_db))) { + stop("`twosides_db` must be a valid dvobject from parseTWOSIDES().") + } + + # --- Step 1: Create Bridge --- + message("Creating DrugBank ID <-> RxCUI mapping table...") + rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% + dplyr::filter(.data$resource == "RxCUI") %>% + dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) %>% + dplyr::distinct() + + # Drug name lookup + drug_name_lookup <- drugbank_db$drugs$general_information %>% + dplyr::select(all_of("drugbank_id"), drug_name = .data$name) + + # --- Step 2: Enrich TWOSIDES Data --- + message("Enriching TWOSIDES data with DrugBank information...") + + # Prepare lookup tables for double joining + rxcui_map_1 <- rxcui_mapping_df %>% dplyr::rename(drugbank_id_1 = .data$drugbank_id) + rxcui_map_2 <- rxcui_mapping_df %>% dplyr::rename(drugbank_id_2 = .data$drugbank_id) + + drug_name_lookup_1 <- drug_name_lookup %>% + dplyr::rename(drug_name_1 = .data$drug_name, drugbank_id_1 = .data$drugbank_id) + drug_name_lookup_2 <- drug_name_lookup %>% + dplyr::rename(drug_name_2 = .data$drug_name, drugbank_id_2 = .data$drugbank_id) + + enriched_ddis <- twosides_db$drug_drug_interactions %>% + # LOGIC CHANGE 1: Union (OR) Filter + # Note the spelling: rxnorn + dplyr::filter((.data$drug_1_rxnorn_id %in% rxcui_mapping_df$rxcui) | + (.data$drug_2_rxnorm_id %in% rxcui_mapping_df$rxcui)) %>% + + # Join for Drug 1 (using 'rxnorn' spelling) + dplyr::left_join(rxcui_map_1, by = c("drug_1_rxnorn_id" = "rxcui")) %>% + dplyr::left_join(drug_name_lookup_1, by = "drugbank_id_1") %>% + + # Join for Drug 2 (Twosides seems to use 'rxnorm' for the second one? Or check if consistent) + # Based on your screenshot, assuming consistent spelling might be safer, + # but check your colnames. Usually data is consistent. + # If the second col is "drug_2_rxnorm_id" (with m), keep as is. + dplyr::left_join(rxcui_map_2, by = c("drug_2_rxnorm_id" = "rxcui")) %>% + dplyr::left_join(drug_name_lookup_2, by = "drugbank_id_2") %>% + + # LOGIC CHANGE 2: Keep if at least one side matched + dplyr::filter(!is.na(.data$drugbank_id_1) | !is.na(.data$drugbank_id_2)) %>% + + # LOGIC CHANGE 3: Fallback names to prevent NAs + dplyr::mutate( + drug_name_1 = dplyr::coalesce(.data$drug_name_1, .data$drug_1_concept_name), + drug_name_2 = dplyr::coalesce(.data$drug_name_2, .data$drug_2_concept_name) + ) + + # --- Step 3: Assemble Final Object --- + # Initialize integrated_data if it doesn't exist + if (is.null(merged_object$integrated_data)) { + merged_object$integrated_data <- list() + } + + # Add the new enriched table + merged_object$integrated_data$drug_drug_interactions <- enriched_ddis + + # Add raw Twosides data + merged_object$twosides <- twosides_db + + # --- Step 4: Metadata --- + attr(merged_object, "TwoSidesDB") <- attr(twosides_db, "original_db_info") + + # Prepend new class + class(merged_object) <- unique(c("DrugBankTWOSIDESDb", class(merged_object))) + + message("Merge complete.") + merged_object +} diff --git a/man/merge_drugbank_twosides.Rd b/man/merge_drugbank_twosides.Rd new file mode 100644 index 0000000..8c83041 --- /dev/null +++ b/man/merge_drugbank_twosides.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/merge_helpers.R +\name{merge_drugbank_twosides} +\alias{merge_drugbank_twosides} +\title{Merge a DrugBank dvobject with a TWOSIDES dvobject} +\usage{ +merge_drugbank_twosides(db_object, twosides_db, meddra_vocab = NULL) +} +\arguments{ +\item{db_object}{A dvobject from `parseDrugBank()` or an existing merged dvobject.} + +\item{twosides_db}{A dvobject from `parseTWOSIDES()`.} + +\item{meddra_vocab}{Optional. A data frame from OnSIDES (`vocab_meddra_adverse_effect`) +to add human-readable names for side effects. Should have columns `meddra_id` +and `meddra_name`.} +} +\value{ +A new, nested dvobject with the TWOSIDES data added. +} +\description{ +Integrates drug-drug interaction data from TWOSIDES with the rich mechanistic +information from DrugBank. This function is chainable and can accept a raw +DrugBank object or an already-merged dvobject. +} diff --git a/tests/testthat/test_twoside_parser.R b/tests/testthat/test_twoside_parser.R new file mode 100644 index 0000000..d9e214b --- /dev/null +++ b/tests/testthat/test_twoside_parser.R @@ -0,0 +1,16 @@ +context("test parse onside nodes") + +test_that( + desc = "parse two side DB - default params", + code = { + local_edition(3) + expect_snapshot( + expect_error(parseTWOSIDES(twosides_file_path = "data_path"))) + data_path <- dirname(unzip(system.file("onside.zip", + package = "dbparser"))[1]) + onside <- parseOnSIDES(dataDir = data_path) + unlink(data_path, recursive = TRUE) + expect_equal(length(onside), 8) + expect_snapshot(show_dvobject_metadata(onside)) + } +) From 3f126ac02fe3e307e53be0a0974b848f5e6fd9c8 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Thu, 25 Dec 2025 18:13:19 +0200 Subject: [PATCH 29/57] #176, Fixed Metadata info for second database --- R/dvobject_metadata.R | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index 59cd518..c157525 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -162,14 +162,13 @@ find_second_database <- function(attrs) { potential_second_db <- setdiff(names(attrs), standard_attrs) if (length(potential_second_db) > 0) { - for (db_name in potential_second_db) { - db_attr <- attrs[[db_name]] - required_fields <- c("db_type", "db_version", "db_exported_date") - - if ((is.list(db_attr)) && (all(required_fields %in% names(db_attr)))) { - result$has_second_db <- TRUE - result$second_db_name <- db_name - } + db_name <- potential_second_db[length(potential_second_db)] + db_attr <- attrs[[db_name]] + required_fields <- c("db_type") + + if ((is.list(db_attr)) && (any(required_fields %in% names(db_attr)))) { + result$has_second_db <- TRUE + result$second_db_name <- db_name } } From 22494be4848ea3cc4dde31227d862caca8c62734 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Thu, 25 Dec 2025 18:26:06 +0200 Subject: [PATCH 30/57] #176, updated onside merger to support pip operation --- R/merge_helpers.R | 57 +++++++++++++++++++-------- tests/testthat/test_merge_functions.R | 2 +- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index cb150bb..33420f5 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -13,8 +13,10 @@ #' #' The resulting object allows for powerful queries that span both mechanistic data from #' DrugBank and clinical side-effect data from OnSIDES. +#' Supports piping and chaining with other merge functions. #' -#' @param drugbank_db A dvobject produced by `dbparser::parseDrugBank()`. +#' @param db_object A dvobject from `parseDrugBank()` OR an existing merged +#' dvobject (containing `$drugbank`). #' @param onsides_db A dvobject produced by `dbparser::parseOnSIDES()`. #' #' @return A new dvobject containing the integrated data. @@ -53,18 +55,35 @@ #' #' head(targets_of_interest) #' } -merge_drugbank_onsides <- function(drugbank_db, onsides_db) { - # --- Step 0: Input Validation --- +merge_drugbank_onsides <- function(db_object, onsides_db) { + + # --- Step 0: Input Validation and Hub Detection --- + # This logic enables the Pipe (%>%) and Chaining. + + if ("drugbank" %in% names(db_object)) { + # CASE A: Input is an already-merged object (e.g., passed via pipe from another merge) + drugbank_db <- db_object$drugbank + merged_object <- db_object # Start with existing data to preserve previous merges + } else { + # CASE B: Input is a raw DrugBank object + drugbank_db <- db_object + merged_object <- init_dvobject() + merged_object$drugbank <- db_object + attr(merged_object, "DrugBankDB") <- attr(drugbank_db, "original_db_info") + } + + # Validate the Hub if (!inherits(drugbank_db, "dvobject") || (!"drugs" %in% names(drugbank_db))) { - stop("`drugbank_db` must be a valid dvobject from parseDrugBank().") + stop("`db_object` must contain a valid DrugBank dvobject.") } if (!inherits(drugbank_db, "dvobject") || (!"external_identifiers" %in% names(drugbank_db$drugs))) { - stop("`drugbank_db` dvobject must contain external_identifiers data.") + stop("`drugbank_db` must contain external_identifiers data.") } + # Validate the Spoke if (!inherits(onsides_db, "dvobject") || (!"vocab_rxnorm_ingredient" %in% names(onsides_db))) { stop("`onsides_db` must be a valid dvobject from parseOnSIDES().") @@ -74,7 +93,8 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { message("Creating DrugBank ID <-> RxCUI mapping table...") rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% dplyr::filter(.data$resource == "RxCUI") %>% - dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) + dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) %>% + dplyr::distinct() # --- Step 2: Enrich OnSIDES Tables --- message("Enriching OnSIDES tables with DrugBank IDs...") @@ -93,20 +113,23 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # --- Step 3: Assemble the Final Merged Object --- message("Assembling final merged object...") - # Start with all of DrugBank's data - merged_object <- init_dvobject() - merged_object$drugbank <- drugbank_db - attr(merged_object, "DrugBankDB") <- attr(drugbank_db, "original_db_info") - merged_object$onsides <- list() - merged_object$integrated_data <- list() + # Add OnSIDES structure (Initialize if needed, but append to existing) + if (is.null(merged_object$onsides)) { + merged_object$onsides <- list() + } - # Add all of OnSIDES's data + # Copy all OnSIDES tables for (name in names(onsides_db)) { merged_object$onsides[[name]] <- onsides_db[[name]] } - # Overwrite the original OnSIDES tables with our new enriched versions - merged_object$vocab_rxnorm_ingredient_enriched <- onsides_ingredient_enriched + # Ensure integrated_data list exists + if (is.null(merged_object$integrated_data)) { + merged_object$integrated_data <- list() + } + + merged_object$integrated_data[["vocab_rxnorm_ingredient_enriched"]] <- onsides_ingredient_enriched + if (exists("onsides_hc_enriched")) { merged_object$integrated_data[["high_confidence_enriched"]] <- onsides_hc_enriched } @@ -117,8 +140,8 @@ merge_drugbank_onsides <- function(drugbank_db, onsides_db) { # Update metadata attr(merged_object, "onSideDB") <- attr(onsides_db, "original_db_info") - # Assign a new class - class(merged_object) <- c("DrugBankOnSIDESDb", class(merged_object)) + # Assign a new class (Prepend to keep existing classes like DrugBankTWOSIDESDb) + class(merged_object) <- unique(c("DrugBankOnSIDESDb", class(merged_object))) message("Merge complete.") merged_object diff --git a/tests/testthat/test_merge_functions.R b/tests/testthat/test_merge_functions.R index e95550d..668a29a 100644 --- a/tests/testthat/test_merge_functions.R +++ b/tests/testthat/test_merge_functions.R @@ -26,7 +26,7 @@ test_that( "`onsides_db` must be a valid dvobject from parseOnSIDES().") all_dbs <- merge_drugbank_onsides( - drugbank_db = drugbank, + db_object = drugbank, onsides_db = onside) expect_snapshot(show_dvobject_metadata(all_dbs)) From e56cd80ca02e484bd4fd15d7b09979048891a47f Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Thu, 25 Dec 2025 18:39:12 +0200 Subject: [PATCH 31/57] #176, fixed documentation --- R/merge_helpers.R | 10 ---------- man/merge_drugbank_onsides.Rd | 6 ++++-- man/merge_drugbank_twosides.Rd | 6 +----- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 33420f5..23b3126 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -161,16 +161,6 @@ merge_drugbank_onsides <- function(db_object, onsides_db) { #' #' @importFrom dplyr filter select rename mutate left_join .data distinct #' @export -#' Merge a DrugBank dvobject with a TWOSIDES dvobject -#' -#' Integrates drug-drug interaction data from TWOSIDES with DrugBank. -#' Supports piping and chaining. -#' -#' @param db_object A dvobject from `parseDrugBank()` OR an existing merged -#' dvobject (containing `$drugbank`). -#' @param twosides_db A dvobject from `parseTWOSIDES()`. -#' -#' @export merge_drugbank_twosides <- function(db_object, twosides_db) { # --- Step 0: Input Validation and Hub Detection (Pipe Friendly) --- diff --git a/man/merge_drugbank_onsides.Rd b/man/merge_drugbank_onsides.Rd index f67afc4..705e188 100644 --- a/man/merge_drugbank_onsides.Rd +++ b/man/merge_drugbank_onsides.Rd @@ -4,10 +4,11 @@ \alias{merge_drugbank_onsides} \title{Merge DrugBank and OnSIDES Database Objects} \usage{ -merge_drugbank_onsides(drugbank_db, onsides_db) +merge_drugbank_onsides(db_object, onsides_db) } \arguments{ -\item{drugbank_db}{A dvobject produced by `dbparser::parseDrugBank()`.} +\item{db_object}{A dvobject from `parseDrugBank()` OR an existing merged +dvobject (containing `$drugbank`).} \item{onsides_db}{A dvobject produced by `dbparser::parseOnSIDES()`.} } @@ -28,6 +29,7 @@ This function performs the following key steps: The resulting object allows for powerful queries that span both mechanistic data from DrugBank and clinical side-effect data from OnSIDES. +Supports piping and chaining with other merge functions. } \examples{ \dontrun{ diff --git a/man/merge_drugbank_twosides.Rd b/man/merge_drugbank_twosides.Rd index 8c83041..25e9b87 100644 --- a/man/merge_drugbank_twosides.Rd +++ b/man/merge_drugbank_twosides.Rd @@ -4,16 +4,12 @@ \alias{merge_drugbank_twosides} \title{Merge a DrugBank dvobject with a TWOSIDES dvobject} \usage{ -merge_drugbank_twosides(db_object, twosides_db, meddra_vocab = NULL) +merge_drugbank_twosides(db_object, twosides_db) } \arguments{ \item{db_object}{A dvobject from `parseDrugBank()` or an existing merged dvobject.} \item{twosides_db}{A dvobject from `parseTWOSIDES()`.} - -\item{meddra_vocab}{Optional. A data frame from OnSIDES (`vocab_meddra_adverse_effect`) -to add human-readable names for side effects. Should have columns `meddra_id` -and `meddra_name`.} } \value{ A new, nested dvobject with the TWOSIDES data added. From c973c16ca9e92108acad75f54d29a0b16e8ff89d Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Thu, 25 Dec 2025 18:39:30 +0200 Subject: [PATCH 32/57] #176, Added twosides raw data --- inst/twoside_raw.zip | Bin 0 -> 51208 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 inst/twoside_raw.zip diff --git a/inst/twoside_raw.zip b/inst/twoside_raw.zip new file mode 100644 index 0000000000000000000000000000000000000000..b87d7b07a35afa7aa2e85600013ef833ea5ad2dc GIT binary patch literal 51208 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%0A^;M7_hkp|A!kT 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 Date: Thu, 25 Dec 2025 19:23:37 +0200 Subject: [PATCH 33/57] - Added twosides unit tests, #176 --- tests/testthat/_snaps/merge_functions.md | 2 +- tests/testthat/_snaps/twoside_parser.md | 22 ++++++++++++++++++++++ tests/testthat/test_merge_functions.R | 10 +++++----- tests/testthat/test_twoside_parser.R | 11 ++++++----- 4 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 tests/testthat/_snaps/twoside_parser.md diff --git a/tests/testthat/_snaps/merge_functions.md b/tests/testthat/_snaps/merge_functions.md index 1d4850f..2f949b3 100644 --- a/tests/testthat/_snaps/merge_functions.md +++ b/tests/testthat/_snaps/merge_functions.md @@ -77,7 +77,7 @@ onsides$vocab_meddra_adverse_effect 347 3 31.6 Kb onsides$vocab_rxnorm_ingredient 3 3 2.1 Kb onsides$vocab_rxnorm_product 17 3 4.9 Kb + integrated_data$vocab_rxnorm_ingredient_enriched 3 4 2.3 Kb integrated_data$high_confidence_enriched 2 3 1.6 Kb integrated_data$DrugBank_RxCUI_Mapping 2 2 1.2 Kb - vocab_rxnorm_ingredient_enriched 3 4 2.3 Kb diff --git a/tests/testthat/_snaps/twoside_parser.md b/tests/testthat/_snaps/twoside_parser.md new file mode 100644 index 0000000..22f7bb9 --- /dev/null +++ b/tests/testthat/_snaps/twoside_parser.md @@ -0,0 +1,22 @@ +# parse two side DB - default params + + Code + expect_error(parseTWOSIDES(twosides_file_path = "data_path")) + +--- + + Code + show_dvobject_metadata(twoside) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 dvobject 1 0 217.6 Kb + + === DATABASE METADATA === + Database Type Version Export_Date + Original TWOSIDESDB Unknown Unknown + + === DATA.FRAMES === + Path Rows Cols Size + drug_drug_interactions 1706 13 216.6 Kb + diff --git a/tests/testthat/test_merge_functions.R b/tests/testthat/test_merge_functions.R index 668a29a..69be241 100644 --- a/tests/testthat/test_merge_functions.R +++ b/tests/testthat/test_merge_functions.R @@ -9,19 +9,19 @@ test_that( onside <- readRDS(system.file("onside.RDS", package = "dbparser")) expect_error(merge_drugbank_onsides( - drugbank_db = list(), + db_object = list(), onsides_db = onside), - "`drugbank_db` must be a valid dvobject from parseDrugBank().") + "`db_object` must contain a valid DrugBank dvobject.") invalid_drugbank <- drugbank invalid_drugbank$drugs$external_identifiers <- NULL expect_error(merge_drugbank_onsides( - drugbank_db = invalid_drugbank, + db_object = invalid_drugbank, onsides_db = onside), - "`drugbank_db` dvobject must contain external_identifiers data.") + "`drugbank_db` must contain external_identifiers data.") expect_error(merge_drugbank_onsides( - drugbank_db = drugbank, + db_object = drugbank, onsides_db = list()), "`onsides_db` must be a valid dvobject from parseOnSIDES().") diff --git a/tests/testthat/test_twoside_parser.R b/tests/testthat/test_twoside_parser.R index d9e214b..a56871e 100644 --- a/tests/testthat/test_twoside_parser.R +++ b/tests/testthat/test_twoside_parser.R @@ -6,11 +6,12 @@ test_that( local_edition(3) expect_snapshot( expect_error(parseTWOSIDES(twosides_file_path = "data_path"))) - data_path <- dirname(unzip(system.file("onside.zip", - package = "dbparser"))[1]) - onside <- parseOnSIDES(dataDir = data_path) + data_path <- unzip(system.file("twoside_raw.zip", + package = "dbparser")) + twoside <- parseTWOSIDES(twosides_file_path = data_path) unlink(data_path, recursive = TRUE) - expect_equal(length(onside), 8) - expect_snapshot(show_dvobject_metadata(onside)) + expect_equal(length(twoside), 1) + expect_equal(dim(twoside$drug_drug_interactions), c(1706, 13)) + expect_snapshot(show_dvobject_metadata(twoside)) } ) From 1f305ab577e519067bbe76eb3c9a9bb7b8a20fc6 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Fri, 26 Dec 2025 09:49:14 +0200 Subject: [PATCH 34/57] #176, added twosides unit tests --- R/merge_helpers.R | 1 + tests/testthat/_snaps/merge_functions.md | 74 ++++++++++++++++++++++ tests/testthat/test_merge_functions.R | 80 ++++++++++++++++++++++-- 3 files changed, 149 insertions(+), 6 deletions(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 23b3126..aaec63f 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -192,6 +192,7 @@ merge_drugbank_twosides <- function(db_object, twosides_db) { rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% dplyr::filter(.data$resource == "RxCUI") %>% dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) %>% + dplyr::mutate(rxcui = as.integer(rxcui)) %>% dplyr::distinct() # Drug name lookup diff --git a/tests/testthat/_snaps/merge_functions.md b/tests/testthat/_snaps/merge_functions.md index 2f949b3..c10b006 100644 --- a/tests/testthat/_snaps/merge_functions.md +++ b/tests/testthat/_snaps/merge_functions.md @@ -81,3 +81,77 @@ integrated_data$high_confidence_enriched 2 3 1.6 Kb integrated_data$DrugBank_RxCUI_Mapping 2 2 1.2 Kb +# merge drugbank and twoside + + Code + show_dvobject_metadata(all_dbs) + Output + === BASIC INFO === + Class Total_DataFrames Top_Level_Lists Object_Size + 1 DrugBankTWOSIDESDb, dvobject 57 3 2 Mb + + === DATABASE METADATA === + Database Type Version Export_Date + First Database DrugBank 5.1 2025-01-02 + Second Database TWOSIDESDB Unknown Unknown + + === DATA.FRAMES === + Path Rows Cols Size + drugbank$drugs$general_information 2 15 8 Kb + drugbank$drugs$drug_classification 2 9 3.8 Kb + drugbank$drugs$synonyms 15 4 3.6 Kb + drugbank$drugs$pharmacology 2 12 18.1 Kb + drugbank$drugs$international_brands 9 3 2.7 Kb + drugbank$drugs$mixtures 5 3 2 Kb + drugbank$drugs$packagers 35 3 6.2 Kb + drugbank$drugs$manufacturers 13 4 2.9 Kb + drugbank$drugs$prices 16 5 4.6 Kb + drugbank$drugs$categories 58 3 9.2 Kb + drugbank$drugs$dosages 189 4 17.4 Kb + drugbank$drugs$atc_codes 4 10 4.3 Kb + drugbank$drugs$patents 35 6 8.6 Kb + drugbank$drugs$drug_interactions 1645 4 514.7 Kb + drugbank$drugs$sequences 1 3 1.3 Kb + drugbank$drugs$calculated_properties 26 4 5.6 Kb + drugbank$drugs$experimental_properties 5 4 2.4 Kb + drugbank$drugs$external_identifiers 30 3 4.7 Kb + drugbank$drugs$pdb_entries 19 2 2.4 Kb + drugbank$drugs$affected_organisms 2 2 1.2 Kb + drugbank$drugs$groups 4 2 1.3 Kb + drugbank$drugs$external_links 5 3 2.1 Kb + drugbank$salts 2 8 2.8 Kb + drugbank$products 190 19 68.6 Kb + drugbank$references$drugs$articles 13 4 6.3 Kb + drugbank$references$drugs$links 11 4 6.1 Kb + drugbank$references$carriers$books 1 4 1.6 Kb + drugbank$references$carriers$articles 15 4 5.4 Kb + drugbank$references$enzymes$books 33 4 8.2 Kb + drugbank$references$enzymes$articles 1573 4 485.5 Kb + drugbank$references$enzymes$links 615 4 164.4 Kb + drugbank$references$enzymes$attachments 55 4 20 Kb + drugbank$references$targets$articles 101 4 27.4 Kb + drugbank$references$targets$links 14 4 7.1 Kb + drugbank$cett$carriers$general_information 1 6 1.9 Kb + drugbank$cett$carriers$actions 2 2 1.2 Kb + drugbank$cett$carriers$polypeptides$general_information 1 20 6.8 Kb + drugbank$cett$carriers$polypeptides$external_identy 7 3 2.2 Kb + drugbank$cett$carriers$polypeptides$synonyms 10 2 2 Kb + drugbank$cett$carriers$polypeptides$pfams 2 3 1.5 Kb + drugbank$cett$carriers$polypeptides$go 2 3 1.5 Kb + drugbank$cett$enzymes$general_information 2 8 2.6 Kb + drugbank$cett$enzymes$actions 7 2 1.5 Kb + drugbank$cett$enzymes$polypeptides$general_information 2 20 14 Kb + drugbank$cett$enzymes$polypeptides$external_identy 15 3 3 Kb + drugbank$cett$enzymes$polypeptides$synonyms 21 2 3 Kb + drugbank$cett$enzymes$polypeptides$pfams 2 3 1.4 Kb + drugbank$cett$enzymes$polypeptides$go 21 3 3.6 Kb + drugbank$cett$targets$general_information 4 6 2.6 Kb + drugbank$cett$targets$actions 10 2 1.9 Kb + drugbank$cett$targets$polypeptides$general_information 4 20 14.2 Kb + drugbank$cett$targets$polypeptides$external_identy 26 3 3.9 Kb + drugbank$cett$targets$polypeptides$synonyms 15 2 2.4 Kb + drugbank$cett$targets$polypeptides$pfams 5 3 2.1 Kb + drugbank$cett$targets$polypeptides$go 37 3 5.6 Kb + integrated_data$drug_drug_interactions 1706 17 300.9 Kb + twosides$drug_drug_interactions 1706 13 216.6 Kb + diff --git a/tests/testthat/test_merge_functions.R b/tests/testthat/test_merge_functions.R index 69be241..e85b6cf 100644 --- a/tests/testthat/test_merge_functions.R +++ b/tests/testthat/test_merge_functions.R @@ -1,9 +1,7 @@ context("test different merge functions") +local_edition(3) -test_that( - desc = "merge drugbank and onside", - code = { - local_edition(3) +test_that("merge drugbank and onside", { drugbank <- readRDS(system.file("two_drugs.RDS", package = "dbparser")) onside <- readRDS(system.file("onside.RDS", @@ -30,5 +28,75 @@ test_that( onsides_db = onside) expect_snapshot(show_dvobject_metadata(all_dbs)) - } -) +}) + + +test_that("merge drugbank and twoside", { + drugbank <- readRDS(system.file("two_drugs.RDS", + package = "dbparser")) + data_path <- unzip(system.file("twoside_raw.zip", + package = "dbparser")) + twoside <- parseTWOSIDES(twosides_file_path = data_path) + + expect_error(merge_drugbank_twosides( + db_object = list(), + twosides_db = list()), + "`db_object` must contain a valid DrugBank dvobject.") + + invalid_drugbank <- drugbank + invalid_drugbank$drugs$external_identifiers <- NULL + expect_error(merge_drugbank_twosides( + db_object = invalid_drugbank, + twosides_db = list()), + "`drugbank_db` must contain external_identifiers data.") + + expect_error(merge_drugbank_twosides( + db_object = drugbank, + twosides_db = list()), + "`twosides_db` must be a valid dvobject from parseTWOSIDES().") + + all_dbs <- merge_drugbank_twosides( + db_object = drugbank, + twosides_db = twoside) + expect_snapshot(show_dvobject_metadata(all_dbs)) + unlink(data_path, recursive = TRUE) + +}) + + +test_that("merge chain", { + drugbank <- readRDS(system.file("two_drugs.RDS", + package = "dbparser")) + data_path <- unzip(system.file("twoside_raw.zip", + package = "dbparser")) + onside <- readRDS(system.file("onside.RDS", + package = "dbparser")) + twoside <- parseTWOSIDES(twosides_file_path = data_path) + unlink(data_path, recursive = TRUE) + + final_db_1 <- drugbank %>% + merge_drugbank_onsides(onsides_db = onside) %>% + merge_drugbank_twosides(twosides_db = twoside) + + final_db_2 <- drugbank %>% + merge_drugbank_twosides(twosides_db = twoside) %>% + merge_drugbank_onsides(onsides_db = onside) + + expect_all_true(class(final_db_1) %in% class(final_db_2)) + expect_true(length(class(final_db_1)) == length(class(final_db_2))) + + expect_all_true(names(final_db_1) %in% names(final_db_2)) + expect_true(length(names(final_db_1)) == length(names(final_db_2))) + + expect_all_true(names(final_db_1$drugbank) %in% names(final_db_2$drugbank)) + expect_true(length(names(final_db_1$drugbank)) == length(names(final_db_2$drugbank))) + + expect_all_true(names(final_db_1$onsides) %in% names(final_db_2$onsides)) + expect_true(length(names(final_db_1$onsides)) == length(names(final_db_2$onsides))) + + expect_all_true(names(final_db_1$twosides) %in% names(final_db_2$twosides)) + expect_true(length(names(final_db_1$twosides)) == length(names(final_db_2$twosides))) + + expect_all_true(names(final_db_1$integrated_data) %in% names(final_db_2$integrated_data)) + expect_true(length(names(final_db_1$integrated_data)) == length(names(final_db_2$integrated_data))) +}) From 7badf895ca85050e6a6ab728c4db41f6c6289b4e Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Fri, 26 Dec 2025 10:12:45 +0200 Subject: [PATCH 35/57] - Fixed documentation, #176 --- vignettes/drugbank_nside.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/drugbank_nside.Rmd b/vignettes/drugbank_nside.Rmd index 9ef620c..698859d 100644 --- a/vignettes/drugbank_nside.Rmd +++ b/vignettes/drugbank_nside.Rmd @@ -109,7 +109,7 @@ Using the retrieved RxCUI, we query the onsides slot of our merged object to fin ```{r adverse_events} # 1. Get the ingredient name from vocab_rxnorm_ingredients -ingredient_name <- merged_db$vocab_rxnorm_ingredient_enriched %>% +ingredient_name <- merged_db$integrated_data$vocab_rxnorm_ingredient_enriched %>% filter(rxnorm_id == target_rxcui) %>% pull(rxnorm_name) @@ -207,7 +207,7 @@ mapping_df_2 <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% target_rxcui_2 <- mapping_df_2$rxcui[1] # Get ingredient name -ingredient_name_2 <- merged_db$vocab_rxnorm_ingredient_enriched %>% +ingredient_name_2 <- merged_db$integrated_data$vocab_rxnorm_ingredient_enriched %>% filter(rxnorm_id == target_rxcui_2) %>% pull(rxnorm_name) From 9b62a57f400746359b7f3aa9b46b75277a74f34e Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Fri, 26 Dec 2025 10:22:48 +0200 Subject: [PATCH 36/57] - Fixed CMD check warning, #176 --- R/merge_helpers.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/merge_helpers.R b/R/merge_helpers.R index aaec63f..56e99e3 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -192,7 +192,7 @@ merge_drugbank_twosides <- function(db_object, twosides_db) { rxcui_mapping_df <- drugbank_db$drugs$external_identifiers %>% dplyr::filter(.data$resource == "RxCUI") %>% dplyr::select(all_of("drugbank_id"), rxcui = .data$identifier) %>% - dplyr::mutate(rxcui = as.integer(rxcui)) %>% + dplyr::mutate(rxcui = as.integer(.data$rxcui)) %>% dplyr::distinct() # Drug name lookup From 1fd1f54c227f6079a1b6948cabd1bb0c3d2a209d Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Fri, 26 Dec 2025 10:31:19 +0200 Subject: [PATCH 37/57] - Added twosides documentation --- vignettes/drugbank_nside.Rmd | 389 ++++++++++++++--------------------- 1 file changed, 153 insertions(+), 236 deletions(-) diff --git a/vignettes/drugbank_nside.Rmd b/vignettes/drugbank_nside.Rmd index 698859d..aa9a6a1 100644 --- a/vignettes/drugbank_nside.Rmd +++ b/vignettes/drugbank_nside.Rmd @@ -1,8 +1,8 @@ --- -title: "Integrating DrugBank and OnSIDES with dbparser for Pharmacovigilance Analysis" +title: "Integrated Pharmacovigilance: Linking DrugBank, OnSIDES, and TWOSIDES" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{Integrating DrugBank and OnSIDES for Pharmacovigilance Analysis} + %\VignetteIndexEntry{Integrated Pharmacovigilance: Linking DrugBank, OnSIDES, and TWOSIDES} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- @@ -18,11 +18,15 @@ knitr::opts_chunk$set( ## Introduction -In modern pharmacovigilance, the ability to link a drug's molecular mechanism of action with real-world adverse event data is crucial. **DrugBank** provides rich data on drug targets, enzymes, and pathways, while **OnSIDES** provides a massive database of adverse drug events extracted from FDA drug labels. +In modern pharmacovigilance, analyzing drugs in isolation is often insufficient. Patients frequently take multiple medications, leading to complex **Drug-Drug Interactions (DDIs)**. -The `dbparser` package now bridges these two worlds. This vignette demonstrates how to use the new `merge_drugbank_onsides()` function to create an integrated dataset, using the `show_dvobject_metadata()` function to inspect the data structure at every step. +The `dbparser` package now provides a unified framework to analyze the complete safety profile of a drug: -We will perform a scientific case study on **Leuprolide**, linking its biological target to its reported real-world side effects. +1. **Mechanism:** Biological targets and pathways from **DrugBank**. +2. **Phenotype (Single Drug):** Real-world adverse events from **OnSIDES**. +3. **Polypharmacy (Combinations):** Interaction risks from **TWOSIDES**. + +This vignette demonstrates the complete workflow: loading all three databases, merging them into a single `dvobject`, and performing a scientific case study on the interaction between **Leuprolide** and **Calcitriol**. ## Prerequisites @@ -36,15 +40,12 @@ library(data.table) ## 1. Loading and Inspecting Data -To demonstrate the functionality, we will use the curated sample data files included in the dbparser package. +We will use the curated sample data files included in the `dbparser` package to demonstrate the workflow. -### 1.1 Load DrugBank Data -First, we load the DrugBank sample (two_drugs.RDS) and inspect its metadata to verify the presence of mechanistic data (targets, enzymes, etc.). +### 1.1 Load DrugBank (The Hub) +First, we load the mechanistic data. ```{r load_drugbank} -# In a real analysis: -# drugbank_db <- parseDrugBank("path/to/drugbank.xml") -# # Load sample DrugBank data included in the package drugbank_path <- system.file("two_drugs.RDS", package = "dbparser") drugbank_db <- readRDS(drugbank_path) @@ -53,13 +54,10 @@ drugbank_db <- readRDS(drugbank_path) show_dvobject_metadata(drugbank_db) ``` -### 1.2 Load OnSIDES Data - -Next, we load the OnSIDES sample (onside.RDS). This contains the raw label and adverse effect tables. - +### 1.2 Load OnSIDES (Single-Drug Labels) +Next, we load the adverse event data extracted from FDA labels. ```{r load_onside} -# onsides_db <- parseOnSIDES("path/to/onsides_csvs/") # Load sample OnSIDES data included in the package onsides_path <- system.file("onside.RDS", package = "dbparser") onsides_db <- readRDS(onsides_path) @@ -68,85 +66,88 @@ onsides_db <- readRDS(onsides_path) show_dvobject_metadata(onsides_db) ``` +### 1.3 Load TWOSIDES (Drug Interactions) +Finally, we load the dataset containing adverse events reported when two drugs are taken simultaneously. + +```{r load_twosides} +# Load sample TWOSIDES data included in the package +twosides_path <- system.file("twoside_raw.zip", package = "dbparser") + +if(file.exists(twosides_path)) { + twosides_db <- parseTWOSIDES(twosides_path) +} else { + # Fallback for demonstration if file is not yet in the build + # Mocking structure similar to actual TWOSIDES output + twosides_db <- list(drug_drug_interactions = data.table( + drug_1_rxnorm_id = "42375", drug_1_concept_name = "Leuprolide", + drug_2_rxnorm_id = "1894", drug_2_concept_name = "Calcitriol", + condition_meddra_id = "10002034", condition_concept_name = "Anaemia", + PRR = "13.33", mean_reporting_frequency = "0.12" + )) + class(twosides_db) <- c("TWOSIDESDb", "dvobject", "list") + attr(twosides_db, "original_db_info") <- list(type="TWOSIDES", version="2.0") +} -## 2. Merging the Databases +# Review structure +show_dvobject_metadata(twosides_db) +``` -We now use `merge_drugbank_onsides()` to fuse these two objects. This function automatically generates a mapping layer (using RxNorm CUIs) to link DrugBank IDs to OnSIDES label IDs. +## 2. Merging the Databases (Chaining) -```{r merging_dbs} -# Create the merged database object -merged_db <- merge_drugbank_onsides(drugbank_db, onsides_db) +We integrate the databases in a chain. First, we merge OnSIDES into DrugBank, and then we merge TWOSIDES into the result. This creates a single "Hub and Spoke" object centered on DrugBank. -# Review merged_db object using 'show_dvobject_metadata' method -# Note the appearance of 'integrated_data' and 'vocab_rxnorm_ingredients' -show_dvobject_metadata(merged_db) -``` +```{r merging_dbs} +# Step 1: Merge DrugBank + OnSIDES +db_plus_onsides <- merge_drugbank_onsides(drugbank_db, onsides_db) -> Note: The `integrated_data` slot contains the `DrugBank_RxCUI_Mapping` table, which acts as the "bridge" allowing us to cross from biological mechanisms to clinical side effects. +# Step 2: Merge Result + TWOSIDES +# The function is chainable and automatically detects the existing data +final_db <- merge_drugbank_twosides(db_plus_onsides, twosides_db) -## 3. Scientific Case Study: Leuprolide (DB00007) +# Review final object structure +# Note the presence of 'drugbank', 'onsides', 'twosides', and 'integrated_data' +show_dvobject_metadata(final_db) +``` -**Scientific Context:** Leuprolide is a synthetic analog of gonadotropin-releasing hormone (GnRH). We want to extract its real-world adverse events from OnSIDES and correlate them with its identification in DrugBank. +## 3. Single Drug Analysis: Leuprolide (DB00007) -### 3.1 Retrieve the Cross-Reference Key -We start by finding the link between the DrugBank ID (`DB00007`) and the RxNorm ID required to search the OnSIDES tables +**Scientific Context:** Leuprolide is a GnRH analog. We first establish its baseline side effect profile from OnSIDES. ```{r find_link} target_drug_id <- "DB00007" # Leuprolide -# Access the mapping generated by the merge function -mapping_df <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% +# 1. Get the RxNorm ID from the bridge table +mapping_df <- final_db$integrated_data$DrugBank_RxCUI_Mapping %>% filter(drugbank_id == target_drug_id) target_rxcui <- mapping_df$rxcui[1] - print(paste0("DrugBank ID: ", target_drug_id, " maps to RxNorm CUI: ", target_rxcui)) ``` -### 3.2 Extract Adverse Events - -Using the retrieved RxCUI, we query the onsides slot of our merged object to find relevant labels and aggregate side effects. +### 3.1 Extract Baseline Adverse Events (OnSIDES) ```{r adverse_events} -# 1. Get the ingredient name from vocab_rxnorm_ingredients -ingredient_name <- merged_db$integrated_data$vocab_rxnorm_ingredient_enriched %>% - filter(rxnorm_id == target_rxcui) %>% - pull(rxnorm_name) - -print(paste("Ingredient name:", ingredient_name)) - -# 2. Find product RxCUIs that contain this ingredient (by name matching) -product_rxcuis <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% +# 1. Find product labels linked to this ingredient +product_rxcuis <- final_db$onsides$vocab_rxnorm_ingredient_to_product %>% filter(ingredient_id == target_rxcui) %>% pull(product_id) -print(paste("Found", length(product_rxcuis), "product formulations")) - -# 3. Now link to labels via product_to_rxnorm -target_label_ids <- merged_db$onsides$product_to_rxnorm %>% +target_label_ids <- final_db$onsides$product_to_rxnorm %>% filter(rxnorm_product_id %in% product_rxcuis) %>% pull(label_id) -print(paste("Found", length(target_label_ids), "labels")) - -# 4. Extract adverse events for these labels -ae_data <- merged_db$onsides$product_adverse_effect %>% - filter(product_label_id %in% target_label_ids) - -print(paste("Total adverse event records:", NROW(ae_data))) - -# 5. Summarize top adverse events by MedDRA ID -ae_summary <- ae_data %>% +# 2. Extract and summarize events +ae_summary <- final_db$onsides$product_adverse_effect %>% + filter(product_label_id %in% target_label_ids) %>% group_by(effect_meddra_id) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% head(10) %>% - left_join(merged_db$onsides$vocab_meddra_adverse_effect, + left_join(final_db$onsides$vocab_meddra_adverse_effect, by = c("effect_meddra_id" = "meddra_id")) %>% select(effect_meddra_id, meddra_name, Count) -# Handle NAs: For missing MedDRA names, we'll add them manually for top events -# In production, you'd use the complete MedDRA dictionary +# Fill NAs for demo purposes (if vocab is incomplete in sample) ae_summary <- ae_summary %>% mutate(meddra_name = case_when( effect_meddra_id == 10033336 ~ "Pain", @@ -161,220 +162,136 @@ ae_summary <- ae_summary %>% print(ae_summary) ``` +## 4. Single Drug Analysis: Calcitriol (DB00136) -### 3.3 Retrieve Mechanistic Context -To complete the analysis, we pull the biological targets of Leuprolide from the drugbank slot. - -```{r context} -targets <- merged_db$drugbank$cett$targets$general_information %>% - filter(drugbank_id == target_drug_id) %>% - select(name) - -print(paste("Mechanism Target:", targets$name[1])) -``` - - -### 3.4 Visualization -Finally, we use canvasXpress to visualize the side effect profile. This plot represents the seamless integration of data: selecting a drug by its DrugBank ID (Mechanism) and viewing its OnSIDES (Phenotype) data. - -```{r visualization} -cx_data <- data.frame(Count = ae_summary$Count) -rownames(cx_data) <- ae_summary$Adverse_Event - -canvasXpress( - data = t(cx_data), - graphType = "Bar", - title = "Integrated Analysis: Leuprolide (DB00007)", - subtitle = paste("Mechanism:", targets$name[1]), - xAxisTitle = "Frequency in OnSIDES Labels", - yAxisTitle = "Adverse Event", - showLegend = FALSE -) -``` - - -## 4. Second Scientific Case Study: Leuprolide (DB00007) -Let's analyze the second drug in our sample data to demonstrate reproducibility. +We repeat the process for Calcitriol to establish its baseline. ```{r second_case} -# Analyze Calcitriol (Vitamin D analog) target_drug_id_2 <- "DB00136" # Get RxCUI -mapping_df_2 <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% +mapping_df_2 <- final_db$integrated_data$DrugBank_RxCUI_Mapping %>% filter(drugbank_id == target_drug_id_2) - target_rxcui_2 <- mapping_df_2$rxcui[1] -# Get ingredient name -ingredient_name_2 <- merged_db$integrated_data$vocab_rxnorm_ingredient_enriched %>% - filter(rxnorm_id == target_rxcui_2) %>% - pull(rxnorm_name) - -print(paste("Analyzing:", ingredient_name_2)) - -# Get products -product_rxcuis_2 <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% +# Get Products & Labels +product_rxcuis_2 <- final_db$onsides$vocab_rxnorm_ingredient_to_product %>% filter(ingredient_id == target_rxcui_2) %>% pull(product_id) - -# Get labels -target_label_ids_2 <- merged_db$onsides$product_to_rxnorm %>% +target_label_ids_2 <- final_db$onsides$product_to_rxnorm %>% filter(rxnorm_product_id %in% product_rxcuis_2) %>% pull(label_id) -# Extract adverse events -ae_data_2 <- merged_db$onsides$product_adverse_effect %>% - filter(product_label_id %in% target_label_ids_2) - -# Summarize -ae_summary_2 <- ae_data_2 %>% +# Summarize Events +ae_summary_2 <- final_db$onsides$product_adverse_effect %>% + filter(product_label_id %in% target_label_ids_2) %>% group_by(effect_meddra_id) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% head(10) %>% - left_join(merged_db$onsides$vocab_meddra_adverse_effect, + left_join(final_db$onsides$vocab_meddra_adverse_effect, by = c("effect_meddra_id" = "meddra_id")) %>% - select(effect_meddra_id, meddra_name, Count) + select(effect_meddra_id, meddra_name, Count) %>% + mutate(meddra_name = ifelse(is.na(meddra_name), paste0("MedDRA_", effect_meddra_id), meddra_name)) %>% + rename(Adverse_Event = meddra_name) +``` -# Fill NAs if needed -ae_summary_2 <- ae_summary_2 %>% - mutate(meddra_name = case_when( - is.na(meddra_name) ~ paste0("MedDRA_", effect_meddra_id), - TRUE ~ meddra_name - )) +## 5. Polypharmacy Analysis: Drug-Drug Interactions -print(ae_summary_2) +**New Insight:** What happens when **Leuprolide** and **Calcitriol** are taken together? -# Get target info -targets_2 <- merged_db$drugbank$cett$targets$general_information %>% - filter(drugbank_id == target_drug_id_2) %>% - select(name) +We query the `integrated_data$drug_drug_interactions` table, which was populated by `merge_drugbank_twosides`. This table allows us to look up interactions by DrugBank ID, using the enriched columns provided by the merge. -print(paste("Primary Target:", targets_2$name[1])) +```{r interaction_analysis} +# Look for interactions where Drug 1 is Leuprolide AND Drug 2 is Calcitriol (or vice versa) +interaction_data <- final_db$integrated_data$drug_drug_interactions %>% + filter( + (drugbank_id_1 == target_drug_id & drugbank_id_2 == target_drug_id_2) | + (drugbank_id_1 == target_drug_id_2 & drugbank_id_2 == target_drug_id) + ) %>% + arrange(desc(as.numeric(PRR))) %>% + select(drug_name_1, drug_name_2, condition_concept_name, PRR, mean_reporting_frequency) + +print(interaction_data) ``` -## 5. Comparative Analysis +### 5.1 Visualization of Interaction Risks + +We can visualize the specific adverse events associated with this combination, ranked by their **Proportional Reporting Ratio (PRR)** (a measure of signal strength). + +```{r viz_interaction} +if(nrow(interaction_data) > 0) { + # Prepare data for canvasXpress + cx_int_data <- data.frame(PRR = as.numeric(interaction_data$PRR)) + rownames(cx_int_data) <- interaction_data$condition_concept_name + + canvasXpress( + data = t(cx_int_data), + graphType = "Bar", + title = "Polypharmacy Risks: Leuprolide + Calcitriol", + subtitle = "Data from TWOSIDES", + xAxisTitle = "Signal Strength (PRR)", + yAxisTitle = "Adverse Event", + showLegend = FALSE + ) +} else { + print("No interaction data found for this specific pair in the sample dataset.") +} +``` -Now let's compare the adverse event profiles of both drugs side-by-side. +## 6. Comparative Overview + +Finally, we can view the single-drug profiles alongside the interaction profile to see if new risks emerge. ```{r comparative_analysis} -# Prepare comparison data - handle NAs in names first -ae_summary <- ae_summary %>% - mutate(Adverse_Event = ifelse(is.na(Adverse_Event) | Adverse_Event == "NA", - paste0("Unknown_", effect_meddra_id), - Adverse_Event)) %>% - mutate(Drug = "Leuprolide") %>% - select(Adverse_Event, Count, Drug) - -ae_summary_2 <- ae_summary_2 %>% - mutate(meddra_name = ifelse(is.na(meddra_name) | meddra_name == "NA", - paste0("Unknown_", effect_meddra_id), - meddra_name)) %>% - rename(Adverse_Event = meddra_name) %>% - mutate(Drug = "Calcitriol") %>% - select(Adverse_Event, Count, Drug) - -# Combine and select top 5 for each drug -combined_ae <- bind_rows(ae_summary, ae_summary_2) %>% - group_by(Drug) %>% - slice_max(Count, n = 5) %>% +# 1. Prepare Single Drug Data +s1 <- ae_summary %>% + mutate(Type = "Leuprolide (Alone)") %>% + select(Adverse_Event, Value=Count, Type) + +s2 <- ae_summary_2 %>% + mutate(Type = "Calcitriol (Alone)") %>% + select(Adverse_Event, Value=Count, Type) + +# 2. Prepare Interaction Data (Show Top 5) +# Note: Comparing Frequency (Count) vs PRR (Ratio) directly is tricky, +# so we visualize them to show relative importance within their own context. +s3 <- interaction_data %>% + head(5) %>% + mutate(Type = "Interaction (PRR)", Value = as.numeric(PRR)) %>% + select(Adverse_Event = condition_concept_name, Value, Type) + +# 3. Combine +combined_data <- bind_rows(s1, s2, s3) %>% + group_by(Type) %>% + slice_max(Value, n = 5) %>% ungroup() -# Reshape for canvasXpress -comparison_matrix <- combined_ae %>% - pivot_wider(names_from = Drug, values_from = Count, values_fill = 0) +# 4. Reshape for Matrix +comparison_matrix <- combined_data %>% + pivot_wider(names_from = Type, values_from = Value, values_fill = 0) -# Create matrix format cx_compare <- as.data.frame(comparison_matrix[, -1]) rownames(cx_compare) <- comparison_matrix$Adverse_Event -print(cx_compare) - - -# Visualization +# 5. Plot canvasXpress( data = cx_compare, - graphType = "BarLine", - title = "Comparative Adverse Event Profiles", - subtitle = "Leuprolide vs Calcitriol", - xAxisTitle = "Frequency", + graphType = "Bar", + title = "Safety Profile Comparison", + subtitle = "Single Drug Frequencies vs. Interaction PRR", + xAxisTitle = "Value", yAxisTitle = "Adverse Event", - legendPosition = "topRight" + legendPosition = "right" ) ``` -## 7. Statistical Enrichment Analysis -Let's identify which adverse events are significantly enriched in drugs targeting specific protein families. - -```{r enrichment_analysis} -# Get all drugs with target information -all_targets <- merged_db$drugbank$cett$targets$general_information %>% - select(drugbank_id, name, organism) - -# Simplify target names to protein families -all_targets <- all_targets %>% - mutate(protein_family = case_when( - grepl("receptor", name, ignore.case = TRUE) ~ "Receptor", - grepl("enzyme", name, ignore.case = TRUE) ~ "Enzyme", - grepl("transporter", name, ignore.case = TRUE) ~ "Transporter", - TRUE ~ "Other" - )) - -# For this example, let's focus on the "Receptor" class -receptor_drugs <- all_targets %>% - filter(protein_family == "Receptor") %>% - pull(drugbank_id) %>% - unique() - -print(paste("Found", length(receptor_drugs), "drugs targeting receptors")) +## 7. Conclusion -# Get all adverse events for receptor-targeting drugs -receptor_rxcui <- merged_db$integrated_data$DrugBank_RxCUI_Mapping %>% - filter(drugbank_id %in% receptor_drugs) %>% - pull(rxcui) - -# Map to products and labels -receptor_products <- merged_db$onsides$vocab_rxnorm_ingredient_to_product %>% - filter(ingredient_id %in% receptor_rxcui) %>% - pull(product_id) - -receptor_labels <- merged_db$onsides$product_to_rxnorm %>% - filter(rxnorm_product_id %in% receptor_products) %>% - pull(label_id) - -# Get adverse events -receptor_ae_data <- merged_db$onsides$product_adverse_effect %>% - filter(product_label_id %in% receptor_labels) - -# Calculate enrichment (frequency comparison) -receptor_ae_summary <- receptor_ae_data %>% - group_by(effect_meddra_id) %>% - summarise(Receptor_Count = n()) %>% - arrange(desc(Receptor_Count)) %>% - head(10) %>% - left_join(merged_db$onsides$vocab_meddra_adverse_effect, - by = c("effect_meddra_id" = "meddra_id")) %>% - mutate(meddra_name = ifelse(is.na(meddra_name), - paste0("MedDRA_", effect_meddra_id), - meddra_name)) - -print(receptor_ae_summary) - -# Visualize enriched adverse events -cx_enrichment <- data.frame(Count = receptor_ae_summary$Receptor_Count) -rownames(cx_enrichment) <- receptor_ae_summary$meddra_name - -canvasXpress( - data = t(cx_enrichment), - graphType = "Bar", - title = "Enriched Adverse Events: Receptor-Targeting Drugs", - xAxisTitle = "Frequency Across All Receptor Drugs", - yAxisTitle = "Adverse Event", - showLegend = FALSE -) -``` +This analysis highlights the power of the `dbparser` integration ecosystem: -## 8. Conclusion -This vignette demonstrated the power of the merge_drugbank_onsides() function for integrating mechanistic and real-world pharmacovigilance data +1. **DrugBank** provided the identity and mechanism of Leuprolide and Calcitriol. +2. **OnSIDES** quantified their individual side effects (e.g., Pain, Hot Flushes). +3. **TWOSIDES** revealed specific risks when the drugs are combined (e.g., Anaemia). +By chaining `merge_drugbank_onsides` and `merge_drugbank_twosides`, researchers can perform comprehensive safety assessments across mechanistic, real-world, and polypharmacy domains in just a few lines of R code. From e6ad2222a86147d1c506e9f7235dd71d1e80c40f Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 12:08:04 +0200 Subject: [PATCH 38/57] - Updated readme, #185 --- README.Rmd | 60 ++++++++++++++++++++++++++++++---- README.md | 96 ++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 129 insertions(+), 27 deletions(-) diff --git a/README.Rmd b/README.Rmd index 4cde390..307df3b 100644 --- a/README.Rmd +++ b/README.Rmd @@ -28,32 +28,44 @@ library(ggplot2) ## Overview Drugs databases vary too much in their formats and structures which making related data analysis not a very easy job and requires a lot of efforts to work on only -two databases together such as [DrugBank](https://go.drugbank.com/) and [KEGG](https://www.genome.jp/kegg/). +two databases together such as [DrugBank](https://go.drugbank.com/), [OnSIDES](https://onsidesdb.org/), and [TWOSIDES](https://tatonettilab.org/resources/nsides/). -Hence, `dbparser` package aims to parse different public drugs databases as [DrugBank](https://go.drugbank.com/) or [KEGG](https://www.genome.jp/kegg/) into +Hence, `dbparser` package aims to parse different public drugs databases into a single and unified format R object called `dvobject` (stands for drugverse object). +With recent updates, `dbparser` has evolved into an **integration engine**, allowing you to merge mechanistic data (DrugBank) with real-world phenotypic data (OnSIDES) and drug-drug interaction risks (TWOSIDES). + That should help in: - working with single data object and not multiple databases in different formats, - using R analysis capabilities easily on drugs data, - ease of transferring data between researchers after performing required data -analysis or `dvobject` and storing results in the same object in a very easy manner +analysis or `dvobject` and storing results in the same object in a very easy manner. ### dvobject Structure `dvobject` introduces a unified and compressed format of drugs data. -It is an R list object that contains one or more of the following sub-lists: +It is an R list object. +**For a single database (e.g., DrugBank):** +It contains one or more of the following sub-lists: - **drugs**: list of data.frames that contain drugs information (i.e. synonyms, classifications, ...) and it is the only mandatory list - **salts**: data.frame contains drugs salts information - **products**: data.frame of commercially available drugs products in the world - **references**: data.frame of articles, links and textbooks about drugs or CETT data - **cett**: list of data.frames contain targets, enzymes, carriers and transporters information +**For a merged database (Integrated Pharmacovigilance):** +When databases are merged using `merge_drugbank_onsides` or `merge_drugbank_twosides`, the `dvobject` becomes a nested structure containing: +- **drugbank**: The mechanistic hub. +- **onsides**: The side-effect data (from FDA labels). +- **twosides**: The drug-drug interaction data. +- **integrated_data**: Enriched tables that bridge the databases (e.g., linking DrugBank IDs to OnSIDES adverse events). +- **metadata**: Detailed provenance for all contained datasets. + ## Drug Databases Parsers are available for the following databases (it is in progress list) -### DrugBank +### 1. DrugBank [DrugBank](https://go.drugbank.com/) database is a comprehensive, freely accessible, online database containing information on drugs and drug @@ -72,7 +84,7 @@ The `dbparser` package parses the DrugBank XML database into `R` tibbles that ca If you are waiting for access to the DrugBank database, or do not intend to do a deep dive with the data, you may wish to use the `dbdataset` -[package](https://interstellar-consultation-services.github.io/dbdataset/), which contains +[package](https://interstellar-egypt.github.io/dbdataset/), which contains the DrugBank database already parsed into `dvobject`. Note that this is a large package that exceeds the limit set by CRAN. It is only available on GitHub. @@ -81,6 +93,42 @@ successfully. If you find errors with these versions or any other version please submit an issue [here](https://github.com/ropensci/dbparser/issues). +### 2. OnSIDES (The Phenotype) +[OnSIDES](https://onsidesdb.org/) provides adverse drug events extracted from thousands of FDA drug labels using machine learning. +* **Parser:** `parseOnSIDES()` +* **Input:** Directory containing OnSIDES CSV files. + +### 3. TWOSIDES (Polypharmacy) +[TWOSIDES](https://tatonettilab.org/resources/nsides/) provides data on drug-drug interactions and the adverse events that arise when two drugs are taken together. +* **Parser:** `parseTWOSIDES()` +* **Input:** The `TWOSIDES.csv.gz` file. + +## Quick Start: Integration Pipeline + +The power of `dbparser` lies in its ability to chain parsers and mergers together. Here is how you can build a complete pharmacovigilance dataset: + +```r +library(dbparser) +library(dplyr) + +# 1. Parse the raw databases +drugbank_db <- parseDrugBank("data/drugbank.xml") +onsides_db <- parseOnSIDES("data/onsides/") +twosides_db <- parseTWOSIDES("data/TWOSIDES.csv.gz") + +# 2. Build the Integrated Knowledge Graph +# DrugBank serves as the hub. We chain the merges. +final_db <- drugbank_db %>% + merge_drugbank_onsides(onsides_db) %>% + merge_drugbank_twosides(twosides_db) + +# 3. Analyze Results +# Example: Accessing the enriched drug-drug interaction table +head(final_db$integrated_data$drug_drug_interactions) +``` + +For a detailed case study, please refer to the [Integrated Pharmacovigilance Vignette](https://docs.ropensci.org/dbparser/articles/integrated_pharmacovigilance.html). + ## Installation You can install the released version of dbparser from diff --git a/README.md b/README.md index 36f84ee..2248c03 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,17 @@ Practices](https://bestpractices.coreinfrastructure.org/projects/3311/badge)](ht Drugs databases vary too much in their formats and structures which making related data analysis not a very easy job and requires a lot of efforts to work on only two databases together such as -[DrugBank](https://go.drugbank.com/) and -[KEGG](https://www.genome.jp/kegg/). +[DrugBank](https://go.drugbank.com/), [OnSIDES](https://onsidesdb.org/), +and [TWOSIDES](https://tatonettilab.org/resources/nsides/). Hence, `dbparser` package aims to parse different public drugs databases -as [DrugBank](https://go.drugbank.com/) or -[KEGG](https://www.genome.jp/kegg/) into single and unified format R -object called `dvobject` (stands for drugverse object). +into a single and unified format R object called `dvobject` (stands for +drugverse object). + +With recent updates, `dbparser` has evolved into an **integration +engine**, allowing you to merge mechanistic data (DrugBank) with +real-world phenotypic data (OnSIDES) and drug-drug interaction risks +(TWOSIDES). That should help in: @@ -37,30 +41,37 @@ That should help in: - using R analysis capabilities easily on drugs data, - ease of transferring data between researchers after performing required data analysis or `dvobject` and storing results in the same - object in a very easy manner + object in a very easy manner. ### dvobject Structure `dvobject` introduces a unified and compressed format of drugs data. It -is an R list object that contains one or more of the following -sub-lists: - -- **drugs**: list of data.frames that contain drugs information - (i.e. synonyms, classifications, …) and it is the only mandatory list -- **salts**: data.frame contains drugs salts information -- **products**: data.frame of commercially available drugs products in - the world -- **references**: data.frame of articles, links and textbooks about - drugs or CETT data -- **cett**: list of data.frames contain targets, enzymes, carriers and - transporters information +is an R list object. + +**For a single database (e.g., DrugBank):** It contains one or more of +the following sub-lists: - **drugs**: list of data.frames that contain +drugs information (i.e. synonyms, classifications, …) and it is the only +mandatory list - **salts**: data.frame contains drugs salts +information - **products**: data.frame of commercially available drugs +products in the world - **references**: data.frame of articles, links +and textbooks about drugs or CETT data - **cett**: list of data.frames +contain targets, enzymes, carriers and transporters information + +**For a merged database (Integrated Pharmacovigilance):** When databases +are merged using `merge_drugbank_onsides` or `merge_drugbank_twosides`, +the `dvobject` becomes a nested structure containing: - **drugbank**: +The mechanistic hub. - **onsides**: The side-effect data (from FDA +labels). - **twosides**: The drug-drug interaction data. - +**integrated_data**: Enriched tables that bridge the databases (e.g., +linking DrugBank IDs to OnSIDES adverse events). - **metadata**: +Detailed provenance for all contained datasets. ## Drug Databases Parsers are available for the following databases (it is in progress list) -### DrugBank +### 1. DrugBank [DrugBank](https://go.drugbank.com/) database is a comprehensive, freely accessible, online database containing information on drugs and drug @@ -93,6 +104,49 @@ successfully. If you find errors with these versions or any other version please submit an issue [here](https://github.com/ropensci/dbparser/issues). +### 2. OnSIDES (The Phenotype) + +[OnSIDES](https://onsidesdb.org/) provides adverse drug events extracted +from thousands of FDA drug labels using machine learning. \* **Parser:** +`parseOnSIDES()` \* **Input:** Directory containing OnSIDES CSV files. + +### 3. TWOSIDES (Polypharmacy) + +[TWOSIDES](https://tatonettilab.org/resources/nsides/) provides data on +drug-drug interactions and the adverse events that arise when two drugs +are taken together. \* **Parser:** `parseTWOSIDES()` \* **Input:** The +`TWOSIDES.csv.gz` file. + +## Quick Start: Integration Pipeline + +The power of `dbparser` lies in its ability to chain parsers and mergers +together. Here is how you can build a complete pharmacovigilance +dataset: + +``` r +library(dbparser) +library(dplyr) + +# 1. Parse the raw databases +drugbank_db <- parseDrugBank("data/drugbank.xml") +onsides_db <- parseOnSIDES("data/onsides/") +twosides_db <- parseTWOSIDES("data/TWOSIDES.csv.gz") + +# 2. Build the Integrated Knowledge Graph +# DrugBank serves as the hub. We chain the merges. +final_db <- drugbank_db %>% + merge_drugbank_onsides(onsides_db) %>% + merge_drugbank_twosides(twosides_db) + +# 3. Analyze Results +# Example: Accessing the enriched drug-drug interaction table +head(final_db$integrated_data$drug_drug_interactions) +``` + +For a detailed case study, please refer to the [Integrated +Pharmacovigilance +Vignette](https://docs.ropensci.org/dbparser/articles/integrated_pharmacovigilance.html). + ## Installation You can install the released version of dbparser from @@ -134,7 +188,7 @@ citation("dbparser") #> To cite dbparser in publications use: #> #> Mohammed Ali, Ali Ezzat (). dbparser: DrugBank Database XML Parser. -#> R package version 2.0.3. +#> R package version 2.1.0.9002. #> #> A BibTeX entry for LaTeX users is #> @@ -142,7 +196,7 @@ citation("dbparser") #> title = {DrugBank Database XML Parser}, #> author = {Mohammed Ali and Ali Ezzat}, #> organization = {Interstellar for Consultinc inc.}, -#> note = {R package version 2.0.3}, +#> note = {R package version 2.1.0.9002}, #> url = {https://CRAN.R-project.org/package=dbparser}, #> } ``` From 6f8b661290d330a9d326614e01b0dcc1a3a52c7b Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 12:32:54 +0200 Subject: [PATCH 39/57] - Updated NEWS, #185 --- NEWS.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 700c5cb..bd764bc 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,57 @@ -# dbparser (development version) +# dbparser + +# dbparser 2.2.0 + +This is a major feature release focused on expanding `dbparser`'s capabilities into real-world pharmacovigilance and drug-drug interaction analysis. The integration engine has been formalized around a "Hub and Spoke" model, with DrugBank acting as the central hub. + +## NEW FEATURES + +* **New Parser: `parseOnSIDES()`** + * Parses the relational CSV files from the OnSIDES database, a modern resource for adverse drug events extracted from FDA labels. + * Returns a `dvobject` containing the 7 core relational tables and an optional `high_confidence` summary table. + +* **New Parser: `parseTWOSIDES()`** + * Parses the TWOSIDES database, the leading resource for drug-drug interaction (DDI) adverse event signals from real-world data. + * Returns a `dvobject` containing the `drug_drug_interactions` table. + * The parser correctly handles known column name misspellings in the source data (e.g., `drug_1_rxnorn_id`). + +* **New Integration Function: `merge_drugbank_onsides()`** + * Merges a DrugBank `dvobject` with an OnSIDES `dvobject`. + * Automatically creates an enriched `integrated_data` list, linking OnSIDES data to DrugBank IDs via RxNorm CUIs. + * The function is **chainable**, meaning it can be used in a `%>%` pipeline after other merge functions. + +* **New Integration Function: `merge_drugbank_twosides()`** + * Merges a DrugBank `dvobject` with a TWOSIDES `dvobject`. + * Performs a "double join" to enrich both drugs in an interaction pair with their DrugBank IDs and names. + * Uses a robust "union" logic to keep interactions even if only one of the two drugs is present in the input DrugBank object. + * The function is also **chainable**. +* **Subset a DrugBank dvobject function: `subset_drugbank_dvobject()`** + * Intelligently filters a DrugBank dvobject to retain only the data associated with a specified list of drugbank_ids. It correctly handles the deep, +multi-level nested structure of the entire object, including the complex relationships within the `cett` list. +* **Subset an OnSIDES dvobject function: `subset_onsides_dvobject()`** + * Intelligently filters an OnSIDES dvobject by cascading filters through the +relational tables, ensuring the final subset is self-consistent. +* **Adding metadata to existing `dvobject` objects using function: `add_database_info()`** +* **Major enhancements to function `show_dvobject_metadata()`** + * Displays information about passed dbobject object including basic info, + database metadata, and all data.frames contained within nested lists. + +* Run `vignette("dbparser_2_2", package = "dbparser")` for more info + +## DOCUMENTATION + +* **New Vignette: "Integrated Pharmacovigilance"** + * A comprehensive new tutorial demonstrating a full, three-way integration of DrugBank, OnSIDES, and TWOSIDES. + * Includes a complete scientific case study analyzing single-drug vs. polypharmacy risks. + * Introduces a reproducible example workflow using a pre-computed RDS data object hosted externally to keep the package lightweight. + * Run `vignette("drugbank_nside", package = "dbparser")` for more info +* Updated existing vignette and package Readme with enhanced examples + +## BUG FIXES & MINOR IMPROVEMENTS + +* Several minor fixes are done + +--- # dbparser 2.0.3 From c69840cb4eb08cf92ee7f0b40f3458c4f5c78424 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 13:31:35 +0200 Subject: [PATCH 40/57] - Added dbparser vignettes, #185 --- vignettes/dbparser_2_2.Rmd | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 vignettes/dbparser_2_2.Rmd diff --git a/vignettes/dbparser_2_2.Rmd b/vignettes/dbparser_2_2.Rmd new file mode 100644 index 0000000..875e6d0 --- /dev/null +++ b/vignettes/dbparser_2_2.Rmd @@ -0,0 +1,55 @@ +--- +title: "Introducing dbparser 2.2.0" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Introducing dbparser 2.2.0} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- +Data in computational pharmacology is often siloed. We have databases that tell us *what* a drug is (DrugBank), databases that tell us *what side effects* it causes (OnSIDES), and databases that tell us *how it interacts* with other drugs (TWOSIDES). + +Connecting these silos has historically been a painful process of manual mapping and ad-hoc scripting. Today, we are releasing `dbparser` 2.2.0 to solve this problem once and for all. + +#### The "Hub and Spoke" Architecture + +Version 2.2.0 moves beyond simple XML parsing. We have re-engineered the package around a "Hub and Spoke" integration model: + +* **The Hub:** DrugBank serves as the anchor, providing the stable molecular definitions. +* **The Spokes:** OnSIDES and TWOSIDES provide the phenotypic and clinical layers. + +We introduced specific functions to bridge these worlds. The new `merge_drugbank_onsides()` and `merge_drugbank_twosides()` functions don't just combine lists; they perform intelligent "double joins" and ID mapping (using RxNorm CUIs) to ensure that your molecular data is correctly linked to clinical outcomes. + +#### Pipeline-Ready Pharmacovigilance + +One of our main design goals was usability. The new merge functions are "chainable," meaning they integrate seamlessly with the `tidyverse`. You can now build a massive, multi-domain pharmacovigilance dataset in three lines of R code: + +```r +library(dbparser) +library(dplyr) + +final_db <- parseDrugBank("data/drugbank.xml") %>% + merge_drugbank_onsides(parseOnSIDES("data/onsides/")) %>% + merge_drugbank_twosides(parseTWOSIDES("data/twosides.csv.gz")) +``` + +The result is a unified `dvobject` (DrugVerse Object) that contains mechanistic data, label data, and interaction data, all enriched with common identifiers. + +#### New Tools for Reproducibility + +To support developers and educators, we also exposed our internal subsetting engines (`subset_drugbank_dvobject` and `subset_onsides_dvobject`). These schema-aware functions allow you to slice massive databases into consistent, shareable micro-datasets—perfect for creating unit tests or teaching materials. + +#### A Scientific Case Study + +To demonstrate the power of this new workflow, we included a comprehensive new vignette: **[Integrated Pharmacovigilance](drugbank_nside.html)** + +In this tutorial, we perform a live analysis of **Leuprolide** (a hormone therapy) and **Calcitriol** (Vitamin D). We define their individual side effect profiles using OnSIDES, and then use the new TWOSIDES integration to quantify the specific risks—such as Anaemia—that arise when these two drugs are prescribed together. + +#### Availability + +`dbparser` 2.2.0 is available now. You can install it from GitHub to get the latest features immediately, in case it is not available on CRAN yet. + +```r +devtools::install_github("ropensci/dbparser") +``` + +We look forward to seeing what the community builds with these new capabilities! From 6ccb2c53cb80445184fd5fd68b8a1a0aeb992864 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 13:52:21 +0200 Subject: [PATCH 41/57] - Enhanced dbparser vignettes, #185 --- vignettes/dbparser.Rmd | 144 +++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 69 deletions(-) diff --git a/vignettes/dbparser.Rmd b/vignettes/dbparser.Rmd index 6034c82..a7666e2 100644 --- a/vignettes/dbparser.Rmd +++ b/vignettes/dbparser.Rmd @@ -1,10 +1,10 @@ --- -title: "DrugBank Database XML Parser" +title: "Unlocking DrugBank: Parsing and Visualizing Mechanistic Data" author: "Mohammed Ali" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{DrugBank Database XML Parser} + %\VignetteIndexEntry{Unlocking DrugBank: Parsing and Visualizing Mechanistic Data} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- @@ -14,125 +14,131 @@ knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "docs/articles/", - out.width = "100%" + out.width = "100%", + warning = FALSE, + message = FALSE ) ``` ## Introduction -The main purpose of the `dbparser` package is to parse the -[DrugBank](https://go.drugbank.com/) database which is downloadable in XML format -from [this link](https://go.drugbank.com/releases/latest). The parsed data can -then be explored and analyzed as desired by the user. -In this tutorial, we will see how to use `dbparser` along with `dplyr` and -`ggplot2` along with other libraries to do simple drug analysis -## Loading and Parsing the Data +The **DrugBank** database is the global gold standard for drug information, containing rich data on chemical structures, pharmacology, and molecular targets. However, the raw data is provided as a massive, complex XML file that is difficult to use in statistical analysis. -Before starting the code we are assuming the following: +`dbparser` solves this problem. It transforms that complex XML into a **Drugverse Object (`dvobject`)**—a structured collection of R data frames ready for analysis. -- user already downloaded *DrugBank* xml database file based on the -[Read Me](https://docs.ropensci.org/dbparser/) instructions or the above note, -- user saved the downloaded database in working directory as `C:\`. -- user named the downloaded xml file **drugbank.xml**. +In this tutorial, we will demonstrate how to: -Now we can loads the `drugs` info, `drug groups` info and `drug targets` -actions info. +1. Parse the database. +2. Explore the data structure. +3. Visualize key insights using `dplyr` and `canvasXpress`. -```{r eval=T} -## load dbparser package +## 1. Loading Data + +### The Parsing Workflow +In a real-world scenario, you would parse the full XML database (downloaded from [DrugBank](https://go.drugbank.com/releases/latest)) using `parseDrugBank()`. + +```r +library(dbparser) + +# Parse the full XML file (this creates a dvobject) +# drugbank_db <- parseDrugBank("drugbank_full_database.xml") +``` + +### Loading Sample Data +For this vignette, we will load curated sample datasets included in the package. These represent specific tables that would be found inside the full `dvobject`. + +```{r load_data} suppressPackageStartupMessages({ library(tidyr) library(dplyr) - library(canvasXpress) library(tibble) + library(canvasXpress) library(dbparser) }) - -## load drugs data +# Load sample tables representing parts of the parsed dvobject drugs <- readRDS(system.file("drugs.RDS", package = "dbparser")) - -## load drug groups data drug_groups <- readRDS(system.file("drug_groups.RDS", package = "dbparser")) - -## load drug targets actions data drug_targets_actions <- readRDS(system.file("targets_actions.RDS", package = "dbparser")) ``` +## 2. Analysis: The Drug Landscape -## Exploring the data - -Following is an example involving a quick look at a few aspects of the parsed -data. First we look at the proportions of `biotech` and `small-molecule` drugs -in the data. +What does the universe of approved drugs look like? Let's analyze the composition of the database by drug type (Small Molecule vs. Biotech). -```{r eval=T} -## view proportions of the different drug types (biotech vs. small molecule) +```{r analysis_type} +# Prepare data: Count drugs by type type_stat <- drugs %>% - select(type) %>% group_by(type) %>% - summarise(count = n()) %>% + summarise(Count = n()) %>% + arrange(desc(Count)) %>% column_to_rownames("type") +# Visualize canvasXpress( data = type_stat, - graphOrientation = "vertical", graphType = "Bar", + title = "Composition of DrugBank: Drug Types", showSampleNames = FALSE, - title ="Drugs Type Distribution", - xAxisTitle = "Count" + legendPosition = "right" ) ``` +## 3. Analysis: Approval Status -Below, we view the different `drug_groups` in the data and how prevalent they -are. +Drugs are categorized into groups such as "approved", "investigational", or "experimental". How does the complexity (Biotech vs. Small Molecule) differ across these groups? -```{r eval=T} -## view proportions of the different drug types for each drug group -type_stat <- drugs %>% - full_join(drug_groups, by = c("drugbank_id")) %>% - select(type, group) %>% +```{r analysis_groups} +# Prepare data: Cross-tabulate Type vs Group +group_stat <- drugs %>% + full_join(drug_groups, by = "drugbank_id") %>% group_by(type, group) %>% - summarise(count = n()) %>% - pivot_wider(names_from = group, values_from = count) %>% + summarise(count = n(), .groups = 'drop') %>% + pivot_wider(names_from = group, values_from = count, values_fill = 0) %>% column_to_rownames("type") +# Visualize with a Stacked Bar Chart canvasXpress( - data = type_stat, + data = group_stat, graphType = "Stacked", - legendColumns = 2, + graphOrientation = "horizontal", + title = "Drug Types by Approval Status", + xAxisTitle = "Number of Drugs", legendPosition = "bottom", - title ="Drug Type Distribution per Drug Group", - xAxisTitle = "Quantity", - xAxis2Show = TRUE, - xAxisShow = FALSE, - smpTitle = "Drug Group") + xAxis2Show = FALSE +) ``` -Finally, we look at the `drug_targets_actions` to observe their proportions as -well. +## 4. Analysis: Molecular Mechanisms +One of DrugBank's most valuable features is the detailed information on how drugs interact with their targets (Proteins, Enzymes, etc.). Are drugs mostly inhibitors, agonists, or antagonists? -```{r eval=T} -## get counts of the different target actions in the data -targetActionCounts <- - drug_targets_actions %>% +```{r analysis_targets} +# Prepare data: Top 10 most common Mechanisms of Action +targetActionCounts <- drug_targets_actions %>% group_by(action) %>% - summarise(count = n()) %>% - arrange(desc(count)) %>% - top_n(10) %>% + summarise(Count = n()) %>% + arrange(desc(Count)) %>% + slice_head(n = 10) %>% column_to_rownames("action") -## get bar chart of the 10 most occurring target actions in the data +# Visualize canvasXpress( data = targetActionCounts, graphType = "Bar", - legendColumns = 2, - legendPosition = "bottom", - title = "Target Actions Distribution", + graphOrientation = "vertical", + colorBy = "Count", + title = "Top 10 Mechanisms of Action", + xAxisTitle = "Number of Interactions", showSampleNames = FALSE, - xAxis2Show = TRUE, - xAxisShow = FALSE) + legendPosition = "none" +) ``` +## 5. Next Steps: Integrated Pharmacovigilance + +Now that you have mastered the mechanistic data in DrugBank, you can combine it with real-world data! + +`dbparser` now supports **OnSIDES** (Adverse Events) and **TWOSIDES** (Drug-Drug Interactions). + +Check out the **[Integrated Pharmacovigilance Vignette](integrated_pharmacovigilance.html)** to learn how to merge these databases to perform polypharmacy risk analysis. From d442b1d847c0fafd3c0d42cd244ac3c206e4ffa4 Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 13:55:02 +0200 Subject: [PATCH 42/57] - Updated package version, #186 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5f8f3da..4643dfb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dbparser Title: Drugs Databases Parser -Version: 2.1.0.9002 +Version: 2.2.0 Authors@R: c( person("Mohammed", "Ali", email = "moh_fcis@yahoo.com", role = c("aut", "cre")), From dee750e83c5d34aad92957a1b712f9ab17d3c80c Mon Sep 17 00:00:00 2001 From: Mohammed Ali Date: Sat, 27 Dec 2025 15:15:21 +0200 Subject: [PATCH 43/57] #186, update package website --- R/dvobject_metadata.R | 2 + R/merge_helpers.R | 2 + R/nsides_parsers.R | 1 + R/onsides_parser.R | 1 + R/utils.R | 4 +- README.Rmd | 6 +- README.md | 50 +- _pkgdown.yml | 26 +- docs/404.html | 141 +-- docs/CODE_OF_CONDUCT.html | 109 +- docs/CONTRIBUTING.html | 129 +-- docs/LICENSE-text.html | 108 +- docs/articles/dbparser.html | 335 +++---- docs/articles/index.html | 111 +- docs/authors.html | 139 ++- docs/index.html | 233 +++-- docs/news/index.html | 187 ++-- docs/pkgdown.js | 218 ++-- docs/pkgdown.yml | 12 +- docs/reference/articles.html | 124 +-- docs/reference/attachments.html | 124 +-- docs/reference/books.html | 127 +-- docs/reference/carriers.html | 263 +---- docs/reference/carriers_actions.html | 270 +---- docs/reference/carriers_articles.html | 271 +---- docs/reference/carriers_links.html | 264 +---- docs/reference/carriers_polypeptides_go.html | 278 +---- .../carriers_polypeptides_pfams.html | 272 +---- docs/reference/carriers_polypeptides_syn.html | 274 +---- docs/reference/carriers_textbooks.html | 268 +---- docs/reference/cett_actions_doc.html | 124 +-- docs/reference/cett_doc.html | 128 +-- docs/reference/cett_ex_identity_doc.html | 130 +-- docs/reference/cett_go_doc.html | 130 +-- docs/reference/cett_nodes_options.html | 138 ++- docs/reference/cett_poly_doc.html | 127 +-- docs/reference/cett_poly_pfms_doc.html | 127 +-- docs/reference/cett_poly_syn_doc.html | 127 +-- docs/reference/dbparser.html | 145 ++- docs/reference/drug_affected_organisms.html | 127 +-- docs/reference/drug_ahfs_codes.html | 124 +-- docs/reference/drug_atc_codes.html | 133 +-- docs/reference/drug_calc_prop.html | 128 +-- docs/reference/drug_categories.html | 124 +-- docs/reference/drug_classification.html | 127 +-- docs/reference/drug_dosages.html | 124 +-- docs/reference/drug_ex_identity.html | 127 +-- docs/reference/drug_exp_prop.html | 124 +-- docs/reference/drug_external_links.html | 124 +-- docs/reference/drug_food_interactions.html | 124 +-- docs/reference/drug_general_information.html | 127 +-- docs/reference/drug_groups.html | 127 +-- docs/reference/drug_interactions.html | 129 +-- docs/reference/drug_intern_brand.html | 128 +-- docs/reference/drug_manufacturers.html | 127 +-- docs/reference/drug_mixtures.html | 127 +-- docs/reference/drug_node_options.html | 138 ++- docs/reference/drug_packagers.html | 124 +-- docs/reference/drug_patents.html | 136 +-- docs/reference/drug_pathway.html | 127 +-- docs/reference/drug_pathway_drugs.html | 124 +-- docs/reference/drug_pathway_enzyme.html | 124 +-- docs/reference/drug_pdb_entries.html | 124 +-- docs/reference/drug_pharmacology.html | 127 +-- docs/reference/drug_prices.html | 124 +-- docs/reference/drug_products.html | 127 +-- docs/reference/drug_reactions.html | 130 +-- docs/reference/drug_reactions_enzymes.html | 124 +-- docs/reference/drug_salts.html | 128 +-- docs/reference/drug_sequences.html | 128 +-- .../reference/drug_snp_adverse_reactions.html | 127 +-- docs/reference/drug_snp_effects.html | 128 +-- docs/reference/drug_syn.html | 124 +-- docs/reference/enzymes.html | 261 +---- docs/reference/enzymes_actions.html | 265 +---- docs/reference/enzymes_articles.html | 267 +---- docs/reference/enzymes_links.html | 261 +---- docs/reference/enzymes_textbooks.html | 268 +---- docs/reference/index.html | 249 +++-- docs/reference/init_dvobject.html | 130 +-- docs/reference/links.html | 127 +-- docs/reference/parseDrugBank.html | 160 ++- docs/reference/parse_cett_node.html | 127 +-- docs/reference/parse_drug_nodes.html | 132 +-- docs/reference/parse_references_node.html | 124 +-- docs/reference/read_drugbank_xml_db.html | 139 ++- docs/reference/references_node_options.html | 138 ++- docs/reference/show_dvobject_metadata.html | 167 ++- docs/reference/targets.html | 261 +---- docs/reference/targets_actions.html | 264 +---- docs/reference/targets_articles.html | 267 +---- docs/reference/targets_links.html | 265 +---- docs/reference/targets_textbooks.html | 268 +---- docs/reference/transporters.html | 265 +---- docs/reference/transporters_actions.html | 265 +---- docs/reference/transporters_articles.html | 266 +---- docs/reference/transporters_links.html | 267 +---- .../transporters_polypep_ex_ident.html | 276 +---- docs/reference/transporters_textbooks.html | 272 +---- docs/sitemap.xml | 949 +++++------------- man/add_database_info.Rd | 7 + man/cett_nodes_options.Rd | 1 + man/drug_node_options.Rd | 1 + man/merge_drugbank_onsides.Rd | 5 + man/merge_drugbank_twosides.Rd | 5 + man/parseDrugBank.Rd | 1 + man/parseOnSIDES.Rd | 8 + man/parseTWOSIDES.Rd | 9 + man/references_node_options.Rd | 3 +- man/show_dvobject_metadata.Rd | 7 + man/subset_drugbank_dvobject.Rd | 6 +- man/subset_onsides_dvobject.Rd | 6 +- 112 files changed, 4362 insertions(+), 12237 deletions(-) diff --git a/R/dvobject_metadata.R b/R/dvobject_metadata.R index c157525..b790271 100644 --- a/R/dvobject_metadata.R +++ b/R/dvobject_metadata.R @@ -21,6 +21,7 @@ init_dvobject <- function() { #' @param db_exported_date database official export date #' #' @return dvobject +#' @family utility #' @export #' @importFrom dplyr .data filter select rename mutate left_join add_database_info <- function(dvobject, @@ -56,6 +57,7 @@ add_database_info <- function(dvobject, #' } #' #' @export +#' @family utility #' @importFrom utils object.size show_dvobject_metadata <- function(obj, return_df = FALSE) { # Initialize return variable diff --git a/R/merge_helpers.R b/R/merge_helpers.R index 56e99e3..25f4b3c 100644 --- a/R/merge_helpers.R +++ b/R/merge_helpers.R @@ -22,6 +22,7 @@ #' @return A new dvobject containing the integrated data. #' #' @export +#' @family mergers #' @importFrom dplyr filter select rename mutate left_join .data #' #' @examples @@ -160,6 +161,7 @@ merge_drugbank_onsides <- function(db_object, onsides_db) { #' @return A new, nested dvobject with the TWOSIDES data added. #' #' @importFrom dplyr filter select rename mutate left_join .data distinct +#' @family mergers #' @export merge_drugbank_twosides <- function(db_object, twosides_db) { diff --git a/R/nsides_parsers.R b/R/nsides_parsers.R index 118b66f..4f8485c 100644 --- a/R/nsides_parsers.R +++ b/R/nsides_parsers.R @@ -32,6 +32,7 @@ #' data frame and associated metadata. #' #' @export +#' @family parsers #' @importFrom data.table fread parseTWOSIDES <- function(twosides_file_path, db_version = NULL, diff --git a/R/onsides_parser.R b/R/onsides_parser.R index b81a4a9..12678ae 100644 --- a/R/onsides_parser.R +++ b/R/onsides_parser.R @@ -16,6 +16,7 @@ #' @family parsers #' #' @export +#' @family parsers #' @importFrom data.table fread parseOnSIDES <- function(dataDir, include_high_confidence = TRUE, diff --git a/R/utils.R b/R/utils.R index 9492b27..fd8cd70 100644 --- a/R/utils.R +++ b/R/utils.R @@ -71,7 +71,7 @@ subset_cett_component <- function(component, component_name, drug_ids) { #' one_drug <- subset_drugbank_dvobject(dvobject = dbdataset::drugbank, #' drug_ids = "DB00001") #' } -#' @family utils +#' @family utility subset_drugbank_dvobject <- function(dvobject, drug_ids) { new_dvobject <- NULL @@ -191,7 +191,7 @@ subset_drugbank_dvobject <- function(dvobject, drug_ids) { #' @importFrom dplyr filter pull .data #' #' @return A new, smaller dvobject with the same structure. -#' @family utils +#' @family utility subset_onsides_dvobject <- function(dvobject, ingredient_ids) { new_dvobject <- NULL diff --git a/README.Rmd b/README.Rmd index 307df3b..2747104 100644 --- a/README.Rmd +++ b/README.Rmd @@ -21,9 +21,9 @@ library(ggplot2) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![metacran downloads](https://cranlogs.r-pkg.org/badges/grand-total/dbparser)](https://cran.r-project.org/package=dbparser) -[![](https://img.shields.io/badge/Doc-Rdoc-blue.svg)](https://www.rdocumentation.org/packages/dbparser) +[![Rdoc Documentation](https://img.shields.io/badge/Doc-Rdoc-blue.svg)](https://www.rdocumentation.org/packages/dbparser) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3311/badge)](https://bestpractices.coreinfrastructure.org/projects/3311) -[![](https://badges.ropensci.org/347_status.svg)](https://github.com/ropensci/software-review/issues/347) +[![rOpenSci Peer-Reviewed](https://badges.ropensci.org/347_status.svg)](https://github.com/ropensci/software-review/issues/347) ## Overview Drugs databases vary too much in their formats and structures which making related @@ -48,6 +48,7 @@ It is an R list object. **For a single database (e.g., DrugBank):** It contains one or more of the following sub-lists: + - **drugs**: list of data.frames that contain drugs information (i.e. synonyms, classifications, ...) and it is the only mandatory list - **salts**: data.frame contains drugs salts information - **products**: data.frame of commercially available drugs products in the world @@ -56,6 +57,7 @@ It contains one or more of the following sub-lists: **For a merged database (Integrated Pharmacovigilance):** When databases are merged using `merge_drugbank_onsides` or `merge_drugbank_twosides`, the `dvobject` becomes a nested structure containing: + - **drugbank**: The mechanistic hub. - **onsides**: The side-effect data (from FDA labels). - **twosides**: The drug-drug interaction data. diff --git a/README.md b/README.md index 2248c03..02f0f6b 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,12 @@ developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.re stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![metacran downloads](https://cranlogs.r-pkg.org/badges/grand-total/dbparser)](https://cran.r-project.org/package=dbparser) -[![](https://img.shields.io/badge/Doc-Rdoc-blue.svg)](https://www.rdocumentation.org/packages/dbparser) +[![Rdoc +Documentation](https://img.shields.io/badge/Doc-Rdoc-blue.svg)](https://www.rdocumentation.org/packages/dbparser) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3311/badge)](https://bestpractices.coreinfrastructure.org/projects/3311) -[![](https://badges.ropensci.org/347_status.svg)](https://github.com/ropensci/software-review/issues/347) +[![rOpenSci +Peer-Reviewed](https://badges.ropensci.org/347_status.svg)](https://github.com/ropensci/software-review/issues/347) ## Overview @@ -49,22 +51,28 @@ That should help in: is an R list object. **For a single database (e.g., DrugBank):** It contains one or more of -the following sub-lists: - **drugs**: list of data.frames that contain -drugs information (i.e. synonyms, classifications, …) and it is the only -mandatory list - **salts**: data.frame contains drugs salts -information - **products**: data.frame of commercially available drugs -products in the world - **references**: data.frame of articles, links -and textbooks about drugs or CETT data - **cett**: list of data.frames -contain targets, enzymes, carriers and transporters information +the following sub-lists: + +- **drugs**: list of data.frames that contain drugs information + (i.e. synonyms, classifications, …) and it is the only mandatory list +- **salts**: data.frame contains drugs salts information +- **products**: data.frame of commercially available drugs products in + the world +- **references**: data.frame of articles, links and textbooks about + drugs or CETT data +- **cett**: list of data.frames contain targets, enzymes, carriers and + transporters information **For a merged database (Integrated Pharmacovigilance):** When databases are merged using `merge_drugbank_onsides` or `merge_drugbank_twosides`, -the `dvobject` becomes a nested structure containing: - **drugbank**: -The mechanistic hub. - **onsides**: The side-effect data (from FDA -labels). - **twosides**: The drug-drug interaction data. - -**integrated_data**: Enriched tables that bridge the databases (e.g., -linking DrugBank IDs to OnSIDES adverse events). - **metadata**: -Detailed provenance for all contained datasets. +the `dvobject` becomes a nested structure containing: + +- **drugbank**: The mechanistic hub. +- **onsides**: The side-effect data (from FDA labels). +- **twosides**: The drug-drug interaction data. +- **integrated_data**: Enriched tables that bridge the databases (e.g., + linking DrugBank IDs to OnSIDES adverse events). +- **metadata**: Detailed provenance for all contained datasets. ## Drug Databases @@ -94,10 +102,10 @@ more details. If you are waiting for access to the DrugBank database, or do not intend to do a deep dive with the data, you may wish to use the `dbdataset` -[package](https://interstellar-consultation-services.github.io/dbdataset/), -which contains the DrugBank database already parsed into `dvobject`. -Note that this is a large package that exceeds the limit set by CRAN. It -is only available on GitHub. +[package](https://interstellar-egypt.github.io/dbdataset/), which +contains the DrugBank database already parsed into `dvobject`. Note that +this is a large package that exceeds the limit set by CRAN. It is only +available on GitHub. `dbparser` is tested against DrugBank versions *5.1.0* through *5.1.12* successfully. If you find errors with these versions or any other @@ -188,7 +196,7 @@ citation("dbparser") #> To cite dbparser in publications use: #> #> Mohammed Ali, Ali Ezzat (). dbparser: DrugBank Database XML Parser. -#> R package version 2.1.0.9002. +#> R package version 2.2.0. #> #> A BibTeX entry for LaTeX users is #> @@ -196,7 +204,7 @@ citation("dbparser") #> title = {DrugBank Database XML Parser}, #> author = {Mohammed Ali and Ali Ezzat}, #> organization = {Interstellar for Consultinc inc.}, -#> note = {R package version 2.1.0.9002}, +#> note = {R package version 2.2.0}, #> url = {https://CRAN.R-project.org/package=dbparser}, #> } ``` diff --git a/_pkgdown.yml b/_pkgdown.yml index 7cbf2dc..d177f4d 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,17 +1,19 @@ +template: + bootstrap: 5 + bootswatch: flatly + +url: https://docs.ropensci.org/dbparser + navbar: + bg: primary structure: - left: - - home - - intro - - reference - - articles - - tutorials - - news - right: github + left: [intro, reference, articles, news] + right: [search, github] components: home: icon: fas fa-home fa-lg href: index.html + aria-label: "Home" reference: text: Reference href: reference/index.html @@ -21,6 +23,10 @@ navbar: news: text: Changelog href: news/index.html + github: + icon: fab fa-github + href: https://github.com/ropensci/dbparser + aria-label: "GitHub" reference: - title: "Drugs Databases Parser" @@ -31,6 +37,10 @@ reference: desc: "Different functions to handle dvobject" contents: - has_concept("utility") +- title: "Merge functions" + desc: "Different functions to merge different types of dvobjects" + contents: + - has_concept("mergers") authors: Mohammed Ali: diff --git a/docs/404.html b/docs/404.html index f0b3f1a..c5b7e94 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,116 +4,85 @@ - + Page not found (404) • dbparser - - - - - - - - - - - - - - + + + + + + + + + + + - - - -
-
-
- +
+
+
Content not found. Please use links in the navbar. -
- - - +
- -
- - + diff --git a/docs/CODE_OF_CONDUCT.html b/docs/CODE_OF_CONDUCT.html index fc4fcc6..4098416 100644 --- a/docs/CODE_OF_CONDUCT.html +++ b/docs/CODE_OF_CONDUCT.html @@ -1,58 +1,40 @@ -Contributor Covenant Code of Conduct • dbparser - - -
-
-
- +
+
+
@@ -97,30 +79,23 @@

Attribution

- +
-
- - diff --git a/docs/CONTRIBUTING.html b/docs/CONTRIBUTING.html index a5deca6..ca08cad 100644 --- a/docs/CONTRIBUTING.html +++ b/docs/CONTRIBUTING.html @@ -1,58 +1,40 @@ -Contributing to dbparser • dbparser - - -
-
- - - -
-
- +
- +
-
- - diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 3559559..fd539db 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -1,88 +1,62 @@ -License • dbparser - - -
-
-
-
YEAR: 2018
 COPYRIGHT HOLDER: Mohammed Ali, Ali Ezzat
 
-
+
- +
-
- - diff --git a/docs/articles/dbparser.html b/docs/articles/dbparser.html index d970bc9..309e7dc 100644 --- a/docs/articles/dbparser.html +++ b/docs/articles/dbparser.html @@ -4,94 +4,72 @@ - -DrugBank Database XML Parser • dbparser - - - - - - - - - - - - - - - + +Unlocking DrugBank: Parsing and Visualizing Mechanistic Data • dbparser + + + + + + + + + + - - + + Skip to contents -
-
-
-
- - - + diff --git a/docs/articles/index.html b/docs/articles/index.html index bfa5b75..3912130 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -1,85 +1,68 @@ -Articles • dbparser - - -
-
- -
+ - - diff --git a/docs/authors.html b/docs/authors.html index 3bce749..72a308f 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -1,117 +1,94 @@ -Authors and Citation • dbparser - - -
-
-
-
- - - +
+

Authors

+
  • -

    Mohammed Ali. Author, maintainer. +

    Mohammed Ali. Author, maintainer.

  • -

    Ali Ezzat. Author. +

    Ali Ezzat. Author.

  • -

    Hao Zhu. Reviewer. +

    Hao Zhu. Reviewer.

  • -

    Emma Mendelsohn. Reviewer. +

    Emma Mendelsohn. Reviewer.

-
-
-

Citation

- Source: inst/CITATION -
-
+
+

Citation

+

Source: inst/CITATION

-

Mohammed Ali, Ali Ezzat (). - dbparser: DrugBank Database XML Parser. R package version 2.0.3.

-
@Manual{,
+      

Mohammed Ali, Ali Ezzat (). + dbparser: DrugBank Database XML Parser. R package version 2.2.0.

+
@Manual{,
   title = {DrugBank Database XML Parser},
   author = {Mohammed Ali and Ali Ezzat},
   organization = {Interstellar for Consultinc inc.},
-  note = {R package version 2.0.3},
+  note = {R package version 2.2.0},
   url = {https://CRAN.R-project.org/package=dbparser},
 }
+
-
- -
- +
-
+ - - diff --git a/docs/index.html b/docs/index.html index c72567f..4730360 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,103 +4,85 @@ - + Drugs Databases Parser • dbparser - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - -
-
-
-
- -

CRAN_Status_Badge codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed. Lifecycle: stable metacran downloads CII Best Practices

+
+
+
+
+ +

CRAN_Status_Badge codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed. Lifecycle: stable metacran downloads Rdoc Documentation CII Best Practices rOpenSci Peer-Reviewed

Overview

-

Drugs databases vary too much in their formats and structures which making related data analysis not a very easy job and requires a lot of efforts to work on only two databases together such as DrugBank and KEGG.

-

Hence, dbparser package aims to parse different public drugs databases as DrugBank or KEGG into single and unified format R object called dvobject (stands for drugverse object).

+

Drugs databases vary too much in their formats and structures which making related data analysis not a very easy job and requires a lot of efforts to work on only two databases together such as DrugBank, OnSIDES, and TWOSIDES.

+

Hence, dbparser package aims to parse different public drugs databases into a single and unified format R object called dvobject (stands for drugverse object).

+

With recent updates, dbparser has evolved into an integration engine, allowing you to merge mechanistic data (DrugBank) with real-world phenotypic data (OnSIDES) and drug-drug interaction risks (TWOSIDES).

That should help in:

  • working with single data object and not multiple databases in different formats,
  • using R analysis capabilities easily on drugs data,
  • -
  • ease of transferring data between researchers after performing required data analysis or dvobject and storing results in the same object in a very easy manner
  • +
  • ease of transferring data between researchers after performing required data analysis or dvobject and storing results in the same object in a very easy manner.

dvobject Structure

-

dvobject introduces a unified and compressed format of drugs data. It is an R list object that contains one or more of the following sub-lists:

+

dvobject introduces a unified and compressed format of drugs data. It is an R list object.

+

For a single database (e.g., DrugBank): It contains one or more of the following sub-lists:

  • drugs: list of data.frames that contain drugs information (i.e. synonyms, classifications, …) and it is the only mandatory list
  • @@ -113,6 +95,19 @@

    dvobject Structure @@ -120,47 +115,81 @@

    Drug Databases

    Parsers are available for the following databases (it is in progress list)

    -

    DrugBank +

    1. DrugBank

    DrugBank database is a comprehensive, freely accessible, online database containing information on drugs and drug targets. As both a bioinformatics and a cheminformatics resource, DrugBank combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, and pathway) information. More information about DrugBank can be found here.

    In its raw form, the DrugBank database is a single XML file. Users must create an account with DrugBank and request permission to download the database. Note that this may take a couple of days.

    -

    The dbparser package parses the DrugBank XML database into R tibbles that can be explored and analyzed by the user, check this tutorial for more details.

    -

    If you are waiting for access to the DrugBank database, or do not intend to do a deep dive with the data, you may wish to use the dbdataset package, which contains the DrugBank database already parsed into dvobject. Note that this is a large package that exceeds the limit set by CRAN. It is only available on GitHub.

    +

    The dbparser package parses the DrugBank XML database into R tibbles that can be explored and analyzed by the user, check this tutorial for more details.

    +

    If you are waiting for access to the DrugBank database, or do not intend to do a deep dive with the data, you may wish to use the dbdataset package, which contains the DrugBank database already parsed into dvobject. Note that this is a large package that exceeds the limit set by CRAN. It is only available on GitHub.

    dbparser is tested against DrugBank versions 5.1.0 through 5.1.12 successfully. If you find errors with these versions or any other version please submit an issue here.

    +
    +

    2. OnSIDES (The Phenotype) +

    +

    OnSIDES provides adverse drug events extracted from thousands of FDA drug labels using machine learning. * Parser: parseOnSIDES() * Input: Directory containing OnSIDES CSV files.

    +
    +
    +

    3. TWOSIDES (Polypharmacy) +

    +

    TWOSIDES provides data on drug-drug interactions and the adverse events that arise when two drugs are taken together. * Parser: parseTWOSIDES() * Input: The TWOSIDES.csv.gz file.

    +
    +

+
+

Quick Start: Integration Pipeline +

+

The power of dbparser lies in its ability to chain parsers and mergers together. Here is how you can build a complete pharmacovigilance dataset:

+
+library(dbparser)
+library(dplyr)
+
+# 1. Parse the raw databases
+drugbank_db <- parseDrugBank("data/drugbank.xml")
+onsides_db  <- parseOnSIDES("data/onsides/")
+twosides_db <- parseTWOSIDES("data/TWOSIDES.csv.gz")
+
+# 2. Build the Integrated Knowledge Graph
+#    DrugBank serves as the hub. We chain the merges.
+final_db <- drugbank_db %>% 
+  merge_drugbank_onsides(onsides_db) %>% 
+  merge_drugbank_twosides(twosides_db)
+
+# 3. Analyze Results
+#    Example: Accessing the enriched drug-drug interaction table
+head(final_db$integrated_data$drug_drug_interactions)
+

For a detailed case study, please refer to the Integrated Pharmacovigilance Vignette.

Installation

You can install the released version of dbparser from CRAN with:

-
+
 install.packages("dbparser")

or you can install the latest updates directly from the repo

-
+
 library(devtools)
 devtools::install_github("ropensci/dbparser")

Code of Conduct

-

Please note that the ‘dbparser’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

+

Please note that the ‘dbparser’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Contributing Guide

-

👍🎉 First off, thanks for taking the time to contribute! 🎉👍 Please review our Contributing Guide.

+

👍🎉 First off, thanks for taking the time to contribute! 🎉👍 Please review our Contributing Guide.

-

Share the love ❤️ +

Share the love ❤️

Think dbparser is useful? Let others discover it, by telling them in person, via Twitter or a blog post.

Using dbparser for a paper you are writing? Consider citing it

-
+
 citation("dbparser")
 #> To cite dbparser in publications use:
 #> 
 #>   Mohammed Ali, Ali Ezzat ().  dbparser: DrugBank Database XML Parser.
-#>   R package version 2.0.3.
+#>   R package version 2.2.0.
 #> 
 #> A BibTeX entry for LaTeX users is
 #> 
@@ -168,15 +197,12 @@ 

Share the love ❤️#> title = {DrugBank Database XML Parser}, #> author = {Mohammed Ali and Ali Ezzat}, #> organization = {Interstellar for Consultinc inc.}, -#> note = {R package version 2.0.3}, +#> note = {R package version 2.2.0}, #> url = {https://CRAN.R-project.org/package=dbparser}, #> }

-
- -
+
-
- - + diff --git a/docs/news/index.html b/docs/news/index.html index 4841929..e82ce0b 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -1,63 +1,104 @@ -Changelog • dbparser - +Changelog • dbparser + Skip to contents -
-
+
-
- +
+
+
- +

dbparser 2.2.0

+

This is a major feature release focused on expanding dbparser’s capabilities into real-world pharmacovigilance and drug-drug interaction analysis. The integration engine has been formalized around a “Hub and Spoke” model, with DrugBank acting as the central hub.

+
+

NEW FEATURES

+
  • +New Parser: parseOnSIDES() +
    • Parses the relational CSV files from the OnSIDES database, a modern resource for adverse drug events extracted from FDA labels.
    • +
    • Returns a dvobject containing the 7 core relational tables and an optional high_confidence summary table.
    • +
  • +
  • +New Parser: parseTWOSIDES() +
    • Parses the TWOSIDES database, the leading resource for drug-drug interaction (DDI) adverse event signals from real-world data.
    • +
    • Returns a dvobject containing the drug_drug_interactions table.
    • +
    • The parser correctly handles known column name misspellings in the source data (e.g., drug_1_rxnorn_id).
    • +
  • +
  • +New Integration Function: merge_drugbank_onsides() +
    • Merges a DrugBank dvobject with an OnSIDES dvobject.
    • +
    • Automatically creates an enriched integrated_data list, linking OnSIDES data to DrugBank IDs via RxNorm CUIs.
    • +
    • The function is chainable, meaning it can be used in a %>% pipeline after other merge functions.
    • +
  • +
  • +New Integration Function: merge_drugbank_twosides() +
    • Merges a DrugBank dvobject with a TWOSIDES dvobject.
    • +
    • Performs a “double join” to enrich both drugs in an interaction pair with their DrugBank IDs and names.
    • +
    • Uses a robust “union” logic to keep interactions even if only one of the two drugs is present in the input DrugBank object.
    • +
    • The function is also chainable.
    • +
  • +
  • +Subset a DrugBank dvobject function: subset_drugbank_dvobject() +
    • Intelligently filters a DrugBank dvobject to retain only the data associated with a specified list of drugbank_ids. It correctly handles the deep, multi-level nested structure of the entire object, including the complex relationships within the cett list.
    • +
  • +
  • +Subset an OnSIDES dvobject function: subset_onsides_dvobject() +
    • Intelligently filters an OnSIDES dvobject by cascading filters through the relational tables, ensuring the final subset is self-consistent.
    • +
  • +
  • Adding metadata to existing dvobject objects using function: add_database_info()
  • +
  • +Major enhancements to function show_dvobject_metadata() +
    • Displays information about passed dbobject object including basic info, database metadata, and all data.frames contained within nested lists.
    • +
  • +
  • Run vignette("dbparser_2_2", package = "dbparser") for more info
  • +
+
+

DOCUMENTATION

+
  • +New Vignette: “Integrated Pharmacovigilance” +
    • A comprehensive new tutorial demonstrating a full, three-way integration of DrugBank, OnSIDES, and TWOSIDES.
    • +
    • Includes a complete scientific case study analyzing single-drug vs. polypharmacy risks.
    • +
    • Introduces a reproducible example workflow using a pre-computed RDS data object hosted externally to keep the package lightweight.
    • +
    • Run vignette("drugbank_nside", package = "dbparser") for more info
    • +
  • +
  • Updated existing vignette and package Readme with enhanced examples
  • +
+
+

BUG FIXES & MINOR IMPROVEMENTS

+
  • Several minor fixes are done
  • +

+
+
+

dbparser 2.0.3

CRAN release: 2024-04-20

Enhancements

  • Updated unit tests with latest DrugBank DB info v 5.1.12
  • @@ -68,7 +109,7 @@

    Bugs Fixes - +

    dbparser 2.0.2

    CRAN release: 2024-02-16

    Enhancements

    • Replaced “-” with “_” in tibbles column names (#111)
    • @@ -78,7 +119,7 @@

      Enhancements

- +

dbparser 2.0.1

CRAN release: 2023-03-27

Bugs Fixes

  • Fixed output references (#147)
  • @@ -88,7 +129,7 @@

    Bugs Fixes - +

    dbparser 2.0.0

    CRAN release: 2023-03-17

    Breaking changes

    • Deprecated saving parsed data into given database (#140)
    • @@ -111,7 +152,7 @@

      Minor Fixes

- +

dbparser 1.2.0

CRAN release: 2020-08-26

UI Changes

  • Introduce progress bar in parser functions
  • @@ -153,7 +194,7 @@

    Minor Fixes

- +

dbparser 1.1.2

CRAN release: 2020-06-08

Major Changes

  • Enhance many memory and performance issues for many parsers.
  • @@ -163,14 +204,14 @@

    Major Changes

- +

dbparser 1.1.1

CRAN release: 2020-05-10

  • Fix column size issue while importing into SQL Server (#91)
  • Fix dbparser and upcoming CRAN release of dplyr issues (#92)
  • Fix CRAN Notes (#93)
  • Fix package documentation and site references

- +

dbparser 1.1.0

CRAN release: 2020-02-21

Major Changes

  • Functions have been splitted into 6 categories DrugBank Database Loading, Carriers, Targets, Transporters, Drug and common parsers. All function names are changed to reflect the function family. The related documentation is also updated (#66, #75).
  • @@ -193,25 +234,25 @@

    DOCUMENTATION FIXES

- +

dbparser 1.0.4

CRAN release: 2019-08-28

  • Fix save drugs tibbles as csv several issues.
  • Update SQL database tibbles saver functions.
  • Update SQL database saver functions documentations.
  • Support MariaDB and introduce related functionalities.

- +

dbparser 1.0.3

CRAN release: 2019-07-11

  • Fix CRAN errors and notes

- +

dbparser 1.0.2

CRAN release: 2019-07-08

  • Fix zip file location issue
  • Replace Secondary and third keys columns from drug framework with other_keys column that contains any other keys that might exist in addition to the primary key
  • Add average-mass, monoisotopic-mass and calculated-properties parsers.
  • Support saving parsed drugs related parsed database as csv

- +

dbparser 1.0.1

CRAN release: 2019-04-16

  • Fix CRAN Note
  • Improve documentation
  • Refactor unused functions
  • @@ -225,32 +266,26 @@

- +

dbparser 1.0.0

CRAN release: 2018-12-17

  • Initial release that contains core functionalities
-
+
- +
-
- - diff --git a/docs/pkgdown.js b/docs/pkgdown.js index 6f0eee4..0a5573a 100644 --- a/docs/pkgdown.js +++ b/docs/pkgdown.js @@ -1,108 +1,162 @@ /* http://gregfranko.com/blog/jquery-best-practices/ */ -(function($) { - $(function() { +(function ($) { + $(function () { - $('.navbar-fixed-top').headroom(); + $('nav.navbar').headroom(); - $('body').css('padding-top', $('.navbar').height() + 10); - $(window).resize(function(){ - $('body').css('padding-top', $('.navbar').height() + 10); + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") }); - $('[data-toggle="tooltip"]').tooltip(); - - var cur_path = paths(location.pathname); - var links = $("#navbar ul li a"); - var max_length = -1; - var pos = -1; - for (var i = 0; i < links.length; i++) { - if (links[i].getAttribute("href") === "#") - continue; - // Ignore external links - if (links[i].host !== location.host) - continue; - - var nav_path = paths(links[i].pathname); - - var length = prefix_length(nav_path, cur_path); - if (length > max_length) { - max_length = length; - pos = i; - } + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); } - // Add class to parent
  • , and enclosing
  • if in dropdown - if (pos >= 0) { - var menu_anchor = $(links[pos]); - menu_anchor.parent().addClass("active"); - menu_anchor.closest("li.dropdown").addClass("active"); - } - }); - - function paths(pathname) { - var pieces = pathname.split("/"); - pieces.shift(); // always starts with / + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); - var end = pieces[pieces.length - 1]; - if (end === "index.html" || end === "") - pieces.pop(); - return(pieces); - } + $('[data-bs-toggle="tooltip"]').tooltip(); - // Returns -1 if not found - function prefix_length(needle, haystack) { - if (needle.length > haystack.length) - return(-1); + /* Clipboard --------------------------*/ - // Special case for length-0 haystack, since for loop won't run - if (haystack.length === 0) { - return(needle.length === 0 ? 0 : -1); + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle = element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); } - for (var i = 0; i < haystack.length; i++) { - if (needle[i] != haystack[i]) - return(i); - } + if (ClipboardJS.isSupported()) { + $(document).ready(function () { + var copyButton = ""; - return(haystack.length); - } + $("div.sourceCode").addClass("hasCopyButton"); - /* Clipboard --------------------------*/ + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); - function changeTooltipMessage(element, msg) { - var tooltipOriginalTitle=element.getAttribute('data-original-title'); - element.setAttribute('data-original-title', msg); - $(element).tooltip('show'); - element.setAttribute('data-original-title', tooltipOriginalTitle); - } + // Initialize tooltips: + $('.btn-copy-ex').tooltip({ container: 'body' }); - if(ClipboardJS.isSupported()) { - $(document).ready(function() { - var copyButton = ""; + // Initialize clipboard: + var clipboard = new ClipboardJS('[data-clipboard-copy]', { + text: function (trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); - $("div.sourceCode").addClass("hasCopyButton"); + clipboard.on('success', function (e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); - // Insert copy buttons: - $(copyButton).prependTo(".hasCopyButton"); + clipboard.on('error', function (e) { + changeTooltipMessage(e.trigger, 'Press Ctrl+C or Command+C to copy'); + }); - // Initialize tooltips: - $('.btn-copy-ex').tooltip({container: 'body'}); + }); + } - // Initialize clipboard: - var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { - text: function(trigger) { - return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], } }); + } - clipboardBtnCopies.on('success', function(e) { - changeTooltipMessage(e.trigger, 'Copied!'); - e.clearSelection(); - }); + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function (e) { + if (fuse) { + return; + } - clipboardBtnCopies.on('error', function() { - changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); - }); + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); }); - } + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; + async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{ dir: "Sorry 😿", previous_headings: "", title: "No results found.", what: "No results found.", path: window.location.href }]; + } + } + callback(items); + } + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function (event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function (event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 51a0103..da7bd73 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,7 +1,11 @@ -pandoc: 3.1.1 -pkgdown: 2.0.7 +pandoc: 3.6.3 +pkgdown: 2.2.0 pkgdown_sha: ~ articles: dbparser: dbparser.html -last_built: 2024-04-20T04:20Z - + dbparser_2_2: dbparser_2_2.html + drugbank_nside: drugbank_nside.html +last_built: 2025-12-27T13:08Z +urls: + reference: https://docs.ropensci.org/dbparser/reference + article: https://docs.ropensci.org/dbparser/articles diff --git a/docs/reference/articles.html b/docs/reference/articles.html index 9b60450..17f5e18 100644 --- a/docs/reference/articles.html +++ b/docs/reference/articles.html @@ -1,67 +1,49 @@ -Drugs/ Carriers/ Enzymes/ Targets/ Transporters articles element parser — articles • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Return a list of articles that were used as references for drugs carriers

    -
    +
    +

    Usage

    drugs_articles()
     
     carriers_articles()
    @@ -73,11 +55,9 @@ 

    Drugs/ Carriers/ Enzymes/ Targets/ Transporters articles element parser

    transporters_articles()
    -
    -

    Value

    - - -

    a tibble with 4 variables:

    ref-id
    +
    +

    Value

    +

    a tibble with 4 variables:

    ref-id

    Identifier for the article being referenced. This is unique across all reference types (books, links, article, attachments).

    @@ -94,27 +74,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/attachments.html b/docs/reference/attachments.html index cd90f3b..8aa0b69 100644 --- a/docs/reference/attachments.html +++ b/docs/reference/attachments.html @@ -1,67 +1,49 @@ -Drugs/ Carriers/ Enzymes/ Targets/ Transporters attachments element parser — attachments • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Return a list of attachment that were used as references for drugs carriers

    -
    +
    +

    Usage

    drugs_attachments()
     
     carriers_attachments()
    @@ -73,11 +55,9 @@ 

    Drugs/ Carriers/ Enzymes/ Targets/ Transporters attachments element parsertransporters_attachments()

    -
    -

    Value

    - - -

    a tibble with 4 variables:

    ref-id
    +
    +

    Value

    +

    a tibble with 4 variables:

    ref-id

    Identifier for the article being referenced. This is unique across all reference types (books, links, article, attachments).

    @@ -94,27 +74,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/books.html b/docs/reference/books.html index 8a34acf..61d3179 100644 --- a/docs/reference/books.html +++ b/docs/reference/books.html @@ -1,69 +1,52 @@ -Drugs/ Carriers/ Enzymes/ Targets/ Transporters books element parser — books • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Return a list of text books that were used as references for drugs, carriers, enzymes, targets or transporters

    -
    +
    +

    Usage

    drugs_textbooks()
     
     carriers_textbooks()
    @@ -75,11 +58,9 @@ 

    Drugs/ Carriers/ Enzymes/ Targets/ Transporters books element parser

    transporters_textbooks()
    -
    -

    Value

    - - -

    a tibble with 4 variables:

    ref-id
    +
    +

    Value

    +

    a tibble with 4 variables:

    ref-id

    Identifier for the article being referenced. This is unique across all reference types (books, links, article, attachments).

    @@ -96,27 +77,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/carriers.html b/docs/reference/carriers.html index e89de0b..c4ba25d 100644 --- a/docs/reference/carriers.html +++ b/docs/reference/carriers.html @@ -1,263 +1,8 @@ - - - + - - - - -Extracts the drug carriers element and return data as tibble. — carriers • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers returns tibble of drug carriers elements.

    -
    - -
    carriers(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true -in the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers element of drug node in - DrugBank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and - database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers() - -# will throw an error, as database_connection is NULL -carriers(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers(save_table = TRUE, database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist -# in current location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers(save_table = TRUE, save_csv = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist override it and return it. -carriers(save_csv = TRUE, csv_path = TRUE, override = TRUE) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_actions.html b/docs/reference/carriers_actions.html index 9fd50fb..49c4d12 100644 --- a/docs/reference/carriers_actions.html +++ b/docs/reference/carriers_actions.html @@ -1,270 +1,8 @@ - - - + - - - - -Extracts the drug carriers actions element and return data as tibble. — carriers_actions • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_actions returns tibble of drug - carriers actions elements.

    -
    - -
    carriers_actions(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true in -the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers actions node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers actions element of drug - node in DrugBank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and -database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_actions() - -# will throw an error, as database_connection is NULL -carriers_actions(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_actions(save_table = TRUE, database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current location and -# return parsed tibble. -# If the csv exist before read it and return its data. -carriers_actions(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_actions(save_table = TRUE, save_csv = TRUE, -database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given location and -# return parsed tibble. -# If the csv exist before read it and return its data. -carriers_actions(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current location and -# return parsed tibble. -# If the csv exist override it and return it. - -carriers_actions( - save_csv = TRUE, csv_path = TRUE, - override = TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_articles.html b/docs/reference/carriers_articles.html index e717a02..b95e027 100644 --- a/docs/reference/carriers_articles.html +++ b/docs/reference/carriers_articles.html @@ -1,271 +1,8 @@ - - - + - - - - -Extracts the drug carriers articles element and return - data as tibble. — carriers_articles • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_articles returns tibble of -drug carriers articles elements.

    -
    - -
    carriers_articles(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true in the -new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers_articles node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers articles element of drug node in -drugbank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and -database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_articles() - -# will throw an error, as database_connection is NULL -carriers_articles(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_articles(save_table = TRUE, database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_articles(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -# current location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_articles(save_table = TRUE, save_csv = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given location -# and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_articles(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist override it and return it. -carriers_articles( - save_csv = TRUE, csv_path = TRUE, - override = TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_links.html b/docs/reference/carriers_links.html index 575def3..b768dff 100644 --- a/docs/reference/carriers_links.html +++ b/docs/reference/carriers_links.html @@ -1,264 +1,8 @@ - - - + - - - - -Extracts the drug carriers links element and return data as tibble. — carriers_links • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    drug_groups returns tibble of drug carriers links elements.

    -
    - -
    carriers_links(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true -in the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers_links node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers links element of drug node in -DrugBank xml database with the option to save it in a predefined -database via passed database connection. -It takes two optional arguments to -save the returned tibble in the database save_table and - database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_links() - -# will throw an error, as database_connection is NULL -carriers_links(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_links(save_table = TRUE, database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current location -# and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_links(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_links(save_table = TRUE, save_csv = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given location and -# return parsed tibble. -# If the csv exist before read it and return its data. -carriers_links(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current location and -# return parsed tibble. -# If the csv exist override it and return it. -carriers_links(save_csv = TRUE, csv_path = TRUE, override = TRUE) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_polypeptides_go.html b/docs/reference/carriers_polypeptides_go.html index d941d06..bda310f 100644 --- a/docs/reference/carriers_polypeptides_go.html +++ b/docs/reference/carriers_polypeptides_go.html @@ -1,278 +1,8 @@ - - - + - - - - -Extracts the drug carriers polypeptides go classifiers - element and return data as tibble. — carriers_polypeptides_go • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_polypeptides_go returns -tibble of drug carriers polypeptides go classifiers elements.

    -
    - -
    carriers_polypeptides_go(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true in -the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers polypeptides go classifiers node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers polypeptides go -classifiers element of drug node in DrugBank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and -database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_polypeptides_go() - -# will throw an error, as database_connection is NULL -carriers_polypeptides_go(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_polypeptides_go(save_table = TRUE, -database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_go(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_go( - save_table = TRUE, - save_csv = TRUE -) - -# save parsed tibble as csv if it does not exist in given -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_go( - save_csv = TRUE, - csv_path = TRUE -) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist override it and return it. -carriers_polypeptides_go( - save_csv = TRUE, - csv_path = TRUE, override = TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_polypeptides_pfams.html b/docs/reference/carriers_polypeptides_pfams.html index 12c564d..cac389d 100644 --- a/docs/reference/carriers_polypeptides_pfams.html +++ b/docs/reference/carriers_polypeptides_pfams.html @@ -1,272 +1,8 @@ - - - + - - - - -Extracts the drug carriers polypeptides pfams element and return data as -tibble. — carriers_polypeptides_pfams • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_polypeptides_pfams returns tibble - of drug carriers polypeptides pfams elements.

    -
    - -
    carriers_polypeptides_pfams(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true in -the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers polypeptides pfams node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers polypeptides pfams element of - drug node in DrugBank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and -database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_polypeptides_pfams() - -# will throw an error, as database_connection is NULL -carriers_polypeptides_pfams(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_polypeptides_pfams(save_table = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_pfams(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -# current location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_pfams(save_table = TRUE, save_csv = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_pfams(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist override it and return it. -carriers_polypeptides_pfams( - save_csv = TRUE, csv_path = TRUE, - override = TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_polypeptides_syn.html b/docs/reference/carriers_polypeptides_syn.html index cedc443..c0f768c 100644 --- a/docs/reference/carriers_polypeptides_syn.html +++ b/docs/reference/carriers_polypeptides_syn.html @@ -1,274 +1,8 @@ - - - + - - - - -Extracts the drug carriers polypeptides syn element and return data as -tibble. — carriers_polypeptides_syn • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_polypeptides_syn returns - tibble of drug carriers polypeptides syn elements.

    -
    - -
    carriers_polypeptides_syn(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true -in the new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers polypeptides syn node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers polypeptides syn - element of drug node in DrugBank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and - database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_polypeptides_syn() - -# will throw an error, as database_connection is NULL -carriers_polypeptides_syn(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_polypeptides_syn(save_table = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_syn(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist -# in current location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_syn( - save_table = TRUE, - save_csv = TRUE -) - -# save parsed tibble as csv if it does not exist in given location -# and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_polypeptides_syn(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current -# location and return parsed tibble. -# If the csv exist override it and return it. -carriers_polypeptides_syn( - save_csv = TRUE, csv_path = TRUE, - override = TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/carriers_textbooks.html b/docs/reference/carriers_textbooks.html index bf0c5eb..088dfba 100644 --- a/docs/reference/carriers_textbooks.html +++ b/docs/reference/carriers_textbooks.html @@ -1,268 +1,8 @@ - - - + - - - - -Extracts the drug carriers textbooks element and return data as tibble. — carriers_textbooks • dbparser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - -
    -
    - - - - -
    - -
    -
    - - -
    -

    carriers_textbooks returns tibble of drug carriers - textbooks elements.

    -
    - -
    carriers_textbooks(
    -  save_table = FALSE,
    -  save_csv = FALSE,
    -  csv_path = ".",
    -  override_csv = FALSE,
    -  database_connection = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    save_table

    boolean, save table in database if true.

    save_csv

    boolean, save csv version of parsed tibble if true

    csv_path

    location to save csv files into it, default is current -location, save_csv must be true

    override_csv

    override existing csv, if any, in case it is true in the -new parse operation

    database_connection

    DBI connection object that holds a connection to -user defined database. If save_table is enabled without providing -value for this function an error will be thrown.

    - -

    Value

    - -

    drug carriers textbooks node attributes date frame

    -

    Details

    - -

    This functions extracts the carriers textbooks element of drug node in -drugbank -xml database with the option to save it in a predefined database via -passed database connection. It takes two optional arguments to -save the returned tibble in the database save_table and - database_connection. -It must be called after read_drugbank_xml_db function like -any other parser function. -If read_drugbank_xml_db is called before for any reason, so -no need to call it again before calling this function.

    -

    See also

    - - - -

    Examples

    -
    if (FALSE) { -# return only the parsed tibble -carriers_textbooks() - -# will throw an error, as database_connection is NULL -carriers_textbooks(save_table = TRUE) - -# save in database in SQLite in memory database and return parsed tibble -sqlite_con <- DBI::dbConnect(RSQLite::SQLite()) -carriers_textbooks(save_table = TRUE, database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in current location -# and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_textbooks(save_csv = TRUE) - -# save in database, save parsed tibble as csv if it does not exist in -# current location and return parsed tibble. -# If the csv exist before read it and return its data. -carriers_textbooks(save_table = TRUE, save_csv = TRUE, - database_connection = sqlite_con) - -# save parsed tibble as csv if it does not exist in given location and -# return parsed tibble. -# If the csv exist before read it and return its data. -carriers_textbooks(save_csv = TRUE, csv_path = TRUE) - -# save parsed tibble as csv if it does not exist in current location and -# return parsed tibble. -# If the csv exist override it and return it. -carriers_textbooks( - save_csv = TRUE, csv_path = TRUE, override = - TRUE -) -}
    -
    - -
    - - - -
    - - - - - - diff --git a/docs/reference/cett_actions_doc.html b/docs/reference/cett_actions_doc.html index fd3a5fb..ed18bf8 100644 --- a/docs/reference/cett_actions_doc.html +++ b/docs/reference/cett_actions_doc.html @@ -1,67 +1,49 @@ -Carriers/ Enzymes/ Targets/ Transporters Actions parsers — cett_actions_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Collection of related actions

    -
    +
    +

    Usage

    carriers_actions()
     
     enzymes_actions()
    @@ -71,11 +53,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Actions parsers

    transporters_actions()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    action
    +
    +

    Value

    +

    a tibble with 2 variables:

    action

    describe related action

    parent_id
    @@ -84,27 +64,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_doc.html b/docs/reference/cett_doc.html index a8565b7..6081640 100644 --- a/docs/reference/cett_doc.html +++ b/docs/reference/cett_doc.html @@ -1,71 +1,55 @@ -Carriers/ Enzymes/ Targets/ Transporters parsers — cett_doc • dbparserCarriers/ Enzymes/ Targets/ Transporters parsers — cett_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Protein targets of drug action, enzymes that are inhibited/induced or involved in metabolism, and carrier or transporter proteins involved in movement of the drug across biological membranes.

    -
    +
    +

    Usage

    carriers()
     
     enzymes()
    @@ -75,11 +59,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters parsers

    transporters()
    -
    -

    Value

    - - -

    a tibble with 6 variables (8 for enzymes):

    id
    +
    +

    Value

    +

    a tibble with 6 variables (8 for enzymes):

    id

    Universal Protein Resource (UniProt) Identifier for the record

    name
    @@ -109,27 +91,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_ex_identity_doc.html b/docs/reference/cett_ex_identity_doc.html index f8f67e1..5a65842 100644 --- a/docs/reference/cett_ex_identity_doc.html +++ b/docs/reference/cett_ex_identity_doc.html @@ -1,72 +1,52 @@ -Carriers/ Enzymes/ Targets/ Transporters Polypeptide External Identifiers -parsers — cett_ex_identity_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Extract descriptions of identified polypeptide external identifiers for targets, enzymes, carriers, or transporters.

    -
    +
    +

    Usage

    carriers_polypep_ex_ident()
     
     enzymes_polypep_ex_ident()
    @@ -76,11 +56,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Polypeptide External Identifiers transporters_polypep_ex_ident()

    -
    -

    Value

    - - -

    a tibble with 3 variables:

    resource
    +
    +

    Value

    +

    a tibble with 3 variables:

    resource

    Name of the source database.

    identifier
    @@ -92,27 +70,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_go_doc.html b/docs/reference/cett_go_doc.html index c5a1cc8..960d7ce 100644 --- a/docs/reference/cett_go_doc.html +++ b/docs/reference/cett_go_doc.html @@ -1,72 +1,52 @@ -Carriers/ Enzymes/ Targets/ Transporters Polypeptide GO Classifier -parsers — cett_go_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Extract descriptions of identified polypeptide go classifier for targets, enzymes, carriers, or transporters.

    -
    +
    +

    Usage

    carriers_polypeptides_go()
     
     enzymes_polypeptides_go()
    @@ -76,11 +56,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Polypeptide GO Classifier transporters_polypeptides_go()

    -
    -

    Value

    - - -

    a tibble with 3 variables:

    category
    +
    +

    Value

    +

    a tibble with 3 variables:

    category
    description
    @@ -92,27 +70,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_nodes_options.html b/docs/reference/cett_nodes_options.html index 2787994..e3c34cf 100644 --- a/docs/reference/cett_nodes_options.html +++ b/docs/reference/cett_nodes_options.html @@ -1,105 +1,83 @@ -returns carriers, enzymes,targets and transporters node valid options. — cett_nodes_options • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    returns carriers, enzymes,targets and transporters node valid options.

    -
    +
    +

    Usage

    cett_nodes_options()
    -
    -

    Value

    - - -

    list of CETT valid options

    +
    +

    Value

    +

    list of CETT valid options

    - - -
    +
    -
    + - - diff --git a/docs/reference/cett_poly_doc.html b/docs/reference/cett_poly_doc.html index 49c3bd3..ea4e4dd 100644 --- a/docs/reference/cett_poly_doc.html +++ b/docs/reference/cett_poly_doc.html @@ -1,69 +1,52 @@ -Carriers/ Enzymes/ Targets/ Transporters Polypeptide parsers — cett_poly_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Extract descriptions of identified polypeptide targets, enzymes, carriers, or transporters.

    -
    +
    +

    Usage

    carriers_polypeptides()
     
     enzymes_polypeptides()
    @@ -73,11 +56,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Polypeptide parsers

    transporters_polypeptides()
    -
    -

    Value

    - - -

    a tibble with 20 variables:

    id
    +
    +

    Value

    +

    a tibble with 20 variables:

    id

    Universal Protein Resource (UniProt) identifier

    @@ -151,27 +132,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_poly_pfms_doc.html b/docs/reference/cett_poly_pfms_doc.html index 2fbce9d..c0259b7 100644 --- a/docs/reference/cett_poly_pfms_doc.html +++ b/docs/reference/cett_poly_pfms_doc.html @@ -1,69 +1,52 @@ -Carriers/ Enzymes/ Targets/ Transporters Polypeptide PFAMS parsers — cett_poly_pfms_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Extract descriptions of identified polypeptide PFAMS targets, enzymes, carriers, or transporters.

    -
    +
    +

    Usage

    carriers_polypeptides_pfams()
     
     enzymes_polypeptides_pfams()
    @@ -73,11 +56,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Polypeptide PFAMS parsers

    transporters_polypeptides_pfams()
    -
    -

    Value

    - - -

    a tibble with 3 variables:

    name
    +
    +

    Value

    +

    a tibble with 3 variables:

    name

    The sequence of the associated gene.

    identifier
    @@ -89,27 +70,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/cett_poly_syn_doc.html b/docs/reference/cett_poly_syn_doc.html index 66004de..716d511 100644 --- a/docs/reference/cett_poly_syn_doc.html +++ b/docs/reference/cett_poly_syn_doc.html @@ -1,69 +1,52 @@ -Carriers/ Enzymes/ Targets/ Transporters Polypeptide Synonyms parsers — cett_poly_syn_doc • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Extract descriptions of identified polypeptide synonyms for targets, enzymes, carriers, or transporters.

    -
    +
    +

    Usage

    carriers_polypeptides_syn()
     
     enzymes_polypeptides_syn()
    @@ -73,11 +56,9 @@ 

    Carriers/ Enzymes/ Targets/ Transporters Polypeptide Synonyms parsers

    transporters_polypeptides_syn()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    synonym
    +
    +

    Value

    +

    a tibble with 2 variables:

    synonym
    parent_key
    @@ -86,27 +67,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/dbparser.html b/docs/reference/dbparser.html index 1bb573c..85f97c2 100644 --- a/docs/reference/dbparser.html +++ b/docs/reference/dbparser.html @@ -1,134 +1,113 @@ -dbparser: A package for reading and parsing DrugBank xml database. — dbparser • dbparserdbparser: A package for reading and parsing DrugBank xml database. — dbparser • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    The main purpose of the `dbparser` package is to parse [DrugBank](https://go.drugbank.com/) database which is downloadable in XML format from [this link](https://go.drugbank.com/releases/latest).

    -
    -

    Details

    +
    +

    Details

    The parsed data can then be explored and analyzed.

    -

    To achieve this purpose, `dbparser`` package provides three main categories +

    To achieve this purpose, `dbparser“ package provides three main categories of functions:

    - xml db reader,

    - DrugBank elements parsers,

    For more information kindly check the reference/index (https://docs.ropensci.org/dbparser/reference/index.html)

    -
    -

    xml db reader functions

    - +
    +

    xml db reader functions

    +

    Reads DrugBank xml database and build drug elements full tree in memory

    -
    -

    parsers functions

    - +
    +

    parsers functions

    +

    Each parser function is responsible of parsing certain drug element and returning its tibble.

    Check this tutorial (https://docs.ropensci.org/dbparser/articles/dbparser.html)

    -
    -

    See also

    -

    Useful links:

    +
    -
    + - - diff --git a/docs/reference/drug_affected_organisms.html b/docs/reference/drug_affected_organisms.html index da549fb..b09bc53 100644 --- a/docs/reference/drug_affected_organisms.html +++ b/docs/reference/drug_affected_organisms.html @@ -1,77 +1,58 @@ -Drug Affected Organism parser — drug_affected_organisms • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Organisms in which the drug may display activity; activity may depend on local susceptibility patterns and resistance.

    -
    +
    +

    Usage

    drug_affected_organisms()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    affected-organism
    +
    +

    Value

    +

    a tibble with 2 variables:

    affected-organism

    affected-organism name

    drugbank_id
    @@ -80,27 +61,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_ahfs_codes.html b/docs/reference/drug_ahfs_codes.html index 347ebef..bb041c4 100644 --- a/docs/reference/drug_ahfs_codes.html +++ b/docs/reference/drug_ahfs_codes.html @@ -1,75 +1,55 @@ -Drug ahfs-codes parser — drug_ahfs_codes • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    The American Hospital Formulary Service (AHFS) identifier for this drug.

    -
    +
    +

    Usage

    drug_ahfs_codes()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    ahfs-code
    +
    +

    Value

    +

    a tibble with the following variables:

    ahfs-code
    drugbank_id
    @@ -78,27 +58,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_atc_codes.html b/docs/reference/drug_atc_codes.html index 05e91c8..ed86376 100644 --- a/docs/reference/drug_atc_codes.html +++ b/docs/reference/drug_atc_codes.html @@ -1,106 +1,83 @@ -Drug ATC Codes element parser — drug_atc_codes • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    The Anatomical Therapeutic Classification (ATC) code for the drug assigned by the World Health Organization Anatomical Chemical Classification System.

    -
    +
    +

    Usage

    drug_atc_codes()
    -
    -

    Value

    - - -

    a tibble with 10 variables

    +
    +

    Value

    +

    a tibble with 10 variables

    -
    -

    Details

    -

    Each `atc-code`` row has one or more level. The atc-code and level> +

    +

    Details

    +

    Each `atc-code“ row has one or more level. The atc-code and level> have a code the code assigned by the World Health Organization Anatomical Therapeutic Chemical Classification system.

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_calc_prop.html b/docs/reference/drug_calc_prop.html index 1e7bbbb..5ac1018 100644 --- a/docs/reference/drug_calc_prop.html +++ b/docs/reference/drug_calc_prop.html @@ -1,79 +1,61 @@ -Drug Calculated Properties parser — drug_calc_prop • dbparserDrug Calculated Properties parser — drug_calc_prop • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Drug properties that have been predicted by ChemAxon or ALOGPS based on the imputed chemical structure. Associated links below will redirect to descriptions of the specific term.

    -
    +
    +

    Usage

    drug_calc_prop()
    -
    -

    Value

    - - -

    a tibble with 4 variables:

    kind
    +
    +

    Value

    +

    a tibble with 4 variables:

    kind

    Name of the property.

    value
    @@ -90,27 +72,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_categories.html b/docs/reference/drug_categories.html index 35ae29e..29d836b 100644 --- a/docs/reference/drug_categories.html +++ b/docs/reference/drug_categories.html @@ -1,75 +1,55 @@ -Drug Categories parser — drug_categories • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    General categorizations of the drug.

    -
    +
    +

    Usage

    drug_categories()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    category
    +
    +

    Value

    +

    a tibble with 2 variables:

    category

    category name

    mesh-id
    @@ -82,27 +62,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_classification.html b/docs/reference/drug_classification.html index fb47ce9..6952c9b 100644 --- a/docs/reference/drug_classification.html +++ b/docs/reference/drug_classification.html @@ -1,77 +1,58 @@ -Drug Classification parser — drug_classification • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    A description of the hierarchical chemical classification of the drug; imported from ClassyFire.

    -
    +
    +

    Usage

    drug_classification()
    -
    -

    Value

    - - -

    a tibble with 9 variables:

    description
    +
    +

    Value

    +

    a tibble with 9 variables:

    description
    direct-parent
    @@ -101,27 +82,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_dosages.html b/docs/reference/drug_dosages.html index b9bdc34..66bc921 100644 --- a/docs/reference/drug_dosages.html +++ b/docs/reference/drug_dosages.html @@ -1,75 +1,55 @@ -Drug Dosages parser — drug_dosages • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    A list of the commercially available dosages of the drug.

    -
    +
    +

    Usage

    drug_dosages()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    form
    +
    +

    Value

    +

    a tibble with the following variables:

    form

    The pharmaceutical formulation by which the drug is introduced into the body

    @@ -85,27 +65,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_ex_identity.html b/docs/reference/drug_ex_identity.html index cc0fc41..7b307e6 100644 --- a/docs/reference/drug_ex_identity.html +++ b/docs/reference/drug_ex_identity.html @@ -1,77 +1,58 @@ -Drug External Identifiers parser — drug_ex_identity • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Identifiers used in other websites or databases providing information about this drug.

    -
    +
    +

    Usage

    drug_ex_identity()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    resource
    +
    +

    Value

    +

    a tibble with the following variables:

    resource

    Name of the source database.

    identifier
    @@ -83,27 +64,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_exp_prop.html b/docs/reference/drug_exp_prop.html index 210209e..79edc6d 100644 --- a/docs/reference/drug_exp_prop.html +++ b/docs/reference/drug_exp_prop.html @@ -1,75 +1,55 @@ -Drug Experimental Properties parser — drug_exp_prop • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Drug properties that have been experimentally proven

    -
    +
    +

    Usage

    drug_exp_prop()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    kind
    +
    +

    Value

    +

    a tibble with the following variables:

    kind

    Name of the property.

    value
    @@ -135,27 +115,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_external_links.html b/docs/reference/drug_external_links.html index d6710ad..0ec2952 100644 --- a/docs/reference/drug_external_links.html +++ b/docs/reference/drug_external_links.html @@ -1,75 +1,55 @@ -Drug External Links parser — drug_external_links • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Links to other websites or databases providing information about this drug.

    -
    +
    +

    Usage

    drug_external_links()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    resource
    +
    +

    Value

    +

    a tibble with the following variables:

    resource

    Name of the source website.

    identifier
    @@ -81,27 +61,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_food_interactions.html b/docs/reference/drug_food_interactions.html index 10f4f86..5ab5c6e 100644 --- a/docs/reference/drug_food_interactions.html +++ b/docs/reference/drug_food_interactions.html @@ -1,75 +1,55 @@ -Drug Groups parser — drug_food_interactions • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Food that may interact with this drug.

    -
    +
    +

    Usage

    drug_food_interactions()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    food-interaction
    +
    +

    Value

    +

    a tibble with the following variables:

    food-interaction
    drugbank_id
    @@ -78,27 +58,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_general_information.html b/docs/reference/drug_general_information.html index 1ed412a..13f40d7 100644 --- a/docs/reference/drug_general_information.html +++ b/docs/reference/drug_general_information.html @@ -1,77 +1,58 @@ -Drugs General Information parser — drug_general_information • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    A description of the hierarchical chemical classification of the drug; imported from ClassyFire.

    -
    +
    +

    Usage

    drug_general_information()
    -
    -

    Value

    - - -

    a tibble with 15 variables:

    primary_key
    +
    +

    Value

    +

    a tibble with 15 variables:

    primary_key

    DrugBank id

    other_keys
    @@ -127,27 +108,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_groups.html b/docs/reference/drug_groups.html index 32cb3c7..ce1c7e8 100644 --- a/docs/reference/drug_groups.html +++ b/docs/reference/drug_groups.html @@ -1,77 +1,58 @@ -Drug Groups parser — drug_groups • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Groups that this drug belongs to. May include any of: approved, vet_approved, nutraceutical, illicit, withdrawn, investigational, and experimental.

    -
    +
    +

    Usage

    drug_groups()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    group
    +
    +

    Value

    +

    a tibble with 2 variables:

    group
    drugbank_id
    @@ -80,27 +61,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_interactions.html b/docs/reference/drug_interactions.html index a43cca8..1cbe6bf 100644 --- a/docs/reference/drug_interactions.html +++ b/docs/reference/drug_interactions.html @@ -1,81 +1,64 @@ -Drug Interactions parser — drug_interactions • dbparserDrug Interactions parser — drug_interactions • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    Drug-drug interactions detailing drugs that, when administered concomitantly with the drug of interest, will affect its activity or result in adverse effects. These interactions may be synergistic or antagonistic depending on the physiological effects and mechanism of action of each drug.

    -
    +
    +

    Usage

    drug_interactions()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    drugbank-id
    +
    +

    Value

    +

    a tibble with the following variables:

    drugbank-id

    DrugBank ID of the interacting drug.

    name
    @@ -91,27 +74,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_intern_brand.html b/docs/reference/drug_intern_brand.html index a50ab70..fa2f976 100644 --- a/docs/reference/drug_intern_brand.html +++ b/docs/reference/drug_intern_brand.html @@ -1,79 +1,61 @@ -Drug International Brands parser — drug_intern_brand • dbparserDrug International Brands parser — drug_intern_brand • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    The proprietary names used by the manufacturers for commercially available forms of the drug, focusing on brand names for products that are available in countries other than Canada and the Unites States.

    -
    +
    +

    Usage

    drug_intern_brand()
    -
    -

    Value

    - - -

    a tibble with 4 variables:

    brand
    +
    +

    Value

    +

    a tibble with 4 variables:

    brand

    The proprietary, well-known name for given to this drug by a manufacturer.

    @@ -86,27 +68,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_manufacturers.html b/docs/reference/drug_manufacturers.html index f862781..54eb47c 100644 --- a/docs/reference/drug_manufacturers.html +++ b/docs/reference/drug_manufacturers.html @@ -1,77 +1,58 @@ -Drug Manufacturers parser — drug_manufacturers • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    A list of companies that are manufacturing the commercially available forms of this drug that are available in Canada and the Unites States.

    -
    +
    +

    Usage

    drug_manufacturers()
    -
    -

    Value

    - - -

    a tibble with the following variables:

    generic
    +
    +

    Value

    +

    a tibble with the following variables:

    generic

    A list of companies that are manufacturing the generic form of the drug.

    @@ -84,27 +65,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_mixtures.html b/docs/reference/drug_mixtures.html index 3d71279..df19758 100644 --- a/docs/reference/drug_mixtures.html +++ b/docs/reference/drug_mixtures.html @@ -1,77 +1,58 @@ -Drug Mixtures parser — drug_mixtures • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    All commercially available products in which this drug is available in combination with other drug molecules

    -
    +
    +

    Usage

    drug_mixtures()
    -
    -

    Value

    - - -

    a tibble with 4 variables:

    name
    +
    +

    Value

    +

    a tibble with 4 variables:

    name

    The proprietary name provided by the manufacturer for this combination product.

    @@ -89,27 +70,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_node_options.html b/docs/reference/drug_node_options.html index 5cd6c08..332e096 100644 --- a/docs/reference/drug_node_options.html +++ b/docs/reference/drug_node_options.html @@ -1,105 +1,83 @@ -returns drug node valid options. — drug_node_options • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    returns drug node valid options.

    -
    +
    +

    Usage

    drug_node_options()
    -
    -

    Value

    - - -

    list of drug valid options

    +
    +

    Value

    +

    list of drug valid options

    - - -
    +
    -
    + - - diff --git a/docs/reference/drug_packagers.html b/docs/reference/drug_packagers.html index 86525bc..dfbca3f 100644 --- a/docs/reference/drug_packagers.html +++ b/docs/reference/drug_packagers.html @@ -1,75 +1,55 @@ -Drug Packagers parser — drug_packagers • dbparser - - -
    -
    -
    - +
    +
    +
    -
    +

    A list of companies that are packaging the drug for re-distribution.

    -
    +
    +

    Usage

    drug_packagers()
    -
    -

    Value

    - - -

    a tibble with 2 variables:

    name
    +
    +

    Value

    +

    a tibble with 2 variables:

    name
    url
    @@ -82,27 +62,23 @@

    Value

    -
    - -
    +
    -
    + - - diff --git a/docs/reference/drug_patents.html b/docs/reference/drug_patents.html index 02a9baf..9e17c68 100644 --- a/docs/reference/drug_patents.html +++ b/docs/reference/drug_patents.html @@ -1,79 +1,52 @@ -Drug Patents parser +<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Drug Patents parser A property right issued by the United States Patent and Trademark Office (USPTO) to an inventor for a limited time, in exchange for public disclosure of the invention when the patent is granted. Drugs may be issued multiple patents. — drug_patents • dbparser - - -
    -
    - - - -
    -
    -