001/* 002 * mzTab-M reference implementation and validation API. 003 * This is the mzTab-M reference implementation and validation API service. 004 * 005 * OpenAPI spec version: 2.0.0 006 * Contact: nils.hoffmann@isas.de 007 * 008 * NOTE: This class is auto generated by the swagger code generator program. 009 * https://github.com/swagger-api/swagger-codegen.git 010 * Do not edit the class manually. 011 */ 012 013 014package de.isas.mztab2.model; 015 016import java.util.Objects; 017import java.util.Arrays; 018import com.fasterxml.jackson.annotation.JsonProperty; 019import com.fasterxml.jackson.annotation.JsonCreator; 020import com.fasterxml.jackson.annotation.JsonValue; 021import de.isas.mztab2.model.Assay; 022import de.isas.mztab2.model.CV; 023import de.isas.mztab2.model.ColumnParameterMapping; 024import de.isas.mztab2.model.Contact; 025import de.isas.mztab2.model.Database; 026import de.isas.mztab2.model.Instrument; 027import de.isas.mztab2.model.MsRun; 028import de.isas.mztab2.model.Parameter; 029import de.isas.mztab2.model.Publication; 030import de.isas.mztab2.model.Sample; 031import de.isas.mztab2.model.SampleProcessing; 032import de.isas.mztab2.model.Software; 033import de.isas.mztab2.model.StudyVariable; 034import de.isas.mztab2.model.Uri; 035import io.swagger.annotations.ApiModel; 036import io.swagger.annotations.ApiModelProperty; 037import java.util.ArrayList; 038import java.util.List; 039import com.fasterxml.jackson.dataformat.xml.annotation.*; 040import javax.xml.bind.annotation.*; 041import javax.validation.constraints.*; 042import javax.validation.Valid; 043import de.isas.lipidomics.mztab2.validation.constraints.*; 044/** 045 * 046 * The metadata section provides additional information about the dataset(s) reported in the mzTab file. All fields in the metadata section are optional apart from those noted as mandatory. The fields in the metadata section MUST be reported in order of the various fields listed here. The field’s name and value MUST be separated by a tab character. 047 048 * 049 * 050 * <p>mzTab-M specification example(s):</p> 051 * <pre><code>MTD mzTab-version 2.0.0-M 052MTD mzTab-ID MTBL1234 053MTD title Effects of Rapamycin on metabolite profile 054... 055</code></pre> 056 * 057 * 058 */ 059@ApiModel(description = "The metadata section provides additional information about the dataset(s) reported in the mzTab file. All fields in the metadata section are optional apart from those noted as mandatory. The fields in the metadata section MUST be reported in order of the various fields listed here. The field’s name and value MUST be separated by a tab character. ") 060@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2020-02-11T15:11:41.249+01:00") 061@XmlRootElement(name = "Metadata") 062@XmlAccessorType(XmlAccessType.FIELD) 063@JacksonXmlRootElement(localName = "Metadata") 064public class Metadata { 065 066 /** 067 * Property enumeration for Metadata. 068 */ 069 public static enum Properties { 070 prefix("prefix"), 071 mzTabVersion("mzTab-version"), 072 mzTabID("mzTab-ID"), 073 title("title"), 074 description("description"), 075 sampleProcessing("sample_processing"), 076 instrument("instrument"), 077 software("software"), 078 publication("publication"), 079 contact("contact"), 080 uri("uri"), 081 externalStudyUri("external_study_uri"), 082 quantificationMethod("quantification_method"), 083 studyVariable("study_variable"), 084 msRun("ms_run"), 085 assay("assay"), 086 sample("sample"), 087 custom("custom"), 088 cv("cv"), 089 database("database"), 090 derivatizationAgent("derivatization_agent"), 091 smallMoleculeQuantificationUnit("small_molecule-quantification_unit"), 092 smallMoleculeFeatureQuantificationUnit("small_molecule_feature-quantification_unit"), 093 smallMoleculeIdentificationReliability("small_molecule-identification_reliability"), 094 idConfidenceMeasure("id_confidence_measure"), 095 colunitSmallMolecule("colunit-small_molecule"), 096 colunitSmallMoleculeFeature("colunit-small_molecule_feature"), 097 colunitSmallMoleculeEvidence("colunit-small_molecule_evidence"); 098 099 private final String propertyName; 100 101 private Properties(String propertyName) { 102 this.propertyName = propertyName; 103 } 104 105 public String getPropertyName() { 106 return propertyName; 107 } 108 109 public String toString() { 110 return propertyName; 111 } 112 113 public String toUpper() { 114 return propertyName.toUpperCase(); 115 } 116 117 public static Properties of(String value) { 118 if(value==null) { 119 throw new NullPointerException("Argument value must not be null!"); 120 } 121 return Arrays.asList(Properties.values()).stream().filter(m -> m.propertyName.equals(value.toLowerCase())).findAny().orElseThrow(IllegalArgumentException::new); 122 } 123 }; 124 125 /** 126 * The metadata section prefix. MUST always be MTD. 127 128 */ 129 public enum PrefixEnum { 130 MTD("MTD"); 131 132 private String value; 133 134 PrefixEnum(String value) { 135 this.value = value; 136 } 137 138 @JsonValue 139 public String getValue() { 140 return value; 141 } 142 143 @Override 144 public String toString() { 145 return String.valueOf(value); 146 } 147 148 @JsonCreator 149 public static PrefixEnum fromValue(String text) { 150 for (PrefixEnum b : PrefixEnum.values()) { 151 if (String.valueOf(b.value).equals(text)) { 152 return b; 153 } 154 } 155 return null; 156 } 157 } 158 159 @JsonProperty("prefix") 160 @JacksonXmlProperty(localName = "prefix") 161 @XmlElement(name = "prefix") 162 private PrefixEnum prefix = PrefixEnum.MTD; 163 @JsonProperty("mzTab-version") 164 @JacksonXmlProperty(localName = "mzTab-version") 165 @XmlElement(name = "mzTab-version") 166 private String mzTabVersion = null; 167 @JsonProperty("mzTab-ID") 168 @JacksonXmlProperty(localName = "mzTab-ID") 169 @XmlElement(name = "mzTab-ID") 170 private String mzTabID = null; 171 @JsonProperty("title") 172 @JacksonXmlProperty(localName = "title") 173 @XmlElement(name = "title") 174 private String title = null; 175 @JsonProperty("description") 176 @JacksonXmlProperty(localName = "description") 177 @XmlElement(name = "description") 178 private String description = null; 179 @JsonProperty("sample_processing") 180 // Is a container wrapped=false 181 // items.name=sampleProcessing items.baseName=sampleProcessing items.xmlName= items.xmlNamespace= 182 // items.example= items.type=SampleProcessing 183 @XmlElement(name = "sampleProcessing") 184 private List<SampleProcessing> sampleProcessing = null; 185 @JsonProperty("instrument") 186 // Is a container wrapped=false 187 // items.name=instrument items.baseName=instrument items.xmlName= items.xmlNamespace= 188 // items.example= items.type=Instrument 189 @XmlElement(name = "instrument") 190 private List<Instrument> instrument = null; 191 @JsonProperty("software") 192 // Is a container wrapped=false 193 // items.name=software items.baseName=software items.xmlName= items.xmlNamespace= 194 // items.example= items.type=Software 195 @XmlElement(name = "software") 196 private List<Software> software = new ArrayList<>(); 197 @JsonProperty("publication") 198 // Is a container wrapped=false 199 // items.name=publication items.baseName=publication items.xmlName= items.xmlNamespace= 200 // items.example= items.type=Publication 201 @XmlElement(name = "publication") 202 private List<Publication> publication = null; 203 @JsonProperty("contact") 204 // Is a container wrapped=false 205 // items.name=contact items.baseName=contact items.xmlName= items.xmlNamespace= 206 // items.example= items.type=Contact 207 @XmlElement(name = "contact") 208 private List<Contact> contact = null; 209 @JsonProperty("uri") 210 // Is a container wrapped=false 211 // items.name=uri items.baseName=uri items.xmlName= items.xmlNamespace= 212 // items.example= items.type=Uri 213 @XmlElement(name = "uri") 214 private List<Uri> uri = null; 215 @JsonProperty("external_study_uri") 216 // Is a container wrapped=false 217 // items.name=externalStudyUri items.baseName=externalStudyUri items.xmlName= items.xmlNamespace= 218 // items.example= items.type=Uri 219 @XmlElement(name = "externalStudyUri") 220 private List<Uri> externalStudyUri = null; 221 @JsonProperty("quantification_method") 222 @JacksonXmlProperty(localName = "quantification_method") 223 @XmlElement(name = "quantification_method") 224 private Parameter quantificationMethod = null; 225 @JsonProperty("study_variable") 226 // Is a container wrapped=false 227 // items.name=studyVariable items.baseName=studyVariable items.xmlName= items.xmlNamespace= 228 // items.example= items.type=StudyVariable 229 @XmlElement(name = "studyVariable") 230 private List<StudyVariable> studyVariable = new ArrayList<>(); 231 @JsonProperty("ms_run") 232 // Is a container wrapped=false 233 // items.name=msRun items.baseName=msRun items.xmlName= items.xmlNamespace= 234 // items.example= items.type=MsRun 235 @XmlElement(name = "msRun") 236 private List<MsRun> msRun = new ArrayList<>(); 237 @JsonProperty("assay") 238 // Is a container wrapped=false 239 // items.name=assay items.baseName=assay items.xmlName= items.xmlNamespace= 240 // items.example= items.type=Assay 241 @XmlElement(name = "assay") 242 private List<Assay> assay = new ArrayList<>(); 243 @JsonProperty("sample") 244 // Is a container wrapped=false 245 // items.name=sample items.baseName=sample items.xmlName= items.xmlNamespace= 246 // items.example= items.type=Sample 247 @XmlElement(name = "sample") 248 private List<Sample> sample = null; 249 @JsonProperty("custom") 250 // Is a container wrapped=false 251 // items.name=custom items.baseName=custom items.xmlName= items.xmlNamespace= 252 // items.example= items.type=Parameter 253 @XmlElement(name = "custom") 254 private List<Parameter> custom = null; 255 @JsonProperty("cv") 256 // Is a container wrapped=false 257 // items.name=cv items.baseName=cv items.xmlName= items.xmlNamespace= 258 // items.example= items.type=CV 259 @XmlElement(name = "cv") 260 private List<CV> cv = new ArrayList<>(); 261 @JsonProperty("database") 262 // Is a container wrapped=false 263 // items.name=database items.baseName=database items.xmlName= items.xmlNamespace= 264 // items.example= items.type=Database 265 @XmlElement(name = "database") 266 private List<Database> database = new ArrayList<>(); 267 @JsonProperty("derivatization_agent") 268 // Is a container wrapped=false 269 // items.name=derivatizationAgent items.baseName=derivatizationAgent items.xmlName= items.xmlNamespace= 270 // items.example= items.type=Parameter 271 @XmlElement(name = "derivatizationAgent") 272 private List<Parameter> derivatizationAgent = null; 273 @JsonProperty("small_molecule-quantification_unit") 274 @JacksonXmlProperty(localName = "small_molecule-quantification_unit") 275 @XmlElement(name = "small_molecule-quantification_unit") 276 private Parameter smallMoleculeQuantificationUnit = null; 277 @JsonProperty("small_molecule_feature-quantification_unit") 278 @JacksonXmlProperty(localName = "small_molecule_feature-quantification_unit") 279 @XmlElement(name = "small_molecule_feature-quantification_unit") 280 private Parameter smallMoleculeFeatureQuantificationUnit = null; 281 @JsonProperty("small_molecule-identification_reliability") 282 @JacksonXmlProperty(localName = "small_molecule-identification_reliability") 283 @XmlElement(name = "small_molecule-identification_reliability") 284 private Parameter smallMoleculeIdentificationReliability = null; 285 @JsonProperty("id_confidence_measure") 286 // Is a container wrapped=false 287 // items.name=idConfidenceMeasure items.baseName=idConfidenceMeasure items.xmlName= items.xmlNamespace= 288 // items.example= items.type=Parameter 289 @XmlElement(name = "idConfidenceMeasure") 290 private List<Parameter> idConfidenceMeasure = new ArrayList<>(); 291 @JsonProperty("colunit-small_molecule") 292 // Is a container wrapped=false 293 // items.name=colunitSmallMolecule items.baseName=colunitSmallMolecule items.xmlName= items.xmlNamespace= 294 // items.example= items.type=ColumnParameterMapping 295 @XmlElement(name = "colunitSmallMolecule") 296 private List<ColumnParameterMapping> colunitSmallMolecule = null; 297 @JsonProperty("colunit-small_molecule_feature") 298 // Is a container wrapped=false 299 // items.name=colunitSmallMoleculeFeature items.baseName=colunitSmallMoleculeFeature items.xmlName= items.xmlNamespace= 300 // items.example= items.type=ColumnParameterMapping 301 @XmlElement(name = "colunitSmallMoleculeFeature") 302 private List<ColumnParameterMapping> colunitSmallMoleculeFeature = null; 303 @JsonProperty("colunit-small_molecule_evidence") 304 // Is a container wrapped=false 305 // items.name=colunitSmallMoleculeEvidence items.baseName=colunitSmallMoleculeEvidence items.xmlName= items.xmlNamespace= 306 // items.example= items.type=ColumnParameterMapping 307 @XmlElement(name = "colunitSmallMoleculeEvidence") 308 private List<ColumnParameterMapping> colunitSmallMoleculeEvidence = null; 309 310 /** 311 * Builder method for prefix. 312 * 313 * @see Metadata#setPrefix Metadata#setPrefix for specification examples 314 * @see Metadata#getPrefix Metadata#getPrefix for validation constraints 315 * @param prefix a {@code PrefixEnum} parameter. 316 * @return Metadata 317 **/ 318 public Metadata prefix(PrefixEnum prefix) { 319 this.prefix = prefix; 320 return this; 321 } 322 323 /** 324 * The metadata section prefix. MUST always be MTD. 325 326 * 327 * @return prefix 328 **/ 329 @NotNull 330 @ApiModelProperty(example = "MTD", required = true, value = "The metadata section prefix. MUST always be MTD. ") 331 public PrefixEnum getPrefix() { 332 return prefix; 333 } 334 335 /** 336 * Set prefix. 337 * 338 * 339 * 340 * @see #getPrefix Metadata#getPrefix for validation constraints 341 * @param prefix a {@code PrefixEnum} parameter. 342 **/ 343 public void setPrefix(PrefixEnum prefix) { 344 this.prefix = prefix; 345 } 346 347 348 /** 349 * Builder method for mzTabVersion. 350 * 351 * @see Metadata#setMzTabVersion Metadata#setMzTabVersion for specification examples 352 * @see Metadata#getMzTabVersion Metadata#getMzTabVersion for validation constraints 353 * @param mzTabVersion a {@code String} parameter. 354 * @return Metadata 355 **/ 356 public Metadata mzTabVersion(String mzTabVersion) { 357 this.mzTabVersion = mzTabVersion; 358 return this; 359 } 360 361 /** 362 * The version of the mzTab file. The suffix MUST be "-M" for mzTab for metabolomics (mzTab-M). 363 364 * 365 * @return mzTabVersion 366 **/ 367 @NotNull 368 @Pattern(regexp="^\\d{1}\\.\\d{1}\\.\\d{1}-[A-Z]{1}$") @ApiModelProperty(required = true, value = "The version of the mzTab file. The suffix MUST be \"-M\" for mzTab for metabolomics (mzTab-M). ") 369 public String getMzTabVersion() { 370 return mzTabVersion; 371 } 372 373 /** 374 * Set mzTabVersion. 375 * 376 * <p>mzTab-M specification example(s):</p> 377 * <pre><code>MTD mzTab-version 2.0.0-M 378MTD mzTab-version 2.0.1-M 379</code></pre> 380 * 381 * 382 * @see #getMzTabVersion Metadata#getMzTabVersion for validation constraints 383 * @param mzTabVersion a {@code String} parameter. 384 **/ 385 public void setMzTabVersion(String mzTabVersion) { 386 this.mzTabVersion = mzTabVersion; 387 } 388 389 390 /** 391 * Builder method for mzTabID. 392 * 393 * @see Metadata#setMzTabID Metadata#setMzTabID for specification examples 394 * @see Metadata#getMzTabID Metadata#getMzTabID for validation constraints 395 * @param mzTabID a {@code String} parameter. 396 * @return Metadata 397 **/ 398 public Metadata mzTabID(String mzTabID) { 399 this.mzTabID = mzTabID; 400 return this; 401 } 402 403 /** 404 * The ID of the mzTab file, this could be supplied by the repository from which it is downloaded or a local identifier from the lab producing the file. It is not intended to be a globally unique ID but carry some locally useful meaning. 405 406 * 407 * @return mzTabID 408 **/ 409 @NotNull 410 @ApiModelProperty(example = "MTD mzTab-ID MTBLS214", required = true, value = "The ID of the mzTab file, this could be supplied by the repository from which it is downloaded or a local identifier from the lab producing the file. It is not intended to be a globally unique ID but carry some locally useful meaning. ") 411 public String getMzTabID() { 412 return mzTabID; 413 } 414 415 /** 416 * Set mzTabID. 417 * 418 * 419 * 420 * @see #getMzTabID Metadata#getMzTabID for validation constraints 421 * @param mzTabID a {@code String} parameter. 422 **/ 423 public void setMzTabID(String mzTabID) { 424 this.mzTabID = mzTabID; 425 } 426 427 428 /** 429 * Builder method for title. 430 * 431 * @see Metadata#setTitle Metadata#setTitle for specification examples 432 * @see Metadata#getTitle Metadata#getTitle for validation constraints 433 * @param title a {@code String} parameter. 434 * @return Metadata 435 **/ 436 public Metadata title(String title) { 437 this.title = title; 438 return this; 439 } 440 441 /** 442 * The file’s human readable title. 443 444 * 445 * @return title 446 **/ 447 @ApiModelProperty(example = "MTD title My first test experiment", value = "The file’s human readable title. ") 448 public String getTitle() { 449 return title; 450 } 451 452 /** 453 * Set title. 454 * 455 * 456 * 457 * @see #getTitle Metadata#getTitle for validation constraints 458 * @param title a {@code String} parameter. 459 **/ 460 public void setTitle(String title) { 461 this.title = title; 462 } 463 464 465 /** 466 * Builder method for description. 467 * 468 * @see Metadata#setDescription Metadata#setDescription for specification examples 469 * @see Metadata#getDescription Metadata#getDescription for validation constraints 470 * @param description a {@code String} parameter. 471 * @return Metadata 472 **/ 473 public Metadata description(String description) { 474 this.description = description; 475 return this; 476 } 477 478 /** 479 * The file’s human readable description. 480 481 * 482 * @return description 483 **/ 484 @ApiModelProperty(example = "MTD description An experiment investigating the effects of Il-6.", value = "The file’s human readable description. ") 485 public String getDescription() { 486 return description; 487 } 488 489 /** 490 * Set description. 491 * 492 * 493 * 494 * @see #getDescription Metadata#getDescription for validation constraints 495 * @param description a {@code String} parameter. 496 **/ 497 public void setDescription(String description) { 498 this.description = description; 499 } 500 501 502 /** 503 * Builder method for sampleProcessing. 504 * 505 * @see Metadata#setSampleProcessing Metadata#setSampleProcessing for specification examples 506 * @see Metadata#getSampleProcessing Metadata#getSampleProcessing for validation constraints 507 * @param sampleProcessing a {@code List<SampleProcessing>} parameter. 508 * @return Metadata 509 **/ 510 public Metadata sampleProcessing(List<SampleProcessing> sampleProcessing) { 511 this.sampleProcessing = sampleProcessing; 512 return this; 513 } 514 515 /** 516 * Add a single sampleProcessingItem to the sampleProcessing collection. 517 * 518 * @see Metadata#getSampleProcessing Metadata#getSampleProcessing for validation constraints 519 * @param sampleProcessingItem a {@code SampleProcessing} parameter. 520 * @return Metadata 521 */ 522 public Metadata addSampleProcessingItem(SampleProcessing sampleProcessingItem) { 523 if (this.sampleProcessing == null) { 524 this.sampleProcessing = new ArrayList<>(); 525 } 526 this.sampleProcessing.add(sampleProcessingItem); 527 return this; 528 } 529 530 /** 531 * A list of parameters describing a sample processing, preparation or handling step similar to a biological or analytical methods report. The order of the sample_processing items should reflect the order these processing steps were performed in. If multiple parameters are given for a step these MUST be separated by a “|”. If derivatization was performed, it MUST be reported here as a general step, e.g. 'silylation' and the actual derivatization agens MUST be specified in the Section 6.2.54 part. 532 533 * 534 * @return sampleProcessing 535 **/ 536 @Valid 537 @ApiModelProperty(value = "A list of parameters describing a sample processing, preparation or handling step similar to a biological or analytical methods report. The order of the sample_processing items should reflect the order these processing steps were performed in. If multiple parameters are given for a step these MUST be separated by a “|”. If derivatization was performed, it MUST be reported here as a general step, e.g. 'silylation' and the actual derivatization agens MUST be specified in the Section 6.2.54 part. ") 538 public List<SampleProcessing> getSampleProcessing() { 539 return sampleProcessing; 540 } 541 542 /** 543 * Set sampleProcessing. 544 * 545 * <p>mzTab-M specification example(s):</p> 546 * <pre><code>MTD sample_processing[1] [MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,] 547MTD sample_processing[2] [MSIO, MSIO:0000146, centrifugation,] 548MTD sample_processing[3] [MSIO, MSIO:0000141, metabolite extraction,] 549MTD sample_processing[4] [MSIO, MSIO:0000141, silylation,] 550</code></pre> 551 * 552 * 553 * @see #getSampleProcessing Metadata#getSampleProcessing for validation constraints 554 * @param sampleProcessing a {@code List<SampleProcessing>} parameter. 555 **/ 556 public void setSampleProcessing(List<SampleProcessing> sampleProcessing) { 557 this.sampleProcessing = sampleProcessing; 558 } 559 560 561 /** 562 * Builder method for instrument. 563 * 564 * @see Metadata#setInstrument Metadata#setInstrument for specification examples 565 * @see Metadata#getInstrument Metadata#getInstrument for validation constraints 566 * @param instrument a {@code List<Instrument>} parameter. 567 * @return Metadata 568 **/ 569 public Metadata instrument(List<Instrument> instrument) { 570 this.instrument = instrument; 571 return this; 572 } 573 574 /** 575 * Add a single instrumentItem to the instrument collection. 576 * 577 * @see Metadata#getInstrument Metadata#getInstrument for validation constraints 578 * @param instrumentItem a {@code Instrument} parameter. 579 * @return Metadata 580 */ 581 public Metadata addInstrumentItem(Instrument instrumentItem) { 582 if (this.instrument == null) { 583 this.instrument = new ArrayList<>(); 584 } 585 this.instrument.add(instrumentItem); 586 return this; 587 } 588 589 /** 590 * The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n]. 591 * 592 * @return instrument 593 **/ 594 @Valid 595 @ApiModelProperty(value = "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].") 596 public List<Instrument> getInstrument() { 597 return instrument; 598 } 599 600 /** 601 * Set instrument. 602 * 603 * <p>mzTab-M specification example(s):</p> 604 * <pre><code>MTD instrument[1]-name [MS, MS:1000449, LTQ Orbitrap,] 605MTD instrument[1]-source [MS, MS:1000073, ESI,] 606… 607MTD instrument[2]-source [MS, MS:1000598, ETD,] 608MTD instrument[1]-analyzer[1] [MS, MS:1000291, linear ion trap,] 609… 610MTD instrument[2]-analyzer[1] [MS, MS:1000484, orbitrap,] 611MTD instrument[1]-detector [MS, MS:1000253, electron multiplier,] 612… 613MTD instrument[2]-detector [MS, MS:1000348, focal plane collector,] 614</code></pre> 615 * 616 * 617 * @see #getInstrument Metadata#getInstrument for validation constraints 618 * @param instrument a {@code List<Instrument>} parameter. 619 **/ 620 public void setInstrument(List<Instrument> instrument) { 621 this.instrument = instrument; 622 } 623 624 625 /** 626 * Builder method for software. 627 * 628 * @see Metadata#setSoftware Metadata#setSoftware for specification examples 629 * @see Metadata#getSoftware Metadata#getSoftware for validation constraints 630 * @param software a {@code List<Software>} parameter. 631 * @return Metadata 632 **/ 633 public Metadata software(List<Software> software) { 634 this.software = software; 635 return this; 636 } 637 638 /** 639 * Add a single softwareItem to the software collection. 640 * 641 * @see Metadata#getSoftware Metadata#getSoftware for validation constraints 642 * @param softwareItem a {@code Software} parameter. 643 * @return Metadata 644 */ 645 public Metadata addSoftwareItem(Software softwareItem) { 646 this.software.add(softwareItem); 647 return this; 648 } 649 650 /** 651 * Software used to analyze the data and obtain the reported results. The parameter’s value SHOULD contain the software’s version. The order (numbering) should reflect the order in which the tools were used. A software setting used. This field MAY occur multiple times for a single software. The value of this field is deliberately set as a String, since there currently do not exist CV terms for every possible setting. 652 * 653 * @return software 654 **/ 655 @NotNull 656 @Valid 657 @ApiModelProperty(required = true, value = "Software used to analyze the data and obtain the reported results. The parameter’s value SHOULD contain the software’s version. The order (numbering) should reflect the order in which the tools were used. A software setting used. This field MAY occur multiple times for a single software. The value of this field is deliberately set as a String, since there currently do not exist CV terms for every possible setting.") 658 public List<Software> getSoftware() { 659 return software; 660 } 661 662 /** 663 * Set software. 664 * 665 * <p>mzTab-M specification example(s):</p> 666 * <pre><code>MTD software[1] [MS, MS:1002879, Progenesis QI, 3.0] 667MTD software[1]-setting Fragment tolerance = 0.1 Da 668… 669MTD software[2]-setting Parent tolerance = 0.5 Da 670</code></pre> 671 * 672 * 673 * @see #getSoftware Metadata#getSoftware for validation constraints 674 * @param software a {@code List<Software>} parameter. 675 **/ 676 public void setSoftware(List<Software> software) { 677 this.software = software; 678 } 679 680 681 /** 682 * Builder method for publication. 683 * 684 * @see Metadata#setPublication Metadata#setPublication for specification examples 685 * @see Metadata#getPublication Metadata#getPublication for validation constraints 686 * @param publication a {@code List<Publication>} parameter. 687 * @return Metadata 688 **/ 689 public Metadata publication(List<Publication> publication) { 690 this.publication = publication; 691 return this; 692 } 693 694 /** 695 * Add a single publicationItem to the publication collection. 696 * 697 * @see Metadata#getPublication Metadata#getPublication for validation constraints 698 * @param publicationItem a {@code Publication} parameter. 699 * @return Metadata 700 */ 701 public Metadata addPublicationItem(Publication publicationItem) { 702 if (this.publication == null) { 703 this.publication = new ArrayList<>(); 704 } 705 this.publication.add(publicationItem); 706 return this; 707 } 708 709 /** 710 * A publication associated with this file. Several publications can be given by indicating the number in the square brackets after “publication”. PubMed ids must be prefixed by “pubmed:”, DOIs by “doi:”. Multiple identifiers MUST be separated by “|”. 711 * 712 * @return publication 713 **/ 714 @Valid 715 @ApiModelProperty(value = "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after “publication”. PubMed ids must be prefixed by “pubmed:”, DOIs by “doi:”. Multiple identifiers MUST be separated by “|”.") 716 public List<Publication> getPublication() { 717 return publication; 718 } 719 720 /** 721 * Set publication. 722 * 723 * <p>mzTab-M specification example(s):</p> 724 * <pre><code>MTD publication[1] pubmed:21063943|doi:10.1007/978-1-60761-987-1_6 725MTD publication[2] pubmed:20615486|doi:10.1016/j.jprot.2010.06.008 726</code></pre> 727 * 728 * 729 * @see #getPublication Metadata#getPublication for validation constraints 730 * @param publication a {@code List<Publication>} parameter. 731 **/ 732 public void setPublication(List<Publication> publication) { 733 this.publication = publication; 734 } 735 736 737 /** 738 * Builder method for contact. 739 * 740 * @see Metadata#setContact Metadata#setContact for specification examples 741 * @see Metadata#getContact Metadata#getContact for validation constraints 742 * @param contact a {@code List<Contact>} parameter. 743 * @return Metadata 744 **/ 745 public Metadata contact(List<Contact> contact) { 746 this.contact = contact; 747 return this; 748 } 749 750 /** 751 * Add a single contactItem to the contact collection. 752 * 753 * @see Metadata#getContact Metadata#getContact for validation constraints 754 * @param contactItem a {@code Contact} parameter. 755 * @return Metadata 756 */ 757 public Metadata addContactItem(Contact contactItem) { 758 if (this.contact == null) { 759 this.contact = new ArrayList<>(); 760 } 761 this.contact.add(contactItem); 762 return this; 763 } 764 765 /** 766 * The contact’s name, affiliation and e-mail. Several contacts can be given by indicating the number in the square brackets after "contact". A contact has to be supplied in the format [first name] [initials] [last name]. 767 * 768 * @return contact 769 **/ 770 @Valid 771 @ApiModelProperty(value = "The contact’s name, affiliation and e-mail. Several contacts can be given by indicating the number in the square brackets after \"contact\". A contact has to be supplied in the format [first name] [initials] [last name].") 772 public List<Contact> getContact() { 773 return contact; 774 } 775 776 /** 777 * Set contact. 778 * 779 * <p>mzTab-M specification example(s):</p> 780 * <pre><code>MTD contact[1]-name James D. Watson 781MTD contact[1]-affiliation Cambridge University, UK 782MTD contact[1]-email watson@cam.ac.uk 783MTD contact[2]-name Francis Crick 784MTD contact[2]-affiliation Cambridge University, UK 785MTD contact[2]-email crick@cam.ac.uk 786</code></pre> 787 * 788 * 789 * @see #getContact Metadata#getContact for validation constraints 790 * @param contact a {@code List<Contact>} parameter. 791 **/ 792 public void setContact(List<Contact> contact) { 793 this.contact = contact; 794 } 795 796 797 /** 798 * Builder method for uri. 799 * 800 * @see Metadata#setUri Metadata#setUri for specification examples 801 * @see Metadata#getUri Metadata#getUri for validation constraints 802 * @param uri a {@code List<Uri>} parameter. 803 * @return Metadata 804 **/ 805 public Metadata uri(List<Uri> uri) { 806 this.uri = uri; 807 return this; 808 } 809 810 /** 811 * Add a single uriItem to the uri collection. 812 * 813 * @see Metadata#getUri Metadata#getUri for validation constraints 814 * @param uriItem a {@code Uri} parameter. 815 * @return Metadata 816 */ 817 public Metadata addUriItem(Uri uriItem) { 818 if (this.uri == null) { 819 this.uri = new ArrayList<>(); 820 } 821 this.uri.add(uriItem); 822 return this; 823 } 824 825 /** 826 * A URI pointing to the file’s source data (e.g., a MetaboLights records). 827 * 828 * @return uri 829 **/ 830 @Valid 831 @ApiModelProperty(value = "A URI pointing to the file’s source data (e.g., a MetaboLights records).") 832 public List<Uri> getUri() { 833 return uri; 834 } 835 836 /** 837 * Set uri. 838 * 839 * <p>mzTab-M specification example(s):</p> 840 * <pre><code>MTD uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517 841</code></pre> 842 * 843 * 844 * @see #getUri Metadata#getUri for validation constraints 845 * @param uri a {@code List<Uri>} parameter. 846 **/ 847 public void setUri(List<Uri> uri) { 848 this.uri = uri; 849 } 850 851 852 /** 853 * Builder method for externalStudyUri. 854 * 855 * @see Metadata#setExternalStudyUri Metadata#setExternalStudyUri for specification examples 856 * @see Metadata#getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 857 * @param externalStudyUri a {@code List<Uri>} parameter. 858 * @return Metadata 859 **/ 860 public Metadata externalStudyUri(List<Uri> externalStudyUri) { 861 this.externalStudyUri = externalStudyUri; 862 return this; 863 } 864 865 /** 866 * Add a single externalStudyUriItem to the externalStudyUri collection. 867 * 868 * @see Metadata#getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 869 * @param externalStudyUriItem a {@code Uri} parameter. 870 * @return Metadata 871 */ 872 public Metadata addExternalStudyUriItem(Uri externalStudyUriItem) { 873 if (this.externalStudyUri == null) { 874 this.externalStudyUri = new ArrayList<>(); 875 } 876 this.externalStudyUri.add(externalStudyUriItem); 877 return this; 878 } 879 880 /** 881 * A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file). 882 * 883 * @return externalStudyUri 884 **/ 885 @Valid 886 @ApiModelProperty(value = "A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file).") 887 public List<Uri> getExternalStudyUri() { 888 return externalStudyUri; 889 } 890 891 /** 892 * Set externalStudyUri. 893 * 894 * <p>mzTab-M specification example(s):</p> 895 * <pre><code>MTD external_study_uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt 896</code></pre> 897 * 898 * 899 * @see #getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 900 * @param externalStudyUri a {@code List<Uri>} parameter. 901 **/ 902 public void setExternalStudyUri(List<Uri> externalStudyUri) { 903 this.externalStudyUri = externalStudyUri; 904 } 905 906 907 /** 908 * Builder method for quantificationMethod. 909 * 910 * @see Metadata#setQuantificationMethod Metadata#setQuantificationMethod for specification examples 911 * @see Metadata#getQuantificationMethod Metadata#getQuantificationMethod for validation constraints 912 * @param quantificationMethod a {@code Parameter} parameter. 913 * @return Metadata 914 **/ 915 public Metadata quantificationMethod(Parameter quantificationMethod) { 916 this.quantificationMethod = quantificationMethod; 917 return this; 918 } 919 920 /** 921 * The quantification method used in the experiment reported in the file. 922 * 923 * @return quantificationMethod 924 **/ 925 @NotNull 926 @Valid 927 @ApiModelProperty(required = true, value = "The quantification method used in the experiment reported in the file.") 928 public Parameter getQuantificationMethod() { 929 return quantificationMethod; 930 } 931 932 /** 933 * Set quantificationMethod. 934 * 935 * 936 * 937 * @see #getQuantificationMethod Metadata#getQuantificationMethod for validation constraints 938 * @param quantificationMethod a {@code Parameter} parameter. 939 **/ 940 public void setQuantificationMethod(Parameter quantificationMethod) { 941 this.quantificationMethod = quantificationMethod; 942 } 943 944 945 /** 946 * Builder method for studyVariable. 947 * 948 * @see Metadata#setStudyVariable Metadata#setStudyVariable for specification examples 949 * @see Metadata#getStudyVariable Metadata#getStudyVariable for validation constraints 950 * @param studyVariable a {@code List<StudyVariable>} parameter. 951 * @return Metadata 952 **/ 953 public Metadata studyVariable(List<StudyVariable> studyVariable) { 954 this.studyVariable = studyVariable; 955 return this; 956 } 957 958 /** 959 * Add a single studyVariableItem to the studyVariable collection. 960 * 961 * @see Metadata#getStudyVariable Metadata#getStudyVariable for validation constraints 962 * @param studyVariableItem a {@code StudyVariable} parameter. 963 * @return Metadata 964 */ 965 public Metadata addStudyVariableItem(StudyVariable studyVariableItem) { 966 this.studyVariable.add(studyVariableItem); 967 return this; 968 } 969 970 /** 971 * Specification of study_variable. 972(empty) name: A name for each study variable (experimental condition or factor), to serve as a list of the study variables that MUST be reported in the following tables. For software that does not capture study variables, a single study variable MUST be reported, linking to all assays. This single study variable MUST have the identifier “undefined“. 973assay_refs: Bar-separated references to the IDs of assays grouped in the study variable. 974average_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. “geometric mean”, “median”. The 1-n refers to different study variables. 975variation_function: The function used to calculate the study variable quantification variation value if it is reported and the operation used is not coefficient of variation (default) e.g. “standard error”. 976description: A textual description of the study variable. 977factors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. 978 979 * 980 * @return studyVariable 981 **/ 982 @NotNull 983 @Valid 984 @ApiModelProperty(required = true, value = "Specification of study_variable. (empty) name: A name for each study variable (experimental condition or factor), to serve as a list of the study variables that MUST be reported in the following tables. For software that does not capture study variables, a single study variable MUST be reported, linking to all assays. This single study variable MUST have the identifier “undefined“. assay_refs: Bar-separated references to the IDs of assays grouped in the study variable. average_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. “geometric mean”, “median”. The 1-n refers to different study variables. variation_function: The function used to calculate the study variable quantification variation value if it is reported and the operation used is not coefficient of variation (default) e.g. “standard error”. description: A textual description of the study variable. factors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. ") 985 public List<StudyVariable> getStudyVariable() { 986 return studyVariable; 987 } 988 989 /** 990 * Set studyVariable. 991 * 992 * <p>mzTab-M specification example(s):</p> 993 * <pre><code>MTD study_variable[1] control 994MTD study_variable[1]-assay_refs assay[1]| assay[2]| assay[3] 995MTD study_variable-average_function [MS, MS:1002883, median, ] 996MTD study_variable-variation_function [MS, MS:1002885, standard error, ] 997MTD study_variable[1]-description Group B (spike-in 0.74 fmol/uL) 998MTD study_variable[1]-factors [,,rapamycin dose,0.5mg] 999MTD study_variable[2] 1 minute 1000</code></pre> 1001 * 1002 * 1003 * @see #getStudyVariable Metadata#getStudyVariable for validation constraints 1004 * @param studyVariable a {@code List<StudyVariable>} parameter. 1005 **/ 1006 public void setStudyVariable(List<StudyVariable> studyVariable) { 1007 this.studyVariable = studyVariable; 1008 } 1009 1010 1011 /** 1012 * Builder method for msRun. 1013 * 1014 * @see Metadata#setMsRun Metadata#setMsRun for specification examples 1015 * @see Metadata#getMsRun Metadata#getMsRun for validation constraints 1016 * @param msRun a {@code List<MsRun>} parameter. 1017 * @return Metadata 1018 **/ 1019 public Metadata msRun(List<MsRun> msRun) { 1020 this.msRun = msRun; 1021 return this; 1022 } 1023 1024 /** 1025 * Add a single msRunItem to the msRun collection. 1026 * 1027 * @see Metadata#getMsRun Metadata#getMsRun for validation constraints 1028 * @param msRunItem a {@code MsRun} parameter. 1029 * @return Metadata 1030 */ 1031 public Metadata addMsRunItem(MsRun msRunItem) { 1032 this.msRun.add(msRunItem); 1033 return this; 1034 } 1035 1036 /** 1037 * Specification of ms_run. 1038location: Location of the external data file e.g. raw files on which analysis has been performed. If the actual location of the MS run is unknown, a “null” MUST be used as a place holder value, since the [1-n] cardinality is referenced elsewhere. If pre-fractionation has been performed, then [1-n] ms_runs SHOULD be created per assay. 1039instrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. 1040format: Parameter specifying the data format of the external MS data file. If ms_run[1-n]-format is present, ms_run[1-n]-id_format SHOULD also be present, following the parameters specified in Table 1. 1041id_format: Parameter specifying the id format used in the external data file. If ms_run[1-n]-id_format is present, ms_run[1-n]-format SHOULD also be present. 1042fragmentation_method: The type(s) of fragmentation used in a given ms run. 1043scan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs. 1044hash: Hash value of the corresponding external MS data file defined in ms_run[1-n]-location. If ms_run[1-n]-hash is present, ms_run[1-n]-hash_method SHOULD also be present. 1045hash_method: A parameter specifying the hash methods used to generate the String in ms_run[1-n]-hash. Specifics of the hash method used MAY follow the definitions of the mzML format. If ms_run[1-n]-hash is present, ms_run[1-n]-hash_method SHOULD also be present. 1046 1047 * 1048 * @return msRun 1049 **/ 1050 @NotNull 1051 @Valid 1052 @ApiModelProperty(required = true, value = "Specification of ms_run. location: Location of the external data file e.g. raw files on which analysis has been performed. If the actual location of the MS run is unknown, a “null” MUST be used as a place holder value, since the [1-n] cardinality is referenced elsewhere. If pre-fractionation has been performed, then [1-n] ms_runs SHOULD be created per assay. instrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. format: Parameter specifying the data format of the external MS data file. If ms_run[1-n]-format is present, ms_run[1-n]-id_format SHOULD also be present, following the parameters specified in Table 1. id_format: Parameter specifying the id format used in the external data file. If ms_run[1-n]-id_format is present, ms_run[1-n]-format SHOULD also be present. fragmentation_method: The type(s) of fragmentation used in a given ms run. scan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs. hash: Hash value of the corresponding external MS data file defined in ms_run[1-n]-location. If ms_run[1-n]-hash is present, ms_run[1-n]-hash_method SHOULD also be present. hash_method: A parameter specifying the hash methods used to generate the String in ms_run[1-n]-hash. Specifics of the hash method used MAY follow the definitions of the mzML format. If ms_run[1-n]-hash is present, ms_run[1-n]-hash_method SHOULD also be present. ") 1053 public List<MsRun> getMsRun() { 1054 return msRun; 1055 } 1056 1057 /** 1058 * Set msRun. 1059 * 1060 * <p>mzTab-M specification example(s):</p> 1061 * <pre><code>COM location can be a local or remote URI 1062MTD ms_run[1]-location file:///C:/path/to/my/file.mzML 1063MTD ms_run[1]-instrument_ref instrument[1] 1064MTD ms_run[1]-format [MS, MS:1000584, mzML file, ] 1065MTD ms_run[1]-id_format [MS, MS:1000530, mzML unique identifier, ] 1066MTD ms_run[1]-fragmentation_method[1] [MS, MS:1000133, CID, ] 1067COM for mixed polarity scan scenarios 1068MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] 1069MTD ms_run[1]-scan_polarity[2] [MS, MS:1000129, negative scan, ] 1070MTD ms_run[1]-hash_method [MS, MS:1000569, SHA-1, ] 1071MTD ms_run[1]-hash de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 1072</code></pre> 1073 * 1074 * 1075 * @see #getMsRun Metadata#getMsRun for validation constraints 1076 * @param msRun a {@code List<MsRun>} parameter. 1077 **/ 1078 public void setMsRun(List<MsRun> msRun) { 1079 this.msRun = msRun; 1080 } 1081 1082 1083 /** 1084 * Builder method for assay. 1085 * 1086 * @see Metadata#setAssay Metadata#setAssay for specification examples 1087 * @see Metadata#getAssay Metadata#getAssay for validation constraints 1088 * @param assay a {@code List<Assay>} parameter. 1089 * @return Metadata 1090 **/ 1091 public Metadata assay(List<Assay> assay) { 1092 this.assay = assay; 1093 return this; 1094 } 1095 1096 /** 1097 * Add a single assayItem to the assay collection. 1098 * 1099 * @see Metadata#getAssay Metadata#getAssay for validation constraints 1100 * @param assayItem a {@code Assay} parameter. 1101 * @return Metadata 1102 */ 1103 public Metadata addAssayItem(Assay assayItem) { 1104 this.assay.add(assayItem); 1105 return this; 1106 } 1107 1108 /** 1109 * Specification of assay. 1110(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. 1111custom: Additional custom parameters or values for a given assay. 1112external_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. 1113sample_ref: An association from a given assay to the sample analysed. 1114ms_run_ref: An association from a given assay to the source MS run. All assays MUST reference exactly one ms_run unless a workflow with pre-fractionation is being encoded, in which case each assay MUST reference n ms_runs where n fractions have been collected. Multiple assays SHOULD reference the same ms_run to capture multiplexed experimental designs. 1115 1116 * 1117 * @return assay 1118 **/ 1119 @NotNull 1120 @Valid 1121 @ApiModelProperty(required = true, value = "Specification of assay. (empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. custom: Additional custom parameters or values for a given assay. external_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. sample_ref: An association from a given assay to the sample analysed. ms_run_ref: An association from a given assay to the source MS run. All assays MUST reference exactly one ms_run unless a workflow with pre-fractionation is being encoded, in which case each assay MUST reference n ms_runs where n fractions have been collected. Multiple assays SHOULD reference the same ms_run to capture multiplexed experimental designs. ") 1122 public List<Assay> getAssay() { 1123 return assay; 1124 } 1125 1126 /** 1127 * Set assay. 1128 * 1129 * <p>mzTab-M specification example(s):</p> 1130 * <pre><code>MTD assay[1] first assay 1131MTD assay[1]-custom[1] [MS, , Assay operator, Fred Blogs] 1132MTD assay[1]-sample_ref sample[1] 1133MTD assay[1]-ms_run_ref ms_run[1] 1134MTD assay[1]-external_uri https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt 1135MTD assay[2] second assay 1136MTD assay[2]-sample_ref sample[2] 1137</code></pre> 1138 * 1139 * 1140 * @see #getAssay Metadata#getAssay for validation constraints 1141 * @param assay a {@code List<Assay>} parameter. 1142 **/ 1143 public void setAssay(List<Assay> assay) { 1144 this.assay = assay; 1145 } 1146 1147 1148 /** 1149 * Builder method for sample. 1150 * 1151 * @see Metadata#setSample Metadata#setSample for specification examples 1152 * @see Metadata#getSample Metadata#getSample for validation constraints 1153 * @param sample a {@code List<Sample>} parameter. 1154 * @return Metadata 1155 **/ 1156 public Metadata sample(List<Sample> sample) { 1157 this.sample = sample; 1158 return this; 1159 } 1160 1161 /** 1162 * Add a single sampleItem to the sample collection. 1163 * 1164 * @see Metadata#getSample Metadata#getSample for validation constraints 1165 * @param sampleItem a {@code Sample} parameter. 1166 * @return Metadata 1167 */ 1168 public Metadata addSampleItem(Sample sampleItem) { 1169 if (this.sample == null) { 1170 this.sample = new ArrayList<>(); 1171 } 1172 this.sample.add(sampleItem); 1173 return this; 1174 } 1175 1176 /** 1177 * Specification of sample. 1178(empty) name: A name for each sample to serve as a list of the samples that MUST be reported in the following tables. Samples MUST be reported if a statistical design is being captured (i.e. bio or tech replicates). If the type of replicates are not known, samples SHOULD NOT be reported. 1179species: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. 1180tissue: The respective tissue(s) of the sample. 1181cell_type: The respective cell type(s) of the sample. 1182disease: The respective disease(s) of the sample. 1183description: A human readable description of the sample. 1184custom: Custom parameters describing the sample’s additional properties. Dates MUST be provided in ISO-8601 format. 1185 1186 * 1187 * @return sample 1188 **/ 1189 @Valid 1190 @ApiModelProperty(value = "Specification of sample. (empty) name: A name for each sample to serve as a list of the samples that MUST be reported in the following tables. Samples MUST be reported if a statistical design is being captured (i.e. bio or tech replicates). If the type of replicates are not known, samples SHOULD NOT be reported. species: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. tissue: The respective tissue(s) of the sample. cell_type: The respective cell type(s) of the sample. disease: The respective disease(s) of the sample. description: A human readable description of the sample. custom: Custom parameters describing the sample’s additional properties. Dates MUST be provided in ISO-8601 format. ") 1191 public List<Sample> getSample() { 1192 return sample; 1193 } 1194 1195 /** 1196 * Set sample. 1197 * 1198 * <p>mzTab-M specification example(s):</p> 1199 * <pre><code>COM Experiment where all samples consisted of the same two species 1200MTD sample[1] individual number 1 1201MTD sample[1]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] 1202MTD sample[1]-tissue[1] [BTO, BTO:0000759, liver, ] 1203MTD sample[1]-cell_type[1] [CL, CL:0000182, hepatocyte, ] 1204MTD sample[1]-disease[1] [DOID, DOID:684, hepatocellular carcinoma, ] 1205MTD sample[1]-disease[2] [DOID, DOID:9451, alcoholic fatty liver, ] 1206MTD sample[1]-description Hepatocellular carcinoma samples. 1207MTD sample[1]-custom[1] [,,Extraction date, 2011-12-21] 1208MTD sample[1]-custom[2] [,,Extraction reason, liver biopsy] 1209MTD sample[2] individual number 2 1210MTD sample[2]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] 1211MTD sample[2]-tissue[1] [BTO, BTO:0000759, liver, ] 1212MTD sample[2]-cell_type[1] [CL, CL:0000182, hepatocyte, ] 1213MTD sample[2]-description Healthy control samples. 1214</code></pre> 1215 * 1216 * 1217 * @see #getSample Metadata#getSample for validation constraints 1218 * @param sample a {@code List<Sample>} parameter. 1219 **/ 1220 public void setSample(List<Sample> sample) { 1221 this.sample = sample; 1222 } 1223 1224 1225 /** 1226 * Builder method for custom. 1227 * 1228 * @see Metadata#setCustom Metadata#setCustom for specification examples 1229 * @see Metadata#getCustom Metadata#getCustom for validation constraints 1230 * @param custom a {@code List<Parameter>} parameter. 1231 * @return Metadata 1232 **/ 1233 public Metadata custom(List<Parameter> custom) { 1234 this.custom = custom; 1235 return this; 1236 } 1237 1238 /** 1239 * Add a single customItem to the custom collection. 1240 * 1241 * @see Metadata#getCustom Metadata#getCustom for validation constraints 1242 * @param customItem a {@code Parameter} parameter. 1243 * @return Metadata 1244 */ 1245 public Metadata addCustomItem(Parameter customItem) { 1246 if (this.custom == null) { 1247 this.custom = new ArrayList<>(); 1248 } 1249 this.custom.add(customItem); 1250 return this; 1251 } 1252 1253 /** 1254 * Any additional parameters describing the analysis reported. 1255 * 1256 * @return custom 1257 **/ 1258 @Valid 1259 @ApiModelProperty(value = "Any additional parameters describing the analysis reported.") 1260 public List<Parameter> getCustom() { 1261 return custom; 1262 } 1263 1264 /** 1265 * Set custom. 1266 * 1267 * <p>mzTab-M specification example(s):</p> 1268 * <pre><code>MTD custom[1] [,,MS operator, Florian] 1269</code></pre> 1270 * 1271 * 1272 * @see #getCustom Metadata#getCustom for validation constraints 1273 * @param custom a {@code List<Parameter>} parameter. 1274 **/ 1275 public void setCustom(List<Parameter> custom) { 1276 this.custom = custom; 1277 } 1278 1279 1280 /** 1281 * Builder method for cv. 1282 * 1283 * @see Metadata#setCv Metadata#setCv for specification examples 1284 * @see Metadata#getCv Metadata#getCv for validation constraints 1285 * @param cv a {@code List<CV>} parameter. 1286 * @return Metadata 1287 **/ 1288 public Metadata cv(List<CV> cv) { 1289 this.cv = cv; 1290 return this; 1291 } 1292 1293 /** 1294 * Add a single cvItem to the cv collection. 1295 * 1296 * @see Metadata#getCv Metadata#getCv for validation constraints 1297 * @param cvItem a {@code CV} parameter. 1298 * @return Metadata 1299 */ 1300 public Metadata addCvItem(CV cvItem) { 1301 this.cv.add(cvItem); 1302 return this; 1303 } 1304 1305 /** 1306 * Specification of controlled vocabularies. 1307label: A string describing the labels of the controlled vocabularies/ontologies used in the mzTab file as a short-hand e.g. "MS" for PSI-MS. 1308full_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file. 1309version: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file. 1310uri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file. 1311 1312 * 1313 * @return cv 1314 **/ 1315 @NotNull 1316 @Valid 1317 @ApiModelProperty(required = true, value = "Specification of controlled vocabularies. label: A string describing the labels of the controlled vocabularies/ontologies used in the mzTab file as a short-hand e.g. \"MS\" for PSI-MS. full_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file. version: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file. uri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file. ") 1318 public List<CV> getCv() { 1319 return cv; 1320 } 1321 1322 /** 1323 * Set cv. 1324 * 1325 * <p>mzTab-M specification example(s):</p> 1326 * <pre><code>MTD cv[1]-label MS 1327MTD cv[1]-full_name PSI-MS controlled vocabulary 1328MTD cv[1]-version 4.1.11 1329MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo 1330</code></pre> 1331 * 1332 * 1333 * @see #getCv Metadata#getCv for validation constraints 1334 * @param cv a {@code List<CV>} parameter. 1335 **/ 1336 public void setCv(List<CV> cv) { 1337 this.cv = cv; 1338 } 1339 1340 1341 /** 1342 * Builder method for database. 1343 * 1344 * @see Metadata#setDatabase Metadata#setDatabase for specification examples 1345 * @see Metadata#getDatabase Metadata#getDatabase for validation constraints 1346 * @param database a {@code List<Database>} parameter. 1347 * @return Metadata 1348 **/ 1349 public Metadata database(List<Database> database) { 1350 this.database = database; 1351 return this; 1352 } 1353 1354 /** 1355 * Add a single databaseItem to the database collection. 1356 * 1357 * @see Metadata#getDatabase Metadata#getDatabase for validation constraints 1358 * @param databaseItem a {@code Database} parameter. 1359 * @return Metadata 1360 */ 1361 public Metadata addDatabaseItem(Database databaseItem) { 1362 this.database.add(databaseItem); 1363 return this; 1364 } 1365 1366 /** 1367 * Specification of databases. 1368(empty): The description of databases used. For cases, where a known database has not been used for identification, a userParam SHOULD be inserted to describe any identification performed e.g. de novo. If no identification has been performed at all then "no database" should be inserted followed by null. 1369prefix: The prefix used in the “identifier” column of data tables. For the “no database” case "null" must be used. 1370version: The database version is mandatory where identification has been performed. This may be a formal version number e.g. “1.4.1”, a date of access “2016-10-27” (ISO-8601 format) or “Unknown” if there is no suitable version that can be annotated. 1371uri: The URI to the database. For the “no database” case, "null" must be reported. 1372 1373 * 1374 * @return database 1375 **/ 1376 @NotNull 1377 @Valid 1378 @ApiModelProperty(required = true, value = "Specification of databases. (empty): The description of databases used. For cases, where a known database has not been used for identification, a userParam SHOULD be inserted to describe any identification performed e.g. de novo. If no identification has been performed at all then \"no database\" should be inserted followed by null. prefix: The prefix used in the “identifier” column of data tables. For the “no database” case \"null\" must be used. version: The database version is mandatory where identification has been performed. This may be a formal version number e.g. “1.4.1”, a date of access “2016-10-27” (ISO-8601 format) or “Unknown” if there is no suitable version that can be annotated. uri: The URI to the database. For the “no database” case, \"null\" must be reported. ") 1379 public List<Database> getDatabase() { 1380 return database; 1381 } 1382 1383 /** 1384 * Set database. 1385 * 1386 * <p>mzTab-M specification example(s):</p> 1387 * <pre><code>MTD database[1] [MIRIAM, MIR:00100079, HMDB, ] 1388MTD database[1]-prefix hmdb 1389MTD database[1]-version 3.6 1390MTD database[1]-uri http://www.hmdb.ca/ 1391MTD database[2] [,, "de novo", ] 1392MTD database[2]-prefix dn 1393MTD database[2]-version Unknown 1394MTD database[2]-uri null 1395MTD database[3] [,, "no database", null ] 1396MTD database[3]-prefix null 1397MTD database[3]-version Unknown 1398MTD database[3]-uri null 1399</code></pre> 1400 * 1401 * 1402 * @see #getDatabase Metadata#getDatabase for validation constraints 1403 * @param database a {@code List<Database>} parameter. 1404 **/ 1405 public void setDatabase(List<Database> database) { 1406 this.database = database; 1407 } 1408 1409 1410 /** 1411 * Builder method for derivatizationAgent. 1412 * 1413 * @see Metadata#setDerivatizationAgent Metadata#setDerivatizationAgent for specification examples 1414 * @see Metadata#getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1415 * @param derivatizationAgent a {@code List<Parameter>} parameter. 1416 * @return Metadata 1417 **/ 1418 public Metadata derivatizationAgent(List<Parameter> derivatizationAgent) { 1419 this.derivatizationAgent = derivatizationAgent; 1420 return this; 1421 } 1422 1423 /** 1424 * Add a single derivatizationAgentItem to the derivatizationAgent collection. 1425 * 1426 * @see Metadata#getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1427 * @param derivatizationAgentItem a {@code Parameter} parameter. 1428 * @return Metadata 1429 */ 1430 public Metadata addDerivatizationAgentItem(Parameter derivatizationAgentItem) { 1431 if (this.derivatizationAgent == null) { 1432 this.derivatizationAgent = new ArrayList<>(); 1433 } 1434 this.derivatizationAgent.add(derivatizationAgentItem); 1435 return this; 1436 } 1437 1438 /** 1439 * A description of derivatization agents applied to small molecules, using userParams or CV terms where possible. 1440 * 1441 * @return derivatizationAgent 1442 **/ 1443 @Valid 1444 @ApiModelProperty(value = "A description of derivatization agents applied to small molecules, using userParams or CV terms where possible.") 1445 public List<Parameter> getDerivatizationAgent() { 1446 return derivatizationAgent; 1447 } 1448 1449 /** 1450 * Set derivatizationAgent. 1451 * 1452 * <p>mzTab-M specification example(s):</p> 1453 * <pre><code>MTD derivatization_agent[1] [XLMOD, XLMOD:07014, N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ] 1454</code></pre> 1455 * 1456 * 1457 * @see #getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1458 * @param derivatizationAgent a {@code List<Parameter>} parameter. 1459 **/ 1460 public void setDerivatizationAgent(List<Parameter> derivatizationAgent) { 1461 this.derivatizationAgent = derivatizationAgent; 1462 } 1463 1464 1465 /** 1466 * Builder method for smallMoleculeQuantificationUnit. 1467 * 1468 * @see Metadata#setSmallMoleculeQuantificationUnit Metadata#setSmallMoleculeQuantificationUnit for specification examples 1469 * @see Metadata#getSmallMoleculeQuantificationUnit Metadata#getSmallMoleculeQuantificationUnit for validation constraints 1470 * @param smallMoleculeQuantificationUnit a {@code Parameter} parameter. 1471 * @return Metadata 1472 **/ 1473 public Metadata smallMoleculeQuantificationUnit(Parameter smallMoleculeQuantificationUnit) { 1474 this.smallMoleculeQuantificationUnit = smallMoleculeQuantificationUnit; 1475 return this; 1476 } 1477 1478 /** 1479 * Defines what type of units are reported in the small molecule summary quantification / abundance fields. 1480 * 1481 * @return smallMoleculeQuantificationUnit 1482 **/ 1483 @NotNull 1484 @Valid 1485 @ApiModelProperty(required = true, value = "Defines what type of units are reported in the small molecule summary quantification / abundance fields.") 1486 public Parameter getSmallMoleculeQuantificationUnit() { 1487 return smallMoleculeQuantificationUnit; 1488 } 1489 1490 /** 1491 * Set smallMoleculeQuantificationUnit. 1492 * 1493 * 1494 * 1495 * @see #getSmallMoleculeQuantificationUnit Metadata#getSmallMoleculeQuantificationUnit for validation constraints 1496 * @param smallMoleculeQuantificationUnit a {@code Parameter} parameter. 1497 **/ 1498 public void setSmallMoleculeQuantificationUnit(Parameter smallMoleculeQuantificationUnit) { 1499 this.smallMoleculeQuantificationUnit = smallMoleculeQuantificationUnit; 1500 } 1501 1502 1503 /** 1504 * Builder method for smallMoleculeFeatureQuantificationUnit. 1505 * 1506 * @see Metadata#setSmallMoleculeFeatureQuantificationUnit Metadata#setSmallMoleculeFeatureQuantificationUnit for specification examples 1507 * @see Metadata#getSmallMoleculeFeatureQuantificationUnit Metadata#getSmallMoleculeFeatureQuantificationUnit for validation constraints 1508 * @param smallMoleculeFeatureQuantificationUnit a {@code Parameter} parameter. 1509 * @return Metadata 1510 **/ 1511 public Metadata smallMoleculeFeatureQuantificationUnit(Parameter smallMoleculeFeatureQuantificationUnit) { 1512 this.smallMoleculeFeatureQuantificationUnit = smallMoleculeFeatureQuantificationUnit; 1513 return this; 1514 } 1515 1516 /** 1517 * Defines what type of units are reported in the small molecule feature quantification / abundance fields. 1518 * 1519 * @return smallMoleculeFeatureQuantificationUnit 1520 **/ 1521 @NotNull 1522 @Valid 1523 @ApiModelProperty(required = true, value = "Defines what type of units are reported in the small molecule feature quantification / abundance fields.") 1524 public Parameter getSmallMoleculeFeatureQuantificationUnit() { 1525 return smallMoleculeFeatureQuantificationUnit; 1526 } 1527 1528 /** 1529 * Set smallMoleculeFeatureQuantificationUnit. 1530 * 1531 * 1532 * 1533 * @see #getSmallMoleculeFeatureQuantificationUnit Metadata#getSmallMoleculeFeatureQuantificationUnit for validation constraints 1534 * @param smallMoleculeFeatureQuantificationUnit a {@code Parameter} parameter. 1535 **/ 1536 public void setSmallMoleculeFeatureQuantificationUnit(Parameter smallMoleculeFeatureQuantificationUnit) { 1537 this.smallMoleculeFeatureQuantificationUnit = smallMoleculeFeatureQuantificationUnit; 1538 } 1539 1540 1541 /** 1542 * Builder method for smallMoleculeIdentificationReliability. 1543 * 1544 * @see Metadata#setSmallMoleculeIdentificationReliability Metadata#setSmallMoleculeIdentificationReliability for specification examples 1545 * @see Metadata#getSmallMoleculeIdentificationReliability Metadata#getSmallMoleculeIdentificationReliability for validation constraints 1546 * @param smallMoleculeIdentificationReliability a {@code Parameter} parameter. 1547 * @return Metadata 1548 **/ 1549 public Metadata smallMoleculeIdentificationReliability(Parameter smallMoleculeIdentificationReliability) { 1550 this.smallMoleculeIdentificationReliability = smallMoleculeIdentificationReliability; 1551 return this; 1552 } 1553 1554 /** 1555 * The system used for giving reliability / confidence codes to small molecule identifications MUST be specified if not using the default codes. 1556 * 1557 * @return smallMoleculeIdentificationReliability 1558 **/ 1559 @Valid 1560 @ApiModelProperty(value = "The system used for giving reliability / confidence codes to small molecule identifications MUST be specified if not using the default codes.") 1561 public Parameter getSmallMoleculeIdentificationReliability() { 1562 return smallMoleculeIdentificationReliability; 1563 } 1564 1565 /** 1566 * Set smallMoleculeIdentificationReliability. 1567 * 1568 * 1569 * 1570 * @see #getSmallMoleculeIdentificationReliability Metadata#getSmallMoleculeIdentificationReliability for validation constraints 1571 * @param smallMoleculeIdentificationReliability a {@code Parameter} parameter. 1572 **/ 1573 public void setSmallMoleculeIdentificationReliability(Parameter smallMoleculeIdentificationReliability) { 1574 this.smallMoleculeIdentificationReliability = smallMoleculeIdentificationReliability; 1575 } 1576 1577 1578 /** 1579 * Builder method for idConfidenceMeasure. 1580 * 1581 * @see Metadata#setIdConfidenceMeasure Metadata#setIdConfidenceMeasure for specification examples 1582 * @see Metadata#getIdConfidenceMeasure Metadata#getIdConfidenceMeasure for validation constraints 1583 * @param idConfidenceMeasure a {@code List<Parameter>} parameter. 1584 * @return Metadata 1585 **/ 1586 public Metadata idConfidenceMeasure(List<Parameter> idConfidenceMeasure) { 1587 this.idConfidenceMeasure = idConfidenceMeasure; 1588 return this; 1589 } 1590 1591 /** 1592 * Add a single idConfidenceMeasureItem to the idConfidenceMeasure collection. 1593 * 1594 * @see Metadata#getIdConfidenceMeasure Metadata#getIdConfidenceMeasure for validation constraints 1595 * @param idConfidenceMeasureItem a {@code Parameter} parameter. 1596 * @return Metadata 1597 */ 1598 public Metadata addIdConfidenceMeasureItem(Parameter idConfidenceMeasureItem) { 1599 this.idConfidenceMeasure.add(idConfidenceMeasureItem); 1600 return this; 1601 } 1602 1603 /** 1604 * The type of small molecule confidence measures or scores MUST be reported as a CV parameter [1-n]. The CV parameter definition should formally state whether the ordering is high to low or vice versa. The order of the scores SHOULD reflect their importance for the identification and be used to determine the identification’s rank. 1605 * 1606 * @return idConfidenceMeasure 1607 **/ 1608 @NotNull 1609 @Valid 1610 @ApiModelProperty(required = true, value = "The type of small molecule confidence measures or scores MUST be reported as a CV parameter [1-n]. The CV parameter definition should formally state whether the ordering is high to low or vice versa. The order of the scores SHOULD reflect their importance for the identification and be used to determine the identification’s rank.") 1611 public List<Parameter> getIdConfidenceMeasure() { 1612 return idConfidenceMeasure; 1613 } 1614 1615 /** 1616 * Set idConfidenceMeasure. 1617 * 1618 * <p>mzTab-M specification example(s):</p> 1619 * <pre><code>MTD id_confidence_measure[1] [MS,MS:1002889,Progenesis MetaScope Score,] 1620MTD id_confidence_measure[2] [MS,MS:1002890,fragmentation score,] 1621MTD id_confidence_measure[3] [MS,MS:1002891,isotopic fit score,] 1622</code></pre> 1623 * 1624 * 1625 * @see #getIdConfidenceMeasure Metadata#getIdConfidenceMeasure for validation constraints 1626 * @param idConfidenceMeasure a {@code List<Parameter>} parameter. 1627 **/ 1628 public void setIdConfidenceMeasure(List<Parameter> idConfidenceMeasure) { 1629 this.idConfidenceMeasure = idConfidenceMeasure; 1630 } 1631 1632 1633 /** 1634 * Builder method for colunitSmallMolecule. 1635 * 1636 * @see Metadata#setColunitSmallMolecule Metadata#setColunitSmallMolecule for specification examples 1637 * @see Metadata#getColunitSmallMolecule Metadata#getColunitSmallMolecule for validation constraints 1638 * @param colunitSmallMolecule a {@code List<ColumnParameterMapping>} parameter. 1639 * @return Metadata 1640 **/ 1641 public Metadata colunitSmallMolecule(List<ColumnParameterMapping> colunitSmallMolecule) { 1642 this.colunitSmallMolecule = colunitSmallMolecule; 1643 return this; 1644 } 1645 1646 /** 1647 * Add a single colunitSmallMoleculeItem to the colunitSmallMolecule collection. 1648 * 1649 * @see Metadata#getColunitSmallMolecule Metadata#getColunitSmallMolecule for validation constraints 1650 * @param colunitSmallMoleculeItem a {@code ColumnParameterMapping} parameter. 1651 * @return Metadata 1652 */ 1653 public Metadata addColunitSmallMoleculeItem(ColumnParameterMapping colunitSmallMoleculeItem) { 1654 if (this.colunitSmallMolecule == null) { 1655 this.colunitSmallMolecule = new ArrayList<>(); 1656 } 1657 this.colunitSmallMolecule.add(colunitSmallMoleculeItem); 1658 return this; 1659 } 1660 1661 /** 1662 * Defines the used unit for a column in the small molecule section. The format of the value has to be \{column name}=\{Parameter defining the unit}. This field MUST NOT be used to define a unit for quantification columns. The unit used for small molecule quantification values MUST be set in small_molecule-quantification_unit. 1663 * 1664 * @return colunitSmallMolecule 1665 **/ 1666 @Valid 1667 @ApiModelProperty(value = "Defines the used unit for a column in the small molecule section. The format of the value has to be \\{column name}=\\{Parameter defining the unit}. This field MUST NOT be used to define a unit for quantification columns. The unit used for small molecule quantification values MUST be set in small_molecule-quantification_unit.") 1668 public List<ColumnParameterMapping> getColunitSmallMolecule() { 1669 return colunitSmallMolecule; 1670 } 1671 1672 /** 1673 * Set colunitSmallMolecule. 1674 * 1675 * <p>mzTab-M specification example(s):</p> 1676 * <pre><code>COM colunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area' 1677MTD colunit-small_molecule opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,] 1678</code></pre> 1679 * 1680 * 1681 * @see #getColunitSmallMolecule Metadata#getColunitSmallMolecule for validation constraints 1682 * @param colunitSmallMolecule a {@code List<ColumnParameterMapping>} parameter. 1683 **/ 1684 public void setColunitSmallMolecule(List<ColumnParameterMapping> colunitSmallMolecule) { 1685 this.colunitSmallMolecule = colunitSmallMolecule; 1686 } 1687 1688 1689 /** 1690 * Builder method for colunitSmallMoleculeFeature. 1691 * 1692 * @see Metadata#setColunitSmallMoleculeFeature Metadata#setColunitSmallMoleculeFeature for specification examples 1693 * @see Metadata#getColunitSmallMoleculeFeature Metadata#getColunitSmallMoleculeFeature for validation constraints 1694 * @param colunitSmallMoleculeFeature a {@code List<ColumnParameterMapping>} parameter. 1695 * @return Metadata 1696 **/ 1697 public Metadata colunitSmallMoleculeFeature(List<ColumnParameterMapping> colunitSmallMoleculeFeature) { 1698 this.colunitSmallMoleculeFeature = colunitSmallMoleculeFeature; 1699 return this; 1700 } 1701 1702 /** 1703 * Add a single colunitSmallMoleculeFeatureItem to the colunitSmallMoleculeFeature collection. 1704 * 1705 * @see Metadata#getColunitSmallMoleculeFeature Metadata#getColunitSmallMoleculeFeature for validation constraints 1706 * @param colunitSmallMoleculeFeatureItem a {@code ColumnParameterMapping} parameter. 1707 * @return Metadata 1708 */ 1709 public Metadata addColunitSmallMoleculeFeatureItem(ColumnParameterMapping colunitSmallMoleculeFeatureItem) { 1710 if (this.colunitSmallMoleculeFeature == null) { 1711 this.colunitSmallMoleculeFeature = new ArrayList<>(); 1712 } 1713 this.colunitSmallMoleculeFeature.add(colunitSmallMoleculeFeatureItem); 1714 return this; 1715 } 1716 1717 /** 1718 * Defines the used unit for a column in the small molecule feature section. The format of the value has to be \{column name}=\{Parameter defining the unit}. This field MUST NOT be used to define a unit for quantification columns. The unit used for small molecule quantification values MUST be set in small_molecule_feature-quantification_unit. 1719 * 1720 * @return colunitSmallMoleculeFeature 1721 **/ 1722 @Valid 1723 @ApiModelProperty(value = "Defines the used unit for a column in the small molecule feature section. The format of the value has to be \\{column name}=\\{Parameter defining the unit}. This field MUST NOT be used to define a unit for quantification columns. The unit used for small molecule quantification values MUST be set in small_molecule_feature-quantification_unit.") 1724 public List<ColumnParameterMapping> getColunitSmallMoleculeFeature() { 1725 return colunitSmallMoleculeFeature; 1726 } 1727 1728 /** 1729 * Set colunitSmallMoleculeFeature. 1730 * 1731 * <p>mzTab-M specification example(s):</p> 1732 * <pre><code>COM colunit for optional small molecule feature column with the name 'opt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time' referencing ms_run[1] 1733MTD colunit-small_molecule_feature opt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time=[UO,UO:0000031, minute,] 1734</code></pre> 1735 * 1736 * 1737 * @see #getColunitSmallMoleculeFeature Metadata#getColunitSmallMoleculeFeature for validation constraints 1738 * @param colunitSmallMoleculeFeature a {@code List<ColumnParameterMapping>} parameter. 1739 **/ 1740 public void setColunitSmallMoleculeFeature(List<ColumnParameterMapping> colunitSmallMoleculeFeature) { 1741 this.colunitSmallMoleculeFeature = colunitSmallMoleculeFeature; 1742 } 1743 1744 1745 /** 1746 * Builder method for colunitSmallMoleculeEvidence. 1747 * 1748 * @see Metadata#setColunitSmallMoleculeEvidence Metadata#setColunitSmallMoleculeEvidence for specification examples 1749 * @see Metadata#getColunitSmallMoleculeEvidence Metadata#getColunitSmallMoleculeEvidence for validation constraints 1750 * @param colunitSmallMoleculeEvidence a {@code List<ColumnParameterMapping>} parameter. 1751 * @return Metadata 1752 **/ 1753 public Metadata colunitSmallMoleculeEvidence(List<ColumnParameterMapping> colunitSmallMoleculeEvidence) { 1754 this.colunitSmallMoleculeEvidence = colunitSmallMoleculeEvidence; 1755 return this; 1756 } 1757 1758 /** 1759 * Add a single colunitSmallMoleculeEvidenceItem to the colunitSmallMoleculeEvidence collection. 1760 * 1761 * @see Metadata#getColunitSmallMoleculeEvidence Metadata#getColunitSmallMoleculeEvidence for validation constraints 1762 * @param colunitSmallMoleculeEvidenceItem a {@code ColumnParameterMapping} parameter. 1763 * @return Metadata 1764 */ 1765 public Metadata addColunitSmallMoleculeEvidenceItem(ColumnParameterMapping colunitSmallMoleculeEvidenceItem) { 1766 if (this.colunitSmallMoleculeEvidence == null) { 1767 this.colunitSmallMoleculeEvidence = new ArrayList<>(); 1768 } 1769 this.colunitSmallMoleculeEvidence.add(colunitSmallMoleculeEvidenceItem); 1770 return this; 1771 } 1772 1773 /** 1774 * Defines the used unit for a column in the small molecule evidence section. The format of the value has to be \{column name}=\{Parameter defining the unit}. 1775 * 1776 * @return colunitSmallMoleculeEvidence 1777 **/ 1778 @Valid 1779 @ApiModelProperty(value = "Defines the used unit for a column in the small molecule evidence section. The format of the value has to be \\{column name}=\\{Parameter defining the unit}.") 1780 public List<ColumnParameterMapping> getColunitSmallMoleculeEvidence() { 1781 return colunitSmallMoleculeEvidence; 1782 } 1783 1784 /** 1785 * Set colunitSmallMoleculeEvidence. 1786 * 1787 * <p>mzTab-M specification example(s):</p> 1788 * <pre><code>COM colunit for optional small molecule evidence column with the name 'opt_global_mass_error' 1789MTD colunit-small_molecule_evidence opt_global_mass_error=[UO, UO:0000169, parts per million, ] 1790</code></pre> 1791 * 1792 * 1793 * @see #getColunitSmallMoleculeEvidence Metadata#getColunitSmallMoleculeEvidence for validation constraints 1794 * @param colunitSmallMoleculeEvidence a {@code List<ColumnParameterMapping>} parameter. 1795 **/ 1796 public void setColunitSmallMoleculeEvidence(List<ColumnParameterMapping> colunitSmallMoleculeEvidence) { 1797 this.colunitSmallMoleculeEvidence = colunitSmallMoleculeEvidence; 1798 } 1799 1800 1801 @Override 1802 public boolean equals(java.lang.Object o) { 1803 if (this == o) { 1804 return true; 1805 } 1806 if (o == null || getClass() != o.getClass()) { 1807 return false; 1808 } 1809 Metadata metadata = (Metadata) o; 1810 return Objects.equals(this.prefix, metadata.prefix) && 1811 Objects.equals(this.mzTabVersion, metadata.mzTabVersion) && 1812 Objects.equals(this.mzTabID, metadata.mzTabID) && 1813 Objects.equals(this.title, metadata.title) && 1814 Objects.equals(this.description, metadata.description) && 1815 Objects.equals(this.sampleProcessing, metadata.sampleProcessing) && 1816 Objects.equals(this.instrument, metadata.instrument) && 1817 Objects.equals(this.software, metadata.software) && 1818 Objects.equals(this.publication, metadata.publication) && 1819 Objects.equals(this.contact, metadata.contact) && 1820 Objects.equals(this.uri, metadata.uri) && 1821 Objects.equals(this.externalStudyUri, metadata.externalStudyUri) && 1822 Objects.equals(this.quantificationMethod, metadata.quantificationMethod) && 1823 Objects.equals(this.studyVariable, metadata.studyVariable) && 1824 Objects.equals(this.msRun, metadata.msRun) && 1825 Objects.equals(this.assay, metadata.assay) && 1826 Objects.equals(this.sample, metadata.sample) && 1827 Objects.equals(this.custom, metadata.custom) && 1828 Objects.equals(this.cv, metadata.cv) && 1829 Objects.equals(this.database, metadata.database) && 1830 Objects.equals(this.derivatizationAgent, metadata.derivatizationAgent) && 1831 Objects.equals(this.smallMoleculeQuantificationUnit, metadata.smallMoleculeQuantificationUnit) && 1832 Objects.equals(this.smallMoleculeFeatureQuantificationUnit, metadata.smallMoleculeFeatureQuantificationUnit) && 1833 Objects.equals(this.smallMoleculeIdentificationReliability, metadata.smallMoleculeIdentificationReliability) && 1834 Objects.equals(this.idConfidenceMeasure, metadata.idConfidenceMeasure) && 1835 Objects.equals(this.colunitSmallMolecule, metadata.colunitSmallMolecule) && 1836 Objects.equals(this.colunitSmallMoleculeFeature, metadata.colunitSmallMoleculeFeature) && 1837 Objects.equals(this.colunitSmallMoleculeEvidence, metadata.colunitSmallMoleculeEvidence); 1838 } 1839 1840 @Override 1841 public int hashCode() { 1842 return Objects.hash(prefix, mzTabVersion, mzTabID, title, description, sampleProcessing, instrument, software, publication, contact, uri, externalStudyUri, quantificationMethod, studyVariable, msRun, assay, sample, custom, cv, database, derivatizationAgent, smallMoleculeQuantificationUnit, smallMoleculeFeatureQuantificationUnit, smallMoleculeIdentificationReliability, idConfidenceMeasure, colunitSmallMolecule, colunitSmallMoleculeFeature, colunitSmallMoleculeEvidence); 1843 } 1844 1845 1846 @Override 1847 public String toString() { 1848 StringBuilder sb = new StringBuilder(); 1849 sb.append("class Metadata {\n"); 1850 1851 sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); 1852 sb.append(" mzTabVersion: ").append(toIndentedString(mzTabVersion)).append("\n"); 1853 sb.append(" mzTabID: ").append(toIndentedString(mzTabID)).append("\n"); 1854 sb.append(" title: ").append(toIndentedString(title)).append("\n"); 1855 sb.append(" description: ").append(toIndentedString(description)).append("\n"); 1856 sb.append(" sampleProcessing: ").append(toIndentedString(sampleProcessing)).append("\n"); 1857 sb.append(" instrument: ").append(toIndentedString(instrument)).append("\n"); 1858 sb.append(" software: ").append(toIndentedString(software)).append("\n"); 1859 sb.append(" publication: ").append(toIndentedString(publication)).append("\n"); 1860 sb.append(" contact: ").append(toIndentedString(contact)).append("\n"); 1861 sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); 1862 sb.append(" externalStudyUri: ").append(toIndentedString(externalStudyUri)).append("\n"); 1863 sb.append(" quantificationMethod: ").append(toIndentedString(quantificationMethod)).append("\n"); 1864 sb.append(" studyVariable: ").append(toIndentedString(studyVariable)).append("\n"); 1865 sb.append(" msRun: ").append(toIndentedString(msRun)).append("\n"); 1866 sb.append(" assay: ").append(toIndentedString(assay)).append("\n"); 1867 sb.append(" sample: ").append(toIndentedString(sample)).append("\n"); 1868 sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); 1869 sb.append(" cv: ").append(toIndentedString(cv)).append("\n"); 1870 sb.append(" database: ").append(toIndentedString(database)).append("\n"); 1871 sb.append(" derivatizationAgent: ").append(toIndentedString(derivatizationAgent)).append("\n"); 1872 sb.append(" smallMoleculeQuantificationUnit: ").append(toIndentedString(smallMoleculeQuantificationUnit)).append("\n"); 1873 sb.append(" smallMoleculeFeatureQuantificationUnit: ").append(toIndentedString(smallMoleculeFeatureQuantificationUnit)).append("\n"); 1874 sb.append(" smallMoleculeIdentificationReliability: ").append(toIndentedString(smallMoleculeIdentificationReliability)).append("\n"); 1875 sb.append(" idConfidenceMeasure: ").append(toIndentedString(idConfidenceMeasure)).append("\n"); 1876 sb.append(" colunitSmallMolecule: ").append(toIndentedString(colunitSmallMolecule)).append("\n"); 1877 sb.append(" colunitSmallMoleculeFeature: ").append(toIndentedString(colunitSmallMoleculeFeature)).append("\n"); 1878 sb.append(" colunitSmallMoleculeEvidence: ").append(toIndentedString(colunitSmallMoleculeEvidence)).append("\n"); 1879 sb.append("}"); 1880 return sb.toString(); 1881 } 1882 1883 /** 1884 * Convert the given object to string with each line indented by 4 spaces 1885 * (except the first line). 1886 */ 1887 private String toIndentedString(java.lang.Object o) { 1888 if (o == null) { 1889 return "null"; 1890 } 1891 return o.toString().replace("\n", "\n "); 1892 } 1893 1894} 1895