{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "HUPO-PSI Peak annotation specification", "description": "Annotation of an individual peak in a mass spectrum.", "type": "object", "additionalProperties": true, "required": ["analyte_reference", "molecule_description"], "properties": { "analyte_reference": { "description": "Label of analyte to which this annotation belongs", "oneOf": [{ "type": "integer" }, { "type": "null" }], "default": null }, "molecule_description": { "description": "Description of the molecule or molecule fragment that this peak is annotated with", "type": "object", "oneOf": [ { "$ref": "#/definitions/peptide" }, { "$ref": "#/definitions/internal" }, { "$ref": "#/definitions/precursor" }, { "$ref": "#/definitions/immonium" }, { "$ref": "#/definitions/reference" }, { "$ref": "#/definitions/named_compound" }, { "$ref": "#/definitions/formula" }, { "$ref": "#/definitions/smiles" }, { "$ref": "#/definitions/unannotated" } ] }, "neutral_losses": { "description": "Any additional gains or losses of chemical groups defined by formula or by name; multiple may be specified", "type": "array", "items": { "type": "string" }, "default": [] }, "isotope": { "description": "An isotopic peak offset from the monoisotopic peak", "anyOf": [{ "type": "integer"}, { "type": "array", "items": { "anyOf": [ { "type": "integer" }, { "$ref": "#/definitions/isotope_specification" } ] } }], "default": [] }, "adducts": { "description": "The charge carrier(s) for the given annotation", "type": "array", "items": { "type": "string" }, "default": [] }, "charge": { "description": "The charge state of the ion generating this peak; this value is unsigned", "type": "integer", "minimum": 1, "default": 1 }, "mass_error": { "description": "Error between observed and theoretical mass", "oneOf": [{ "type": "null" }, { "$ref": "#/definitions/mass_error" }], "default": null }, "confidence": { "description": "Number defining confidence in peak annotation", "oneOf": [{ "type": "number" }, { "type": "null" }], "default": null } }, "definitions": { "series_label": { "description": "Type of ion being described, specifies the required molecule description keys", "type": "string", "enum": [ "peptide", "internal", "precursor", "immonium", "reference", "named_compound", "formula", "smiles", "unannotated" ] }, "mass_error": { "description": "Error between observed and theoretical mass", "type": "object", "required": ["value", "unit"], "properties": { "value": { "description": "Mass error value", "type": "number" }, "unit": { "description": "Mass error unit", "type": "string", "enum": ["ppm", "Da"], "default": "Da" } } }, "peptide": { "description": "Canonical peptide fragment ion", "type": "object", "required": ["series_label", "series", "position"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["peptide"] }, "series": { "description": "The peptide ion series this ion belongs to", "type": "string", "enum": [ "b", "y", "a", "x", "c", "z", "d", "v", "w", "da", "db", "wa", "wb" ] }, "position": { "description": "The position from the appropriate terminal along the peptide this ion was fragmented at (starting with 1)", "type": "integer", "minimum": 1 }, "sequence": { "description": "A ProForma 2.0 formatted peptidoform sequence describing the ion, which may be useful for contaminants or de novo sequencing", "oneOf": [{ "type": "string" }, { "type": "null" }] } } }, "internal": { "description": "Internal fragment ion", "type": "object", "required": ["series_label", "start_position", "end_position"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["internal"] }, "start_position": { "description": "N-terminal amino acid residue of the fragment in the original peptide sequence (beginning with 1, counting from the N-terminus)", "type": "integer", "minimum": 1 }, "end_position": { "description": "C-terminal amino acid residue of the fragment in the original peptide sequence (beginning with 1, counting from the N-terminus)", "type": "integer", "minimum": 1 }, "sequence": { "description": "A ProForma 2.0 formatted peptidoform sequence describing the ion, which may be useful for contaminants or de novo sequencing", "oneOf": [{ "type": "string" }, { "type": "null" }] } } }, "precursor": { "description": "Precursor ion", "type": "object", "required": ["series_label"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["precursor"] } } }, "immonium": { "description": "Immonium ion", "type": "object", "required": ["series_label", "amino_acid"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["immonium"] }, "amino_acid": { "description": "One-letter code of the amino acid represented by this immonium ion", "type": "string", "minLength": 1, "maxLength": 1 }, "modification": { "description": "An optional modification that may be attached to this immonium ion", "type": "string" } } }, "reference": { "description": "Reference ion", "type": "object", "required": ["series_label", "reference"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["reference"] }, "reference": { "description": "The name of a reference molecule or ion defined in a registry", "type": "string" } } }, "named_compound": { "description": "named compound ion", "type": "object", "required": ["series_label", "compound_name"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["named_compound"] }, "compound_name": { "description": "The name of the named compound ion being marked", "type": "string" } } }, "formula": { "description": "Ion described by chemical formula", "type": "object", "required": ["series_label", "formula"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["formula"] }, "formula": { "description": "The elemental formula of the ion being marked", "type": "string" } } }, "smiles": { "description": "Ion described by SMILES molecular structure", "type": "object", "required": ["series_label", "smiles"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["smiles"] }, "smiles": { "description": "The SMILES definition of the ion being marked", "type": "string" } } }, "unannotated": { "description": "Unannotated ion", "type": "object", "required": ["series_label", "unannotated_label"], "additionalProperties": false, "properties": { "series_label": { "$ref": "#/definitions/series_label", "enum": ["unannotated"] }, "unannotated_label": { "description": "A user-specified numeral label for an unannotated peak", "type": ["string", "null"] } } }, "isotope_specification": { "description": "A defined isotopic variant of another peak", "type": "object", "required": ["isotope"], "additionalProperties": false, "properties": { "isotope": { "type": "integer", "description": "The number of times this isotope occurs in the chemical composition of the ion" }, "variant": { "oneOf": [ { "$ref": "#/definitions/element_isotopic_variant" }, { "$ref": "#/definitions/average_isotopic_variant" }, { "type": "null" } ] } } }, "element_isotopic_variant": { "type": "object", "required": ["element", "nucleon_count"], "properties": { "nucleon_count": { "type": "integer", "description": "The number of nucleons this isotope differs in with respect to the monoisotopic isotopologue" }, "element": { "type": "string", "description": "The name of element the isotopologue comes from" } } }, "average_isotopic_variant": { "type": "object", "required": ["averaged"], "additionalProperties": false, "properties": { "averaged": { "type": "boolean", "description": "Whether or not the isotopic peak is defined as the \"average\" isotopomer of the known chemical composition" } } } } }