# 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 Metadata
#' @description Metadata Class
#' @format An \code{R6Class} generator object
#' @field prefix character
#'
#' @field mzTab-version character
#'
#' @field mzTab-ID character
#'
#' @field title character [optional]
#'
#' @field description character [optional]
#'
#' @field sample_processing list( \link{SampleProcessing} ) [optional]
#'
#' @field instrument list( \link{Instrument} ) [optional]
#'
#' @field software list( \link{Software} )
#'
#' @field publication list( \link{Publication} ) [optional]
#'
#' @field contact list( \link{Contact} ) [optional]
#'
#' @field uri list( \link{Uri} ) [optional]
#'
#' @field external_study_uri list( \link{Uri} ) [optional]
#'
#' @field quantification_method \link{Parameter}
#'
#' @field study_variable list( \link{StudyVariable} )
#'
#' @field ms_run list( \link{MsRun} )
#'
#' @field assay list( \link{Assay} )
#'
#' @field sample list( \link{Sample} ) [optional]
#'
#' @field custom list( \link{Parameter} ) [optional]
#'
#' @field cv list( \link{CV} )
#'
#' @field database list( \link{Database} )
#'
#' @field derivatization_agent list( \link{Parameter} ) [optional]
#'
#' @field small_molecule-quantification_unit \link{Parameter}
#'
#' @field small_molecule_feature-quantification_unit \link{Parameter}
#'
#' @field small_molecule-identification_reliability \link{Parameter} [optional]
#'
#' @field id_confidence_measure list( \link{Parameter} )
#'
#' @field colunit-small_molecule list( \link{ColumnParameterMapping} ) [optional]
#'
#' @field colunit-small_molecule_feature list( \link{ColumnParameterMapping} ) [optional]
#'
#' @field colunit-small_molecule_evidence list( \link{ColumnParameterMapping} ) [optional]
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Metadata <- R6::R6Class(
'Metadata',
public = list(
`prefix` = NULL,
`mzTab-version` = NULL,
`mzTab-ID` = NULL,
`title` = NULL,
`description` = NULL,
`sample_processing` = NULL,
`instrument` = NULL,
`software` = NULL,
`publication` = NULL,
`contact` = NULL,
`uri` = NULL,
`external_study_uri` = NULL,
`quantification_method` = NULL,
`study_variable` = NULL,
`ms_run` = NULL,
`assay` = NULL,
`sample` = NULL,
`custom` = NULL,
`cv` = NULL,
`database` = NULL,
`derivatization_agent` = NULL,
`small_molecule-quantification_unit` = NULL,
`small_molecule_feature-quantification_unit` = NULL,
`small_molecule-identification_reliability` = NULL,
`id_confidence_measure` = NULL,
`colunit-small_molecule` = NULL,
`colunit-small_molecule_feature` = NULL,
`colunit-small_molecule_evidence` = NULL,
#' @description Create Metadata
#' @param prefix 'MTD'.
#' @param mzTab-version The version e.g. '2.0.0-M'.
#' @param mzTab-ID MzTab file id.
#' @param software Software used to generate the results and the file list( \link{Software} ).
#' @param quantification_method Quantification method \link{Parameter}.
#' @param title The title of the MzTab file.
#' @param description The description.
#' @param sample_processing List of sample processing steps list( \link{SampleProcessing} ).
#' @param instrument Instruments used to acquire MsRuns list( \link{Instrument} ).
#' @param publication Publications linked to this data list( \link{Publication} ).
#' @param contact Contacts / creators of this file list( \link{Contact} ).
#' @param uri External URIs relevant to this file list( \link{Uri} ).
#' @param external_study_uri Where to find this study externall list( \link{Uri} ).
#' @param study_variable Study variables list( \link{StudyVariable} ).
#' @param ms_run MsRuns of this study list( \link{MsRun} ).
#' @param assay Assays linking \link{Sample}s and \link{MsRun}s list( \link{Assay} ).
#' @param sample Samples of this study list( \link{Sample} ).
#' @param custom Custom definitions for this study list( \link{Parameter} ).
#' @param cv Controlled vocabularies list( \link{CV} ).
#' @param database Databases used for identification or matching list( \link{Database} ).
#' @param derivatization_agent Derivatization agents used list( \link{Parameter} ).
#' @param small_molecule-quantification_unit Quantification unit for small molecule summary abundances \link{Parameter}.
#' @param small_molecule_feature-quantification_unit Quantification unit for small molecule feature abundances \link{Parameter}.
#' @param small_molecule-identification_reliability Identification reliability rule set \link{Parameter}.
#' @param id_confidence_measure Identification confidence rule set ( \link{Parameter} ).
#' @param colunit-small_molecule Additional \link{SmallMoleculeSummary} column units list( \link{ColumnParameterMapping} ).
#' @param colunit-small_molecule_feature Additional \link{SmallMoleculeFeature} column units list( \link{ColumnParameterMapping} ).
#' @param colunit-small_molecule_evidence Additional \link{SmallMoleculeEvidence} column units list( \link{ColumnParameterMapping} ).
#' @param ... local optional variable arguments
initialize = function(`prefix`, `mzTab-version`, `mzTab-ID`, `software`, `quantification_method`, `study_variable`, `ms_run`, `assay`, `cv`, `database`, `small_molecule-quantification_unit`, `small_molecule_feature-quantification_unit`, `id_confidence_measure`, `title`=NULL, `description`=NULL, `sample_processing`=NULL, `instrument`=NULL, `publication`=NULL, `contact`=NULL, `uri`=NULL, `external_study_uri`=NULL, `sample`=NULL, `custom`=NULL, `derivatization_agent`=NULL, `small_molecule-identification_reliability`=NULL, `colunit-small_molecule`=NULL, `colunit-small_molecule_feature`=NULL, `colunit-small_molecule_evidence`=NULL, ...){
local.optional.var <- list(...)
if (!missing(`prefix`)) {
stopifnot(is.character(`prefix`), length(`prefix`) == 1)
self$`prefix` <- `prefix`
}
if (!missing(`mzTab-version`)) {
stopifnot(is.character(`mzTab-version`), length(`mzTab-version`) == 1)
self$`mzTab-version` <- `mzTab-version`
}
if (!missing(`mzTab-ID`)) {
stopifnot(is.character(`mzTab-ID`), length(`mzTab-ID`) == 1)
self$`mzTab-ID` <- `mzTab-ID`
}
if (!missing(`software`)) {
stopifnot(is.vector(`software`), length(`software`) != 0)
sapply(`software`, function(x) stopifnot(R6::is.R6(x)))
self$`software` <- `software`
}
if (!missing(`quantification_method`)) {
stopifnot(R6::is.R6(`quantification_method`))
self$`quantification_method` <- `quantification_method`
}
if (!missing(`study_variable`)) {
stopifnot(is.vector(`study_variable`), length(`study_variable`) != 0)
sapply(`study_variable`, function(x) stopifnot(R6::is.R6(x)))
self$`study_variable` <- `study_variable`
}
if (!missing(`ms_run`)) {
stopifnot(is.vector(`ms_run`), length(`ms_run`) != 0)
sapply(`ms_run`, function(x) stopifnot(R6::is.R6(x)))
self$`ms_run` <- `ms_run`
}
if (!missing(`assay`)) {
stopifnot(is.vector(`assay`), length(`assay`) != 0)
sapply(`assay`, function(x) stopifnot(R6::is.R6(x)))
self$`assay` <- `assay`
}
if (!missing(`cv`)) {
stopifnot(is.vector(`cv`), length(`cv`) != 0)
sapply(`cv`, function(x) stopifnot(R6::is.R6(x)))
self$`cv` <- `cv`
}
if (!missing(`database`)) {
stopifnot(is.vector(`database`), length(`database`) != 0)
sapply(`database`, function(x) stopifnot(R6::is.R6(x)))
self$`database` <- `database`
}
if (!missing(`small_molecule-quantification_unit`)) {
stopifnot(R6::is.R6(`small_molecule-quantification_unit`))
self$`small_molecule-quantification_unit` <- `small_molecule-quantification_unit`
}
if (!missing(`small_molecule_feature-quantification_unit`)) {
stopifnot(R6::is.R6(`small_molecule_feature-quantification_unit`))
self$`small_molecule_feature-quantification_unit` <- `small_molecule_feature-quantification_unit`
}
if (!missing(`id_confidence_measure`)) {
stopifnot(is.vector(`id_confidence_measure`), length(`id_confidence_measure`) != 0)
sapply(`id_confidence_measure`, function(x) stopifnot(R6::is.R6(x)))
self$`id_confidence_measure` <- `id_confidence_measure`
}
if (!is.null(`title`)) {
stopifnot(is.character(`title`), length(`title`) == 1)
self$`title` <- `title`
}
if (!is.null(`description`)) {
stopifnot(is.character(`description`), length(`description`) == 1)
self$`description` <- `description`
}
if (!is.null(`sample_processing`)) {
stopifnot(is.vector(`sample_processing`), length(`sample_processing`) != 0)
sapply(`sample_processing`, function(x) stopifnot(R6::is.R6(x)))
self$`sample_processing` <- `sample_processing`
}
if (!is.null(`instrument`)) {
stopifnot(is.vector(`instrument`), length(`instrument`) != 0)
sapply(`instrument`, function(x) stopifnot(R6::is.R6(x)))
self$`instrument` <- `instrument`
}
if (!is.null(`publication`)) {
stopifnot(is.vector(`publication`), length(`publication`) != 0)
sapply(`publication`, function(x) stopifnot(R6::is.R6(x)))
self$`publication` <- `publication`
}
if (!is.null(`contact`)) {
stopifnot(is.vector(`contact`), length(`contact`) != 0)
sapply(`contact`, function(x) stopifnot(R6::is.R6(x)))
self$`contact` <- `contact`
}
if (!is.null(`uri`)) {
stopifnot(is.vector(`uri`), length(`uri`) != 0)
sapply(`uri`, function(x) stopifnot(R6::is.R6(x)))
self$`uri` <- `uri`
}
if (!is.null(`external_study_uri`)) {
stopifnot(is.vector(`external_study_uri`), length(`external_study_uri`) != 0)
sapply(`external_study_uri`, function(x) stopifnot(R6::is.R6(x)))
self$`external_study_uri` <- `external_study_uri`
}
if (!is.null(`sample`)) {
stopifnot(is.vector(`sample`), length(`sample`) != 0)
sapply(`sample`, function(x) stopifnot(R6::is.R6(x)))
self$`sample` <- `sample`
}
if (!is.null(`custom`)) {
stopifnot(is.vector(`custom`), length(`custom`) != 0)
sapply(`custom`, function(x) stopifnot(R6::is.R6(x)))
self$`custom` <- `custom`
}
if (!is.null(`derivatization_agent`)) {
stopifnot(is.vector(`derivatization_agent`), length(`derivatization_agent`) != 0)
sapply(`derivatization_agent`, function(x) stopifnot(R6::is.R6(x)))
self$`derivatization_agent` <- `derivatization_agent`
}
if (!is.null(`small_molecule-identification_reliability`)) {
stopifnot(R6::is.R6(`small_molecule-identification_reliability`))
self$`small_molecule-identification_reliability` <- `small_molecule-identification_reliability`
}
if (!is.null(`colunit-small_molecule`)) {
stopifnot(is.vector(`colunit-small_molecule`), length(`colunit-small_molecule`) != 0)
sapply(`colunit-small_molecule`, function(x) stopifnot(R6::is.R6(x)))
self$`colunit-small_molecule` <- `colunit-small_molecule`
}
if (!is.null(`colunit-small_molecule_feature`)) {
stopifnot(is.vector(`colunit-small_molecule_feature`), length(`colunit-small_molecule_feature`) != 0)
sapply(`colunit-small_molecule_feature`, function(x) stopifnot(R6::is.R6(x)))
self$`colunit-small_molecule_feature` <- `colunit-small_molecule_feature`
}
if (!is.null(`colunit-small_molecule_evidence`)) {
stopifnot(is.vector(`colunit-small_molecule_evidence`), length(`colunit-small_molecule_evidence`) != 0)
sapply(`colunit-small_molecule_evidence`, function(x) stopifnot(R6::is.R6(x)))
self$`colunit-small_molecule_evidence` <- `colunit-small_molecule_evidence`
}
},
#' @description Serialize to list object suitable for jsonlite
toJSON = function() {
MetadataObject <- list()
if (!is.null(self$`prefix`)) {
MetadataObject[['prefix']] <-
rmzTabM::safe_unbox(self$`prefix`)
}
if (!is.null(self$`mzTab-version`)) {
MetadataObject[['mzTab-version']] <-
rmzTabM::safe_unbox(self$`mzTab-version`)
}
if (!is.null(self$`mzTab-ID`)) {
MetadataObject[['mzTab-ID']] <-
rmzTabM::safe_unbox(self$`mzTab-ID`)
}
if (!is.null(self$`title`)) {
MetadataObject[['title']] <-
rmzTabM::safe_unbox(self$`title`)
}
if (!is.null(self$`description`)) {
MetadataObject[['description']] <-
rmzTabM::safe_unbox(self$`description`)
}
if (!is.null(self$`sample_processing`)) {
MetadataObject[['sample_processing']] <-
lapply(self$`sample_processing`, function(x) x$toJSON())
}
if (!is.null(self$`instrument`)) {
MetadataObject[['instrument']] <-
lapply(self$`instrument`, function(x) x$toJSON())
}
if (!is.null(self$`software`)) {
MetadataObject[['software']] <-
lapply(self$`software`, function(x) x$toJSON())
}
if (!is.null(self$`publication`)) {
MetadataObject[['publication']] <-
lapply(self$`publication`, function(x) x$toJSON())
}
if (!is.null(self$`contact`)) {
MetadataObject[['contact']] <-
lapply(self$`contact`, function(x) x$toJSON())
}
if (!is.null(self$`uri`)) {
MetadataObject[['uri']] <-
lapply(self$`uri`, function(x) x$toJSON())
}
if (!is.null(self$`external_study_uri`)) {
MetadataObject[['external_study_uri']] <-
lapply(self$`external_study_uri`, function(x) x$toJSON())
}
if (!is.null(self$`quantification_method`)) {
MetadataObject[['quantification_method']] <-
self$`quantification_method`$toJSON()
}
if (!is.null(self$`study_variable`)) {
MetadataObject[['study_variable']] <-
lapply(self$`study_variable`, function(x) x$toJSON())
}
if (!is.null(self$`ms_run`)) {
MetadataObject[['ms_run']] <-
lapply(self$`ms_run`, function(x) x$toJSON())
}
if (!is.null(self$`assay`)) {
MetadataObject[['assay']] <-
lapply(self$`assay`, function(x) x$toJSON())
}
if (!is.null(self$`sample`)) {
MetadataObject[['sample']] <-
lapply(self$`sample`, function(x) x$toJSON())
}
if (!is.null(self$`custom`)) {
MetadataObject[['custom']] <-
lapply(self$`custom`, function(x) x$toJSON())
}
if (!is.null(self$`cv`)) {
MetadataObject[['cv']] <-
lapply(self$`cv`, function(x) x$toJSON())
}
if (!is.null(self$`database`)) {
MetadataObject[['database']] <-
lapply(self$`database`, function(x) x$toJSON())
}
if (!is.null(self$`derivatization_agent`)) {
MetadataObject[['derivatization_agent']] <-
lapply(self$`derivatization_agent`, function(x) x$toJSON())
}
if (!is.null(self$`small_molecule-quantification_unit`)) {
MetadataObject[['small_molecule-quantification_unit']] <-
self$`small_molecule-quantification_unit`$toJSON()
}
if (!is.null(self$`small_molecule_feature-quantification_unit`)) {
MetadataObject[['small_molecule_feature-quantification_unit']] <-
self$`small_molecule_feature-quantification_unit`$toJSON()
}
if (!is.null(self$`small_molecule-identification_reliability`)) {
MetadataObject[['small_molecule-identification_reliability']] <-
self$`small_molecule-identification_reliability`$toJSON()
}
if (!is.null(self$`id_confidence_measure`)) {
MetadataObject[['id_confidence_measure']] <-
lapply(self$`id_confidence_measure`, function(x) x$toJSON())
}
if (!is.null(self$`colunit-small_molecule`)) {
MetadataObject[['colunit-small_molecule']] <-
lapply(self$`colunit-small_molecule`, function(x) x$toJSON())
}
if (!is.null(self$`colunit-small_molecule_feature`)) {
MetadataObject[['colunit-small_molecule_feature']] <-
lapply(self$`colunit-small_molecule_feature`, function(x) x$toJSON())
}
if (!is.null(self$`colunit-small_molecule_evidence`)) {
MetadataObject[['colunit-small_molecule_evidence']] <-
lapply(self$`colunit-small_molecule_evidence`, function(x) x$toJSON())
}
MetadataObject
},
#' @description Deserialize from jsonlite list object
#' @param MetadataJson list object.
fromJSON = function(MetadataJson) {
MetadataObject <- jsonlite::fromJSON(MetadataJson)
if (!is.null(MetadataObject$`prefix`)) {
self$`prefix` <- MetadataObject$`prefix`
}
if (!is.null(MetadataObject$`mzTab-version`)) {
self$`mzTab-version` <- MetadataObject$`mzTab-version`
}
if (!is.null(MetadataObject$`mzTab-ID`)) {
self$`mzTab-ID` <- MetadataObject$`mzTab-ID`
}
if (!is.null(MetadataObject$`title`)) {
self$`title` <- MetadataObject$`title`
}
if (!is.null(MetadataObject$`description`)) {
self$`description` <- MetadataObject$`description`
}
if (!is.null(MetadataObject$`sample_processing`)) {
self$`sample_processing` <- ApiClient$new()$deserializeObj(MetadataObject$`sample_processing`, "array[SampleProcessing]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`instrument`)) {
self$`instrument` <- ApiClient$new()$deserializeObj(MetadataObject$`instrument`, "array[Instrument]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`software`)) {
self$`software` <- ApiClient$new()$deserializeObj(MetadataObject$`software`, "array[Software]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`publication`)) {
self$`publication` <- ApiClient$new()$deserializeObj(MetadataObject$`publication`, "array[Publication]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`contact`)) {
self$`contact` <- ApiClient$new()$deserializeObj(MetadataObject$`contact`, "array[Contact]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`uri`)) {
self$`uri` <- ApiClient$new()$deserializeObj(MetadataObject$`uri`, "array[Uri]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`external_study_uri`)) {
self$`external_study_uri` <- ApiClient$new()$deserializeObj(MetadataObject$`external_study_uri`, "array[Uri]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`quantification_method`)) {
`quantification_methodObject` <- Parameter$new()
`quantification_methodObject`$fromJSON(jsonlite::toJSON(MetadataObject$`quantification_method`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`quantification_method` <- quantification_methodObject
}
if (!is.null(MetadataObject$`study_variable`)) {
self$`study_variable` <- ApiClient$new()$deserializeObj(MetadataObject$`study_variable`, "array[StudyVariable]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`ms_run`)) {
self$`ms_run` <- ApiClient$new()$deserializeObj(MetadataObject$`ms_run`, "array[MsRun]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`assay`)) {
self$`assay` <- ApiClient$new()$deserializeObj(MetadataObject$`assay`, "array[Assay]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`sample`)) {
self$`sample` <- ApiClient$new()$deserializeObj(MetadataObject$`sample`, "array[Sample]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`custom`)) {
self$`custom` <- ApiClient$new()$deserializeObj(MetadataObject$`custom`, "array[Parameter]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`cv`)) {
self$`cv` <- ApiClient$new()$deserializeObj(MetadataObject$`cv`, "array[CV]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`database`)) {
self$`database` <- ApiClient$new()$deserializeObj(MetadataObject$`database`, "array[Database]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`derivatization_agent`)) {
self$`derivatization_agent` <- ApiClient$new()$deserializeObj(MetadataObject$`derivatization_agent`, "array[Parameter]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`small_molecule-quantification_unit`)) {
`small_molecule-quantification_unitObject` <- Parameter$new()
`small_molecule-quantification_unitObject`$fromJSON(jsonlite::toJSON(MetadataObject$`small_molecule-quantification_unit`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`small_molecule-quantification_unit` <- `small_molecule-quantification_unitObject`
}
if (!is.null(MetadataObject$`small_molecule_feature-quantification_unit`)) {
`small_molecule_feature-quantification_unitObject` <- Parameter$new()
`small_molecule_feature-quantification_unitObject`$fromJSON(jsonlite::toJSON(MetadataObject$`small_molecule_feature-quantification_unit`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`small_molecule_feature-quantification_unit` <- `small_molecule_feature-quantification_unitObject`
}
if (!is.null(MetadataObject$`small_molecule-identification_reliability`)) {
`small_molecule-identification_reliabilityObject` <- Parameter$new()
`small_molecule-identification_reliabilityObject`$fromJSON(jsonlite::toJSON(MetadataObject$`small_molecule-identification_reliability`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`small_molecule-identification_reliability` <- `small_molecule-identification_reliabilityObject`
}
if (!is.null(MetadataObject$`id_confidence_measure`)) {
self$`id_confidence_measure` <- ApiClient$new()$deserializeObj(MetadataObject$`id_confidence_measure`, "array[Parameter]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`colunit-small_molecule`)) {
self$`colunit-small_molecule` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule`, "array[ColumnParameterMapping]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`colunit-small_molecule_feature`)) {
self$`colunit-small_molecule_feature` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule_feature`, "array[ColumnParameterMapping]", loadNamespace("rmzTabM"))
}
if (!is.null(MetadataObject$`colunit-small_molecule_evidence`)) {
self$`colunit-small_molecule_evidence` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule_evidence`, "array[ColumnParameterMapping]", 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$`mzTab-version`)) {
sprintf(
'"mzTab-version":
"%s"
',
rmzTabM::safe_unbox(self$`mzTab-version`)
)},
if (!is.null(self$`mzTab-ID`)) {
sprintf(
'"mzTab-ID":
"%s"
',
rmzTabM::safe_unbox(self$`mzTab-ID`)
)},
if (!is.null(self$`title`)) {
sprintf(
'"title":
"%s"
',
rmzTabM::safe_unbox(self$`title`)
)},
if (!is.null(self$`description`)) {
sprintf(
'"description":
"%s"
',
rmzTabM::safe_unbox(self$`description`)
)},
if (!is.null(self$`sample_processing`)) {
sprintf(
'"sample_processing":
[%s]
',
paste(sapply(self$`sample_processing`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`instrument`)) {
sprintf(
'"instrument":
[%s]
',
paste(sapply(self$`instrument`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`software`)) {
sprintf(
'"software":
[%s]
',
paste(sapply(self$`software`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`publication`)) {
sprintf(
'"publication":
[%s]
',
paste(sapply(self$`publication`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`contact`)) {
sprintf(
'"contact":
[%s]
',
paste(sapply(self$`contact`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`uri`)) {
sprintf(
'"uri":
[%s]
',
paste(sapply(self$`uri`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`external_study_uri`)) {
sprintf(
'"external_study_uri":
[%s]
',
paste(sapply(self$`external_study_uri`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`quantification_method`)) {
sprintf(
'"quantification_method":
%s
',
jsonlite::toJSON(self$`quantification_method`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`study_variable`)) {
sprintf(
'"study_variable":
[%s]
',
paste(sapply(self$`study_variable`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`ms_run`)) {
sprintf(
'"ms_run":
[%s]
',
paste(sapply(self$`ms_run`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`assay`)) {
sprintf(
'"assay":
[%s]
',
paste(sapply(self$`assay`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`sample`)) {
sprintf(
'"sample":
[%s]
',
paste(sapply(self$`sample`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`custom`)) {
sprintf(
'"custom":
[%s]
',
paste(sapply(self$`custom`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`cv`)) {
sprintf(
'"cv":
[%s]
',
paste(sapply(self$`cv`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`database`)) {
sprintf(
'"database":
[%s]
',
paste(sapply(self$`database`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`derivatization_agent`)) {
sprintf(
'"derivatization_agent":
[%s]
',
paste(sapply(self$`derivatization_agent`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`small_molecule-quantification_unit`)) {
sprintf(
'"small_molecule-quantification_unit":
%s
',
jsonlite::toJSON(self$`small_molecule-quantification_unit`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`small_molecule_feature-quantification_unit`)) {
sprintf(
'"small_molecule_feature-quantification_unit":
%s
',
jsonlite::toJSON(self$`small_molecule_feature-quantification_unit`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`small_molecule-identification_reliability`)) {
sprintf(
'"small_molecule-identification_reliability":
%s
',
jsonlite::toJSON(self$`small_molecule-identification_reliability`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`id_confidence_measure`)) {
sprintf(
'"id_confidence_measure":
%s
',
paste(sapply(self$`id_confidence_measure`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`colunit-small_molecule`)) {
sprintf(
'"colunit-small_molecule":
%s
',
paste(sapply(self$`colunit-small_molecule`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`colunit-small_molecule_feature`)) {
sprintf(
'"colunit-small_molecule_feature":
%s
',
paste(sapply(self$`colunit-small_molecule_feature`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)), collapse=",")
)},
if (!is.null(self$`colunit-small_molecule_evidence`)) {
sprintf(
'"colunit-small_molecule_evidence":
%s
',
paste(sapply(self$`colunit-small_molecule_evidence`, 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 MetadataJson JSON string
fromJSONString = function(MetadataJson) {
MetadataObject <- jsonlite::fromJSON(MetadataJson)
self$`prefix` <- MetadataObject$`prefix`
self$`mzTab-version` <- MetadataObject$`mzTab-version`
self$`mzTab-ID` <- MetadataObject$`mzTab-ID`
self$`title` <- MetadataObject$`title`
self$`description` <- MetadataObject$`description`
self$`sample_processing` <- ApiClient$new()$deserializeObj(MetadataObject$`sample_processing`, "array[SampleProcessing]", loadNamespace("rmzTabM"))
self$`instrument` <- ApiClient$new()$deserializeObj(MetadataObject$`instrument`, "array[Instrument]", loadNamespace("rmzTabM"))
self$`software` <- ApiClient$new()$deserializeObj(MetadataObject$`software`, "array[Software]", loadNamespace("rmzTabM"))
self$`publication` <- ApiClient$new()$deserializeObj(MetadataObject$`publication`, "array[Publication]", loadNamespace("rmzTabM"))
self$`contact` <- ApiClient$new()$deserializeObj(MetadataObject$`contact`, "array[Contact]", loadNamespace("rmzTabM"))
self$`uri` <- ApiClient$new()$deserializeObj(MetadataObject$`uri`, "array[Uri]", loadNamespace("rmzTabM"))
self$`external_study_uri` <- ApiClient$new()$deserializeObj(MetadataObject$`external_study_uri`, "array[Uri]", loadNamespace("rmzTabM"))
self$`quantification_method` <- Parameter$new()$fromJSONString(jsonlite::toJSON(MetadataObject$`quantification_method`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`study_variable` <- ApiClient$new()$deserializeObj(MetadataObject$`study_variable`, "array[StudyVariable]", loadNamespace("rmzTabM"))
self$`ms_run` <- ApiClient$new()$deserializeObj(MetadataObject$`ms_run`, "array[MsRun]", loadNamespace("rmzTabM"))
self$`assay` <- ApiClient$new()$deserializeObj(MetadataObject$`assay`, "array[Assay]", loadNamespace("rmzTabM"))
self$`sample` <- ApiClient$new()$deserializeObj(MetadataObject$`sample`, "array[Sample]", loadNamespace("rmzTabM"))
self$`custom` <- ApiClient$new()$deserializeObj(MetadataObject$`custom`, "array[Parameter]", loadNamespace("rmzTabM"))
self$`cv` <- ApiClient$new()$deserializeObj(MetadataObject$`cv`, "array[CV]", loadNamespace("rmzTabM"))
self$`database` <- ApiClient$new()$deserializeObj(MetadataObject$`database`, "array[Database]", loadNamespace("rmzTabM"))
self$`derivatization_agent` <- ApiClient$new()$deserializeObj(MetadataObject$`derivatization_agent`, "array[Parameter]", loadNamespace("rmzTabM"))
self$`small_molecule-quantification_unit` <- Parameter$new()$fromJSONString(jsonlite::toJSON(MetadataObject$`small_molecule-quantification_unit`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`small_molecule_feature-quantification_unit` <- Parameter$new()$fromJSONString(jsonlite::toJSON(MetadataObject$`small_molecule_feature-quantification_unit`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`small_molecule-identification_reliability` <- Parameter$new()$fromJSONString(jsonlite::toJSON(MetadataObject$`small_molecule-identification_reliability`, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`id_confidence_measure` <- ApiClient$new()$deserializeObj(MetadataObject$`id_confidence_measure`, "array[Parameter]", loadNamespace("rmzTabM"))
self$`colunit-small_molecule` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule`, "array[ColumnParameterMapping]", loadNamespace("rmzTabM"))
self$`colunit-small_molecule_feature` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule_feature`, "array[ColumnParameterMapping]", loadNamespace("rmzTabM"))
self$`colunit-small_molecule_evidence` <- ApiClient$new()$deserializeObj(MetadataObject$`colunit-small_molecule_evidence`, "array[ColumnParameterMapping]", loadNamespace("rmzTabM"))
self
},
#' @description Serialize to data frame
toDataFrame = function() {
elements <- data.frame(PREFIX=character(), KEY=character(), VALUE=character())
if(!is.null(self$`mzTab-version`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "mzTab-version",
VALUE = self$`mzTab-version`
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`mzTab-ID`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "mzTab-ID",
VALUE = self$`mzTab-ID`
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`title`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "title",
VALUE = self$`title`
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`description`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "description",
VALUE = self$`description`
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`contact`)) {
elements <-
rbind(elements,
lapply(self$`contact`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`publication`)) {
elements <-
rbind(elements,
lapply(self$`publication`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`uri`)) {
elements <-
rbind(elements,
lapply(self$`uri`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`external_study_uri`)) {
elements <-
rbind(elements,
lapply(self$`uri`, function(x){
x$toDataFrame(type="external_study_uri")
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`instrument`)) {
elements <-
rbind(elements,
lapply(self$`instrument`, function(x){x$toDataFrame()}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`quantification_method`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "quantification_method",
VALUE = self$`quantification_method`$toString()
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`sample`)) {
elements <-
rbind(elements,
lapply(self$`sample`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`sample_processing`)) {
elements <-
rbind(elements,
lapply(self$`sample_processing`, function(x){x$toDataFrame()}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`software`)) {
elements <-
rbind(elements,
lapply(self$`software`, function(x){x$toDataFrame()}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`derivatization_agent`)) {
elements <-
rbind(elements,
lapply(seq_along(self$`derivatization_agent`), function(idx, elements) {
list(PREFIX = "MTD", KEY=paste0("derivatization_agent[", idx, "]"), VALUE=elements[[idx]]$toString())
}, elements=self$`derivatization_agent`) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`ms_run`)) {
elements <-
rbind(elements,
lapply(self$`ms_run`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`assay`)) {
elements <-
rbind(elements,
lapply(self$`assay`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`study_variable`)) {
elements <-
rbind(elements,
lapply(self$`study_variable`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`custom`)) {
elements <-
rbind(elements,
lapply(seq_along(self$`custom`), function(idx, elements) {
list(PREFIX = "MTD", KEY=paste0("custom[", idx, "]"), VALUE=elements[[idx]]$toString())
}, elements=self$`custom`) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`cv`)) {
elements <-
rbind(elements,
lapply(self$`cv`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`small_molecule-quantification_unit`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "small_molecule-quantification_unit",
VALUE = self$`small_molecule-quantification_unit`$toString()
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`small_molecule_feature-quantification_unit`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "small_molecule_feature-quantification_unit",
VALUE = self$`small_molecule_feature-quantification_unit`$toString()
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`small_molecule-identification_reliability`)) {
elements <-
rbind(elements,
list(
PREFIX = "MTD",
KEY = "small_molecule-identification_reliability",
VALUE = self$`small_molecule-identification_reliability`$toString()
),
stringsAsFactors = FALSE)
}
if(!is.null(self$`database`)) {
elements <-
rbind(elements,
lapply(self$`database`, function(x){
x$toDataFrame()
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`id_confidence_measure`)) {
elements <-
rbind(elements,
lapply(seq_along(self$`id_confidence_measure`), function(idx, elements) {
list(PREFIX = "MTD", KEY=paste0("id_confidence_measure[", idx, "]"), VALUE=elements[[idx]]$toString())
}, elements=self$`id_confidence_measure`) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`colunit-small_molecule`)) {
elements <-
rbind(elements,
lapply(self$`colunit-small_molecule`, function(colunit) {
colunit$toDataFrame(type = "small_molecule")
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`colunit-small_molecule_feature`)) {
elements <-
rbind(elements,
lapply(self$`colunit-small_molecule_feature`, function(colunit) {
colunit$toDataFrame(type = "small_molecule_feature")
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
if(!is.null(self$`colunit-small_molecule_evidence`)) {
elements <-
rbind(elements,
lapply(self$`colunit-small_molecule_evidence`, function(colunit) {
colunit$toDataFrame(type = "small_molecule_evidence")
}) %>% dplyr::bind_rows(),
stringsAsFactors = FALSE)
}
elements
},
#' @description Deserialize from metadata data frame
#' @param MetadataDataFrame Metadata data frame
fromDataFrame = function(MetadataDataFrame) {
self <- Metadata$new()
self$`prefix` <- "MTD"
self$`mzTab-version` <-
asCharacter(extractPart(MetadataDataFrame, "V2", "mzTab-version"),
1,
"V3")
self$`mzTab-ID` <-
asCharacter(extractPart(MetadataDataFrame, "V2", "mzTab-ID"), 1, "V3")
self$`title` <-
asCharacter(extractPart(MetadataDataFrame, "V2", "title"), 1, "V3")
self$`description` <-
asCharacter(extractPart(MetadataDataFrame, "V2", "description"), 1, "V3")
self$`sample_processing` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "sample_processing"),
function(x) {
sampleProcessing <- SampleProcessing$new()
return(sampleProcessing$fromDataFrame(x))
}))
self$`instrument` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "instrument"),
function(x) {
instrument <- Instrument$new()
return(instrument$fromDataFrame(x))
}))
self$`software` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "software"),
function(x) {
software <- Software$new()
return(software$fromDataFrame(x))
}))
self$`publication` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "publication"),
function(x) {
publication <- Publication$new()
return(publication$fromDataFrame(x))
}))
self$`contact` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "contact"),
function(x) {
contact <- Contact$new()
return(contact$fromDataFrame(x))
}))
self$`uri` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "uri"),
function(x) {
uri <- Uri$new()
return(uri$fromDataFrame(x))
}))
self$`external_study_uri` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "external_study_uri"),
function(x) {
uri <- Uri$new()
return(uri$fromDataFrame(x))
}))
self$`quantification_method` <-
extractParameter(MetadataDataFrame, "V2", "quantification_method")
self$`study_variable` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "study_variable"),
function(x) {
studyVariable <- StudyVariable$new()
return(studyVariable$fromDataFrame(x))
}))
self$`ms_run` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "ms_run"),
function(x) {
msRun <- MsRun$new()
return(msRun$fromDataFrame(x))
}))
self$`assay` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "assay"),
function(x) {
assay <- Assay$new()
return(assay$fromDataFrame(x))
}))
self$`sample` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "sample"),
function(x) {
sample <- Sample$new()
return(sample$fromDataFrame(x))
}))
self$`custom` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "custom"),
function(x) {
param <- Parameter$new()
return(param$fromString(NULL, x$name))
}))
self$`cv` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "cv"),
function(x) {
cv <- CV$new()
return(cv$fromDataFrame(x))
}))
self$`database` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "database"),
function(x) {
database <- Database$new()
return(database$fromDataFrame(x))
}))
self$`derivatization_agent` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "derivatization_agent"),
function(x) {
param <- Parameter$new()
return(param$fromString(NULL, x$name))
}))
self$`small_molecule-quantification_unit` <-
extractParameter(MetadataDataFrame,
"V2",
"small_molecule-quantification_unit")
self$`small_molecule_feature-quantification_unit` <-
extractParameter(MetadataDataFrame,
"V2",
"small_molecule_feature-quantification_unit")
self$`small_molecule-identification_reliability` <-
extractParameter(MetadataDataFrame,
"V2",
"small_molecule-identification_reliability")
self$`id_confidence_measure` <-
unlist(lapply(extractIdElements(MetadataDataFrame, "id_confidence_measure"),
function(x) {
param <- Parameter$new()
param$fromString(x$id, x$name)
return(param)
}))
# colunitSm <- extractPart(MetadataDataFrame, "V2", "colunit-small_molecule")
# colunitSmf <- extractPart(MetadataDataFrame, "V2", "colunit-small_molecule_feature")
# colunitSme <- extractPart(MetadataDataFrame, "V2", "colunit-small_molecule_evidence")
self
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.