Validation of mzQC Files
Here we give a brief overview of syntactic and semantic validation requirements of mzQC files. Full validation is implemented in the mzqc-pylib reference implementation.
With the help of the mzQC JSON schema, mzQC instances can be readily checked for syntactic schema compliance. There are a number of JSON schema implementations for use in various programming languages that also support validation of JSON schema draft-07 from which the mzQC schema is designed.
Due to the advanced design of the mzQC JSON schema, many aspects of a valid mzQC file can already be verified via syntactic validation without the need of explicit semantic validation. There are, however, a few additional semantic rules that need to be followed to create fully compliant mzQC files.
- All used
controlledVocabularyelements MUST reference a valid ontology.
- All used CV terms (including the quality metrics) must be present in one of
the controlled vocabularies listed in the files
controlledVocabularieselement, matching in name and accession.
qualityMetricelements MUST be unique within their
- The value type of
qualityMetricelements MUST match the specification in the CV (i.e. single value, n-tuple, matrix, or table).
- The value of
qualityMetricMUST match its unit definition (and type implicitly).
- All columns of table
qualityMetricelements MUST have the same length.
labelattributes in the metadata elements MUST be unique within its mzQC file.
inputFileelements MUST have a unique
locationattribute within their
Additionally, more detailed checks might be performed to assess the validity of specific metric values on a case-by-case basis (e.g., percentages should sum to 100%).
Find out about more details on the validator page itself.
mzQC is web-native, and integrates nicely with modern applications and websites. You can find one example on this website if you visit the Validator.
We have several alternatives for validation, however. For these, have a look at the respective projects.