R/dvobject_metadata.R

Defines functions show_dvobject_metadata add_drugbank_info init_dvobject

Documented in add_drugbank_info init_dvobject show_dvobject_metadata

#' init_dvobject
#'   initialize dvobject
#'
#' @keywords internal
#' @return dvobject
init_dvobject <- function() {
  dvobject        <- list()
  class(dvobject) <- "dvobject"

  attr(dvobject, "original_db_info") <- list()
  dvobject
}


#' add_drugbank_info
#'   Add passed DrugBank db metadata to passed dvobject
#'
#' @keywords internal
#' @return dvobject
add_drugbank_info <- function(dvobject) {
  db_info <- attr(dvobject, "original_db_info")

  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")

  attr(dvobject, "original_db_info") <- db_info
  dvobject
}


#' init_dvobject
#'   Returns data.frame with two columns (key, value) of dvobject attributes
#'
#' @param dvobject - dvobject list to show related metadata
#'
#' @return data.frame
#' @family utility
#' @export
show_dvobject_metadata <- function(dvobject) {
  dvobject_attributes            <- attr(dvobject, "original_db_info")
  dvobject_attributes[["class"]] <- class(dvobject)
  data.frame(Atrribute = names(dvobject_attributes), Value =  stack(dvobject_attributes)[[1]])
}

Try the dbparser package in your browser

Any scripts or data that you put into this service are public.

dbparser documentation built on March 31, 2023, 6:25 p.m.