R/metadata.R

# 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
    }
  )
)
lifs-tools/rmzTab-m documentation built on Jan. 26, 2023, 4:45 p.m.