Nothing
## ----setup, message=FALSE, echo=FALSE, include=FALSE, cache=FALSE-------------
library(knitr)
opts_chunk$set(
include=TRUE,
echo=TRUE,
message=TRUE,
warning=TRUE,
cache=FALSE,
cache.lazy=FALSE
)
library(TKCat)
## -----------------------------------------------------------------------------
ebkm <- create_KMR(
name="EBKM",
title="Experimental and Biological Knowledge Management",
description="Requirements for integrating knowledge from biological research activities",
version="0.1",
maintainer="[Patrice Godard](mailto:patrice.godard@gmail.com)"
)
## ----eval=FALSE---------------------------------------------------------------
# data_model(ebkm) %>%
# plot()
## -----------------------------------------------------------------------------
ebkm <- add_feature_def(
kmr = ebkm,
name = "name",
description = "name/identifier of a record",
properties = list(
"value" = list(
type = "character",
mandatory = TRUE
)
)
)
ebkm <- add_feature_def(
kmr = ebkm,
name = "description",
description = "description of a record",
properties = list(
"value" = list(
type = "character",
mandatory = TRUE
)
)
)
## -----------------------------------------------------------------------------
ebkm <- add_table_def(
kmr = ebkm,
name = "samples",
description = "A table listing samples and associated features",
mandatory_features=c("name", "description")
)
## -----------------------------------------------------------------------------
ebkm <- add_feature_def(
kmr = ebkm,
name = "sex",
description = "Subject sex",
properties = list(
"value" = list(
type = "character",
mandatory = TRUE
)
)
)
ebkm <- add_feature_def(
kmr = ebkm,
name = "tissue",
description = "Name of a biological tissue",
properties = list(
"value" = list(
type = "character",
mandatory = TRUE
),
"identifier" = list(
type = "character",
description = "Identifier in reference database",
mandatory = TRUE
),
"reference" = list(
type="character",
description = "Reference database",
mandatory=TRUE
),
"side" = list(
type = "character",
description = "Sampling side",
mandatory = FALSE
),
"relative side" = list(
type="character",
description = "Sampling relative side",
mandatory = FALSE
),
"side reference" = list(
type="character",
description =
"Reference for relative side (e.g., Handedness, treatment...)",
mandatory = FALSE
)
)
)
ebkm <- add_table_features(
kmr = ebkm,
table = "samples",
features = c("sex", "tissue")
)
## -----------------------------------------------------------------------------
ebkm <- add_property_values(
kmr = ebkm, feature = "sex", property = "value",
values = c("female", "male")
)
## -----------------------------------------------------------------------------
ebkm <- add_property_values(
kmr = ebkm, feature = "tissue", property = "reference",
values=c(
"Uberon" = "https://obophenotype.github.io/uberon/"
)
)
ebkm <- add_property_values(
kmr = ebkm, feature = "tissue", property = "side",
values = c("left", "right")
)
ebkm <- add_property_values(
kmr = ebkm, feature = "tissue", property = "relative side",
values = c("ipsilateral", "contralateral")
)
## -----------------------------------------------------------------------------
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "s", description = "seconds"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "min", description = "minutes"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "h", description = "hours"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "d", description = "days"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "m", description = "months"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "y", description = "years"
)
ebkm <- add_unit_def(
kmr = ebkm,
measurement = "duration", unit = "w", description = "weeks"
)
##
ebkm <- add_feature_def(
kmr = ebkm,
name = "age",
description = "Elapsed time since birth",
properties = list(
"value" = list(
type = "numeric",
mandatory = TRUE,
measurement = "duration"
)
)
)
ebkm <- add_table_features(
kmr = ebkm,
table = "samples",
features = c("age")
)
## -----------------------------------------------------------------------------
list_table_types(ebkm)
## -----------------------------------------------------------------------------
list_table_features(ebkm, "samples")
## -----------------------------------------------------------------------------
list_feature_properties(ebkm, "tissue")
## -----------------------------------------------------------------------------
list_property_values(ebkm, "sex", "value")
## -----------------------------------------------------------------------------
list_measurements(ebkm)
list_measurement_units(ebkm, "duration")
## -----------------------------------------------------------------------------
samples <- tibble(
name = c("S1", "S2", "S3", "S4"),
description = c(
"Sample from left hippocampus from patient 1",
"Sample from left hippocampus from patient 2",
"Sample from left hippocampus from patient 3",
"Sample from left hippocampus from patient 4"
),
sex = c("male", "female", "female", "male"),
age = c(25, 36, 28, 42),
tissue_name = rep("hippocampus", 4),
tissue_id = rep("UBERON_0002421", 4),
tissue_ref = rep("Uberon", 4),
tissue_side = rep("left", 4),
seizures = c(31, 64, 12, 29)
)
model <- ReDaMoR::df_to_model(samples)
mdb <- memoMDB(
list(samples=samples),
model,
dbInfo=list(
name="Test"
)
)
## -----------------------------------------------------------------------------
mdb <- add_km_spec(mdb, ebkm)
mdb <- add_km_table(
mdb, ebkm,
name="samples", type="samples",
features=list(
### TBKM mandatory features ###
list(feature="name", fields="name"),
list(feature="description", fields="description"),
### TBKM optional features ###
list(feature="age", fields="age", unit="y"),
list(feature="sex", fields="sex"),
list(
feature="tissue",
fields=list(
"value"=list(field="tissue_name"),
"identifier"=list(field="tissue_id"),
"reference"=list(field="tissue_ref"),
"side"=list(field="tissue_side")
)
)
)
)
## ----results='asis', echo=FALSE-----------------------------------------------
ec <- readLines("EBKM-helpers.R")
cat('```r', sep="\n")
cat(ec, sep="\n")
cat('```', sep="\n")
## -----------------------------------------------------------------------------
ebkm <- add_helpers(
ebkm,
code="EBKM-helpers.R",
name="R-Helpers",
language = "R"
)
## -----------------------------------------------------------------------------
ebkm_helpers <- get_R_helpers(ebkm)
ebkm_helpers$help()
ebkm_helpers$help("get_tissue_ref_url")
ebkm_helpers$get_tissue_ref_url(c("UBERON_0002421", "UBERON_0001876"))
## ----results='asis', echo=FALSE-----------------------------------------------
ec <- readLines("MDB-helpers.R")
cat('```r', sep="\n")
cat(ec, sep="\n")
cat('```', sep="\n")
## -----------------------------------------------------------------------------
mdb <- add_helpers(
mdb,
kmr = ebkm,
code="MDB-helpers.R",
name="R-Helpers",
language = "R"
)
## -----------------------------------------------------------------------------
mdb_helpers <- get_R_helpers(mdb, kmr = ebkm)
mdb_helpers$help("summarize_seizures")
mdb_helpers$summarize_seizures()
## -----------------------------------------------------------------------------
pok <- create_POK(mdb, ebkm)
pok
## -----------------------------------------------------------------------------
tkcat <- TKCat(Test=mdb, EBKM=ebkm)
get_POK(tkcat, "Test", "EBKM")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.