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 = "2021-01-02T19:26:21.550+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 contact("contact"), 076 publication("publication"), 077 uri("uri"), 078 externalStudyUri("external_study_uri"), 079 instrument("instrument"), 080 quantificationMethod("quantification_method"), 081 sample("sample"), 082 sampleProcessing("sample_processing"), 083 software("software"), 084 derivatizationAgent("derivatization_agent"), 085 msRun("ms_run"), 086 assay("assay"), 087 studyVariable("study_variable"), 088 custom("custom"), 089 cv("cv"), 090 smallMoleculeQuantificationUnit("small_molecule-quantification_unit"), 091 smallMoleculeFeatureQuantificationUnit("small_molecule_feature-quantification_unit"), 092 smallMoleculeIdentificationReliability("small_molecule-identification_reliability"), 093 database("database"), 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("contact") 180 // Is a container wrapped=false 181 // items.name=contact items.baseName=contact items.xmlName= items.xmlNamespace= 182 // items.example= items.type=Contact 183 @XmlElement(name = "contact") 184 private List<Contact> contact = null; 185 @JsonProperty("publication") 186 // Is a container wrapped=false 187 // items.name=publication items.baseName=publication items.xmlName= items.xmlNamespace= 188 // items.example= items.type=Publication 189 @XmlElement(name = "publication") 190 private List<Publication> publication = null; 191 @JsonProperty("uri") 192 // Is a container wrapped=false 193 // items.name=uri items.baseName=uri items.xmlName= items.xmlNamespace= 194 // items.example= items.type=Uri 195 @XmlElement(name = "uri") 196 private List<Uri> uri = null; 197 @JsonProperty("external_study_uri") 198 // Is a container wrapped=false 199 // items.name=externalStudyUri items.baseName=externalStudyUri items.xmlName= items.xmlNamespace= 200 // items.example= items.type=Uri 201 @XmlElement(name = "externalStudyUri") 202 private List<Uri> externalStudyUri = null; 203 @JsonProperty("instrument") 204 // Is a container wrapped=false 205 // items.name=instrument items.baseName=instrument items.xmlName= items.xmlNamespace= 206 // items.example= items.type=Instrument 207 @XmlElement(name = "instrument") 208 private List<Instrument> instrument = null; 209 @JsonProperty("quantification_method") 210 @JacksonXmlProperty(localName = "quantification_method") 211 @XmlElement(name = "quantification_method") 212 private Parameter quantificationMethod = null; 213 @JsonProperty("sample") 214 // Is a container wrapped=false 215 // items.name=sample items.baseName=sample items.xmlName= items.xmlNamespace= 216 // items.example= items.type=Sample 217 @XmlElement(name = "sample") 218 private List<Sample> sample = null; 219 @JsonProperty("sample_processing") 220 // Is a container wrapped=false 221 // items.name=sampleProcessing items.baseName=sampleProcessing items.xmlName= items.xmlNamespace= 222 // items.example= items.type=SampleProcessing 223 @XmlElement(name = "sampleProcessing") 224 private List<SampleProcessing> sampleProcessing = null; 225 @JsonProperty("software") 226 // Is a container wrapped=false 227 // items.name=software items.baseName=software items.xmlName= items.xmlNamespace= 228 // items.example= items.type=Software 229 @XmlElement(name = "software") 230 private List<Software> software = new ArrayList<>(); 231 @JsonProperty("derivatization_agent") 232 // Is a container wrapped=false 233 // items.name=derivatizationAgent items.baseName=derivatizationAgent items.xmlName= items.xmlNamespace= 234 // items.example= items.type=Parameter 235 @XmlElement(name = "derivatizationAgent") 236 private List<Parameter> derivatizationAgent = null; 237 @JsonProperty("ms_run") 238 // Is a container wrapped=false 239 // items.name=msRun items.baseName=msRun items.xmlName= items.xmlNamespace= 240 // items.example= items.type=MsRun 241 @XmlElement(name = "msRun") 242 private List<MsRun> msRun = new ArrayList<>(); 243 @JsonProperty("assay") 244 // Is a container wrapped=false 245 // items.name=assay items.baseName=assay items.xmlName= items.xmlNamespace= 246 // items.example= items.type=Assay 247 @XmlElement(name = "assay") 248 private List<Assay> assay = new ArrayList<>(); 249 @JsonProperty("study_variable") 250 // Is a container wrapped=false 251 // items.name=studyVariable items.baseName=studyVariable items.xmlName= items.xmlNamespace= 252 // items.example= items.type=StudyVariable 253 @XmlElement(name = "studyVariable") 254 private List<StudyVariable> studyVariable = new ArrayList<>(); 255 @JsonProperty("custom") 256 // Is a container wrapped=false 257 // items.name=custom items.baseName=custom items.xmlName= items.xmlNamespace= 258 // items.example= items.type=Parameter 259 @XmlElement(name = "custom") 260 private List<Parameter> custom = null; 261 @JsonProperty("cv") 262 // Is a container wrapped=false 263 // items.name=cv items.baseName=cv items.xmlName= items.xmlNamespace= 264 // items.example= items.type=CV 265 @XmlElement(name = "cv") 266 private List<CV> cv = new ArrayList<>(); 267 @JsonProperty("small_molecule-quantification_unit") 268 @JacksonXmlProperty(localName = "small_molecule-quantification_unit") 269 @XmlElement(name = "small_molecule-quantification_unit") 270 private Parameter smallMoleculeQuantificationUnit = null; 271 @JsonProperty("small_molecule_feature-quantification_unit") 272 @JacksonXmlProperty(localName = "small_molecule_feature-quantification_unit") 273 @XmlElement(name = "small_molecule_feature-quantification_unit") 274 private Parameter smallMoleculeFeatureQuantificationUnit = null; 275 @JsonProperty("small_molecule-identification_reliability") 276 @JacksonXmlProperty(localName = "small_molecule-identification_reliability") 277 @XmlElement(name = "small_molecule-identification_reliability") 278 private Parameter smallMoleculeIdentificationReliability = null; 279 @JsonProperty("database") 280 // Is a container wrapped=false 281 // items.name=database items.baseName=database items.xmlName= items.xmlNamespace= 282 // items.example= items.type=Database 283 @XmlElement(name = "database") 284 private List<Database> database = new ArrayList<>(); 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 contact. 504 * 505 * @see Metadata#setContact Metadata#setContact for specification examples 506 * @see Metadata#getContact Metadata#getContact for validation constraints 507 * @param contact a {@code List<Contact>} parameter. 508 * @return Metadata 509 **/ 510 public Metadata contact(List<Contact> contact) { 511 this.contact = contact; 512 return this; 513 } 514 515 /** 516 * Add a single contactItem to the contact collection. 517 * 518 * @see Metadata#getContact Metadata#getContact for validation constraints 519 * @param contactItem a {@code Contact} parameter. 520 * @return Metadata 521 */ 522 public Metadata addContactItem(Contact contactItem) { 523 if (this.contact == null) { 524 this.contact = new ArrayList<>(); 525 } 526 this.contact.add(contactItem); 527 return this; 528 } 529 530 /** 531 * 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]. 532 * 533 * @return contact 534 **/ 535 @Valid 536 @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].") 537 public List<Contact> getContact() { 538 return contact; 539 } 540 541 /** 542 * Set contact. 543 * 544 * <p>mzTab-M specification example(s):</p> 545 * <pre><code>MTD contact[1]-name James D. Watson 546MTD contact[1]-affiliation Cambridge University, UK 547MTD contact[1]-email watson@cam.ac.uk 548MTD contact[2]-name Francis Crick 549MTD contact[2]-affiliation Cambridge University, UK 550MTD contact[2]-email crick@cam.ac.uk 551</code></pre> 552 * 553 * 554 * @see #getContact Metadata#getContact for validation constraints 555 * @param contact a {@code List<Contact>} parameter. 556 **/ 557 public void setContact(List<Contact> contact) { 558 this.contact = contact; 559 } 560 561 562 /** 563 * Builder method for publication. 564 * 565 * @see Metadata#setPublication Metadata#setPublication for specification examples 566 * @see Metadata#getPublication Metadata#getPublication for validation constraints 567 * @param publication a {@code List<Publication>} parameter. 568 * @return Metadata 569 **/ 570 public Metadata publication(List<Publication> publication) { 571 this.publication = publication; 572 return this; 573 } 574 575 /** 576 * Add a single publicationItem to the publication collection. 577 * 578 * @see Metadata#getPublication Metadata#getPublication for validation constraints 579 * @param publicationItem a {@code Publication} parameter. 580 * @return Metadata 581 */ 582 public Metadata addPublicationItem(Publication publicationItem) { 583 if (this.publication == null) { 584 this.publication = new ArrayList<>(); 585 } 586 this.publication.add(publicationItem); 587 return this; 588 } 589 590 /** 591 * 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 “|”. 592 * 593 * @return publication 594 **/ 595 @Valid 596 @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 “|”.") 597 public List<Publication> getPublication() { 598 return publication; 599 } 600 601 /** 602 * Set publication. 603 * 604 * <p>mzTab-M specification example(s):</p> 605 * <pre><code>MTD publication[1] pubmed:21063943|doi:10.1007/978-1-60761-987-1_6 606MTD publication[2] pubmed:20615486|doi:10.1016/j.jprot.2010.06.008 607</code></pre> 608 * 609 * 610 * @see #getPublication Metadata#getPublication for validation constraints 611 * @param publication a {@code List<Publication>} parameter. 612 **/ 613 public void setPublication(List<Publication> publication) { 614 this.publication = publication; 615 } 616 617 618 /** 619 * Builder method for uri. 620 * 621 * @see Metadata#setUri Metadata#setUri for specification examples 622 * @see Metadata#getUri Metadata#getUri for validation constraints 623 * @param uri a {@code List<Uri>} parameter. 624 * @return Metadata 625 **/ 626 public Metadata uri(List<Uri> uri) { 627 this.uri = uri; 628 return this; 629 } 630 631 /** 632 * Add a single uriItem to the uri collection. 633 * 634 * @see Metadata#getUri Metadata#getUri for validation constraints 635 * @param uriItem a {@code Uri} parameter. 636 * @return Metadata 637 */ 638 public Metadata addUriItem(Uri uriItem) { 639 if (this.uri == null) { 640 this.uri = new ArrayList<>(); 641 } 642 this.uri.add(uriItem); 643 return this; 644 } 645 646 /** 647 * A URI pointing to the file’s source data (e.g., a MetaboLights records). 648 * 649 * @return uri 650 **/ 651 @Valid 652 @ApiModelProperty(value = "A URI pointing to the file’s source data (e.g., a MetaboLights records).") 653 public List<Uri> getUri() { 654 return uri; 655 } 656 657 /** 658 * Set uri. 659 * 660 * <p>mzTab-M specification example(s):</p> 661 * <pre><code>MTD uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517 662</code></pre> 663 * 664 * 665 * @see #getUri Metadata#getUri for validation constraints 666 * @param uri a {@code List<Uri>} parameter. 667 **/ 668 public void setUri(List<Uri> uri) { 669 this.uri = uri; 670 } 671 672 673 /** 674 * Builder method for externalStudyUri. 675 * 676 * @see Metadata#setExternalStudyUri Metadata#setExternalStudyUri for specification examples 677 * @see Metadata#getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 678 * @param externalStudyUri a {@code List<Uri>} parameter. 679 * @return Metadata 680 **/ 681 public Metadata externalStudyUri(List<Uri> externalStudyUri) { 682 this.externalStudyUri = externalStudyUri; 683 return this; 684 } 685 686 /** 687 * Add a single externalStudyUriItem to the externalStudyUri collection. 688 * 689 * @see Metadata#getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 690 * @param externalStudyUriItem a {@code Uri} parameter. 691 * @return Metadata 692 */ 693 public Metadata addExternalStudyUriItem(Uri externalStudyUriItem) { 694 if (this.externalStudyUri == null) { 695 this.externalStudyUri = new ArrayList<>(); 696 } 697 this.externalStudyUri.add(externalStudyUriItem); 698 return this; 699 } 700 701 /** 702 * A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file). 703 * 704 * @return externalStudyUri 705 **/ 706 @Valid 707 @ApiModelProperty(value = "A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file).") 708 public List<Uri> getExternalStudyUri() { 709 return externalStudyUri; 710 } 711 712 /** 713 * Set externalStudyUri. 714 * 715 * <p>mzTab-M specification example(s):</p> 716 * <pre><code>MTD external_study_uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt 717</code></pre> 718 * 719 * 720 * @see #getExternalStudyUri Metadata#getExternalStudyUri for validation constraints 721 * @param externalStudyUri a {@code List<Uri>} parameter. 722 **/ 723 public void setExternalStudyUri(List<Uri> externalStudyUri) { 724 this.externalStudyUri = externalStudyUri; 725 } 726 727 728 /** 729 * Builder method for instrument. 730 * 731 * @see Metadata#setInstrument Metadata#setInstrument for specification examples 732 * @see Metadata#getInstrument Metadata#getInstrument for validation constraints 733 * @param instrument a {@code List<Instrument>} parameter. 734 * @return Metadata 735 **/ 736 public Metadata instrument(List<Instrument> instrument) { 737 this.instrument = instrument; 738 return this; 739 } 740 741 /** 742 * Add a single instrumentItem to the instrument collection. 743 * 744 * @see Metadata#getInstrument Metadata#getInstrument for validation constraints 745 * @param instrumentItem a {@code Instrument} parameter. 746 * @return Metadata 747 */ 748 public Metadata addInstrumentItem(Instrument instrumentItem) { 749 if (this.instrument == null) { 750 this.instrument = new ArrayList<>(); 751 } 752 this.instrument.add(instrumentItem); 753 return this; 754 } 755 756 /** 757 * The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n]. 758 * 759 * @return instrument 760 **/ 761 @Valid 762 @ApiModelProperty(value = "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].") 763 public List<Instrument> getInstrument() { 764 return instrument; 765 } 766 767 /** 768 * Set instrument. 769 * 770 * <p>mzTab-M specification example(s):</p> 771 * <pre><code>MTD instrument[1]-name [MS, MS:1000449, LTQ Orbitrap,] 772MTD instrument[1]-source [MS, MS:1000073, ESI,] 773… 774MTD instrument[2]-source [MS, MS:1000598, ETD,] 775MTD instrument[1]-analyzer[1] [MS, MS:1000291, linear ion trap,] 776… 777MTD instrument[2]-analyzer[1] [MS, MS:1000484, orbitrap,] 778MTD instrument[1]-detector [MS, MS:1000253, electron multiplier,] 779… 780MTD instrument[2]-detector [MS, MS:1000348, focal plane collector,] 781</code></pre> 782 * 783 * 784 * @see #getInstrument Metadata#getInstrument for validation constraints 785 * @param instrument a {@code List<Instrument>} parameter. 786 **/ 787 public void setInstrument(List<Instrument> instrument) { 788 this.instrument = instrument; 789 } 790 791 792 /** 793 * Builder method for quantificationMethod. 794 * 795 * @see Metadata#setQuantificationMethod Metadata#setQuantificationMethod for specification examples 796 * @see Metadata#getQuantificationMethod Metadata#getQuantificationMethod for validation constraints 797 * @param quantificationMethod a {@code Parameter} parameter. 798 * @return Metadata 799 **/ 800 public Metadata quantificationMethod(Parameter quantificationMethod) { 801 this.quantificationMethod = quantificationMethod; 802 return this; 803 } 804 805 /** 806 * The quantification method used in the experiment reported in the file. 807 * 808 * @return quantificationMethod 809 **/ 810 @NotNull 811 @Valid 812 @ApiModelProperty(required = true, value = "The quantification method used in the experiment reported in the file.") 813 public Parameter getQuantificationMethod() { 814 return quantificationMethod; 815 } 816 817 /** 818 * Set quantificationMethod. 819 * 820 * 821 * 822 * @see #getQuantificationMethod Metadata#getQuantificationMethod for validation constraints 823 * @param quantificationMethod a {@code Parameter} parameter. 824 **/ 825 public void setQuantificationMethod(Parameter quantificationMethod) { 826 this.quantificationMethod = quantificationMethod; 827 } 828 829 830 /** 831 * Builder method for sample. 832 * 833 * @see Metadata#setSample Metadata#setSample for specification examples 834 * @see Metadata#getSample Metadata#getSample for validation constraints 835 * @param sample a {@code List<Sample>} parameter. 836 * @return Metadata 837 **/ 838 public Metadata sample(List<Sample> sample) { 839 this.sample = sample; 840 return this; 841 } 842 843 /** 844 * Add a single sampleItem to the sample collection. 845 * 846 * @see Metadata#getSample Metadata#getSample for validation constraints 847 * @param sampleItem a {@code Sample} parameter. 848 * @return Metadata 849 */ 850 public Metadata addSampleItem(Sample sampleItem) { 851 if (this.sample == null) { 852 this.sample = new ArrayList<>(); 853 } 854 this.sample.add(sampleItem); 855 return this; 856 } 857 858 /** 859 * Specification of sample. 860(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. 861species: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. 862tissue: The respective tissue(s) of the sample. 863cell_type: The respective cell type(s) of the sample. 864disease: The respective disease(s) of the sample. 865description: A human readable description of the sample. 866custom: Custom parameters describing the sample’s additional properties. Dates MUST be provided in ISO-8601 format. 867 868 * 869 * @return sample 870 **/ 871 @Valid 872 @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. ") 873 public List<Sample> getSample() { 874 return sample; 875 } 876 877 /** 878 * Set sample. 879 * 880 * <p>mzTab-M specification example(s):</p> 881 * <pre><code>COM Experiment where all samples consisted of the same two species 882MTD sample[1] individual number 1 883MTD sample[1]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] 884MTD sample[1]-tissue[1] [BTO, BTO:0000759, liver, ] 885MTD sample[1]-cell_type[1] [CL, CL:0000182, hepatocyte, ] 886MTD sample[1]-disease[1] [DOID, DOID:684, hepatocellular carcinoma, ] 887MTD sample[1]-disease[2] [DOID, DOID:9451, alcoholic fatty liver, ] 888MTD sample[1]-description Hepatocellular carcinoma samples. 889MTD sample[1]-custom[1] [,,Extraction date, 2011-12-21] 890MTD sample[1]-custom[2] [,,Extraction reason, liver biopsy] 891MTD sample[2] individual number 2 892MTD sample[2]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] 893MTD sample[2]-tissue[1] [BTO, BTO:0000759, liver, ] 894MTD sample[2]-cell_type[1] [CL, CL:0000182, hepatocyte, ] 895MTD sample[2]-description Healthy control samples. 896</code></pre> 897 * 898 * 899 * @see #getSample Metadata#getSample for validation constraints 900 * @param sample a {@code List<Sample>} parameter. 901 **/ 902 public void setSample(List<Sample> sample) { 903 this.sample = sample; 904 } 905 906 907 /** 908 * Builder method for sampleProcessing. 909 * 910 * @see Metadata#setSampleProcessing Metadata#setSampleProcessing for specification examples 911 * @see Metadata#getSampleProcessing Metadata#getSampleProcessing for validation constraints 912 * @param sampleProcessing a {@code List<SampleProcessing>} parameter. 913 * @return Metadata 914 **/ 915 public Metadata sampleProcessing(List<SampleProcessing> sampleProcessing) { 916 this.sampleProcessing = sampleProcessing; 917 return this; 918 } 919 920 /** 921 * Add a single sampleProcessingItem to the sampleProcessing collection. 922 * 923 * @see Metadata#getSampleProcessing Metadata#getSampleProcessing for validation constraints 924 * @param sampleProcessingItem a {@code SampleProcessing} parameter. 925 * @return Metadata 926 */ 927 public Metadata addSampleProcessingItem(SampleProcessing sampleProcessingItem) { 928 if (this.sampleProcessing == null) { 929 this.sampleProcessing = new ArrayList<>(); 930 } 931 this.sampleProcessing.add(sampleProcessingItem); 932 return this; 933 } 934 935 /** 936 * 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. 937 938 * 939 * @return sampleProcessing 940 **/ 941 @Valid 942 @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. ") 943 public List<SampleProcessing> getSampleProcessing() { 944 return sampleProcessing; 945 } 946 947 /** 948 * Set sampleProcessing. 949 * 950 * <p>mzTab-M specification example(s):</p> 951 * <pre><code>MTD sample_processing[1] [MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,] 952MTD sample_processing[2] [MSIO, MSIO:0000146, centrifugation,] 953MTD sample_processing[3] [MSIO, MSIO:0000141, metabolite extraction,] 954MTD sample_processing[4] [MSIO, MSIO:0000141, silylation,] 955</code></pre> 956 * 957 * 958 * @see #getSampleProcessing Metadata#getSampleProcessing for validation constraints 959 * @param sampleProcessing a {@code List<SampleProcessing>} parameter. 960 **/ 961 public void setSampleProcessing(List<SampleProcessing> sampleProcessing) { 962 this.sampleProcessing = sampleProcessing; 963 } 964 965 966 /** 967 * Builder method for software. 968 * 969 * @see Metadata#setSoftware Metadata#setSoftware for specification examples 970 * @see Metadata#getSoftware Metadata#getSoftware for validation constraints 971 * @param software a {@code List<Software>} parameter. 972 * @return Metadata 973 **/ 974 public Metadata software(List<Software> software) { 975 this.software = software; 976 return this; 977 } 978 979 /** 980 * Add a single softwareItem to the software collection. 981 * 982 * @see Metadata#getSoftware Metadata#getSoftware for validation constraints 983 * @param softwareItem a {@code Software} parameter. 984 * @return Metadata 985 */ 986 public Metadata addSoftwareItem(Software softwareItem) { 987 this.software.add(softwareItem); 988 return this; 989 } 990 991 /** 992 * 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. 993 * 994 * @return software 995 **/ 996 @NotNull 997 @Valid 998 @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.") 999 public List<Software> getSoftware() { 1000 return software; 1001 } 1002 1003 /** 1004 * Set software. 1005 * 1006 * <p>mzTab-M specification example(s):</p> 1007 * <pre><code>MTD software[1] [MS, MS:1002879, Progenesis QI, 3.0] 1008MTD software[1]-setting Fragment tolerance = 0.1 Da 1009… 1010MTD software[2]-setting Parent tolerance = 0.5 Da 1011</code></pre> 1012 * 1013 * 1014 * @see #getSoftware Metadata#getSoftware for validation constraints 1015 * @param software a {@code List<Software>} parameter. 1016 **/ 1017 public void setSoftware(List<Software> software) { 1018 this.software = software; 1019 } 1020 1021 1022 /** 1023 * Builder method for derivatizationAgent. 1024 * 1025 * @see Metadata#setDerivatizationAgent Metadata#setDerivatizationAgent for specification examples 1026 * @see Metadata#getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1027 * @param derivatizationAgent a {@code List<Parameter>} parameter. 1028 * @return Metadata 1029 **/ 1030 public Metadata derivatizationAgent(List<Parameter> derivatizationAgent) { 1031 this.derivatizationAgent = derivatizationAgent; 1032 return this; 1033 } 1034 1035 /** 1036 * Add a single derivatizationAgentItem to the derivatizationAgent collection. 1037 * 1038 * @see Metadata#getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1039 * @param derivatizationAgentItem a {@code Parameter} parameter. 1040 * @return Metadata 1041 */ 1042 public Metadata addDerivatizationAgentItem(Parameter derivatizationAgentItem) { 1043 if (this.derivatizationAgent == null) { 1044 this.derivatizationAgent = new ArrayList<>(); 1045 } 1046 this.derivatizationAgent.add(derivatizationAgentItem); 1047 return this; 1048 } 1049 1050 /** 1051 * A description of derivatization agents applied to small molecules, using userParams or CV terms where possible. 1052 * 1053 * @return derivatizationAgent 1054 **/ 1055 @Valid 1056 @ApiModelProperty(value = "A description of derivatization agents applied to small molecules, using userParams or CV terms where possible.") 1057 public List<Parameter> getDerivatizationAgent() { 1058 return derivatizationAgent; 1059 } 1060 1061 /** 1062 * Set derivatizationAgent. 1063 * 1064 * <p>mzTab-M specification example(s):</p> 1065 * <pre><code>MTD derivatization_agent[1] [XLMOD, XLMOD:07014, N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ] 1066</code></pre> 1067 * 1068 * 1069 * @see #getDerivatizationAgent Metadata#getDerivatizationAgent for validation constraints 1070 * @param derivatizationAgent a {@code List<Parameter>} parameter. 1071 **/ 1072 public void setDerivatizationAgent(List<Parameter> derivatizationAgent) { 1073 this.derivatizationAgent = derivatizationAgent; 1074 } 1075 1076 1077 /** 1078 * Builder method for msRun. 1079 * 1080 * @see Metadata#setMsRun Metadata#setMsRun for specification examples 1081 * @see Metadata#getMsRun Metadata#getMsRun for validation constraints 1082 * @param msRun a {@code List<MsRun>} parameter. 1083 * @return Metadata 1084 **/ 1085 public Metadata msRun(List<MsRun> msRun) { 1086 this.msRun = msRun; 1087 return this; 1088 } 1089 1090 /** 1091 * Add a single msRunItem to the msRun collection. 1092 * 1093 * @see Metadata#getMsRun Metadata#getMsRun for validation constraints 1094 * @param msRunItem a {@code MsRun} parameter. 1095 * @return Metadata 1096 */ 1097 public Metadata addMsRunItem(MsRun msRunItem) { 1098 this.msRun.add(msRunItem); 1099 return this; 1100 } 1101 1102 /** 1103 * Specification of ms_run. 1104location: 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. 1105instrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. 1106format: 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. 1107id_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. 1108fragmentation_method: The type(s) of fragmentation used in a given ms run. 1109scan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs. 1110hash: 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. 1111hash_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. 1112 1113 * 1114 * @return msRun 1115 **/ 1116 @NotNull 1117 @Valid 1118 @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. ") 1119 public List<MsRun> getMsRun() { 1120 return msRun; 1121 } 1122 1123 /** 1124 * Set msRun. 1125 * 1126 * <p>mzTab-M specification example(s):</p> 1127 * <pre><code>COM location can be a local or remote URI 1128MTD ms_run[1]-location file:///C:/path/to/my/file.mzML 1129MTD ms_run[1]-instrument_ref instrument[1] 1130MTD ms_run[1]-format [MS, MS:1000584, mzML file, ] 1131MTD ms_run[1]-id_format [MS, MS:1000530, mzML unique identifier, ] 1132MTD ms_run[1]-fragmentation_method[1] [MS, MS:1000133, CID, ] 1133COM for mixed polarity scan scenarios 1134MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] 1135MTD ms_run[1]-scan_polarity[2] [MS, MS:1000129, negative scan, ] 1136MTD ms_run[1]-hash_method [MS, MS:1000569, SHA-1, ] 1137MTD ms_run[1]-hash de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 1138</code></pre> 1139 * 1140 * 1141 * @see #getMsRun Metadata#getMsRun for validation constraints 1142 * @param msRun a {@code List<MsRun>} parameter. 1143 **/ 1144 public void setMsRun(List<MsRun> msRun) { 1145 this.msRun = msRun; 1146 } 1147 1148 1149 /** 1150 * Builder method for assay. 1151 * 1152 * @see Metadata#setAssay Metadata#setAssay for specification examples 1153 * @see Metadata#getAssay Metadata#getAssay for validation constraints 1154 * @param assay a {@code List<Assay>} parameter. 1155 * @return Metadata 1156 **/ 1157 public Metadata assay(List<Assay> assay) { 1158 this.assay = assay; 1159 return this; 1160 } 1161 1162 /** 1163 * Add a single assayItem to the assay collection. 1164 * 1165 * @see Metadata#getAssay Metadata#getAssay for validation constraints 1166 * @param assayItem a {@code Assay} parameter. 1167 * @return Metadata 1168 */ 1169 public Metadata addAssayItem(Assay assayItem) { 1170 this.assay.add(assayItem); 1171 return this; 1172 } 1173 1174 /** 1175 * Specification of assay. 1176(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. 1177custom: Additional custom parameters or values for a given assay. 1178external_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. 1179sample_ref: An association from a given assay to the sample analysed. 1180ms_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. 1181 1182 * 1183 * @return assay 1184 **/ 1185 @NotNull 1186 @Valid 1187 @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. ") 1188 public List<Assay> getAssay() { 1189 return assay; 1190 } 1191 1192 /** 1193 * Set assay. 1194 * 1195 * <p>mzTab-M specification example(s):</p> 1196 * <pre><code>MTD assay[1] first assay 1197MTD assay[1]-custom[1] [MS, , Assay operator, Fred Blogs] 1198MTD assay[1]-sample_ref sample[1] 1199MTD assay[1]-ms_run_ref ms_run[1] 1200MTD assay[1]-external_uri https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt 1201MTD assay[2] second assay 1202MTD assay[2]-sample_ref sample[2] 1203</code></pre> 1204 * 1205 * 1206 * @see #getAssay Metadata#getAssay for validation constraints 1207 * @param assay a {@code List<Assay>} parameter. 1208 **/ 1209 public void setAssay(List<Assay> assay) { 1210 this.assay = assay; 1211 } 1212 1213 1214 /** 1215 * Builder method for studyVariable. 1216 * 1217 * @see Metadata#setStudyVariable Metadata#setStudyVariable for specification examples 1218 * @see Metadata#getStudyVariable Metadata#getStudyVariable for validation constraints 1219 * @param studyVariable a {@code List<StudyVariable>} parameter. 1220 * @return Metadata 1221 **/ 1222 public Metadata studyVariable(List<StudyVariable> studyVariable) { 1223 this.studyVariable = studyVariable; 1224 return this; 1225 } 1226 1227 /** 1228 * Add a single studyVariableItem to the studyVariable collection. 1229 * 1230 * @see Metadata#getStudyVariable Metadata#getStudyVariable for validation constraints 1231 * @param studyVariableItem a {@code StudyVariable} parameter. 1232 * @return Metadata 1233 */ 1234 public Metadata addStudyVariableItem(StudyVariable studyVariableItem) { 1235 this.studyVariable.add(studyVariableItem); 1236 return this; 1237 } 1238 1239 /** 1240 * Specification of study_variable. 1241(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“. 1242assay_refs: Bar-separated references to the IDs of assays grouped in the study variable. 1243average_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. 1244variation_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”. 1245description: A textual description of the study variable. 1246factors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. 1247 1248 * 1249 * @return studyVariable 1250 **/ 1251 @NotNull 1252 @Valid 1253 @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. ") 1254 public List<StudyVariable> getStudyVariable() { 1255 return studyVariable; 1256 } 1257 1258 /** 1259 * Set studyVariable. 1260 * 1261 * <p>mzTab-M specification example(s):</p> 1262 * <pre><code>MTD study_variable[1] control 1263MTD study_variable[1]-assay_refs assay[1]| assay[2]| assay[3] 1264MTD study_variable-average_function [MS, MS:1002883, median, ] 1265MTD study_variable-variation_function [MS, MS:1002885, standard error, ] 1266MTD study_variable[1]-description Group B (spike-in 0.74 fmol/uL) 1267MTD study_variable[1]-factors [,,rapamycin dose,0.5mg] 1268MTD study_variable[2] 1 minute 1269</code></pre> 1270 * 1271 * 1272 * @see #getStudyVariable Metadata#getStudyVariable for validation constraints 1273 * @param studyVariable a {@code List<StudyVariable>} parameter. 1274 **/ 1275 public void setStudyVariable(List<StudyVariable> studyVariable) { 1276 this.studyVariable = studyVariable; 1277 } 1278 1279 1280 /** 1281 * Builder method for custom. 1282 * 1283 * @see Metadata#setCustom Metadata#setCustom for specification examples 1284 * @see Metadata#getCustom Metadata#getCustom for validation constraints 1285 * @param custom a {@code List<Parameter>} parameter. 1286 * @return Metadata 1287 **/ 1288 public Metadata custom(List<Parameter> custom) { 1289 this.custom = custom; 1290 return this; 1291 } 1292 1293 /** 1294 * Add a single customItem to the custom collection. 1295 * 1296 * @see Metadata#getCustom Metadata#getCustom for validation constraints 1297 * @param customItem a {@code Parameter} parameter. 1298 * @return Metadata 1299 */ 1300 public Metadata addCustomItem(Parameter customItem) { 1301 if (this.custom == null) { 1302 this.custom = new ArrayList<>(); 1303 } 1304 this.custom.add(customItem); 1305 return this; 1306 } 1307 1308 /** 1309 * Any additional parameters describing the analysis reported. 1310 * 1311 * @return custom 1312 **/ 1313 @Valid 1314 @ApiModelProperty(value = "Any additional parameters describing the analysis reported.") 1315 public List<Parameter> getCustom() { 1316 return custom; 1317 } 1318 1319 /** 1320 * Set custom. 1321 * 1322 * <p>mzTab-M specification example(s):</p> 1323 * <pre><code>MTD custom[1] [,,MS operator, Florian] 1324</code></pre> 1325 * 1326 * 1327 * @see #getCustom Metadata#getCustom for validation constraints 1328 * @param custom a {@code List<Parameter>} parameter. 1329 **/ 1330 public void setCustom(List<Parameter> custom) { 1331 this.custom = custom; 1332 } 1333 1334 1335 /** 1336 * Builder method for cv. 1337 * 1338 * @see Metadata#setCv Metadata#setCv for specification examples 1339 * @see Metadata#getCv Metadata#getCv for validation constraints 1340 * @param cv a {@code List<CV>} parameter. 1341 * @return Metadata 1342 **/ 1343 public Metadata cv(List<CV> cv) { 1344 this.cv = cv; 1345 return this; 1346 } 1347 1348 /** 1349 * Add a single cvItem to the cv collection. 1350 * 1351 * @see Metadata#getCv Metadata#getCv for validation constraints 1352 * @param cvItem a {@code CV} parameter. 1353 * @return Metadata 1354 */ 1355 public Metadata addCvItem(CV cvItem) { 1356 this.cv.add(cvItem); 1357 return this; 1358 } 1359 1360 /** 1361 * Specification of controlled vocabularies. 1362label: 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. 1363full_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file. 1364version: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file. 1365uri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file. 1366 1367 * 1368 * @return cv 1369 **/ 1370 @NotNull 1371 @Valid 1372 @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. ") 1373 public List<CV> getCv() { 1374 return cv; 1375 } 1376 1377 /** 1378 * Set cv. 1379 * 1380 * <p>mzTab-M specification example(s):</p> 1381 * <pre><code>MTD cv[1]-label MS 1382MTD cv[1]-full_name PSI-MS controlled vocabulary 1383MTD cv[1]-version 4.1.11 1384MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo 1385</code></pre> 1386 * 1387 * 1388 * @see #getCv Metadata#getCv for validation constraints 1389 * @param cv a {@code List<CV>} parameter. 1390 **/ 1391 public void setCv(List<CV> cv) { 1392 this.cv = cv; 1393 } 1394 1395 1396 /** 1397 * Builder method for smallMoleculeQuantificationUnit. 1398 * 1399 * @see Metadata#setSmallMoleculeQuantificationUnit Metadata#setSmallMoleculeQuantificationUnit for specification examples 1400 * @see Metadata#getSmallMoleculeQuantificationUnit Metadata#getSmallMoleculeQuantificationUnit for validation constraints 1401 * @param smallMoleculeQuantificationUnit a {@code Parameter} parameter. 1402 * @return Metadata 1403 **/ 1404 public Metadata smallMoleculeQuantificationUnit(Parameter smallMoleculeQuantificationUnit) { 1405 this.smallMoleculeQuantificationUnit = smallMoleculeQuantificationUnit; 1406 return this; 1407 } 1408 1409 /** 1410 * Defines what type of units are reported in the small molecule summary quantification / abundance fields. 1411 * 1412 * @return smallMoleculeQuantificationUnit 1413 **/ 1414 @NotNull 1415 @Valid 1416 @ApiModelProperty(required = true, value = "Defines what type of units are reported in the small molecule summary quantification / abundance fields.") 1417 public Parameter getSmallMoleculeQuantificationUnit() { 1418 return smallMoleculeQuantificationUnit; 1419 } 1420 1421 /** 1422 * Set smallMoleculeQuantificationUnit. 1423 * 1424 * 1425 * 1426 * @see #getSmallMoleculeQuantificationUnit Metadata#getSmallMoleculeQuantificationUnit for validation constraints 1427 * @param smallMoleculeQuantificationUnit a {@code Parameter} parameter. 1428 **/ 1429 public void setSmallMoleculeQuantificationUnit(Parameter smallMoleculeQuantificationUnit) { 1430 this.smallMoleculeQuantificationUnit = smallMoleculeQuantificationUnit; 1431 } 1432 1433 1434 /** 1435 * Builder method for smallMoleculeFeatureQuantificationUnit. 1436 * 1437 * @see Metadata#setSmallMoleculeFeatureQuantificationUnit Metadata#setSmallMoleculeFeatureQuantificationUnit for specification examples 1438 * @see Metadata#getSmallMoleculeFeatureQuantificationUnit Metadata#getSmallMoleculeFeatureQuantificationUnit for validation constraints 1439 * @param smallMoleculeFeatureQuantificationUnit a {@code Parameter} parameter. 1440 * @return Metadata 1441 **/ 1442 public Metadata smallMoleculeFeatureQuantificationUnit(Parameter smallMoleculeFeatureQuantificationUnit) { 1443 this.smallMoleculeFeatureQuantificationUnit = smallMoleculeFeatureQuantificationUnit; 1444 return this; 1445 } 1446 1447 /** 1448 * Defines what type of units are reported in the small molecule feature quantification / abundance fields. 1449 * 1450 * @return smallMoleculeFeatureQuantificationUnit 1451 **/ 1452 @NotNull 1453 @Valid 1454 @ApiModelProperty(required = true, value = "Defines what type of units are reported in the small molecule feature quantification / abundance fields.") 1455 public Parameter getSmallMoleculeFeatureQuantificationUnit() { 1456 return smallMoleculeFeatureQuantificationUnit; 1457 } 1458 1459 /** 1460 * Set smallMoleculeFeatureQuantificationUnit. 1461 * 1462 * 1463 * 1464 * @see #getSmallMoleculeFeatureQuantificationUnit Metadata#getSmallMoleculeFeatureQuantificationUnit for validation constraints 1465 * @param smallMoleculeFeatureQuantificationUnit a {@code Parameter} parameter. 1466 **/ 1467 public void setSmallMoleculeFeatureQuantificationUnit(Parameter smallMoleculeFeatureQuantificationUnit) { 1468 this.smallMoleculeFeatureQuantificationUnit = smallMoleculeFeatureQuantificationUnit; 1469 } 1470 1471 1472 /** 1473 * Builder method for smallMoleculeIdentificationReliability. 1474 * 1475 * @see Metadata#setSmallMoleculeIdentificationReliability Metadata#setSmallMoleculeIdentificationReliability for specification examples 1476 * @see Metadata#getSmallMoleculeIdentificationReliability Metadata#getSmallMoleculeIdentificationReliability for validation constraints 1477 * @param smallMoleculeIdentificationReliability a {@code Parameter} parameter. 1478 * @return Metadata 1479 **/ 1480 public Metadata smallMoleculeIdentificationReliability(Parameter smallMoleculeIdentificationReliability) { 1481 this.smallMoleculeIdentificationReliability = smallMoleculeIdentificationReliability; 1482 return this; 1483 } 1484 1485 /** 1486 * The system used for giving reliability / confidence codes to small molecule identifications MUST be specified if not using the default codes. 1487 * 1488 * @return smallMoleculeIdentificationReliability 1489 **/ 1490 @Valid 1491 @ApiModelProperty(value = "The system used for giving reliability / confidence codes to small molecule identifications MUST be specified if not using the default codes.") 1492 public Parameter getSmallMoleculeIdentificationReliability() { 1493 return smallMoleculeIdentificationReliability; 1494 } 1495 1496 /** 1497 * Set smallMoleculeIdentificationReliability. 1498 * 1499 * 1500 * 1501 * @see #getSmallMoleculeIdentificationReliability Metadata#getSmallMoleculeIdentificationReliability for validation constraints 1502 * @param smallMoleculeIdentificationReliability a {@code Parameter} parameter. 1503 **/ 1504 public void setSmallMoleculeIdentificationReliability(Parameter smallMoleculeIdentificationReliability) { 1505 this.smallMoleculeIdentificationReliability = smallMoleculeIdentificationReliability; 1506 } 1507 1508 1509 /** 1510 * Builder method for database. 1511 * 1512 * @see Metadata#setDatabase Metadata#setDatabase for specification examples 1513 * @see Metadata#getDatabase Metadata#getDatabase for validation constraints 1514 * @param database a {@code List<Database>} parameter. 1515 * @return Metadata 1516 **/ 1517 public Metadata database(List<Database> database) { 1518 this.database = database; 1519 return this; 1520 } 1521 1522 /** 1523 * Add a single databaseItem to the database collection. 1524 * 1525 * @see Metadata#getDatabase Metadata#getDatabase for validation constraints 1526 * @param databaseItem a {@code Database} parameter. 1527 * @return Metadata 1528 */ 1529 public Metadata addDatabaseItem(Database databaseItem) { 1530 this.database.add(databaseItem); 1531 return this; 1532 } 1533 1534 /** 1535 * Specification of databases. 1536(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. 1537prefix: The prefix used in the “identifier” column of data tables. For the “no database” case "null" must be used. 1538version: 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. 1539uri: The URI to the database. For the “no database” case, "null" must be reported. 1540 1541 * 1542 * @return database 1543 **/ 1544 @NotNull 1545 @Valid 1546 @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. ") 1547 public List<Database> getDatabase() { 1548 return database; 1549 } 1550 1551 /** 1552 * Set database. 1553 * 1554 * <p>mzTab-M specification example(s):</p> 1555 * <pre><code>MTD database[1] [MIRIAM, MIR:00100079, HMDB, ] 1556MTD database[1]-prefix hmdb 1557MTD database[1]-version 3.6 1558MTD database[1]-uri http://www.hmdb.ca/ 1559MTD database[2] [,, "de novo", ] 1560MTD database[2]-prefix dn 1561MTD database[2]-version Unknown 1562MTD database[2]-uri null 1563MTD database[3] [,, "no database", null ] 1564MTD database[3]-prefix null 1565MTD database[3]-version Unknown 1566MTD database[3]-uri null 1567</code></pre> 1568 * 1569 * 1570 * @see #getDatabase Metadata#getDatabase for validation constraints 1571 * @param database a {@code List<Database>} parameter. 1572 **/ 1573 public void setDatabase(List<Database> database) { 1574 this.database = database; 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.contact, metadata.contact) && 1816 Objects.equals(this.publication, metadata.publication) && 1817 Objects.equals(this.uri, metadata.uri) && 1818 Objects.equals(this.externalStudyUri, metadata.externalStudyUri) && 1819 Objects.equals(this.instrument, metadata.instrument) && 1820 Objects.equals(this.quantificationMethod, metadata.quantificationMethod) && 1821 Objects.equals(this.sample, metadata.sample) && 1822 Objects.equals(this.sampleProcessing, metadata.sampleProcessing) && 1823 Objects.equals(this.software, metadata.software) && 1824 Objects.equals(this.derivatizationAgent, metadata.derivatizationAgent) && 1825 Objects.equals(this.msRun, metadata.msRun) && 1826 Objects.equals(this.assay, metadata.assay) && 1827 Objects.equals(this.studyVariable, metadata.studyVariable) && 1828 Objects.equals(this.custom, metadata.custom) && 1829 Objects.equals(this.cv, metadata.cv) && 1830 Objects.equals(this.smallMoleculeQuantificationUnit, metadata.smallMoleculeQuantificationUnit) && 1831 Objects.equals(this.smallMoleculeFeatureQuantificationUnit, metadata.smallMoleculeFeatureQuantificationUnit) && 1832 Objects.equals(this.smallMoleculeIdentificationReliability, metadata.smallMoleculeIdentificationReliability) && 1833 Objects.equals(this.database, metadata.database) && 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, contact, publication, uri, externalStudyUri, instrument, quantificationMethod, sample, sampleProcessing, software, derivatizationAgent, msRun, assay, studyVariable, custom, cv, smallMoleculeQuantificationUnit, smallMoleculeFeatureQuantificationUnit, smallMoleculeIdentificationReliability, database, 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(" contact: ").append(toIndentedString(contact)).append("\n"); 1857 sb.append(" publication: ").append(toIndentedString(publication)).append("\n"); 1858 sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); 1859 sb.append(" externalStudyUri: ").append(toIndentedString(externalStudyUri)).append("\n"); 1860 sb.append(" instrument: ").append(toIndentedString(instrument)).append("\n"); 1861 sb.append(" quantificationMethod: ").append(toIndentedString(quantificationMethod)).append("\n"); 1862 sb.append(" sample: ").append(toIndentedString(sample)).append("\n"); 1863 sb.append(" sampleProcessing: ").append(toIndentedString(sampleProcessing)).append("\n"); 1864 sb.append(" software: ").append(toIndentedString(software)).append("\n"); 1865 sb.append(" derivatizationAgent: ").append(toIndentedString(derivatizationAgent)).append("\n"); 1866 sb.append(" msRun: ").append(toIndentedString(msRun)).append("\n"); 1867 sb.append(" assay: ").append(toIndentedString(assay)).append("\n"); 1868 sb.append(" studyVariable: ").append(toIndentedString(studyVariable)).append("\n"); 1869 sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); 1870 sb.append(" cv: ").append(toIndentedString(cv)).append("\n"); 1871 sb.append(" smallMoleculeQuantificationUnit: ").append(toIndentedString(smallMoleculeQuantificationUnit)).append("\n"); 1872 sb.append(" smallMoleculeFeatureQuantificationUnit: ").append(toIndentedString(smallMoleculeFeatureQuantificationUnit)).append("\n"); 1873 sb.append(" smallMoleculeIdentificationReliability: ").append(toIndentedString(smallMoleculeIdentificationReliability)).append("\n"); 1874 sb.append(" database: ").append(toIndentedString(database)).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