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.Comment; 022import de.isas.mztab2.model.OptColumnMapping; 023import de.isas.mztab2.model.Parameter; 024import de.isas.mztab2.model.SpectraRef; 025import io.swagger.annotations.ApiModel; 026import io.swagger.annotations.ApiModelProperty; 027import java.util.ArrayList; 028import java.util.List; 029import com.fasterxml.jackson.dataformat.xml.annotation.*; 030import javax.xml.bind.annotation.*; 031import javax.validation.constraints.*; 032import javax.validation.Valid; 033import de.isas.lipidomics.mztab2.validation.constraints.*; 034/** 035 * 036 * The small molecule evidence section is table-based, representing evidence for identifications of small molecules/features, from database search or any other process used to give putative identifications to molecules. In a typical case, each row represents one result from a single search or intepretation of a piece of evidence e.g. a database search with a fragmentation spectrum. Multiple results from a given input data item (e.g. one fragment spectrum) SHOULD share the same value under evidence_input_id. 037 038The small molecule evidence section MUST always come after the Small Molecule Feature Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using “null”. 039 040The order of columns MUST follow the order specified below. 041 042All columns are MANDATORY except for “opt_” columns. 043 044 * 045 * 046 * 047 * 048 */ 049@ApiModel(description = "The small molecule evidence section is table-based, representing evidence for identifications of small molecules/features, from database search or any other process used to give putative identifications to molecules. In a typical case, each row represents one result from a single search or intepretation of a piece of evidence e.g. a database search with a fragmentation spectrum. Multiple results from a given input data item (e.g. one fragment spectrum) SHOULD share the same value under evidence_input_id. The small molecule evidence section MUST always come after the Small Molecule Feature Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using “null”. The order of columns MUST follow the order specified below. All columns are MANDATORY except for “opt_” columns. ") 050@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2020-02-11T15:12:05.057+01:00") 051@XmlRootElement(name = "SmallMoleculeEvidence") 052@XmlAccessorType(XmlAccessType.FIELD) 053@JacksonXmlRootElement(localName = "SmallMoleculeEvidence") 054public class SmallMoleculeEvidence { 055 056 /** 057 * Property enumeration for SmallMoleculeEvidence. 058 */ 059 public static enum Properties { 060 prefix("prefix"), 061 headerPrefix("header_prefix"), 062 smeId("sme_id"), 063 evidenceInputId("evidence_input_id"), 064 databaseIdentifier("database_identifier"), 065 chemicalFormula("chemical_formula"), 066 smiles("smiles"), 067 inchi("inchi"), 068 chemicalName("chemical_name"), 069 uri("uri"), 070 derivatizedForm("derivatized_form"), 071 adductIon("adduct_ion"), 072 expMassToCharge("exp_mass_to_charge"), 073 charge("charge"), 074 theoreticalMassToCharge("theoretical_mass_to_charge"), 075 spectraRef("spectra_ref"), 076 identificationMethod("identification_method"), 077 msLevel("ms_level"), 078 idConfidenceMeasure("id_confidence_measure"), 079 rank("rank"), 080 opt("opt"), 081 comment("comment"); 082 083 private final String propertyName; 084 085 private Properties(String propertyName) { 086 this.propertyName = propertyName; 087 } 088 089 public String getPropertyName() { 090 return propertyName; 091 } 092 093 public String toString() { 094 return propertyName; 095 } 096 097 public String toUpper() { 098 return propertyName.toUpperCase(); 099 } 100 101 public static Properties of(String value) { 102 if(value==null) { 103 throw new NullPointerException("Argument value must not be null!"); 104 } 105 return Arrays.asList(Properties.values()).stream().filter(m -> m.propertyName.equals(value.toLowerCase())).findAny().orElseThrow(IllegalArgumentException::new); 106 } 107 }; 108 109 /** 110 * The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table. 111 */ 112 public enum PrefixEnum { 113 SME("SME"); 114 115 private String value; 116 117 PrefixEnum(String value) { 118 this.value = value; 119 } 120 121 @JsonValue 122 public String getValue() { 123 return value; 124 } 125 126 @Override 127 public String toString() { 128 return String.valueOf(value); 129 } 130 131 @JsonCreator 132 public static PrefixEnum fromValue(String text) { 133 for (PrefixEnum b : PrefixEnum.values()) { 134 if (String.valueOf(b.value).equals(text)) { 135 return b; 136 } 137 } 138 return null; 139 } 140 } 141 142 @JsonProperty("prefix") 143 @JacksonXmlProperty(localName = "prefix") 144 @XmlElement(name = "prefix") 145 private PrefixEnum prefix = PrefixEnum.SME; 146 /** 147 * The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels). 148 */ 149 public enum HeaderPrefixEnum { 150 SEH("SEH"); 151 152 private String value; 153 154 HeaderPrefixEnum(String value) { 155 this.value = value; 156 } 157 158 @JsonValue 159 public String getValue() { 160 return value; 161 } 162 163 @Override 164 public String toString() { 165 return String.valueOf(value); 166 } 167 168 @JsonCreator 169 public static HeaderPrefixEnum fromValue(String text) { 170 for (HeaderPrefixEnum b : HeaderPrefixEnum.values()) { 171 if (String.valueOf(b.value).equals(text)) { 172 return b; 173 } 174 } 175 return null; 176 } 177 } 178 179 @JsonProperty("header_prefix") 180 @JacksonXmlProperty(localName = "header_prefix") 181 @XmlElement(name = "header_prefix") 182 private HeaderPrefixEnum headerPrefix = HeaderPrefixEnum.SEH; 183 @JsonProperty("sme_id") 184 @JacksonXmlProperty(localName = "sme_id") 185 @XmlElement(name = "sme_id") 186 private Integer smeId = null; 187 @JsonProperty("evidence_input_id") 188 @JacksonXmlProperty(localName = "evidence_input_id") 189 @XmlElement(name = "evidence_input_id") 190 private String evidenceInputId = null; 191 @JsonProperty("database_identifier") 192 @JacksonXmlProperty(localName = "database_identifier") 193 @XmlElement(name = "database_identifier") 194 private String databaseIdentifier = null; 195 @JsonProperty("chemical_formula") 196 @JacksonXmlProperty(localName = "chemical_formula") 197 @XmlElement(name = "chemical_formula") 198 private String chemicalFormula = null; 199 @JsonProperty("smiles") 200 @JacksonXmlProperty(localName = "smiles") 201 @XmlElement(name = "smiles") 202 private String smiles = null; 203 @JsonProperty("inchi") 204 @JacksonXmlProperty(localName = "inchi") 205 @XmlElement(name = "inchi") 206 private String inchi = null; 207 @JsonProperty("chemical_name") 208 @JacksonXmlProperty(localName = "chemical_name") 209 @XmlElement(name = "chemical_name") 210 private String chemicalName = null; 211 @JsonProperty("uri") 212 @JacksonXmlProperty(localName = "uri") 213 @XmlElement(name = "uri") 214 private String uri = null; 215 @JsonProperty("derivatized_form") 216 @JacksonXmlProperty(localName = "derivatized_form") 217 @XmlElement(name = "derivatized_form") 218 private Parameter derivatizedForm = null; 219 @JsonProperty("adduct_ion") 220 @JacksonXmlProperty(localName = "adduct_ion") 221 @XmlElement(name = "adduct_ion") 222 private String adductIon = null; 223 @JsonProperty("exp_mass_to_charge") 224 @JacksonXmlProperty(localName = "exp_mass_to_charge") 225 @XmlElement(name = "exp_mass_to_charge") 226 private Double expMassToCharge = null; 227 @JsonProperty("charge") 228 @JacksonXmlProperty(localName = "charge") 229 @XmlElement(name = "charge") 230 private Integer charge = null; 231 @JsonProperty("theoretical_mass_to_charge") 232 @JacksonXmlProperty(localName = "theoretical_mass_to_charge") 233 @XmlElement(name = "theoretical_mass_to_charge") 234 private Double theoreticalMassToCharge = null; 235 @JsonProperty("spectra_ref") 236 // Is a container wrapped=false 237 // items.name=spectraRef items.baseName=spectraRef items.xmlName= items.xmlNamespace= 238 // items.example= items.type=SpectraRef 239 @XmlElement(name = "spectraRef") 240 private List<SpectraRef> spectraRef = new ArrayList<>(); 241 @JsonProperty("identification_method") 242 @JacksonXmlProperty(localName = "identification_method") 243 @XmlElement(name = "identification_method") 244 private Parameter identificationMethod = null; 245 @JsonProperty("ms_level") 246 @JacksonXmlProperty(localName = "ms_level") 247 @XmlElement(name = "ms_level") 248 private Parameter msLevel = null; 249 @JsonProperty("id_confidence_measure") 250 // Is a container wrapped=false 251 // items.name=idConfidenceMeasure items.baseName=idConfidenceMeasure items.xmlName= items.xmlNamespace= 252 // items.example= items.type=Double 253 @XmlElement(name = "idConfidenceMeasure") 254 private List<Double> idConfidenceMeasure = null; 255 @JsonProperty("rank") 256 @JacksonXmlProperty(localName = "rank") 257 @XmlElement(name = "rank") 258 private Integer rank = 1; 259 @JsonProperty("opt") 260 // Is a container wrapped=false 261 // items.name=opt items.baseName=opt items.xmlName= items.xmlNamespace= 262 // items.example= items.type=OptColumnMapping 263 @XmlElement(name = "opt") 264 private List<OptColumnMapping> opt = null; 265 @JsonProperty("comment") 266 // Is a container wrapped=false 267 // items.name=comment items.baseName=comment items.xmlName= items.xmlNamespace= 268 // items.example= items.type=Comment 269 @XmlElement(name = "comment") 270 private List<Comment> comment = null; 271 /** 272 * The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table. 273 * 274 * @return prefix 275 **/ 276 @ApiModelProperty(value = "The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table.") 277 public PrefixEnum getPrefix() { 278 return prefix; 279 } 280 281 /** 282 * The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels). 283 * 284 * @return headerPrefix 285 **/ 286 @ApiModelProperty(value = "The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels).") 287 public HeaderPrefixEnum getHeaderPrefix() { 288 return headerPrefix; 289 } 290 291 292 /** 293 * Builder method for smeId. 294 * 295 * @see SmallMoleculeEvidence#setSmeId SmallMoleculeEvidence#setSmeId for specification examples 296 * @see SmallMoleculeEvidence#getSmeId SmallMoleculeEvidence#getSmeId for validation constraints 297 * @param smeId a {@code Integer} parameter. 298 * @return SmallMoleculeEvidence 299 **/ 300 public SmallMoleculeEvidence smeId(Integer smeId) { 301 this.smeId = smeId; 302 return this; 303 } 304 305 /** 306 * A within file unique identifier for the small molecule evidence result. 307 * 308 * @return smeId 309 **/ 310 @NotNull 311 @ApiModelProperty(required = true, value = "A within file unique identifier for the small molecule evidence result.") 312 public Integer getSmeId() { 313 return smeId; 314 } 315 316 /** 317 * Set smeId. 318 * 319 * <p>mzTab-M specification example(s):</p> 320 * <pre><code>SEH SME_ID … 321SME 1 … 322</code></pre> 323 * 324 * 325 * @see #getSmeId SmallMoleculeEvidence#getSmeId for validation constraints 326 * @param smeId a {@code Integer} parameter. 327 **/ 328 public void setSmeId(Integer smeId) { 329 this.smeId = smeId; 330 } 331 332 333 /** 334 * Builder method for evidenceInputId. 335 * 336 * @see SmallMoleculeEvidence#setEvidenceInputId SmallMoleculeEvidence#setEvidenceInputId for specification examples 337 * @see SmallMoleculeEvidence#getEvidenceInputId SmallMoleculeEvidence#getEvidenceInputId for validation constraints 338 * @param evidenceInputId a {@code String} parameter. 339 * @return SmallMoleculeEvidence 340 **/ 341 public SmallMoleculeEvidence evidenceInputId(String evidenceInputId) { 342 this.evidenceInputId = evidenceInputId; 343 return this; 344 } 345 346 /** 347 * A within file unique identifier for the input data used to support this identification e.g. fragment spectrum, RT and m/z pair, isotope profile that was used for the identification process, to serve as a grouping mechanism, whereby multiple rows of results from the same input data share the same ID. The identifiers may be human readable but should not be assumed to be interpretable. For example, if fragmentation spectra have been searched then the ID may be the spectrum reference, or for accurate mass search, the ms_run[2]:458.75. 348 * 349 * @return evidenceInputId 350 **/ 351 @NotNull 352 @ApiModelProperty(required = true, value = "A within file unique identifier for the input data used to support this identification e.g. fragment spectrum, RT and m/z pair, isotope profile that was used for the identification process, to serve as a grouping mechanism, whereby multiple rows of results from the same input data share the same ID. The identifiers may be human readable but should not be assumed to be interpretable. For example, if fragmentation spectra have been searched then the ID may be the spectrum reference, or for accurate mass search, the ms_run[2]:458.75.") 353 public String getEvidenceInputId() { 354 return evidenceInputId; 355 } 356 357 /** 358 * Set evidenceInputId. 359 * 360 * <p>mzTab-M specification example(s):</p> 361 * <pre><code>SEH SME_ID evidence_input_id … 362SME 1 ms_run[1]:mass=278.65;rt=376.5 363SME 2 ms_run[1]:mass=278.65;rt=376.5 364SME 3 ms_run[1]:mass=278.65;rt=376.5 365(in this example three identifications were made from the same accurate mass/RT library search) 366</code></pre> 367 * 368 * 369 * @see #getEvidenceInputId SmallMoleculeEvidence#getEvidenceInputId for validation constraints 370 * @param evidenceInputId a {@code String} parameter. 371 **/ 372 public void setEvidenceInputId(String evidenceInputId) { 373 this.evidenceInputId = evidenceInputId; 374 } 375 376 377 /** 378 * Builder method for databaseIdentifier. 379 * 380 * @see SmallMoleculeEvidence#setDatabaseIdentifier SmallMoleculeEvidence#setDatabaseIdentifier for specification examples 381 * @see SmallMoleculeEvidence#getDatabaseIdentifier SmallMoleculeEvidence#getDatabaseIdentifier for validation constraints 382 * @param databaseIdentifier a {@code String} parameter. 383 * @return SmallMoleculeEvidence 384 **/ 385 public SmallMoleculeEvidence databaseIdentifier(String databaseIdentifier) { 386 this.databaseIdentifier = databaseIdentifier; 387 return this; 388 } 389 390 /** 391 * The putative identification for the small molecule sourced from an external database, using the same prefix specified in database[1-n]-prefix. 392 393This could include additionally a chemical class or an identifier to a spectral library entity, even if its actual identity is unknown. 394 395For the “no database” case, "null" must be used. The unprefixed use of "null" is prohibited for any other case. If no putative identification can be reported for a particular database, it MUST be reported as the database prefix followed by null. 396 397 * 398 * @return databaseIdentifier 399 **/ 400 @NotNull 401 @ApiModelProperty(required = true, value = "The putative identification for the small molecule sourced from an external database, using the same prefix specified in database[1-n]-prefix. This could include additionally a chemical class or an identifier to a spectral library entity, even if its actual identity is unknown. For the “no database” case, \"null\" must be used. The unprefixed use of \"null\" is prohibited for any other case. If no putative identification can be reported for a particular database, it MUST be reported as the database prefix followed by null. ") 402 public String getDatabaseIdentifier() { 403 return databaseIdentifier; 404 } 405 406 /** 407 * Set databaseIdentifier. 408 * 409 * <p>mzTab-M specification example(s):</p> 410 * <pre><code>SEH SME_ID identifier … 411SME 1 CID:00027395 … 412SME 2 HMDB:HMDB12345 … 413SME 3 CID:null … 414</code></pre> 415 * 416 * 417 * @see #getDatabaseIdentifier SmallMoleculeEvidence#getDatabaseIdentifier for validation constraints 418 * @param databaseIdentifier a {@code String} parameter. 419 **/ 420 public void setDatabaseIdentifier(String databaseIdentifier) { 421 this.databaseIdentifier = databaseIdentifier; 422 } 423 424 425 /** 426 * Builder method for chemicalFormula. 427 * 428 * @see SmallMoleculeEvidence#setChemicalFormula SmallMoleculeEvidence#setChemicalFormula for specification examples 429 * @see SmallMoleculeEvidence#getChemicalFormula SmallMoleculeEvidence#getChemicalFormula for validation constraints 430 * @param chemicalFormula a {@code String} parameter. 431 * @return SmallMoleculeEvidence 432 **/ 433 public SmallMoleculeEvidence chemicalFormula(String chemicalFormula) { 434 this.chemicalFormula = chemicalFormula; 435 return this; 436 } 437 438 /** 439 * The chemical formula of the identified compound e.g. in a database, assumed to match the theoretical mass to charge (in some cases this will be the derivatized form, including adducts and protons). 440 441This should be specified in Hill notation (EA Hill 1900), i.e. elements in the order C, H and then alphabetically all other elements. Counts of one may be omitted. Elements should be capitalized properly to avoid confusion (e.g., “CO” vs. “Co”). The chemical formula reported should refer to the neutral form. Charge state is reported by the charge field. 442 443Example N-acetylglucosamine would be encoded by the string “C8H15NO6” 444 445 * 446 * @return chemicalFormula 447 **/ 448 @ApiModelProperty(value = "The chemical formula of the identified compound e.g. in a database, assumed to match the theoretical mass to charge (in some cases this will be the derivatized form, including adducts and protons). This should be specified in Hill notation (EA Hill 1900), i.e. elements in the order C, H and then alphabetically all other elements. Counts of one may be omitted. Elements should be capitalized properly to avoid confusion (e.g., “CO” vs. “Co”). The chemical formula reported should refer to the neutral form. Charge state is reported by the charge field. Example N-acetylglucosamine would be encoded by the string “C8H15NO6” ") 449 public String getChemicalFormula() { 450 return chemicalFormula; 451 } 452 453 /** 454 * Set chemicalFormula. 455 * 456 * <p>mzTab-M specification example(s):</p> 457 * <pre><code>SEH SME_ID … chemical_formula … 458SME 1 … C17H20N4O2 … 459</code></pre> 460 * 461 * 462 * @see #getChemicalFormula SmallMoleculeEvidence#getChemicalFormula for validation constraints 463 * @param chemicalFormula a {@code String} parameter. 464 **/ 465 public void setChemicalFormula(String chemicalFormula) { 466 this.chemicalFormula = chemicalFormula; 467 } 468 469 470 /** 471 * Builder method for smiles. 472 * 473 * @see SmallMoleculeEvidence#setSmiles SmallMoleculeEvidence#setSmiles for specification examples 474 * @see SmallMoleculeEvidence#getSmiles SmallMoleculeEvidence#getSmiles for validation constraints 475 * @param smiles a {@code String} parameter. 476 * @return SmallMoleculeEvidence 477 **/ 478 public SmallMoleculeEvidence smiles(String smiles) { 479 this.smiles = smiles; 480 return this; 481 } 482 483 /** 484 * The potential molecule’s structure in the simplified molecular-input line-entry system (SMILES) for the small molecule. 485 * 486 * @return smiles 487 **/ 488 @ApiModelProperty(value = "The potential molecule’s structure in the simplified molecular-input line-entry system (SMILES) for the small molecule.") 489 public String getSmiles() { 490 return smiles; 491 } 492 493 /** 494 * Set smiles. 495 * 496 * <p>mzTab-M specification example(s):</p> 497 * <pre><code>SEH SME_ID … chemical_formula smiles … 498SML 1 … C17H20N4O2 C1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2 … 499</code></pre> 500 * 501 * 502 * @see #getSmiles SmallMoleculeEvidence#getSmiles for validation constraints 503 * @param smiles a {@code String} parameter. 504 **/ 505 public void setSmiles(String smiles) { 506 this.smiles = smiles; 507 } 508 509 510 /** 511 * Builder method for inchi. 512 * 513 * @see SmallMoleculeEvidence#setInchi SmallMoleculeEvidence#setInchi for specification examples 514 * @see SmallMoleculeEvidence#getInchi SmallMoleculeEvidence#getInchi for validation constraints 515 * @param inchi a {@code String} parameter. 516 * @return SmallMoleculeEvidence 517 **/ 518 public SmallMoleculeEvidence inchi(String inchi) { 519 this.inchi = inchi; 520 return this; 521 } 522 523 /** 524 * A standard IUPAC International Chemical Identifier (InChI) for the given substance. 525 * 526 * @return inchi 527 **/ 528 @ApiModelProperty(value = "A standard IUPAC International Chemical Identifier (InChI) for the given substance.") 529 public String getInchi() { 530 return inchi; 531 } 532 533 /** 534 * Set inchi. 535 * 536 * <p>mzTab-M specification example(s):</p> 537 * <pre><code>SEH SME_ID … chemical_formula … inchi … 538SML 1 … C17H20N4O2 … InChI=1S/C17H20N4O2/c22-16(19-12-6-14-4-2-1-3-5-14)9-13-20-21-17(23)15-7-10-18-11-8-15/h1-5,7-8,10-11,20H,6,9,12-13H2,(H,19,22)(H,21,23) … 539</code></pre> 540 * 541 * 542 * @see #getInchi SmallMoleculeEvidence#getInchi for validation constraints 543 * @param inchi a {@code String} parameter. 544 **/ 545 public void setInchi(String inchi) { 546 this.inchi = inchi; 547 } 548 549 550 /** 551 * Builder method for chemicalName. 552 * 553 * @see SmallMoleculeEvidence#setChemicalName SmallMoleculeEvidence#setChemicalName for specification examples 554 * @see SmallMoleculeEvidence#getChemicalName SmallMoleculeEvidence#getChemicalName for validation constraints 555 * @param chemicalName a {@code String} parameter. 556 * @return SmallMoleculeEvidence 557 **/ 558 public SmallMoleculeEvidence chemicalName(String chemicalName) { 559 this.chemicalName = chemicalName; 560 return this; 561 } 562 563 /** 564 * The small molecule’s chemical/common name, or general description if a chemical name is unavailable. 565 * 566 * @return chemicalName 567 **/ 568 @ApiModelProperty(value = "The small molecule’s chemical/common name, or general description if a chemical name is unavailable.") 569 public String getChemicalName() { 570 return chemicalName; 571 } 572 573 /** 574 * Set chemicalName. 575 * 576 * <p>mzTab-M specification example(s):</p> 577 * <pre><code>SEH SME_ID … chemical_name … 578SML 1 … N-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide … 579</code></pre> 580 * 581 * 582 * @see #getChemicalName SmallMoleculeEvidence#getChemicalName for validation constraints 583 * @param chemicalName a {@code String} parameter. 584 **/ 585 public void setChemicalName(String chemicalName) { 586 this.chemicalName = chemicalName; 587 } 588 589 590 /** 591 * Builder method for uri. 592 * 593 * @see SmallMoleculeEvidence#setUri SmallMoleculeEvidence#setUri for specification examples 594 * @see SmallMoleculeEvidence#getUri SmallMoleculeEvidence#getUri for validation constraints 595 * @param uri a {@code String} parameter. 596 * @return SmallMoleculeEvidence 597 **/ 598 public SmallMoleculeEvidence uri(String uri) { 599 this.uri = uri; 600 return this; 601 } 602 603 /** 604 * A URI pointing to the small molecule’s entry in a database (e.g., the small molecule’s HMDB, Chebi or KEGG entry). 605 * 606 * @return uri 607 **/ 608 @ApiModelProperty(value = "A URI pointing to the small molecule’s entry in a database (e.g., the small molecule’s HMDB, Chebi or KEGG entry).") 609 public String getUri() { 610 return uri; 611 } 612 613 /** 614 * Set uri. 615 * 616 * <p>mzTab-M specification example(s):</p> 617 * <pre><code>SEH SME_ID … uri … 618SME 1 … http://www.hmdb.ca/metabolites/HMDB00054 619</code></pre> 620 * 621 * 622 * @see #getUri SmallMoleculeEvidence#getUri for validation constraints 623 * @param uri a {@code String} parameter. 624 **/ 625 public void setUri(String uri) { 626 this.uri = uri; 627 } 628 629 630 /** 631 * Builder method for derivatizedForm. 632 * 633 * @see SmallMoleculeEvidence#setDerivatizedForm SmallMoleculeEvidence#setDerivatizedForm for specification examples 634 * @see SmallMoleculeEvidence#getDerivatizedForm SmallMoleculeEvidence#getDerivatizedForm for validation constraints 635 * @param derivatizedForm a {@code Parameter} parameter. 636 * @return SmallMoleculeEvidence 637 **/ 638 public SmallMoleculeEvidence derivatizedForm(Parameter derivatizedForm) { 639 this.derivatizedForm = derivatizedForm; 640 return this; 641 } 642 643 /** 644 * If a derivatized form has been analysed by MS, then the functional group attached to the molecule should be reported here using suitable userParam or CV terms as appropriate. 645 * 646 * @return derivatizedForm 647 **/ 648 @Valid 649 @ApiModelProperty(value = "If a derivatized form has been analysed by MS, then the functional group attached to the molecule should be reported here using suitable userParam or CV terms as appropriate.") 650 public Parameter getDerivatizedForm() { 651 return derivatizedForm; 652 } 653 654 /** 655 * Set derivatizedForm. 656 * 657 * 658 * 659 * @see #getDerivatizedForm SmallMoleculeEvidence#getDerivatizedForm for validation constraints 660 * @param derivatizedForm a {@code Parameter} parameter. 661 **/ 662 public void setDerivatizedForm(Parameter derivatizedForm) { 663 this.derivatizedForm = derivatizedForm; 664 } 665 666 667 /** 668 * Builder method for adductIon. 669 * 670 * @see SmallMoleculeEvidence#setAdductIon SmallMoleculeEvidence#setAdductIon for specification examples 671 * @see SmallMoleculeEvidence#getAdductIon SmallMoleculeEvidence#getAdductIon for validation constraints 672 * @param adductIon a {@code String} parameter. 673 * @return SmallMoleculeEvidence 674 **/ 675 public SmallMoleculeEvidence adductIon(String adductIon) { 676 this.adductIon = adductIon; 677 return this; 678 } 679 680 /** 681 * The assumed classification of this molecule’s adduct ion after detection, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-. If the adduct classification is ambiguous with regards to identification evidence it MAY be null. 682 * 683 * @return adductIon 684 **/ 685 @Pattern(regexp="^\\[\\d*M([-][\\w]*)\\]\\d*[+-]$") @ApiModelProperty(value = "The assumed classification of this molecule’s adduct ion after detection, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-. If the adduct classification is ambiguous with regards to identification evidence it MAY be null.") 686 public String getAdductIon() { 687 return adductIon; 688 } 689 690 /** 691 * Set adductIon. 692 * 693 * <p>mzTab-M specification example(s):</p> 694 * <pre><code>SEH SME_ID … adduct_ion … 695SME 1 … [M+H]+ … 696SME 2 … [M+2Na]2+ … 697OR (for negative mode): 698SME 1 … [M-H]- … 699SME 2 … [M+Cl]- … 700</code></pre> 701 * 702 * 703 * @see #getAdductIon SmallMoleculeEvidence#getAdductIon for validation constraints 704 * @param adductIon a {@code String} parameter. 705 **/ 706 public void setAdductIon(String adductIon) { 707 this.adductIon = adductIon; 708 } 709 710 711 /** 712 * Builder method for expMassToCharge. 713 * 714 * @see SmallMoleculeEvidence#setExpMassToCharge SmallMoleculeEvidence#setExpMassToCharge for specification examples 715 * @see SmallMoleculeEvidence#getExpMassToCharge SmallMoleculeEvidence#getExpMassToCharge for validation constraints 716 * @param expMassToCharge a {@code Double} parameter. 717 * @return SmallMoleculeEvidence 718 **/ 719 public SmallMoleculeEvidence expMassToCharge(Double expMassToCharge) { 720 this.expMassToCharge = expMassToCharge; 721 return this; 722 } 723 724 /** 725 * The experimental mass/charge value for the precursor ion. If multiple adduct forms have been combined into a single identification event/search, then a single value e.g. for the protonated form SHOULD be reported here. 726 * 727 * @return expMassToCharge 728 **/ 729 @NotNull 730 @ApiModelProperty(required = true, value = "The experimental mass/charge value for the precursor ion. If multiple adduct forms have been combined into a single identification event/search, then a single value e.g. for the protonated form SHOULD be reported here.") 731 public Double getExpMassToCharge() { 732 return expMassToCharge; 733 } 734 735 /** 736 * Set expMassToCharge. 737 * 738 * <p>mzTab-M specification example(s):</p> 739 * <pre><code>SEH SME_ID … exp_mass_to_charge … 740SME 1 … 1234.5 … 741</code></pre> 742 * 743 * 744 * @see #getExpMassToCharge SmallMoleculeEvidence#getExpMassToCharge for validation constraints 745 * @param expMassToCharge a {@code Double} parameter. 746 **/ 747 public void setExpMassToCharge(Double expMassToCharge) { 748 this.expMassToCharge = expMassToCharge; 749 } 750 751 752 /** 753 * Builder method for charge. 754 * 755 * @see SmallMoleculeEvidence#setCharge SmallMoleculeEvidence#setCharge for specification examples 756 * @see SmallMoleculeEvidence#getCharge SmallMoleculeEvidence#getCharge for validation constraints 757 * @param charge a {@code Integer} parameter. 758 * @return SmallMoleculeEvidence 759 **/ 760 public SmallMoleculeEvidence charge(Integer charge) { 761 this.charge = charge; 762 return this; 763 } 764 765 /** 766 * The small molecule evidence’s charge value using positive integers both for positive and negative polarity modes. 767 * 768 * @return charge 769 **/ 770 @NotNull 771 @ApiModelProperty(required = true, value = "The small molecule evidence’s charge value using positive integers both for positive and negative polarity modes.") 772 public Integer getCharge() { 773 return charge; 774 } 775 776 /** 777 * Set charge. 778 * 779 * <p>mzTab-M specification example(s):</p> 780 * <pre><code>SEH SME_ID … charge … 781SME 1 … 1 … 782</code></pre> 783 * 784 * 785 * @see #getCharge SmallMoleculeEvidence#getCharge for validation constraints 786 * @param charge a {@code Integer} parameter. 787 **/ 788 public void setCharge(Integer charge) { 789 this.charge = charge; 790 } 791 792 793 /** 794 * Builder method for theoreticalMassToCharge. 795 * 796 * @see SmallMoleculeEvidence#setTheoreticalMassToCharge SmallMoleculeEvidence#setTheoreticalMassToCharge for specification examples 797 * @see SmallMoleculeEvidence#getTheoreticalMassToCharge SmallMoleculeEvidence#getTheoreticalMassToCharge for validation constraints 798 * @param theoreticalMassToCharge a {@code Double} parameter. 799 * @return SmallMoleculeEvidence 800 **/ 801 public SmallMoleculeEvidence theoreticalMassToCharge(Double theoreticalMassToCharge) { 802 this.theoreticalMassToCharge = theoreticalMassToCharge; 803 return this; 804 } 805 806 /** 807 * The theoretical mass/charge value for the small molecule or the database mass/charge value (for a spectral library match). 808 * 809 * @return theoreticalMassToCharge 810 **/ 811 @NotNull 812 @ApiModelProperty(required = true, value = "The theoretical mass/charge value for the small molecule or the database mass/charge value (for a spectral library match).") 813 public Double getTheoreticalMassToCharge() { 814 return theoreticalMassToCharge; 815 } 816 817 /** 818 * Set theoreticalMassToCharge. 819 * 820 * <p>mzTab-M specification example(s):</p> 821 * <pre><code>SEH SME_ID … theoretical_mass_to_charge … 822SME 1 … 1234.71 … 823</code></pre> 824 * 825 * 826 * @see #getTheoreticalMassToCharge SmallMoleculeEvidence#getTheoreticalMassToCharge for validation constraints 827 * @param theoreticalMassToCharge a {@code Double} parameter. 828 **/ 829 public void setTheoreticalMassToCharge(Double theoreticalMassToCharge) { 830 this.theoreticalMassToCharge = theoreticalMassToCharge; 831 } 832 833 834 /** 835 * Builder method for spectraRef. 836 * 837 * @see SmallMoleculeEvidence#setSpectraRef SmallMoleculeEvidence#setSpectraRef for specification examples 838 * @see SmallMoleculeEvidence#getSpectraRef SmallMoleculeEvidence#getSpectraRef for validation constraints 839 * @param spectraRef a {@code List<SpectraRef>} parameter. 840 * @return SmallMoleculeEvidence 841 **/ 842 public SmallMoleculeEvidence spectraRef(List<SpectraRef> spectraRef) { 843 this.spectraRef = spectraRef; 844 return this; 845 } 846 847 /** 848 * Add a single spectraRefItem to the spectraRef collection. 849 * 850 * @see SmallMoleculeEvidence#getSpectraRef SmallMoleculeEvidence#getSpectraRef for validation constraints 851 * @param spectraRefItem a {@code SpectraRef} parameter. 852 * @return SmallMoleculeEvidence 853 */ 854 public SmallMoleculeEvidence addSpectraRefItem(SpectraRef spectraRefItem) { 855 this.spectraRef.add(spectraRefItem); 856 return this; 857 } 858 859 /** 860 * Reference to a spectrum in a spectrum file, for example a fragmentation spectrum has been used to support the identification. If a separate spectrum file has been used for fragmentation spectrum, this MUST be reported in the metadata section as additional ms_runs. The reference must be in the format ms_run[1-n]:{SPECTRA_REF} where SPECTRA_REF MUST follow the format defined in 5.2 (including references to chromatograms where these are used to inform identification). Multiple spectra MUST be referenced using a “|” delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications. 861 862If a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. “ms_run[1]”. 863 864 * 865 * @return spectraRef 866 **/ 867 @NotNull 868 @Valid 869 @ApiModelProperty(required = true, value = "Reference to a spectrum in a spectrum file, for example a fragmentation spectrum has been used to support the identification. If a separate spectrum file has been used for fragmentation spectrum, this MUST be reported in the metadata section as additional ms_runs. The reference must be in the format ms_run[1-n]:{SPECTRA_REF} where SPECTRA_REF MUST follow the format defined in 5.2 (including references to chromatograms where these are used to inform identification). Multiple spectra MUST be referenced using a “|” delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications. If a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. “ms_run[1]”. ") 870 public List<SpectraRef> getSpectraRef() { 871 return spectraRef; 872 } 873 874 /** 875 * Set spectraRef. 876 * 877 * <p>mzTab-M specification example(s):</p> 878 * <pre><code>SEH SME_ID … spectra_ref … 879SME 1 … ms_run[1]:index=5 … 880</code></pre> 881 * 882 * 883 * @see #getSpectraRef SmallMoleculeEvidence#getSpectraRef for validation constraints 884 * @param spectraRef a {@code List<SpectraRef>} parameter. 885 **/ 886 public void setSpectraRef(List<SpectraRef> spectraRef) { 887 this.spectraRef = spectraRef; 888 } 889 890 891 /** 892 * Builder method for identificationMethod. 893 * 894 * @see SmallMoleculeEvidence#setIdentificationMethod SmallMoleculeEvidence#setIdentificationMethod for specification examples 895 * @see SmallMoleculeEvidence#getIdentificationMethod SmallMoleculeEvidence#getIdentificationMethod for validation constraints 896 * @param identificationMethod a {@code Parameter} parameter. 897 * @return SmallMoleculeEvidence 898 **/ 899 public SmallMoleculeEvidence identificationMethod(Parameter identificationMethod) { 900 this.identificationMethod = identificationMethod; 901 return this; 902 } 903 904 /** 905 * The database search, search engine or process that was used to identify this small molecule e.g. the name of software, database or manual curation etc. If manual validation has been performed quality, the following CV term SHOULD be used: 'quality estimation by manual validation' MS:1001058. 906 * 907 * @return identificationMethod 908 **/ 909 @NotNull 910 @Valid 911 @ApiModelProperty(required = true, value = "The database search, search engine or process that was used to identify this small molecule e.g. the name of software, database or manual curation etc. If manual validation has been performed quality, the following CV term SHOULD be used: 'quality estimation by manual validation' MS:1001058.") 912 public Parameter getIdentificationMethod() { 913 return identificationMethod; 914 } 915 916 /** 917 * Set identificationMethod. 918 * 919 * 920 * 921 * @see #getIdentificationMethod SmallMoleculeEvidence#getIdentificationMethod for validation constraints 922 * @param identificationMethod a {@code Parameter} parameter. 923 **/ 924 public void setIdentificationMethod(Parameter identificationMethod) { 925 this.identificationMethod = identificationMethod; 926 } 927 928 929 /** 930 * Builder method for msLevel. 931 * 932 * @see SmallMoleculeEvidence#setMsLevel SmallMoleculeEvidence#setMsLevel for specification examples 933 * @see SmallMoleculeEvidence#getMsLevel SmallMoleculeEvidence#getMsLevel for validation constraints 934 * @param msLevel a {@code Parameter} parameter. 935 * @return SmallMoleculeEvidence 936 **/ 937 public SmallMoleculeEvidence msLevel(Parameter msLevel) { 938 this.msLevel = msLevel; 939 return this; 940 } 941 942 /** 943 * The highest MS level used to inform identification e.g. MS1 (accurate mass only) = “ms level=1” or from an MS2 fragmentation spectrum = “ms level=2”. For direct fragmentation or data independent approaches where fragmentation data is used, appropriate CV terms SHOULD be used . 944 * 945 * @return msLevel 946 **/ 947 @NotNull 948 @Valid 949 @ApiModelProperty(required = true, value = "The highest MS level used to inform identification e.g. MS1 (accurate mass only) = “ms level=1” or from an MS2 fragmentation spectrum = “ms level=2”. For direct fragmentation or data independent approaches where fragmentation data is used, appropriate CV terms SHOULD be used .") 950 public Parameter getMsLevel() { 951 return msLevel; 952 } 953 954 /** 955 * Set msLevel. 956 * 957 * 958 * 959 * @see #getMsLevel SmallMoleculeEvidence#getMsLevel for validation constraints 960 * @param msLevel a {@code Parameter} parameter. 961 **/ 962 public void setMsLevel(Parameter msLevel) { 963 this.msLevel = msLevel; 964 } 965 966 967 /** 968 * Builder method for idConfidenceMeasure. 969 * 970 * @see SmallMoleculeEvidence#setIdConfidenceMeasure SmallMoleculeEvidence#setIdConfidenceMeasure for specification examples 971 * @see SmallMoleculeEvidence#getIdConfidenceMeasure SmallMoleculeEvidence#getIdConfidenceMeasure for validation constraints 972 * @param idConfidenceMeasure a {@code List<Double>} parameter. 973 * @return SmallMoleculeEvidence 974 **/ 975 public SmallMoleculeEvidence idConfidenceMeasure(List<Double> idConfidenceMeasure) { 976 this.idConfidenceMeasure = idConfidenceMeasure; 977 return this; 978 } 979 980 /** 981 * Add a single idConfidenceMeasureItem to the idConfidenceMeasure collection. 982 * 983 * @see SmallMoleculeEvidence#getIdConfidenceMeasure SmallMoleculeEvidence#getIdConfidenceMeasure for validation constraints 984 * @param idConfidenceMeasureItem a {@code Double} parameter. 985 * @return SmallMoleculeEvidence 986 */ 987 public SmallMoleculeEvidence addIdConfidenceMeasureItem(Double idConfidenceMeasureItem) { 988 if (this.idConfidenceMeasure == null) { 989 this.idConfidenceMeasure = new ArrayList<>(); 990 } 991 this.idConfidenceMeasure.add(idConfidenceMeasureItem); 992 return this; 993 } 994 995 /** 996 * Any statistical value or score for the identification. The metadata section reports the type of score used, as id_confidence_measure[1-n] of type Param. 997 * 998 * @return idConfidenceMeasure 999 **/ 1000 @ApiModelProperty(value = "Any statistical value or score for the identification. The metadata section reports the type of score used, as id_confidence_measure[1-n] of type Param.") 1001 public List<Double> getIdConfidenceMeasure() { 1002 return idConfidenceMeasure; 1003 } 1004 1005 /** 1006 * Set idConfidenceMeasure. 1007 * 1008 * <p>mzTab-M specification example(s):</p> 1009 * <pre><code>MTD id_confidence_measure[1] [MS, MS:1001419, SpectraST:discriminant score F,] 1010… 1011SEH SME_ID … id_confidence_measure[1] … 1012SME 1 … 0.7 … 1013</code></pre> 1014 * 1015 * 1016 * @see #getIdConfidenceMeasure SmallMoleculeEvidence#getIdConfidenceMeasure for validation constraints 1017 * @param idConfidenceMeasure a {@code List<Double>} parameter. 1018 **/ 1019 public void setIdConfidenceMeasure(List<Double> idConfidenceMeasure) { 1020 this.idConfidenceMeasure = idConfidenceMeasure; 1021 } 1022 1023 1024 /** 1025 * Builder method for rank. 1026 * 1027 * @see SmallMoleculeEvidence#setRank SmallMoleculeEvidence#setRank for specification examples 1028 * @see SmallMoleculeEvidence#getRank SmallMoleculeEvidence#getRank for validation constraints 1029 * @param rank a {@code Integer} parameter. 1030 * @return SmallMoleculeEvidence 1031 **/ 1032 public SmallMoleculeEvidence rank(Integer rank) { 1033 this.rank = rank; 1034 return this; 1035 } 1036 1037 /** 1038 * The rank of this identification from this approach as increasing integers from 1 (best ranked identification). Ties (equal score) are represented by using the same rank – defaults to 1 if there is no ranking system used. 1039 * 1040 * <p>Minimum: 1</p> 1041 * @return rank 1042 **/ 1043 @NotNull 1044 @Min(1) @ApiModelProperty(required = true, value = "The rank of this identification from this approach as increasing integers from 1 (best ranked identification). Ties (equal score) are represented by using the same rank – defaults to 1 if there is no ranking system used.") 1045 public Integer getRank() { 1046 return rank; 1047 } 1048 1049 /** 1050 * Set rank. 1051 * 1052 * <p>mzTab-M specification example(s):</p> 1053 * <pre><code>SEH SME_ID … rank … 1054SME 1 … 1 … 1055</code></pre> 1056 * 1057 * 1058 * @see #getRank SmallMoleculeEvidence#getRank for validation constraints 1059 * @param rank a {@code Integer} parameter. 1060 **/ 1061 public void setRank(Integer rank) { 1062 this.rank = rank; 1063 } 1064 1065 1066 /** 1067 * Builder method for opt. 1068 * 1069 * @see SmallMoleculeEvidence#setOpt SmallMoleculeEvidence#setOpt for specification examples 1070 * @see SmallMoleculeEvidence#getOpt SmallMoleculeEvidence#getOpt for validation constraints 1071 * @param opt a {@code List<OptColumnMapping>} parameter. 1072 * @return SmallMoleculeEvidence 1073 **/ 1074 public SmallMoleculeEvidence opt(List<OptColumnMapping> opt) { 1075 this.opt = opt; 1076 return this; 1077 } 1078 1079 /** 1080 * Add a single optItem to the opt collection. 1081 * 1082 * @see SmallMoleculeEvidence#getOpt SmallMoleculeEvidence#getOpt for validation constraints 1083 * @param optItem a {@code OptColumnMapping} parameter. 1084 * @return SmallMoleculeEvidence 1085 */ 1086 public SmallMoleculeEvidence addOptItem(OptColumnMapping optItem) { 1087 if (this.opt == null) { 1088 this.opt = new ArrayList<>(); 1089 } 1090 this.opt.add(optItem); 1091 return this; 1092 } 1093 1094 /** 1095 * Additional columns can be added to the end of the small molecule evidence table. These column headers MUST start with the prefix “opt_” followed by the {identifier} of the object they reference: assay, study variable, MS run or “global” (if the value relates to all replicates). Column names MUST only contain the following characters: ‘A’-‘Z’, ‘a’-‘z’, ‘0’-‘9’, ‘’, ‘-’, ‘[’, ‘]’, and ‘:’. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\{parameter name}. Spaces within the parameter’s name MUST be replaced by ‘_’. 1096 1097 * 1098 * @return opt 1099 **/ 1100 @Valid 1101 @ApiModelProperty(value = "Additional columns can be added to the end of the small molecule evidence table. These column headers MUST start with the prefix “opt_” followed by the {identifier} of the object they reference: assay, study variable, MS run or “global” (if the value relates to all replicates). Column names MUST only contain the following characters: ‘A’-‘Z’, ‘a’-‘z’, ‘0’-‘9’, ‘’, ‘-’, ‘[’, ‘]’, and ‘:’. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter’s name MUST be replaced by ‘_’. ") 1102 public List<OptColumnMapping> getOpt() { 1103 return opt; 1104 } 1105 1106 /** 1107 * Set opt. 1108 * 1109 * <p>mzTab-M specification example(s):</p> 1110 * <pre><code>SEH SME_ID … opt_assay[1]_my_value … opt_global_another_value 1111SML 1 … My value … some other value 1112</code></pre> 1113 * 1114 * 1115 * @see #getOpt SmallMoleculeEvidence#getOpt for validation constraints 1116 * @param opt a {@code List<OptColumnMapping>} parameter. 1117 **/ 1118 public void setOpt(List<OptColumnMapping> opt) { 1119 this.opt = opt; 1120 } 1121 1122 1123 /** 1124 * Builder method for comment. 1125 * 1126 * @see SmallMoleculeEvidence#setComment SmallMoleculeEvidence#setComment for specification examples 1127 * @see SmallMoleculeEvidence#getComment SmallMoleculeEvidence#getComment for validation constraints 1128 * @param comment a {@code List<Comment>} parameter. 1129 * @return SmallMoleculeEvidence 1130 **/ 1131 public SmallMoleculeEvidence comment(List<Comment> comment) { 1132 this.comment = comment; 1133 return this; 1134 } 1135 1136 /** 1137 * Add a single commentItem to the comment collection. 1138 * 1139 * @see SmallMoleculeEvidence#getComment SmallMoleculeEvidence#getComment for validation constraints 1140 * @param commentItem a {@code Comment} parameter. 1141 * @return SmallMoleculeEvidence 1142 */ 1143 public SmallMoleculeEvidence addCommentItem(Comment commentItem) { 1144 if (this.comment == null) { 1145 this.comment = new ArrayList<>(); 1146 } 1147 this.comment.add(commentItem); 1148 return this; 1149 } 1150 1151 /** 1152 * <p>Get comment.</p> 1153 * 1154 * @return comment 1155 **/ 1156 @Valid 1157 @ApiModelProperty(value = "") 1158 public List<Comment> getComment() { 1159 return comment; 1160 } 1161 1162 /** 1163 * Set comment. 1164 * 1165 * 1166 * 1167 * @see #getComment SmallMoleculeEvidence#getComment for validation constraints 1168 * @param comment a {@code List<Comment>} parameter. 1169 **/ 1170 public void setComment(List<Comment> comment) { 1171 this.comment = comment; 1172 } 1173 1174 1175 @Override 1176 public boolean equals(java.lang.Object o) { 1177 if (this == o) { 1178 return true; 1179 } 1180 if (o == null || getClass() != o.getClass()) { 1181 return false; 1182 } 1183 SmallMoleculeEvidence smallMoleculeEvidence = (SmallMoleculeEvidence) o; 1184 return Objects.equals(this.prefix, smallMoleculeEvidence.prefix) && 1185 Objects.equals(this.headerPrefix, smallMoleculeEvidence.headerPrefix) && 1186 Objects.equals(this.smeId, smallMoleculeEvidence.smeId) && 1187 Objects.equals(this.evidenceInputId, smallMoleculeEvidence.evidenceInputId) && 1188 Objects.equals(this.databaseIdentifier, smallMoleculeEvidence.databaseIdentifier) && 1189 Objects.equals(this.chemicalFormula, smallMoleculeEvidence.chemicalFormula) && 1190 Objects.equals(this.smiles, smallMoleculeEvidence.smiles) && 1191 Objects.equals(this.inchi, smallMoleculeEvidence.inchi) && 1192 Objects.equals(this.chemicalName, smallMoleculeEvidence.chemicalName) && 1193 Objects.equals(this.uri, smallMoleculeEvidence.uri) && 1194 Objects.equals(this.derivatizedForm, smallMoleculeEvidence.derivatizedForm) && 1195 Objects.equals(this.adductIon, smallMoleculeEvidence.adductIon) && 1196 Objects.equals(this.expMassToCharge, smallMoleculeEvidence.expMassToCharge) && 1197 Objects.equals(this.charge, smallMoleculeEvidence.charge) && 1198 Objects.equals(this.theoreticalMassToCharge, smallMoleculeEvidence.theoreticalMassToCharge) && 1199 Objects.equals(this.spectraRef, smallMoleculeEvidence.spectraRef) && 1200 Objects.equals(this.identificationMethod, smallMoleculeEvidence.identificationMethod) && 1201 Objects.equals(this.msLevel, smallMoleculeEvidence.msLevel) && 1202 Objects.equals(this.idConfidenceMeasure, smallMoleculeEvidence.idConfidenceMeasure) && 1203 Objects.equals(this.rank, smallMoleculeEvidence.rank) && 1204 Objects.equals(this.opt, smallMoleculeEvidence.opt) && 1205 Objects.equals(this.comment, smallMoleculeEvidence.comment); 1206 } 1207 1208 @Override 1209 public int hashCode() { 1210 return Objects.hash(prefix, headerPrefix, smeId, evidenceInputId, databaseIdentifier, chemicalFormula, smiles, inchi, chemicalName, uri, derivatizedForm, adductIon, expMassToCharge, charge, theoreticalMassToCharge, spectraRef, identificationMethod, msLevel, idConfidenceMeasure, rank, opt, comment); 1211 } 1212 1213 1214 @Override 1215 public String toString() { 1216 StringBuilder sb = new StringBuilder(); 1217 sb.append("class SmallMoleculeEvidence {\n"); 1218 1219 sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); 1220 sb.append(" headerPrefix: ").append(toIndentedString(headerPrefix)).append("\n"); 1221 sb.append(" smeId: ").append(toIndentedString(smeId)).append("\n"); 1222 sb.append(" evidenceInputId: ").append(toIndentedString(evidenceInputId)).append("\n"); 1223 sb.append(" databaseIdentifier: ").append(toIndentedString(databaseIdentifier)).append("\n"); 1224 sb.append(" chemicalFormula: ").append(toIndentedString(chemicalFormula)).append("\n"); 1225 sb.append(" smiles: ").append(toIndentedString(smiles)).append("\n"); 1226 sb.append(" inchi: ").append(toIndentedString(inchi)).append("\n"); 1227 sb.append(" chemicalName: ").append(toIndentedString(chemicalName)).append("\n"); 1228 sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); 1229 sb.append(" derivatizedForm: ").append(toIndentedString(derivatizedForm)).append("\n"); 1230 sb.append(" adductIon: ").append(toIndentedString(adductIon)).append("\n"); 1231 sb.append(" expMassToCharge: ").append(toIndentedString(expMassToCharge)).append("\n"); 1232 sb.append(" charge: ").append(toIndentedString(charge)).append("\n"); 1233 sb.append(" theoreticalMassToCharge: ").append(toIndentedString(theoreticalMassToCharge)).append("\n"); 1234 sb.append(" spectraRef: ").append(toIndentedString(spectraRef)).append("\n"); 1235 sb.append(" identificationMethod: ").append(toIndentedString(identificationMethod)).append("\n"); 1236 sb.append(" msLevel: ").append(toIndentedString(msLevel)).append("\n"); 1237 sb.append(" idConfidenceMeasure: ").append(toIndentedString(idConfidenceMeasure)).append("\n"); 1238 sb.append(" rank: ").append(toIndentedString(rank)).append("\n"); 1239 sb.append(" opt: ").append(toIndentedString(opt)).append("\n"); 1240 sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); 1241 sb.append("}"); 1242 return sb.toString(); 1243 } 1244 1245 /** 1246 * Convert the given object to string with each line indented by 4 spaces 1247 * (except the first line). 1248 */ 1249 private String toIndentedString(java.lang.Object o) { 1250 if (o == null) { 1251 return "null"; 1252 } 1253 return o.toString().replace("\n", "\n "); 1254 } 1255 1256} 1257