diff --git a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabError.java b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabError.java index f3cccc1c..db81cf0b 100644 --- a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabError.java +++ b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabError.java @@ -145,33 +145,19 @@ public ValidationMessage toValidationMessage() throws IllegalStateException { ValidationMessage.MessageTypeEnum level = ValidationMessage.MessageTypeEnum.INFO; switch (getType(). getLevel()) { - case Error: - level = ValidationMessage.MessageTypeEnum.ERROR; - break; - case Info: - level = ValidationMessage.MessageTypeEnum.INFO; - break; - case Warn: - level = ValidationMessage.MessageTypeEnum.WARN; - break; - default: - throw new IllegalStateException("State " + + case Error -> level = ValidationMessage.MessageTypeEnum.ERROR; + case Info -> level = ValidationMessage.MessageTypeEnum.INFO; + case Warn -> level = ValidationMessage.MessageTypeEnum.WARN; + default -> throw new IllegalStateException("State " + getType(). getLevel() + " is not handled in switch/case statement!"); } ValidationMessage.CategoryEnum category = ValidationMessage.CategoryEnum.FORMAT; switch(getType().getCategory()) { - case Format: - category = ValidationMessage.CategoryEnum.FORMAT; - break; - case Logical: - category = ValidationMessage.CategoryEnum.LOGICAL; - break; - case CrossCheck: - category = ValidationMessage.CategoryEnum.CROSS_CHECK; - break; - default: - throw new IllegalStateException("Category " + + case Format -> category = ValidationMessage.CategoryEnum.FORMAT; + case Logical -> category = ValidationMessage.CategoryEnum.LOGICAL; + case CrossCheck -> category = ValidationMessage.CategoryEnum.CROSS_CHECK; + default -> throw new IllegalStateException("Category " + getType(). getCategory()+ " is not handled in switch/case statement!"); } diff --git a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorList.java b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorList.java index 46ee008e..7eca8044 100644 --- a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorList.java +++ b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorList.java @@ -104,15 +104,17 @@ public boolean add(MZTabError error) throws MZTabErrorOverflowException { } switch(error.getType().getLevel()) { - case Info: + case Info -> { if(level==MZTabErrorType.Level.Warn || level==MZTabErrorType.Level.Error) { return false; } - break; - case Warn: + } + case Warn -> { if(level==MZTabErrorType.Level.Error) { return false; } + //ERROR is always being reported + } //ERROR is always being reported } @@ -183,16 +185,16 @@ public MZTabErrorType.Level getLevel() { return level; } - /** - * Define the level of the errors that are going to be store in the list. - * The incoming errors with an equal or highest level will be stored. - * - * @param level - * {@link uk.ac.ebi.pride.jmztab2.utils.errors.MZTabErrorType#level} - */ - public void setLevel(MZTabErrorType.Level level) { - this.level = level; - } +// /** +// * Define the level of the errors that are going to be store in the list. +// * The incoming errors with an equal or highest level will be stored. +// * +// * @param level +// * {@link uk.ac.ebi.pride.jmztab2.utils.errors.MZTabErrorType#level} +// */ +// public void setLevel(MZTabErrorType.Level level) { +// this.level = level; +// } /** * Clear all errors stored in the error list. diff --git a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorType.java b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorType.java index 2d7fd462..791ad6bd 100644 --- a/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorType.java +++ b/api/src/main/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorType.java @@ -110,23 +110,17 @@ protected static MZTabErrorType createInfo(MZTabErrorType.Category category, Str */ private static MZTabErrorType createMZTabError(Category category, Level level, String keyword) { if (MZTabStringUtils.isEmpty(keyword)) { - throw new NullPointerException(keyword + " can not empty!"); + throw new NullPointerException(keyword + " can not be empty!"); } String prefix = null; switch (category) { - case Format: - prefix = "f_"; - break; - case Logical: - prefix = "l_"; - break; - case CrossCheck: - prefix = "c_"; - break; + case Format -> prefix = "f_"; + case Logical -> prefix = "l_"; + case CrossCheck -> prefix = "c_"; } - Integer code = new Integer(MZTabProperties.getProperty(prefix + "code_" + keyword)); + Integer code = Integer.valueOf(MZTabProperties.getProperty(prefix + "code_" + keyword)); String original = MZTabProperties.getProperty(prefix + "original_" + keyword); String cause = MZTabProperties.getProperty(prefix + "cause_" + keyword); diff --git a/api/src/main/resources/mzTab_m_openapi.yml b/api/src/main/resources/mzTab_m_openapi.yml new file mode 100644 index 00000000..9f29ee45 --- /dev/null +++ b/api/src/main/resources/mzTab_m_openapi.yml @@ -0,0 +1,2360 @@ +openapi: 3.0.0 +info: + description: This is the mzTab-M reference implementation and validation API service. + version: 2.0.0 + title: mzTab-M reference implementation and validation API. + contact: + email: nils.hoffmann@cebitec.uni-bielefeld.de + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html +x-global-options: + go_package: mztabm +tags: + - name: validate + description: mzTab validation + externalDocs: + description: mzTab-M specification + url: https://github.com/HUPO-PSI/mzTab +paths: + /validatePlain: + post: + description: > + Validates an mzTab file in plain text representation / tab-separated + format and reports + + syntactic, structural, and semantic + + errors. + operationId: validatePlainMzTabFile + tags: + - validatePlain + parameters: + - name: level + in: query + description: The level of errors that should be reported, one of ERROR, WARN, + INFO. + required: false + schema: + type: string + enum: + - info + - warn + - error + default: info + - name: maxErrors + in: query + description: The maximum number of errors to return. + required: false + schema: + type: integer + format: int32 + minimum: 0 + maximum: 500 + default: 100 + - name: semanticValidation + in: query + description: Whether a semantic validation against the default rule set should be + performed. + required: false + schema: + type: boolean + default: false + requestBody: + content: + text/tab-separated-values: + schema: + type: string + text/plain: + schema: + type: string + description: mzTab file that should be validated. + required: true + responses: + "200": + description: Validation Okay + content: + application/json: + schema: + type: array + default: [] + items: + $ref: "#/components/schemas/ValidationMessage" + "415": + description: Unsupported content type + "422": + description: Invalid input + content: + application/json: + schema: + type: array + default: [] + items: + $ref: "#/components/schemas/ValidationMessage" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /validate: + post: + description: > + Validates an mzTab file in XML or JSON representation and reports + syntactic, structural, and semantic errors. + operationId: validateMzTabFile + tags: + - validate + parameters: + - name: level + in: query + description: The level of errors that should be reported, one of ERROR, WARN, + INFO. + required: false + schema: + type: string + enum: + - info + - warn + - error + default: info + - name: maxErrors + in: query + description: The maximum number of errors to return. + required: false + schema: + type: integer + format: int32 + minimum: 0 + maximum: 500 + default: 100 + - name: semanticValidation + in: query + description: Whether a semantic validation against the default rule set should be + performed. + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MzTab" + application/xml: + schema: + $ref: "#/components/schemas/MzTab" + description: mzTab file that should be validated. + required: true + responses: + "200": + description: Validation Okay + content: + application/json: + schema: + type: array + default: [] + items: + $ref: "#/components/schemas/ValidationMessage" + "415": + description: Unsupported content type + "422": + description: Invalid input + content: + application/json: + schema: + type: array + default: [] + items: + $ref: "#/components/schemas/ValidationMessage" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /convertPlain: + post: + description: > + Converts an mzTab file in tab separated format to XML or JSON + representation. If this method returns an error code 422, the provided + file did not pass validation. + operationId: convertPlainMzTabFile + tags: + - convertPlain + requestBody: + content: + application/json: + schema: + type: string + application/xml: + schema: + type: string + description: mzTab file that should be converted. + required: true + responses: + "200": + description: Conversion Okay + content: + text/tab-separated-values: + schema: + $ref: "#/components/schemas/MzTab" + "415": + description: Unsupported content type + "422": + description: Invalid input + default: + description: Unexpected error + /convert: + post: + description: > + Converts an mzTab file in JSON or XML format to the tab-separated + representation. If this method returns an error code 422, the provided + file did not pass validation. + operationId: convertMzTabFile + tags: + - convert + requestBody: + content: + text/tab-separated-values: + schema: + $ref: "#/components/schemas/MzTab" + text/plain: + schema: + $ref: "#/components/schemas/MzTab" + description: mzTab file that should be validated. + required: true + responses: + "200": + description: Conversion Okay + content: + application/json: + schema: + type: string + "415": + description: Unsupported content type + "422": + description: Invalid input + default: + description: Unexpected error +externalDocs: + description: Find out more about mzTab for Metabolomics + url: https://github.com/HUPO-PSI/mzTab +servers: + - url: https://apps.lifs-tools.org/mztabvalidator/rest/v2/ +components: + schemas: + MzTab: + type: object + description: > + mzTab-M is intended as a reporting standard for quantitative results + from metabolomics/lipodomics approaches. + + + This format is further intended to provide local LIMS systems as well as MS metabolomics repositories a simple way to share and combine basic information. + + + The mzTab-M format consists of four cross-referenced data tables: + + * Metadata (MTD), + * Small Molecule (SML), + * Small Molecule Feature (SMF) and the + * Small Molecule Evidence (SME). + + The MTD and SML tables are mandatory, and for a file to contain any evidence about how molecules were quantified or identified by software, then all four tables must be present. The tables must follow the order MTD, SML, SMF and SME, with a blank line separating each table. + + + The structure of each table, in terms of the rows and columns that must be present is tightly specified and formally defined and explained in the mzTab-M specification document. + + mzTab-M files MUST have one Metadata (MTD) section and one Small Molecule (SML) Section. In practice, we expect that most files SHOULD also include one Small Molecule Feature (SMF) section, and one Small Molecule Evidence (SME) Section. + + Files lacking SMF and SME sections can only present summary data about quantified molecules, without any evidence trail for how those values were derived. It will be left to reading software to determine whether additional validation will be requested such that SMF and SME tables MUST be present. + required: + - metadata + - smallMoleculeSummary + - smallMoleculeFeature + - smallMoleculeEvidence + properties: + metadata: + $ref: "#/components/schemas/Metadata" + smallMoleculeSummary: + description: > + The small molecule section is table-based. The small molecule + section MUST always come after the metadata section. All table + columns MUST be Tab separated. There MUST NOT be any empty cells; + missing values MUST be reported using “null” for columns where Is + Nullable = “True”. + + + Each row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate – although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section. + + + The order of columns MUST follow the order specified below. + + + All columns are MANDATORY except for “opt_” columns. + type: array + default: [] + minItems: 1 + items: + $ref: "#/components/schemas/SmallMoleculeSummary" + smallMoleculeFeature: + description: > + The small molecule feature section is table-based, representing + individual MS regions (generally considered to be the elution + profile for all isotopomers formed from a single charge state of a + molecule), that have been measured/quantified. However, for + approaches that quantify individual isotopomers e.g. stable isotope + labelling/flux studies, then each SMF row SHOULD represent a single + isotopomer. + + + Different adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows. + + + The small molecule feature section MUST always come after the Small Molecule 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. + type: array + default: [] + items: + $ref: "#/components/schemas/SmallMoleculeFeature" + smallMoleculeEvidence: + 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. + type: array + default: [] + items: + $ref: "#/components/schemas/SmallMoleculeEvidence" + comment: + description: > + Comment lines can be placed anywhere in an mzTab file. These lines + must start with the three-letter code COM and are ignored by most + parsers. Empty lines can also occur anywhere in an mzTab file and + are ignored. + type: array + default: [] + items: + $ref: "#/components/schemas/Comment" + Comment: + type: object + description: > + Comment lines can be placed anywhere in an mzTab file. These lines must + start with the three-letter code COM and are ignored by most parsers. + Empty lines can also occur anywhere in an mzTab file and are ignored. + x-mztab-example: | + COM This is a comment line + required: + - prefix + - msg + properties: + prefix: + type: string + enum: + - COM + default: COM + msg: + type: string + line_number: + type: integer + format: int32 + Metadata: + type: object + 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. + x-mztab-example: | + MTD mzTab-version 2.0.0-M + MTD mzTab-ID MTBL1234 + MTD title Effects of Rapamycin on metabolite profile + ... + required: + - prefix + - fileDescription + - mzTab-version + - mzTab-ID + - quantification_method + - software + - ms_run + - assay + - study_variable + - cv + - database + - small_molecule-quantification_unit + - small_molecule_feature-quantification_unit + - id_confidence_measure + properties: + prefix: + type: string + description: | + The metadata section prefix. MUST always be MTD. + enum: + - MTD + default: MTD + example: MTD + mzTab-version: + type: string + description: > + The version of the mzTab file. The suffix MUST be "-M" for mzTab for + metabolomics (mzTab-M). + pattern: ^\d{1}\.\d{1}\.\d{1}-[A-Z]{1}$ + x-mztab-example: | + MTD mzTab-version 2.0.0-M + MTD mzTab-version 2.0.1-M + mzTab-ID: + type: string + description: > + 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. + example: MTD mzTab-ID MTBLS214 + title: + type: string + description: | + The file’s human readable title. + example: MTD title My first test experiment + description: + type: string + description: | + The file’s human readable description. + example: MTD description An experiment investigating the effects of Il-6. + contact: + type: array + description: 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]. + default: [] + items: + $ref: "#/components/schemas/Contact" + x-mztab-example: | + MTD contact[1]-name James D. Watson + MTD contact[1]-affiliation Cambridge University, UK + MTD contact[1]-email watson@cam.ac.uk + MTD contact[2]-name Francis Crick + MTD contact[2]-affiliation Cambridge University, UK + MTD contact[2]-email crick@cam.ac.uk + MTD contact[2]-orcid 0000-0002-1825-0097 + publication: + type: array + description: 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 “|”. + default: [] + items: + $ref: "#/components/schemas/Publication" + x-mztab-example: | + MTD publication[1] pubmed:21063943|doi:10.1007/978-1-60761-987-1_6 + MTD publication[2] pubmed:20615486|doi:10.1016/j.jprot.2010.06.008 + uri: + type: array + description: A URI pointing to the file’s source data (e.g., a MetaboLights + records). + default: [] + items: + $ref: "#/components/schemas/Uri" + x-mztab-example: | + MTD uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517 + external_study_uri: + type: array + description: A URI pointing to an external file with more details about the study + design (e.g., an ISA-TAB file). + default: [] + items: + $ref: "#/components/schemas/Uri" + x-mztab-example: > + MTD external_study_uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt + instrument: + type: array + description: The name, source, analyzer and detector of the instruments used in + the experiment. Multiple instruments are numbered [1-n]. + default: [] + items: + $ref: "#/components/schemas/Instrument" + x-mztab-example: | + MTD instrument[1]-name [MS, MS:1000449, LTQ Orbitrap,] + MTD instrument[1]-source [MS, MS:1000073, ESI,] + … + MTD instrument[2]-source [MS, MS:1000598, ETD,] + MTD instrument[1]-analyzer[1] [MS, MS:1000291, linear ion trap,] + … + MTD instrument[2]-analyzer[1] [MS, MS:1000484, orbitrap,] + MTD instrument[1]-detector [MS, MS:1000253, electron multiplier,] + … + MTD instrument[2]-detector [MS, MS:1000348, focal plane collector,] + quantification_method: + $ref: "#/components/schemas/Parameter" + sample: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/Sample" + x-mztab-example: > + COM Experiment where all samples consisted of the same two species + + MTD sample[1] individual number 1 + + MTD sample[1]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] + + MTD sample[1]-tissue[1] [BTO, BTO:0000759, liver, ] + + MTD sample[1]-cell_type[1] [CL, CL:0000182, hepatocyte, ] + + MTD sample[1]-disease[1] [DOID, DOID:684, hepatocellular carcinoma, ] + + MTD sample[1]-disease[2] [DOID, DOID:9451, alcoholic fatty liver, ] + + MTD sample[1]-description Hepatocellular carcinoma samples. + + MTD sample[1]-custom[1] [,,Extraction date, 2011-12-21] + + MTD sample[1]-custom[2] [,,Extraction reason, liver biopsy] + + MTD sample[2] individual number 2 + + MTD sample[2]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] + + MTD sample[2]-tissue[1] [BTO, BTO:0000759, liver, ] + + MTD sample[2]-cell_type[1] [CL, CL:0000182, hepatocyte, ] + + MTD sample[2]-description Healthy control samples. + sample_processing: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/SampleProcessing" + x-mztab-example: > + MTD sample_processing[1] [MSIO, MSIO:0000107, metabolism quenching + using precooled 60 percent methanol ammonium bicarbonate buffer,] + + MTD sample_processing[2] [MSIO, MSIO:0000146, centrifugation,] + + MTD sample_processing[3] [MSIO, MSIO:0000141, metabolite extraction,] + + MTD sample_processing[4] [MSIO, MSIO:0000141, silylation,] + software: + type: array + description: 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. + default: [] + items: + $ref: "#/components/schemas/Software" + x-mztab-example: | + MTD software[1] [MS, MS:1002879, Progenesis QI, 3.0] + MTD software[1]-setting Fragment tolerance = 0.1 Da + … + MTD software[2]-setting Parent tolerance = 0.5 Da + derivatization_agent: + type: array + description: A description of derivatization agents applied to small molecules, + using userParams or CV terms where possible. + default: [] + items: + $ref: "#/components/schemas/Parameter" + x-mztab-example: > + MTD derivatization_agent[1] [XLMOD, XLMOD:07014, + N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ] + ms_run: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/MsRun" + x-mztab-example: | + COM location can be a local or remote URI + MTD ms_run[1]-location file:///C:/path/to/my/file.mzML + MTD ms_run[1]-instrument_ref instrument[1] + MTD ms_run[1]-format [MS, MS:1000584, mzML file, ] + MTD ms_run[1]-id_format [MS, MS:1000530, mzML unique identifier, ] + MTD ms_run[1]-fragmentation_method[1] [MS, MS:1000133, CID, ] + COM for mixed polarity scan scenarios + MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] + MTD ms_run[1]-scan_polarity[2] [MS, MS:1000129, negative scan, ] + MTD ms_run[1]-hash_method [MS, MS:1000569, SHA-1, ] + MTD ms_run[1]-hash de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 + assay: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/Assay" + x-mztab-example: > + MTD assay[1] first assay + + MTD assay[1]-custom[1] [MS, , Assay operator, Fred Blogs] + + MTD assay[1]-sample_ref sample[1] + + MTD assay[1]-ms_run_ref ms_run[1] + + MTD assay[1]-external_uri https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt + + MTD assay[2] second assay + + MTD assay[2]-sample_ref sample[2] + study_variable: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/StudyVariable" + x-mztab-example: > + MTD study_variable[1] control + + MTD study_variable[1]-assay_refs assay[1]| assay[2]| assay[3] + + MTD study_variable-average_function [MS, MS:1002883, median, ] + + MTD study_variable-variation_function [MS, MS:1002885, standard error, ] + + MTD study_variable[1]-description Group B (spike-in 0.74 fmol/uL) + + MTD study_variable[1]-factors [,,rapamycin dose,0.5mg] + + MTD study_variable[2] 1 minute + custom: + type: array + description: Any additional parameters describing the analysis reported. + default: [] + items: + $ref: "#/components/schemas/Parameter" + x-mztab-example: | + MTD custom[1] [,,MS operator, Florian] + cv: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/CV" + x-mztab-example: > + MTD cv[1]-label MS + + MTD cv[1]-full_name PSI-MS controlled vocabulary + + MTD cv[1]-version 4.1.11 + + MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo + small_molecule-quantification_unit: + $ref: "#/components/schemas/Parameter" + small_molecule_feature-quantification_unit: + $ref: "#/components/schemas/Parameter" + small_molecule-identification_reliability: + $ref: "#/components/schemas/Parameter" + database: + type: array + description: > + 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. + default: [] + items: + $ref: "#/components/schemas/Database" + x-mztab-example: | + MTD database[1] [MIRIAM, MIR:00100079, HMDB, ] + MTD database[1]-prefix hmdb + MTD database[1]-version 3.6 + MTD database[1]-uri http://www.hmdb.ca/ + MTD database[2] [,, "de novo", ] + MTD database[2]-prefix dn + MTD database[2]-version Unknown + MTD database[2]-uri null + MTD database[3] [,, "no database", null ] + MTD database[3]-prefix null + MTD database[3]-version Unknown + MTD database[3]-uri null + id_confidence_measure: + type: array + description: 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. + default: [] + items: + $ref: "#/components/schemas/Parameter" + x-mztab-example: > + MTD id_confidence_measure[1] [MS,MS:1002889,Progenesis MetaScope + Score,] + + MTD id_confidence_measure[2] [MS,MS:1002890,fragmentation score,] + + MTD id_confidence_measure[3] [MS,MS:1002891,isotopic fit score,] + colunit-small_molecule: + type: array + description: 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. + default: [] + items: + $ref: "#/components/schemas/ColumnParameterMapping" + x-mztab-example: > + COM colunit for optional small molecule summary column with the name + 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area' + + MTD colunit-small_molecule opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,] + colunit-small_molecule_feature: + type: array + description: 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. + default: [] + items: + $ref: "#/components/schemas/ColumnParameterMapping" + x-mztab-example: > + 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] + + MTD colunit-small_molecule_feature opt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time=[UO,UO:0000031, minute,] + colunit-small_molecule_evidence: + type: array + description: 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}. + default: [] + items: + $ref: "#/components/schemas/ColumnParameterMapping" + x-mztab-example: > + COM colunit for optional small molecule evidence column with the + name 'opt_global_mass_error' + + MTD colunit-small_molecule_evidence opt_global_mass_error=[UO, UO:0000169, parts per million, ] + SmallMoleculeSummary: + type: object + description: > + The small molecule summary section is table-based, represented + summarized quantitative information across assays and study variables, + grouped by identification in rows. The small molecule section MUST + always come after the metadata section. All table columns MUST be Tab + separated. There MUST NOT be any empty cells; missing values MUST be + reported using “null” for columns where Is Nullable = “True”. + + + Each row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate – although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section. + + + The order of columns MUST follow the order specified below. + + + All columns are MANDATORY except for “opt_” columns. + required: + - sml_id + properties: + prefix: + type: string + description: The small molecule table row prefix. SML MUST be used for rows of + the small molecule table. + x-mztab-example: | + SML 1 … + enum: + - SML + default: SML + readOnly: true + header_prefix: + type: string + description: The small molecule table header prefix. SMH MUST be used for the + small molecule table header line (the column labels). + x-mztab-example: | + SMH SML_ID … + enum: + - SMH + default: SMH + readOnly: true + sml_id: + type: integer + description: A within file unique identifier for the small molecule. + x-mztab-example: | + SMH SML_ID … + SML 1 … + SML 2 … + format: int32 + smf_id_refs: + type: array + description: References to all the features on which quantitation has been based + (SMF elements) via referencing SMF_ID values. Multiple values SHOULD + be provided as a “|” separated list. This MAY be null only if this + is a Summary file. + x-mztab-example: | + SMH SML_ID SMF_ID_REFS + SML 1 2|3|11… + default: [] + items: + type: integer + format: int32 + database_identifier: + type: array + description: > + A list of “|” separated possible identifiers for the small molecule; + multiple values MUST only be provided to indicate ambiguity in the + identification of the molecule and not to demonstrate different + identifier types for the same molecule. Alternative identifiers for + the same molecule MAY be provided as optional columns. + + + The database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section. + + + A null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified. + x-mztab-example: > + A list of “|” separated possible identifiers for the small molecule; + multiple values MUST only be provided to indicate ambiguity in the + identification of the molecule and not to demonstrate different + identifier types for the same molecule. Alternative identifiers for + the same molecule MAY be provided as optional columns. + + + The database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section. + + + A null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified. + default: [] + items: + type: string + chemical_formula: + type: array + description: > + A list of “|” separated potential chemical formulae of the reported + compound. The number of values provided MUST match the number of + entities reported under “database_identifier”, even if this leads to + redundant reporting of information (i.e. if ambiguity can be + resolved in the chemical formula), and the validation software will + throw an error if the number of “|” symbols does not match. “null” + values between bars are allowed. + + + 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. + + + Example: N-acetylglucosamine would be encoded by the string “C8H15NO6”. + x-mztab-example: | + SMH SML_ID … chemical_formula … + SML 1 … C17H20N4O2 … + default: [] + items: + type: string + smiles: + type: array + description: A list of “|” separated potential molecule structures in the + simplified molecular-input line-entry system (SMILES) for the small + molecule. The number of values provided MUST match the number of + entities reported under “database_identifier”, and the validation + software will throw an error if the number of “|” symbols does not + match. “null” values between bars are allowed. + x-mztab-example: | + SMH SML_ID … chemical_formula smiles … + SML 1 … C17H20N4O2 C1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2 … + default: [] + items: + type: string + inchi: + type: array + description: > + A list of “|” separated potential standard IUPAC International + Chemical Identifier (InChI) of the given substance. + + + The number of values provided MUST match the number of entities reported under “database_identifier”, even if this leads to redundant information being reported (i.e. if ambiguity can be resolved in the InChi), and the validation software will throw an error if the number of “|” symbols does not match. “null” values between bars are allowed. + x-mztab-example: > + SMH SML_ID … chemical_formula … inchi … + + SML 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) … + default: [] + items: + type: string + chemical_name: + type: array + description: > + A list of “|” separated possible chemical/common names for the small + molecule, or general description if a chemical name is unavailable. + Multiple names are only to demonstrate ambiguity in the + identification. The number of values provided MUST match the number + of entities reported under “database_identifier”, and the validation + software will throw an error if the number of “|” symbols does not + match. “null” values between bars are allowed. + x-mztab-example: > + SMH SML_ID … description … + + SML 1 … N-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide … + default: [] + items: + type: string + uri: + type: array + description: A URI pointing to the small molecule’s entry in a reference database + (e.g., the small molecule’s HMDB or KEGG entry). The number of + values provided MUST match the number of entities reported under + “database_identifier”, and the validation software will throw an + error if the number of “|” symbols does not match. “null” values + between bars are allowed. + x-mztab-example: | + SMH SML_ID … uri … + SML 1 … http://www.genome.jp/dbget-bin/www_bget?cpd:C00031 … + SML 2 … http://www.hmdb.ca/metabolites/HMDB0001847 … + SML 3 … http://identifiers.org/hmdb/HMDB0001847 … + default: [] + items: + type: string + format: uri + theoretical_neutral_mass: + type: array + description: > + The small molecule’s precursor’s theoretical neutral mass. + + + The number of values provided MUST match the number of entities reported under “database_identifier”, and the validation software will throw an error if the number of “|” symbols does not match. “null” values (in general and between bars) are allowed for molecules that have not been identified only, or for molecules where the neutral mass cannot be calculated. In these cases, the SML entry SHOULD reference features in which exp_mass_to_charge values are captured. + x-mztab-example: | + SMH SML_ID … theoretical_neutral_mass … + SML 1 … 1234.5 … + default: [] + items: + type: number + format: double + adduct_ions: + type: array + description: > + A “|” separated list of detected adducts for this this molecule, + following the general style in the 2013 IUPAC recommendations on + terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, + [M+Cl]1-, [M+H]1+. If the adduct classification is ambiguous with + regards to identification evidence it MAY be null. + x-mztab-example: | + SMH SML_ID … adduct_ions … + SML 1 … [M+H]1+ | [M+Na]1+ … + default: [] + pattern: ^\[\d*M([+-][\w]*)\]\d*[+-]$ + items: + type: string + reliability: + type: string + description: > + The reliability of the given small molecule identification. This + must be supplied by the resource and MUST be reported as an integer + between 1-4: + + identified metabolite (1) + + putatively annotated compound (2) + + putatively characterized compound class (3) + + unknown compound (4) + + These MAY be replaced using a suitable CV term in the metadata section e.g. to use MSI recommendation levels (see Section 6.2.57 for details). + + + The following CV terms are already available within the PSI MS CV. Future schemes may be implemented by extending the PSI MS CV with new terms and associated levels. + + + The MSI has recently discussed an extension of the original four level scheme into a five level scheme MS:1002896 (compound identification confidence level) with levels + + isolated, pure compound, full stereochemistry (0) + + reference standard match or full 2D structure (1) + + unambiguous diagnostic evidence (literature, database) (2) + + most likely structure, including isomers, substance class or substructure match (3) + + unknown compound (4) + + For high-resolution MS, the following term and its levels may be used: MS:1002955 (hr-ms compound identification confidence level) with levels + + confirmed structure (1) + + probable structure (2) + + unambiguous ms library match (2a) + + diagnostic evidence (2b) + + tentative candidates (3) + + unequivocal molecular formula (4) + + exact mass (5) + + A String data type is set to allow for different systems to be specified in the metadata section. + x-mztab-example: > + SMH identifier … reliability … + + SML 1 … 3 … + + + or + + MTD small_molecule-identification_reliability [MS, MS:1002896, compound identification confidence level,] + + … + + SMH identifier … reliability … + + SML 1 … 0 … + + + or + + MTD small_molecule-identification_reliability [MS, MS:1002955, hr-ms compound identification confidence level,] + + … + + SMH identifier … reliability … + + SML 1 … 2a … + best_id_confidence_measure: + $ref: "#/components/schemas/Parameter" + best_id_confidence_value: + type: number + description: The best confidence measure in identification (for this type of + score) for the given small molecule across all assays. The type of + score MUST be defined in the metadata section. If the small molecule + was not identified by the specified search engine, “null” MUST be + reported. If the confidence measure does not report a numerical + confidence value, “null” SHOULD be reported. + x-mztab-example: | + SMH SML_ID … best_id_confidence_value … + SML 1 … 0.7 … + format: double + abundance_assay: + type: array + description: The small molecule’s abundance in every assay described in the + metadata section MUST be reported. Null or zero values may be + reported as appropriate. "null" SHOULD be used to report missing + quantities, while zero SHOULD be used to indicate a present but not + reliably quantifiable value (e.g. below a minimum noise threshold). + x-mztab-example: | + SMH SML_ID … abundance_assay[1] … + SML 1 … 0.3 … + default: [] + items: + type: number + format: double + abundance_study_variable: + type: array + description: The small molecule’s abundance in all the study variables described + in the metadata section (study_variable[1-n]_average_function), + calculated using the method as described in the Metadata section + (default = arithmetic mean across assays). Null or zero values may + be reported as appropriate. "null" SHOULD be used to report missing + quantities, while zero SHOULD be used to indicate a present but not + reliably quantifiable value (e.g. below a minimum noise threshold). + x-mztab-example: | + SMH SML_ID … abundance_study_variable[1] … + SML 1 … 0.3 … + default: [] + items: + type: number + format: double + abundance_variation_study_variable: + type: array + description: A measure of the variability of the study variable abundance + measurement, calculated using the method as described in the + metadata section (study_variable[1-n]_average_function), with a + default = arithmethic co-efficient of variation of the small + molecule’s abundance in the given study variable. + x-mztab-example: > + SMH SML_ID … abundance_study_variable[1] abundance_variation_study_variable[1] … + + SML 1 … 0.3 0.04 … + default: [] + items: + type: number + format: double + opt: + type: array + description: > + Additional columns can be added to the end of the small molecule + 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 ‘_’. + x-mztab-example: | + SMH SML_ID … opt_assay[1]_my_value … opt_global_another_value + SML 1 … My value … some other value + default: [] + items: + $ref: "#/components/schemas/OptColumnMapping" + comment: + type: array + default: [] + items: + $ref: "#/components/schemas/Comment" + SmallMoleculeFeature: + type: object + description: > + The small molecule feature section is table-based, representing + individual MS regions (generally considered to be the elution profile + for all isotopomers formed from a single charge state of a molecule), + that have been measured/quantified. However, for approaches that + quantify individual isotopomers e.g. stable isotope labelling/flux + studies, then each SMF row SHOULD represent a single isotopomer. + + + Different adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows. + + + The small molecule feature section MUST always come after the Small Molecule 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. + required: + - smf_id + - exp_mass_to_charge + - charge + properties: + prefix: + type: string + description: The small molecule feature table row prefix. SMF MUST be used for + rows of the small molecule feature table. + x-mztab-example: | + SMF 1 … + enum: + - SMF + default: SMF + readOnly: true + header_prefix: + type: string + description: The small molecule feature table header prefix. SFH MUST be used for + the small molecule feature table header line (the column labels). + x-mztab-example: | + SFH SMF_ID … + enum: + - SFH + default: SFH + readOnly: true + smf_id: + type: integer + description: A within file unique identifier for the small molecule feature. + x-mztab-example: | + SFH SMF_ID … + SMF 1 … + SMF 2 … + format: int32 + sme_id_refs: + type: array + description: References to the identification evidence (SME elements) via + referencing SME_ID values. Multiple values MAY be provided as a “|” + separated list to indicate ambiguity in the identification or to + indicate that different types of data supported the identifiction + (see SME_ID_REF_ambiguity_code). For the case of a consensus + approach where multiple adduct forms are used to infer the SML ID, + different features should just reference the same SME_ID value(s). + x-mztab-example: | + SFH SMF_ID SME_ID_REFS + SMF 1 5|6|12… + default: [] + items: + type: integer + format: int32 + sme_id_ref_ambiguity_code: + type: integer + description: If multiple values are given under SME_ID_REFS, one of the following + codes MUST be provided. 1=Ambiguous identification; 2=Only different + evidence streams for the same molecule with no ambiguity; 3=Both + ambiguous identification and multiple evidence streams. If there are + no or one value under SME_ID_REFs, this MUST be reported as null. + x-mztab-example: | + SFH SMF_ID SME_ID_REFS SME_ID_REF_ambiguity_code + SMF 1 5|6|12… 1 + format: int32 + adduct_ion: + type: string + description: 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]1+, [M+Na]1+, + [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+. + x-mztab-example: | + SFH SMF_ID … adduct_ion … + SMF 1 … [M+H]+ … + SMF 2 … [M+2Na]2+ … + pattern: ^\[\d*M([+-][\w]*)\]\d*[+-]$ + isotopomer: + $ref: "#/components/schemas/Parameter" + exp_mass_to_charge: + type: number + description: The experimental mass/charge value for the feature, by default + assumed to be the mean across assays or a representative value. For + approaches that report isotopomers as SMF rows, then the m/z of the + isotopomer MUST be reported here. + x-mztab-example: | + SFH SMF_ID … exp_mass_to_charge … + SMF 1 … 1234.5 … + format: double + charge: + type: integer + description: The feature’s charge value using positive integers both for positive + and negative polarity modes. + x-mztab-example: | + SFH SMF_ID … charge … + SMF 1 … 1 … + format: int32 + retention_time_in_seconds: + type: number + description: The apex of the feature on the retention time axis, in a Master or + aggregate MS run. Retention time MUST be reported in seconds. + Retention time values for individual MS runs (i.e. before alignment) + MAY be reported as optional columns. Retention time SHOULD only be + null in the case of direct infusion MS or other techniques where a + retention time value is absent or unknown. Relative retention time + or retention time index values MAY be reported as optional columns, + and could be considered for inclusion in future versions of mzTab as + appropriate. + x-mztab-example: | + SFH SMF_ID … retention_time_in_seconds … + SMF 1 … 1345.7 … + format: double + retention_time_in_seconds_start: + type: number + description: The start time of the feature on the retention time axis, in a + Master or aggregate MS run. Retention time MUST be reported in + seconds. Retention time start and end SHOULD only be null in the + case of direct infusion MS or other techniques where a retention + time value is absent or unknown and MAY be reported in optional + columns. + x-mztab-example: | + SFH SMF_ID … retention_time_in_seconds_start … + SMF 1 … 1327.0 … + format: double + retention_time_in_seconds_end: + type: number + description: The end time of the feature on the retention time axis, in a Master + or aggregate MS run. Retention time MUST be reported in seconds. + Retention time start and end SHOULD only be null in the case of + direct infusion MS or other techniques where a retention time value + is absent or unknown and MAY be reported in optional columns.. + x-mztab-example: | + SFH SMF_ID … retention_time_in_seconds_end … + SMF 1 … 1327.8 … + format: double + abundance_assay: + type: array + description: The feature’s abundance in every assay described in the metadata + section MUST be reported. Null or zero values may be reported as + appropriate. + x-mztab-example: | + SMH SML_ID … abundance_assay[1] … + SMF 1 … 38648 … + default: [] + items: + type: number + format: double + opt: + type: array + description: > + Additional columns can be added to the end of the small molecule + feature 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 ‘_’. + x-mztab-example: | + SFH SMF_ID … opt_assay[1]_my_value … opt_global_another_value + SMF 1 … My value … some other value + default: [] + items: + $ref: "#/components/schemas/OptColumnMapping" + comment: + type: array + default: [] + items: + $ref: "#/components/schemas/Comment" + SmallMoleculeEvidence: + type: object + required: + - sme_id + - evidence_input_id + - database_identifier + - exp_mass_to_charge + - charge + - theoretical_mass_to_charge + - spectra_ref + - identification_method + - ms_level + - rank + 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. + properties: + prefix: + type: string + description: The small molecule evidence table row prefix. SME MUST be used for + rows of the small molecule evidence table. + x-mztab-example: | + SME 1 … + enum: + - SME + default: SME + readOnly: true + header_prefix: + type: string + description: The small molecule evidence table header prefix. SEH MUST be used + for the small molecule evidence table header line (the column + labels). + x-mztab-example: | + SEH SME_ID … + enum: + - SEH + default: SEH + readOnly: true + sme_id: + type: integer + description: A within file unique identifier for the small molecule evidence + result. + x-mztab-example: | + SEH SME_ID … + SME 1 … + format: int32 + evidence_input_id: + type: string + description: 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. + x-mztab-example: > + SEH SME_ID evidence_input_id … + + SME 1 ms_run[1]:mass=278.65;rt=376.5 + + SME 2 ms_run[1]:mass=278.65;rt=376.5 + + SME 3 ms_run[1]:mass=278.65;rt=376.5 + + (in this example three identifications were made from the same accurate mass/RT library search) + database_identifier: + type: string + description: > + 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. + x-mztab-example: | + SEH SME_ID identifier … + SME 1 CID:00027395 … + SME 2 HMDB:HMDB12345 … + SME 3 CID:null … + chemical_formula: + type: string + description: > + 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” + x-mztab-example: | + SEH SME_ID … chemical_formula … + SME 1 … C17H20N4O2 … + smiles: + type: string + description: The potential molecule’s structure in the simplified molecular-input + line-entry system (SMILES) for the small molecule. + x-mztab-example: | + SEH SME_ID … chemical_formula smiles … + SML 1 … C17H20N4O2 C1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2 … + inchi: + type: string + description: A standard IUPAC International Chemical Identifier (InChI) for the + given substance. + x-mztab-example: > + SEH SME_ID … chemical_formula … inchi … + + SML 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) … + chemical_name: + type: string + description: The small molecule’s chemical/common name, or general description if + a chemical name is unavailable. + x-mztab-example: > + SEH SME_ID … chemical_name … + + SML 1 … N-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide … + uri: + type: string + description: A URI pointing to the small molecule’s entry in a database (e.g., + the small molecule’s HMDB, Chebi or KEGG entry). + x-mztab-example: | + SEH SME_ID … uri … + SME 1 … http://www.hmdb.ca/metabolites/HMDB00054 + format: uri + derivatized_form: + $ref: "#/components/schemas/Parameter" + adduct_ion: + type: string + description: 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. + x-mztab-example: | + SEH SME_ID … adduct_ion … + SME 1 … [M+H]+ … + SME 2 … [M+2Na]2+ … + OR (for negative mode): + SME 1 … [M-H]- … + SME 2 … [M+Cl]- … + pattern: ^\[\d*M([-][\w]*)\]\d*[+-]$ + exp_mass_to_charge: + type: number + description: 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. + x-mztab-example: | + SEH SME_ID … exp_mass_to_charge … + SME 1 … 1234.5 … + format: double + charge: + type: integer + description: The small molecule evidence’s charge value using positive integers + both for positive and negative polarity modes. + x-mztab-example: | + SEH SME_ID … charge … + SME 1 … 1 … + format: int32 + theoretical_mass_to_charge: + type: number + description: The theoretical mass/charge value for the small molecule or the + database mass/charge value (for a spectral library match). + x-mztab-example: | + SEH SME_ID … theoretical_mass_to_charge … + SME 1 … 1234.71 … + format: double + spectra_ref: + type: array + description: > + 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]”. + x-mztab-example: | + SEH SME_ID … spectra_ref … + SME 1 … ms_run[1]:index=5 … + default: [] + items: + $ref: "#/components/schemas/SpectraRef" + identification_method: + $ref: "#/components/schemas/Parameter" + ms_level: + $ref: "#/components/schemas/Parameter" + id_confidence_measure: + type: array + description: 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. + x-mztab-example: > + MTD id_confidence_measure[1] [MS, MS:1001419, SpectraST:discriminant + score F,] + + … + + SEH SME_ID … id_confidence_measure[1] … + + SME 1 … 0.7 … + default: [] + items: + type: number + format: double + rank: + type: integer + description: 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. + x-mztab-example: | + SEH SME_ID … rank … + SME 1 … 1 … + format: int32 + minimum: 1 + default: 1 + opt: + type: array + description: > + 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 ‘_’. + x-mztab-example: | + SEH SME_ID … opt_assay[1]_my_value … opt_global_another_value + SML 1 … My value … some other value + default: [] + items: + $ref: "#/components/schemas/OptColumnMapping" + comment: + type: array + default: [] + items: + $ref: "#/components/schemas/Comment" + Parameter: + description: > + mzTab makes use of CV parameters. As mzTab is expected to be used in + several experimental environments where parameters might not yet be + available for the generated scores etc. all parameters can either report + CV parameters or user parameters that only contain a name and a value. + + Parameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty. + x-mztab-example: | + [MS, MS:1001477, SpectraST,] + [,,A user parameter, The value] + type: object + required: + - name + - value + properties: + id: + type: integer + format: int32 + minimum: 1 + cv_label: + type: string + default: "" + cv_accession: + type: string + default: "" + name: + type: string + value: + type: string + default: "" + Instrument: + description: The name, source, analyzer and detector of the instruments used in the + experiment. Multiple instruments are numbered [1-n]. + x-mztab-example: | + MTD instrument[1]-name [MS, MS:1000449, LTQ Orbitrap,] + MTD instrument[1]-source [MS, MS:1000073, ESI,] + … + MTD instrument[2]-source [MS, MS:1000598, ETD,] + MTD instrument[1]-analyzer[1] [MS, MS:1000291, linear ion trap,] + … + MTD instrument[2]-analyzer[1] [MS, MS:1000484, orbitrap,] + MTD instrument[1]-detector [MS, MS:1000253, electron multiplier,] + … + MTD instrument[2]-detector [MS, MS:1000348, focal plane collector,] + x-mztab-serialize-by-id: "true" + type: object + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + $ref: "#/components/schemas/Parameter" + source: + $ref: "#/components/schemas/Parameter" + analyzer: + type: array + description: The instrument's mass analyzer, as defined by the parameter. + default: [] + items: + $ref: "#/components/schemas/Parameter" + detector: + $ref: "#/components/schemas/Parameter" + SampleProcessing: + description: > + 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. + x-mztab-example: > + MTD sample_processing[1] [MSIO, MSIO:0000107, metabolism quenching using + precooled 60 percent methanol ammonium bicarbonate buffer,] + + MTD sample_processing[2] [MSIO, MSIO:0000146, centrifugation,] + + MTD sample_processing[3] [MSIO, MSIO:0000141, metabolite extraction,] + + MTD sample_processing[4] [MSIO, MSIO:0000141, silylation,] + x-mztab-serialize-by-id: "true" + type: object + properties: + id: + type: integer + format: int32 + minimum: 1 + sampleProcessing: + type: array + default: [] + description: Parameters specifiying sample processing that was applied within one + step. + items: + $ref: "#/components/schemas/Parameter" + Software: + description: > + 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. + x-mztab-example: | + MTD software[1] [MS, MS:1002879, Progenesis QI, 3.0] + MTD software[1]-setting Fragment tolerance = 0.1 Da + … + MTD software[2]-setting Parent tolerance = 0.5 Da + x-mztab-serialize-by-id: "true" + type: object + properties: + id: + type: integer + format: int32 + minimum: 1 + parameter: + $ref: "#/components/schemas/Parameter" + setting: + type: array + default: [] + description: | + 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 cvParams for every + possible setting. + items: + type: string + Publication: + description: > + 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 “|”. + x-mztab-example: | + MTD publication[1] pubmed:21063943|doi:10.1007/978-1-60761-987-1_6 + MTD publication[2] pubmed:20615486|doi:10.1016/j.jprot.2010.06.008 + x-mztab-serialize-by-id: "true" + type: object + required: + - publicationItems + properties: + id: + type: integer + format: int32 + minimum: 1 + publicationItems: + type: array + description: The publication item ids referenced by this publication. + default: [] + items: + $ref: "#/components/schemas/PublicationItem" + PublicationItem: + type: object + required: + - type + - accession + description: A publication item, defined by a qualifier and a native accession, e.g. + pubmed id. + properties: + type: + type: string + description: The type qualifier of this publication item. + enum: + - doi + - pubmed + - uri + default: doi + accession: + type: string + description: The native accession id for this publication item. + SpectraRef: + type: object + required: + - ms_run + - reference + description: > + 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]”. + x-mztab-example: | + SEH SME_ID … spectra_ref … + SME 1 ms_run[1]:index=5 … + properties: + ms_run: + $ref: "#/components/schemas/MsRun" + reference: + description: > + The (vendor-dependendent) reference string to the actual mass + spectrum. + type: string + StringList: + type: array + default: [] + description: A typed list of strings. + items: + type: string + Contact: + description: > + 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]. + x-mztab-example: | + MTD contact[1]-name James D. Watson + MTD contact[1]-affiliation Cambridge University, UK + MTD contact[1]-email watson@cam.ac.uk + MTD contact[2]-name Francis Crick + MTD contact[2]-affiliation Cambridge University, UK + MTD contact[2]-email crick@cam.ac.uk + MTD contact[2]-orcid 0000-0002-1825-0097 + x-mztab-serialize-by-id: "true" + type: object + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + description: The contact's name. + type: string + affiliation: + description: The contact's affiliation. + type: string + email: + description: The contact's e-mail address. + type: string + pattern: ^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$ + orcid: + description: The contact's orcid id, without https prefix. + type: string + pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]{1}$ + Uri: + description: A URI pointing to the file’s source data (e.g., a MetaboLights records) + or an external file with more details about the study design. + x-mztab-example: > + MTD uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517 + + … + + MTD external_study_uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt + type: object + x-mztab-serialize-by-id: "true" + properties: + id: + type: integer + format: int32 + minimum: 1 + value: + type: string + description: The URI pointing to the external resource. + format: uri + Sample: + description: > + 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. + x-mztab-example: | + COM Experiment where all samples consisted of the same two species + MTD sample[1] individual number 1 + MTD sample[1]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] + MTD sample[1]-tissue[1] [BTO, BTO:0000759, liver, ] + MTD sample[1]-cell_type[1] [CL, CL:0000182, hepatocyte, ] + MTD sample[1]-disease[1] [DOID, DOID:684, hepatocellular carcinoma, ] + MTD sample[1]-disease[2] [DOID, DOID:9451, alcoholic fatty liver, ] + MTD sample[1]-description Hepatocellular carcinoma samples. + MTD sample[1]-custom[1] [,,Extraction date, 2011-12-21] + MTD sample[1]-custom[2] [,,Extraction reason, liver biopsy] + MTD sample[2] individual number 2 + MTD sample[2]-species[1] [NCBITaxon, NCBITaxon:9606, Homo sapiens, ] + MTD sample[2]-tissue[1] [BTO, BTO:0000759, liver, ] + MTD sample[2]-cell_type[1] [CL, CL:0000182, hepatocyte, ] + MTD sample[2]-description Healthy control samples. + x-mztab-serialize-by-id: "true" + type: object + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + type: string + description: The sample's name. + custom: + type: array + description: Additional user or cv parameters. + default: [] + items: + $ref: "#/components/schemas/Parameter" + species: + type: array + description: Biological species information on the sample. + default: [] + items: + $ref: "#/components/schemas/Parameter" + tissue: + type: array + description: Biological tissue information on the sample. + default: [] + items: + $ref: "#/components/schemas/Parameter" + cell_type: + type: array + description: Biological cell type information on the sample. + default: [] + items: + $ref: "#/components/schemas/Parameter" + disease: + type: array + description: Disease information on the sample. + default: [] + items: + $ref: "#/components/schemas/Parameter" + description: + description: A free form description of the sample. + type: string + MsRun: + description: > + 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. + x-mztab-example: | + COM location can be a local or remote URI + MTD ms_run[1]-location file:///C:/path/to/my/file.mzML + MTD ms_run[1]-instrument_ref instrument[1] + MTD ms_run[1]-format [MS, MS:1000584, mzML file, ] + MTD ms_run[1]-id_format [MS, MS:1000530, mzML unique identifier, ] + MTD ms_run[1]-fragmentation_method[1] [MS, MS:1000133, CID, ] + COM for mixed polarity scan scenarios + MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] + MTD ms_run[1]-scan_polarity[2] [MS, MS:1000129, negative scan, ] + MTD ms_run[1]-hash_method [MS, MS:1000569, SHA-1, ] + MTD ms_run[1]-hash de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 + x-mztab-serialize-by-id: "true" + type: object + required: + - id + - location + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + type: string + description: The msRun's name. + location: + type: string + format: uri + description: The msRun's location URI. + instrument_ref: + $ref: "#/components/schemas/Instrument" + format: + $ref: "#/components/schemas/Parameter" + id_format: + $ref: "#/components/schemas/Parameter" + fragmentation_method: + type: array + default: [] + items: + $ref: "#/components/schemas/Parameter" + description: The fragmentation methods applied during this msRun. + scan_polarity: + type: array + default: [] + items: + $ref: "#/components/schemas/Parameter" + description: The scan polarity/polarities used during this msRun. + hash: + type: string + description: The file hash value of this msRun's data file. + hash_method: + $ref: "#/components/schemas/Parameter" + StudyVariable: + description: > + 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. + x-mztab-example: > + MTD study_variable[1] control + + MTD study_variable[1]-assay_refs assay[1]| assay[2]| assay[3] + + MTD study_variable-average_function [MS, MS:1002883, median, ] + + MTD study_variable-variation_function [MS, MS:1002885, standard error, ] + + MTD study_variable[1]-description Group B (spike-in 0.74 fmol/uL) + + MTD study_variable[1]-factors [,,time point, 1 minute]|[,,rapamycin dose,0.5mg] + + MTD study_variable[2] 1 minute 0.5mg rapamycin + x-mztab-serialize-by-id: "true" + type: object + required: + - id + - name + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + type: string + description: The study variable name. + assay_refs: + type: array + default: [] + items: + $ref: "#/components/schemas/Assay" + description: The assays referenced by this study variable. + average_function: + $ref: "#/components/schemas/Parameter" + variation_function: + $ref: "#/components/schemas/Parameter" + description: + type: string + description: A free-form description of this study variable. + factors: + type: array + default: [] + items: + $ref: "#/components/schemas/Parameter" + description: Parameters indicating which factors were used for the assays + referenced by this study variable, and at which levels. + Assay: + description: > + 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. + x-mztab-example: > + MTD assay[1] first assay + + MTD assay[1]-custom[1] [MS, , Assay operator, Fred Blogs] + + MTD assay[1]-external_uri https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt + + MTD assay[1]-sample_ref sample[1] + + MTD assay[1]-ms_run_ref ms_run[1] + x-mztab-serialize-by-id: "true" + type: object + required: + - name + - ms_run_ref + properties: + id: + type: integer + format: int32 + minimum: 1 + name: + type: string + description: The assay name. + custom: + type: array + default: [] + items: + $ref: "#/components/schemas/Parameter" + description: Additional user or cv parameters. + external_uri: + type: string + format: uri + description: An external URI to further information about this assay. + sample_ref: + $ref: "#/components/schemas/Sample" + ms_run_ref: + type: array + default: [] + minItems: 1 + items: + $ref: "#/components/schemas/MsRun" + description: The ms run(s) referenced by this assay. + CV: + description: > + 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. + x-mztab-example: > + MTD cv[1]-label MS + + MTD cv[1]-full_name PSI-MS controlled vocabulary + + MTD cv[1]-version 4.1.11 + + MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo + x-mztab-serialize-by-id: "true" + type: object + required: + - label + - full_name + - version + - uri + properties: + id: + type: integer + format: int32 + minimum: 1 + label: + type: string + description: The abbreviated CV label. + full_name: + type: string + description: The full name of this CV, for humans. + version: + type: string + description: The CV version used when the file was generated. + uri: + type: string + format: uri + description: A URI to the CV definition. + Database: + description: > + 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. + x-mztab-example: | + MTD database[1] [MIRIAM, MIR:00100079, HMDB, ] + MTD database[1]-prefix hmdb + MTD database[1]-version 3.6 + MTD database[1]-uri http://www.hmdb.ca/ + MTD database[2] [,, "de novo", ] + MTD database[2]-prefix dn + MTD database[2]-version Unknown + MTD database[2]-uri null + MTD database[3] [,, "no database", null ] + MTD database[3]-prefix null + MTD database[3]-version Unknown + MTD database[3]-uri null + x-mztab-serialize-by-id: "true" + type: object + required: + - param + - prefix + - version + - uri + properties: + id: + type: integer + format: int32 + minimum: 1 + param: + $ref: "#/components/schemas/Parameter" + prefix: + type: string + default: "null" + description: The database prefix. + version: + type: string + description: The database version. + uri: + type: string + format: uri + description: The URI to the online database. + ColumnParameterMapping: + type: object + required: + - column_name + - param + description: Defines the used unit for a column in the mzTab-M file. 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. + x-mztab-example: > + COM colunit for optional small molecule summary column with the name + 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area' + + MTD colunit-small_molecule opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,] + properties: + column_name: + type: string + description: The fully qualified target column name. + param: + $ref: "#/components/schemas/Parameter" + OptColumnMapping: + type: object + required: + - identifier + description: > + Additional columns can be added to the end of the small molecule 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 ‘_’. + x-mztab-example: | + SMH SML_ID … opt_assay[1]_my_value … opt_global_another_value + SML 1 … My value … some other value + properties: + identifier: + type: string + description: The fully qualified column name. + param: + $ref: "#/components/schemas/Parameter" + value: + type: string + description: The value for this column in a particular row. + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + format: int32 + message: + type: string + ValidationMessage: + type: object + required: + - code + - category + - message + properties: + code: + type: string + category: + enum: + - format + - logical + - cross_check + default: format + message_type: + enum: + - error + - warn + - info + default: info + message: + type: string + line_number: + type: integer + format: int64 + diff --git a/api/src/main/resources/schemas/_definitions.json b/api/src/main/resources/schemas/_definitions.json new file mode 100644 index 00000000..0704aa08 --- /dev/null +++ b/api/src/main/resources/schemas/_definitions.json @@ -0,0 +1,1403 @@ +{ + "definitions": { + "MzTab": { + "type": "object", + "description": "mzTab-M is intended as a reporting standard for quantitative results from metabolomics/lipodomics approaches.\n\nThis format is further intended to provide local LIMS systems as well as MS metabolomics repositories a simple way to share and combine basic information.\n\nThe mzTab-M format consists of four cross-referenced data tables:\n \n * Metadata (MTD), \n * Small Molecule (SML), \n * Small Molecule Feature (SMF) and the \n * Small Molecule Evidence (SME). \n\nThe MTD and SML tables are mandatory, and for a file to contain any evidence about how molecules were quantified or identified by software, then all four tables must be present. The tables must follow the order MTD, SML, SMF and SME, with a blank line separating each table. \n\nThe structure of each table, in terms of the rows and columns that must be present is tightly specified and formally defined and explained in the mzTab-M specification document.\nmzTab-M files MUST have one Metadata (MTD) section and one Small Molecule (SML) Section. In practice, we expect that most files SHOULD also include one Small Molecule Feature (SMF) section, and one Small Molecule Evidence (SME) Section. \nFiles lacking SMF and SME sections can only present summary data about quantified molecules, without any evidence trail for how those values were derived. It will be left to reading software to determine whether additional validation will be requested such that SMF and SME tables MUST be present.\n", + "required": [ + "metadata", + "smallMoleculeSummary", + "smallMoleculeFeature", + "smallMoleculeEvidence" + ], + "properties": { + "metadata": { + "$ref": "#/definitions/Metadata" + }, + "smallMoleculeSummary": { + "description": "The small molecule section is table-based. The small molecule section MUST always come after the metadata section. All table columns MUST be Tab separated. There MUST NOT be any empty cells; missing values MUST be reported using \u201cnull\u201d for columns where Is Nullable = \u201cTrue\u201d.\n\nEach row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate \u2013 although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "minItems": 1, + "items": { + "$ref": "#/definitions/SmallMoleculeSummary" + } + }, + "smallMoleculeFeature": { + "description": "The small molecule feature section is table-based, representing individual MS regions (generally considered to be the elution profile for all isotopomers formed from a single charge state of a molecule), that have been measured/quantified. However, for approaches that quantify individual isotopomers e.g. stable isotope labelling/flux studies, then each SMF row SHOULD represent a single isotopomer.\n\nDifferent adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows.\n\nThe small molecule feature section MUST always come after the Small Molecule Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/SmallMoleculeFeature" + } + }, + "smallMoleculeEvidence": { + "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.\n\nThe 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 \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/SmallMoleculeEvidence" + } + }, + "comment": { + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Comment" + } + } + } + }, + "Comment": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + }, + "Metadata": { + "type": "object", + "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\u2019s name and value MUST be separated by a tab character. \n", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-ID\tMTBL1234\nMTD\ttitle\tEffects of Rapamycin on metabolite profile\n...\n", + "required": [ + "prefix", + "fileDescription", + "mzTab-version", + "mzTab-ID", + "quantification_method", + "software", + "ms_run", + "assay", + "study_variable", + "cv", + "database", + "small_molecule-quantification_unit", + "small_molecule_feature-quantification_unit", + "id_confidence_measure" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The metadata section prefix. MUST always be MTD.\n", + "enum": [ + "MTD" + ], + "default": "MTD", + "example": "MTD" + }, + "mzTab-version": { + "type": "string", + "description": "The version of the mzTab file. The suffix MUST be \"-M\" for mzTab for metabolomics (mzTab-M).\n", + "pattern": "^\\d{1}\\.\\d{1}\\.\\d{1}-[A-Z]{1}$", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-version\t2.0.1-M\n" + }, + "mzTab-ID": { + "type": "string", + "description": "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.\n", + "example": "MTD mzTab-ID MTBLS214" + }, + "title": { + "type": "string", + "description": "The file\u2019s human readable title.\n", + "example": "MTD title My first test experiment" + }, + "description": { + "type": "string", + "description": "The file\u2019s human readable description.\n", + "example": "MTD description An experiment investigating the effects of Il-6." + }, + "contact": { + "type": "array", + "description": "The contact\u2019s 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].", + "default": [], + "items": { + "$ref": "#/definitions/Contact" + }, + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD contact[2]-orcid 0000-0002-1825-0097\n" + }, + "publication": { + "type": "array", + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.", + "default": [], + "items": { + "$ref": "#/definitions/Publication" + }, + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n" + }, + "uri": { + "type": "array", + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records).", + "default": [], + "items": { + "$ref": "#/definitions/Uri" + }, + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n" + }, + "external_study_uri": { + "type": "array", + "description": "A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file).", + "default": [], + "items": { + "$ref": "#/definitions/Uri" + }, + "x-mztab-example": "MTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n" + }, + "instrument": { + "type": "array", + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "default": [], + "items": { + "$ref": "#/definitions/Instrument" + }, + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n" + }, + "quantification_method": { + "$ref": "#/definitions/Parameter", + "description": "The quantification method used in the experiment reported in the file.", + "x-mztab-example": "MTD\tquantification_method\t[MS, MS:1001834, LC-MS label-free quantitation analysis, ]\n" + }, + "sample": { + "type": "array", + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample\u2019s additional properties. Dates MUST be provided in ISO-8601 format.\n", + "default": [], + "items": { + "$ref": "#/definitions/Sample" + }, + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n" + }, + "sample_processing": { + "type": "array", + "description": "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 \u201c|\u201d. 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.\n", + "default": [], + "items": { + "$ref": "#/definitions/SampleProcessing" + }, + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n" + }, + "software": { + "type": "array", + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.", + "default": [], + "items": { + "$ref": "#/definitions/Software" + }, + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n" + }, + "derivatization_agent": { + "type": "array", + "description": "A description of derivatization agents applied to small molecules, using userParams or CV terms where possible.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "x-mztab-example": "MTD\tderivatization_agent[1]\t[XLMOD, XLMOD:07014, N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ]\n" + }, + "ms_run": { + "type": "array", + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "default": [], + "items": { + "$ref": "#/definitions/MsRun" + }, + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n" + }, + "assay": { + "type": "array", + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "default": [], + "items": { + "$ref": "#/definitions/Assay" + }, + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[2]\tsecond assay\nMTD\tassay[2]-sample_ref\tsample[2]\n" + }, + "study_variable": { + "type": "array", + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs.\n", + "default": [], + "items": { + "$ref": "#/definitions/StudyVariable" + }, + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute\n" + }, + "custom": { + "type": "array", + "description": "Any additional parameters describing the analysis reported.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "x-mztab-example": "MTD custom[1] [,,MS operator, Florian]\n" + }, + "cv": { + "type": "array", + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "default": [], + "items": { + "$ref": "#/definitions/CV" + }, + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n" + }, + "small_molecule-quantification_unit": { + "$ref": "#/definitions/Parameter", + "description": "Defines what type of units are reported in the small molecule summary quantification / abundance fields.", + "x-mztab-example": "MTD\tsmall_molecule-quantification_unit\t[MS, MS:1002887, Progenesis QI normalised abundance, ]\n" + }, + "small_molecule_feature-quantification_unit": { + "$ref": "#/definitions/Parameter", + "description": "Defines what type of units are reported in the small molecule feature quantification / abundance fields.", + "x-mztab-example": "MTD\tsmall_molecule_feature-quantification_unit\t[MS, MS:1002887, Progenesis QI normalised abundance, ]\n" + }, + "small_molecule-identification_reliability": { + "$ref": "#/definitions/Parameter", + "description": "The system used for giving reliability / confidence codes to small molecule identifications MUST be specified if not using the default codes.", + "x-mztab-example": "MTD\tsmall_molecule-identification_reliability\t[MS, MS:1002896, compound identification confidence level, ]\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002955, hr-ms compound identification confidence level, ]\n" + }, + "database": { + "type": "array", + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "default": [], + "items": { + "$ref": "#/definitions/Database" + }, + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n" + }, + "id_confidence_measure": { + "type": "array", + "description": "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\u2019s rank.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS,MS:1002889,Progenesis MetaScope Score,]\nMTD\tid_confidence_measure[2]\t[MS,MS:1002890,fragmentation score,]\nMTD\tid_confidence_measure[3]\t[MS,MS:1002891,isotopic fit score,]\n" + }, + "colunit-small_molecule": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "$ref": "#/definitions/ColumnParameterMapping" + }, + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n" + }, + "colunit-small_molecule_feature": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "$ref": "#/definitions/ColumnParameterMapping" + }, + "x-mztab-example": "COM\tcolunit 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]\nMTD\tcolunit-small_molecule_feature\topt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time=[UO,UO:0000031, minute,]\n" + }, + "colunit-small_molecule_evidence": { + "type": "array", + "description": "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}.", + "default": [], + "items": { + "$ref": "#/definitions/ColumnParameterMapping" + }, + "x-mztab-example": "COM\tcolunit for optional small molecule evidence column with the name 'opt_global_mass_error'\nMTD\tcolunit-small_molecule_evidence\topt_global_mass_error=[UO, UO:0000169, parts per million, ]\n" + } + } + }, + "SmallMoleculeSummary": { + "type": "object", + "description": "The small molecule summary section is table-based, represented summarized quantitative information across assays and study variables, grouped by identification in rows. The small molecule section MUST always come after the metadata section. All table columns MUST be Tab separated. There MUST NOT be any empty cells; missing values MUST be reported using \u201cnull\u201d for columns where Is Nullable = \u201cTrue\u201d.\n\nEach row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate \u2013 although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "sml_id" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule table row prefix. SML MUST be used for rows of the small molecule table.", + "x-mztab-example": "SML 1 \u2026\n", + "enum": [ + "SML" + ], + "default": "SML", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule table header prefix. SMH MUST be used for the small molecule table header line (the column labels).", + "x-mztab-example": "SMH\tSML_ID \u2026\n", + "enum": [ + "SMH" + ], + "default": "SMH", + "readOnly": true + }, + "sml_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\nSML\t1\t\u2026\nSML\t2\t\u2026\n", + "format": "int32" + }, + "smf_id_refs": { + "type": "array", + "description": "References to all the features on which quantitation has been based (SMF elements) via referencing SMF_ID values. Multiple values SHOULD be provided as a \u201c|\u201d separated list. This MAY be null only if this is a Summary file.", + "x-mztab-example": "SMH\tSML_ID\tSMF_ID_REFS\nSML\t1\t2|3|11\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "database_identifier": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section. \n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "x-mztab-example": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section.\n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_formula": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential chemical formulae of the reported compound. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant reporting of information (i.e. if ambiguity can be resolved in the chemical formula), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form.\n\nExample: N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "smiles": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential molecule structures in the simplified molecular-input line-entry system (SMILES) for the small molecule. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "inchi": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential standard IUPAC International Chemical Identifier (InChI) of the given substance.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant information being reported (i.e. if ambiguity can be resolved in the InChi), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_name": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible chemical/common names for the small molecule, or general description if a chemical name is unavailable. Multiple names are only to demonstrate ambiguity in the identification. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tdescription\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "uri": { + "type": "array", + "description": "A URI pointing to the small molecule\u2019s entry in a reference database (e.g., the small molecule\u2019s HMDB or KEGG entry). The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\turi\t\u2026\nSML\t1\t\u2026\thttp://www.genome.jp/dbget-bin/www_bget?cpd:C00031\t\u2026\nSML\t2\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB0001847\t\u2026\nSML\t3\t\u2026\thttp://identifiers.org/hmdb/HMDB0001847\t\u2026\n", + "default": [], + "items": { + "type": "string", + "format": "uri" + } + }, + "theoretical_neutral_mass": { + "type": "array", + "description": "The small molecule\u2019s precursor\u2019s theoretical neutral mass.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values (in general and between bars) are allowed for molecules that have not been identified only, or for molecules where the neutral mass cannot be calculated. In these cases, the SML entry SHOULD reference features in which exp_mass_to_charge values are captured.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\ttheoretical_neutral_mass\t\u2026\nSML\t1\t\u2026\t1234.5\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "adduct_ions": { + "type": "array", + "description": "A \u201c|\u201d separated list of detected adducts for this this molecule, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+. If the adduct classification is ambiguous with regards to identification evidence it MAY be null.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tadduct_ions\t\u2026\nSML\t1\t\u2026\t[M+H]1+ | [M+Na]1+\t\u2026\n", + "default": [], + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$", + "items": { + "type": "string" + } + }, + "reliability": { + "type": "string", + "description": "The reliability of the given small molecule identification. This must be supplied by the resource and MUST be reported as an integer between 1-4:\n\n identified metabolite (1)\n\n putatively annotated compound (2)\n\n putatively characterized compound class (3)\n\n unknown compound (4)\n\nThese MAY be replaced using a suitable CV term in the metadata section e.g. to use MSI recommendation levels (see Section 6.2.57 for details).\n\nThe following CV terms are already available within the PSI MS CV. Future schemes may be implemented by extending the PSI MS CV with new terms and associated levels.\n\nThe MSI has recently discussed an extension of the original four level scheme into a five level scheme MS:1002896 (compound identification confidence level) with levels\n\n isolated, pure compound, full stereochemistry (0)\n\n reference standard match or full 2D structure (1)\n\n unambiguous diagnostic evidence (literature, database) (2)\n\n most likely structure, including isomers, substance class or substructure match (3)\n\n unknown compound (4)\n\nFor high-resolution MS, the following term and its levels may be used: MS:1002955 (hr-ms compound identification confidence level) with levels\n\n confirmed structure (1)\n\n probable structure (2)\n\n unambiguous ms library match (2a)\n\n diagnostic evidence (2b)\n\n tentative candidates (3)\n\n unequivocal molecular formula (4)\n\n exact mass (5)\n\nA String data type is set to allow for different systems to be specified in the metadata section.\n", + "x-mztab-example": "SMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t3\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002896, compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t0\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002955, hr-ms compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t2a\t\u2026\n" + }, + "best_id_confidence_measure": { + "$ref": "#/definitions/Parameter", + "description": "The approach or database search that identified this small molecule with highest confidence.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tbest_id_confidence_measure\t\u2026\nSML\t1\t\u2026\t[MS, MS:1001477, SpectraST,]\t\u2026\n" + }, + "best_id_confidence_value": { + "type": "number", + "description": "The best confidence measure in identification (for this type of score) for the given small molecule across all assays. The type of score MUST be defined in the metadata section. If the small molecule was not identified by the specified search engine, \u201cnull\u201d MUST be reported. If the confidence measure does not report a numerical confidence value, \u201cnull\u201d SHOULD be reported.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tbest_id_confidence_value\t\u2026\nSML\t1\t\u2026\t0.7\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The small molecule\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_study_variable": { + "type": "array", + "description": "The small molecule\u2019s abundance in all the study variables described in the metadata section (study_variable[1-n]_average_function), calculated using the method as described in the Metadata section (default = arithmetic mean across assays). Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_variation_study_variable": { + "type": "array", + "description": "A measure of the variability of the study variable abundance measurement, calculated using the method as described in the metadata section (study_variable[1-n]_average_function), with a default = arithmethic co-efficient of variation of the small molecule\u2019s abundance in the given study variable.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\tabundance_variation_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t0.04\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "$ref": "#/definitions/OptColumnMapping" + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Comment" + } + } + } + }, + "SmallMoleculeFeature": { + "type": "object", + "description": "The small molecule feature section is table-based, representing individual MS regions (generally considered to be the elution profile for all isotopomers formed from a single charge state of a molecule), that have been measured/quantified. However, for approaches that quantify individual isotopomers e.g. stable isotope labelling/flux studies, then each SMF row SHOULD represent a single isotopomer.\n\nDifferent adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows.\n\nThe small molecule feature section MUST always come after the Small Molecule Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "smf_id", + "exp_mass_to_charge", + "charge" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule feature table row prefix. SMF MUST be used for rows of the small molecule feature table.", + "x-mztab-example": "SMF 1 \u2026\n", + "enum": [ + "SMF" + ], + "default": "SMF", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule feature table header prefix. SFH MUST be used for the small molecule feature table header line (the column labels).", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\n", + "enum": [ + "SFH" + ], + "default": "SFH", + "readOnly": true + }, + "smf_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule feature.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\nSMF\t1\t\u2026\nSMF\t2\t\u2026\n", + "format": "int32" + }, + "sme_id_refs": { + "type": "array", + "description": "References to the identification evidence (SME elements) via referencing SME_ID values. Multiple values MAY be provided as a \u201c|\u201d separated list to indicate ambiguity in the identification or to indicate that different types of data supported the identifiction (see SME_ID_REF_ambiguity_code). For the case of a consensus approach where multiple adduct forms are used to infer the SML ID, different features should just reference the same SME_ID value(s).", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\nSMF\t1\t5|6|12\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "sme_id_ref_ambiguity_code": { + "type": "integer", + "description": "If multiple values are given under SME_ID_REFS, one of the following codes MUST be provided. 1=Ambiguous identification; 2=Only different evidence streams for the same molecule with no ambiguity; 3=Both ambiguous identification and multiple evidence streams. If there are no or one value under SME_ID_REFs, this MUST be reported as null.", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\tSME_ID_REF_ambiguity_code\nSMF\t1\t5|6|12\u2026\t1\n", + "format": "int32" + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s adduct ion after detection, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tadduct_ion\t\u2026\nSMF\t1\t\u2026\t[M+H]+\t\u2026\nSMF\t2\t\u2026\t[M+2Na]2+\t\u2026\n", + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$" + }, + "isotopomer": { + "$ref": "#/definitions/Parameter", + "description": "If de-isotoping has not been performed, then the isotopomer quantified MUST be reported here e.g. \u201c+1\u201d, \u201c+2\u201d, \u201c13C peak\u201d using CV terms, otherwise (i.e. for approaches where SMF rows are de-isotoped features) this MUST be null.", + "x-mztab-example": "SFH SMF_ID \u2026 isotopomer \u2026\nSMF 1 \u2026 [MS,MS:1002957,\u201disotopomer MS peak\u201d,\u201d13C peak\u201d]\u2026 \n" + }, + "exp_mass_to_charge": { + "type": "number", + "description": "The experimental mass/charge value for the feature, by default assumed to be the mean across assays or a representative value. For approaches that report isotopomers as SMF rows, then the m/z of the isotopomer MUST be reported here.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\texp_mass_to_charge\t\u2026\nSMF\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The feature\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tcharge\t\u2026\nSMF\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "retention_time_in_seconds": { + "type": "number", + "description": "The apex of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time values for individual MS runs (i.e. before alignment) MAY be reported as optional columns. Retention time SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown. Relative retention time or retention time index values MAY be reported as optional columns, and could be considered for inclusion in future versions of mzTab as appropriate.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds\t\u2026\nSMF\t1\t\u2026\t1345.7\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_start": { + "type": "number", + "description": "The start time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_start\t\u2026\nSMF\t1\t\u2026\t1327.0\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_end": { + "type": "number", + "description": "The end time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns..", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_end\t\u2026\nSMF\t1\t\u2026\t1327.8\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The feature\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSMF\t1\t\u2026\t38648\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule feature table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSMF\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "$ref": "#/definitions/OptColumnMapping" + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Comment" + } + } + } + }, + "SmallMoleculeEvidence": { + "type": "object", + "required": [ + "sme_id", + "evidence_input_id", + "database_identifier", + "exp_mass_to_charge", + "charge", + "theoretical_mass_to_charge", + "spectra_ref", + "identification_method", + "ms_level", + "rank" + ], + "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.\n\nThe 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 \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table.", + "x-mztab-example": "SME\t1\t\u2026\n", + "enum": [ + "SME" + ], + "default": "SME", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\n", + "enum": [ + "SEH" + ], + "default": "SEH", + "readOnly": true + }, + "sme_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule evidence result.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\nSME\t1\t\u2026\n", + "format": "int32" + }, + "evidence_input_id": { + "type": "string", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID\tevidence_input_id\t\u2026\nSME\t1\tms_run[1]:mass=278.65;rt=376.5\nSME\t2\tms_run[1]:mass=278.65;rt=376.5\nSME\t3\tms_run[1]:mass=278.65;rt=376.5\n(in this example three identifications were made from the same accurate mass/RT library search)\n" + }, + "database_identifier": { + "type": "string", + "description": "The putative identification for the small molecule sourced from an external database, using the same prefix specified in database[1-n]-prefix.\n\nThis could include additionally a chemical class or an identifier to a spectral library entity, even if its actual identity is unknown.\n\nFor the \u201cno database\u201d 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.\n", + "x-mztab-example": "SEH\tSME_ID\tidentifier\t\u2026\nSME\t1\tCID:00027395\t\u2026\nSME\t2\tHMDB:HMDB12345\t\u2026\nSME\t3\tCID:null\t\u2026\n" + }, + "chemical_formula": { + "type": "string", + "description": "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).\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form. Charge state is reported by the charge field.\n\nExample N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\nSME\t1\t\u2026\tC17H20N4O2\t\u2026\n" + }, + "smiles": { + "type": "string", + "description": "The potential molecule\u2019s structure in the simplified molecular-input line-entry system (SMILES) for the small molecule.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n" + }, + "inchi": { + "type": "string", + "description": "A standard IUPAC International Chemical Identifier (InChI) for the given substance.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n" + }, + "chemical_name": { + "type": "string", + "description": "The small molecule\u2019s chemical/common name, or general description if a chemical name is unavailable.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_name\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n" + }, + "uri": { + "type": "string", + "description": "A URI pointing to the small molecule\u2019s entry in a database (e.g., the small molecule\u2019s HMDB, Chebi or KEGG entry).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\turi\t\u2026\nSME\t1\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB00054\n", + "format": "uri" + }, + "derivatized_form": { + "$ref": "#/definitions/Parameter", + "description": "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.", + "x-mztab-example": "COM\tThis example shows a triple substitution with a TMS group (3TMS)\nSMH\tdatabase_identifier\t\u2026\tderivatized_form\t\u2026\nSML\tCID:00027395\t\u2026\t[CHEBI, CHEBI:51088, trimethylsilyl group, 3]\t\u2026\n" + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s 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.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tadduct_ion\t\u2026\nSME\t1\t\u2026\t[M+H]+\t\u2026\nSME\t2\t\u2026\t[M+2Na]2+\t\u2026\nOR (for negative mode):\nSME\t1\t\u2026\t[M-H]-\t\u2026\nSME\t2\t\u2026\t[M+Cl]-\t\u2026\n", + "pattern": "^\\[\\d*M([-][\\w]*)\\]\\d*[+-]$" + }, + "exp_mass_to_charge": { + "type": "number", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID \t\u2026\texp_mass_to_charge\t\u2026\nSME\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The small molecule evidence\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tcharge\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "theoretical_mass_to_charge": { + "type": "number", + "description": "The theoretical mass/charge value for the small molecule or the database mass/charge value (for a spectral library match).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\ttheoretical_mass_to_charge \u2026\nSME\t1\t\u2026\t1234.71\t\u2026\n", + "format": "double" + }, + "spectra_ref": { + "type": "array", + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\u2026\tms_run[1]:index=5\t\u2026\n", + "default": [], + "items": { + "$ref": "#/definitions/SpectraRef" + } + }, + "identification_method": { + "$ref": "#/definitions/Parameter", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tidentification_method\t\u2026\nSME\t1\t\u2026\t[MS, MS:1001477, SpectraST,]\t\u2026\n" + }, + "ms_level": { + "$ref": "#/definitions/Parameter", + "description": "The highest MS level used to inform identification e.g. MS1 (accurate mass only) = \u201cms level=1\u201d or from an MS2 fragmentation spectrum = \u201cms level=2\u201d. For direct fragmentation or data independent approaches where fragmentation data is used, appropriate CV terms SHOULD be used .", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tms_level\t\u2026\nSME\t1\t\u2026\t[MS, MS:1000511, ms level, 2]\t\u2026\n" + }, + "id_confidence_measure": { + "type": "array", + "description": "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.", + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS, MS:1001419, SpectraST:discriminant score F,]\n\u2026\nSEH\tSME_ID\t\u2026\tid_confidence_measure[1]\t\u2026\nSME\t1\t\u2026\t0.7\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "rank": { + "type": "integer", + "description": "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 \u2013 defaults to 1 if there is no ranking system used.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\trank\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule evidence table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "$ref": "#/definitions/OptColumnMapping" + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Comment" + } + } + } + }, + "Parameter": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "Instrument": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "$ref": "#/definitions/Parameter" + }, + "source": { + "description": "The instrument's source, as defined by the parameter.", + "$ref": "#/definitions/Parameter" + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "detector": { + "description": "The instrument's detector, as defined by the parameter.", + "$ref": "#/definitions/Parameter" + } + } + }, + "SampleProcessing": { + "description": "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 \u201c|\u201d. 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. \n", + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "sampleProcessing": { + "type": "array", + "default": [], + "description": "Parameters specifiying sample processing that was applied within one step.", + "items": { + "$ref": "#/definitions/Parameter" + } + } + } + }, + "Software": { + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.\n", + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "parameter": { + "description": "Parameter defining the software being used.", + "$ref": "#/definitions/Parameter" + }, + "setting": { + "type": "array", + "default": [], + "description": "A software setting used. This field MAY occur multiple times for a\nsingle software. The value of this field is deliberately set as a\nString, since there currently do not exist cvParams for every\npossible setting.\n", + "items": { + "type": "string" + } + } + } + }, + "Publication": { + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.\n", + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "publicationItems" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "publicationItems": { + "type": "array", + "description": "The publication item ids referenced by this publication.", + "default": [], + "items": { + "$ref": "#/definitions/PublicationItem" + } + } + } + }, + "PublicationItem": { + "type": "object", + "required": [ + "type", + "accession" + ], + "description": "A publication item, defined by a qualifier and a native accession, e.g. pubmed id.", + "properties": { + "type": { + "type": "string", + "description": "The type qualifier of this publication item.", + "enum": [ + "doi", + "pubmed", + "uri" + ], + "default": "doi" + }, + "accession": { + "type": "string", + "description": "The native accession id for this publication item." + } + } + }, + "SpectraRef": { + "type": "object", + "required": [ + "ms_run", + "reference" + ], + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\t\tms_run[1]:index=5\t\u2026\n", + "properties": { + "ms_run": { + "description": "The ms run object reference by this spectral reference.\n", + "$ref": "#/definitions/MsRun" + }, + "reference": { + "description": "The (vendor-dependendent) reference string to the actual mass spectrum.\n", + "type": "string" + } + } + }, + "StringList": { + "type": "array", + "default": [], + "description": "A typed list of strings.", + "items": { + "type": "string" + } + }, + "Contact": { + "description": "The contact\u2019s 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].\n", + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD\tcontact[2]-orcid\t0000-0002-1825-0097\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "The contact's name.", + "type": "string" + }, + "affiliation": { + "description": "The contact's affiliation.", + "type": "string" + }, + "email": { + "description": "The contact's e-mail address.", + "type": "string", + "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$" + }, + "orcid": { + "description": "The contact's orcid id, without https prefix.", + "type": "string", + "pattern": "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]{1}" + } + } + }, + "Uri": { + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + } + }, + "Sample": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "MsRun": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "$ref": "#/definitions/Instrument", + "description": "The instrument on which this msRun was measured." + }, + "format": { + "$ref": "#/definitions/Parameter", + "description": "The msRun's file format." + }, + "id_format": { + "$ref": "#/definitions/Parameter", + "description": "The msRun's mass spectra id format." + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "$ref": "#/definitions/Parameter", + "description": "The hash method used to calculate the file hash." + } + } + }, + "StudyVariable": { + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. \n", + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,time point, 1 minute]|[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute 0.5mg rapamycin\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The study variable name." + }, + "assay_refs": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Assay" + }, + "description": "The assays referenced by this study variable." + }, + "average_function": { + "$ref": "#/definitions/Parameter", + "description": "The function used to calculate summarised small molecule quantities over the assays referenced by this study variable." + }, + "variation_function": { + "$ref": "#/definitions/Parameter", + "description": "The function used to calculate the variation of small molecule quantities over the assays referenced by this study variable." + }, + "description": { + "type": "string", + "description": "A free-form description of this study variable." + }, + "factors": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "description": "Parameters indicating which factors were used for the assays referenced by this study variable, and at which levels." + } + } + }, + "Assay": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "$ref": "#/definitions/Parameter" + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "$ref": "#/definitions/Sample", + "description": "The sample referenced by this assay." + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "$ref": "#/definitions/MsRun" + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "CV": { + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "label", + "full_name", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "label": { + "type": "string", + "description": "The abbreviated CV label." + }, + "full_name": { + "type": "string", + "description": "The full name of this CV, for humans." + }, + "version": { + "type": "string", + "description": "The CV version used when the file was generated." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "A URI to the CV definition." + } + } + }, + "Database": { + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "param", + "prefix", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "param": { + "$ref": "#/definitions/Parameter", + "description": "The parameter to identify this database." + }, + "prefix": { + "type": "string", + "default": "null", + "description": "The database prefix." + }, + "version": { + "type": "string", + "description": "The database version." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The URI to the online database." + } + } + }, + "ColumnParameterMapping": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "$ref": "#/definitions/Parameter", + "description": "The parameter specifying the unit." + } + } + }, + "OptColumnMapping": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "$ref": "#/definitions/Parameter", + "description": "The (optional) parameter for this column." + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + } + } + }, + "ValidationMessage": { + "type": "object", + "required": [ + "code", + "category", + "message" + ], + "properties": { + "code": { + "type": "string" + }, + "category": { + "enum": [ + "format", + "logical", + "cross_check" + ], + "default": "format" + }, + "message_type": { + "enum": [ + "error", + "warn", + "info" + ], + "default": "info" + }, + "message": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int64" + } + } + } + } +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/all.json b/api/src/main/resources/schemas/all.json new file mode 100644 index 00000000..9f1920b9 --- /dev/null +++ b/api/src/main/resources/schemas/all.json @@ -0,0 +1,82 @@ +{ + "oneOf": [ + { + "$ref": "_definitions.json#/definitions/MzTab" + }, + { + "$ref": "_definitions.json#/definitions/Comment" + }, + { + "$ref": "_definitions.json#/definitions/Metadata" + }, + { + "$ref": "_definitions.json#/definitions/SmallMoleculeSummary" + }, + { + "$ref": "_definitions.json#/definitions/SmallMoleculeFeature" + }, + { + "$ref": "_definitions.json#/definitions/SmallMoleculeEvidence" + }, + { + "$ref": "_definitions.json#/definitions/Parameter" + }, + { + "$ref": "_definitions.json#/definitions/Instrument" + }, + { + "$ref": "_definitions.json#/definitions/SampleProcessing" + }, + { + "$ref": "_definitions.json#/definitions/Software" + }, + { + "$ref": "_definitions.json#/definitions/Publication" + }, + { + "$ref": "_definitions.json#/definitions/PublicationItem" + }, + { + "$ref": "_definitions.json#/definitions/SpectraRef" + }, + { + "$ref": "_definitions.json#/definitions/StringList" + }, + { + "$ref": "_definitions.json#/definitions/Contact" + }, + { + "$ref": "_definitions.json#/definitions/Uri" + }, + { + "$ref": "_definitions.json#/definitions/Sample" + }, + { + "$ref": "_definitions.json#/definitions/MsRun" + }, + { + "$ref": "_definitions.json#/definitions/StudyVariable" + }, + { + "$ref": "_definitions.json#/definitions/Assay" + }, + { + "$ref": "_definitions.json#/definitions/CV" + }, + { + "$ref": "_definitions.json#/definitions/Database" + }, + { + "$ref": "_definitions.json#/definitions/ColumnParameterMapping" + }, + { + "$ref": "_definitions.json#/definitions/OptColumnMapping" + }, + { + "$ref": "_definitions.json#/definitions/Error" + }, + { + "$ref": "_definitions.json#/definitions/ValidationMessage" + } + ] +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/assay.json b/api/src/main/resources/schemas/assay.json new file mode 100644 index 00000000..674d4f73 --- /dev/null +++ b/api/src/main/resources/schemas/assay.json @@ -0,0 +1,607 @@ +{ + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/columnparametermapping.json b/api/src/main/resources/schemas/columnparametermapping.json new file mode 100644 index 00000000..aca22d02 --- /dev/null +++ b/api/src/main/resources/schemas/columnparametermapping.json @@ -0,0 +1,47 @@ +{ + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/comment.json b/api/src/main/resources/schemas/comment.json new file mode 100644 index 00000000..1e6cdad1 --- /dev/null +++ b/api/src/main/resources/schemas/comment.json @@ -0,0 +1,26 @@ +{ + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/contact.json b/api/src/main/resources/schemas/contact.json new file mode 100644 index 00000000..b9c3296e --- /dev/null +++ b/api/src/main/resources/schemas/contact.json @@ -0,0 +1,32 @@ +{ + "description": "The contact\u2019s 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].\n", + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD\tcontact[2]-orcid\t0000-0002-1825-0097\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "The contact's name.", + "type": "string" + }, + "affiliation": { + "description": "The contact's affiliation.", + "type": "string" + }, + "email": { + "description": "The contact's e-mail address.", + "type": "string", + "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$" + }, + "orcid": { + "description": "The contact's orcid id, without https prefix.", + "type": "string", + "pattern": "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]{1}" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/cv.json b/api/src/main/resources/schemas/cv.json new file mode 100644 index 00000000..8317ebb9 --- /dev/null +++ b/api/src/main/resources/schemas/cv.json @@ -0,0 +1,37 @@ +{ + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "label", + "full_name", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "label": { + "type": "string", + "description": "The abbreviated CV label." + }, + "full_name": { + "type": "string", + "description": "The full name of this CV, for humans." + }, + "version": { + "type": "string", + "description": "The CV version used when the file was generated." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "A URI to the CV definition." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/database.json b/api/src/main/resources/schemas/database.json new file mode 100644 index 00000000..c91853bf --- /dev/null +++ b/api/src/main/resources/schemas/database.json @@ -0,0 +1,65 @@ +{ + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "param", + "prefix", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "prefix": { + "type": "string", + "default": "null", + "description": "The database prefix." + }, + "version": { + "type": "string", + "description": "The database version." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The URI to the online database." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/error.json b/api/src/main/resources/schemas/error.json new file mode 100644 index 00000000..150bc1f0 --- /dev/null +++ b/api/src/main/resources/schemas/error.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/instrument.json b/api/src/main/resources/schemas/instrument.json new file mode 100644 index 00000000..1b7ddf62 --- /dev/null +++ b/api/src/main/resources/schemas/instrument.json @@ -0,0 +1,143 @@ +{ + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/metadata.json b/api/src/main/resources/schemas/metadata.json new file mode 100644 index 00000000..87545384 --- /dev/null +++ b/api/src/main/resources/schemas/metadata.json @@ -0,0 +1,2856 @@ +{ + "type": "object", + "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\u2019s name and value MUST be separated by a tab character. \n", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-ID\tMTBL1234\nMTD\ttitle\tEffects of Rapamycin on metabolite profile\n...\n", + "required": [ + "prefix", + "fileDescription", + "mzTab-version", + "mzTab-ID", + "quantification_method", + "software", + "ms_run", + "assay", + "study_variable", + "cv", + "database", + "small_molecule-quantification_unit", + "small_molecule_feature-quantification_unit", + "id_confidence_measure" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The metadata section prefix. MUST always be MTD.\n", + "enum": [ + "MTD" + ], + "default": "MTD", + "example": "MTD" + }, + "mzTab-version": { + "type": "string", + "description": "The version of the mzTab file. The suffix MUST be \"-M\" for mzTab for metabolomics (mzTab-M).\n", + "pattern": "^\\d{1}\\.\\d{1}\\.\\d{1}-[A-Z]{1}$", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-version\t2.0.1-M\n" + }, + "mzTab-ID": { + "type": "string", + "description": "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.\n", + "example": "MTD mzTab-ID MTBLS214" + }, + "title": { + "type": "string", + "description": "The file\u2019s human readable title.\n", + "example": "MTD title My first test experiment" + }, + "description": { + "type": "string", + "description": "The file\u2019s human readable description.\n", + "example": "MTD description An experiment investigating the effects of Il-6." + }, + "contact": { + "type": "array", + "description": "The contact\u2019s 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].", + "default": [], + "items": { + "description": "The contact\u2019s 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].\n", + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD\tcontact[2]-orcid\t0000-0002-1825-0097\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "The contact's name.", + "type": "string" + }, + "affiliation": { + "description": "The contact's affiliation.", + "type": "string" + }, + "email": { + "description": "The contact's e-mail address.", + "type": "string", + "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$" + }, + "orcid": { + "description": "The contact's orcid id, without https prefix.", + "type": "string", + "pattern": "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]{1}" + } + } + }, + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD contact[2]-orcid 0000-0002-1825-0097\n" + }, + "publication": { + "type": "array", + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.", + "default": [], + "items": { + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.\n", + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "publicationItems" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "publicationItems": { + "type": "array", + "description": "The publication item ids referenced by this publication.", + "default": [], + "items": { + "type": "object", + "required": [ + "type", + "accession" + ], + "description": "A publication item, defined by a qualifier and a native accession, e.g. pubmed id.", + "properties": { + "type": { + "type": "string", + "description": "The type qualifier of this publication item.", + "enum": [ + "doi", + "pubmed", + "uri" + ], + "default": "doi" + }, + "accession": { + "type": "string", + "description": "The native accession id for this publication item." + } + } + } + } + } + }, + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n" + }, + "uri": { + "type": "array", + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records).", + "default": [], + "items": { + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + } + }, + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n" + }, + "external_study_uri": { + "type": "array", + "description": "A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file).", + "default": [], + "items": { + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + } + }, + "x-mztab-example": "MTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n" + }, + "instrument": { + "type": "array", + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "default": [], + "items": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n" + }, + "quantification_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "sample": { + "type": "array", + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample\u2019s additional properties. Dates MUST be provided in ISO-8601 format.\n", + "default": [], + "items": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n" + }, + "sample_processing": { + "type": "array", + "description": "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 \u201c|\u201d. 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.\n", + "default": [], + "items": { + "description": "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 \u201c|\u201d. 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. \n", + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "sampleProcessing": { + "type": "array", + "default": [], + "description": "Parameters specifiying sample processing that was applied within one step.", + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + } + }, + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n" + }, + "software": { + "type": "array", + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.", + "default": [], + "items": { + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.\n", + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "parameter": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "setting": { + "type": "array", + "default": [], + "description": "A software setting used. This field MAY occur multiple times for a\nsingle software. The value of this field is deliberately set as a\nString, since there currently do not exist cvParams for every\npossible setting.\n", + "items": { + "type": "string" + } + } + } + }, + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n" + }, + "derivatization_agent": { + "type": "array", + "description": "A description of derivatization agents applied to small molecules, using userParams or CV terms where possible.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD\tderivatization_agent[1]\t[XLMOD, XLMOD:07014, N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ]\n" + }, + "ms_run": { + "type": "array", + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "default": [], + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n" + }, + "assay": { + "type": "array", + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "default": [], + "items": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[2]\tsecond assay\nMTD\tassay[2]-sample_ref\tsample[2]\n" + }, + "study_variable": { + "type": "array", + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs.\n", + "default": [], + "items": { + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. \n", + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,time point, 1 minute]|[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute 0.5mg rapamycin\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The study variable name." + }, + "assay_refs": { + "type": "array", + "default": [], + "items": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "description": "The assays referenced by this study variable." + }, + "average_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "variation_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": { + "type": "string", + "description": "A free-form description of this study variable." + }, + "factors": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Parameters indicating which factors were used for the assays referenced by this study variable, and at which levels." + } + } + }, + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute\n" + }, + "custom": { + "type": "array", + "description": "Any additional parameters describing the analysis reported.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD custom[1] [,,MS operator, Florian]\n" + }, + "cv": { + "type": "array", + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "default": [], + "items": { + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "label", + "full_name", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "label": { + "type": "string", + "description": "The abbreviated CV label." + }, + "full_name": { + "type": "string", + "description": "The full name of this CV, for humans." + }, + "version": { + "type": "string", + "description": "The CV version used when the file was generated." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "A URI to the CV definition." + } + } + }, + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n" + }, + "small_molecule-quantification_unit": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "small_molecule_feature-quantification_unit": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "small_molecule-identification_reliability": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "database": { + "type": "array", + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "default": [], + "items": { + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "param", + "prefix", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "prefix": { + "type": "string", + "default": "null", + "description": "The database prefix." + }, + "version": { + "type": "string", + "description": "The database version." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The URI to the online database." + } + } + }, + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n" + }, + "id_confidence_measure": { + "type": "array", + "description": "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\u2019s rank.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS,MS:1002889,Progenesis MetaScope Score,]\nMTD\tid_confidence_measure[2]\t[MS,MS:1002890,fragmentation score,]\nMTD\tid_confidence_measure[3]\t[MS,MS:1002891,isotopic fit score,]\n" + }, + "colunit-small_molecule": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n" + }, + "colunit-small_molecule_feature": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit 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]\nMTD\tcolunit-small_molecule_feature\topt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time=[UO,UO:0000031, minute,]\n" + }, + "colunit-small_molecule_evidence": { + "type": "array", + "description": "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}.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit for optional small molecule evidence column with the name 'opt_global_mass_error'\nMTD\tcolunit-small_molecule_evidence\topt_global_mass_error=[UO, UO:0000169, parts per million, ]\n" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/msrun.json b/api/src/main/resources/schemas/msrun.json new file mode 100644 index 00000000..7fb894e2 --- /dev/null +++ b/api/src/main/resources/schemas/msrun.json @@ -0,0 +1,338 @@ +{ + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/mztab.json b/api/src/main/resources/schemas/mztab.json new file mode 100644 index 00000000..45b094b5 --- /dev/null +++ b/api/src/main/resources/schemas/mztab.json @@ -0,0 +1,4061 @@ +{ + "type": "object", + "description": "mzTab-M is intended as a reporting standard for quantitative results from metabolomics/lipodomics approaches.\n\nThis format is further intended to provide local LIMS systems as well as MS metabolomics repositories a simple way to share and combine basic information.\n\nThe mzTab-M format consists of four cross-referenced data tables:\n \n * Metadata (MTD), \n * Small Molecule (SML), \n * Small Molecule Feature (SMF) and the \n * Small Molecule Evidence (SME). \n\nThe MTD and SML tables are mandatory, and for a file to contain any evidence about how molecules were quantified or identified by software, then all four tables must be present. The tables must follow the order MTD, SML, SMF and SME, with a blank line separating each table. \n\nThe structure of each table, in terms of the rows and columns that must be present is tightly specified and formally defined and explained in the mzTab-M specification document.\nmzTab-M files MUST have one Metadata (MTD) section and one Small Molecule (SML) Section. In practice, we expect that most files SHOULD also include one Small Molecule Feature (SMF) section, and one Small Molecule Evidence (SME) Section. \nFiles lacking SMF and SME sections can only present summary data about quantified molecules, without any evidence trail for how those values were derived. It will be left to reading software to determine whether additional validation will be requested such that SMF and SME tables MUST be present.\n", + "required": [ + "metadata", + "smallMoleculeSummary", + "smallMoleculeFeature", + "smallMoleculeEvidence" + ], + "properties": { + "metadata": { + "type": "object", + "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\u2019s name and value MUST be separated by a tab character. \n", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-ID\tMTBL1234\nMTD\ttitle\tEffects of Rapamycin on metabolite profile\n...\n", + "required": [ + "prefix", + "fileDescription", + "mzTab-version", + "mzTab-ID", + "quantification_method", + "software", + "ms_run", + "assay", + "study_variable", + "cv", + "database", + "small_molecule-quantification_unit", + "small_molecule_feature-quantification_unit", + "id_confidence_measure" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The metadata section prefix. MUST always be MTD.\n", + "enum": [ + "MTD" + ], + "default": "MTD", + "example": "MTD" + }, + "mzTab-version": { + "type": "string", + "description": "The version of the mzTab file. The suffix MUST be \"-M\" for mzTab for metabolomics (mzTab-M).\n", + "pattern": "^\\d{1}\\.\\d{1}\\.\\d{1}-[A-Z]{1}$", + "x-mztab-example": "MTD\tmzTab-version\t2.0.0-M\nMTD\tmzTab-version\t2.0.1-M\n" + }, + "mzTab-ID": { + "type": "string", + "description": "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.\n", + "example": "MTD mzTab-ID MTBLS214" + }, + "title": { + "type": "string", + "description": "The file\u2019s human readable title.\n", + "example": "MTD title My first test experiment" + }, + "description": { + "type": "string", + "description": "The file\u2019s human readable description.\n", + "example": "MTD description An experiment investigating the effects of Il-6." + }, + "contact": { + "type": "array", + "description": "The contact\u2019s 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].", + "default": [], + "items": { + "description": "The contact\u2019s 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].\n", + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD\tcontact[2]-orcid\t0000-0002-1825-0097\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "The contact's name.", + "type": "string" + }, + "affiliation": { + "description": "The contact's affiliation.", + "type": "string" + }, + "email": { + "description": "The contact's e-mail address.", + "type": "string", + "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$" + }, + "orcid": { + "description": "The contact's orcid id, without https prefix.", + "type": "string", + "pattern": "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]{1}" + } + } + }, + "x-mztab-example": "MTD\tcontact[1]-name\tJames D. Watson\nMTD\tcontact[1]-affiliation\tCambridge University, UK\nMTD\tcontact[1]-email\twatson@cam.ac.uk\nMTD\tcontact[2]-name\tFrancis Crick\nMTD\tcontact[2]-affiliation\tCambridge University, UK\nMTD\tcontact[2]-email\tcrick@cam.ac.uk\nMTD contact[2]-orcid 0000-0002-1825-0097\n" + }, + "publication": { + "type": "array", + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.", + "default": [], + "items": { + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.\n", + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "publicationItems" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "publicationItems": { + "type": "array", + "description": "The publication item ids referenced by this publication.", + "default": [], + "items": { + "type": "object", + "required": [ + "type", + "accession" + ], + "description": "A publication item, defined by a qualifier and a native accession, e.g. pubmed id.", + "properties": { + "type": { + "type": "string", + "description": "The type qualifier of this publication item.", + "enum": [ + "doi", + "pubmed", + "uri" + ], + "default": "doi" + }, + "accession": { + "type": "string", + "description": "The native accession id for this publication item." + } + } + } + } + } + }, + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n" + }, + "uri": { + "type": "array", + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records).", + "default": [], + "items": { + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + } + }, + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n" + }, + "external_study_uri": { + "type": "array", + "description": "A URI pointing to an external file with more details about the study design (e.g., an ISA-TAB file).", + "default": [], + "items": { + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + } + }, + "x-mztab-example": "MTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n" + }, + "instrument": { + "type": "array", + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "default": [], + "items": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n" + }, + "quantification_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "sample": { + "type": "array", + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample\u2019s additional properties. Dates MUST be provided in ISO-8601 format.\n", + "default": [], + "items": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n" + }, + "sample_processing": { + "type": "array", + "description": "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 \u201c|\u201d. 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.\n", + "default": [], + "items": { + "description": "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 \u201c|\u201d. 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. \n", + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "sampleProcessing": { + "type": "array", + "default": [], + "description": "Parameters specifiying sample processing that was applied within one step.", + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + } + }, + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n" + }, + "software": { + "type": "array", + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.", + "default": [], + "items": { + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.\n", + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "parameter": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "setting": { + "type": "array", + "default": [], + "description": "A software setting used. This field MAY occur multiple times for a\nsingle software. The value of this field is deliberately set as a\nString, since there currently do not exist cvParams for every\npossible setting.\n", + "items": { + "type": "string" + } + } + } + }, + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n" + }, + "derivatization_agent": { + "type": "array", + "description": "A description of derivatization agents applied to small molecules, using userParams or CV terms where possible.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD\tderivatization_agent[1]\t[XLMOD, XLMOD:07014, N-methyl-N-t-butyldimethylsilyltrifluoroacetamide, ]\n" + }, + "ms_run": { + "type": "array", + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "default": [], + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n" + }, + "assay": { + "type": "array", + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "default": [], + "items": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[2]\tsecond assay\nMTD\tassay[2]-sample_ref\tsample[2]\n" + }, + "study_variable": { + "type": "array", + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs.\n", + "default": [], + "items": { + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. \n", + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,time point, 1 minute]|[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute 0.5mg rapamycin\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The study variable name." + }, + "assay_refs": { + "type": "array", + "default": [], + "items": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "description": "The assays referenced by this study variable." + }, + "average_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "variation_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": { + "type": "string", + "description": "A free-form description of this study variable." + }, + "factors": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Parameters indicating which factors were used for the assays referenced by this study variable, and at which levels." + } + } + }, + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute\n" + }, + "custom": { + "type": "array", + "description": "Any additional parameters describing the analysis reported.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD custom[1] [,,MS operator, Florian]\n" + }, + "cv": { + "type": "array", + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "default": [], + "items": { + "description": "Specification of controlled vocabularies.\nlabel: 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.\nfull_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file.\nversion: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file.\nuri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file.\n", + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "label", + "full_name", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "label": { + "type": "string", + "description": "The abbreviated CV label." + }, + "full_name": { + "type": "string", + "description": "The full name of this CV, for humans." + }, + "version": { + "type": "string", + "description": "The CV version used when the file was generated." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "A URI to the CV definition." + } + } + }, + "x-mztab-example": "MTD\tcv[1]-label\tMS\nMTD\tcv[1]-full_name\tPSI-MS controlled vocabulary\nMTD\tcv[1]-version\t4.1.11\nMTD\tcv[1]-uri\thttps://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo\n" + }, + "small_molecule-quantification_unit": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "small_molecule_feature-quantification_unit": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "small_molecule-identification_reliability": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "database": { + "type": "array", + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "default": [], + "items": { + "description": "Specification of databases.\n(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.\nprefix: The prefix used in the \u201cidentifier\u201d column of data tables. For the \u201cno database\u201d case \"null\" must be used.\nversion: The database version is mandatory where identification has been performed. This may be a formal version number e.g. \u201c1.4.1\u201d, a date of access \u201c2016-10-27\u201d (ISO-8601 format) or \u201cUnknown\u201d if there is no suitable version that can be annotated.\nuri: The URI to the database. For the \u201cno database\u201d case, \"null\" must be reported.\n", + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "param", + "prefix", + "version", + "uri" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "prefix": { + "type": "string", + "default": "null", + "description": "The database prefix." + }, + "version": { + "type": "string", + "description": "The database version." + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The URI to the online database." + } + } + }, + "x-mztab-example": "MTD\tdatabase[1]\t[MIRIAM, MIR:00100079, HMDB, ]\nMTD\tdatabase[1]-prefix\thmdb\nMTD\tdatabase[1]-version\t3.6\nMTD\tdatabase[1]-uri\thttp://www.hmdb.ca/\nMTD\tdatabase[2]\t[,, \"de novo\", ]\nMTD\tdatabase[2]-prefix\tdn\nMTD\tdatabase[2]-version\tUnknown\nMTD\tdatabase[2]-uri\tnull\nMTD\tdatabase[3]\t[,, \"no database\", null ]\nMTD\tdatabase[3]-prefix\tnull\nMTD\tdatabase[3]-version\tUnknown\nMTD\tdatabase[3]-uri\tnull\n" + }, + "id_confidence_measure": { + "type": "array", + "description": "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\u2019s rank.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS,MS:1002889,Progenesis MetaScope Score,]\nMTD\tid_confidence_measure[2]\t[MS,MS:1002890,fragmentation score,]\nMTD\tid_confidence_measure[3]\t[MS,MS:1002891,isotopic fit score,]\n" + }, + "colunit-small_molecule": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n" + }, + "colunit-small_molecule_feature": { + "type": "array", + "description": "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.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit 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]\nMTD\tcolunit-small_molecule_feature\topt_ms_run[1]_cv_MS:MS:1002476_ion_mobility_drift_time=[UO,UO:0000031, minute,]\n" + }, + "colunit-small_molecule_evidence": { + "type": "array", + "description": "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}.", + "default": [], + "items": { + "type": "object", + "required": [ + "column_name", + "param" + ], + "description": "Defines the used unit for a column in the mzTab-M file. 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.", + "x-mztab-example": "COM\tcolunit for optional small molecule summary column with the name 'opt_global_cv_MS:MS:1002954_collisional_cross_sectional_area'\nMTD\tcolunit-small_molecule\topt_global_cv_MS:MS:1002954_collisional_cross_sectional_area=[UO,UO:00003241, square angstrom,]\n", + "properties": { + "column_name": { + "type": "string", + "description": "The fully qualified target column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "x-mztab-example": "COM\tcolunit for optional small molecule evidence column with the name 'opt_global_mass_error'\nMTD\tcolunit-small_molecule_evidence\topt_global_mass_error=[UO, UO:0000169, parts per million, ]\n" + } + } + }, + "smallMoleculeSummary": { + "description": "The small molecule section is table-based. The small molecule section MUST always come after the metadata section. All table columns MUST be Tab separated. There MUST NOT be any empty cells; missing values MUST be reported using \u201cnull\u201d for columns where Is Nullable = \u201cTrue\u201d.\n\nEach row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate \u2013 although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "minItems": 1, + "items": { + "type": "object", + "description": "The small molecule summary section is table-based, represented summarized quantitative information across assays and study variables, grouped by identification in rows. The small molecule section MUST always come after the metadata section. All table columns MUST be Tab separated. There MUST NOT be any empty cells; missing values MUST be reported using \u201cnull\u201d for columns where Is Nullable = \u201cTrue\u201d.\n\nEach row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate \u2013 although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "sml_id" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule table row prefix. SML MUST be used for rows of the small molecule table.", + "x-mztab-example": "SML 1 \u2026\n", + "enum": [ + "SML" + ], + "default": "SML", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule table header prefix. SMH MUST be used for the small molecule table header line (the column labels).", + "x-mztab-example": "SMH\tSML_ID \u2026\n", + "enum": [ + "SMH" + ], + "default": "SMH", + "readOnly": true + }, + "sml_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\nSML\t1\t\u2026\nSML\t2\t\u2026\n", + "format": "int32" + }, + "smf_id_refs": { + "type": "array", + "description": "References to all the features on which quantitation has been based (SMF elements) via referencing SMF_ID values. Multiple values SHOULD be provided as a \u201c|\u201d separated list. This MAY be null only if this is a Summary file.", + "x-mztab-example": "SMH\tSML_ID\tSMF_ID_REFS\nSML\t1\t2|3|11\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "database_identifier": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section. \n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "x-mztab-example": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section.\n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_formula": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential chemical formulae of the reported compound. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant reporting of information (i.e. if ambiguity can be resolved in the chemical formula), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form.\n\nExample: N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "smiles": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential molecule structures in the simplified molecular-input line-entry system (SMILES) for the small molecule. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "inchi": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential standard IUPAC International Chemical Identifier (InChI) of the given substance.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant information being reported (i.e. if ambiguity can be resolved in the InChi), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_name": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible chemical/common names for the small molecule, or general description if a chemical name is unavailable. Multiple names are only to demonstrate ambiguity in the identification. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tdescription\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "uri": { + "type": "array", + "description": "A URI pointing to the small molecule\u2019s entry in a reference database (e.g., the small molecule\u2019s HMDB or KEGG entry). The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\turi\t\u2026\nSML\t1\t\u2026\thttp://www.genome.jp/dbget-bin/www_bget?cpd:C00031\t\u2026\nSML\t2\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB0001847\t\u2026\nSML\t3\t\u2026\thttp://identifiers.org/hmdb/HMDB0001847\t\u2026\n", + "default": [], + "items": { + "type": "string", + "format": "uri" + } + }, + "theoretical_neutral_mass": { + "type": "array", + "description": "The small molecule\u2019s precursor\u2019s theoretical neutral mass.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values (in general and between bars) are allowed for molecules that have not been identified only, or for molecules where the neutral mass cannot be calculated. In these cases, the SML entry SHOULD reference features in which exp_mass_to_charge values are captured.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\ttheoretical_neutral_mass\t\u2026\nSML\t1\t\u2026\t1234.5\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "adduct_ions": { + "type": "array", + "description": "A \u201c|\u201d separated list of detected adducts for this this molecule, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+. If the adduct classification is ambiguous with regards to identification evidence it MAY be null.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tadduct_ions\t\u2026\nSML\t1\t\u2026\t[M+H]1+ | [M+Na]1+\t\u2026\n", + "default": [], + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$", + "items": { + "type": "string" + } + }, + "reliability": { + "type": "string", + "description": "The reliability of the given small molecule identification. This must be supplied by the resource and MUST be reported as an integer between 1-4:\n\n identified metabolite (1)\n\n putatively annotated compound (2)\n\n putatively characterized compound class (3)\n\n unknown compound (4)\n\nThese MAY be replaced using a suitable CV term in the metadata section e.g. to use MSI recommendation levels (see Section 6.2.57 for details).\n\nThe following CV terms are already available within the PSI MS CV. Future schemes may be implemented by extending the PSI MS CV with new terms and associated levels.\n\nThe MSI has recently discussed an extension of the original four level scheme into a five level scheme MS:1002896 (compound identification confidence level) with levels\n\n isolated, pure compound, full stereochemistry (0)\n\n reference standard match or full 2D structure (1)\n\n unambiguous diagnostic evidence (literature, database) (2)\n\n most likely structure, including isomers, substance class or substructure match (3)\n\n unknown compound (4)\n\nFor high-resolution MS, the following term and its levels may be used: MS:1002955 (hr-ms compound identification confidence level) with levels\n\n confirmed structure (1)\n\n probable structure (2)\n\n unambiguous ms library match (2a)\n\n diagnostic evidence (2b)\n\n tentative candidates (3)\n\n unequivocal molecular formula (4)\n\n exact mass (5)\n\nA String data type is set to allow for different systems to be specified in the metadata section.\n", + "x-mztab-example": "SMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t3\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002896, compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t0\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002955, hr-ms compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t2a\t\u2026\n" + }, + "best_id_confidence_measure": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "best_id_confidence_value": { + "type": "number", + "description": "The best confidence measure in identification (for this type of score) for the given small molecule across all assays. The type of score MUST be defined in the metadata section. If the small molecule was not identified by the specified search engine, \u201cnull\u201d MUST be reported. If the confidence measure does not report a numerical confidence value, \u201cnull\u201d SHOULD be reported.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tbest_id_confidence_value\t\u2026\nSML\t1\t\u2026\t0.7\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The small molecule\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_study_variable": { + "type": "array", + "description": "The small molecule\u2019s abundance in all the study variables described in the metadata section (study_variable[1-n]_average_function), calculated using the method as described in the Metadata section (default = arithmetic mean across assays). Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_variation_study_variable": { + "type": "array", + "description": "A measure of the variability of the study variable abundance measurement, calculated using the method as described in the metadata section (study_variable[1-n]_average_function), with a default = arithmethic co-efficient of variation of the small molecule\u2019s abundance in the given study variable.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\tabundance_variation_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t0.04\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + } + } + }, + "smallMoleculeFeature": { + "description": "The small molecule feature section is table-based, representing individual MS regions (generally considered to be the elution profile for all isotopomers formed from a single charge state of a molecule), that have been measured/quantified. However, for approaches that quantify individual isotopomers e.g. stable isotope labelling/flux studies, then each SMF row SHOULD represent a single isotopomer.\n\nDifferent adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows.\n\nThe small molecule feature section MUST always come after the Small Molecule Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "The small molecule feature section is table-based, representing individual MS regions (generally considered to be the elution profile for all isotopomers formed from a single charge state of a molecule), that have been measured/quantified. However, for approaches that quantify individual isotopomers e.g. stable isotope labelling/flux studies, then each SMF row SHOULD represent a single isotopomer.\n\nDifferent adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows.\n\nThe small molecule feature section MUST always come after the Small Molecule Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "smf_id", + "exp_mass_to_charge", + "charge" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule feature table row prefix. SMF MUST be used for rows of the small molecule feature table.", + "x-mztab-example": "SMF 1 \u2026\n", + "enum": [ + "SMF" + ], + "default": "SMF", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule feature table header prefix. SFH MUST be used for the small molecule feature table header line (the column labels).", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\n", + "enum": [ + "SFH" + ], + "default": "SFH", + "readOnly": true + }, + "smf_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule feature.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\nSMF\t1\t\u2026\nSMF\t2\t\u2026\n", + "format": "int32" + }, + "sme_id_refs": { + "type": "array", + "description": "References to the identification evidence (SME elements) via referencing SME_ID values. Multiple values MAY be provided as a \u201c|\u201d separated list to indicate ambiguity in the identification or to indicate that different types of data supported the identifiction (see SME_ID_REF_ambiguity_code). For the case of a consensus approach where multiple adduct forms are used to infer the SML ID, different features should just reference the same SME_ID value(s).", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\nSMF\t1\t5|6|12\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "sme_id_ref_ambiguity_code": { + "type": "integer", + "description": "If multiple values are given under SME_ID_REFS, one of the following codes MUST be provided. 1=Ambiguous identification; 2=Only different evidence streams for the same molecule with no ambiguity; 3=Both ambiguous identification and multiple evidence streams. If there are no or one value under SME_ID_REFs, this MUST be reported as null.", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\tSME_ID_REF_ambiguity_code\nSMF\t1\t5|6|12\u2026\t1\n", + "format": "int32" + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s adduct ion after detection, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tadduct_ion\t\u2026\nSMF\t1\t\u2026\t[M+H]+\t\u2026\nSMF\t2\t\u2026\t[M+2Na]2+\t\u2026\n", + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$" + }, + "isotopomer": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "exp_mass_to_charge": { + "type": "number", + "description": "The experimental mass/charge value for the feature, by default assumed to be the mean across assays or a representative value. For approaches that report isotopomers as SMF rows, then the m/z of the isotopomer MUST be reported here.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\texp_mass_to_charge\t\u2026\nSMF\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The feature\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tcharge\t\u2026\nSMF\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "retention_time_in_seconds": { + "type": "number", + "description": "The apex of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time values for individual MS runs (i.e. before alignment) MAY be reported as optional columns. Retention time SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown. Relative retention time or retention time index values MAY be reported as optional columns, and could be considered for inclusion in future versions of mzTab as appropriate.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds\t\u2026\nSMF\t1\t\u2026\t1345.7\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_start": { + "type": "number", + "description": "The start time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_start\t\u2026\nSMF\t1\t\u2026\t1327.0\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_end": { + "type": "number", + "description": "The end time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns..", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_end\t\u2026\nSMF\t1\t\u2026\t1327.8\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The feature\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSMF\t1\t\u2026\t38648\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule feature table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSMF\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + } + } + }, + "smallMoleculeEvidence": { + "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.\n\nThe 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 \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "type": "array", + "default": [], + "items": { + "type": "object", + "required": [ + "sme_id", + "evidence_input_id", + "database_identifier", + "exp_mass_to_charge", + "charge", + "theoretical_mass_to_charge", + "spectra_ref", + "identification_method", + "ms_level", + "rank" + ], + "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.\n\nThe 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 \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table.", + "x-mztab-example": "SME\t1\t\u2026\n", + "enum": [ + "SME" + ], + "default": "SME", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\n", + "enum": [ + "SEH" + ], + "default": "SEH", + "readOnly": true + }, + "sme_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule evidence result.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\nSME\t1\t\u2026\n", + "format": "int32" + }, + "evidence_input_id": { + "type": "string", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID\tevidence_input_id\t\u2026\nSME\t1\tms_run[1]:mass=278.65;rt=376.5\nSME\t2\tms_run[1]:mass=278.65;rt=376.5\nSME\t3\tms_run[1]:mass=278.65;rt=376.5\n(in this example three identifications were made from the same accurate mass/RT library search)\n" + }, + "database_identifier": { + "type": "string", + "description": "The putative identification for the small molecule sourced from an external database, using the same prefix specified in database[1-n]-prefix.\n\nThis could include additionally a chemical class or an identifier to a spectral library entity, even if its actual identity is unknown.\n\nFor the \u201cno database\u201d 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.\n", + "x-mztab-example": "SEH\tSME_ID\tidentifier\t\u2026\nSME\t1\tCID:00027395\t\u2026\nSME\t2\tHMDB:HMDB12345\t\u2026\nSME\t3\tCID:null\t\u2026\n" + }, + "chemical_formula": { + "type": "string", + "description": "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).\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form. Charge state is reported by the charge field.\n\nExample N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\nSME\t1\t\u2026\tC17H20N4O2\t\u2026\n" + }, + "smiles": { + "type": "string", + "description": "The potential molecule\u2019s structure in the simplified molecular-input line-entry system (SMILES) for the small molecule.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n" + }, + "inchi": { + "type": "string", + "description": "A standard IUPAC International Chemical Identifier (InChI) for the given substance.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n" + }, + "chemical_name": { + "type": "string", + "description": "The small molecule\u2019s chemical/common name, or general description if a chemical name is unavailable.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_name\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n" + }, + "uri": { + "type": "string", + "description": "A URI pointing to the small molecule\u2019s entry in a database (e.g., the small molecule\u2019s HMDB, Chebi or KEGG entry).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\turi\t\u2026\nSME\t1\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB00054\n", + "format": "uri" + }, + "derivatized_form": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s 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.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tadduct_ion\t\u2026\nSME\t1\t\u2026\t[M+H]+\t\u2026\nSME\t2\t\u2026\t[M+2Na]2+\t\u2026\nOR (for negative mode):\nSME\t1\t\u2026\t[M-H]-\t\u2026\nSME\t2\t\u2026\t[M+Cl]-\t\u2026\n", + "pattern": "^\\[\\d*M([-][\\w]*)\\]\\d*[+-]$" + }, + "exp_mass_to_charge": { + "type": "number", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID \t\u2026\texp_mass_to_charge\t\u2026\nSME\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The small molecule evidence\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tcharge\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "theoretical_mass_to_charge": { + "type": "number", + "description": "The theoretical mass/charge value for the small molecule or the database mass/charge value (for a spectral library match).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\ttheoretical_mass_to_charge \u2026\nSME\t1\t\u2026\t1234.71\t\u2026\n", + "format": "double" + }, + "spectra_ref": { + "type": "array", + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\u2026\tms_run[1]:index=5\t\u2026\n", + "default": [], + "items": { + "type": "object", + "required": [ + "ms_run", + "reference" + ], + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\t\tms_run[1]:index=5\t\u2026\n", + "properties": { + "ms_run": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "reference": { + "description": "The (vendor-dependendent) reference string to the actual mass spectrum.\n", + "type": "string" + } + } + } + }, + "identification_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "ms_level": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_confidence_measure": { + "type": "array", + "description": "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.", + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS, MS:1001419, SpectraST:discriminant score F,]\n\u2026\nSEH\tSME_ID\t\u2026\tid_confidence_measure[1]\t\u2026\nSME\t1\t\u2026\t0.7\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "rank": { + "type": "integer", + "description": "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 \u2013 defaults to 1 if there is no ranking system used.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\trank\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule evidence table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + } + } + }, + "comment": { + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/optcolumnmapping.json b/api/src/main/resources/schemas/optcolumnmapping.json new file mode 100644 index 00000000..faf344c0 --- /dev/null +++ b/api/src/main/resources/schemas/optcolumnmapping.json @@ -0,0 +1,50 @@ +{ + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/parameter.json b/api/src/main/resources/schemas/parameter.json new file mode 100644 index 00000000..90512aa7 --- /dev/null +++ b/api/src/main/resources/schemas/parameter.json @@ -0,0 +1,32 @@ +{ + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/publication.json b/api/src/main/resources/schemas/publication.json new file mode 100644 index 00000000..f1cfbb0a --- /dev/null +++ b/api/src/main/resources/schemas/publication.json @@ -0,0 +1,46 @@ +{ + "description": "A publication associated with this file. Several publications can be given by indicating the number in the square brackets after \u201cpublication\u201d. PubMed ids must be prefixed by \u201cpubmed:\u201d, DOIs by \u201cdoi:\u201d. Multiple identifiers MUST be separated by \u201c|\u201d.\n", + "x-mztab-example": "MTD\tpublication[1]\tpubmed:21063943|doi:10.1007/978-1-60761-987-1_6\nMTD\tpublication[2]\tpubmed:20615486|doi:10.1016/j.jprot.2010.06.008\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "publicationItems" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "publicationItems": { + "type": "array", + "description": "The publication item ids referenced by this publication.", + "default": [], + "items": { + "type": "object", + "required": [ + "type", + "accession" + ], + "description": "A publication item, defined by a qualifier and a native accession, e.g. pubmed id.", + "properties": { + "type": { + "type": "string", + "description": "The type qualifier of this publication item.", + "enum": [ + "doi", + "pubmed", + "uri" + ], + "default": "doi" + }, + "accession": { + "type": "string", + "description": "The native accession id for this publication item." + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/publicationitem.json b/api/src/main/resources/schemas/publicationitem.json new file mode 100644 index 00000000..20c00215 --- /dev/null +++ b/api/src/main/resources/schemas/publicationitem.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type", + "accession" + ], + "description": "A publication item, defined by a qualifier and a native accession, e.g. pubmed id.", + "properties": { + "type": { + "type": "string", + "description": "The type qualifier of this publication item.", + "enum": [ + "doi", + "pubmed", + "uri" + ], + "default": "doi" + }, + "accession": { + "type": "string", + "description": "The native accession id for this publication item." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/sample.json b/api/src/main/resources/schemas/sample.json new file mode 100644 index 00000000..1146f3fb --- /dev/null +++ b/api/src/main/resources/schemas/sample.json @@ -0,0 +1,202 @@ +{ + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/sampleprocessing.json b/api/src/main/resources/schemas/sampleprocessing.json new file mode 100644 index 00000000..a1284320 --- /dev/null +++ b/api/src/main/resources/schemas/sampleprocessing.json @@ -0,0 +1,50 @@ +{ + "description": "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 \u201c|\u201d. 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. \n", + "x-mztab-example": "MTD\tsample_processing[1]\t[MSIO, MSIO:0000107, metabolism quenching using precooled 60 percent methanol ammonium bicarbonate buffer,]\nMTD\tsample_processing[2]\t[MSIO, MSIO:0000146, centrifugation,]\nMTD\tsample_processing[3]\t[MSIO, MSIO:0000141, metabolite extraction,]\nMTD\tsample_processing[4]\t[MSIO, MSIO:0000141, silylation,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "sampleProcessing": { + "type": "array", + "default": [], + "description": "Parameters specifiying sample processing that was applied within one step.", + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/smallmoleculeevidence.json b/api/src/main/resources/schemas/smallmoleculeevidence.json new file mode 100644 index 00000000..66d0833c --- /dev/null +++ b/api/src/main/resources/schemas/smallmoleculeevidence.json @@ -0,0 +1,658 @@ +{ + "type": "object", + "required": [ + "sme_id", + "evidence_input_id", + "database_identifier", + "exp_mass_to_charge", + "charge", + "theoretical_mass_to_charge", + "spectra_ref", + "identification_method", + "ms_level", + "rank" + ], + "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.\n\nThe 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 \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule evidence table row prefix. SME MUST be used for rows of the small molecule evidence table.", + "x-mztab-example": "SME\t1\t\u2026\n", + "enum": [ + "SME" + ], + "default": "SME", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule evidence table header prefix. SEH MUST be used for the small molecule evidence table header line (the column labels).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\n", + "enum": [ + "SEH" + ], + "default": "SEH", + "readOnly": true + }, + "sme_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule evidence result.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\nSME\t1\t\u2026\n", + "format": "int32" + }, + "evidence_input_id": { + "type": "string", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID\tevidence_input_id\t\u2026\nSME\t1\tms_run[1]:mass=278.65;rt=376.5\nSME\t2\tms_run[1]:mass=278.65;rt=376.5\nSME\t3\tms_run[1]:mass=278.65;rt=376.5\n(in this example three identifications were made from the same accurate mass/RT library search)\n" + }, + "database_identifier": { + "type": "string", + "description": "The putative identification for the small molecule sourced from an external database, using the same prefix specified in database[1-n]-prefix.\n\nThis could include additionally a chemical class or an identifier to a spectral library entity, even if its actual identity is unknown.\n\nFor the \u201cno database\u201d 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.\n", + "x-mztab-example": "SEH\tSME_ID\tidentifier\t\u2026\nSME\t1\tCID:00027395\t\u2026\nSME\t2\tHMDB:HMDB12345\t\u2026\nSME\t3\tCID:null\t\u2026\n" + }, + "chemical_formula": { + "type": "string", + "description": "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).\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form. Charge state is reported by the charge field.\n\nExample N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\nSME\t1\t\u2026\tC17H20N4O2\t\u2026\n" + }, + "smiles": { + "type": "string", + "description": "The potential molecule\u2019s structure in the simplified molecular-input line-entry system (SMILES) for the small molecule.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n" + }, + "inchi": { + "type": "string", + "description": "A standard IUPAC International Chemical Identifier (InChI) for the given substance.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n" + }, + "chemical_name": { + "type": "string", + "description": "The small molecule\u2019s chemical/common name, or general description if a chemical name is unavailable.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tchemical_name\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n" + }, + "uri": { + "type": "string", + "description": "A URI pointing to the small molecule\u2019s entry in a database (e.g., the small molecule\u2019s HMDB, Chebi or KEGG entry).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\turi\t\u2026\nSME\t1\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB00054\n", + "format": "uri" + }, + "derivatized_form": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s 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.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tadduct_ion\t\u2026\nSME\t1\t\u2026\t[M+H]+\t\u2026\nSME\t2\t\u2026\t[M+2Na]2+\t\u2026\nOR (for negative mode):\nSME\t1\t\u2026\t[M-H]-\t\u2026\nSME\t2\t\u2026\t[M+Cl]-\t\u2026\n", + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$" + }, + "exp_mass_to_charge": { + "type": "number", + "description": "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.", + "x-mztab-example": "SEH\tSME_ID \t\u2026\texp_mass_to_charge\t\u2026\nSME\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The small molecule evidence\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tcharge\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "theoretical_mass_to_charge": { + "type": "number", + "description": "The theoretical mass/charge value for the small molecule or the database mass/charge value (for a spectral library match).", + "x-mztab-example": "SEH\tSME_ID\t\u2026\ttheoretical_mass_to_charge \u2026\nSME\t1\t\u2026\t1234.71\t\u2026\n", + "format": "double" + }, + "spectra_ref": { + "type": "array", + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\u2026\tms_run[1]:index=5\t\u2026\n", + "default": [], + "items": { + "type": "object", + "required": [ + "ms_run", + "reference" + ], + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\t\tms_run[1]:index=5\t\u2026\n", + "properties": { + "ms_run": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "reference": { + "description": "The (vendor-dependendent) reference string to the actual mass spectrum.\n", + "type": "string" + } + } + } + }, + "identification_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "ms_level": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_confidence_measure": { + "type": "array", + "description": "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.", + "x-mztab-example": "MTD\tid_confidence_measure[1]\t[MS, MS:1001419, SpectraST:discriminant score F,]\n\u2026\nSEH\tSME_ID\t\u2026\tid_confidence_measure[1]\t\u2026\nSME\t1\t\u2026\t0.7\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "rank": { + "type": "integer", + "description": "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 \u2013 defaults to 1 if there is no ranking system used.", + "x-mztab-example": "SEH\tSME_ID\t\u2026\trank\t\u2026\nSME\t1\t\u2026\t1\t\u2026\n", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule evidence table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/smallmoleculefeature.json b/api/src/main/resources/schemas/smallmoleculefeature.json new file mode 100644 index 00000000..d5308e37 --- /dev/null +++ b/api/src/main/resources/schemas/smallmoleculefeature.json @@ -0,0 +1,215 @@ +{ + "type": "object", + "description": "The small molecule feature section is table-based, representing individual MS regions (generally considered to be the elution profile for all isotopomers formed from a single charge state of a molecule), that have been measured/quantified. However, for approaches that quantify individual isotopomers e.g. stable isotope labelling/flux studies, then each SMF row SHOULD represent a single isotopomer.\n\nDifferent adducts or derivatives and different charge states of individual molecules should be reported as separate SMF rows.\n\nThe small molecule feature section MUST always come after the Small Molecule Table. All table columns MUST be Tab separated. There MUST NOT be any empty cells. Missing values MUST be reported using \u201cnull\u201d.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "smf_id", + "exp_mass_to_charge", + "charge" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule feature table row prefix. SMF MUST be used for rows of the small molecule feature table.", + "x-mztab-example": "SMF 1 \u2026\n", + "enum": [ + "SMF" + ], + "default": "SMF", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule feature table header prefix. SFH MUST be used for the small molecule feature table header line (the column labels).", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\n", + "enum": [ + "SFH" + ], + "default": "SFH", + "readOnly": true + }, + "smf_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule feature.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\nSMF\t1\t\u2026\nSMF\t2\t\u2026\n", + "format": "int32" + }, + "sme_id_refs": { + "type": "array", + "description": "References to the identification evidence (SME elements) via referencing SME_ID values. Multiple values MAY be provided as a \u201c|\u201d separated list to indicate ambiguity in the identification or to indicate that different types of data supported the identifiction (see SME_ID_REF_ambiguity_code). For the case of a consensus approach where multiple adduct forms are used to infer the SML ID, different features should just reference the same SME_ID value(s).", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\nSMF\t1\t5|6|12\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "sme_id_ref_ambiguity_code": { + "type": "integer", + "description": "If multiple values are given under SME_ID_REFS, one of the following codes MUST be provided. 1=Ambiguous identification; 2=Only different evidence streams for the same molecule with no ambiguity; 3=Both ambiguous identification and multiple evidence streams. If there are no or one value under SME_ID_REFs, this MUST be reported as null.", + "x-mztab-example": "SFH\tSMF_ID\tSME_ID_REFS\tSME_ID_REF_ambiguity_code\nSMF\t1\t5|6|12\u2026\t1\n", + "format": "int32" + }, + "adduct_ion": { + "type": "string", + "description": "The assumed classification of this molecule\u2019s adduct ion after detection, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tadduct_ion\t\u2026\nSMF\t1\t\u2026\t[M+H]+\t\u2026\nSMF\t2\t\u2026\t[M+2Na]2+\t\u2026\n", + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$" + }, + "isotopomer": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "exp_mass_to_charge": { + "type": "number", + "description": "The experimental mass/charge value for the feature, by default assumed to be the mean across assays or a representative value. For approaches that report isotopomers as SMF rows, then the m/z of the isotopomer MUST be reported here.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\texp_mass_to_charge\t\u2026\nSMF\t1\t\u2026\t1234.5\t\u2026\n", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "The feature\u2019s charge value using positive integers both for positive and negative polarity modes.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tcharge\t\u2026\nSMF\t1\t\u2026\t1\t\u2026\n", + "format": "int32" + }, + "retention_time_in_seconds": { + "type": "number", + "description": "The apex of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time values for individual MS runs (i.e. before alignment) MAY be reported as optional columns. Retention time SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown. Relative retention time or retention time index values MAY be reported as optional columns, and could be considered for inclusion in future versions of mzTab as appropriate.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds\t\u2026\nSMF\t1\t\u2026\t1345.7\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_start": { + "type": "number", + "description": "The start time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns.", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_start\t\u2026\nSMF\t1\t\u2026\t1327.0\t\u2026\n", + "format": "double" + }, + "retention_time_in_seconds_end": { + "type": "number", + "description": "The end time of the feature on the retention time axis, in a Master or aggregate MS run. Retention time MUST be reported in seconds. Retention time start and end SHOULD only be null in the case of direct infusion MS or other techniques where a retention time value is absent or unknown and MAY be reported in optional columns..", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\tretention_time_in_seconds_end\t\u2026\nSMF\t1\t\u2026\t1327.8\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The feature\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSMF\t1\t\u2026\t38648\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule feature table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SFH\tSMF_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSMF\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/smallmoleculesummary.json b/api/src/main/resources/schemas/smallmoleculesummary.json new file mode 100644 index 00000000..2b99e5a1 --- /dev/null +++ b/api/src/main/resources/schemas/smallmoleculesummary.json @@ -0,0 +1,277 @@ +{ + "type": "object", + "description": "The small molecule summary section is table-based, represented summarized quantitative information across assays and study variables, grouped by identification in rows. The small molecule section MUST always come after the metadata section. All table columns MUST be Tab separated. There MUST NOT be any empty cells; missing values MUST be reported using \u201cnull\u201d for columns where Is Nullable = \u201cTrue\u201d.\n\nEach row of the small molecule section is intended to report one final result to be communicated in terms of a molecule that has been quantified. In many cases, this may be the molecule of biological interest, although in some cases, the final result could be a derivatized form as appropriate \u2013 although it is desirable for the database identifier(s) to reference to the biological (non-derivatized) form. In general, different adduct forms would generally be reported in the Small Molecule Feature section.\n\nThe order of columns MUST follow the order specified below.\n\nAll columns are MANDATORY except for \u201copt_\u201d columns.\n", + "required": [ + "sml_id" + ], + "properties": { + "prefix": { + "type": "string", + "description": "The small molecule table row prefix. SML MUST be used for rows of the small molecule table.", + "x-mztab-example": "SML 1 \u2026\n", + "enum": [ + "SML" + ], + "default": "SML", + "readOnly": true + }, + "header_prefix": { + "type": "string", + "description": "The small molecule table header prefix. SMH MUST be used for the small molecule table header line (the column labels).", + "x-mztab-example": "SMH\tSML_ID \u2026\n", + "enum": [ + "SMH" + ], + "default": "SMH", + "readOnly": true + }, + "sml_id": { + "type": "integer", + "description": "A within file unique identifier for the small molecule.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\nSML\t1\t\u2026\nSML\t2\t\u2026\n", + "format": "int32" + }, + "smf_id_refs": { + "type": "array", + "description": "References to all the features on which quantitation has been based (SMF elements) via referencing SMF_ID values. Multiple values SHOULD be provided as a \u201c|\u201d separated list. This MAY be null only if this is a Summary file.", + "x-mztab-example": "SMH\tSML_ID\tSMF_ID_REFS\nSML\t1\t2|3|11\u2026\n", + "default": [], + "items": { + "type": "integer", + "format": "int32" + } + }, + "database_identifier": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section. \n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "x-mztab-example": "A list of \u201c|\u201d separated possible identifiers for the small molecule; multiple values MUST only be provided to indicate ambiguity in the identification of the molecule and not to demonstrate different identifier types for the same molecule. Alternative identifiers for the same molecule MAY be provided as optional columns.\n\nThe database identifier must be preceded by the resource description (prefix) followed by a colon, as specified in the metadata section.\n\nA null value MAY be provided if the identification is sufficiently ambiguous as to be meaningless for reporting or the small molecule has not been identified.\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_formula": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential chemical formulae of the reported compound. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant reporting of information (i.e. if ambiguity can be resolved in the chemical formula), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n\nThis 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., \u201cCO\u201d vs. \u201cCo\u201d). The chemical formula reported should refer to the neutral form.\n\nExample: N-acetylglucosamine would be encoded by the string \u201cC8H15NO6\u201d.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "smiles": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential molecule structures in the simplified molecular-input line-entry system (SMILES) for the small molecule. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\tsmiles\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\tC1=CC=C(C=C1)CCNC(=O)CCNNC(=O)C2=CC=NC=C2\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "inchi": { + "type": "array", + "description": "A list of \u201c|\u201d separated potential standard IUPAC International Chemical Identifier (InChI) of the given substance.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, even if this leads to redundant information being reported (i.e. if ambiguity can be resolved in the InChi), and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tchemical_formula\t\u2026\tinchi\t\u2026\nSML\t1\t\u2026\tC17H20N4O2\t\u2026\tInChI=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)\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "chemical_name": { + "type": "array", + "description": "A list of \u201c|\u201d separated possible chemical/common names for the small molecule, or general description if a chemical name is unavailable. Multiple names are only to demonstrate ambiguity in the identification. The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tdescription\t\u2026\nSML\t1\t\u2026\tN-(2-phenylethyl)-3-[2-(pyridine-4-carbonyl)hydrazinyl]propanamide\t\u2026\n", + "default": [], + "items": { + "type": "string" + } + }, + "uri": { + "type": "array", + "description": "A URI pointing to the small molecule\u2019s entry in a reference database (e.g., the small molecule\u2019s HMDB or KEGG entry). The number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values between bars are allowed.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\turi\t\u2026\nSML\t1\t\u2026\thttp://www.genome.jp/dbget-bin/www_bget?cpd:C00031\t\u2026\nSML\t2\t\u2026\thttp://www.hmdb.ca/metabolites/HMDB0001847\t\u2026\nSML\t3\t\u2026\thttp://identifiers.org/hmdb/HMDB0001847\t\u2026\n", + "default": [], + "items": { + "type": "string", + "format": "uri" + } + }, + "theoretical_neutral_mass": { + "type": "array", + "description": "The small molecule\u2019s precursor\u2019s theoretical neutral mass.\n\nThe number of values provided MUST match the number of entities reported under \u201cdatabase_identifier\u201d, and the validation software will throw an error if the number of \u201c|\u201d symbols does not match. \u201cnull\u201d values (in general and between bars) are allowed for molecules that have not been identified only, or for molecules where the neutral mass cannot be calculated. In these cases, the SML entry SHOULD reference features in which exp_mass_to_charge values are captured.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\ttheoretical_neutral_mass\t\u2026\nSML\t1\t\u2026\t1234.5\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "adduct_ions": { + "type": "array", + "description": "A \u201c|\u201d separated list of detected adducts for this this molecule, following the general style in the 2013 IUPAC recommendations on terms relating to MS e.g. [M+H]1+, [M+Na]1+, [M+NH4]1+, [M-H]1-, [M+Cl]1-, [M+H]1+. If the adduct classification is ambiguous with regards to identification evidence it MAY be null.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tadduct_ions\t\u2026\nSML\t1\t\u2026\t[M+H]1+ | [M+Na]1+\t\u2026\n", + "default": [], + "pattern": "^\\[\\d*M([+-][\\w]*)\\]\\d*[+-]$", + "items": { + "type": "string" + } + }, + "reliability": { + "type": "string", + "description": "The reliability of the given small molecule identification. This must be supplied by the resource and MUST be reported as an integer between 1-4:\n\n identified metabolite (1)\n\n putatively annotated compound (2)\n\n putatively characterized compound class (3)\n\n unknown compound (4)\n\nThese MAY be replaced using a suitable CV term in the metadata section e.g. to use MSI recommendation levels (see Section 6.2.57 for details).\n\nThe following CV terms are already available within the PSI MS CV. Future schemes may be implemented by extending the PSI MS CV with new terms and associated levels.\n\nThe MSI has recently discussed an extension of the original four level scheme into a five level scheme MS:1002896 (compound identification confidence level) with levels\n\n isolated, pure compound, full stereochemistry (0)\n\n reference standard match or full 2D structure (1)\n\n unambiguous diagnostic evidence (literature, database) (2)\n\n most likely structure, including isomers, substance class or substructure match (3)\n\n unknown compound (4)\n\nFor high-resolution MS, the following term and its levels may be used: MS:1002955 (hr-ms compound identification confidence level) with levels\n\n confirmed structure (1)\n\n probable structure (2)\n\n unambiguous ms library match (2a)\n\n diagnostic evidence (2b)\n\n tentative candidates (3)\n\n unequivocal molecular formula (4)\n\n exact mass (5)\n\nA String data type is set to allow for different systems to be specified in the metadata section.\n", + "x-mztab-example": "SMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t3\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002896, compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t0\t\u2026\n\nor\nMTD\tsmall_molecule-identification_reliability\t[MS, MS:1002955, hr-ms compound identification confidence level,]\n\u2026\nSMH\tidentifier\t\u2026\treliability\t\u2026\nSML\t1\t\u2026\t2a\t\u2026\n" + }, + "best_id_confidence_measure": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "best_id_confidence_value": { + "type": "number", + "description": "The best confidence measure in identification (for this type of score) for the given small molecule across all assays. The type of score MUST be defined in the metadata section. If the small molecule was not identified by the specified search engine, \u201cnull\u201d MUST be reported. If the confidence measure does not report a numerical confidence value, \u201cnull\u201d SHOULD be reported.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tbest_id_confidence_value\t\u2026\nSML\t1\t\u2026\t0.7\t\u2026\n", + "format": "double" + }, + "abundance_assay": { + "type": "array", + "description": "The small molecule\u2019s abundance in every assay described in the metadata section MUST be reported. Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_assay[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_study_variable": { + "type": "array", + "description": "The small molecule\u2019s abundance in all the study variables described in the metadata section (study_variable[1-n]_average_function), calculated using the method as described in the Metadata section (default = arithmetic mean across assays). Null or zero values may be reported as appropriate. \"null\" SHOULD be used to report missing quantities, while zero SHOULD be used to indicate a present but not reliably quantifiable value (e.g. below a minimum noise threshold).", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "abundance_variation_study_variable": { + "type": "array", + "description": "A measure of the variability of the study variable abundance measurement, calculated using the method as described in the metadata section (study_variable[1-n]_average_function), with a default = arithmethic co-efficient of variation of the small molecule\u2019s abundance in the given study variable.", + "x-mztab-example": "SMH\tSML_ID\t\u2026\tabundance_study_variable[1]\tabundance_variation_study_variable[1]\t\u2026\nSML\t1\t\u2026\t0.3\t0.04\t\u2026\n", + "default": [], + "items": { + "type": "number", + "format": "double" + } + }, + "opt": { + "type": "array", + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "default": [], + "items": { + "type": "object", + "required": [ + "identifier" + ], + "description": "Additional columns can be added to the end of the small molecule table. These column headers MUST start with the prefix \u201copt_\u201d followed by the {identifier} of the object they reference: assay, study variable, MS run or \u201cglobal\u201d (if the value relates to all replicates). Column names MUST only contain the following characters: \u2018A\u2019-\u2018Z\u2019, \u2018a\u2019-\u2018z\u2019, \u20180\u2019-\u20189\u2019, \u2018\u2019, \u2018-\u2019, \u2018[\u2019, \u2018]\u2019, and \u2018:\u2019. CV parameter accessions MAY be used for optional columns following the format: opt{identifier}_cv_{accession}_\\{parameter name}. Spaces within the parameter\u2019s name MUST be replaced by \u2018_\u2019.\n", + "x-mztab-example": "SMH\tSML_ID\t\u2026\topt_assay[1]_my_value\t\u2026\topt_global_another_value\nSML\t1\t\u2026\tMy value\t\u2026\tsome other value\n", + "properties": { + "identifier": { + "type": "string", + "description": "The fully qualified column name." + }, + "param": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "value": { + "type": "string", + "description": "The value for this column in a particular row." + } + } + } + }, + "comment": { + "type": "array", + "default": [], + "items": { + "type": "object", + "description": "Comment lines can be placed anywhere in an mzTab file. These lines must start with the three-letter code COM and are ignored by most parsers. Empty lines can also occur anywhere in an mzTab file and are ignored.\n", + "x-mztab-example": "COM\tThis is a comment line\n", + "required": [ + "prefix", + "msg" + ], + "properties": { + "prefix": { + "type": "string", + "enum": [ + "COM" + ], + "default": "COM" + }, + "msg": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/software.json b/api/src/main/resources/schemas/software.json new file mode 100644 index 00000000..eacb5565 --- /dev/null +++ b/api/src/main/resources/schemas/software.json @@ -0,0 +1,53 @@ +{ + "description": "Software used to analyze the data and obtain the reported results. The parameter\u2019s value SHOULD contain the software\u2019s 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.\n", + "x-mztab-example": "MTD\tsoftware[1]\t[MS, MS:1002879, Progenesis QI, 3.0]\nMTD\tsoftware[1]-setting\tFragment tolerance = 0.1 Da\n\u2026\nMTD\tsoftware[2]-setting\tParent tolerance = 0.5 Da\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "parameter": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "setting": { + "type": "array", + "default": [], + "description": "A software setting used. This field MAY occur multiple times for a\nsingle software. The value of this field is deliberately set as a\nString, since there currently do not exist cvParams for every\npossible setting.\n", + "items": { + "type": "string" + } + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/spectraref.json b/api/src/main/resources/schemas/spectraref.json new file mode 100644 index 00000000..ffb4052d --- /dev/null +++ b/api/src/main/resources/schemas/spectraref.json @@ -0,0 +1,353 @@ +{ + "type": "object", + "required": [ + "ms_run", + "reference" + ], + "description": "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 \u201c|\u201d delimited list for the (rare) cases in which search engines have combined or aggregated multiple spectra in advance of the search to make identifications.\n\nIf a fragmentation spectrum has not been used, the value should indicate the ms_run to which is identification is mapped e.g. \u201cms_run[1]\u201d.\n", + "x-mztab-example": "SEH\tSME_ID\t\u2026\tspectra_ref\t\u2026\nSME\t1\t\t\tms_run[1]:index=5\t\u2026\n", + "properties": { + "ms_run": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "reference": { + "description": "The (vendor-dependendent) reference string to the actual mass spectrum.\n", + "type": "string" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/stringlist.json b/api/src/main/resources/schemas/stringlist.json new file mode 100644 index 00000000..afd9a8f0 --- /dev/null +++ b/api/src/main/resources/schemas/stringlist.json @@ -0,0 +1,9 @@ +{ + "type": "array", + "default": [], + "description": "A typed list of strings.", + "items": { + "type": "string" + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/studyvariable.json b/api/src/main/resources/schemas/studyvariable.json new file mode 100644 index 00000000..e5e0f7b2 --- /dev/null +++ b/api/src/main/resources/schemas/studyvariable.json @@ -0,0 +1,735 @@ +{ + "description": "Specification of study_variable.\n(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 \u201cundefined\u201c.\nassay_refs: Bar-separated references to the IDs of assays grouped in the study variable.\naverage_function: The function used to calculate the study variable quantification value and the operation used is not arithmetic mean (default) e.g. \u201cgeometric mean\u201d, \u201cmedian\u201d. The 1-n refers to different study variables.\nvariation_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. \u201cstandard error\u201d.\ndescription: A textual description of the study variable.\nfactors: Additional parameters or factors, separated by bars, that are known about study variables allowing the capture of more complex, such as nested designs. \n", + "x-mztab-example": "MTD\tstudy_variable[1]\tcontrol\nMTD\tstudy_variable[1]-assay_refs\tassay[1]| assay[2]| assay[3]\nMTD\tstudy_variable-average_function\t[MS, MS:1002883, median, ]\nMTD\tstudy_variable-variation_function\t[MS, MS:1002885, standard error, ]\nMTD\tstudy_variable[1]-description\tGroup B (spike-in 0.74 fmol/uL)\nMTD\tstudy_variable[1]-factors\t[,,time point, 1 minute]|[,,rapamycin dose,0.5mg]\nMTD\tstudy_variable[2]\t1 minute 0.5mg rapamycin\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The study variable name." + }, + "assay_refs": { + "type": "array", + "default": [], + "items": { + "description": "Specification of assay.\n(empty) name: A name for each assay, to serve as a list of the assays that MUST be reported in the following tables. \ncustom: Additional custom parameters or values for a given assay. \nexternal_uri: An external reference uri to further information about the assay, for example via a reference to an object within an ISA-TAB file. \nsample_ref: An association from a given assay to the sample analysed. \nms_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.\n", + "x-mztab-example": "MTD\tassay[1]\tfirst assay\nMTD\tassay[1]-custom[1]\t[MS, , Assay operator, Fred Blogs]\nMTD\tassay[1]-external_uri\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt?STUDYASSAY=a_e04_c18pos.txt\nMTD\tassay[1]-sample_ref\tsample[1]\nMTD\tassay[1]-ms_run_ref\tms_run[1]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "name", + "ms_run_ref" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The assay name." + }, + "custom": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Additional user or cv parameters." + }, + "external_uri": { + "type": "string", + "format": "uri", + "description": "An external URI to further information about this assay." + }, + "sample_ref": { + "description": "Specification of sample.\n(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. \nspecies: The respective species of the samples analysed. For more complex cases, such as metagenomics, optional columns and userParams should be used. \ntissue: The respective tissue(s) of the sample. \ncell_type: The respective cell type(s) of the sample. \ndisease: The respective disease(s) of the sample. \ndescription: A human readable description of the sample. \ncustom: Custom parameters describing the sample's additional properties. Dates MUST be provided in ISO-8601 format.\n", + "x-mztab-example": "COM\tExperiment where all samples consisted of the same two species\nMTD\tsample[1]\tindividual number 1\nMTD\tsample[1]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[1]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[1]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[1]-disease[1]\t[DOID, DOID:684, hepatocellular carcinoma, ]\nMTD\tsample[1]-disease[2]\t[DOID, DOID:9451, alcoholic fatty liver, ]\nMTD\tsample[1]-description\tHepatocellular carcinoma samples.\nMTD\tsample[1]-custom[1]\t[,,Extraction date, 2011-12-21]\nMTD\tsample[1]-custom[2]\t[,,Extraction reason, liver biopsy]\nMTD\tsample[2]\tindividual number 2\nMTD\tsample[2]-species[1]\t[NCBITaxon, NCBITaxon:9606, Homo sapiens, ]\nMTD\tsample[2]-tissue[1]\t[BTO, BTO:0000759, liver, ]\nMTD\tsample[2]-cell_type[1]\t[CL, CL:0000182, hepatocyte, ]\nMTD\tsample[2]-description\tHealthy control samples.\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The sample's name." + }, + "custom": { + "type": "array", + "description": "Additional user or cv parameters.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "species": { + "type": "array", + "description": "Biological species information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "tissue": { + "type": "array", + "description": "Biological tissue information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "cell_type": { + "type": "array", + "description": "Biological cell type information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "disease": { + "type": "array", + "description": "Disease information on the sample.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "description": { + "description": "A free form description of the sample.", + "type": "string" + } + } + }, + "ms_run_ref": { + "type": "array", + "default": [], + "minItems": 1, + "items": { + "description": "Specification of ms_run. \nlocation: 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 \u201cnull\u201d 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. \ninstrument_ref: If different instruments are used in different runs, instrument_ref can be used to link a specific instrument to a specific run. \nformat: 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. \nid_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.\nfragmentation_method: The type(s) of fragmentation used in a given ms run.\nscan_polarity: The polarity mode of a given run. Usually only one value SHOULD be given here except for the case of mixed polarity runs.\nhash: 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.\nhash_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.\n", + "x-mztab-example": "COM\tlocation can be a local or remote URI\nMTD\tms_run[1]-location\tfile:///C:/path/to/my/file.mzML\nMTD\tms_run[1]-instrument_ref\tinstrument[1]\nMTD\tms_run[1]-format\t[MS, MS:1000584, mzML file, ]\nMTD\tms_run[1]-id_format\t[MS, MS:1000530, mzML unique identifier, ]\nMTD\tms_run[1]-fragmentation_method[1]\t[MS, MS:1000133, CID, ]\nCOM\tfor mixed polarity scan scenarios\nMTD\tms_run[1]-scan_polarity[1]\t[MS, MS:1000130, positive scan, ]\nMTD\tms_run[1]-scan_polarity[2]\t[MS, MS:1000129, negative scan, ]\nMTD\tms_run[1]-hash_method\t[MS, MS:1000569, SHA-1, ]\nMTD\tms_run[1]-hash\tde9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "required": [ + "id", + "location" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "type": "string", + "description": "The msRun's name." + }, + "location": { + "type": "string", + "format": "uri", + "description": "The msRun's location URI." + }, + "instrument_ref": { + "description": "The name, source, analyzer and detector of the instruments used in the experiment. Multiple instruments are numbered [1-n].", + "x-mztab-example": "MTD\tinstrument[1]-name\t[MS, MS:1000449, LTQ Orbitrap,]\nMTD\tinstrument[1]-source\t[MS, MS:1000073, ESI,]\n\u2026\nMTD\tinstrument[2]-source\t[MS, MS:1000598, ETD,]\nMTD\tinstrument[1]-analyzer[1]\t[MS, MS:1000291, linear ion trap,]\n\u2026\nMTD\tinstrument[2]-analyzer[1]\t[MS, MS:1000484, orbitrap,]\nMTD\tinstrument[1]-detector\t[MS, MS:1000253, electron multiplier,]\n\u2026\nMTD\tinstrument[2]-detector\t[MS, MS:1000348, focal plane collector,]\n", + "x-mztab-serialize-by-id": "true", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "name": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "source": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "analyzer": { + "type": "array", + "description": "The instrument's mass analyzer, as defined by the parameter.", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + }, + "detector": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "id_format": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "fragmentation_method": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The fragmentation methods applied during this msRun." + }, + "scan_polarity": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "The scan polarity/polarities used during this msRun." + }, + "hash": { + "type": "string", + "description": "The file hash value of this msRun's data file." + }, + "hash_method": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + } + } + }, + "description": "The ms run(s) referenced by this assay." + } + } + }, + "description": "The assays referenced by this study variable." + }, + "average_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "variation_function": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": { + "type": "string", + "description": "A free-form description of this study variable." + }, + "factors": { + "type": "array", + "default": [], + "items": { + "description": "mzTab makes use of CV parameters. As mzTab is expected to be used in several experimental environments where parameters might not yet be available for the generated scores etc. all parameters can either report CV parameters or user parameters that only contain a name and a value.\nParameters are always reported as [CV label, accession, name, value]. Any field that is not available MUST be left empty.\n", + "x-mztab-example": "[MS, MS:1001477, SpectraST,]\n[,,A user parameter, The value]\n", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cv_label": { + "type": "string", + "default": "" + }, + "cv_accession": { + "type": "string", + "default": "" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string", + "default": "" + } + } + }, + "description": "Parameters indicating which factors were used for the assays referenced by this study variable, and at which levels." + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/uri.json b/api/src/main/resources/schemas/uri.json new file mode 100644 index 00000000..b4dc8429 --- /dev/null +++ b/api/src/main/resources/schemas/uri.json @@ -0,0 +1,19 @@ +{ + "description": "A URI pointing to the file\u2019s source data (e.g., a MetaboLights records) or an external file with more details about the study design.", + "x-mztab-example": "MTD\turi[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517\n\u2026\nMTD\texternal_study_uri[1]\thttps://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt\n", + "type": "object", + "x-mztab-serialize-by-id": "true", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "value": { + "type": "string", + "description": "The URI pointing to the external resource.", + "format": "uri" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/main/resources/schemas/validationmessage.json b/api/src/main/resources/schemas/validationmessage.json new file mode 100644 index 00000000..c097027d --- /dev/null +++ b/api/src/main/resources/schemas/validationmessage.json @@ -0,0 +1,37 @@ +{ + "type": "object", + "required": [ + "code", + "category", + "message" + ], + "properties": { + "code": { + "type": "string" + }, + "category": { + "enum": [ + "format", + "logical", + "cross_check" + ], + "default": "format" + }, + "message_type": { + "enum": [ + "error", + "warn", + "info" + ], + "default": "info" + }, + "message": { + "type": "string" + }, + "line_number": { + "type": "integer", + "format": "int64" + } + }, + "$schema": "http://json-schema.org/schema#" +} \ No newline at end of file diff --git a/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorListTest.java b/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorListTest.java index 6796200a..bcfa9bfb 100644 --- a/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorListTest.java +++ b/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorListTest.java @@ -91,13 +91,13 @@ public void testGetLevel() { /** * Test of setLevel method, of class MZTabErrorList. */ - @Test - public void testSetLevel() { - MZTabErrorList list = new MZTabErrorList(MZTabErrorType.Level.Warn, 1); - Assert.assertEquals(MZTabErrorType.Level.Warn, list.getLevel()); - list.setLevel(MZTabErrorType.Level.Info); - Assert.assertEquals(MZTabErrorType.Level.Info, list.getLevel()); - } +// @Test +// public void testSetLevel() { +// MZTabErrorList list = new MZTabErrorList(MZTabErrorType.Level.Warn, 1); +// Assert.assertEquals(MZTabErrorType.Level.Warn, list.getLevel()); +// list.setLevel(MZTabErrorType.Level.Info); +// Assert.assertEquals(MZTabErrorType.Level.Info, list.getLevel()); +// } /** * Test of clear method, of class MZTabErrorList. diff --git a/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorTypeTest.java b/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorTypeTest.java index 3da20101..84ad3edc 100644 --- a/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorTypeTest.java +++ b/api/src/test/java/uk/ac/ebi/pride/jmztab2/utils/errors/MZTabErrorTypeTest.java @@ -80,6 +80,23 @@ public void testCreateInfo() { MZTabErrorType expResult = error.getType(); MZTabErrorType result = MZTabErrorType.createInfo(category, keyword); assertEquals(expResult, result); + assertEquals(Level.Info, result.getLevel()); + + keyword = "NoSmallMoleculeSummarySection"; + error = new MZTabError( + LogicalErrorType.NoSmallMoleculeSummarySection, -1); + expResult = error.getType(); + result = MZTabErrorType.createInfo(category, keyword); + assertEquals(expResult, result); + assertEquals(Level.Info, result.getLevel()); + + keyword = "NoSmallMoleculeFeatureSection"; + error = new MZTabError( + LogicalErrorType.NoSmallMoleculeFeatureSection, -1); + expResult = error.getType(); + result = MZTabErrorType.createInfo(category, keyword); + assertEquals(expResult, result); + assertEquals(Level.Info, result.getLevel()); } /** diff --git a/io/src/main/java/org/lifstools/mztab2/io/MzTabFileParser.java b/io/src/main/java/org/lifstools/mztab2/io/MzTabFileParser.java index 83103cf6..b6832e6a 100644 --- a/io/src/main/java/org/lifstools/mztab2/io/MzTabFileParser.java +++ b/io/src/main/java/org/lifstools/mztab2/io/MzTabFileParser.java @@ -475,7 +475,7 @@ private void check() throws IOException, MZTabException, MZTabErrorOverflowExcep for (Integer id : commentMap.keySet()) { mzTabFile.addCommentItem(commentMap.get(id)); } - + if (smallMoleculeSummaryMap.isEmpty()) { errorList.add(new MZTabError( LogicalErrorType.NoSmallMoleculeSummarySection, -1)); diff --git a/io/src/main/java/org/lifstools/mztab2/io/MzTabWriterDefaults.java b/io/src/main/java/org/lifstools/mztab2/io/MzTabWriterDefaults.java index 9b29a6f3..87827264 100644 --- a/io/src/main/java/org/lifstools/mztab2/io/MzTabWriterDefaults.java +++ b/io/src/main/java/org/lifstools/mztab2/io/MzTabWriterDefaults.java @@ -271,8 +271,9 @@ public CsvSchema smallMoleculeSummarySchema(CsvMapper mapper, Metadata metadata = Optional.ofNullable(mzTabFile.getMetadata()).orElseThrow(() -> new MZTabException(new MZTabError( LogicalErrorType.NoMetadataSection, -1))); - List smsList = Optional.ofNullable(mzTabFile.getSmallMoleculeSummary()).orElseThrow(() -> new MZTabException(new MZTabError( - LogicalErrorType.NoSmallMoleculeSummarySection, -1))); + List smsList = Optional.ofNullable(mzTabFile.getSmallMoleculeSummary()).orElse(Collections.emptyList()); + //orElseThrow(() -> new MZTabException(new MZTabError( + // LogicalErrorType.NoSmallMoleculeSummarySection, -1))); metadata. getAssay(). diff --git a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/MZTabColumnFactory.java b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/MZTabColumnFactory.java index 62b21b0e..de74deb9 100644 --- a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/MZTabColumnFactory.java +++ b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/MZTabColumnFactory.java @@ -186,6 +186,7 @@ private String addOptionColumn(IMZTabColumn column, String order) { public String addOptionalColumn(String name, Class columnType) { IMZTabColumn column = new OptionColumn(null, name, columnType, Integer.parseInt(getColumnOrder(columnMapping.lastKey()))); + return addOptionColumn(column); } diff --git a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeColumn.java b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeColumn.java index c59662f7..b2814c34 100644 --- a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeColumn.java +++ b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeColumn.java @@ -21,6 +21,7 @@ import static org.lifstools.mztab2.model.SmallMoleculeSummary.Properties.*; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -250,4 +251,31 @@ public void setOrder(String order) { public void setElement(Object element) { this.column.setElement(element); } + + @Override + public int hashCode() { + int hash = 3; + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final SmallMoleculeColumn other = (SmallMoleculeColumn) obj; + return Objects.equals(this.column, other.column); + } + + @Override + public String toString() { + return "SmallMoleculeColumn{" + "column=" + column + '}'; + } + } diff --git a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeEvidenceColumn.java b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeEvidenceColumn.java index 81398793..0e1472a9 100644 --- a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeEvidenceColumn.java +++ b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeEvidenceColumn.java @@ -22,6 +22,7 @@ import org.lifstools.mztab2.model.StringList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -253,4 +254,31 @@ public void setOrder(String order) { public void setElement(Object element) { this.column.setElement(element); } + + @Override + public int hashCode() { + int hash = 7; + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final SmallMoleculeEvidenceColumn other = (SmallMoleculeEvidenceColumn) obj; + return Objects.equals(this.column, other.column); + } + + @Override + public String toString() { + return "SmallMoleculeEvidenceColumn{" + "column=" + column + '}'; + } + } diff --git a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeFeatureColumn.java b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeFeatureColumn.java index 917fa873..1299767e 100644 --- a/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeFeatureColumn.java +++ b/io/src/main/java/uk/ac/ebi/pride/jmztab2/model/SmallMoleculeFeatureColumn.java @@ -21,6 +21,7 @@ import org.lifstools.mztab2.model.StringList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -245,4 +246,31 @@ public void setOrder(String order) { public void setElement(Object element) { this.column.setElement(element); } + + @Override + public int hashCode() { + int hash = 7; + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final SmallMoleculeFeatureColumn other = (SmallMoleculeFeatureColumn) obj; + return Objects.equals(this.column, other.column); + } + + @Override + public String toString() { + return "SmallMoleculeFeatureColumn{" + "column=" + column + '}'; + } + } diff --git a/io/src/main/java/uk/ac/ebi/pride/jmztab2/utils/parser/SMFLineParser.java b/io/src/main/java/uk/ac/ebi/pride/jmztab2/utils/parser/SMFLineParser.java index e355b782..60424ab2 100644 --- a/io/src/main/java/uk/ac/ebi/pride/jmztab2/utils/parser/SMFLineParser.java +++ b/io/src/main/java/uk/ac/ebi/pride/jmztab2/utils/parser/SMFLineParser.java @@ -103,7 +103,7 @@ protected int checkData() { break; case CHARGE: smallMoleculeFeature.charge(checkInteger(column, - checkData(column, target, false))); + checkData(column, target, true))); break; case EXP_MASS_TO_CHARGE: smallMoleculeFeature.expMassToCharge( diff --git a/io/src/test/java/org/lifstools/mztab2/io/MZTabFileParserTest.java b/io/src/test/java/org/lifstools/mztab2/io/MZTabFileParserTest.java index a0e338a9..0de8dde7 100644 --- a/io/src/test/java/org/lifstools/mztab2/io/MZTabFileParserTest.java +++ b/io/src/test/java/org/lifstools/mztab2/io/MZTabFileParserTest.java @@ -49,6 +49,7 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import static org.lifstools.mztab2.test.utils.ClassPathFile.XCMS_EXAMPLE; +import static org.lifstools.mztab2.test.utils.ClassPathFile.XCMS_NO_SML_EXAMPLE; import uk.ac.ebi.pride.jmztab2.utils.errors.MZTabErrorOverflowException; import uk.ac.ebi.pride.jmztab2.utils.errors.MZTabErrorType; import uk.ac.ebi.pride.jmztab2.utils.errors.MZTabException; @@ -77,7 +78,8 @@ public class MZTabFileParserTest { LIPIDOMICS_EXAMPLE, LIPIDOMICS_EXAMPLE_WRONG_MSSCAN_REF, MINIMAL_EXAMPLE, - XCMS_EXAMPLE + XCMS_EXAMPLE, + XCMS_NO_SML_EXAMPLE ); @Parameterized.Parameters( @@ -101,10 +103,11 @@ public static Collection data() { {LIPIDOMICS_EXAMPLE_WRONG_MSSCAN_REF, MZTabErrorType.Level.Error, 1, true}, {GCXGC_MS_EXAMPLE, MZTabErrorType.Level.Warn, 0, false}, - {MINIMAL_EXAMPLE, MZTabErrorType.Level.Error, 1, false}, - {MINIMAL_EXAMPLE, MZTabErrorType.Level.Warn, 1, false}, + {MINIMAL_EXAMPLE, MZTabErrorType.Level.Error, 0, false}, + {MINIMAL_EXAMPLE, MZTabErrorType.Level.Warn, 0, false}, {MINIMAL_EXAMPLE, MZTabErrorType.Level.Info, 1, false}, - {XCMS_EXAMPLE, MZTabErrorType.Level.Info, 1, false} + {XCMS_EXAMPLE, MZTabErrorType.Level.Info, 1, false}, + {XCMS_NO_SML_EXAMPLE, MZTabErrorType.Level.Warn, 0, false} }); } diff --git a/pom.xml b/pom.xml index 3b1c10bb..ef53008a 100644 --- a/pom.xml +++ b/pom.xml @@ -573,7 +573,7 @@ 3.12.4 2.11 1.3 - 5.3.24 + 5.3.30 1.4.5 2.2 0.95 diff --git a/test-utils/pom.xml b/test-utils/pom.xml index 151848f6..54954a8f 100644 --- a/test-utils/pom.xml +++ b/test-utils/pom.xml @@ -9,10 +9,6 @@ jmztabm-test-utils jar - - Leibniz-Institut für Analytische Wissenschaften – ISAS – e.V. - https://www.isas.de - junit diff --git a/test-utils/src/main/java/org/lifstools/mztab2/test/utils/ClassPathFile.java b/test-utils/src/main/java/org/lifstools/mztab2/test/utils/ClassPathFile.java index 281ddd5d..1bb987c5 100644 --- a/test-utils/src/main/java/org/lifstools/mztab2/test/utils/ClassPathFile.java +++ b/test-utils/src/main/java/org/lifstools/mztab2/test/utils/ClassPathFile.java @@ -39,7 +39,8 @@ public enum ClassPathFile { LIPIDOMICS_EXAMPLE("/metabolomics/", "lipidomics-example.mzTab"), LIPIDOMICS_EXAMPLE_WRONG_MSSCAN_REF("/metabolomics/", "lipidomics-example-wrong-msscan-ref.mzTab"), MINIMAL_EXAMPLE("/metabolomics/", "minimal-m-2.0.mztab"), - XCMS_EXAMPLE("/metabolomics/", "xcms-test-export.mztab"); + XCMS_EXAMPLE("/metabolomics/", "xcms-test-export.mztab"), + XCMS_NO_SML_EXAMPLE("/metabolomics/", "xcms-test-export-nosml.mztab"); private final String resourcePathPrefix; private final String fileName; diff --git a/test-utils/src/main/resources/metabolomics/xcms-test-export-nosml.mztab b/test-utils/src/main/resources/metabolomics/xcms-test-export-nosml.mztab new file mode 100644 index 00000000..67f53459 --- /dev/null +++ b/test-utils/src/main/resources/metabolomics/xcms-test-export-nosml.mztab @@ -0,0 +1,410 @@ +MTD mzTab-version 2.0.0-M +MTD mzTab-ID test +MTD software[1] [MS, MS:1001582, XCMS, 3.1.1] +MTD quantification_method [MS, MS:1001834, LC-MS label-free quantitation analysis, ] +MTD ms_run[1]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/KO/ko15.CDF +MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[2]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/KO/ko16.CDF +MTD ms_run[2]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[3]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/KO/ko21.CDF +MTD ms_run[3]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[4]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/KO/ko22.CDF +MTD ms_run[4]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[5]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/WT/wt15.CDF +MTD ms_run[5]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[6]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/WT/wt16.CDF +MTD ms_run[6]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[7]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/WT/wt21.CDF +MTD ms_run[7]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD ms_run[8]-location file:////usr/local/lib/R/host-site-library/faahKO/cdf/WT/wt22.CDF +MTD ms_run[8]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD assay[1] 1 assay +MTD assay[1]-ms_run_ref ms_run[1] +MTD assay[2] 2 assay +MTD assay[2]-ms_run_ref ms_run[2] +MTD assay[3] 3 assay +MTD assay[3]-ms_run_ref ms_run[3] +MTD assay[4] 4 assay +MTD assay[4]-ms_run_ref ms_run[4] +MTD assay[5] 5 assay +MTD assay[5]-ms_run_ref ms_run[5] +MTD assay[6] 6 assay +MTD assay[6]-ms_run_ref ms_run[6] +MTD assay[7] 7 assay +MTD assay[7]-ms_run_ref ms_run[7] +MTD assay[8] 8 assay +MTD assay[8]-ms_run_ref ms_run[8] +MTD study_variable[1] sample_type:QC +MTD study_variable[1]-description Samples in the QC group +MTD study_variable[1]-assay_refs assay[1]| assay[4]| assay[7] +MTD study_variable[2] sample_type:study +MTD study_variable[2]-description Samples in the Study group +MTD study_variable[2]-assay_refs assay[2]| assay[3]| assay[5]| assay[6]| assay[8] +MTD cv[1]-label MS +MTD cv[1]-full_name PSI-MS controlled vocabulary +MTD cv[1]-version 4.1.138 +MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo +MTD cv[2]-label PRIDE +MTD cv[2]-full_name PRIDE PRoteomics IDEntifications (PRIDE) database controlled vocabulary +MTD cv[2]-version 16:10:2023 11:38 +MTD cv[2]-uri https://www.ebi.ac.uk/ols/ontologies/pride +MTD database[1] "[,, ""no database"", null ]" +MTD database[1]-prefix null +MTD database[1]-version Unknown +MTD database[1]-uri null +MTD small_molecule-quantification_unit [PRIDE, PRIDE:0000330, Arbitrary quantification unit, ] +MTD small_molecule_feature-quantification_unit [PRIDE, PRIDE:0000330, Arbitrary quantification unit, ] +MTD small_molecule-identification_reliability [MS, MS:1002896, compound identification confidence level, ] + +SFH SMF_ID SME_ID_REFS SME_ID_REF_ambiguity_code adduct_ion isotopomer exp_mass_to_charge charge retention_time_in_seconds retention_time_in_seconds_start retention_time_in_seconds_end abundance_assay[1] abundance_assay[2] abundance_assay[3] abundance_assay[4] abundance_assay[5] abundance_assay[6] abundance_assay[7] abundance_assay[8] +SMF 1 null null null null 200.100006103516 1 2902.17719959025 2882.13253843135 2922.22186074916 135422.352164176 506848.884266667 111871.983876869 169955.62859091 210333.137828116 141880.262737879 233271.258416051 142254.77595824 +SMF 2 null null null null 205 1 2789.45741422597 2782.37606315405 2795.82256588411 1924712.01585714 1757150.9648 1383416.71600001 1180288.23946428 2129885.09357143 1634341.9855862 1623589.16537837 1354004.93486208 +SMF 3 null null null null 206 1 2788.770256195 2780.80713236838 2793.60571716629 213659.293920001 289500.67003846 167516.667196037 178285.697566665 253825.557279999 241844.442068965 240605.963052631 185399.474615384 +SMF 4 null null null null 207.100006103516 1 2718.47616568724 2713.31443749444 2726.48699747953 349011.462461537 451863.663 343897.757800001 208002.803499998 364609.769939392 360908.933642857 219142.284192858 221937.53273913 +SMF 5 null null null null 233 1 3023.35283804748 3014.97091996344 3043.94155907817 286221.448566664 286594.432306072 164008.965176472 149097.550000002 255697.733555555 311296.816791666 366441.48988889 271128.021576922 +SMF 6 null null null null 241.100006103516 1 3680.20021298257 3661.06680228476 3695.53335044905 1160580.48957747 1145752.98066161 380970.326749997 588986.379271605 1286883.04476667 1739516.5592381 639755.258051278 508546.418360656 +SMF 7 null null null null 242.100006103516 1 3663.33874513794 3662.63211892219 3694.74423023479 211314.972365528 235308.752655172 92236.3186719478 65369.9944051334 229292.113481481 135904.95285 102609.078788439 78908.9802344098 +SMF 8 null null null null 244.100006103516 1 2832.61335142516 2826.30554595978 2835.70204672976 652842.48530769 256425.632370371 74702.5425254596 119927.161681818 679806.401035714 79838.8876491882 126838.475924143 1442914.28603571 +SMF 9 null null null null 249.100006103516 1 3672.70609438572 3651.67350448889 3687.39738274946 1046501.75387097 1079405.48836362 591070.323461536 525210.482076921 1302065.33837838 1226936.78872223 502994.601915052 462770.817228573 +SMF 10 null null null null 250.100006103516 1 3670.10037555492 3661.77306954359 3686.46100525436 329888.059846153 91079.5764705876 123516.540278402 91083.0639613658 259352.397062501 199434.40152381 94717.4824632979 75502.3090828604 +SMF 11 null null null null 255.150001525879 1 3681.83552364755 3657.93639651887 3702.61493250736 904425.724964285 774068.733193547 240526.554511831 479284.307333332 179942.68 1307135.86590476 830016.785263156 226169.104999998 +SMF 12 null null null null 256.150009155273 1 3676.65132604995 3661.06680228476 3685.71951072651 246911.528969696 155783.619204919 23423.56402329 74577.3336509979 208877.472 265571.675142858 96824.616155004 133315.761575829 +SMF 13 null null null null 266.200012207031 1 3668.46215847183 3659.34888180748 3678.23863087698 307042.603407407 223551.359410256 137309.643192165 199126.018363636 135422.583195211 449023.808516128 176607.474576924 133864.032947368 +SMF 14 null null null null 267.200012207031 1 3667.6037424525 3658.64053181166 3691.45473909493 1020303.90389498 903777.313525424 256234.359333335 334477.914989745 759673.678499999 692593.880000002 609137.780533332 419608.442423075 +SMF 15 null null null null 268.200012207031 1 3660.20698957777 3659.5019976764 3671.16107323342 143914.732891061 97805.7854754562 48182.6086583332 35820.8993306138 216571.453833334 242404.953742858 105468.275338529 37011.8740890573 +SMF 16 null null null null 269.200012207031 1 3891.76822421164 3847.481675404 3901.38684503777 414022.80959091 1487412.40624747 298780.758277776 341277.03013793 257534.431800004 2480645.87796667 590935.042555554 323013.086488888 +SMF 17 null null null null 272.100006103516 1 3125.4708298784 3114.49917112536 3134.90000849971 247211.605894736 227509.324151513 90191.6024132132 68527.0015713859 258967.732000001 42797.0519247712 89752.3344363922 428873.369785712 +SMF 18 null null null null 272.100006103516 1 2733.14698662786 2724.72507521889 2741.56889803683 198438.575447586 86483.4152168797 56660.386139104 51468.7501126538 236233.058722223 54841.0674573999 107012.517378331 216570.464999999 +SMF 19 null null null null 279 1 2787.89575171427 2753.40729775271 2801.50463757274 17140626.9682501 10916520.7158621 12506102.5440001 10618656.6569143 17225272.9980001 14486568.6452658 6985859.51999999 13696151.2193104 +SMF 20 null null null null 280 1 2791.84562814139 2785.51449035516 2798.34480793326 2537598.71700001 2092900.63481482 1971369.34266667 1018439.41587501 2500840.97566668 1657753.47472221 1270292.13963808 2354715.7341724 +SMF 21 null null null null 281.200012207031 1 3668.18564152886 3654.80523393921 3697.92031395384 3284574.66551351 2676077.23587096 1099087.57355555 1447941.2630303 2492164.22034374 3943470.49960976 1599396.63908572 1242891.02489189 +SMF 22 null null null null 281.100006103516 1 2787.20857412202 2780.80713236838 2795.82256588411 479763.595587918 379548.173990227 306813.537920001 270032.283040002 401400.4802963 274156.562045455 334673.524309577 237881.417583333 +SMF 23 null null null null 282.200012207031 1 3666.15944975951 3655.50232288206 3668.73867541481 477411.134928571 69166.7399999995 180424.654630103 271728.410291668 492007.556821428 761559.614719996 332959.232375 160532.441617182 +SMF 24 null null null null 282.200012207031 1 3474.2437192962 3470.06845291868 3477.81891282611 819629.382133335 2708003.90000001 216560.021731877 91103.1343861009 346817.159772268 794055.224769228 666777.616941178 164360.148428361 +SMF 25 null null null null 283.200012207031 1 3888.9068352265 3852.17542859293 3902.93930970854 379492.56678261 950365.999448276 521985.514974362 547029.389307696 195725.1666 2674059.02630304 608085.012966668 417272.334666666 +SMF 26 null null null null 283.200012207031 1 3662.46920969401 3639.82424462227 3669.596872377 502256.835999998 548089.947151518 245932.364666666 372694.436868288 564713.847727272 353695.823478258 416623.38110677 334798.480811198 +SMF 27 null null null null 284.100006103516 1 2719.01901255974 2710.17508722365 2726.48699747953 803174.732689656 1018511.62139286 517094.678628573 571871.37530769 958022.621821428 843080.229000004 408178.679892857 690648.204648652 +SMF 28 null null null null 284.200012207031 1 3693.02642406882 3675.14808569277 3704.15027078717 928494.681628574 4764196.36594446 58587.3399999999 660519.311179138 768782.047764707 834242.485999998 527189.192223018 502156.928446601 +SMF 29 null null null null 286.200012207031 1 3263.29619595556 3242.67403249468 3276.72703078428 1267250.66874075 1264118.63831818 1077035.10921212 749134.568769236 1043680.19834483 1436402.20430768 1160382.01628572 330712.947750003 +SMF 30 null null null null 288.100006103516 1 2799.2834684667 2788.65211346957 2806.24411994077 218937.904000001 268138.940952381 238369.060669222 315463.310000004 1058881.44010714 309137.826753383 353824.359063831 1806238.38834781 +SMF 31 null null null null 289.100006103516 1 2794.92838726857 2731.30408613139 2796.57805556108 82475.7957142836 210689.236962889 234222.447818472 147406.769903976 381615.556699999 157280.641290838 314252.773796196 345558.817600002 +SMF 32 null null null null 296.100006103516 1 2729.72577376185 2718.02322376833 2735.20268649487 145436.703037037 179016.941478262 81644.7069830617 84343.8668172026 138563.385703703 107325.749405002 89701.6938428113 102488.34725064 +SMF 33 null null null null 300.200012207031 1 3400.34351076704 3377.39979421699 3406.47876523884 4700903.21950002 5313736.07442857 5226126.16533332 4014433.04755557 342837.712148149 482547.669537098 1888223.30451282 1237784.41938461 +SMF 34 null null null null 301 1 2788.64891317868 2751.13861345908 2796.76482661395 3977247.59230136 1964443.59906668 2230864.04525808 1561967.6987742 3985784.55437499 1913293.75306668 1998446.57511112 1541701.19820691 +SMF 35 null null null null 301.200012207031 1 3400.34351076704 3379.77396957894 3404.09361887992 941818.529291672 1012957.7061 1068664.35576923 817703.996718753 58852.3188415131 31403.8529465879 276644.146030382 120438.834266665 +SMF 36 null null null null 302 1 2621.80143660682 2614.40109634842 2630.44756402518 687146.624275862 840667.199400001 414743.354518518 395617.379181819 701382.897346151 683816.832720001 391170.455954106 600117.382588236 +SMF 37 null null null null 302 1 2790.28027874165 2780.80713236838 2798.97523379649 522482.106357142 357030.628928573 338632.139692309 263728.343291665 697359.772301368 264072.634124998 372606.256121072 253511.853567567 +SMF 38 null null null null 304.100006103516 1 2923.57695788709 2918.44781401223 2932.67063596547 2197153.51842857 1333260.60266666 1611238.90872413 1641982.63632001 1911758.5851 1853630.66973333 1443085.21237037 1687373.27764287 +SMF 39 null null null null 305.100006103516 1 2927.37743705513 2920.4432095094 2936.2208936782 1953158.4554026 1068470.74817241 1560570.2992 1499808.17793103 3335630.28920514 1443843.4868 2651681.74206895 4559387.65471233 +SMF 40 null null null null 305.100006103516 1 3503.81748282347 3492.56564524952 3516.08664677926 579840.536874996 1029292.24878261 693950.039066668 687789.283857142 1236140.37704347 1021665.07733333 575407.927137929 621926.196928571 +SMF 41 null null null null 306.100006103516 1 3509.4676652674 3491.00683206777 3516.08664677926 114232.292090908 212306.942375001 154549.114981132 114716.262879999 264457.613875001 196181.611708334 49778.0218720264 97678.9682308803 +SMF 42 null null null null 306.100006103516 1 2936.04689172908 2923.13307573779 2954.34531788956 226762.470087588 486949.350799999 330590.424465664 304876.614761717 499075.25796472 274195.183471415 71378.0849999999 437740.944034485 +SMF 43 null null null null 307 1 2624.13496531131 2614.40109634842 2626.50549930954 284782.39285294 434431.996071431 221204.020961281 167585.141929557 370535.028964285 253412.997116118 222993.14037205 192777.616510327 +SMF 44 null null null null 308.100006103516 1 3258.58419161696 3248.94544234995 3276.21785415254 296725.286896552 2066854.37185713 121082.495530394 113492.100571666 174396.969590907 326605.921446831 210747.938444445 136199.277866666 +SMF 45 null null null null 309.100006103516 1 2923.24655039585 2918.44781401223 2932.67063596547 910711.416740739 453870.77151852 633466.868517239 439870.461468752 728506.524642856 589331.118551722 674085.422068966 329394.517540539 +SMF 46 null null null null 309.200012207031 1 3668.73867541481 3654.80523393921 3681.51486060936 568575.983707319 397291.546285712 107689.232862766 192471.925611258 453451.888551724 561648.2440625 187085.621045455 116155.464858279 +SMF 47 null null null null 309.100006103516 1 3475.45600578444 3473.33063418942 3477.58137737945 207085.464071428 2312747.72951613 42375.3459932886 35920.090977606 110938.040214351 147258.308504641 64698.5765091584 32455.320128248 +SMF 48 null null null null 310.200012207031 1 3653.26200955806 3614.0975331822 3684.8075265254 501489.756426306 763922.961236844 220987.936986546 121210.577478261 298309.545280002 296185.985624998 352896.390216625 215681.478943565 +SMF 49 null null null null 311.100006103516 1 3078.66850684899 3064.5029305949 3086.49634565911 280802.86940741 274534.965441176 89865.3908291436 127849.566131741 305431.4144 333163.173181819 118603.028244407 150778.481028038 +SMF 50 null null null null 312.100006103516 1 2998.402986764 2991.73103295409 3007.56569694702 302414.435360002 277777.951285716 252358.102592595 282429.728387095 247702.740028229 318761.3155 210698.218741937 214307.187359999 +SMF 51 null null null null 312.200012207031 1 3870.43937434506 3841.22380905346 3903.24890777556 226993.947744682 555987.907357144 121010.974419747 89607.7888650609 203335.150153844 389623.730169346 143717.357237993 128000.720828823 +SMF 52 null null null null 313 1 2788.49496366549 2782.45338624283 2795.82256588411 1744615.54999999 7571789.17810001 815417.04325 244934.136923076 1044287.32451613 5173292.35864283 4526002.53746667 768466.265481476 +SMF 53 null null null null 313.200012207031 1 3297.88644605528 3270.89092110718 3316.86551118926 1199152.62965216 877708.406748137 280413.291000001 441207.607840003 1035468.912 1130520.39057692 380653.74315 456091.401407409 +SMF 54 null null null null 314 1 2788.19735347125 2782.45338624283 2790.44534742094 383747.698074073 1637055.53564516 158068.516331351 61983.5693165716 165809.381466668 1094481.50973333 750794.454631577 85961.059097207 +SMF 55 null null null null 314.150009155273 1 3293.36544596757 3267.75623920566 3309.58142497198 136230.690583333 104989.492928572 66933.8584200292 69142.8646760568 144202.730874999 151078.442068966 74443.6358426324 115950.117473527 +SMF 56 null null null null 316.200012207031 1 3078.73457079737 3077.00350014667 3080.46564144807 15334.8462661769 16279.0516398197 60803.0220697231 109385.445323631 1429919.44234615 20681.7658187609 116410.333303533 761837.366249995 +SMF 57 null null null null 317 1 2788.71489705083 2782.37606315405 2791.36543743148 624874.589642857 273292.976728093 191115.926906788 131611.957811283 697688.232 339687.475789473 140096.75758016 180084.470614329 +SMF 58 null null null null 317.200012207031 1 3083.41701630703 3081.69097588649 3085.14305672757 11785.1514791268 17294.5249173153 9781.67292648883 27723.0618163553 451728.124222221 13346.1126080827 7425.24488574238 204398.958833336 +SMF 59 null null null null 321.200012207031 1 3670.30503116211 3661.77306954359 3676.60569737761 171178.780891267 229771.186357143 102662.284784479 71130.5551320213 58375.3138744245 218909.069999999 139900.2702 47708.1564287826 +SMF 60 null null null null 322.150009155273 1 3507.30864656806 3490.96644702215 3520.46806071637 644218.408947367 357562.704642859 598872.096042635 824650.973481488 1440566.05524999 1522738.53886722 606401.130686376 601253.6823125 +SMF 61 null null null null 322.100006103516 1 3402.21856482348 3400.34351076704 3404.09361887992 190025.479384616 253972.91319231 106969.37261986 122531.139522554 11037.9840800389 22250.0087014356 29724.4294603914 26803.6356934433 +SMF 62 null null null null 323.100006103516 1 3504.29225397452 3492.56564524952 3520.46806071637 98138.1638095239 193909.324400001 161694.797120001 142867.839187499 322947.233789473 284025.524086958 60086.5824310885 197828.700321428 +SMF 63 null null null null 324.100006103516 1 2790.82285808657 2782.37606315405 2801.50463757274 517069.90546479 321251.9349375 395362.790869566 373419.003078549 700293.282114286 642298.845391304 436847.955257352 377076.273913043 +SMF 64 null null null null 324.200012207031 1 3288.13290989966 3273.11741384079 3293.86255313856 142189.409999999 297973.981565215 94020.2444428727 115008.509545455 19172.0012049742 7417.88053588827 27756.2045125323 7653.88418935175 +SMF 65 null null null null 326.200012207031 1 3420.93182194901 3410.07158291202 3437.93452794971 5228030.43021431 4387790.82619352 3660161.69627583 4836066.25320001 264413.014296297 345255.121166667 255045.143999999 225380.073931035 +SMF 66 null null null null 327.100006103516 1 3497.16343130953 3421.48826772738 3516.08664677926 162928.339199998 293520.767680002 706034.927090909 220875.541615384 363932.625374998 303369.060960002 156902.889599999 174370.787416668 +SMF 67 null null null null 328.200012207031 1 3634.05200211585 3610.96473615603 3646.92972932258 6910890.11053578 6237355.74437505 3687310.00439999 2887521.0057931 429141.812037039 638381.689733338 447971.556266665 333228.804909091 +SMF 68 null null null null 329.100006103516 1 3500.26170484634 3487.88974587919 3513.20212843566 320342.275958335 360790.381714286 276220.847357144 187193.350344826 432422.947047619 512005.802666666 181410.979652174 101053.070563407 +SMF 69 null null null null 329.200012207031 1 3637.33225822104 3632.73697844186 3646.92972932258 1641637.87282759 1414275.63640001 840180.811107142 640553.966821428 100939.030497372 189040.303776693 124413.148213566 55756.705136338 +SMF 70 null null null null 330.200012207031 1 3638.42448622449 3632.73697844186 3644.11199400711 209334.844173914 158344.167642858 90211.7005257352 88770.6190476883 19125.3249120011 27186.0653391257 18223.6426464075 20795.047250252 +SMF 71 null null null null 331.200012207031 1 3500.26170484634 3467.32194512972 3517.5375071259 401399.140266665 251683.08375 347089.425806453 156075.884999999 573593.35511111 763325.823827927 321725.696516129 317079.332057141 +SMF 72 null null null null 335 1 2788.19735347125 2782.45338624283 2798.97523379649 412134.254838711 1496244.20574193 159058.781538462 60723.5984653069 195791.547473776 932645.210709676 876585.527057145 115168.170945127 +SMF 73 null null null null 336 1 2788.770256195 2782.45338624283 2790.44534742094 81721.7636886102 334400.5398125 28369.2755187969 10676.3637679011 23516.6791664146 196723.350153844 86375.4800000005 24799.0812246163 +SMF 74 null null null null 337 1 2554.21541583161 2552.65041583161 2573.27159895547 162525.673679365 324680.936624998 483788.187586892 268633.888625219 215871.27904044 204195.369139746 1405529.63 293320.137366667 +SMF 75 null null null null 338.100006103516 1 3025.94021734574 3016.60681773271 3075.44098026479 403762.009407407 501318.568666665 419685.446666667 412610.005032259 389477.027481485 416727.206875 440275.81916129 422729.842947367 +SMF 76 null null null null 338.200012207031 1 3668.46215847183 3654.80523393921 3681.51486060936 634807.244479997 622407.403541662 408089.230266666 356327.630363637 596970.228461536 687435.020888887 385388.836935483 318183.57474074 +SMF 77 null null null null 338.200012207031 1 3837.91301773136 3825.58115083329 3849.96229467901 112529.044326906 762982.940923079 122681.481681818 86136.9850970077 183288.617142857 417012.882125002 452853.483034481 136793.056 +SMF 78 null null null null 338.100006103516 1 2788.71489705083 2782.37606315405 2791.36543743148 424332.158773334 251721.417713155 211722.366553728 271858.364130185 435561.829043478 249287.620266668 239979.526226967 252101.566537832 +SMF 79 null null null null 339.200012207031 1 3324.76397169467 3303.78535242876 3334.41937084577 3018134.29790476 3712170.13251428 2317957.23040871 1508859.65473684 3861507.63157897 4610536.10661538 3211872.93978947 1730376.50072728 +SMF 80 null null null null 339.100006103516 1 3129.47245912793 3118.54440389476 3192.57958243762 null null null null 170425.789333331 135036.024999999 null null +SMF 81 null null null null 340.100006103516 1 3324.65948319525 3318.92046088753 3345.37989910501 433922.576597593 348437.86 314425.46030991 479606.779821428 78391.1402422364 787501.874117648 140794.356630233 422884.575191351 +SMF 82 null null null null 343 1 2683.94410606166 2594.90441583161 2691.83614148447 24147443.2347083 26229546.1150434 19776480.8265455 22619826.3498461 26239739.4908571 7992906.64838096 17181849.6516364 23764142.3444705 +SMF 83 null null null null 343.100006103516 1 2748.15833916942 2735.66102096683 2758.83457208863 null null null null 684356.465333336 null null 2295667.19999997 +SMF 84 null null null null 344 1 2685.13482543103 2677.20743323407 2691.83614148447 5210015.8905 5700652.03809521 4361991.23026668 4283780.04774419 5842676.41781816 3782528.00118522 3845239.02841026 5118873.50761224 +SMF 85 null null null null 344.200012207031 1 3347.37268592935 3342.97537984552 3351.76999201318 43908.1735997362 1775.36540191791 8860.32895939081 87827.5892336786 669167.977838709 18827.1952856513 59417.6218227112 580924.589793104 +SMF 86 null null null null 344.150009155273 1 2754.28126305789 2748.15833916942 2760.40418694637 null null null null 74212.2999999999 null null 570721.522763637 +SMF 87 null null null null 345 1 2685.52376680114 2675.63679884573 2687.89956756604 691731.776000004 523335.545478263 613128.456346152 657050.380135138 945843.066319147 422131.372173915 525368.583101138 732413.853698113 +SMF 88 null null null null 346.100006103516 1 3499.53970553119 3491.00683206777 3513.20212843566 691098.855680004 840818.051999998 235579.41299261 531901.176814814 556671.328750003 1197152.6152174 161260.730000002 455404.272761905 +SMF 89 null null null null 347.100006103516 1 3504.19968775431 3489.44799581339 3513.20212843566 170139.79905 129375.42 78667.6148403522 108954.037021965 227442.76577778 282595.661333333 49460.7449380636 103431.414187501 +SMF 90 null null null null 348.200012207031 1 3488.26883527729 3428.17600021465 3510.3250391616 166844.014350002 138563.12336 188288.585187498 143956.519677213 257795.77845 216687.468333332 73088.2860144309 142651.866636364 +SMF 91 null null null null 348.200012207031 1 3304.62012298055 3301.76672776673 3307.47351819436 124695.216 113005.400933334 40793.9907259441 57935.2515658704 5380.04357354369 1865.07659786136 3534.46762051016 6076.05166307019 +SMF 92 null null null null 350.200012207031 1 3657.52513526999 3627.83533384681 3670.79903874022 98231.9200000012 303719.029610645 238473.561176469 149304.832030269 54440.2899363997 266836.598769231 35412.693292451 60550.7717989819 +SMF 93 null null null null 351.100006103516 1 3503.32987404691 3486.33172283852 3511.76381821969 161796.159913044 217407.878290909 100296.957220273 87010.644475275 223172.44936842 248000.776159999 76301.4712450225 60581.147335705 +SMF 94 null null null null 352.100006103516 1 3505.88424466075 3505.7849294448 3505.98355987669 87233.2962105261 383807.793103448 46485.9818765593 19557.0099106264 26149.4789457961 48033.6239435669 35423.9873745759 13941.7431439442 +SMF 95 null null null null 353.100006103516 1 3504.51965134269 3481.6615114925 3516.08664677926 164747.232 206602.786631578 100591.318468424 93312.071125909 198558.302818182 170219.499352815 91549.5709803414 56991.2845783238 +SMF 96 null null null null 354.200012207031 1 3622.00823542747 3604.70225158315 3631.11783534388 1186626.39692308 990292.127066668 628576.224827586 798903.31310715 121703.8284 154731.683878789 106854.015227536 80552.5555120133 +SMF 97 null null null null 354.150009155273 1 2793.13587601298 2785.64685413449 2794.87308613335 299005.0887305 74601.9849999995 237178.492064518 123109.800857143 263691.217222673 195418.162682405 407739.011237045 398155.735454545 +SMF 98 null null null null 355.200012207031 1 3624.58985017254 3619.74255727187 3631.11783534388 349267.018285716 254344.237500001 115474.895060952 185729.255000001 51100.9687411736 74951.9171190998 53256.1837842647 39360.1658235953 +SMF 99 null null null null 356.200012207031 1 3840.12374638147 3813.06685864378 3854.50966003837 1273983.75134484 2437987.27944827 1359872.09131035 906429.964206893 190977.623142858 520451.518476191 216465.036666667 263509.087333334 +SMF 100 null null null null 357.200012207031 1 3840.31032060459 3829.61010693766 3849.81944357431 327421.611733336 608556.903428568 259054.798071428 238679.265193548 31224.0576693129 159382.419290322 30714.0996532859 75992.401236297 +SMF 101 null null null null 357.200012207031 1 3477.72992967267 3459.85270116425 3497.09705464254 165639.868830189 98050.2553846156 76020.6231329582 48044.2533667943 379199.197760002 242429.260375001 55827.9949578261 95981.3543426703 +SMF 102 null null null null 359 1 3506.37594335902 3492.56564524952 3514.64229591901 110441.819428572 77351.6899999999 4471.66599812304 20312.9203600494 205125.747750002 115930.414173913 4245.12785284368 3985.75809230644 +SMF 103 null null null null 359.200012207031 1 3722.99688606162 3697.11770641376 3735.9156214068 508542.178200001 729906.977264704 492330.688500001 441283.934392857 404979.222322582 860155.127172414 437929.317233334 592504.204833328 +SMF 104 null null null null 360 1 2688.28739604277 2596.04542275668 2735.93802057464 5641322.2736842 10248210.6547692 8488217.39626085 8599425.6254189 9985908.96038296 7778919.60800004 2611004.35200006 12925009.1118709 +SMF 105 null null null null 361.100006103516 1 3167.79305589765 3153.55090083068 3193.41679678981 367361.839999999 1632977.4922034 757700.400558136 412163.210739402 1066083.76069643 1032468.27535999 646345.677714286 474858.161935485 +SMF 106 null null null null 361.100006103516 1 2692.22369124922 2678.77804454775 2718.47616568724 1158340.19352381 2692350.29394873 1459098.16773913 1325982.93599999 1250641.00222224 1605153.00111448 1228845.95068134 179262.925000006 +SMF 107 null null null null 362.100006103516 1 3169.43911165666 3159.79667515042 3176.40933844117 276212.581615387 622591.502823528 240785.802858299 308165.065701756 220216.476320001 362529.860881355 173145.931259899 245668.288066667 +SMF 108 null null null null 362.100006103516 1 2687.89807072409 2675.63679884573 2690.35967592818 526567.530833077 854340.673153853 205964.955 450253.429733334 664941.738266665 553225.075499997 630832.235444447 329722.860827531 +SMF 109 null null null null 363.200012207031 1 3265.29040072543 3250.51326024116 3280.28944532276 252003.943840002 283884.3573125 115109.481846153 220244.510197049 415062.606962966 445097.676240001 247710.103275856 242619.024145673 +SMF 110 null null null null 363.100006103516 1 3475.43561395559 3472.44901684098 3478.60773936059 320265.075675262 281048.528278215 167387.041675338 170792.984646303 506540.163315789 204989.068921759 313940.96168421 193420.557045455 +SMF 111 null null null null 363.100006103516 1 2880.94763960126 2875.79764262343 2886.06683138543 23053.1460975306 224517.884611114 12833.0338217452 157416.351230769 31390.4142741001 29843.6925340814 42304.3977927468 326151.333517242 +SMF 112 null null null null 364.200012207031 1 3724.6600925719 3700.98641741227 3745.67831937614 347531.020863637 281550.672774193 355180.672656717 368559.350766234 613035.267684212 615770.671925927 151718.890829268 359447.385804878 +SMF 113 null null null null 365 1 2685.92145565003 2675.63679884573 2693.41130578255 14975760.8453019 15565867.9773929 13265894.807 10931690.0932885 15449931.5091207 12050782.6605091 13430215.4991772 10824420.593 +SMF 114 null null null null 365 1 2595.19743660682 2594.90441583161 2602.23151778114 2071387.79699416 2391697.63040769 1760960.4074091 1884967.05728888 2567758.20148506 1919342.96000261 1757642.65802727 1737205.51868889 +SMF 115 null null null null 365.100006103516 1 3404.09361887992 3387.90451642545 3423.232467279 142276.627058825 187836.038181818 42357.2251885136 116637.547623553 74762.021912454 451114.115692309 44708.5875962711 105418.388796005 +SMF 116 null null null null 366 1 2686.45280607551 2677.20743323407 2693.41130578255 3365173.98655102 3448376.08843637 2229757.88355555 2431618.50249999 3427455.12957693 2628272.47891489 2877947.12865714 2277693.0281132 +SMF 117 null null null null 366.100006103516 1 2790.15474313711 2779.14534033055 2812.17230391935 1086091.67730435 1044552.32766761 1125216.6664375 1067932.19307895 1222650.61476923 605143.966671233 777867.749862074 1034399.06968966 +SMF 118 null null null null 366.200012207031 1 3848.41944810342 3833.4020034906 3862.47011045766 302656.44825 443599.706592592 310149.561103448 239412.886769231 157286.600210526 322604.832260871 194633.867916668 256596.022296298 +SMF 119 null null null null 367.200012207031 1 3529.84331428447 3450.6809297512 3544.8828697131 3380971.63733334 3291032.38064105 2069555.6079 2004574.11179487 3493079.33254168 4073316.89936362 2106798.288 1855961.85115789 +SMF 120 null null null null 367.200012207031 1 4134.33622421164 4126.6520120633 4142.16258284596 219760.260495166 363513.901636365 97386.916568579 111517.371690068 203363.721687565 525314.160897439 70047.5577465673 146123.588769229 +SMF 121 null null null null 368.200012207031 1 3532.74126702846 3527.47798537336 3543.33132739397 1081993.04061229 888596.967474302 549361.162897435 531086.540707317 1027334.72601161 1204062.04792157 517318.46545714 478030.388105262 +SMF 122 null null null null 370.200012207031 1 3070.75333413112 3035.2784445031 3083.58352938513 125195.336091512 79798.3261280723 163367.169954544 272832.361408607 204342.194117649 460739.762415993 230710.369777777 195385.576750002 +SMF 123 null null null null 371.200012207031 1 3638.25529344194 3626.35992411186 3652.2495881313 563419.299333334 320434.237565215 125592.150814126 171215.1256859 570454.039407406 287139.027809524 141353.72491338 196706.96159091 +SMF 124 null null null null 371.200012207031 1 3078.56600592128 3063.31654035299 3107.39258975727 185339.730072269 217158.190191489 89119.6292397281 62436.9471031224 218106.425478262 176478.781588954 137394.608111736 1125798.90161538 +SMF 125 null null null null 372.200012207031 1 3258.58419161696 3224.57470949741 3326.8078744168 55453.019135596 52808.4029423073 3327173.64149998 3236842.55360656 57873.376013517 3860409.52831819 4929191.93344596 2983012.35563637 +SMF 126 null null null null 372.200012207031 1 3588.10811540878 3584.40884136091 3591.80738945664 5220180.70901152 108175.857609511 37783.2271240855 38753.0175278578 976658.92794286 72711.7644194878 64890.7184268761 252828.926307694 +SMF 127 null null null null 373.200012207031 1 3261.50472391209 3216.75184385608 3323.64513851274 21759.0082974641 50088.3947924716 774776.454909091 658457.683459459 47684.7345479468 409843.333565219 1024989.76151163 657486.054764969 +SMF 128 null null null null 376.200012207031 1 3721.49319045788 3716.80713018538 3735.9156214068 158019.005259259 210883.060714431 166032.122645162 149153.616142857 76733.5433112251 373283.853882354 121075.32403795 213962.9498125 +SMF 129 null null null null 376.200012207031 1 3471.6917256402 3468.82656418308 3474.55688709732 190895.747185185 137158.4778 24156.0477929379 64544.3140222073 4641.96406521387 15038.9755094529 10203.7338879248 4083.80545473991 +SMF 130 null null null null 379.100006103516 1 3335.91735249179 3319.44426308867 3347.49447357218 477757.751739132 740276.063999998 940306.822971427 625866.975 583565.29018182 553093.193739133 334976.358333332 1707015.81789654 +SMF 131 null null null null 380.100006103516 1 3160.0105243892 3149.76709666446 3212.94326739117 2780370.13776923 2201517.908 2098636.5062143 1892033.51008001 1295576.54374982 1618642.75755555 1505475.59081481 2930054.01104348 +SMF 132 null null null null 380.200012207031 1 3337.46710136504 3322.57687430655 3347.49447357218 70603.9398897966 43105.2117377342 128146.895 190880.965022576 113082.836571426 125731.865909726 97771.9149225205 119818.847555554 +SMF 133 null null null null 381 1 2683.87238239119 2662.19741583161 2691.83614148447 2180565.21015095 1244363.24829091 342256.751999998 630069.742657671 2193772.47438462 974761.940320001 105484.13 668799.717568235 +SMF 134 null null null null 381.100006103516 1 3162.01830589836 3149.76709666446 3172.36462544481 89049.1179080393 484755.102592592 407057.4580625 457671.853555555 108038.875513182 360810.035925925 343366.013822152 470606.008344915 +SMF 135 null null null null 382.100006103516 1 3260.11499406105 3240.42060986312 3279.98967119564 584677.672941177 1678189.08203571 1074221.383875 1317799.12455173 463252.042866667 871893.788684211 660162.192135581 1037296.11273585 +SMF 136 null null null null 382.200012207031 1 3802.36821818275 3793.55764117968 3806.58680323464 747956.346296291 624315.897392857 307863.692190476 174531.219624998 38277.9832408379 94799.8750000006 81068.6183734926 45762.9816350073 +SMF 137 null null null null 384.200012207031 1 3995.86566780287 3976.12955738367 4006.49572715522 735402.057356462 488994.310704677 310626.9255 112452.199142859 166202.179733333 88334.4234545452 49030.2469213019 180680.309180448 +SMF 138 null null null null 385.100006103516 1 3174.0174813285 3158.45341473202 3189.24768186646 867642.820729321 1467211.18834884 469179.455245339 264309.72 1238608.18233334 1057041.87639111 597004.556417548 691701.64020001 +SMF 139 null null null null 385.200012207031 1 3451.76755893142 3430.25708182708 3465.45299954805 787315.912064515 721639.701777774 384611.061159408 527106.971516861 740128.215115382 723465.222060606 473047.546682993 481823.698534333 +SMF 140 null null null null 386.200012207031 1 3455.23388559113 3430.25708182708 3468.49257364621 204291.225791665 206174.292923076 143380.966732136 154118.523051914 212416.924499999 249694.123741244 193877.720179851 179481.513680799 +SMF 141 null null null null 386.100006103516 1 3170.37676456166 3164.48034601869 3176.27318310463 174104.045301025 158976.651561743 110658.591604259 85943.4924283721 375904.993333334 310579.706347827 40395.2101301648 203541.805709726 +SMF 142 null null null null 389.200012207031 1 3356.63769773309 3338.26529036427 3385.64645165587 636257.620517077 891536.156952382 709512.376000003 769004.670428571 1353974.47551428 1374954.18776471 716881.495633327 582511.006428571 +SMF 143 null null null null 390.200012207031 1 3356.48136450713 3342.97537984552 3368.68869272542 318248.716190476 365063.913821428 99339.2018735349 182454.634758621 274481.292705883 381426.371363637 216299.594076922 156697.879839999 +SMF 144 null null null null 391.100006103516 1 3628.3875807674 3613.48584255463 3645.22835388297 3619913.85999999 6610983.18369697 1219370.28233335 2566985.76049998 4331767.51545 4758776.98844446 1700203.47999998 4776855.73936667 +SMF 145 null null null null 392.100006103516 1 3628.41092693573 3616.92283605771 3696.35091127763 1048859.962347 437593.964181828 503316.581986665 327674.133857144 2573771.56357143 1365529.41730435 367854.208750003 1043114.42492857 +SMF 146 null null null null 392.200012207031 1 2924.69466889853 2880.94763960126 2936.2208936782 337290.806836955 221027.21404223 1459089.61219047 759903.763043477 118373.404500002 384968.36525 525987.223032259 733993.343379307 +SMF 147 null null null null 395.200012207031 1 3721.36764313293 3693.97073587042 3734.33434508124 387962.111478258 500089.551902439 134275.387185185 166593.285692308 254936.186105263 842750.614199999 204359.408470588 177131.674133333 +SMF 148 null null null null 396.200012207031 1 3331.33825096105 3321.01032564096 3350.06395800109 217450.03874074 455452.833482761 392664.67051724 648340.174344828 267669.700222224 325886.985428573 264389.539166668 627825.868928568 +SMF 149 null null null null 398.200012207031 1 3311.33912115508 3284.07127729708 3330.32325047267 37910.4758043619 40786.1773215231 1945266.25678571 1436258.47629787 51409.3476040707 76206.4441924523 1936987.54065306 1138626.71413333 +SMF 150 null null null null 398.200012207031 1 3411.10748030659 3389.41929654945 3477.58137737945 63501.9978657091 3475784.38986363 71719.7861250013 151530.996566046 69067.8612087525 2524465.73618182 501048.572977792 186554.040744126 +SMF 151 null null null null 398.300018310547 1 4070.97753501588 4061.1998478557 4072.95605740337 320878.685217393 207477.9411 104805.89438889 94373.6345883054 null 27812.6215358365 null 1303.59568876938 +SMF 152 null null null null 399.100006103516 1 2798.10668816685 2794.92838726857 2807.82389628093 548524.739839997 121551.878708334 95971.8735529546 110684.596819129 592432.379259258 126876.427621622 168568.337962088 141275.337923078 +SMF 153 null null null null 400.200012207031 1 3597.99638879102 3565.17431183712 3620.06812370906 111561.414969775 49097.237708584 9630329.28626085 8029680.37469388 84859.9047342852 72027.6002291311 12719417.9483333 7221388.85272729 +SMF 154 null null null null 400.100006103516 1 2788.770256195 2777.75732037793 2788.86505333147 130553.136938006 255780.88016129 71859.6978743737 36297.2148569972 209307.07002453 138186.417578947 281302.144499999 65753.8874480767 +SMF 155 null null null null 401.200012207031 1 3749.71413961136 3733.26922517904 3759.90713191249 330257.816988063 757522.527464285 582226.91343235 405664.101517242 324508.540639998 4168842.54690907 533434.723016707 656797.3934373 +SMF 156 null null null null 401.200012207031 1 3597.2050821846 3566.73046747005 3618.49540457216 306099.324995218 162656.219444153 2479394.4707561 2416766.62576272 290259.241841462 219745.293600704 3645052.75138749 2027069.03640425 +SMF 157 null null null null 404.100006103516 1 2694.20772028344 2689.46456268549 2696.60840750961 269026.938938006 333345.261171429 300188.205990183 359903.866980769 269503.758326019 298535.31592467 363908.77815 396191.241010166 +SMF 158 null null null null 408.200012207031 1 3456.30919125711 3439.46923810492 3480.82870907175 null 578093.374173915 null 91575.3501818179 null null null null +SMF 159 null null null null 408.100006103516 1 2898.13900956999 2892.0495039874 2901.15688868237 29115.6827088383 1090578.09866667 35435.2029416075 18847.0682677113 22141.7503834404 238159.379333333 553887.809199998 27525.7036985993 +SMF 160 null null null null 410.300018310547 1 3942.5301674605 3923.76491003746 3955.92228147813 817164.881357151 939245.003068962 728328.798870967 685522.064842107 121764.943058825 207587.803428572 73360.0656368404 38235.562562392 +SMF 161 null null null null 411.200012207031 1 3950.23509060249 3937.94426243343 3952.29905868678 241598.91352381 321818.708372277 281300.765392857 211976.961919999 59531.0352778338 78344.1996879915 48982.7462668235 68112.2773870239 +SMF 162 null null null null 412.300018310547 1 4120.67358776662 4088.1665969389 4129.85308530629 3457095.50111537 2299701.17793106 771339.491227275 488386.613793104 437274.29858824 253752.898758623 75534.3048736702 114197.53264286 +SMF 163 null null null null 413.100006103516 1 3628.84220195078 3615.35145194186 3637.67135960691 879851.468967744 499959.972750004 240481.707697675 297322.347807691 353431.127622223 461421.469999998 275218.172475936 384218.096266667 +SMF 164 null null null null 413.300018310547 1 4120.67358776662 4086.62829391816 4129.85308530629 966684.699142846 663456.658370383 233518.636319999 171466.224750001 126558.180416667 65848.5830213658 10332.3521357685 23404.343095415 +SMF 165 null null null null 414.200012207031 1 3057.08286064255 3048.876803727 3069.78397400981 234308.535290321 327825.572723783 208126.578695164 307327.131000001 894964.362451607 279342.667834764 255760.91336842 700511.735757579 +SMF 166 null null null null 414.200012207031 1 3639.82424462227 3632.73697844186 3645.73945545653 201616.864315789 101329.055000001 52958.3704479144 80786.4570358613 37097.6264482435 114934.214833333 75832.1037398609 62982.2568316689 +SMF 167 null null null null 416.100006103516 1 2687.17742593527 2677.20743323407 2691.05432904616 487698.643851063 596092.78476923 329226.522323 312480.766460048 529044.672 491165.739130032 388367.017417733 204464.699478262 +SMF 168 null null null null 419.200012207031 1 3773.96112004665 3744.24309689022 3823.58921792584 145814.24025 142883.108133332 998617.045873158 403834.960711247 1204141.53999999 494232.084822876 1364763.23948272 828972.475850927 +SMF 169 null null null null 423.100006103516 1 3263.6548230342 3260.59116810586 3269.78207995553 221076.128 140927.888181818 122351.97242246 125392.567346154 30862.3619411881 8654.83085573462 24870.1851381739 21460.3167616665 +SMF 170 null null null null 424.200012207031 1 2954.6348894744 2951.52714547484 2959.81037303094 165921.175772728 2071266.74299999 19721.7638373181 88026.9915756862 113767.692860161 236668.900800002 189052.048730769 77911.4710019294 +SMF 171 null null null null 424.200012207031 1 3410.57443601709 3351.76999201318 3439.0038083983 35200.5242451709 52530.9849662245 1674114.96888888 839216.502644067 39713.6344769301 10329.3689004772 2102703.75182608 1045506.16010257 +SMF 172 null null null null 426.100006103516 1 3018.16202975819 3003.538719282 3031.217971794 828248.820159996 991510.536648649 253567.616000001 123115.419999999 905911.972034479 973093.084615392 344606.556000001 259950.285000001 +SMF 173 null null null null 426.200012207031 1 3610.58871462525 3580.73360165097 3632.65180499645 59145.1935549954 227718.623245812 9765226.62831745 8518588.87599999 75559.3349979592 173378.993915084 9985983.01193848 6508160.92166666 +SMF 174 null null null null 426.949996948242 1 2689.40041018694 2680.78662687595 2695.04655533211 160559.457625 570391.004988638 354895.30472931 320860.518550532 355858.4191985 537400.723836735 381205.625985094 74285.8550000002 +SMF 175 null null null null 427.200012207031 1 3610.58871462525 3579.17757470371 3637.36964741502 72702.2010808375 88022.2689394434 2374364.55443478 2306485.35863265 67471.6703192309 74021.3490037955 2906622.62681689 2051704.23582142 +SMF 176 null null null null 427.100006103516 1 3015.55732606979 3003.538719282 3015.7837792462 209466.018965516 236960.89534554 56898.8617237446 52185.2017794283 193115.619517243 223144.516479999 79206.3849714217 57475.793427332 +SMF 177 null null null null 429.200012207031 1 3886.53513212884 3875.63481873101 3904.80816979642 621230.209740743 260929.40474074 1454833.05403571 1680133.23120001 824388.957538464 3815176.25851851 1270135.30430769 1484672.85712001 +SMF 178 null null null null 429.200012207031 1 4045.79816484576 3991.93201215265 4086.35250912379 1164806.30006061 297008.830000001 1275412.56069756 2094775.2 1045170.51819232 627014.1185 776630.261544118 1373929.74249156 +SMF 179 null null null null 430.100006103516 1 2687.56277618301 2677.20743323407 2693.41130578255 2395840.30404255 2704092.90524137 3416762.9511628 3764023.13140427 2559942.49775001 2344653.06850944 4262897.42385542 3919528.25802127 +SMF 180 null null null null 430.200012207031 1 3886.01265337464 3875.63481873101 3898.27980727658 92874.098533334 68592.4012444903 500656.311166667 558891.584307697 258597.278769231 1249364.70703703 455784.893464285 495209.055185189 +SMF 181 null null null null 431.100006103516 1 2687.56277618301 2681.91885979527 2695.04655533211 626018.511238096 627870.19044444 1098185.06247273 1083285.89668 637630.751882354 572209.137652174 1132190.90780822 1155748.944 +SMF 182 null null null null 433.200012207031 1 3817.96036198554 3794.29292621513 3846.696001292 440748.408937502 521059.4922 334316.0331875 175625.036906174 651416.806931034 491846.720054057 572395.802033898 402873.483583335 +SMF 183 null null null null 436.200012207031 1 3631.64832040241 3618.79750793039 3681.51486060936 348088.451999999 549100.694195122 80824.6557381868 185664.232928571 422171.667866667 327554.149896554 192791.13373325 157524.145071428 +SMF 184 null null null null 437.100006103516 1 3232.55140408885 3186.33409587649 3295.34588335389 811859.337935484 248526.352337118 22044.7317171134 22007.6195061056 599089.289018183 138344.7099 30040.2577810516 32524.1698340629 +SMF 185 null null null null 438.200012207031 1 3463.63085343519 3439.59277101256 3486.7233143465 2202296.01991304 2350784.49739286 2116423.23713846 2307345.88042106 2175815.3906087 2138083.1537727 1507406.99062499 707404.322440167 +SMF 186 null null null null 438.300018310547 1 4064.28279403253 4040.56206171741 4069.44162280265 1753162.66188 917756.232521743 427831.894719998 499154.415125003 178065.607833333 71554.8973922923 38063.8837774707 56087.1279274833 +SMF 187 null null null null 439.200012207031 1 3454.52449344379 3431.81193282195 3477.53002440226 558382.987919455 502783.887935337 588548.419585366 592156.121411765 575811.708952382 721812.721304351 393069.855602148 245852.110000003 +SMF 188 null null null null 439.300018310547 1 4066.86220841759 4064.28279403253 4069.44162280265 544712.658840001 298674.704909092 125081.495961998 71641.9515822862 15013.1606463955 19333.5598677918 11777.5409399562 19795.0085852233 +SMF 189 null null null null 440.200012207031 1 3471.67236768054 3447.38195028235 3484.77745741204 201080.384312498 279320.912045455 327308.180035861 394363.692525435 231314.825 497562.894040818 335620.560203389 268651.003694893 +SMF 190 null null null null 444.100006103516 1 2687.23419631941 2677.20743323407 2692.90944000134 378812.249208333 329715.015111112 221308.7664375 305130.436259999 188718.218510639 227930.934681819 228563.323844444 248363.141533334 +SMF 191 null null null null 444.200012207031 1 2899.46872614343 2885.92946413768 2904.33119203108 152677.335000001 101368.18 22451.1394170606 19060.3834301267 352558.508208335 52467.6252812213 191966.96013793 109659.892640712 +SMF 192 null null null null 445.200012207031 1 4055.21417329278 4040.56206171741 4064.28279403253 641099.468842104 69939.7947955122 84320.2922683078 83400.2801268396 380310.621290326 341326.407130436 95827.5210531334 82036.7749530738 +SMF 193 null null null null 447.200012207031 1 3873.21243863232 3844.35268342675 3887.61566910268 1699999.8155 6048905.2720909 2485589.13536363 2635741.62608001 1905046.52459615 5916902.22687233 2752099.66696365 3292140.24750002 +SMF 194 null null null null 448.200012207031 1 3873.99770841551 3842.7882328172 3887.61566910268 599984.362588236 1915382.469 700917.049102041 644301.906769235 565102.576481484 1869650.42660869 874398.016148146 1038538.21346939 +SMF 195 null null null null 448.200012207031 1 3405.1855169782 3376.17985325263 3421.98223985969 56061.1418185912 11683.5544060135 1213742.67414707 701470.412133338 45980.9766042724 11073.3606738776 1318522.59416216 1024111.38896 +SMF 196 null null null null 448.200012207031 1 3561.07770259887 3502.64668565317 3599.28110621969 136975.171862069 148419.97567742 25552.3458684631 27045.3744515785 26795.696359479 1795494.29883871 38022.0038270333 16729.4301844275 +SMF 197 null null null null 449.200012207031 1 3306.95776157734 3305.89088078101 3308.02464237366 107435.64537931 103455.871999999 84880.1007894804 123707.226824068 3834.35081632875 10996.637981453 26346.3868565244 9650.11088168325 +SMF 198 null null null null 449.200012207031 1 3403.6462160247 3389.03307600278 3418.25935604663 10497.1314989092 4578.63575644179 365548.220512855 142350.582468927 13530.2320198928 2540.31785854691 393167.336969695 270391.793424243 +SMF 199 null null null null 452.100006103516 1 3077.88971166837 3062.94029121491 3089.98183097148 2733283.4533889 2294951.3770909 866690.648531253 191044.915071429 3048268.64705265 3116995.52957574 1011974.78073684 672060.213000005 +SMF 200 null null null null 454.100006103516 1 3297.87814820709 3274.0253595886 3311.63808778857 12283448.9539048 9394144.45799999 4434743.81865515 3915354.41210714 13255955.9438571 5690042.21515797 2848274.00622221 3744877.62677776 +SMF 201 null null null null 455.100006103516 1 3301.04674269826 3277.15952956832 3313.1930034309 2974065.37371427 2605146.0891923 848705.246653843 349525.643806559 2872639.81751353 2056491.67226333 739866.79019156 703918.258333337 +SMF 202 null null null null 456.100006103516 1 3291.88901586842 3266.18881481036 3303.33579974895 421910.180500001 386696.921120003 124268.220067537 84775.3105714272 223201.067357144 416304.8691 271015.940310927 247907.105669708 +SMF 203 null null null null 458.200012207031 1 3044.74212345694 3033.24793565834 3052.67797282637 400260.418838709 685045.849419357 191614.381086701 375796.36922222 2023845.35169697 320371.645648532 421753.44790191 1486491.24137143 +SMF 204 null null null null 459.200012207031 1 3036.59858086302 3033.24793565834 3039.9492260677 110781.752062479 105283.269848709 57794.7555691973 96459.1536832164 734890.844575758 85678.8632074857 76931.816660552 493053.888444444 +SMF 205 null null null null 462.200012207031 1 3267.08103105386 3243.36117846934 3280.58261438072 84878.8595456842 124825.318208453 1133810.96985 1120631.54573333 42843.084221697 27697.304091814 1009041.3745641 968727.215166662 +SMF 206 null null null null 463.200012207031 1 3039.49970381592 3026.99585915543 3041.50638630634 null null null null 359114.290000003 null null 472331.632551724 +SMF 207 null null null null 464.200012207031 1 3469.3617968549 3433.96609738897 3485.19293467387 10953404.0775 11065448.5837576 6883901.71013635 6643876.64481818 9374989.11600003 4234241.3964 6031894.57530303 3372640.62449997 +SMF 208 null null null null 465.200012207031 1 3468.84937547489 3450.49915385742 3482.12992444747 2410704.31292307 3048050.79539024 1640182.45489655 1783893.19442424 2439473.28109678 2598683.07580001 1547584.21606061 1407209.03317647 +SMF 209 null null null null 466.200012207031 1 3474.28165174287 3445.82361934956 3494.11272341469 604738.933650008 782648.335238092 192372.93 492421.644105262 316824.1275 702932.741087608 475317.902270272 379004.131874998 +SMF 210 null null null null 466.200012207031 1 3703.0024333146 3675.14808569277 3718.44576112154 4369315.76470589 4310373.45164705 3402865.41324323 2723080.68910345 2170172.3833125 4794931.44410525 3039488.09448648 2556658.88584617 +SMF 211 null null null null 467.200012207031 1 3703.81333827007 3673.58347105203 3718.44576112154 1124806.6528125 1421765.40538298 911283.440085717 769993.06825 567111.495866665 1247414.38648572 866369.694794877 900483.485050002 +SMF 212 null null null null 468.200012207031 1 3139.07940116775 3118.63161155448 3147.54492702508 298321.064814814 271616.120196145 301794.751154039 310998.829777777 183341.71725 36328.162087766 258240.22425 536609.38026666 +SMF 213 null null null null 468.300018310547 1 2940.61884103107 2937.44598367325 2948.71799315036 163737.757354839 2579263.81743334 102970.060972278 172292.737949058 155888.147141704 483031.655217391 290800.823130712 247967.119873943 +SMF 214 null null null null 469.200012207031 1 3145.98379935609 3141.30460103744 3150.66299767475 40897.5778122854 23769.5470225975 102441.496713279 30654.4813925119 41670.682457476 null 89840.9089999993 338041.563391306 +SMF 215 null null null null 474.100006103516 1 3077.21490869616 3062.94029121491 3084.88780394533 253243.641115384 282711.052974359 83638.7919250223 85033.068330278 291206.743185185 332485.587999999 81799.7057617093 83517.4801728249 +SMF 216 null null null null 476.100006103516 1 3284.35768111729 3250.51326024116 3304.90161867511 766101.404452652 536488.502156247 285688.453506162 240949.791545455 835069.918909088 440966.91615 203952.361434912 177036.613901155 +SMF 217 null null null null 478.200012207031 1 3627.27320076554 3618.49540457216 3644.11199400711 1472855.18275 1303508.31648388 1644524.29417073 2068757.64102857 2287579.10938461 876909.340923079 1150817.30142847 1458531.37344827 +SMF 218 null null null null 479.200012207031 1 3622.57215134173 3616.92283605771 3645.33545538413 379542.645391306 226113.207802522 408237.204666667 509738.602178571 603637.679243903 108542.053030855 179131.113857144 575929.8636875 +SMF 219 null null null null 480.200012207031 1 3322.2997004434 3305.35104192424 3337.54631055094 23140381.2522668 35849787.3954595 16557456.0409053 25442440.4795296 25253970.4986668 33220546.6152195 29449538.800941 8193688.96000002 +SMF 220 null null null null 481.200012207031 1 3323.97275140292 3291.25896413745 3341.25926409741 5309215.40294736 3417510.33327641 5910911.55638709 6812492.91057814 2836316.47199996 9752124.58825777 6225611.36228574 5664031.92850945 +SMF 221 null null null null 482.200012207031 1 3608.62899130194 3534.62420489026 3630.99005328859 7554471.80024246 11629547.1581739 5599447.16611766 4536966.30243589 5694516.98116125 11354058.4454328 5567598.7927273 4903125.59560001 +SMF 222 null null null null 482.200012207031 1 3322.31362604988 3303.78535242876 3344.37808263467 810554.753571432 1810438.84438888 1298712.88125001 1363376.17351923 1699099.30694444 1752487.53115789 1661197.94635135 1337776.82748649 +SMF 223 null null null null 483.200012207031 1 3603.88503419389 3550.76134052801 3630.99005328859 2249140.22315626 2363692.5545625 1439272.89587879 1087976.52896774 2328679.75537931 2326145.14734286 1535537.44594285 1380318.00778948 +SMF 224 null null null null 484.200012207031 1 3608.68138247609 3582.85125979218 3625.99755911896 379033.361700001 481146.376257144 190878.376016238 169725.755205883 338201.098911764 509470.928457561 287748.334034761 257254.353446752 +SMF 225 null null null null 485.200012207031 1 3025.66928999064 3017.61682258665 3033.72175739463 84939.6306858504 135093.78736087 32172.1178572108 67604.0679762722 389023.602333331 58556.6893451586 55332.4339733581 344846.393541666 +SMF 226 null null null null 486.200012207031 1 3474.57273023863 3450.49915385742 3483.6617993187 313673.19052462 297854.424096512 58253.9949999996 122973.958095238 111191.685 290156.759742005 94703.9802352935 185142.865060463 +SMF 227 null null null null 486.200012207031 1 2801.26220289307 2794.92838726857 2804.03404134899 228115.887391305 55957.596614854 91874.5634915087 79911.7640178833 248955.854400002 63177.521264055 153072.157333333 86236.7519718557 +SMF 228 null null null null 488.200012207031 1 2882.5106362161 2873.37729836829 2886.88582395974 286362.665333334 200153.475958332 49965.8219741035 27339.9188284874 519397.704320003 21207.6005865836 167274.630095238 180615.163519999 +SMF 229 null null null null 491.200012207031 1 3413.61360510815 3378.95614556561 3434.36518464798 499162.734545457 352054.218558822 309759.640928571 415549.01445161 75150.6859212626 27091.2302583523 21545.3036740347 23380.3182257496 +SMF 230 null null null null 492.200012207031 1 3665.85012259152 3618.79750793039 3680.45150047089 679094.06050909 668618.349413797 496202.158588232 421734.810559998 309003.763178571 559630.24615385 485639.141641972 522769.98255 +SMF 231 null null null null 493.200012207031 1 3667.10221840055 3659.22874251943 3674.97569428167 625720.298210527 613354.887535714 124894.753396349 173473.682467798 116432.762903618 212201.888731218 132933.394295111 186528.457845942 +SMF 232 null null null null 494.200012207031 1 3427.92274085323 3413.17768921275 3445.60171094796 1743811.96666667 1402805.175625 494253.748216214 510214.50548718 1595601.80785185 1773860.63070967 649170.99405 434323.348799998 +SMF 233 null null null null 494.200012207031 1 3128.82303052898 3087.94042248346 3157.65953235004 102208.584999999 768789.116952382 465779.770346562 554941.419267042 608108.1085625 996955.928495579 532012.198186047 663160.349746628 +SMF 234 null null null null 495.200012207031 1 3427.72692538432 3414.73042936029 3438.50227069763 416789.072761899 115302.678728548 33951.540035296 118933.368399999 405541.76 348959.717140083 29455.07887899 78746.0839618326 +SMF 235 null null null null 496.200012207031 1 3381.09285019652 3313.1798756791 3455.9915564296 33731692.7386667 13592553.5504546 10186294.7268085 6458021.34119998 36141998.6104241 32749288.1560002 10354256.1960851 9355532.71148938 +SMF 236 null null null null 497.200012207031 1 3391.7515142275 3313.1798756791 3454.44913501872 9239784.02703031 11389525.6754713 2819764.58893616 5873591.5659697 9654551.58569693 9213380.49028204 8684450.29229265 2372220.32043751 +SMF 237 null null null null 498.200012207031 1 3430.47188227179 3378.95838435147 3454.44913501872 1781831.58180646 1661185.8510625 1622247.02613158 1222171.4712381 1837432.27365517 1681226.60084848 1622188.94933333 1439504.31726317 +SMF 238 null null null null 498.300018310547 1 3917.21223653013 3914.48624884862 3919.93822421164 6189.85818125147 8475.8396162 16948.4595402381 25871.8363669421 283890.541333333 767.896580612992 16618.4410936434 158779.700933334 +SMF 239 null null null null 500.100006103516 1 3045.18501291483 3036.37385754252 3045.18882897058 99018.0268000007 124448.320148372 26831.4108688688 40276.8116670292 179084.008454546 267255.617533334 46448.1808365897 52016.0615352144 +SMF 240 null null null null 502.100006103516 1 3170.90528922708 3151.98926630385 3190.16542715727 20072586.1578181 15073454.8812308 9197121.02775003 2943401.9200001 19750291.8967058 19236678.8790857 8880943.89600007 6663764.24909093 +SMF 241 null null null null 502.200012207031 1 3025.94021734574 3019.1801242914 3039.76853012998 645477.767592079 1185957.74741861 565123.965035233 704727.795258951 3929393.58564705 542320.995840564 1159480.22519591 2463142.46933333 +SMF 242 null null null null 503.100006103516 1 3170.90528922708 3152.64838035102 3183.45278769348 5456090.00690907 5100640.94541177 2225938.69384617 2135875.0029091 4546567.8576 5820114.65811427 1864551.79826088 2264904.71251785 +SMF 243 null null null null 503.200012207031 1 3021.77851996619 3017.61682258665 3025.94021734574 138244.594870341 259676.44512137 93890.6548089922 143679.224284878 982271.672900002 123038.164296095 249599.356000157 854460.038969697 +SMF 244 null null null null 504.100006103516 1 3265.40742199107 3245.80975881 3280.28944532276 6301575.43976373 2645572.34438095 1353948.59418182 1643044.1349 4702161.68653844 4282863.53575758 706941.799999995 1353212.4108125 +SMF 245 null null null null 505.150009155273 1 3264.16328954131 3244.24189943166 3282.64642602741 1398332.47095653 493526.828785717 305133.050321718 345743.87262726 1198020.98795833 1399658.98057141 206943.079999999 384735.47396296 +SMF 246 null null null null 505.350006103516 1 3746.54021963964 3739.37974307506 3756.75762456541 92463.1775555551 793108.213333323 3016.83067216424 61209.1281965088 4888.38303359946 234145.980153016 112313.700399999 7192.08488674449 +SMF 247 null null null null 506.200012207031 1 3404.37123422775 3383.63236308066 3438.64730017598 5269697.35200003 4103919.58550001 2251869.14765217 2282981.78790625 5896503.29093878 5701032.883875 3047279.02303845 1820555.53835294 +SMF 248 null null null null 507.200012207031 1 3402.05223013101 3374.28169241191 3417.33342638347 1671107.14566667 1022700.92536364 733797.592106386 533982.987187502 1825496.73983334 1739654.33929412 872127.254888887 549545.333714287 +SMF 249 null null null null 507.200012207031 1 3030.63262109516 3017.61682258665 3033.70932945735 275162.975464285 217099.763571596 112387.132287376 190250.868474576 1152192.62363334 114891.519021944 251663.33261578 751335.926421057 +SMF 250 null null null null 508.200012207031 1 3531.13157572293 3511.26002295511 3544.8828697131 49661401.4337073 46048727.1929756 25392144.2808205 21821538.1609143 52245997.8361905 54626653.4765715 26703260.328421 20754582.3915789 +SMF 251 null null null null 508.100006103516 1 3383.21928299496 3374.34441021057 3403.38013328563 173428.604999998 261890.003988308 999019.729826085 268131.190205526 154521.027430945 137558.303384616 381788.253332424 312891.831198134 +SMF 252 null null null null 509.200012207031 1 3529.80936097217 3511.26002295511 3543.33132739397 13787716.820027 13403970.0789361 7299715.81446153 6343080.66747367 14644384.6293333 15461521.3851429 7780256.79253845 5878473.04800001 +SMF 253 null null null null 510.200012207031 1 3538.03419020554 3522.15852333516 3613.52131102708 4208288.66356758 4030808.87602469 1506592.04600001 1346006.87821621 4131092.43733334 4148946.20957896 1681612.03753334 1454738.01882353 +SMF 254 null null null null 510.200012207031 1 3785.7482149567 3737.97061196201 3804.68945115219 2314548.99327273 10501569.5924102 2922780.560875 2640344.36045453 2754226.80130769 17098969.6691961 3301459.91684212 2769258.87557896 +SMF 255 null null null null 511.200012207031 1 3784.96315425535 3737.97061196201 3804.68945115219 638036.866842104 2901757.54755554 928505.684093019 700423.998702703 756442.486588237 4688806.10326318 927708.62473684 789947.877176472 +SMF 256 null null null null 518.200012207031 1 3430.45894397078 3380.51667301813 3520.36780589819 360713.14844444 1248671.4559375 915084.580539998 621511.95530769 781933.655999993 1047333.09161764 862877.265882354 696587.36457143 +SMF 257 null null null null 519.200012207031 1 3442.99774574132 3398.82112826513 3451.13550031481 100188.170000001 222939.044028012 149162.17199983 167673.924863636 114077.427663825 115683.447067833 208773.091125001 101801.816668609 +SMF 258 null null null null 520.200012207031 1 3240.58853057607 3184.77316834154 3305.41411907182 916949.611578945 950032.610264703 819548.054742859 899251.568999999 587760.964814814 798851.046560005 592997.751965515 911344.038256412 +SMF 259 null null null null 521.200012207031 1 3217.55489437018 3186.33409587649 3233.96517513353 354372.294916668 386025.910830523 238038.659961093 234557.441473685 154300.036363636 422809.03467263 213166.377559701 266946.951157895 +SMF 260 null null null null 522.200012207031 1 3405.1692114408 3342.97537984552 3472.92405070578 18904503.8497778 24272233.5275789 19209625.9841951 18644803.7900488 18937068.8482051 17485429.004108 18984111.8232381 18301276.476 +SMF 261 null null null null 523.200012207031 1 3404.39218752077 3342.97537984552 3472.92405070578 5647834.4217778 7142730.9813243 5583680.68748721 5508598.9608 5609873.09136845 5189335.7176216 5447069.3715122 5392950.99753845 +SMF 262 null null null null 524.200012207031 1 3677.23644527204 3611.79932994801 3702.60933963047 38137510.670439 29480848.384 3223702.90673077 2218503.6213173 24387721.8149999 31207781.4743415 3933023.52635217 2991841.64788678 +SMF 263 null null null null 524.200012207031 1 3762.63278762717 3752.09666889308 3764.20232003173 3769898.52629105 9849012.37940206 26879693.2173914 17153197.7173999 603461.342875962 4643709.63026701 23937591.1562791 22981794.9748333 +SMF 264 null null null null 524.200012207031 1 3417.93450472092 3342.97537984552 3472.92405070578 1110931.83835715 2394794.54420936 1593754.8923721 1335818.76338401 1091622.37653334 111316.885 1990843.33014446 1725938.89284425 +SMF 265 null null null null 525.200012207031 1 3761.85029435753 3753.66167603891 3764.20232003173 882542.323545598 2438799.2533952 8028514.90852177 5105844.93714283 149072.852425966 1132595.51763265 6391121.19955555 6948554.46735553 +SMF 266 null null null null 525.200012207031 1 3679.05893214689 3611.79932994801 3702.60933963047 11193822.87345 8747116.43702439 940605.180534194 635741.064688867 7356007.03818179 9388648.93709304 896211.285026217 903796.065844994 +SMF 267 null null null null 526.100036621094 1 3181.79855423811 3164.48034601869 3197.38380128484 20839108.374 21334966.9822105 12812724.8884211 10327757.4816843 23980463.7555 25473440.5755428 5705299.7376667 9976168.56516132 +SMF 268 null null null null 526.200012207031 1 3763.6260664982 3755.22663333115 3766.90569272619 404796.536429883 915671.327450353 1698206.28124528 992886.319058822 71065.6602733753 639033.570338487 1586925.77856 1516266.89833962 +SMF 269 null null null null 526.200012207031 1 3683.74813743937 3657.93639651887 3705.68884572918 2491296.63730769 2245133.43015685 325854.007835573 236196.543685991 1649596.00012499 2203285.28025 440450.110940265 269693.458961028 +SMF 270 null null null null 527.100036621094 1 3187.2682458824 3164.48034601869 3202.0688043612 4980095.67875758 6066059.88018747 3779121.67411766 1163866.02174304 6881575.30974192 7171190.57573334 1195978.12517646 483096.719999997 +SMF 271 null null null null 528.100036621094 1 3241.99001721938 3171.40482390247 3277.15952956832 1922567.86643479 1754073.74628572 560367.151797934 262869.429176473 2736887.2601 1236347.41119998 150198.595626189 572959.840270008 +SMF 272 null null null null 529.100036621094 1 3247.02583032233 3235.71201709203 3256.89027484591 597999.919342106 520823.132545456 139494.955769635 64469.6313520804 515402.822072951 249087.700571422 285814.071674612 90503.0177892257 +SMF 273 null null null null 530.200012207031 1 3356.95269996648 3338.26529036427 3369.25873099577 23891201.6935141 20321598.2933333 10194703.3525162 10236459.4864 18985615.4707691 24658066.043625 11117105.1674838 9512218.78639997 +SMF 274 null null null null 531.200012207031 1 3357.7338750048 3339.83449051186 3369.25873099577 7367027.88070583 6409195.30245716 3202646.72748387 3031916.17679999 7150138.4049375 7503001.76812122 3390530.78232256 2886898.24719999 +SMF 275 null null null null 532.200012207031 1 3359.29412952402 3347.34495703622 3368.68869272542 945774.203394177 1431309.08021951 492886.447238096 626751.940941175 1313845.88558449 1336229.76127273 692703.935 431190.722769234 +SMF 276 null null null null 532.200012207031 1 3491.37485601811 3472.32059157866 3501.95668117546 5202245.50862295 4131471.1299 1014941.03505882 861218.26409804 5615933.998 5501523.82185 1024999.09696296 638830.348100001 +SMF 277 null null null null 532.200012207031 1 2872.16980593127 2859.2552849962 2875.79764262343 324106.332952381 294300.322333337 47200.4537157714 54055.9995976919 634191.273692305 94776.3979113825 324140.429833335 228263.257541668 +SMF 278 null null null null 533.200012207031 1 3490.21779277115 3470.76266244245 3500.07412054484 1566901.04666072 1323647.33625862 351350.861840147 261186.548608696 1540325.71042373 1670747.20844445 428764.154250001 204051.334199999 +SMF 279 null null null null 533.100036621094 1 3367.65820641135 3366.62772009728 3368.68869272542 188228.739578947 165583.366971428 39835.7306651059 98893.1462987485 66085.0465841237 37716.8968711589 6447.04841975434 39327.1553765953 +SMF 280 null null null null 534.200012207031 1 3592.24531362101 3571.95664669981 3604.07780227947 2904717.00596551 2380012.33174194 757365.136000005 710486.52 2462561.87906666 3190321.44209091 944092.765540537 544762.930173908 +SMF 281 null null null null 534.299987792969 1 3867.53644299534 3838.09503184268 3881.13792812593 267764.852742858 1971366.34069566 1455759.21671112 1461311.67902222 128478.07331818 1292011.65355319 1528979.73626087 1842801.43344 +SMF 282 null null null null 535.200012207031 1 3594.93999990656 3570.40120088297 3604.07780227947 1009000.23900001 721695.190074072 226341.879000001 246162.04867647 798364.824399998 1003527.87806897 271131.699642858 148585.722826214 +SMF 283 null null null null 535.299987792969 1 3862.04377722799 3839.07778974498 3869.78432906676 139352.467920682 1086730.404 438204.374838515 423664.0015 66829.6088617488 565445.127244685 490185.632933332 645323.763809524 +SMF 284 null null null null 536.200012207031 1 3721.80410687619 3697.11770641376 3734.33434508124 8573597.73025 7801696.39227777 2693564.57361289 2576439.35249999 5071496.11365517 13406305.36485 2880390.00853334 2269405.10664515 +SMF 285 null null null null 536.200012207031 1 3572.0821230746 3557.24167247194 3585.3033768406 490516.36305 814885.098296299 1002083.91993749 808678.781888885 533991.020359507 1174815.42564706 1143738.63131249 365032.41225 +SMF 286 null null null null 537.200012207031 1 3721.80410687619 3697.11770641376 3732.89430813691 2680309.144625 2539205.34141463 814701.861870962 766915.443107142 1426603.15937838 3968183.80851431 716996.907422225 719030.688903221 +SMF 287 null null null null 538.200012207031 1 3718.2966484038 3697.11770641376 3734.50056773865 542470.801064515 555813.901800002 174615.030747138 192498.123897994 337188.484962962 836450.425046508 120386.356562514 160110.133107057 +SMF 288 null null null null 538.299987792969 1 4132.80760681696 4106.39787696577 4145.29158284596 259712.287448275 152797.21 63066.932118775 61466.0063062243 122188.057928569 188932.290411167 30314.0015584593 88808.3413611721 +SMF 289 null null null null 544.200012207031 1 3219.30411918283 3181.65090022283 3282.50701931497 3572826.04974194 4065577.63885936 2618594.30860606 2661506.20941936 3479746.46335485 3669512.398125 2801451.06654546 2338132.46479999 +SMF 290 null null null null 544.200012207031 1 3428.7049373576 3413.17768921275 3442.53613104336 437537.211428572 709642.11788571 519882.633898173 559326.087911533 340822.990777779 620956.466837836 421742.955593371 464773.229724127 +SMF 291 null null null null 545.200012207031 1 3214.71791750517 3181.65090022283 3234.23083930764 1155765.44253334 1062630.4216 775938.2658125 697907.327172414 1078595.37123333 1205904.85529032 712530.1281875 722801.446741934 +SMF 292 null null null null 546.200012207031 1 3203.51651254293 3187.89545448334 3219.30411918283 651305.331926532 704054.827151512 324585.142605325 412118.101229109 399274.396941174 926053.375333335 324910.060178571 380442.967372385 +SMF 293 null null null null 546.200012207031 1 3677.42980575154 3672.44824728023 3691.45473909493 644849.592799997 808434.861600005 106130.456051433 30364.0223982205 76559.836150408 1189763.0925926 75799.3134872032 64478.0100347257 +SMF 294 null null null null 546.200012207031 1 3017.40555583666 3005.10361010702 3059.91754191609 530356.63548387 1254096.9931 413206.693967742 231652.43818436 4019105.36000002 184219.206972429 453299.046260866 2886893.17430233 +SMF 295 null null null null 547.200012207031 1 3011.40621278179 3001.9736372501 3025.94021734574 178119.270974877 238739.088625001 99479.8234918569 138727.086567867 1338510.44295652 113168.316165606 124362.725 870971.300583338 +SMF 296 null null null null 547.200012207031 1 3678.99951401241 3672.44824728023 3691.45473909493 160216.930212121 214465.769142857 38622.9475907686 34500.8746721468 24549.1982356472 331413.771629629 38896.9957116368 40422.9086213233 +SMF 297 null null null null 547.299987792969 1 3010.87484067804 3010.38845154371 3011.36122981236 23166.3159692049 11726.3691704535 20517.332732694 36382.4204338958 376213.480000013 6858.8836584514 113542.979222222 265794.876518724 +SMF 298 null null null null 548.100036621094 1 3184.91272308531 3172.46137359498 3202.09183394867 977494.782081109 917946.665076925 715964.038461537 608623.681052635 941242.048048756 1003830.59969399 517873.286535714 596566.27602564 +SMF 299 null null null null 548.400024414062 1 3518.82150329834 3518.4383214329 3529.37720282166 173092.129999998 26927.1716006398 101871.860200002 32159.5123756839 null null 27744.7199519448 492892.055000006 +SMF 300 null null null null 549.299987792969 1 4126.0101332483 4034.42728519905 4139.03258284596 505749.149541669 734054.599384617 70415.6326805448 137963.262818182 944288.402538458 438404.195047626 52327.2864349857 126943.409999999 +SMF 301 null null null null 549.400024414062 1 3737.70564354279 3716.80713018538 3741.13930292455 122748.835378449 1750741.09647999 9630.75707901573 30652.1223684167 169811.395316097 685317.373538463 151399.475333334 64154.3600523133 +SMF 302 null null null null 550.200012207031 1 3662.01911193376 3576.62418818161 3724.8192800405 7282376.53659254 8186726.401 4841022.47333337 4447630.49936841 3882517.2990968 7629725.84676925 5001711.77497958 1921149.71840001 +SMF 303 null null null null 550.299987792969 1 3626.35992411186 3617.23081477703 3644.11199400711 970695.634111164 888606.999999991 1486866.25047586 1202483.99781741 308179.8 2072739.0553421 2147427.55665249 4807627.86210527 +SMF 304 null null null null 551.200012207031 1 3697.89310415904 3657.56944694003 3723.22813593857 2306266.53428573 2557151.52870967 1563817.27272222 1132745.232 651789.59363341 2667460.16533335 1108973.81697873 1448593.47657143 +SMF 305 null null null null 551.200012207031 1 3013.49782955292 3005.10361010702 3016.53961819922 75422.1908760613 171349.055354129 66507.8257037551 137932.896105263 1013500.473125 66419.0276863676 120551.000833067 565531.588965517 +SMF 306 null null null null 551.200012207031 1 3594.34588448485 3571.95664669981 3626.35992411186 2195535.67844443 2089108.50161112 463330.405731184 596162.468294734 1941012.12746341 2460265.71975 356225.14692176 1775043.79932558 +SMF 307 null null null null 552.200012207031 1 3660.20698957777 3659.22874251943 3674.97569428167 583795.946090909 607070.221285711 395671.739453486 359022.362696223 246851.348427766 535770.31584 356333.62411287 287748.222887148 +SMF 308 null null null null 552.200012207031 1 3009.29523587021 3003.538719282 3015.05175245841 70510.3131387625 125617.524998007 75515.1363900181 81483.3842708268 318754.347359376 35158.2602372681 85896.1639116005 173379.399724138 +SMF 309 null null null null 552.299987792969 1 3840.92698129633 3823.34080529859 3886.01265337464 587303.344564106 3588409.89835714 150271.606707624 118106.025150103 483830.896650007 501640.983428569 362343.561428569 365289.779999998 +SMF 310 null null null null 554.150024414062 1 3225.0729998358 3216.16225576044 3229.46459868558 274068.505921064 167301.804180553 339272.253600001 227993.876708517 62232.2249999999 115856.950000002 304223.612952377 176600.855849456 +SMF 311 null null null null 556.200012207031 1 3452.19961349762 3427.14892609059 3465.45299954805 307742.796416668 98224.0950000015 43884.4076632517 75027.6925017265 404234.019933334 373827.713821428 86905.1184256179 32976.6488319594 +SMF 312 null null null null 556.299987792969 1 2913.96915103503 2905.95164981376 2920.2025780039 256944.235153846 2615239.64024244 38241.4874820858 156689.157566667 205412.526583333 524045.4168 271609.734360656 141829.194879999 +SMF 313 null null null null 556.299987792969 1 3114.78092905072 3106.68790952755 3118.63161155448 159400.010181818 5457.19433919387 7499.98931812513 65240.291696768 69553.2950000002 17056.0654514542 19270.8058868493 637580.980384613 +SMF 314 null null null null 557.200012207031 1 2918.34339416184 2906.14149551689 2921.78805252301 179723.035000001 418585.624615386 16158.5244159086 6413.5267802945 44693.8598558098 74057.7578181816 40842.5046326936 30998.7127714234 +SMF 315 null null null null 558.200012207031 1 3396.73386694905 3389.45382407535 3406.47876523884 32600.4907041432 36646.5596260728 171177.85809091 118737.930172535 54124.4701207573 201021.159969697 208790.171290323 64086.2060124646 +SMF 316 null null null null 558.200012207031 1 3721.28556123277 3705.78725649645 3728.06024350791 179141.31037037 153854.257224999 69893.8476504218 65474.4895791403 36321.402769595 269930.40075 97917.1307686465 96272.7184630533 +SMF 317 null null null null 558.200012207031 1 3534.76438878477 3523.71614080583 3549.52765413944 600380.056051281 312858.5442 248356.468248407 214765.608148008 464304.863941179 564837.4035 197958.925227271 79791.5250000002 +SMF 318 null null null null 560.200012207031 1 3649.26461219636 3639.82424462227 3658.75124426408 368669.881655173 306071.260965517 53335.5951553233 56864.2601484555 106269.732631925 360237.449764705 72003.3772158789 27112.9623423731 +SMF 319 null null null null 560.200012207031 1 3089.65972913163 3086.37799749128 3092.94146077197 117834.114650996 75603.5014626999 23054.6695204272 35232.8949065341 411406.479000001 51599.2467283219 31361.4890663892 158782.689894736 +SMF 320 null null null null 562 1 3519.81731689126 3517.27523150536 3524.97086498763 60263.4549999996 228673.971809524 26896.1706732863 null null null 13216.5946783377 140403.366791667 +SMF 321 null null null null 564.200012207031 1 3463.93155830662 3430.25708182708 3495.88881772625 608614.719166664 330846.582857143 386480.450071428 310735.591833025 648006.67125 639933.700074073 270216.347739131 471312.275342854 +SMF 322 null null null null 564.400024414062 1 4148.21208038563 4137.60667872997 4148.42158284596 143228.774068966 154437.330000005 55118.4285793291 81892.3690332087 59601.2061466505 162757.231624997 23690.8906952224 107575.052498817 +SMF 323 null null null null 566.200012207031 1 3582.42893352893 3557.96215225491 3596.24200371623 827948.282156253 230552.142582826 1058936.87272223 865802.436736847 794967.926399998 855048.780615386 738250.045411766 742954.957945949 +SMF 324 null null null null 568.200012207031 1 3225.59449880139 3187.89545448334 3285.63531303583 4649813.96633871 3756305.25232261 3495986.24761904 2675722.3763871 5865965.78285715 6868641.09836064 2465652.89904761 2337576.99590322 +SMF 325 null null null null 568.299987792969 1 3621.30662595309 3614.71907228219 3634.17781595109 370101.533857142 1962089.62285716 160606.792956522 120888.465120001 154596.910862775 262141.754720002 323391.771481484 581177.165629628 +SMF 326 null null null null 569.200012207031 1 3225.59449880139 3187.89545448334 3244.45042401506 1244257.1003077 1303567.78403227 1029813.25661111 882395.643878784 1667236.0137931 1941376.91316128 692553.701 691109.45275 +SMF 327 null null null null 570.100036621094 1 3087.81756467666 3042.6254759541 3112.21187622907 1101942.29958621 1242334.58610344 7835.58668818167 796.520757246574 1666950.84943334 2170397.05451854 18452.7308762123 14425.8759367991 +SMF 328 null null null null 571.100036621094 1 3087.85407292917 3042.6254759541 3110.60556178354 411394.333777777 372640.161481483 11637.1783693111 8907.40977557328 510593.072678571 712723.472960005 16964.5233730707 22473.9330662212 +SMF 329 null null null null 571.400024414062 1 3722.93155574103 3713.66174106657 3728.06024350791 133661.955 2058833.66573076 41559.8351887194 46655.3271637877 2102.9729242271 604281.387999997 172703.184515057 95462.5715401864 +SMF 330 null null null null 572.200012207031 1 3413.48379115057 3371.16233333752 3432.81818143753 362386.317125003 357081.618080002 301669.810961537 358550.22940741 331081.98859259 447320.747785716 296563.862071431 293975.494769232 +SMF 331 null null null null 572.200012207031 1 3667.94623738065 3658.64053181166 3728.60103266573 229581.565411765 1051955.94913044 59057.6455346286 62621.9112963175 3922.45172487856 1394727.71207408 64416.5561525884 134672.088 +SMF 332 null null null null 575.400024414062 1 4059.65871873596 4039.02828877294 4126.6520120633 347363.557961537 87441.6147391311 10084.4552042854 13623.6513356291 388626.016107142 309013.542583335 6596.21264522431 16189.8405375827 +SMF 333 null null null null 576.25 1 2862.09888109429 2848.27244739 2868.44414780465 231128.428695653 270426.051913045 66989.5124621859 53298.4736453775 598024.424639997 152542.516346584 361095.316758619 140139.489999999 +SMF 334 null null null null 578.299987792969 1 3817.75993614702 3806.09911967363 3865.72488411429 796017.712000002 4465.36605106431 17545.0393795309 44999.2104695603 2141698.36425424 305593.170312503 57245.20244437 45308.0539779496 +SMF 335 null null null null 579.100036621094 1 2790.3079421682 2780.96147876479 2796.76482661395 1669436.80580769 815078.116800005 745546.696562607 408578.143923357 1804347.44515384 761428.580804878 522783.721000003 312320.619642859 +SMF 336 null null null null 579.299987792969 1 3820.30987382533 3813.06685864378 3853.23835868095 283984.083809524 653532.103304342 24983.0460578412 31567.945734748 254387.620000003 534138.440347825 78061.4066869764 97065.5754074301 +SMF 337 null null null null 579.400024414062 1 3517.27523150536 3491.00683206777 3518.82150329834 233580.914315789 1446612.0965 30845.6646464637 21216.7275798604 170834.34957895 192429.699534621 76826.4539166667 121135.695 +SMF 338 null null null null 580.100036621094 1 2790.33189914541 2782.37606315405 2801.50463757274 497272.759565219 179140.854999999 346995.720333335 200231.045785715 538460.482079997 326947.586608697 174800.727863637 226137.644307693 +SMF 339 null null null null 580.200012207031 1 3584.69406153601 3557.96215225491 3602.50847339414 532281.757436462 166011.237230408 574073.631529408 496528.665727273 525973.477125002 454788.369103448 380361.439714285 476422.32439394 +SMF 340 null null null null 580.200012207031 1 3407.50002487815 3358.67146897392 3421.98223985969 549712.78583252 216945.403104962 782054.278315787 602017.50121194 696934.833 416488.64025 657645.099279067 689866.117106384 +SMF 341 null null null null 590.299987792969 1 3005.72555368926 2991.01309749101 3024.85334964826 433657.276956523 1571252.33138461 125751.345789475 451061.430352942 4741323.17120001 211182.540571428 843401.225800001 4157260.62157574 +SMF 342 null null null null 591.299987792969 1 3005.55422584811 2992.57938855212 3005.96464703048 142292.264511175 441170.950500002 22146.1092189612 121337.106000001 1834677.02934376 91385.8352160639 252877.33747059 1504443.7857647 +SMF 343 null null null null 592.150024414062 1 3021.8439709067 2981.6132754803 3107.61675013994 173415.503238095 94104.6924228139 27591.6860894552 54708.5110993946 215762.120608697 214160.291653848 40525.1483667048 201417.474772728 +SMF 344 null null null null 593.400024414062 1 3719.18051094047 3714.98399664897 3728.06024350791 210828.499050003 880168.519999991 38310.5145858073 121809.323842898 4546.41370231051 472702.397471699 249779.869666665 203290.370000001 +SMF 345 null null null null 594.200012207031 1 3415.18581211406 3358.67146897392 3425.0798714173 169222.15305101 69479.0033867917 272728.400714285 218262.803691095 231736.963862069 139525.002312851 201916.561458799 296006.361911766 +SMF 346 null null null null 594.299987792969 1 3615.0499611225 3605.92252335881 3653.0774480609 575200.048499998 391112.057769234 1158670.43609091 271184.713363637 221061.948262435 68585.8587676271 566005.013161292 2507573.8671923 +SMF 347 null null null null 595.25 1 3010.38876191368 2992.57938855212 3014.16343668004 117704.386421052 316155.893850002 82590.6810730686 107865.158268814 1007151.89818182 73695.5790878935 72463.4448 251650.891388892 +SMF 348 null null null null 596.200012207031 1 2997.59820855298 2992.57938855212 3002.61702855384 40050.6761804315 44719.2094055916 13485.3113341222 24293.5697182254 292130.7627 10235.4110078183 34966.2811175176 173259.851520001 +SMF 349 null null null null 596.299987792969 1 3818.98152582521 3811.67799249735 3835.78300791762 170253.18495652 3014675.02683521 189056.915703703 135135.248543297 16153.8279411685 289117.527500001 256418.827586657 228201.287294116 +SMF 350 null null null null 597.400024414062 1 3821.10045976388 3817.96036198554 3825.13590757913 29002.7085855451 1186500.84141178 25284.6510162862 15863.9877837013 2882.45021585662 60541.9255441643 100881.278499999 162336.069913042 +SMF 351 null null null null 599.299987792969 1 4070.45170173183 4042.09589656443 4123.5220120633 798856.451441174 582892.913580635 61085.2307038407 58614.2545498523 897286.005000001 707685.939314288 69763.4747821433 136118.760726733 diff --git a/validation/src/test/java/org/lifstools/mztab2/validation/ExampleFilesValidationTestIT.java b/validation/src/test/java/org/lifstools/mztab2/validation/ExampleFilesValidationTestIT.java index 440eff27..0525a750 100644 --- a/validation/src/test/java/org/lifstools/mztab2/validation/ExampleFilesValidationTestIT.java +++ b/validation/src/test/java/org/lifstools/mztab2/validation/ExampleFilesValidationTestIT.java @@ -94,7 +94,7 @@ public class ExampleFilesValidationTestIT { name = "{index}: semantic validation of ''{0}'' on level ''{1}'' expecting ''{2}'' structural/logical errors and ''{3}'' cross check/semantic errors.") public static Collection data() { return Arrays.asList(new Object[][]{ - {XCMS_EXAMPLE, MZTabErrorType.Level.Warn, 1, 0}, + {XCMS_EXAMPLE, MZTabErrorType.Level.Info, 1, 0}, {LIPIDOMICS_EXAMPLE, MZTabErrorType.Level.Info, 0, 8}, {MTBLS263, MZTabErrorType.Level.Info, 0, 15},