# mzTab-M reference implementation and validation API.
#
# This is the mzTab-M reference implementation and validation API service.
#
# The version of the OpenAPI document: 2.0.0
# Contact: nils.hoffmann@cebitec.uni-bielefeld.de
# Generated by: https://openapi-generator.tech
#' @docType class
#' @title SmallMoleculeEvidence
#' @description SmallMoleculeEvidence Class
#' @format An \code{R6Class} generator object
#' @field prefix character [optional]
#'
#' @field header_prefix character [optional]
#'
#' @field sme_id integer
#'
#' @field evidence_input_id character
#'
#' @field database_identifier character
#'
#' @field chemical_formula character [optional]
#'
#' @field smiles character [optional]
#'
#' @field inchi character [optional]
#'
#' @field chemical_name character [optional]
#'
#' @field uri character [optional]
#'
#' @field derivatized_form \link{Parameter} [optional]
#'
#' @field adduct_ion character [optional]
#'
#' @field exp_mass_to_charge numeric
#'
#' @field charge integer
#'
#' @field theoretical_mass_to_charge numeric
#'
#' @field spectra_ref list( \link{SpectraRef} )
#'
#' @field identification_method \link{Parameter}
#'
#' @field ms_level \link{Parameter}
#'
#' @field id_confidence_measure list( numeric ) [optional]
#'
#' @field rank integer
#'
#' @field opt list( \link{OptColumnMapping} ) [optional]
#'
#' @field comment list( \link{Comment} ) [optional]
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
SmallMoleculeEvidence <- R6::R6Class(
'SmallMoleculeEvidence',
public = list(
`prefix` = NULL,
`header_prefix` = NULL,
`sme_id` = NULL,
`evidence_input_id` = NULL,
`database_identifier` = NULL,
`chemical_formula` = NULL,
`smiles` = NULL,
`inchi` = NULL,
`chemical_name` = NULL,
`uri` = NULL,
`derivatized_form` = NULL,
`adduct_ion` = NULL,
`exp_mass_to_charge` = NULL,
`charge` = NULL,
`theoretical_mass_to_charge` = NULL,
`spectra_ref` = NULL,
`identification_method` = NULL,
`ms_level` = NULL,
`id_confidence_measure` = NULL,
`rank` = NULL,
`opt` = NULL,
`comment` = NULL,
#' @description Create a new SmallMoleculeEvidence.
#' @param sme_id The small molecule evidence id.
#' @param evidence_input_id The evidence input id.
#' @param database_identifier The database identifier.
#' @param exp_mass_to_charge The experimental mass to charge of the evidence.
#' @param charge The charge of the evidence.
#' @param theoretical_mass_to_charge The theoretical mass to charge.
#' @param spectra_ref The references to source spectra list( \link{SpectraRef} ).
#' @param identification_method The identification method \link{Parameter}.
#' @param ms_level The ms level used for evidence \link{Parameter}.
#' @param rank The database search / id rank.
#' @param prefix 'SMF'.
#' @param header_prefix 'SFH'.
#' @param chemical_formula The chemical formula.
#' @param smiles The SMILES string.
#' @param inchi The INCHI identifier.
#' @param chemical_name The chemical name.
#' @param uri External URI.
#' @param derivatized_form The derivatized form of the molecule.
#' @param adduct_ion The adduct ion.
#' @param id_confidence_measure The confidence measure used.
#' @param opt Optional columns and values.
#' @param comment Comments.
#' @param ... local optional variable arguments.
initialize = function(`sme_id`, `evidence_input_id`, `database_identifier`, `exp_mass_to_charge`, `charge`, `theoretical_mass_to_charge`, `spectra_ref`, `identification_method`, `ms_level`, `rank`, `prefix`='SME', `header_prefix`='SEH', `chemical_formula`=NULL, `smiles`=NULL, `inchi`=NULL, `chemical_name`=NULL, `uri`=NULL, `derivatized_form`=NULL, `adduct_ion`=NULL, `id_confidence_measure`=NULL, `opt`=NULL, `comment`=NULL, ...){
local.optional.var <- list(...)
if (!missing(`sme_id`)) {
stopifnot(is.numeric(`sme_id`), length(`sme_id`) == 1)
self$`sme_id` <- `sme_id`
}
if (!missing(`evidence_input_id`)) {
stopifnot(is.character(`evidence_input_id`), length(`evidence_input_id`) == 1)
self$`evidence_input_id` <- `evidence_input_id`
}
if (!missing(`database_identifier`)) {
stopifnot(is.character(`database_identifier`), length(`database_identifier`) == 1)
self$`database_identifier` <- `database_identifier`
}
if (!missing(`exp_mass_to_charge`)) {
stopifnot(is.numeric(`exp_mass_to_charge`), length(`exp_mass_to_charge`) == 1)
self$`exp_mass_to_charge` <- `exp_mass_to_charge`
}
if (!missing(`charge`)) {
stopifnot(is.numeric(`charge`), length(`charge`) == 1)
self$`charge` <- `charge`
}
if (!missing(`theoretical_mass_to_charge`)) {
stopifnot(is.numeric(`theoretical_mass_to_charge`), length(`theoretical_mass_to_charge`) == 1)
self$`theoretical_mass_to_charge` <- `theoretical_mass_to_charge`
}
if (!missing(`spectra_ref`)) {
stopifnot(is.vector(`spectra_ref`), length(`spectra_ref`) != 0)
sapply(`spectra_ref`, function(x) stopifnot(R6::is.R6(x)))
self$`spectra_ref` <- `spectra_ref`
}
if (!missing(`identification_method`)) {
stopifnot(R6::is.R6(`identification_method`))
self$`identification_method` <- `identification_method`
}
if (!missing(`ms_level`)) {
stopifnot(R6::is.R6(`ms_level`))
self$`ms_level` <- `ms_level`
}
if (!missing(`rank`)) {
stopifnot(is.numeric(`rank`), length(`rank`) == 1)
self$`rank` <- `rank`
}
if (!is.null(`prefix`)) {
stopifnot(is.character(`prefix`), length(`prefix`) == 1)
self$`prefix` <- `prefix`
}
if (!is.null(`header_prefix`)) {
stopifnot(is.character(`header_prefix`), length(`header_prefix`) == 1)
self$`header_prefix` <- `header_prefix`
}
if (!is.null(`chemical_formula`)) {
stopifnot(is.character(`chemical_formula`), length(`chemical_formula`) == 1)
self$`chemical_formula` <- `chemical_formula`
}
if (!is.null(`smiles`)) {
stopifnot(is.character(`smiles`), length(`smiles`) == 1)
self$`smiles` <- `smiles`
}
if (!is.null(`inchi`)) {
stopifnot(is.character(`inchi`), length(`inchi`) == 1)
self$`inchi` <- `inchi`
}
if (!is.null(`chemical_name`)) {
stopifnot(is.character(`chemical_name`), length(`chemical_name`) == 1)
self$`chemical_name` <- `chemical_name`
}
if (!is.null(`uri`)) {
stopifnot(is.character(`uri`), length(`uri`) == 1)
self$`uri` <- `uri`
}
if (!is.null(`derivatized_form`)) {
stopifnot(R6::is.R6(`derivatized_form`))
self$`derivatized_form` <- `derivatized_form`
}
if (!is.null(`adduct_ion`)) {
stopifnot(is.character(`adduct_ion`), length(`adduct_ion`) == 1)
self$`adduct_ion` <- `adduct_ion`
}
if (!is.null(`id_confidence_measure`)) {
stopifnot(is.vector(`id_confidence_measure`), length(`id_confidence_measure`) != 0)
sapply(`id_confidence_measure`, function(x) stopifnot(is.character(x)))
self$`id_confidence_measure` <- `id_confidence_measure`
}
if (!is.null(`opt`)) {
stopifnot(is.vector(`opt`), length(`opt`) != 0)
sapply(`opt`, function(x) stopifnot(R6::is.R6(x)))
self$`opt` <- `opt`
}
if (!is.null(`comment`)) {
stopifnot(is.vector(`comment`), length(`comment`) != 0)
sapply(`comment`, function(x) stopifnot(R6::is.R6(x)))
self$`comment` <- `comment`
}
},
#' @description Serialize to list object suitable for jsonlite
toJSON = function() {
SmallMoleculeEvidenceObject <- list()
if (!is.null(self$`prefix`)) {
SmallMoleculeEvidenceObject[['prefix']] <-
rmzTabM::safe_unbox(self$`prefix`)
}
if (!is.null(self$`header_prefix`)) {
SmallMoleculeEvidenceObject[['header_prefix']] <-
rmzTabM::safe_unbox(self$`header_prefix`)
}
if (!is.null(self$`sme_id`)) {
SmallMoleculeEvidenceObject[['sme_id']] <-
rmzTabM::safe_unbox(self$`sme_id`)
}
if (!is.null(self$`evidence_input_id`)) {
SmallMoleculeEvidenceObject[['evidence_input_id']] <-
rmzTabM::safe_unbox(self$`evidence_input_id`)
}
if (!is.null(self$`database_identifier`)) {
SmallMoleculeEvidenceObject[['database_identifier']] <-
rmzTabM::safe_unbox(self$`database_identifier`)
}
if (!is.null(self$`chemical_formula`)) {
SmallMoleculeEvidenceObject[['chemical_formula']] <-
rmzTabM::safe_unbox(self$`chemical_formula`)
}
if (!is.null(self$`smiles`)) {
SmallMoleculeEvidenceObject[['smiles']] <-
rmzTabM::safe_unbox(self$`smiles`)
}
if (!is.null(self$`inchi`)) {
SmallMoleculeEvidenceObject[['inchi']] <-
rmzTabM::safe_unbox(self$`inchi`)
}
if (!is.null(self$`chemical_name`)) {
SmallMoleculeEvidenceObject[['chemical_name']] <-
rmzTabM::safe_unbox(self$`chemical_name`)
}
if (!is.null(self$`uri`)) {
SmallMoleculeEvidenceObject[['uri']] <-
rmzTabM::safe_unbox(self$`uri`)
}
if (!is.null(self$`derivatized_form`)) {
SmallMoleculeEvidenceObject[['derivatized_form']] <-
self$`derivatized_form`$toJSON()
}
if (!is.null(self$`adduct_ion`)) {
SmallMoleculeEvidenceObject[['adduct_ion']] <-
rmzTabM::safe_unbox(self$`adduct_ion`)
}
if (!is.null(self$`exp_mass_to_charge`)) {
SmallMoleculeEvidenceObject[['exp_mass_to_charge']] <-
rmzTabM::safe_unbox(self$`exp_mass_to_charge`)
}
if (!is.null(self$`charge`)) {
SmallMoleculeEvidenceObject[['charge']] <-
rmzTabM::safe_unbox(self$`charge`)
}
if (!is.null(self$`theoretical_mass_to_charge`)) {
SmallMoleculeEvidenceObject[['theoretical_mass_to_charge']] <-
rmzTabM::safe_unbox(self$`theoretical_mass_to_charge`)
}
if (!is.null(self$`spectra_ref`)) {
SmallMoleculeEvidenceObject[['spectra_ref']] <-
lapply(self$`spectra_ref`, function(x) x$toJSON())
}
if (!is.null(self$`identification_method`)) {
SmallMoleculeEvidenceObject[['identification_method']] <-
self$`identification_method`$toJSON()
}
if (!is.null(self$`ms_level`)) {
SmallMoleculeEvidenceObject[['ms_level']] <-
self$`ms_level`$toJSON()
}
if (!is.null(self$`id_confidence_measure`)) {
SmallMoleculeEvidenceObject[['id_confidence_measure']] <-
unlist(self$`id_confidence_measure`)
}
if (!is.null(self$`rank`)) {
SmallMoleculeEvidenceObject[['rank']] <-
rmzTabM::safe_unbox(self$`rank`)
}
if (!is.null(self$`opt`)) {
SmallMoleculeEvidenceObject[['opt']] <-
lapply(self$`opt`, function(x) x$toJSON())
}
if (!is.null(self$`comment`)) {
SmallMoleculeEvidenceObject[['comment']] <-
lapply(self$`comment`, function(x) x$toJSON())
}
SmallMoleculeEvidenceObject
},
#' @description Deserialize from jsonlite list object
#' @param SmallMoleculeEvidenceJson list object.
fromJSON = function(SmallMoleculeEvidenceJson) {
SmallMoleculeEvidenceObject <- jsonlite::fromJSON(SmallMoleculeEvidenceJson)
if (!is.null(SmallMoleculeEvidenceObject$`prefix`)) {
self$`prefix` <- SmallMoleculeEvidenceObject$`prefix`
}
if (!is.null(SmallMoleculeEvidenceObject$`header_prefix`)) {
self$`header_prefix` <- SmallMoleculeEvidenceObject$`header_prefix`
}
if (!is.null(SmallMoleculeEvidenceObject$`sme_id`)) {
self$`sme_id` <- SmallMoleculeEvidenceObject$`sme_id`
}
if (!is.null(SmallMoleculeEvidenceObject$`evidence_input_id`)) {
self$`evidence_input_id` <- SmallMoleculeEvidenceObject$`evidence_input_id`
}
if (!is.null(SmallMoleculeEvidenceObject$`database_identifier`)) {
self$`database_identifier` <- SmallMoleculeEvidenceObject$`database_identifier`
}
if (!is.null(SmallMoleculeEvidenceObject$`chemical_formula`)) {
self$`chemical_formula` <- SmallMoleculeEvidenceObject$`chemical_formula`
}
if (!is.null(SmallMoleculeEvidenceObject$`smiles`)) {
self$`smiles` <- SmallMoleculeEvidenceObject$`smiles`
}
if (!is.null(SmallMoleculeEvidenceObject$`inchi`)) {
self$`inchi` <- SmallMoleculeEvidenceObject$`inchi`
}
if (!is.null(SmallMoleculeEvidenceObject$`chemical_name`)) {
self$`chemical_name` <- SmallMoleculeEvidenceObject$`chemical_name`
}
if (!is.null(SmallMoleculeEvidenceObject$`uri`)) {
self$`uri` <- SmallMoleculeEvidenceObject$`uri`
}
if (!is.null(SmallMoleculeEvidenceObject$`derivatized_form`)) {
derivatized_formObject <- Parameter$new()
derivatized_formObject$fromJSON(jsonlite::toJSON(SmallMoleculeEvidenceObject$derivatized_form, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`derivatized_form` <- derivatized_formObject
}
if (!is.null(SmallMoleculeEvidenceObject$`adduct_ion`)) {
self$`adduct_ion` <- SmallMoleculeEvidenceObject$`adduct_ion`
}
if (!is.null(SmallMoleculeEvidenceObject$`exp_mass_to_charge`)) {
self$`exp_mass_to_charge` <- SmallMoleculeEvidenceObject$`exp_mass_to_charge`
}
if (!is.null(SmallMoleculeEvidenceObject$`charge`)) {
self$`charge` <- SmallMoleculeEvidenceObject$`charge`
}
if (!is.null(SmallMoleculeEvidenceObject$`theoretical_mass_to_charge`)) {
self$`theoretical_mass_to_charge` <- SmallMoleculeEvidenceObject$`theoretical_mass_to_charge`
}
if (!is.null(SmallMoleculeEvidenceObject$`spectra_ref`)) {
self$`spectra_ref` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`spectra_ref`, "array[SpectraRef]", loadNamespace("rmzTabM"))
}
if (!is.null(SmallMoleculeEvidenceObject$`identification_method`)) {
identification_methodObject <- Parameter$new()
identification_methodObject$fromJSON(jsonlite::toJSON(SmallMoleculeEvidenceObject$identification_method, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`identification_method` <- identification_methodObject
}
if (!is.null(SmallMoleculeEvidenceObject$`ms_level`)) {
ms_levelObject <- Parameter$new()
ms_levelObject$fromJSON(jsonlite::toJSON(SmallMoleculeEvidenceObject$ms_level, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`ms_level` <- ms_levelObject
}
if (!is.null(SmallMoleculeEvidenceObject$`id_confidence_measure`)) {
self$`id_confidence_measure` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`id_confidence_measure`, "array[numeric]", loadNamespace("rmzTabM"))
}
if (!is.null(SmallMoleculeEvidenceObject$`rank`)) {
self$`rank` <- SmallMoleculeEvidenceObject$`rank`
}
if (!is.null(SmallMoleculeEvidenceObject$`opt`)) {
self$`opt` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`opt`, "array[OptColumnMapping]", loadNamespace("rmzTabM"))
}
if (!is.null(SmallMoleculeEvidenceObject$`comment`)) {
self$`comment` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`comment`, "array[Comment]", loadNamespace("rmzTabM"))
}
},
#' @description Serialize to JSON string.
toJSONString = function() {
jsoncontent <- c(
if (!is.null(self$`prefix`)) {
sprintf(
'"prefix":
"%s"
',
rmzTabM::safe_unbox(self$`prefix`)
)},
if (!is.null(self$`header_prefix`)) {
sprintf(
'"header_prefix":
"%s"
',
rmzTabM::safe_unbox(self$`header_prefix`)
)},
if (!is.null(self$`sme_id`)) {
sprintf(
'"sme_id":
%d
',
rmzTabM::safe_unbox(self$`sme_id`)
)},
if (!is.null(self$`evidence_input_id`)) {
sprintf(
'"evidence_input_id":
"%s"
',
rmzTabM::safe_unbox(self$`evidence_input_id`)
)},
if (!is.null(self$`database_identifier`)) {
sprintf(
'"database_identifier":
"%s"
',
rmzTabM::safe_unbox(self$`database_identifier`)
)},
if (!is.null(self$`chemical_formula`)) {
sprintf(
'"chemical_formula":
"%s"
',
rmzTabM::safe_unbox(self$`chemical_formula`)
)},
if (!is.null(self$`smiles`)) {
sprintf(
'"smiles":
"%s"
',
rmzTabM::safe_unbox(self$`smiles`)
)},
if (!is.null(self$`inchi`)) {
sprintf(
'"inchi":
"%s"
',
rmzTabM::safe_unbox(self$`inchi`)
)},
if (!is.null(self$`chemical_name`)) {
sprintf(
'"chemical_name":
"%s"
',
rmzTabM::safe_unbox(self$`chemical_name`)
)},
if (!is.null(self$`uri`)) {
sprintf(
'"uri":
"%s"
',
rmzTabM::safe_unbox(self$`uri`)
)},
if (!is.null(self$`derivatized_form`)) {
sprintf(
'"derivatized_form":
%s
',
jsonlite::toJSON(self$`derivatized_form`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`adduct_ion`)) {
sprintf(
'"adduct_ion":
"%s"
',
rmzTabM::safe_unbox(self$`adduct_ion`)
)},
if (!is.null(self$`exp_mass_to_charge`)) {
sprintf(
'"exp_mass_to_charge":
%f
',
rmzTabM::safe_unbox(self$`exp_mass_to_charge`)
)},
if (!is.null(self$`charge`)) {
sprintf(
'"charge":
%d
',
rmzTabM::safe_unbox(self$`charge`)
)},
if (!is.null(self$`theoretical_mass_to_charge`)) {
sprintf(
'"theoretical_mass_to_charge":
%f
',
rmzTabM::safe_unbox(self$`theoretical_mass_to_charge`)
)},
if (!is.null(self$`spectra_ref`)) {
sprintf(
'"spectra_ref":
[%s]
',
paste(sapply(self$`spectra_ref`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`identification_method`)) {
sprintf(
'"identification_method":
%s
',
jsonlite::toJSON(self$`identification_method`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`ms_level`)) {
sprintf(
'"ms_level":
%s
',
jsonlite::toJSON(self$`ms_level`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`id_confidence_measure`)) {
sprintf(
'"id_confidence_measure":
[%s]
',
paste(unlist(lapply(self$`id_confidence_measure`, function(x) paste0('"', x, '"'))), collapse=",")
)},
if (!is.null(self$`rank`)) {
sprintf(
'"rank":
%d
',
rmzTabM::safe_unbox(self$`rank`)
)},
if (!is.null(self$`opt`)) {
sprintf(
'"opt":
[%s]
',
paste(sapply(self$`opt`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`comment`)) {
sprintf(
'"comment":
[%s]
',
paste(sapply(self$`comment`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)}
)
jsoncontent <- paste(jsoncontent, collapse = ",")
paste('{', jsoncontent, '}', sep = "")
},
#' @description Deserialize from JSON string
#' @param SmallMoleculeEvidenceJson SmallMoleculeEvidenceJson string
fromJSONString = function(SmallMoleculeEvidenceJson) {
SmallMoleculeEvidenceObject <- jsonlite::fromJSON(SmallMoleculeEvidenceJson)
self$`prefix` <- SmallMoleculeEvidenceObject$`prefix`
self$`header_prefix` <- SmallMoleculeEvidenceObject$`header_prefix`
self$`sme_id` <- SmallMoleculeEvidenceObject$`sme_id`
self$`evidence_input_id` <- SmallMoleculeEvidenceObject$`evidence_input_id`
self$`database_identifier` <- SmallMoleculeEvidenceObject$`database_identifier`
self$`chemical_formula` <- SmallMoleculeEvidenceObject$`chemical_formula`
self$`smiles` <- SmallMoleculeEvidenceObject$`smiles`
self$`inchi` <- SmallMoleculeEvidenceObject$`inchi`
self$`chemical_name` <- SmallMoleculeEvidenceObject$`chemical_name`
self$`uri` <- SmallMoleculeEvidenceObject$`uri`
self$`derivatized_form` <- Parameter$new()$fromJSONString(jsonlite::toJSON(SmallMoleculeEvidenceObject$derivatized_form, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`adduct_ion` <- SmallMoleculeEvidenceObject$`adduct_ion`
self$`exp_mass_to_charge` <- SmallMoleculeEvidenceObject$`exp_mass_to_charge`
self$`charge` <- SmallMoleculeEvidenceObject$`charge`
self$`theoretical_mass_to_charge` <- SmallMoleculeEvidenceObject$`theoretical_mass_to_charge`
self$`spectra_ref` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`spectra_ref`, "array[SpectraRef]", loadNamespace("rmzTabM"))
self$`identification_method` <- Parameter$new()$fromJSONString(jsonlite::toJSON(SmallMoleculeEvidenceObject$identification_method, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`ms_level` <- Parameter$new()$fromJSONString(jsonlite::toJSON(SmallMoleculeEvidenceObject$ms_level, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`id_confidence_measure` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`id_confidence_measure`, "array[numeric]", loadNamespace("rmzTabM"))
self$`rank` <- SmallMoleculeEvidenceObject$`rank`
self$`opt` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`opt`, "array[OptColumnMapping]", loadNamespace("rmzTabM"))
self$`comment` <- ApiClient$new()$deserializeObj(SmallMoleculeEvidenceObject$`comment`, "array[Comment]", loadNamespace("rmzTabM"))
self
},
#' @description Serialize to data frame
toDataFrame = function() {
fixed_header_values <- c(
"SEH"=valueOrDefault(self$`prefix`, nullable = FALSE),
"SME_ID"=valueOrDefault(self$`sme_id`, nullable = FALSE),
"evidence_input_id"=valueOrDefault(self$`evidence_input_id`, nullable = FALSE),
"database_identifier"=valueOrDefault(self$`database_identifier`),
"chemical_formula"=valueOrDefault(self$`chemical_formula`),
"smiles"=valueOrDefault(self$`smiles`),
"inchi"=valueOrDefault(self$`inchi`),
"chemical_name"=valueOrDefault(self$`chemical_name`),
"uri"=valueOrDefault(self$`uri`),
"derivatized_form"=valueOrDefault(self$`derivatized_form`, FUN=function(x){x$toString()}),
"adduct_ion"=valueOrDefault(self$`adduct_ion`),
"exp_mass_to_charge"=valueOrDefault(self$`exp_mass_to_charge`, nullable = FALSE),
"charge"=valueOrDefault(self$`charge`, nullable = FALSE),
"theoretical_mass_to_charge"=valueOrDefault(self$`theoretical_mass_to_charge`, nullable = FALSE),
"spectra_ref"=paste(unlist(lapply(self$`spectra_ref`, function(x) {
valueOrDefault(x, FUN=function(y){y$toString()}, nullable = FALSE)
})), collapse="|"),
"identification_method"=valueOrDefault(self$`identification_method`, FUN=function(x){x$toString()}, nullable = FALSE),
"ms_level"=valueOrDefault(self$`ms_level`, FUN=function(x){x$toString()}, nullable = FALSE)
)
id_confidence_measure <-
unlist(lapply(seq_along(self$`id_confidence_measure`), function(idx, x) {
paste0("id_confidence_measure[", idx, "]")
}, x = self$`id_confidence_measure`))
id_confidence_measure_values <-
unlist(lapply(seq_along(self$`id_confidence_measure`), function(idx, x) {
valueOrDefault(x)
}, x = self$`id_confidence_measure`))
names(id_confidence_measure_values) <- id_confidence_measure
opt <-
unlist(lapply(self$`opt`, function(x) {
x$toString()
}))
opt_values <-
unlist(lapply(self$`opt`, function(x) {
valueOrDefault(x$`value`)
}))
names(opt_values) <- opt
entries <-
as.data.frame(
t(
c(
fixed_header_values,
id_confidence_measure_values,
"rank"=valueOrDefault(self$`rank`, nullable = FALSE),
opt_values
)
)
)
entries
},
#' @description Deserialize from evidence data frame
#' @param EvidenceDataFrame Evidence data frame
fromDataFrame = function(EvidenceDataFrame) {
stopifnot(nrow(EvidenceDataFrame)==1)
columnNames <- colnames(EvidenceDataFrame)
self$`prefix` <- "SME"
self$`header_prefix` <- "SEH"
if (rlang::has_name(EvidenceDataFrame, "sme_id")) {
self$`sme_id` <- as.numeric(EvidenceDataFrame$`sme_id`)
}
if (rlang::has_name(EvidenceDataFrame, "SME_ID")) {
self$`sme_id` <- as.numeric(EvidenceDataFrame$`SME_ID`)
}
if (rlang::has_name(EvidenceDataFrame, "evidence_input_id")) {
self$`evidence_input_id` <- EvidenceDataFrame$`evidence_input_id`
}
if (rlang::has_name(EvidenceDataFrame, "database_identifier")) {
self$`database_identifier` <- EvidenceDataFrame$`database_identifier`
}
if (rlang::has_name(EvidenceDataFrame, "chemical_formula")) {
self$`chemical_formula` <- EvidenceDataFrame$`chemical_formula`
}
if (rlang::has_name(EvidenceDataFrame, "smiles")) {
self$`smiles` <- EvidenceDataFrame$`smiles`
}
if (rlang::has_name(EvidenceDataFrame, "inchi")) {
self$`inchi` <- EvidenceDataFrame$`inchi`
}
if (rlang::has_name(EvidenceDataFrame, "chemical_name")) {
self$`chemical_name` <- EvidenceDataFrame$`chemical_name`
}
if (rlang::has_name(EvidenceDataFrame, "uri")) {
self$`uri` <- EvidenceDataFrame$`uri`
}
if (rlang::has_name(EvidenceDataFrame, "derivatized_form")) {
param <- Parameter$new()
self$`derivatized_form` <- param$fromString(NULL, EvidenceDataFrame$`derivatized_form`)
}
if (rlang::has_name(EvidenceDataFrame, "adduct_ion")) {
self$`adduct_ion` <- EvidenceDataFrame$`adduct_ion`
}
if (rlang::has_name(EvidenceDataFrame, "exp_mass_to_charge")) {
self$`exp_mass_to_charge` <- as.numeric(EvidenceDataFrame$`exp_mass_to_charge`)
}
if (rlang::has_name(EvidenceDataFrame, "charge")) {
self$`charge` <- as.numeric(EvidenceDataFrame$`charge`)
}
if (rlang::has_name(EvidenceDataFrame, "theoretical_mass_to_charge")) {
self$`theoretical_mass_to_charge` <- as.numeric(EvidenceDataFrame$`theoretical_mass_to_charge`)
}
if (rlang::has_name(EvidenceDataFrame, "spectra_ref")) {
refList <- splitList(EvidenceDataFrame$`spectra_ref`)
self$`spectra_ref` <- lapply(refList, function(x) {
sr <- SpectraRef$new()
sr$fromString(x)
})
}
if (rlang::has_name(EvidenceDataFrame, "identification_method")) {
param <- Parameter$new()
self$`identification_method` <- param$fromString(NULL, EvidenceDataFrame$`identification_method`)
}
if (rlang::has_name(EvidenceDataFrame, "ms_level")) {
param <- Parameter$new()
self$`ms_level` <- param$fromString(NULL, EvidenceDataFrame$`ms_level`)
}
id_confidence_measure_df <- EvidenceDataFrame %>% dplyr::select(dplyr::starts_with("id_confidence_measure"))
if (!is.null(dim(id_confidence_measure_df)) && dim(id_confidence_measure_df)[1] > 0) {
self$`id_confidence_measure` <- unlist(lapply(id_confidence_measure_df, function(x) {
as.numeric(x)
}))
}
if (rlang::has_name(EvidenceDataFrame, "rank")) {
self$`rank` <- as.numeric(EvidenceDataFrame$`rank`)
}
# TODO opt handling
# self$`opt` <- ApiClient$new()$deserializeObj(SmallMoleculeFeatureObject$`opt`, "array[OptColumnMapping]", loadNamespace("rmzTabM"))
opt_cols <- EvidenceDataFrame %>% dplyr::select(dplyr::starts_with("opt_"))
if (!is.null(dim(opt_cols)) && dim(opt_cols)[1] > 0) {
warning("Handling of Optional columns not yet implemented")
}
if (rlang::has_name(EvidenceDataFrame, "comment")) {
comment <- Comment$new()
self$`comment` <- comment$fromDataFrame(EvidenceDataFrame$`comment`)
}
self
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.