From e6e5efdd67fff751dda59d3dc7c7a3671a466ba9 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 27 Jul 2022 11:06:40 +0000 Subject: [PATCH 01/30] updated readme for CV changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 265d4567..88c6cbfa 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The Human Proteome Organisation (HUPO) Proteomics Standards Initiative (PSI) def The current projects of the QC working group are: - mzQC: A standard file format for the exchange, transmission, and archiving of quality metrics derived from biological mass spectrometry. -- QC CV: A controlled vocabulary to represent terms for the definition of quality metrics and related supporting values. +- QC CV: Integration of controlled vocabulary terms into [PSI-MS CV](https://github.com/HUPO-PSI/psi-ms-CV/) to represent quality metrics and related supporting values. -------------------------------- ## Our official website is here: From b15dde74be82d6a8e487eace78fa552ef9c92c22 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 27 Jul 2022 11:51:38 +0000 Subject: [PATCH 02/30] updated use-case story with a more robust (abstract) CV term use and corrected some typos --- .../use-case-stories/mzQC_at_a_glance.md | 147 +++++++++++------- 1 file changed, 94 insertions(+), 53 deletions(-) diff --git a/docs/pages/use-case-stories/mzQC_at_a_glance.md b/docs/pages/use-case-stories/mzQC_at_a_glance.md index 543414b5..5bdbaabd 100644 --- a/docs/pages/use-case-stories/mzQC_at_a_glance.md +++ b/docs/pages/use-case-stories/mzQC_at_a_glance.md @@ -7,52 +7,74 @@ permalink: /use-cases/at-a-glance/ This is a discription of a barebones mzQC example file that should give you an overview over the overall structure of things. We will visit the elements one-by-one and describe what they are and their use. ``` -{ 'mzQC': +{ "mzQC": ``` The complete document structure as defined in the schema has to be found under the root element 'mzQC'. ``` - {'controlledVocabularies': [ + {"controlledVocabularies": [ ``` The 'controlledVocabularies' is a list of 'controlledVocabulary' elements, representing those vocabularies, which' terms are used in the document. ``` - {'name': 'Proteomics Standards Initiative Mass Spectrometry Ontology', 'uri': 'https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo', 'version': '4.1.7'}, - {'name': 'Proteomics Standards Initiative Quality Control Ontology', 'uri': 'https://github.com/HUPO-PSI/mzQC/raw/master/cv/qc-cv.obo', 'version': '0.1.0'}, - {'name': 'Unit Ontology', 'uri': 'http://ontologies.berkeleybop.org/uo.obo', 'version': 'releases/2020-03-10'} - ], + {"name": "Proteomics Standards Initiative Mass Spectrometry Ontology", + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.79/psi-ms.obo", + "version": "4.1.79"}, + {"name": "Unit Ontology", + "uri": "http://ontologies.berkeleybop.org/uo.obo", + "version": "releases/2020-03-10"}, + {"name": "The XY fictional ontology to demonstrate the flexibility of mzQC (and other CV controlled formats)", + "uri": "https://fictional-ontologi.es/cv/xy.obo", + "version": "0.1.2"}, + ], ``` Each 'controlledVocabulary' needs to have it's corresponding name, version, and uri. -Of course we also need some information aboutvalidator/the current mzQC document, too. +Of course we also need some information about the current mzQC document, too. These are simple strings, the 'creationDate' has to be formatted according to ISO 8601. ``` - 'creationDate': '2020-07-29T11:17:09', - 'version': '1.0.0', + "creationDate": "2020-07-29T11:17:09", + "version": "1.0.0", ``` -Next we come to describe the quality of a ms experiment, -either a 'runQuality' for quality metrics about a single run or -'setQuality' (then of course in a separate 'setQualities' list - not shown) for quality metrics about a collection of runs. +Next we come to describe the quality of a MS experiment, +either a 'runQuality' for quality metrics about a single run or 'setQuality' +(then of course in a separate 'setQualities' list - not shown) +for quality metrics about a collection of runs. +Let's focus on a single run for now. ``` - 'runQualities': [ + "runQualities": [ ``` For each 'runQuality' of course we need information about the run itself, -like which files were considerd for the metric calculation and the software used. +like which files were considered for the metric calculation and the software used. We collect this in 'metadata'. ``` - {'metadata': + {"metadata": ``` -Each of these metadatapoints is a 'cvParameter' element, so it needs at least a name and an accession, and if neccessary a value. +Each of these metadata-points is a 'cvParameter' element, +so it needs at least a name and an accession, and if neccessary a value. Exceptions are file 'name' which is a simple string to reference the file by later, and the 'location', where a URI (either URL or filesystem location like shown) will do. Softwares are collected in the 'analysisSoftware' list, files considered in the 'inputFiles' list. -``` - {'analysisSoftware': [{'accession': 'QC:9999999', 'name': 'bestqctool', 'uri': 'http://www.qc-for-protein-pros.org', 'version': '1.2.3'}], - 'inputFiles': [ - {'fileFormat': {'accession': 'MS:1000584', 'name': 'mzML format'}, - 'fileProperties': [{'accession': 'MS:1000747', 'name': 'completion time', 'value': '2017-12-08-T15:38:57Z'}], - 'location': 'file:///folder/file.mzML', - 'name': 'file' - } - ]}, +'analysisSoftware' elements must be CV terms, so be sure to also list the respective ontology in the 'controlledVocabularies' section. +``` + { + "analysisSoftware": [ + {"accession": "XY:9000", + "name": "bestqctool", + "uri": "http://www.qc-for-protein-pros.org", + "version": "1.2.3"} + ], + "inputFiles": [ + { + "fileFormat": {"accession": "MS:1000584", "name": "mzML format"}, + "fileProperties": [ + {"accession": "MS:1000747", + "name": "completion time", + "value": "2017-12-08-T15:38:57Z"} + ], + "location": "file:///folder/file.mzML", + "name": "file" + } + ] + }, ``` You can imagine that there are several file properties you'd want to associate with a file of a real mzQC file, so 'fileProperties' is a list of 'cvParameters'. @@ -60,35 +82,54 @@ Finally, we collect the metrics in a 'qualityMetrics' list. Each metric is represented as a 'cvParameter', too, but here we most likely also want the metric value. The definition to the metric can be found in the controlled vocabularies. ``` - 'qualityMetrics': [ - {'accession': 'QC:4123456', 'name': 'ultimate quality level', 'value': 9000} - ]} - ]} -} + "qualityMetrics": [ + {"accession": "XY:4567", + "name": "ultimate quality level", + "value": 9001} + ] ``` so all in all, here is the mzQC in complete and uninterrupted: ``` -{ "mzQC": - {'controlledVocabularies': [ - {'name': 'Proteomics Standards Initiative Mass Spectrometry Ontology', 'uri': 'https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo', 'version': '4.1.7'}, - {'name': 'Proteomics Standards Initiative Quality Control Ontology', 'uri': 'https://github.com/HUPO-PSI/mzQC/raw/master/cv/qc-cv.obo', 'version': '0.1.0'}, - {'name': 'Unit Ontology', 'uri': 'http://ontologies.berkeleybop.org/uo.obo', 'version': 'releases/2020-03-10'} - ], - 'creationDate': '2020-07-29T11:17:09', - 'version': '1.0.0', - 'runQualities': [ - {'metadata': - {'analysisSoftware': [{'accession': 'QC:9999999', 'name': 'bestqctool', 'uri': 'http://www.qc-for-protein-pros.org', 'version': '1.2.3'}], - 'inputFiles': [ - {'fileFormat': {'accession': 'MS:1000584', 'name': 'mzML format'}, - 'fileProperties': [{'accession': 'MS:1000747', 'name': 'completion time', 'value': '2017-12-08-T15:38:57Z'}], - 'location': 'file:///dev/null', - 'name': 'file' - } - ]}, - 'qualityMetrics': [ - {'accession': 'QC:4123456', 'name': 'ultimate quality level', 'value': 9000} - ]} - ]} +{ "mzQC": { + "creationDate": "2020-07-29T11:17:09", + "version": "1.0.0", + "runQualities": [ + {"metadata": { + "analysisSoftware": [ + {"accession": "XY:9000", + "name": "bestqctool", + "uri": "http://www.qc-for-protein-pros.org", + "version": "1.2.3"} + ], + "inputFiles": [ + { + "fileFormat": {"accession": "MS:1000584", "name": "mzML format"}, + "fileProperties": [ + {"accession": "MS:1000747", + "name": "completion time", + "value": "2017-12-08-T15:38:57Z"} + ], + "location": "file:///folder/file.mzML", + "name": "file" + } + ] + }, + "qualityMetrics": [ + {"accession": "XY:4567", + "name": "ultimate quality level", + "value": 9001} + ] + }], + "controlledVocabularies": [ + {"name": "Proteomics Standards Initiative Mass Spectrometry Ontology", + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.79/psi-ms.obo", + "version": "4.1.79"}, + {"name": "Unit Ontology", + "uri": "http://ontologies.berkeleybop.org/uo.obo", + "version": "releases/2020-03-10"}, + {"name": "The XY fictional ontology to demonstrate the flexibility of mzQC (and other CV controlled formats)", + "uri": "https://fictional-ontologi.es/cv/xy.obo", + "version": "0.1.2"} + ]} } -``` +``` \ No newline at end of file From a2617826d6626d1aa3dcb15988fabf6f450399f9 Mon Sep 17 00:00:00 2001 From: Nils Hoffmann <3309580+nilshoffmann@users.noreply.github.com> Date: Thu, 5 May 2022 16:01:19 +0200 Subject: [PATCH 03/30] Added link to MS-Quality-hub --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 88c6cbfa..b5b4d9d8 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ The current projects of the QC working group are: - mzQC: A standard file format for the exchange, transmission, and archiving of quality metrics derived from biological mass spectrometry. - QC CV: Integration of controlled vocabulary terms into [PSI-MS CV](https://github.com/HUPO-PSI/psi-ms-CV/) to represent quality metrics and related supporting values. +- Reference Implementations: The [MS-Quality-hub](https://github.com/MS-Quality-hub/) GitHub organization hosts implementations for mzQC in Python, R and Java. --------------------------------- ## Our official website is here:

hupo-psi.github.io/mzqc/

From 8611bf0938ff635cb780b91d376e3b529ad541f3 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 27 Jul 2022 13:00:05 +0000 Subject: [PATCH 04/30] added two metric sub-pages for use and request guide --- docs/pages/cv/howto_create_cv_terms.md | 17 +-- docs/pages/cv/howto_use_cv_terms.md | 146 +++++++++++-------------- docs/pages/metrics.md | 58 +--------- 3 files changed, 74 insertions(+), 147 deletions(-) diff --git a/docs/pages/cv/howto_create_cv_terms.md b/docs/pages/cv/howto_create_cv_terms.md index 9df16fff..4c4267a1 100644 --- a/docs/pages/cv/howto_create_cv_terms.md +++ b/docs/pages/cv/howto_create_cv_terms.md @@ -1,3 +1,8 @@ +--- +layout: page +title: "Metrics - create" +permalink: /metrics/create +--- # CV Term Creation Guide New CV terms have to be requested via the [mzQC GitHub issue tracker](https://github.com/HUPO-PSI/mzQC/issues). @@ -234,12 +239,6 @@ is_a: QC:4000107 ! Column type property_value: has_units UO:0000191 ! fraction ``` -**Matrix:** - -``` -TODO -``` - ## New CV terms New CV terms have to be requested via the [mzQC GitHub issue tracker](https://github.com/HUPO-PSI/psi-ms-CV/issues/new?assignees=&labels=&template=new_qc_term.yml). Upon creating a new issue, you should select the "Request for new CV term" option. @@ -261,8 +260,4 @@ matrix? whether the metric depends on spectrum, peptide, protein, or metabolite identifications; or to describe the metric context. -More information on how to request CV terms and their translation to elements in -an mzQC file is available in the following CV guides: - -- [CV Term Creation Guide](cv/howto_create_cv_terms.md) -- [CV Term Usage Guide](cv/howto_use_cv_terms.md) +More information on how use CV terms and their translation to elements in an mzQC file is available in the following CV guide: [CV Term Usage Guide](cv/howto_use_cv_terms.md) diff --git a/docs/pages/cv/howto_use_cv_terms.md b/docs/pages/cv/howto_use_cv_terms.md index 25e78ce1..73b847a9 100644 --- a/docs/pages/cv/howto_use_cv_terms.md +++ b/docs/pages/cv/howto_use_cv_terms.md @@ -1,7 +1,12 @@ +--- +layout: page +title: "Metrics - use" +permalink: /metrics/use +--- # CV Term Usage Guide -The translation from CV terms to elements in an mzQC file depends on the term's -value type and is pretty straightforward. +The translation from CV terms to elements in an mzQC file depends on the term's value type and is pretty straightforward. +Following, the different value types uses are exemplified . ## Single Value @@ -9,17 +14,16 @@ To report the number of MS1 scans in a peak file: ``` [Term] -id: QC:4000059 -name: Number of MS1 spectra -def: "The number of MS1 events in the run." [PSI:QC] -is_a: QC:4000003 ! single value -is_a: QC:4000010 ! ID free -is_a: QC:4000023 ! MS1 metric -comment: A lower number of MS1 spectra acquired during one sample run compared to similar runs can indicate mismatched instrument settings or issues with the instrumentation or issues with sample amounts. -relationship: has_relation MS:1000579 ! MS1 spectrum -relationship: has_relation QC:4000013 ! QC metric relation: single run -property_value: has_units UO:0000189 ! count unit -synonym: "MS1-Count" EXACT [] +id: MS:4000059 +name: number of MS1 spectra +def: "The number of MS1 events in the run." [PSI:MS] +synonym: "MS1-Count" EXACT [PMID:24494671] +is_a: MS:4000003 ! single value +relationship: has_metric_category MS:4000009 ! ID free metric +relationship: has_metric_category MS:4000012 ! single run based metric +relationship: has_metric_category MS:4000021 ! MS1 metric +relationship: has_value_type xsd:int ! The allowed value-type for this CV term +relationship: has_units UO:0000189 ! count unit ``` A corresponding `qualityMetric` object in an mzQC file: @@ -42,17 +46,19 @@ To report the number of MS2 scans per quantile: ``` [Term] -id: QC:4000062 -name: MS2 density per quantile -def: "The first to n-th quantile of MS2 scan peak counts." [PSI:QC] -is_a: QC:4000004 ! n-tuple -is_a: QC:4000010 ! ID free -is_a: QC:4000024 ! MS2 metric -relationship: has_relation MS:1000035 ! peak picking -relationship: has_relation QC:4000013 ! QC metric relation: single run -synonym: "MS2-Density-Q1" RELATED [] -synonym: "MS2-Density-Q2" RELATED [] -synonym: "MS2-Density-Q3" RELATED [] +id: MS:4000062 +name: MS2 density quantiles +def: "The first to n-th quantile of MS2 peak density (scan peak counts). A value triplet represents the original QuaMeter metrics, the quartiles of MS2 density. The number of values in the tuple implies the quantile mode." [PSI:MS] +synonym: "MS2-Density-Q1" RELATED [PMID:24494671] +synonym: "MS2-Density-Q2" RELATED [PMID:24494671] +synonym: "MS2-Density-Q3" RELATED [PMID:24494671] +is_a: MS:4000004 ! n-tuple +relationship: has_metric_category MS:4000009 ! ID free metric +relationship: has_metric_category MS:4000012 ! single run based metric +relationship: has_metric_category MS:4000022 ! MS2 metric +relationship: has_value_type xsd:int ! The allowed value-type for this CV term +relationship: has_value_concept NCIT:C45781 ! Density +relationship: has_units UO:0000189 ! count unit ``` A corresponding `qualityMetric` object in an mzQC file: @@ -61,11 +67,7 @@ A corresponding `qualityMetric` object in an mzQC file: { "accession": "MS:4000062", "name": "MS2 density quantiles", - "value": [ - 162, - 250, - 404 - ], + "value": [162, 250, 404], "unit": { "accession": "UO:0000189", "name": "count unit" @@ -79,62 +81,51 @@ To report the MS/MS precursor charge states: ``` [Term] -id: QC:4000063 +id: MS:4000063 name: MS2 known precursor charges fractions -def: "The fraction of MS/MS precursors of the corresponding charge. The fractions [0,1] are given in the 'Fraction' column, corresponding charges in the 'Charge state' column. The highest charge state is to be interpreted as that charge state or higher. " [PSI:QC] -is_a: QC:4000006 ! table -is_a: QC:4000010 ! ID free -is_a: QC:4000024 ! MS2 metric -is_a: QC:4000025 ! ion source metric -relationship: has_relation MS:1000041 ! charge state -relationship: has_relation QC:4000013 ! QC metric relation: single run -property_value: has_column: QC:4000238 ! Charge state -property_value: has_column: QC:4000239 ! Fraction -synonym: "MS2-PrecZ-1" RELATED [] -synonym: "MS2-PrecZ-2" RELATED [] -synonym: "MS2-PrecZ-3" RELATED [] -synonym: "MS2-PrecZ-4" RELATED [] -synonym: "MS2-PrecZ-5" RELATED [] -synonym: "MS2-PrecZ-more" RELATED [] +def: "The fraction of MS/MS precursors of the corresponding charge. The fractions [0,1] are given in the 'Fraction' column, corresponding charges in the 'Charge state' column. The highest charge state is to be interpreted as that charge state or higher." [PSI:MS] +synonym: "MS2-PrecZ-1" NARROW [PMID:24494671] +synonym: "MS2-PrecZ-2" NARROW [PMID:24494671] +synonym: "MS2-PrecZ-3" NARROW [PMID:24494671] +synonym: "MS2-PrecZ-4" NARROW [PMID:24494671] +synonym: "MS2-PrecZ-5" NARROW [PMID:24494671] +synonym: "MS2-PrecZ-more" NARROW [PMID:24494671] +synonym: "IS-3A" RELATED [PMID:19837981] +synonym: "IS-3B" RELATED [PMID:19837981] +synonym: "IS-3C" RELATED [PMID:19837981] +comment: the MS2-PrecZ metrics can be directly read from the table respective table rows, the ratios of IS-3 metrics must be derived from the respective table rows, IS-3A as ratio of +1 over +2, IS-3B as ratio of +3 over +2, IS-3C as +4 over +2. +is_a: MS:4000005 ! table +relationship: has_metric_category MS:4000009 ! ID free metric +relationship: has_metric_category MS:4000012 ! single run based metric +relationship: has_metric_category MS:4000020 ! ion source metric +relationship: has_metric_category MS:4000022 ! MS2 metric +relationship: has_column MS:1000041 ! charge state +relationship: has_column UO:0000191 ! fraction [Term] -id: QC:4000238 -name: Charge state -def: "The column contains charge states." [PSI:QC] -is_a: QC:4000107 ! Column type -property_value: has_units MS:1000041 ! charge state - -[Term] -id: QC:4000239 -name: Fraction -def: "The column contains fraction values as decimals." [PSI:QC] -is_a: QC:4000107 ! Column type -property_value: has_units UO:0000191 ! fraction +id: MS:1000041 +name: charge state +def: "Number of net charges, positive or negative, on an ion." [PSI:MS] +synonym: "z" EXACT [] +is_a: MS:1000455 ! ion selection attribute +is_a: MS:1000507 ! ion property +relationship: has_value_type xsd:int ! The allowed value-type for this CV term + +[RDF extract] +id: UO:0000191 +name: fraction +def: "A dimensionless ratio unit which relates the part (the numerator) to the whole (the denominator). [Wikipedia:Wikipedia]" ``` A corresponding `qualityMetric` object in an mzQC file: ``` { - "accession": "QC:4000063", + "accession": "MS:4000063", "name": "MS2 known precursor charges fractions", "value": { - "Charge state": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "Fraction": [ - 0.000, - 0.683, - 0.305, - 0.008, - 0.002, - 0.002 - ] + "Charge state": ["1","2","3","4","5","6"], + "Fraction": [0.000,0.683,0.305,0.008,0.002,0.002] }, "unit": [ { @@ -148,9 +139,4 @@ A corresponding `qualityMetric` object in an mzQC file: ] } ``` - -## Matrix - -``` -TODO -``` +The units of a table instance are implicitly assumed through their respective columns' definition and if available as unit terms, documented in the unit array of the instance for clarity. \ No newline at end of file diff --git a/docs/pages/metrics.md b/docs/pages/metrics.md index 17d4d82e..448b4fd1 100644 --- a/docs/pages/metrics.md +++ b/docs/pages/metrics.md @@ -4,59 +4,5 @@ title: Metrics permalink: /metrics/ --- -{% include_relative cv/howto_create_cv_terms.md %} - -{% include_relative cv/howto_use_cv_terms.md %} - -## mzQC Metrics -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. - - -## CV Control - -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. - +The mzQC format owes much of it's _simplicity_ **and** _flexibility_ to the use of controlled vocabulary (CV) terms to define and instantiate quality metric records. To find out more about the use of CVs, click (/metrics/use)[here]. +If you want to get started with your own metrics, click (/metrics/create)[here] to learn about that. From 19dadaf3182d2cd994a046a13f70bec0120924bf Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 27 Jul 2022 13:03:05 +0000 Subject: [PATCH 05/30] added mzQC in-a-nutshell page --- docs/index.md | 1 + docs/pages/figures/mzQC-EBI-summary.pptx.jpg | Bin 0 -> 135167 bytes docs/pages/figures/mzQC-in-a-nutshell.pptx | Bin 0 -> 503059 bytes docs/pages/figures/mzQC-in-a-nutshell.pptx.jpg | Bin 0 -> 66502 bytes docs/pages/mzqc-in-a-nutshell.md | 13 +++++++++++++ 5 files changed, 14 insertions(+) create mode 100644 docs/pages/figures/mzQC-EBI-summary.pptx.jpg create mode 100644 docs/pages/figures/mzQC-in-a-nutshell.pptx create mode 100644 docs/pages/figures/mzQC-in-a-nutshell.pptx.jpg create mode 100644 docs/pages/mzqc-in-a-nutshell.md diff --git a/docs/index.md b/docs/index.md index 1060fd4b..62b8851e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,6 +33,7 @@ and analysts wanting a better insight to the data they analyse. * If you are familiar with JSON or have an understanding of PSI file formats, are however pressed for time, [mzQC at a glance](use-cases/at-a-glance/) will give you a brief overview of the essentials. +* A in a nutshell exlanation is [here](mzQC-in-a-nutshell/) * Find out more about the format in general [here](mzQC-intro/)! ### Specification Document diff --git a/docs/pages/figures/mzQC-EBI-summary.pptx.jpg b/docs/pages/figures/mzQC-EBI-summary.pptx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43a1d5352ed47744f239dbb5c47caf4d2bde4fba GIT binary patch literal 135167 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 literal 0 HcmV?d00001 diff --git a/docs/pages/figures/mzQC-in-a-nutshell.pptx b/docs/pages/figures/mzQC-in-a-nutshell.pptx new file mode 100644 index 0000000000000000000000000000000000000000..86248544c5872ffa97ab83fdc15971f161660db1 GIT binary patch literal 503059 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%0D_Ef|7st$FpJx^=vcVbW9JoS(g={-3Q8~WTN(S^n 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%0DVaOMo|4 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 z zzh)tOmFvRZG>@6#Vm1n0dX)tiD>EwfL&?u)+xq9-uPS8sJ>nw+lYu@*hipF7b>d$A z&e^Ul#d!yw5l;|`IWR)9e3jl!-6s)TTs--=IMI4iOC1iOkNMkI_-w;g12-zazglM)(4aQ-l~$E^^NQ-Q z#mBPu=aUf4158-}EhKxplKp*jJlv&e50F&>XH6z{tMUx~8sYYtisr~af700JUqj+> zMb@n+$jPDZI$?Y>Mv|eL%9JQFIM$vb;Wo+KhCj=*&D^CpGOh?kcCZv`% z`(f8rafvDWQ8Yl-k^|HEwI9XUe!YKB8Y&xRT9{&-4T{Z{N~sHPBc+z3@@;D$t?Gp7 z zYeY5;eSg##uoZthPEp+1enb+!|K~-62HicA8*JqnhS}`u`AP?W{&q9twTRj6>h8}` z#<0Y1xf$`%Wb|taLOZ*+Q|S(s%=AMKedp^L8)uRskes{Kt$7~5?g;R9%~cg8%d#}7 zExOt=({q{3$gyEW|N8vDEW*7E0R&in@;l+v)7grKZWmLEDk59C> z{Iw4idOnfzJ^c8@h@1-Gz^pL=|A{R5Aj0q4TM;EqoafX(H@)BR@%cPb$bZ>BlK#(? zImEksRbR`Wch4*sB~L&RsMCiB%RBBOz*I5O(<|8X*6f`fgL&=qWUHvXKRln8c{q0m z#;O;iM{+YrL!Xa&McRPNqHtq^$+bIW$(*Zm313?mT6s2EN|SWw`+Fa%EafSqQu(4s z%Xqcog5ka6H_a?F^6=qdJs4cQEw~$@VHV%TzRV2lr%^@OoTdj<8W-3LC>5{ zgRuP%vtJG>pi^0nvtWklVe*13l^*^w;G`LC%4%q;b-7~idyMVzHlN7KK5>m0A3i)h za+@^Y2W-ZA#?t-*CC$RQbLZyoGC=!GAB5&PYJWjr;m6!Nv+SftOU}9R2-;GI+m5<) z7oP~z@8aVVY5qM$yxQC90w7wYA8f_m6hgn-+vr7yi&1TCick%>oq++{%uPi5dADQ=y!$ztjWdp77Ie zAICQ|t+lg*x_!E_PAT8`WddO-tXpm|U#?jK!7lNZ#4Ax1jKLCWqh9M^vXUJHSrhyA zNfZOWsRbP)Lz?>MWBpuLNFG>j^aTt5K)dUtqo#Nbo!f$k`!739?_I-mY-pmnu3O-% z;@j+TMWP&pd#W=ONc5o=1b>&*h{6M_oD#gFNMrPctT5{6IQhv`6|kCxpK?h|*VAX- zU_cpsEI8zn&11`*{tDfe2C$0cj)n| zm2N+`W=HESm_~s0sag|*T|R|(-a3L?>mMu-J3)J~E_eqDs~k_{{@js zb94N`EW1YPjpKnbj}|1k%uq(1WiCJqbFw?w^km=yOO3YktWwNm7MlE-@0$|n~B!f+>NkY?pK$R4k|Lt?GZkn=2QcFt3?yj+I~6dOJ!&nOr+ z_QT{ni&9M1E$j*gpW~>Dqqyn#+eK^Et{sR2^8HyXtH!f3cNBFKDAZB$`@G~8<~hP` zL5D{|{DBm-2;HN8@U|OV9I}z8+l9+hZ1vXdf7?zR$LsySY5~fxg7XbYRM)l7cl)@j zULmu_Z(BVU{dfs1eP4%+Y1a2f;w|h7R&s*PZf5KRc}GjcU?r!(-4R?$t-W;skL`m* zofg|)EhKf%3bll}KmN@)<)N%tl9k(JimVmXFGj*(=w-2Nl%IF(>BK#Idniw>bz~*Q zWfSLLV3rhzq2$(&n5)jbJaTTVhq|1*;9KJET>G`qa| zI{M9eo7tZa2Q0v|ysDu29*uwpy38ebFF?UR?mv$if z@FT}IVxZQ+Fxx&;d75SF)TvE0LTbp-YT$8^Qw_@}ZY2t!PTGln9ircV^Nd9(Rk-8S z6mC!Lyv-u9CR_2s=P|Yi*-qIY4+53dKmT0b;MSZ5asG@6i~E3s{6cnlx&LiYy;%=X zdUo(9+Sa$Jq9GE%`}cOhTy~7&*kfzM0>nhzevsZ{pjG9 z8JM7Zn*YX3)p($pXEI#OhR0Khn9b%i-cJ?fu~6rTtk1{-n!2f!nj0i(SLF*i?rfc) zzNyf4-*W5Fj+yKbI-8ip!#oEikSmVp9|p1iwuCHFx;J@``3m!NapY`Pe?vjp&;?4J z3S1f7`UOgz7m)@=wO{lw3fIayG zudX12zww)>BHxTG>v%ulqNvbR7Fg25B7y?J5#Ipo^#Dm1%3El~IVQtz6@?W4!2J@N zJ4Pdq0G&#lNla$PchF+y$r~7RP@*2omP+i7UaLgE-j*7>_7Dj#BoL>L4EU-r!HL&0UaAOvFAeDAC z)n=<>KS$SnSBaMRrz|eQ=3QT#^KHAxJD-CVBIdapZ$5pxhdSH_>WyE$iwoV3O?bQv zZFo@i8*Aq!1ADu2Wdiv@iblP`H*`mb90_mc#|b*GQH=c%7jjcWQ3>T$izEL$I%tgTmQ}` z!Th5a{DoI09!xQ8o7w{~L4>a2c{_RJHhx3qyrWW=6KMWXwp`LtnRP>~x*>T5)?t7otc^`Q+6mG@&3cfE%s51HH|U5{Di-eL<`Edzn~} zEfsPs!~zxzG>TcB)zL2KSpVp<@I=(g0)iXpTgIa%48bLADe-kdqaUEh=zMo>ma?JG z=UAu2H{>*WDPG6xd{>Uab{X<2RHn}xQ^Bv^u_nW6sPSX-l786ujM#FWxOCs9KZ6Xs z<^_(yV>_BfJO&{}he!|ihHkdAdj?_`hr_BC{t61)rTr-MSYX!2wYL+8`BR!6p9sb0 zw*Ju<=(u^t1%vVL`QGxev5${mfilVq5P713*2UA)>iIlqIk-pYxx!n*&cV|w5{dTS zrMbE7MNRFyii!%l;Rq*Wd~tZDZ~5k1zG>l2yhNWz;TfCJb<)nH**BOs)nxxl3hdx_ zfgPX7V}g+7$^AK}R>-1}RTFrYbdR6>Rx1f(D{g{`@(g;8He{DdSNm^m)&sOisj2M_Fg3WcY@#e!ll;UIf@485j6Sv zHfYI0D=j6enV)Ef+BSZrM)r}-W&$#%A(%f`dsD*3*7{(AtEIDq-0AnqlzFqr5kjeI zE%gpMTRE73TymX2aqXgEr~ovnS$-WCwAV4je=V^vSo-N|+-b;js?mKsIa39QAVdU}ln zk-}oWkL)aRs@K;c?He-JHZuzQm42$Yc8NMyv<&PdR1H^@^wxPbBMa$RU7r*Oaw~gU z4|$ibzxHTvr|0+cN!EmUI^Q>ZBTvXsH%_oIL{G~pXu^_K=RA-TT;)f3FYL9vnvC26 z+oO+nqWKz;#pP|DXfMbzvA9M&FimBc8-zF-W3BR$W8`)fR-dlLPNQ_Y)^`uBX+Fz6 zBGD;^5R4YK-0jIhQ3kKNc=GN(Ry+?y{BPpAmcAS^?{j>ha(&~@_CrB^MVCc(?sIw4jdkkrOFjJF%%assBK z0b_Aj-~*1{1C;U@3#tQS729aiV(q7dlBOsp85m*AZZa-7x+MX_s_J%o2J&R9pAuJ8 zOid+@F9&}1Z?>vC@BX&1XjFgJ#kWGX8bY<(-EkeL@cvx*_;ukiflV9DU64J&j?rPE z+=pteg7(Wqd#>`X zgu2Z&C0LJBH?^C6tTg-z5h7Z&$MXW+HOvzm^VGs}!Bd1lJ&9{pFNv?sDASP%CDjU( z33t;hZvH3Wn8Q9dUUsSg^RF2Yq8n9fp!LsQqAo)6{>?N6h20xS7jbo)?30e{Q>oR< z;phcl>r@L$I;&6%&$ZVKc~-3OK64@4qdIU}uf{jF<#eKC)!Q^qm}Pt&1)Z|r?k#jB zeBFP1O00-5swSBtldzt`P9z<>YrBJ*M81Y3#bF(byX#_8q=(n4ylEH7hg-pwG2IL& z>N7%OhAGpCNqG#VoY&&OeFIt&)f%Jj^E>FDuEIv`BNyvn3IYW*^`i4JOGXRxr3{)Q zhmg@6bexul^JRFVVbOabt+Z7Ta>s&ve=1K2o|;&N7%h9 z;#vT3eoC|$m-Psj-Q-{15z#C}2fO)|OBF?<}KD9c+)MM zLh#u`^JI>sxb)gtnQ@Zy2*>O{!qxqPBHSs0uTd^yR?a{XD)y7t zFt9vr#z5<X^BJd+= ztJO=cB5teRrO}O72x;Oi!?TcY4{ESwYj(tJS-4yn1hmBBK$ar8&=7xgGC^omIU16E z*pAMOIf|7hAsPTkz_vHd?`w^DRC%j^6?^ z5|bHTl29iXcxkao1)Rqq_8Z)tM~37D3g%EboYwrjdgqn`?Lmh#BDE({#*rW2M6UMF z3gXCgwvFJp8U;QV)-qa5EJ*QSl^TDhI_|VrFu5w4EmJ(5*rl&sHP>tf4!ws=jVk!? zTQHu_Iwg`TXclNJa!2WKvG*SRb|wQlCTx~0oa-~VM&O-|?(aAA^lnrK+!!s@TP>lT zpt~EAj5>4gk*gefjq~a$h_sT`HLqFZc}iGlP_HB-bDtDO%2`rFx^;%i?T+6?)tY(T#PRk!Z-ulaA#Qwa ziE3>?*cJ{A3Zeb$5ByFfo6@Q`P9`R;wHP=@>7Q+;jz>E#e~WpoK(^dn^K2Erbkz_d zzQz)Xd!DUf^m_DP6qs6!n8tGOC#|PU=K2Nb3}{QT9obGJ3^g;2qAE+I*dNW4%jUh- zp)6mig;pnp638JaQwc*jZg%4Xw&lCeYuCu^CYIHR@1v}0uvBOGl*wgCLDUQxYfaU# zGFk4@BENVSI_)vnk6=6JndA?s&Kjs7ipYQ29H{%Xjj)r(PicKNW$5XYBtb#rtJGyhy?Mwckh;}p02Zo z+KTJ+CY4^1vUH{D1zq%jLg{%6hTU2#nKh}swAGB{5|3SUO~X;FX(VNl%Cj=xl0k> zBq_-yG!Y{K1tZ7kllDTAS~Ahdzd+>jkD_?N$7*Ka(|LL?A@183cyn~G4d_3>b+W$j z&K2%PT}dx1sO6UmLQNmtV2ix5E2dn>4}K%lCA?i)?mf*)GWP<%p|AGOZ({8$aG#2^ zv)!l#oHzVZG)ctw()Nj|OQtfplh!jTh`(#z{m>fGF+L1E8NoqvSs(4sFJN|`qR1#C zEPnUindOCusf9cw{PbN3UU-JTF|vdY|E>Sjeu(05DP=cWw zX&nRt>HCnW^Z>RcxzvHNrTn2@d|Wf?{hFFjMJ$l{x@8~E)u=k-Fus(L|EYrLYYp3M z-*asCmX98>!<(U27qZ<^9&u;*_fR5xXMd0xE^zr``B_i=L}vH6kyZ|IlZl9v=%FcC zSYXG#D&Xz@_}AspJ(CIlqJVAoj|`j#vbu>+0}jJRQ*SO52F;PNvlng}A?~WVUzm-< z`uQ5E4~`yf9R;3{71{qstrTX?uweMZiSUGBo8oCB0WH5DtROm7Z3;>`-JegJlmsTa zRZbyjRR7llWq%ec1k4z-h4qEYt7a`CowJbp_@*!~?aP-h`y&FJ-aaMNN|-;FBanT-WKTI8Bkz)6jowiFCl~GxD>#L=OE}hhl@KX_TxzR(qUB zxR2{h#NSGpcE>(?{vJ?4wAJt)K`FCKEt+D91m1!JZ}t>G;*BAkqu%3jDjh$X!Q(7n zJ$7JjK<#oVDpux=M!q6k>Xb;7x~0}TuX2H~uhV^xt6fm(Yq%FKS7C9vUlG7$=T`VJ zv8mgQ)>RcOA`=BqljKiUXgZo~n%>$URS-Z!RJN7wT6OYwLK(D0g4eZ$4r$Xyj+Tr#mO9E@8!?vndC!86*O`eP^VoyEG+Drg&L%PvlCpqhWv;&>wx*YLLckpEG1wQM5$6)jz6l*u1pSchPsb_)COtf< z$qngpsAs*TUP4OI_B=ptCr&OGpIZn2(vyP2$Ip!?lONg>+e|=JCX}e4nlwVxRp6^ z#EKI>m8f(#d?Iy>rK&avwZE(SiL+&naUE=BQae;{m*4GkP zy?#oh;%?g!ZV?MWA~~d%*MBU3oM6M?FEX9F!s5;qZ-kCx;!(_{I=~hKEyi!T|dWFp#joX%o(Tzk8^zY=gyje zV`V)Q9GhMH*Cv_H;D|$){RnG>*QwAP)p1pgeac@Gn+!gcjPDAEWwe$CSr*k{h&b3Z<;E$aG2@jVC}o^P}v1V(KdS(S`GT26JKPireQlWqVal zyH~gk;j;LFnKhlevtOV4jogyl7(FaR;_F0&ot{=3tr96%63@MqCuR7Ta6C%965c#Z`k1fgUdpx6` z*s>(4NMv6RU)b5p;>;*?GmKjMUP;Cl5Ds0;9_ri$df&z_LU}KtODX%rK@-@#337FG ztM{c%nP-=x?4x2(N@V{~ZO&hzI56NdM0f4Ry-%dv7OAD_084H!Uj_Jxjo_s}ADSie zHMAJ0pYSmx#p>NxBF?(c@LpjU zj*if5=@#M!nB*Nd%rtn@xy z;FhqK&_tR!ph>33A1;NpvInmVYrNNJ%;?L!KCBPKDFdBVefzRi4;<@BVPVw z_nCt!I51P9;+X5CUsw1KdphU1o5_#$8EzAz+T*26HUUVkDf(X)9 z+-GgwknPAoh0&0ALryQvC?9yz?bzXCuI}Jakoz$~Ex{E;CS^LMe?GSyx2sTo;cwg~ zIk4SVrNlFC*rb^f!sF4CmZfy43>Q}BTq%cc^az2s?>wM?)|D`S19*&xO=)=*c$}z)tuZ`soh@#AN%wg|=fC!U|0_E{le8f&}jyp>54CkP=z$wzy-9 z6U18>Mj%&aJqe_>v#MKx{WqsP56->Qf&V=6`=GkBym{O zKI$sgkz~_$7w}<*XzQ!&BhK|tBR9HYY@;Qg?_JN@<#|%8lap{N`Gb(=Hp1n%@6u{~ zbnI#EDY#7Y;W8nMmYfqv#@2rhlr@X3aSld9Ul{MZ%=)eV^q-UtoM zG(}x$aQ*xPS_;3PWMZ0+XirmEP}Eey%(r=qIFBRxb_%YEl*#ZLe501CG5-abggHc! z>w(9^q#h{lt(fYBP(A#mFn6PwwnP9n#Vvet9?e6rPW;hJv&%p6IQKP>AjyDG9(90> zTjo@!ce)MlIle0nX7S8Vpe9)&Vs~UYAOh?2)hmpQ&u?hi+t5~y9;l&yKAMy zC*HUH!$;=*HOQwRn};DL0B8^V(nc(VepklSa=7bc@Uj19 zCPjtbksUxzmf0gWk7w>**Dn4Xf;0536DB!rhj46g>*;sXQGD(3-qP&mw!(~VqPud) zvrDwvaTxaQ=^`6AeH^M_!+ZAvP6e^OVcKE|H>P7RMSEz^6ksy9$UB|%*g^71iAaj{ zJepBooSu6w2H=UZ-qq^yq^8yfeVFf*pJ%}?6-bq2iZW_O`d6y|qtB_sOB~D+j^aoo^aS69NHLkk>vrrktzcWJR6Te%WS{sF9ZOqKoo5WK{^K;S!Wm5Z~akSo{bB#w-IlMfmkz4k7L zimfB2PkM<0x>23pVyJ7avBf%(R|5;U)$~;ToyLdPy3?}tF)Oe8c zV5#8%Ygo!ouBJCHsbUAVL#0LRkn6R_4ukiU5>PFWn5fUbtkTgru8XT8>>P&+<%Jsd zZ#j08kzbAI3OvL)0ug#J(E72L2&C-ooks3(xm-VN^Z$FQLoW^aZe=L%JUsM)rZfFN zcm1mtKqlys!N>7Jq7s!Le?oNkI?@G)=31y%m30}BD>geGt zD!>~y8E6Hna7BgNz0pagQ|30Mjfjp|bf?3ddlKuAYDmGSPlAkEBMkLttC!!JJ6jx7 zj`|kZ9Jhl=R@?W`{hQlWQ0LxK^bqE&l_S&pcVwgJ*UAeg<*A?z;E(@Sz})JhdP)B; zcmK#U1 ze!Ya^l;(lN;Tn?nc$;`QC_kCeNyfzN?tqm~9Qi*N!=+`7oNx}%sw$(%T1f7?a&Va9 zE3Gdc(?crI)qFQ{&AY<~l`6uUI>%u=4*Fqok3Ibz+PI9Lo6WoPz845pA4tTy3mxDI zooZb;PeugM#iG+tLWkr71%kKRo&S3RH!(5M!N!~_K$k05q*!*)rRUlr|7H(ZvaM?j z4LOByZCzMw*GkXdODc$G!-N%&>1GnzBBVWFnN<*+#`umAHTS-oKLWLuALb^dAi;2u zd-Vh*yWVeVPMV@;%g~wXrYh6qgs@N#q7ka>^TBQWOUfBQ&B{|}$`lDI{|A1GL*lWr zD?jueBZ8(7{&A`LCW$BO)QIl5$*^i3avAW$c9kUEBt(0Z?yjDUmfG5Dj;*_~%{WwJ z8(`r>>|-gQH6uevs^gist~&pg_LBLU5{o)P-1a9C@v$9`%gAnd(81#?$&AdRMWM5> zad>4){90d8S}1X9uV!#^n8EU4lC|7dKN!j{CG5yo;U2&OOgDEOAT{}C{{%?k7+@dX zM)=Yf#doL%v}3tJ`EB3CAk(f=?~Hnbl~qd5)g=O>ztYpseR#B_a*@|=yeHqRI1(Zs zGvi|r`C#c(Ld-~=P`aUNCMD?G5qN+}zVc^|`iN9Ds|#}j8pfMzxtp(9JH3r&R?<>C z(`?Z#F~DGoMuFVf4JS%Fx*>6$4tKC4PNA!~s4DL;Q?A1dvp(s>Oi8 zAfI#W(gYi|&#(J%Q6}Q4TAEXPnmdyh$m*CZOR^czd+}J*BkDi+`SZba;nWC^&c*Du4okt4dd}uchN*VjGNjhRos*2>}Bp#+E zSd_H51pq=P&L@(N3&NqNGU+ce-}M$mLWfNRWM(dxe7{fSZp+bF`QxSzV2giRy%g`# zTAR?BJXhx10|zz!e8m)u3+T!95+S1`;0aeh2b>!3;SH1Q7eHnpu4iXZYj)FZH1$oY zq66WcD*VhK-Im}}!a>lq#A1tCd3WMgLTZ8PJqmgF4OQ=*M|a9G%^-#7n%xxCIQ z1C458bt=;$5Nmag?Q{Yf+4R{7s52ej<++2taEGo$(43XN98oYWapWJ((+KGDqJNwR ztDEfEHHyR#Tr0up)+jI5PlP{>)^q*@y;75Uh8`E#G#&yZM|~Amd`6wHv=WU&z6e{Fa$Y?Eby_BzQMo(N{dhDVoF=bjpZm1A+H|J}qvdKD^gw>{myE zPS7Lhu$UT*Pk31?#xCep>eu~@(IUWWVmFFIqLt6@&dD=?65Ckc26&`{HoViM2ftls z%Id2^fp^=tEr?KQtw1XuL_5W}!@7SUFBNAM4kWX&wTGaI-$OIaQyx2z_dpkhshMe-`;CH^q%yWN{mi}Syi!rXfhE^Bkxo(fGS5K#*N*5sCBQW2Yo$7 zyI%{*)75@*zwSmMSD*ioEMyI#OYGMe0JZ@EWtgdKBpw`Bv6$v0q)kZlO{tX#y#4*p ziX98~AZ`$j&hC~uJ0uY?w9P&l(2{CUpXc> z@!odGk<4ISPxONaiOAKLqBaPzLsMZNrKS6f~Gag^LRQt|JK7iOgUQRw~$t%t%*0cMgMCU8{9E`AWGO`sArmXEs_7A~ywFB`&i{_=yFDlKwYROb)6>5OtI6uMEe&oqIur#SV3u!J~fp*Z9kIPz&L2_y>HEe=t(hm?!27E82Lw1M@THRi#q6V z1H0|m78?z(Ic1S=Y+#26uAB>-SrpkX^eG8Uuz;%*+;<-bt*~jl5!lvbujf0(d$6ru zUN_g`#+A6G=qR2?BcmZ%0Y(NPr+j?!1?PR10B1LKH*KS}7}Y2H>myupvr3qlHd_Mn7jN9@wld$?`H(Y)~# z`pM3bp@UKPS&M4mTQSgR3H-0W)u-e~0HZX`BHd_frHVQx*Zq*`_iJa5la>`ndY-Yi z4j(*=`0n+}cO=>ErnSahy5Wt0T_{3=Y*%)m^P;W7VhvA!aFW&80B*^$kISt!SYc!5 zv7IcEZT915o<*jUtut77rDrM;I#B9;X~+{cc$f-xlqKfCfh>m4m=UlA^06+0q{C8} z^$|TkL^Vl6^}*`pACxl2ecP<+@ijK)Rp?MA-Rn-2XTBia1S@mLW7%WUS6QDY%@zmB zVLz{Pd;0%4n6cj4y1uc3hWB||en_h~s}LiV1Ow%@ss_f!fjj9s>eZ^UI;sEZ(;BIX ze$Hfx%(pzYL%~#UB^OOr2?u#Xy=pBoY(%oE z^s|^AAJq|j>J-$SORL9e%Rv=4c`jIOg=;_jBtLgt$@2spPfr;4!u|edp z5qvVHg-B5`aXI1bsqUFOozDv$9l%Rt`1|{|BVHVUx3Cm$i(5|s&(I0hhi3pF82nX< z8QPZ_{w(gJAlU}*S%BMFNxo55Va^2@HNff4uC1v#V8XYmzrJ{NlFT9aAZL z#UCn7e4^EKveUl~s`2?h5JknnK|i#UhZSAYtd5cEL1+b&tw1ox>(6CKSH644lJJm& zAUwP;d9&a;fSx9sYE!1;udh$vWfs4X`{5B^woKO{iV5m`X8v;?Q zObf8Krrqf%w|e=0OZefmdYZlFr7J27HFOW?qav1U?e0L&TO9}%tIo9)TaTD(kSUGu z3fY3bUfL15DiTMz1+E-nky_)Evk{6K_#~gPcl5dGgvvmSVy1nG&<%2N-?|l)xE*oyHH-yP*CH!LxWsmi=w*r7Hs(dks#@T& zD+0R3`uoO)dii;xIXFK;vbw68UiyvHo3WI{#EzK>y4Mrla9jTI$XAR<@r!vsNm?ILL} z2r0%aNnRk}v!D-aiu#&|q_f9g@M@9#Hsi*3#4;ounyC=2;W+e(52%GR z49QxLk`ns@H*}j*Ux%nfPBQv9u1MJAGT=)a_H8VsdYNlg5c&oFQtI_9Lr4U71-Tv? zA^wJ*lHkU?!=0bc_!S?r@-}%V6()YYAF=n&p8i}lixGH{%&ZnS)0I`Z^!WInO(aOi z)H`>gg8W4Wcn9pf>#aovG;u)ym~3k9tarIgjQ^RiNl&}Cq>V_WOAgcP(2pdkkhgu0 zWrl64kE4 z;`2MZNiCE4?*cf-@P~j87@wC%-F4w;O%J^>m~U+XwVL^WEdg zvU<6l5){}Iv)Om@MF1VqWUwLnTQTU*@PLk`MWbIce36;>D?!Bi5Gw<}KTC%fC(hla zWn*JKG^$4AgP%&EUIl}>)t!tyqU5<4g@f;xs`On|)exPhD-yWid}N|D;fuiISZYYP zDZlR=*VOHEFw^!n5D+6B|HkTm#G87g8t{BJ$EE`;Y&EF+Sm`Nu^Eq73dGCaI;^W~&*oO&p_;}Hp##F3$2EhSyebWcB*ViM8e7!k0d zYL(CY)n~{So~3k25WPL3`Ekvzp-C7n9Z5$(Xb0M95sxP0HG|H&5tYc=;i@Q;cxtqi zcGvYziQ5e2Njo-5SP#7?no2pMMnkk2HcfPa zUZ+u{QFX9nnnIFj>`t6axcKQ0CC#D{`Y!FmYuB&O%WrXGBy`N7OrM9-06dKk^~3>a zf(P7ggL`XywGPWj6^>pGb)X9x$v&ucV}gkLs*aDi4`rXZFj8t%8lBytVZ(z}{Oak(KI)87sT{6%ts(O)l9+9ZM9eo~j5R zLE&?&$cfVd!d%8HPy&)BT41&D^%4MZ!karsSVigSikhNrTAkNXM?aeHy9A%tK4x4_ z@E|U|iaAVXUnt#(&n2W>Hl)L!q7v8fQO(!EJe1TZ>FJ&rsM+=C>GW#2bGNbsyIn+J zuDYd)P*jAn_e3jmc+oH5bveOO7V}$uPXLNv7!jaX#X>ci0F71MF0H5Vu{V~={qGyh zNyeWyo9^wuqfF~h(Fr`;f(C`eI~@~JB9|JrkA9i)+N~fLecKS~;TJ%R{Y`30zM~HQc58`8`*Q|W31|8GM|n7MCZ43}h*A?! z`V(~m+NQd|_cNpW-?j=uUdxg=u9>>$dwFc(ZsuC6={He z&^)8QNfd)BHLklMaa(&$nz(U%Kw!5TV`u-R^mG{%mA(JKD?RtYz4+jyv+|(j^%+** zLY9XMJ-cUQAe_=qLetvaKH@e?P;R8BK#fK3n9jT~IVK_D6+$C2*A}8^vJvgHRv-r- z4M2JF3gldUy)tvDcBRY!T4@^`r3&2eddiztG=r3zwSNxOaX_~ z-f$43XIU8OvP5yLSTZXFXq5`ZY0(MjW%mZxrbw_-ullfq<~uwo@UKAAc7!b4ZXqh8 z7<+P3THKKI3((@!^$_K+^tb^b-1FFq#+a(#=~<&&*&N@IO_$V@IIkxN8NS(D*B1jq z4@pn=I|pxBJEfV{bK>hy<8hm!P;j7U;rBM8A2E+sL5t53lGob~U1-6-XRaMzgy)G${ zTO%Is$??@Xm93Tm5A2;=!8_+X&wpl`b&wVk`zl@AOQ3duPHG;K=g1SI4>~b6RPw)3HO54c9j{GTh&P{ za`db8=mD9L{WsIo%kFekQ-bWw&uZd70@vPMOh($lf6JkCg{_|1{w*2iYf9QJ=%^un z7G_FY@B2*;QzeYyn+@;HvB>xR`2+4|CW=S>(b_Kso8%)dSv@U5=K_ z`P~;^HY#U3al%XstgZ7P`!(DH*4DgVCKsp`X;s}!i9{%0jO%tJN4ipm#I}`rQBkDl zKzPt#@{t;{km}(gxjtO|1GzVSPF*4q%fvG(3?`pa!Y}04_aIgN^Ry)SFXXocV+x%7 zaow0$lRutOkgrGn_M22Yf03GzpU|1K;)hW{SLf2HET z7vx`8;s1xO7`60~Kz|+Vi9u1D&t0q(9As@Md*UmBv%ix2_@aL;puC;;$p0ZbKsg<8 zZdZ;$ujSH~8?|#xT2RgbveN9!t8Et5d)I3P?K5xzgiem2fR;ml?{HpC+C5 zpBdZ^w}e!OuOpUo>iQiMP7-RNPU87HeRt((afo+sPW^=__~L0F3Dbr?LCfAi*oGD&V6{(JMr>?G5|Y# z9a>V`@B@nZ6I^O-FCdFHHY4C#tp?Jv`D#aUnKR^nEqKm-{2CneB$qikX&^Ocm;6r; zMv=e1zP=pKvl||AyTIBo3asCd_u{43>G`xyD; z5BU181^T~ZjC+Y(Uv8hJwTP(Xe!2ALrq8!DezN*)-2DXxlgHgkS$^%eD--6XEMI(e z@^8OfJFxx0zHyHiZ{L(MJonDdsXxwGvSrK8v`d?I#&K2oqb-b#lHdsco|@9c@XElC zIR*@`R$g=L?jEO}u~&xgdYk03^{?N%1tYifKVQuXxXAzWRXA?J|NI6h;`nv{`P+{Z z&-~|a%cs5m&))_wOp;60zy9pMAN>FBs6Xxk^p2}xYLP zb7d>7?qBWis7ekFR+unxqKrm6ed?5!v9Z0Ld+Px|zfoei4q=;tZ%_O$vu4o@fBEH? z$e5V4`}fsOojNtMbYV5al(pPC{r;L$FVhY@u)>d#=xC=B92lE#g;|L!$4UMlgv1<+dg%3Zqx6e^hO2r?~ z+Cc8Qd?~7l$S)P`Wy^Nnx^*l4VCJ3WHdznNZ!dpfm16$Wlqp3Sl>>c!mYX&O_w(v# zW`sSKMy^m(*(BglsG@2E#;zxUcbot6_KKDCsmtw)pL~7)AlbnCYZ_XU(hoeKqfNZ$ z>tpf|jHvxP=|3rHKSZ=5W7ABvv?ylbD)pDfPkQ3Q)+WiLQuihtCsnijE4cEdrq-6X zyXbRw8E9(lr-y_rEeMZY>twL|bA3j%S;vv2P25QcabA zhfGpld%EWQ6IV{dEj@RK+L>`GBo#z5s^P+bBY`;ENOJ6_s+4{5q zQUBKukCP32zNG<+ZSs4F|5Z;Cd4OHoihg0F_t+}iCp)hz=`^%G4L!U&?nRtlw#MH0 zwAuv2S#ovKJi#6I8DGO4JRVv-gKR-}xX;RpZXz2wk$2`z1sJZ0Tjk}O^3F9{;Y{{z z+4378#}tUia?D0wS-AbD*~^kJE!YyX7wY@kE9WRHyNa(9wEK{O1?!z7rz;!W|M20^ zv<2&SVsED|xqc+MSdw?#oQ#+o1LA%dQ)3@b|1@`H8r#8tPpSo@K_VIeDfJ4GxP+TP z3k(dLGiOc;&Rq+yTs5Hg66B&{;tO>kBlXQiUbi9h^VgnE+i`P&+u8yMlFO%m{vgG5 zu8zaQ(II~B$KL_A>}hS4G|40Up4kG@+A5UqiClTuYOPc4dq~9~N?7=)&F_mTnlxd; z1Dk9IgA1SkB1fMA-L zM3Om|mcpOb&=H^ezv@7{gmbX{U*#g(bEu5R}m z?#b-!J^vfIcra(%n0YIV0o=v^_;-ji#>yRQ)=*Vd9s2Ul3|HG4aQ&1H-#dElSxe2r zJ_G2v&0?8el1#zX@D{Y%gZ%Ox24rqsJhyjfsQ$^>cVi;uHq2ZxQ~nVyBkU`W1ZCpA z+po=D@@L7ud)uav{WEtqdfW>L3^X0rGMICLeAPecW&Zha>S*6j_*~Y$yIYzb9SgC|KS!Cj zclP}G4`O2GS*Pv$ySTA@%3LGG&DUdsR{Gn*2k&zvG0bA|Z0*SxGrYgNy|Vb{G@IniIG+Q} z_8Ilpi^sO|-PsDhc{wzc56D$*a){sH=eucX%c2=(xLbK{Ee7CkeVq1t$E!G-T~RCF zEDbl>GH>q&pKpiA^Om~+lIdfb@aQZP6O%iJzF9wvA3x>kBN)hin>TOPHk84PpFtbW za);85*Uuh0dNe6Y+ddu2V#e>7zF~U+S43@WJIZ6OV7Ug$=GNDzS%xe=m$W-}%>qN8 zhr7a3@PRBl{kgACZ`rbC5QSF{w*B$Td-?yd z%14wW>`yeJPX1r)y@x-R?;k#Vqo|a2$!Z`e*(4(k)NK~oGn8!E$!ZU)P(rAzkexkS zL?oNcLPC^1!u=cYv!u@33yRB7(8{$&>G_7hIN6)k6;bd`B`c%G`S| zK7RhQ8>J>54mPKz65$Uz=4|UzrN3&Utto4JU^sp(N9+2gJdubQb{~74o15F^PrsA* z7jC4472m&(fkC6#eRdlQ%j<^^H(}^K61CD_5@2uL_JgnN`zpsKogxgcAn0NBM@ zy_+|0vI5dD6x{RiahMoxYknl{<*DF63~MxI!XL+ki2pvYZ{NG@euaU$Sk|4qdUm-t zn2*?qVdd7aD-I83{r>&Ca)&glxTBpr4o3D@i&xH**@1`fNB8lYvteEs`YxxDVf24G zr6BRj*@qo<*e`A7T6RUDj+<<#Ft|7228UN?C+^mjb_K3DM7sW1+gBalJR=5FItfW( z0-o9p(cNisP+eiju*gjv>j_mMQB;qX+i=*hxLsqYq3D{6?#OOFKECQGX~Wy=wr5Np zlSZ1yF;JWcX^Q90oePt^nqh2W5|Quqgh!i5atT(g84rAY8_c3S;wB~>+b;bW8cLcS z?@uy%dqZ-w_z62ZewXu0gSlc1a#Cnx$qn`Q_Fn$>#yn9kFXQKzh@@xFSb9Q#BPXD9 zqYkV(iEX>S8Asr3Nb}i$ZGYYeVVcyDkgWuO)Sr+Cqf4^6L`64R*7{Yqgmz{9P)Nq{{}wyW%Sc6N4#9rF-h^83HPr{!dphUF3v z!HLdJ$U-?eIk^P|RlB?>Mae?=(k3|WB$faT!Y<{?#~^-g>#r`%$wBPDSWvJEX0C26B^k5u~&rjUk#>SR{fYoXfr4lKr4OH1ju3d|=;nb<6GCx3W8CWm^ zj+n4J@fj4p!oB{2Z}A2-BGVI31W&B^<%XK-+r9uC(3pU)%+`sDr1Q zE+X1*V3X8>1848je0yWH$i>QSk=r6T#KmBI)}E0#FUle&nPvIA#0ry^;xG-9sMY1G)xp8ribl(rd80a@J+k>NI<6EZEFeCO z)h$EVi!A-4czf=ZQ?T>K5JS&_jB5iwKKfXEdy{~Eyp_)=GKRL4+eG);y0z5Q)WQg< zOSq-`%H<_%AgFr5vc4xDOjij}w*he1N+9xFwA|>zq%!uZW0sYbUCtr_Cs*vkXfip$!QLK9v)y@0 zo+v6F`1@xUrXUp%nStHG1~)q@vFVJeoZKCvvI3MVsP>dsQPI51z`AYgRugxgk3Ks! zaSpd@pkrWyT6|@5bI2az_FdPnq+U`I-@ZTacI@|U^BBS1^VLvus;)r}0H@qf%aBxC zq6S5;`HypdFJvwa+19!M`IR$Tv(P&k<@2=>h4nK2;^Fommkz$x<-R^s7=Gt9= zqESIoTfE}aBX;$eGnKaDGJ_wh#FOQrShX?~#=v(^nkA8-buZ=N zjAH#;9${5xwyE7um|1rQ-=vG`mBGgo$2fULMz>P5Qk9WxIiu)&Od3wP)8LORTq2wsg1r1_mUcv zWEHb}t{f?8?zrCFrD%L+X6EwT#K0;lOj+shO5ENdREy)`5f)9%i!e>v8i#=J-LOR4 z@2AAIDJvp_^h~Mi=!8XjOliY+n3+$ZU^^eL%&Kh9g@Q2>o_caA{{y$JK8^# z=g==~UdLfFNssy-CvJ>?7?4RV9D7jt)wcY1H6Sh>gG`v7O}LqbMPgxLA&&%n zn2oSlliPf{Wv*YpE*CCNIM1FV|F4-i zTi|THom=(RU;Q(1I^RZrKfgxcO|4sov9Yn{NUR8Lww>*tH19se`deCsL0~rn1V0l8 zV#Mqu{&N>aVbaXpTq4McTYvU}OFExpqi-@9uNeAn-~5-;yFFrnR2UOj85v)J)wnA2 zg@$&0+V3x05eFX!1Z*VM+vBA16(G#xjI_({L^zoVaseNQO};e1|rB@ zQ{pgC#~Gc6Tj^xCKL%g{%`&@!g?fUjEH;DQ_y4`x&#GPQPCh#hCnEggYN(ucB`qNE zq3qS=dAFN?L4*`(3@{4A3gpZJy%CEXot{TnZSIEuybIw=u9)_CAc0|s3Pv_(=1_yN9|)cvk2-%z@#kg|GqRy z&4ub=41&ljj0VpQrN-CVYVc(_i}DX27(2pKjK06SU1lMT6|rnV<6ya*z&0sZO#W_F z+q`+R6>$(P$!4V(w^gXgQRZ4oD`{2lKv5&7ixl%}D_N9y^F7ztHn zW&cOt;zrhAIEfTGH~q(!d>HRkiaHiiO;}s$;jhGHp;-LgQPBK5{DiG70lmSU3Aw%9 zMHxV(6;(YVA)$+F8B;CZb?E((j-iw(O3 zWl(|}2Q9gb_KM5w1-+Xy+=3dqA>*O~QC!Q*%hzEvL>zyeC2YXJz<|eq_x`otcww27l^t>Gygn-^$rM!ruYfY96+>ZI zTU+}r(=31&APuqVGOCkA?aVk7h+2wV0!~+4uw^O;X(OtUQm8#7Edrj3dM&zt{P00b zb%@{*QI@v$E{)88(dZNM@f$>h5M~$5)3+SkRE(o#O{7%5ecuCu&jUx91cL_EEbMbF z1R%#MCWW=c|J{h92f=ARg&T$w7Gft=7_?+5HvzSz zLZVKg1Zx1uBnA@I*?D*OLSDVx=a|9)EElT$#3h>5L|Qp6jaT_f&HD^WN$z9E3@%m%UrD;U{owgC z2y<$vZ9M-KpdcZL^ncTTnqkea7XD2S0d2}FD44LH0Z)*7qQlisXjhX;l2#&sDQpcpsw-#;~dq^`S?fX)IS-;YVqU}Q=)9~sXn?N&IU}FBE zY3>p+DO+#dRjg06ACNP4@Mt|Jt_M^Oiyr?}WQR(gIUzhWl=zA(f}OX)PB11|4k~YU zwp*OP>bFa%EKmp7q6w(H_1Dq_u3JebEl7vp+m6+^s|^k(qck8U`YTF>EaQ*sIQQ>A z2oe}lK!R(Wz|kg&h>2rkWA;Nl@*%v|F(X)SVftHRD#f3cB!v1huBSWzUgYwpbKS;` zW|>QtzRP{N9mx38PE6RSlmt$d+}Sx{uArK3{Bawo=2x#?buIE9KCDEyk*xt#d6r2z z18nZV-o0Enh7i(BfaIE;b?K~%W)J=ScQAnw}gKP2}k%4<;@#W!4Z-GzBsSb8mS zc^Cn!r0ZF*sH&i;tjoiJFWH^)Xi7VvF1mEJ9AS?+$H&-`+u3CO+O-0zArho{k+_kT z3l=3UN`NwVHtx0|Cj$+dzq_^e|Gp+O!F~gM$79ys*}X)^BFVO^m>~C$&Hp|1_@H{F zsELr%iRK2bmX6!%QO9yVd!|RjNwtuVCaBF$0q>B=GAGVw#x!A#P%@_FBw;H?x+`H= ziEwNjccP)Fxc-7zD2fyG6cW&@B3Om&+@}_ULu>2m>svQ@y#*`p*APq9O%Y>ZnEcb# zmEl$&uM!dxvhyu5dug02P@xPX)R=bR6v|G5!dmsi6qFSRs3;sn+> z4DT9x`g$UofM83!T>Db4tb1t4GKSZMG-IhKa&~5RcJtz&^@y3^m7X+!mgI4{fD4k0 z6jq+y2Q<;{^T|3Qlf!MA0641x>A{O9AiNPU^+~g+(}@sTQgc-RtvAJS>bJJvZt2cI z9isJxqGl~CF6BME0u*>T4jobegByt|F&?3R2o0fIKTJ_d6C@~T7E^P5H5bw+==u|KjB8<*7Nea(ndhN=l7zG3xJlW+ZyDK0K1 z8Vl&IUDmEf)@OH^oSrs&t8dqFnKWYpc{~#;*^B*O8WPl&Z!!75Tl|e6N076X!Q9a} z$@b9x{ddkjyZrU}i7=^a*+A3wMH+CwM@MOCX*0g^K8;E!qtQ%5KL~NFB2b4Yda-ky z+)@;^y1ATX?Px$*%pp7yodlG`7AVQ(&z#xA$n~qUr~q_G@Q{DQl@VM@CVw$n(YE`;PxiB0HMlFv%-dC)xj)oy_sxsua>ps5Fvzzj% zkqO@?_jAXlO{LV7)xxBfdh}3n@B)v5#bZ800~$I84oBiz*(-r6m;3Jf7oZ5t|8~E1 z>%LBRK30Bv5!OlQWM1;CtE*e{i=hbH>w(q3kRnx_Ao87oloA@1aA&iopz((_1bGvv zlUlNvj}WQ6^xVEH2u@PQ%Ifug#i!3fq25L^KXH?mFin_rJW|`HuM}8f5+LmX{AjXK zK&Q(6+|I&M^`4k)T^a^n&-w#|b-*J!Kni%tfG3u|UT$CRQSRr5_$QPwq^VsAmKG(sVdzU3 zrl+SrX&7uu4kt*v$7q?yVTs-mUE7*65Kg+|)9K_tsiPwD?aX!Oen2)+C;eg7#A2;vD( zGKdsBM{GRs?;mP^O@ft9)J$D$i;8sKd=xwvzVynVi2a-weh|zP2PYil=jU&>1jDXOv{1mb zt!0BrdH2mMwRK6QhR%Q%$$ELJ1lG*YOi@KQmM0zGj-_!mq=P)j9RaZfL zDtky09&dBu4+Fp-2N%~NF0Q+)b7`b0^OSxQC zl!T%mgPorLtbu2AR4q%rsR**|#ZtItS;j%6&w3@E`Y5fNV#q;6rbp4B1txv4tE7Zz zz~hzt26yCyfj8xI;9z{KUg+i7kByI;ICS17kocJnfc$qQ^a!#{;*PI4vsUP~3=k$L7X@ACg0|zq zqx`t32NE;jo`^Hz6f7_#a!BFJNm6xXu&mfoAfTSm1XZMtZXwp4t9{G85^Y`brx1N8 zv?l%4*oFZ3@{!OVT}AsWb9UrL0qXF8N}7BM48oZEKquA!cn?XQVy#^xH<n`J%`Q-uL zvOK_|K(M|n-W|lTAt+mk-sfmK*e#;`Q@+XrNj8`8k-o=S?}Z3j%_7k=cn3pH*BNax zY5s3=t^&QdVZnNEWF+YMia<`74pIRg1&NwVw4TxpT@2CTNQi*W1YmE++X?_CVH7~0 zBM;r#z`UGz?Ki9pUXI=T%oPuuK`3V-kx50YI4l$V4IYzu!0U2j;$u)Pmt&?7%(T4q z1T7j40Dl8>BXAH6^X13fzVevua*mE~1O)|oQVHN2-_djpUIaT62{be{jZq8V)&8jB zkDX!Wr495C6;cd}5+U)?RXv2xBKQRMC8N$;3BcZMXOxwjfCGFRzJ%~asj+c^BY~Po zP>^m}OA+BW!FBS~sYdYSCX?o*Px_f=HBCUPm&wV{2W%32xwN+VSB}pzBKp*T* zG&D3Ato?iwQzIR^z>-!m(tqm|_>K-MZ*&>_`~5uthtX#HNAJI%r7SM2r6#VSu#%^{ zHBgFQj!6-cuKhQh)5Y`|#Ii9l4J~I%wr<+={FuiaV^RrpF+1K;Bcn9lSWUkq?(qJ+ zk|ucq!@>^UeScw~7WH?)=c71V2CkA*m?FeX!s4Wz(9<+)-2v|Cy|oa5FqVMpmkpv9 z^i($O6T~J?M5ZPTv^#LcPJNz9xO^E410gc@>9xu;u?ttLeSO!*AB(J@FGk$8z=|ub z;Z(xJp|voXL_{P2Y38OK2t2;1tW-7;m(%+X6+im$LFTiin+1*c{YySzq$MUtckt?6 z7Jd&iM1>f#RZ|tjz33ETIci8gsEWX7QKe20RHN;97G|GHQjLHr8Y zZY#W+^pF|MDA@PU?3q|7lwBB?$xPxH-|30`nDF)M*??oVU2a2%qj#bEDJ#7&u~p?c zEstLAS!A94Yl!FMz1=lP02a|Fj~`!*NkIePYX1!wjn1)n5K;+e9_?exd9ru!-X~3; zv9cYFl=|H+=${dBKAi<5;IG=Q+Xk7Jloqf-#1Zj3Ftw*UPu(O?Xv~YHFBn-StG)gD z%2t1D+sw##*|9T@X_HN7VQ5moZf0gnQv=}N(OidkG-97LDUit(kIS+9S|hY*7lc2v zNx8Z9vaN$A2|X%aLqkIo6ESdLIJNzd!TJqEF^raJ94+7NSCxd`ESt*+I#;cAZd}UGK4q0hf^i#_1X+{(Qr5?9WTJu@)q}?+BefMQEQ00x`nxp~Z61gUYe8~f-TUS~#CE?>Xf3x-rk35u>Nf-y za)V)o!&xX*QEZvTWN&xTkxW4a^(#k71VvqE zhLQO6Qq$35Vt1h5u%QuYb9k!13ZzUt4l=D8%SW!QoMZykl`dOGsGpE)2c55Rad5~G znn!%SUqByfagnL{0O=g(VWP6~T^i1oW!lx-FEpRD)If0XgdWhhp$MZ38sf>2Q?^y> zOOOlf4!_ZILMytbslN(YsIRBT#Jn1AF$iU4<)k=PttW#Nww5%3Cpvp&qIpC`o3w^;K79LF7~-NE zYIVP==0q5e4i14zcRH*V=UY5KrZ77#vY8gI%1CO3*He!PJc zDD3*z2tMDo4|`R4c>wZZqn8{#8)*^SPQ7KlU7>ZEFqC0vIgS1>b0Cnks1@UqL;uIB zFeAJ*yf}5&w}JQktA}$_!CbGHpKzYP-X$nxjm5H4X%5{`5*Szm^=9e zy&Ati$xtO)pcRlm-FZ!ato;C?DnwaOq9svyfg*McaCOysex|GdHQ?MwDyp|)LO2dTaa2}~9F4ahA+};FxlAC;c!N(q4<6WmC@*jOapMe(!dJga8Lg;})i0rB z5<{tBmE`aodPsjjZ3$2+RzYeIUHkU`=9<`ZXwv(y&2*q%lkgQp@E3C17w zxfo7EwT}1<{LKm?Hob2My2Ko>LXb1UB)b*V3~m*1Kdn{(&e5hPIRl3tnfs9j&XN7# z!OC>ENsG3sek1_~pn4Na35aIe3=TYifNVXJ@TYUxR@x>zbK0^j`?c~N6WCF-X|!V1 z?OV~BjVOGwC%M`w`oKCSeU*>>sc2}$h-O=ZM64qYsvgA(Ycbe~-cRG-XfE5dHAC!Z zL-{*B?ea|Q3eYaYQeA6AZywtk1T{qU zFQQQb_#u9EECw8a(U24)GjkH&a2aZ;Z+Q;!pjaX(w2hw?K%J?=JJ7;b04t^lV3b`I ztsEgvsBf&x#v9aB24FmPdHvadjRfAr#%aa@>lBIGR~ZJ~~gLbd>9MdS*C>l^>#KI9gm$mdXsC+p{1=Bim328Z$;CF+*tw!B@3Z$H>hQ<@?@-sB0 z5xPZgSvqenUluh#>{0Sphhe{jri3VqramdF(R4>ox4kRIV1ipwtA@QlErY74Y zhN{$L$qBmO7TzZu({2OSqx%uC{oVcjDv?$`S7PGhlOT`bxkt|^bjkNH-=YF>-&juY z98Ivav!ai~!V5(shS(9k_Z(S;^qL)*wo(z%~NX+A#l(7ZRYb<g@9qIcp8Fa*il0Z9ZodZgTOtK9|$=H-nKjz>?>nY1u+bYSS&cD`G5Q&7_y| z_6j9gx*82DVztw%D?16W0vUU4lgT_DfKbx!_)JS^HnAF|`eJ#B(~t(?vpe|=Oa%@< z0ci>X$pW{1>-%*A_JM~ETN(;2v>fqMx*F;0I4DTYdlHVQ)Fwwd+BnO^5d+~!_hp5^ z0;msyg#TP)f*U5(T4>#CpZ75}HC-Z4MJ#t*a7_boJpf8^8G5bIX}p6tLAMT=Y0VE& zB1S(K^6%ZAlu4Zj-@Q9K_DRhktIxOn~AZFY4Wq>pq)7^iXP~DbM&N z+o7HozVbt6sRB0QUgiRKBBLe~>xR%7WcO|R8n3cDq;RG+`t(KugYi7S4OMV70BJ!7 zm&?{ITh3!6C5WP)$$sG^PzxxD;gU9j_oBJ4L8cB=bJqf9yjl^lS;)N+)qWz4> zcmE z8v{$sfSfPm_bCS_F%~BHDN%o+7rKMOS6NwE2TjpLPRW9jW{Te4P4jn&IZpje)VoG2 zPjn;=ntp=w1Sq^UYD;J~i?9KgjZl98 zY-eWvTvkGl4hA^TP}+@buhA6=sOiCmCqyC=fmRNZfwU8gKFC=K$Z<^2-l0>uc2$lw zIQONJxU`jJDL;EHcUHPD5s4U3cL+O@5X8Qe#fXIS@3YX?y}8mO7x2^;ArAxB0I@P&p&#FuC=3sNvY!K0QH<3 zvVBm{KiJdLLkO_a-Oau{s~8Xe$3n^f6}2!_^GmyA(e`ePZlE%GPDgbkc{|7K_|!7L zP5NskOv5h<_zMGcc5Uw@D=Ip!XBMs6yk*OeM?=aq$46M9nte{?{l0Yr3Ew}PO6%=NmR^zP zU|1+%*pEn{@5q9}?M)Aq7dBU}*kEe?5lb?&z3f-f(u!k!%XcwArqc#9T{*T6HEK0lnNb6X+`ZkqPsvJM&Pb_kdV%k;I|suLbDn?nSiJ7Z)lhCy&0WmEdkq+F|=06T< zElkMFpXk#8G42?#=_0vZO@Ne~SUJ*I>~ZZe?5MAwNB~5g4|Pxj(uS6)&+WT+laL&+ zAnYbU&!B4T^>2+>KwC^`0ZdBlzTY5fV#tdv!P=w5H9bL<>$9G`Hqco?hs!)EMy+H~ z3OCx$Qj!J{OKH^F!1EfEX42Q=`0H<~%Fe5!4zbq&hc%b=AqAA?&W?pL?T)J?ihs`s z2C^&p#oCy(*u(40U1AMn4<0(GZo&62exzf{cxV1a8im&51)OQe=NIXasB|hk`MQXeTAX|94CCsdyH5We#JW!_q&Y!>!KWkwDE_@f(Q1Z>-3^56e3s5 zzTdt05Zb$0_F-=%(Zj%Wmpm7S4EqtWs)((PUMzZG(`0x zTS%^lDz1@>{V_bHXVT8nlS-CAJqTL_(Rxri_oH7Ji$x zqD$bvFbxUqGu&_=YKkw|-Z}~=igS&Rk1uX2_>H~aDp5m?k4I4?(NwHNGs+&W&2r4$ zwb?5K4PJLJ2VH*H#F+>OL45LCmR&7Y7o&2Bf?W%P zfx3W#Bb->4p*%|y{W2nphP24FhQv?J(?U&3i@ZeYK0@}4Xrv;^eL__L@m6TFp_der zZ541VF(@q3o|1fpe@|kKZ7?K0ipt7AA^*}gF!%!0n|KB1gu7!mv^-d)OAkc&M_oqr zu#cqD*rsdH;EdHrEefNK|7Sy72LI5VoVN9^sHpG_2rx4@=N@*J!2fWlc~?J1yr1xNHW(m&LNJ=Gk6>0HkEX{FNQj4txesei1NKbj}L|{(Pyyj#U@y<1jLU57S z(IGM6F=|rR;sCLyWLOQG#|B+V-kaHpx5(v_HB?U$|LRQaLtZGow|w=<0m@?wEwNQ3 z?;`cjLqAuO_>IeykT!;1wcTlACArabSz3hh0{te6d*(4Mtu|%cMKt}=9$ljIp5v_z zlSO`GJXVzGZ>XGczHtm2?yVuxPLo>HVyX(m24b&8(jApdn&TdiL&VugMlx%NPe;!6 zo|Wk9J=+|NTZ;UeU@;Rrh@JA;iCgrZoKRI>e^?IxBuxe8(;V+ueH@A*@6CJhi&8hY zfiC86{)g~yqtu2`C$3ayqNI=`#*8#H5NowKMEvX8=_42GOBhHz;ahOr`O+ulo~Tii zhcf2j|CalZiycjjXgWCPx#{mx<2U?zVUt&rM%_3o+~v9W@DBJCBwTS3 zTd0XK^ZwpkNPYaD7w#vTpr69E<+UY$$L%J)QrVg8@&ixjDmh3hRh7TD6K~mvca&Zl ztUu+n=J}=fyNRKQPy8N2H|T;3d*ekC^FS=m9&ALnH(&6t2XUXS?oEm1L-iEmUf3^J zZNq5Yx2dH5VHGG_Ple+KlOs%162B9|J~7CzP@d>j)9@Uw`K5g662SAkGOL=#31n-FTbJap(|e>llRg%8nrkE^29if z`w27w4wGU(d~oYkGfA zY&L_RDAZ=rue_YLJ(K&etl7)h1Ni!&&_s=>fO-mMMgbr7PJXInU%=#WB@ti6mNS>1 zqDwAT%6O$rM`F|`M#$=;UggUl)xol5eOh{OvhswWUIX>$E`P$L*q4Sc`6*djtMHMj zc*O&59FA6=7+yC=k(1YQId(Gt|9nkuR7P6MdeZVW;)5EgyjP2elS+Rv9f2KKy;ZDy z_u~ln1#f@i3apt;a-NocHSNmwhhue{3(aY8GsJ+VZI9q^QQNU2K8WYzz&==pdC`W! zkys8F)f@RPNvTvM#&b*e+-Q%>otM8>n?hVpUx0DdFV0Y<0g@e;GKGfZD@jaCc4AQ7 zBBd?(c9|?JjZ~1*IbWjQ_*1Ah0^`<83~QP?X1oDz47N<0p?>3lv(z>Pa153?1# zh1w3|Pg=Ut>mWRP7ROFCWoD5AQiCyTrE$+N2mR8Ov-TUFX`LxKE9HbQ-qRC@nK?Wd_l!3`vUez$fmBU8{u#SGm1h4E ziA=sey;D`3V+k{1mcyY=g-Nyjmtq|)dC zj#<&ZhT3NGNL0eHoB%5Yc=ons8_CXJKpjT{!8*ct%e0)LA^LH6wh5P`$?lG zGauhp`o6hSh?_N+H+~h>lg1W2`qD(Q{!~pNiA7~F<~_{V)GE2qxF^_%3EgRpkYo$Sqzm%0ZXpmKkDyxKxLkl0rmpItPi0P>w&GAYdKU@6wP; zT^w;0BMF{(o->iDWy6C-I!OX}U-H2IyvMyk!Mvm{hK9EP?sz!!Vcmm?q`{+_MO}%5 zU($(*I$nQMFQ`$$J|{7gk7IT}St12HP#JAVAue0Ms%XzqA=KCsH7P+_gV0ktmvx0J zwvn=vd<+K;2Qt^f{=A)t%cMo*4@AkhiC1h4WT~Euh+m3R3*TJ1V+)$1f(k>nta>V< zj`V8QPK08=Cqa5D+J!g}DXH-?t%~lz-BoUW)A+^)D-Aln{dqVVlEaHExILLdMQZV0 z${ab$A`G#5RDa(GAEFXXlp-Sc^VE=xS&A3=OPnJq_h}swDVsR)SE=$Yg#ociNBK?N zp&O1JB7Sq=SFD${hUHE1-0)u2z>>H(ixi%UjzJHU&mnl7B=I8LbZ_6Sy6YG*uBKPg zL#w~~?U1G-b(7CV4MwR5hHQD-5#`Bf^tF}aPt3E$k|#0Nu&kD))FE;4C@1Nw{Mb#7 z@<7En9(&Qrx{~rYp6g(Be>p7TS6yr)?^k`7adXm^tKu<-m*SWqxmZ!qau7*s6A>zY z$2<<+Q~GuymD)8i@l?3aGr0U0gG%xN!XF|V=3HYFy|^-+N!>b?0~E@cG4h*5I+77R zF~Tk6Np%uEH}iaXpk!1=OY3a*Ae_ zAYR%;pMlFpC2DBc z&K-eTi(_Zt{Ix)rK=*S=si0)6isG`ccexFHSw#Nru8&f`sB;U zjS(q2eoWKKfdN7Dx|J1_)WE9bbATPCG&s$WWRx?hsw|=u??@x|G-KB5K!wa)I1U0| zNOtO^!`aTwuP~uKkJ|e}x0`lFp$d z6?x7s+o*NKQPa(?Q=+dl|8N`)!Cu>i5xvHNtt~iwz=)Zco4;a*_lJ_#(o6)hoEf0D z`%7i1P7KhU6Atwy+DX~87F|Q!;S{sL!l2&qxMfGo(yCrFLGTRrzi%Fb6>!*AuXcB&91-cTv-vH5WJ~$5r1BY zSTt$$n2#ekl*b;M>|%PQPB+xx9H>BE4D3}QFFx!2Lmnxw@InR*#fR}UA@&C?_Q#40 zVx=E^L5*9VD$Ht;2G3#H{Pvq;k+>6YMF{zr;+V~3;lo}7;-xei!T}ifD{$}imKcb- zC$8$ZFf?CfRDdYc!d>JvSkqKG6thaNM1HK?V%|lbi)2j%lO@QtK0KCVoIC#Ipg$>s zV=Fn*pl3YXiDnbVwfn*ZQ;kj2vDuQQUmST)>R=FR-xj^}igGq_5g$LX^sv!=$cOdZ zCtwx}@jBTNs4oz z5T-0soj7AuLK%rGJ@k@l0am}ns9fDOp{Sk)7yu5$7}VQm;A&t zM9#YGuaK9|NmSrIOzBE4D<`MKIIj9ShS||)$JXNq?sDQO0?0TiR8GgnDI!E9Nq-(NAF7|lwR-Bh- z>~0I*s`)Qa@-ed3^SPL&meOlTKd(LNyzJIDg{YBvIgW<+s^C#}!<(L_SZHFpoR&P4 zvj{_B71-AJRQ{-bma3mklh38iYi@<&&F}@exi}H@=HO6tAFpm&!6qD~FfL z(Mf4DgkslcOYzXsja!qtipU3#Gd5kzapTp9YK!t*vnPFaBdPRfm?oL?VoynseIi9Q zP=)aHn#LLI^qu(4@gssBKhNsJh(GE*+{2V8r7`2cD6ZLf4$9Ns(`5hsp^ABI-QEM# zBu4X_!;8)J%4?tS#yCF94@Q<1rSv18395N?l}V$vIECBw=Bkhh)C??q(u*@Z&)Dy) z7!9^79f!#*3|=64OU37GnAEk65Kr^;;*9m9RF~yG={1%Qr;Il?e_q5Q!}aX+kq80i z`-52I2iE*`m*3NEDsSf99LSt-3Vaf{KbNNxjB6RC!&G0!GSf-+jY zj#fM#yqe@jQ4VZ_B_KwdX?;SivCUURj<2GgJA6?(xlEelDmUkdl0SR+bw zoN#@>7o+o1kLz}Iw+35MM=A|$v6HMwx4^L<^o?SHru!EBNjFVe28SZuc9R(G15{Im zZ?2lGSp0bn>2)DTP4u6wMvvTF{QRE{zN@`}R;R@2Z(yrT7k*CCU;8;tn!@1TkC@^| z9CWm0iyS?E{nsZ7HoU?TSvLKmbi=4hLwWO_5SJ?0lTk8L zQ9Ra*O}%={^eRVAszJBkiRsUz>bL2d{h_-UrvnvZy#gtoJ=Ze*1R_j%m-5ODZAp|* zf0z}HR!c{k8um=e$cK3MtEQ|L3)@2d>NG2@SfKsKtsIxrY?O)*37oqckw;tjJ&4zDZl;~!4FH{0(1o-j8{z1P)$x! zRolHSe$BA%P1CE6@=S4PN%<8Al@{E3Jk#3F6(w|$y`sJBg1iz&^%Pq_8Cv`b{#C*1->IJ2SH*33 z7Wl8jiurkHb?03&=O#S#%O?_3L+ZQ!8j@Ro*~VM_=2Ne6i!O=Cl33-)lp21Wny^$~ zNuN8grvlm|3mZ*`hiJkzS1b*M4(6L0n^Sl_+bc=X2vaGU9%1NUeXBB9ckAA}M_L5eq zziy5O^Gf^yV@R^IbL6wWXlj0e&)oWg*+l_fI~%k6XO&NHSjPl#McP0wJ2afoAI!>s^UfW|<7+UB8W09=&eWpZ#RxdzPgw&HK3b+a12jF|`8GdGR&V z1_lA&WHOH5o8PK=(KGR!OUa+2$i?DmeJMq(@>YkQwB_+;zx=Nd}!%)u4p9SU_n9sZR3$&~f^NgsXI z&@f7j_5S&f`?)qa8B@P-ZI7rn)oA-6>!9>vYKkE{dAP>)-`<$fIi1s~Yu{deTHP6jBiKxy&Y9fe-}3n_Z>Wo;OW|~K zZM(1bYx6wILpSrbfBGOjT;%Q;>AsLi$0l@d_OLH`vuWu?7&Z5vOn@uVizuc7+q)X`wr zmC<*_%%+Uz;o9Pp4mCbc*(ayIiZmtXQ>fIN8MgQ~o0yITev&S+`Z&D1?Z@hYmVz9) z&`3xBsY54)g@^0P_Ay*~UUR+P+<)h-Z%|h7xP{oSb8>N!TlKD3PK9r;@4$gvJ^|J) z)7hpSR#?VLjgC#gd_l`M(p6^y#dRnC~q*aO-#LvyEF09yj$+=BJlg z-J&|<&|W)7cbhSsS<#ArP3XN%?qxeVf?cAne)C$S*1IzDk~yq0*Jt&E(&KMg6zJq- zH2#j>cg@m0XA>=_d!9O6=sqvgp1iwqzW%lL*Jiw)SAM;FaeaMp_TC$MHeo-l8#);0 zLY*tWY}R#DqYYHJ7`&OjUGYt6#fSU(g|QC~JMznu`^LV%X(Ou&+~)||{^IPbuLc== z9Jak%b2ov~zirW8yLt_0bKWv++WQmv#+nLRqgQme^V7xbhV`fS=DX7l!F(&FKrtN*dOvc+;(x#C7&G}euFvN z9^SsQafXJvJl99h`Zhy`@B7x|N51yu+iOcgckj}d*ARWus$lzx<@Ty`jB=}z8d7!S3B?ibE9fB!++&2TT)LSfhW znYu8}#g``oYQCROt1qX2sc9q=@|%-!RnOWtf{9^`avWLWj)OUD|3sTF`k!2L>U<-Azm*lp#bQQzJ-e_S^bHC*r}=51GIdh2!<0ol&Ui%PNT zkq2$I|Dj?zIGJ*f&R4Y~S?H6JN$A`f%!TD|x0znuu$JwG+9@%g~i;eLKD zIag2dOKCqyS$2E9OHb50h_Ehp_&U-aGUxx<&bW_JUGV&_&wZ=3CBvE7Zz=IBp7?cH z<+>2-^#zY0``|-7$L8iOoi4KRUdq36`$^-~l(UtBiMNcX7z6~pU;Y-}MXi3KKbqx` zQK_+o4y|cIa$JMfuFxr~tv%^kj~4!^ER02TO@wH;rtDxpap7@kygGAI@Kv2`;m%na zi(%V!g{5f^|Fv~Z7B9R!Z2Y7tMXHpP7XHo3!H_br@pXEZWe%O-=$V})yVd$;Co9sY zo}YiV>x&|<$Qt?&KfgI_Wc9q5>$B;L(zNRspTYHM%6qkM1uD`#0S~sAyMO;vmqYWA zzLLS>mOiQ1;+a#YO>02PESpr_Mu*FP3|i+$YyCo%lH3Y6wwvb)Z{Te$mTD6es)=D1 z@M_Z#S)EfaGZj~=AiO_!cZB40)9%)Nm$ZlTX;$6nxb?Jon}vS<)mXWw8xsnSCe*N& z*p2=wV|SV^I$JnAVjCV-spuT#y7qqic3OM2TPKdC2%mkm{w`m*PPV>XerlbTN4@sB z?CXqg#5OYQ?veKq9er7PaO7+J8rGeEJy=vEKVHfVIOoH+)zLx1GK_hZ{sI$giLOjl^y|3JzBMy< z%;h|F{FJ;@Hf*Fko)ohhd2vZVxWV$tlLkFeMH4Qk7h66G%aw7_DQgLq)ga5nFWOg%cUdcCR~;852d?T#IY)E2#-FzAv{iJ z@JPo+Kauk}iwdVEnN$rs^55p$*tE>pf3A}t*9S^4(B0fvqcrMcBwb%tzi@}OA&qXA z+{^wWpQ6XF-kB@o&M)?1o32S@r|*28aN$(a^{W0?|B~ZaKU`}#=;TT8=uHajMtC!4J~^pDO(U-EU^%hj_=L#O&IR{Kjgw1#Hg z{h3yh?3YTrA+|zCGJELn_oExe%-S3FY5Wrsf12MReD0xhtzqnmW|{hdn#;Nr|Das| zh!IM_g=>Q%o{jUdyX#hIuD+P}UU)-EXeCdGLZyLheg(6|%QYt$jm_WPVVuzll95@% zb+0*HF5m-&MVyt7#^9bHQ?d-ptjzwCG{z54Ht*Xrp5%LZ;>rPqYho4Jdlmc}id=$S zZkk0EX?*Jc__co*6Vto;`+pl7C)OX3(k25J&ah-Z^CjLI%Q^(@x_~k1-QmbBc zoz~_&ApeqDy@>W`%+^&erJi+7Z*XvbdHvjEs+L1~*aB_coBYJ&=_2p*A47Jr>~hr5 zbPuidi#HOi=Dt7UqNqM}@!_IsN62nZo-2!6HzepBRTb=#yVL2OF8wblDj=fZC+m1d z`^n>pevO#|w{-2yv>8}pl?G2xcXNm7EvlWmye&3xQl@#`M{h29Mt*OqdB#l>dk=@3 zncuCG77@4Cs4zWtGA_Yb>Cmm>8;5A$nXIQj_ReP9aKjCM*^@M8!u7xUidO62Xr|D| zylQyP{ZH3S%W;!VLwoiZi9WYu;=1Vc#+rr~L$&G)>fEPJj-9tI$|(4^Ve)If_3DwY zq+MfsJ?1L6pMAe-*PW?7b7z^Z9=e*6>zPzrzrge-HHAyW%RS`i%-qnk`hgF;MeClj z`Fs3zjJM}uG`*I8s!-aM?}GHvQ$xWA|AlFC?qrT?zDTbAMx$Wa{3t&^TWRX6)4*lh zol{;TbRiy(hx+_~{z~pyXq;ge+Q!>EKXS!GJm0Trb4*$EW7TurPg4exUU29O3b{QM z5Yafut$6WH$}xGLv8#96`b3?SEC^5haL^QxY{}_IUEWy?%AH*2X{9z8<2odM>YVgzbCL z^`MH;zZzDIEdAqF(Yr=#tb&Y~- zvF#o8`WgL z=Z8W~UzfUdJa6nUF;y+-eegrBOvZdWb4bFEH`aG;c9dSw=&q?-KNIuo%Jg#?@r!r3 z0>s=SS9_83IYV@LBC4lD_U~0-ku;KGG>sQ}BJ^bXl~g6F*N`+uH$zuhnQK4*Ub0(;M_S>?BWGka!HH*K9y zqTV~c|7o1v71kFT8r{V>P~hN&>H^Nn_YNlXhg^yKRK>fkoBvRC6&QOr24?^1^?kGe z<5vVG7XJ^En*Be|-fx0-fUPt;{_iF=GXM9J8s-b#-O%==CO4fd1wOIg)7H4e>;{6? z)XTtIxPN9c`@lQreTP^eV*C;C%UvEQ^yOV+dk%5#+$HgsCU^@33E1Aa?V;}M=xF7{ z+&BVWR=HW-^{}!$=4I<~|Cj~}ea%wB3cRKNU2M#|d+IX_b3r=jB_o@@n>o??_xe`@ z|7zf04g9Nte>L#02L9E+zZ&>g1OIB^Uk&`LfqymduLk~qt%0Dfvb-bOxeGc|@Sy`M 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

4s=9afDwKabdD_diGS{!G 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%0DnGQ761wv0%{x^rv(0e>~sYu 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 literal 0 HcmV?d00001 diff --git a/docs/pages/figures/mzQC-in-a-nutshell.pptx.jpg b/docs/pages/figures/mzQC-in-a-nutshell.pptx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58d9476255ff1ffbc35e36f9c294a80bce5adc1c GIT binary patch literal 66502 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

b*3tHjV(o0d2vf) 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 DUgSVh literal 0 HcmV?d00001 diff --git a/docs/pages/mzqc-in-a-nutshell.md b/docs/pages/mzqc-in-a-nutshell.md new file mode 100644 index 00000000..ccde74cd --- /dev/null +++ b/docs/pages/mzqc-in-a-nutshell.md @@ -0,0 +1,13 @@ +--- +layout: page +title: "mzQC in a nutshell" +permalink: mzQC-in-a-nutshell/ +--- + +![image tooltip here](/pages/figures/mzQC-in-a-nutshell.pptx.jpg) + +>(You can download the slide for reuse from [here](/pages/figures/mzQC-in-a-nutshell.pptx) +) + +Here is another summary slide: +![mzQC-EBI-summary](/pages/figures/mzQC-EBI-summary.pptx.jpg) \ No newline at end of file From 87385fcb0a5a3ae57e3a196949fc8ec6363b7559 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Tue, 23 Jul 2024 14:24:27 +0200 Subject: [PATCH 06/30] Add meeting notes July 10 --- meeting_notes/2024/20240626_telco.md | 8 ++++---- meeting_notes/2024/20240710_telco.md | 29 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 meeting_notes/2024/20240710_telco.md diff --git a/meeting_notes/2024/20240626_telco.md b/meeting_notes/2024/20240626_telco.md index d72ab595..91c68e26 100644 --- a/meeting_notes/2024/20240626_telco.md +++ b/meeting_notes/2024/20240626_telco.md @@ -35,7 +35,7 @@ We will prioritize tools based on use cases for the mzQC manuscript and try to e ## mzQC manuscript -- Current Status: Manuscript contains ideas and structure but requires substantial work. +- Current status: Manuscript contains ideas and structure but requires substantial work. - We discussed the different use cases. Key next efforts will include getting started on those examples. ## Other @@ -46,15 +46,15 @@ We will prioritize tools based on use cases for the mzQC manuscript and try to e - Wout: - Finalize the updates for the individual run and multiple run examples. - - Recreate the Quameter to MZ QC conversion script. + - Recreate the Quameter to mzQC conversion script. - Mathias: - Ensure the validation setup runs correctly. - Update the QC example, focusing on the metabolomics batch correction and QC sample plots. - Nils: - Double-check the metabolomics example and ensure it adheres to the final specification. - Chris: - - Add more metrics to PTX QC. - - Reach out to OpenMS developers regarding MZ QC support. + - Add more metrics to PTX-QC. + - Reach out to OpenMS developers regarding mzQC support. - Team: - Update the GitHub issue tracker with tasks and responsibilities. - Collect and track new QC tools and developers for outreach. diff --git a/meeting_notes/2024/20240710_telco.md b/meeting_notes/2024/20240710_telco.md new file mode 100644 index 00000000..d9473e34 --- /dev/null +++ b/meeting_notes/2024/20240710_telco.md @@ -0,0 +1,29 @@ +# QC working group teleconference 10 July 2024 + +- Chris Bielow +- Wout Bittremieux +- Eralp Dogu +- David Tabb +- Julian Uszkoreit +- Mathias Walzer + +--- + +## mzQC examples + +- We went over the updated mzQC examples and had a discussion on related CV requests. +- Wout will submit new CV requests to complete the [setQuality](https://github.com/HUPO-PSI/mzQC/pull/219) and [mzML](https://github.com/HUPO-PSI/mzQC/pull/228) examples. + - MS:4000177|protein contaminant intensity ratio should use the "ratio" unit instead of "fraction". +- Additional checks need to be added to the validator: [ensure unit consistency](https://github.com/MS-Quality-Hub/pymzqc/issues/42), [input files to recognize ID-based metrics](https://github.com/MS-Quality-Hub/pymzqc/issues/43), [documentation on how to run locally](https://github.com/MS-Quality-Hub/pymzqc/issues/44). +- The validator seems to be online again but very slow. Mathias will work on validator documentation and coordinate with Nils for stability issues. + +## mzQC manuscript + +- Eralp joined us for some fresh perspectives on the manuscript and use cases. We especially discussed the longitudinal QC use case. We can use QCloud data or CPTAC data, which Eralp has used previously with MsStatsQC. +- Eralp and Mathias will coordinate to decide on the best dataset to use for the longitudinal QC use case. +- Eralp will look into mzQC support for MsStatsQC through rmzqc. Alternately, a simpler first approach could be to use an external conversion script. +- Wout will create a Python script to convert between QuaMeter output and mzQC. + +## Miscellaneous + +- Wout & Dave will be present at HUPO 2024 in Dresden. From 4394324c4d0ef373b03796e1852815015a5f3a08 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 24 Jul 2024 12:48:45 +0100 Subject: [PATCH 07/30] trimmed some redundant sections --- docs/pages/metrics.md | 53 ------------------------------------------- 1 file changed, 53 deletions(-) diff --git a/docs/pages/metrics.md b/docs/pages/metrics.md index 17d4d82e..077e093f 100644 --- a/docs/pages/metrics.md +++ b/docs/pages/metrics.md @@ -7,56 +7,3 @@ permalink: /metrics/ {% include_relative cv/howto_create_cv_terms.md %} {% include_relative cv/howto_use_cv_terms.md %} - -## mzQC Metrics -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. - - -## CV Control - -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. - From ece769d236eba5963cd33222a9d5fd5fa937dce1 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 24 Jul 2024 12:50:06 +0100 Subject: [PATCH 08/30] Moved validation info under one document --- docs/_data/menu.yml | 4 ++-- docs/pages/tutorials.md | 12 ------------ docs/pages/validation.md | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/docs/_data/menu.yml b/docs/_data/menu.yml index 6640079c..26a1c490 100644 --- a/docs/_data/menu.yml +++ b/docs/_data/menu.yml @@ -23,8 +23,8 @@ - title: Validation Process url: /validator/validation - title: Local Validation - url: /tutorials/#validation - - title: Validator + url: /validator/validation/#offline-validation + - title: Online Validator url: /validator/ - title: mzQC Resources url: /resource-guide/ diff --git a/docs/pages/tutorials.md b/docs/pages/tutorials.md index 0b3c0430..51de3cf4 100644 --- a/docs/pages/tutorials.md +++ b/docs/pages/tutorials.md @@ -18,18 +18,6 @@ We have a couple of tutorials and guides to offer, this page will lead you to th -## Validation -If you have many mzQC files to validate, or the validation API is temporaily unreachable, -you can set up your own validation process without much effort! - -### Container -The container solution is the least effort, but requires you have the singularity container engine installed. - -### Local Installation of pymzqc -This solution requires you to install pymzqc. -In most cases it will be as easy as simply `pip install pymzqc`. -For all the latest instructions on installation of pymzqc and validation, see [its repository](https://pymzqc.readthedocs.io/en/v1.0.0rc1_b/accessories.html#local-validation-testing). - ## JSON If you are new to JSON or file formats (with JSON), the next few links should provide you with an overview: diff --git a/docs/pages/validation.md b/docs/pages/validation.md index d1874fb1..0fb9f675 100644 --- a/docs/pages/validation.md +++ b/docs/pages/validation.md @@ -53,4 +53,28 @@ We have several alternatives for validation, however. For these, have a look at - [jmzqc](https://github.com/MS-Quality-Hub/jmzqc): Java library to create, process, and validate mzQC files. - [pymzqc](https://github.com/MS-Quality-Hub/pymzqc): Python library to create, process, and validate mzQC files. +## Offline Validation +If you have many mzQC files to validate, or the validation API is temporaily unreachable, +you can set up your own validation process without much effort! +The pymzqc library now supports a offline validator: +``` +mzqc-validator [OPTIONS] INFILE +``` +You will have to install pymzqc python module, but the process is quick and easy thanks to pypi. +More details can be found at the [pymzqc site](https://pymzqc.readthedocs.io/en/v1.0.0rc3/). +The validator tool is a CLI tool built on click. +It will generate a joint validation of syntax and semantics of a given mzQC input. The output is in json format. +The validator will segment the validation report into lists of the following categories: + +* “input files”: reports duplicate input files for sets or runs or inconsistent file name and location + +* “label uniqueness”: checking if run and set labels are unique within the file, + +* “metric use”: reports duplicate metric use within a set or run, and, if applicable, table consistency, unit use, “ontology load errors”: all controlled vocabularies that could not be loaded, + +* “ontology term errors”: checks for ambiguous terms found in multiple of the used controlled vocabularies, terms used not found in any given controlled vocabulary, and correct name, definition, and reference usage, + +* “schema validation”: report all elements not corresponding to the mzQC schema”, + +* “ontology validation”: in case any non-online controlled vocabularies were used. From 79b969ac162e114e5c253f18da2b8a33de76984c Mon Sep 17 00:00:00 2001 From: mwalzer Date: Wed, 24 Jul 2024 12:50:54 +0100 Subject: [PATCH 09/30] Added mzQC structure info --- docs/pages/mzqc-intro.md | 106 ++++++++++++++------------------------- 1 file changed, 37 insertions(+), 69 deletions(-) diff --git a/docs/pages/mzqc-intro.md b/docs/pages/mzqc-intro.md index 36e7402c..c21fb072 100644 --- a/docs/pages/mzqc-intro.md +++ b/docs/pages/mzqc-intro.md @@ -13,78 +13,46 @@ Validation can be done with through our format JSON-schema. It's schema is in JSON, too. ## Schema -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. +The mzQC format can accommodate multiple metrics, possibly from multiple MS runs. +Several dedicated (and named) data structures (arrays) are available for this purpose. +These are named as the plural of the elements they provide space for, for example, the controlledVocabularies element contains controlledVocabulary objects. +The following schema visualisation illustrates the hierarchical relations of the mzQC elements. + +![mzQC schema illustration](https://raw.githubusercontent.com/HUPO-PSI/mzQC/main/schema/mzqc_schema.jpg) + +QC metrics in an mzQC file are grouped in “runQuality” or “setQuality” elements, depending on whether the metrics pertain to a single or multiple MS runs, respectively. Each runQuality or setQuality element contains a “metadata” section that provides information to track the provenance of the QC metrics, such as the originating MS run(s) and the software tool(s) used to calculate the metrics. QC metric values are stored in “qualityMetric” elements and can consist of single values, tuples, or tabular data. Additionally, each QC metric is defined by a corresponding term in the PSI-MS controlled vocabulary (19) for semantic annotation of the data and to ensure an unambiguous definition of each QC metric. + ## Structure -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. +JSON data structures are built using two structures: +* An (unordered) collection of key–value pairs, generally called an object. +An object begins with a left brace { and ends with a right brace }. Each name is followed by a colon and the key–value pairs are separated by a comma. Keys must be strings. + + Syntax: *{key_1: value_1, key_2: value_2}* + + Example: `{"precursor_charge": 2, "is_contaminant": true}` + +* An (ordered) list of values, generally called an array or list. +An array begins with a left bracket [ and ends with a right bracket ]. Values are separated by a comma. Value types can be mixed. + + Syntax: *[value_3, {"subobject": "value_4"}, value_5]* + + Example: `[true, {"precursor_charge": 42}, "text"]` + +Values can be a string in double quotes, a number, a boolean value (true or false), null, an object, or an array. +These structures can be nested; for example, multidimensional tables can be represented as arrays of arrays. +Strings and values are like the respective C or Java structures. +Syntactic validation is available through the usage of JSON Schema for annotation and validation of JSON documents. ## CV -Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium -doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore -veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim -ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia -consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque -porro quisquam est, qui dolorem ipsum, quia dolor sit amet consectetur -adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, -ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum[d] exercitationem ullam corporis suscipit laboriosam, nisi -ut aliquid ex ea commodi consequatur? [D]Quis autem vel eum iure reprehenderit, -qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, -qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et -accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium -voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi -sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia -deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum -facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est -eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere -possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus -autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, -ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum -rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores -alias consequatur aut perferendis doloribus asperiores repellat. +The PSI-QC controlled vocabulary subsection (QC CV) of the PSI-MS CV defines quality metrics and related supporting values. +Its main purpose is describing metrics related to mass spectrometry quality control, for which it builds on established terms and definitions from chemistry, physics, and biology ontologies. +Another purpose is to provide the underlying definitions and specialized metrics for data structures usable within mzQC files. +Initially included in the QC CV are a collection of published and basic metrics. +Special care went into clearly defining the metrics and associated values to help interpretation, use, and visualization. +The QC CV is present in the `MS:4000000–MS:4999999` namespace of the PSI-MS CV. +The CV is encoded as an OBO (Open Biological and Biomedical Ontologies) file that follows the [OBO specification](https://owlcollab.github.io/oboformat/doc/GO.format.obo-1_2.html). +The OBO file format is a biology-oriented language for building ontologies, similar to the Web Ontology Language (OWL). +The OBO Foundry maintains a comprehensive index of ontologies related to the life sciences. From 8469797af582a82335a80932cfb63159ce2978c4 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Thu, 25 Jul 2024 01:01:06 +0100 Subject: [PATCH 10/30] moved website in-a-nutshell page into intro as section --- docs/pages/mzqc-in-a-nutshell.md | 13 ------------- docs/pages/mzqc-intro.md | 12 ++++++++++-- 2 files changed, 10 insertions(+), 15 deletions(-) delete mode 100644 docs/pages/mzqc-in-a-nutshell.md diff --git a/docs/pages/mzqc-in-a-nutshell.md b/docs/pages/mzqc-in-a-nutshell.md deleted file mode 100644 index ccde74cd..00000000 --- a/docs/pages/mzqc-in-a-nutshell.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "mzQC in a nutshell" -permalink: mzQC-in-a-nutshell/ ---- - -![image tooltip here](/pages/figures/mzQC-in-a-nutshell.pptx.jpg) - ->(You can download the slide for reuse from [here](/pages/figures/mzQC-in-a-nutshell.pptx) -) - -Here is another summary slide: -![mzQC-EBI-summary](/pages/figures/mzQC-EBI-summary.pptx.jpg) \ No newline at end of file diff --git a/docs/pages/mzqc-intro.md b/docs/pages/mzqc-intro.md index c21fb072..96642089 100644 --- a/docs/pages/mzqc-intro.md +++ b/docs/pages/mzqc-intro.md @@ -22,7 +22,6 @@ The following schema visualisation illustrates the hierarchical relations of the QC metrics in an mzQC file are grouped in “runQuality” or “setQuality” elements, depending on whether the metrics pertain to a single or multiple MS runs, respectively. Each runQuality or setQuality element contains a “metadata” section that provides information to track the provenance of the QC metrics, such as the originating MS run(s) and the software tool(s) used to calculate the metrics. QC metric values are stored in “qualityMetric” elements and can consist of single values, tuples, or tabular data. Additionally, each QC metric is defined by a corresponding term in the PSI-MS controlled vocabulary (19) for semantic annotation of the data and to ensure an unambiguous definition of each QC metric. - ## Structure JSON data structures are built using two structures: * An (unordered) collection of key–value pairs, generally called an object. @@ -44,7 +43,6 @@ These structures can be nested; for example, multidimensional tables can be repr Strings and values are like the respective C or Java structures. Syntactic validation is available through the usage of JSON Schema for annotation and validation of JSON documents. - ## CV The PSI-QC controlled vocabulary subsection (QC CV) of the PSI-MS CV defines quality metrics and related supporting values. Its main purpose is describing metrics related to mass spectrometry quality control, for which it builds on established terms and definitions from chemistry, physics, and biology ontologies. @@ -56,3 +54,13 @@ The QC CV is present in the `MS:4000000–MS:4999999` namespace of the PSI-MS CV The CV is encoded as an OBO (Open Biological and Biomedical Ontologies) file that follows the [OBO specification](https://owlcollab.github.io/oboformat/doc/GO.format.obo-1_2.html). The OBO file format is a biology-oriented language for building ontologies, similar to the Web Ontology Language (OWL). The OBO Foundry maintains a comprehensive index of ontologies related to the life sciences. + +## In-a-nutshell +If you want you include mzQC in your talk, here are resources for explaining mzqc in-a-nutshell: + +![in-a-nutshell](../pages/figures/mzQC-in-a-nutshell.pptx.jpg) +> You can download the slide for reuse from [here](../pages/figures/mzQC-in-a-nutshell.pptx) + + +Here is another summary slide: +![mzQC-EBI-summary](../pages/figures/mzQC-EBI-summary.pptx.jpg) \ No newline at end of file From b6aa79ab9e226cd8f9037a85dd64f8df47a947d8 Mon Sep 17 00:00:00 2001 From: mwalzer Date: Thu, 25 Jul 2024 01:25:24 +0100 Subject: [PATCH 11/30] website updated: about page and a bit pruned contrib page --- docs/pages/about.md | 16 ++++++++++++++-- docs/pages/contribs.md | 4 ---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/pages/about.md b/docs/pages/about.md index 77fa02b1..b5343375 100644 --- a/docs/pages/about.md +++ b/docs/pages/about.md @@ -4,14 +4,26 @@ title: About permalink: /about/ --- -# The HUPO-PSI Quality Control Workgroup +## The HUPO-PSI Quality Control working group The Human Proteome Organisation (HUPO) Proteomics Standards Initiative (PSI) defines community standards for data representation in biological mass spectrometry to facilitate data comparison, exchange, and verification. The Quality Control (QC) Working Group develops standards and recommendations to describe the quality of mass spectrometry data and related analysis results. The current projects of the QC working group are: - mzQC: A standard file format for the exchange, transmission, and archiving of quality metrics derived from biological mass spectrometry. -- QC CV: A controlled vocabulary to represent terms for the definition of quality metrics and related supporting values. Subset to MS CV. +- QC CV: Integration of controlled vocabulary terms into [PSI-MS CV](https://github.com/HUPO-PSI/psi-ms-CV/) to represent quality metrics and related supporting values. +- Reference Implementations: The [MS-Quality-hub](https://github.com/MS-Quality-hub/) GitHub organization hosts implementations for mzQC in Python, R and Java. + +## Our official website is here: + + +## Implementations: + + # Reach Out Find all the ways to get in touch in the footer of this website. diff --git a/docs/pages/contribs.md b/docs/pages/contribs.md index 3b2e16bc..e93b7dd6 100644 --- a/docs/pages/contribs.md +++ b/docs/pages/contribs.md @@ -12,10 +12,6 @@ Read the [Code of Conduct](https://github.com/github/docs/blob/main/CODE_OF_COND We welcome every metric contribution, be it new or established. The easiest way is to open a new issue on the PSI-MS CV repository with our `New QC Term` template. You can read more detail about the process on the [Metrics page](../../metrics/). -## New contributor guide - -To get an overview of the project, read the [README on GitHub](https://github.com/HUPO-PSI/mzQC/blob/main/README.md). - ### Getting started A good starting point is our website to get informed on the format and it's mechanistics, how to get in touch with us, ongoing issues, and related projects. From 85a677836e44c267b8fe5efe4235f3b32f59b239 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 29 Jul 2024 11:34:43 +0200 Subject: [PATCH 12/30] Add meeting notes July 24 --- meeting_notes/2024/20240724_telco.md | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meeting_notes/2024/20240724_telco.md diff --git a/meeting_notes/2024/20240724_telco.md b/meeting_notes/2024/20240724_telco.md new file mode 100644 index 00000000..ab30d438 --- /dev/null +++ b/meeting_notes/2024/20240724_telco.md @@ -0,0 +1,35 @@ +# QC working group teleconference 24 July 2024 + +- Chris Bielow +- Wout Bittremieux +- Mathias Walzer + +--- + +## CV + +**Problem:** PSI-MS-CV was causing issues in OLS due to the use of STATO terms, causing PRIDE submissions to go down. +- Yasset [removed all STATO terms](https://github.com/HUPO-PSI/psi-ms-CV/pull/296) as a stopgap solution. +- Proposal: [Reintroduce STATO terms](https://github.com/HUPO-PSI/psi-ms-CV/pull/299) without importing the CV in the header. +- ✅ This is sufficient for our validator. + +**GitHub:** There are several old PRs related to CV porting, as well as the old CV still on GitHub. +- The PRs can be closed. Most relevant content has been moved to PSI-MS-CV, and it would take too much time to figure out what's what. + +## Validator + +- Mathias has updated the validator to address several issues that were recently identified. Additionally, the documentation has been extensively updated and it now includes several installation scripts for add-on functionality. +- Mathias will continue to work on updates and improvements, e.g. supported files for ID-based metrics. + +## Alternative mzQC use cases + +**Metabolomics** + +- Mathias presented the metabolomics batch correction use case, which is based on small molecule GC-MS data. + - This use case could also be integrated in the mzQC manuscript. +- We should ensure that our CV terms are inclusive for various fields such as metabolomics and lipidomics. + +**MS imaging** + +- Chris talked with some MSI people on campus: currently there's no standardized approach or tool support for QC yet. +- They will write a grant together to start developing such QC software. From b9a834530fbe113ee698ea3c0f8b1f4b30fd1a89 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 29 Jul 2024 13:31:56 +0200 Subject: [PATCH 13/30] Update set mzQC example (#219) * Update set mzQC for validator * Update set description * Add temporary accession number * Update example * Fix typo Co-authored-by: Chris Bielow * Fix protein contaminant metric * Update the mzQC file as well * Update the OBO version * Updated CV term definition --------- Co-authored-by: Chris Bielow --- docs/pages/examples.md | 4 +- .../{MultiSet_PCA.png => intro_set_pca.png} | Bin docs/pages/worked-examples/intro_run.md | 10 +- docs/pages/worked-examples/intro_set.md | 214 ++++++++ .../pages/worked-examples/set-of-runs.mzQC.md | 459 ------------------ .../{set-of-runs.mzQC => intro_set.mzQC} | 162 ++++--- 6 files changed, 314 insertions(+), 535 deletions(-) rename docs/pages/figures/{MultiSet_PCA.png => intro_set_pca.png} (100%) create mode 100644 docs/pages/worked-examples/intro_set.md delete mode 100644 docs/pages/worked-examples/set-of-runs.mzQC.md rename specification_documents/examples/{set-of-runs.mzQC => intro_set.mzQC} (59%) diff --git a/docs/pages/examples.md b/docs/pages/examples.md index bd09aeca..6883446c 100644 --- a/docs/pages/examples.md +++ b/docs/pages/examples.md @@ -6,8 +6,8 @@ permalink: /examples/ Here are a number of worked examples, that, each for its own use-case, go step-by-step through the different parts of a mzQC. -- [Single mass spectrometry run](intro_run/) -- [Sets of runs](set-of-runs/) +- [Representing QC data for an individual mass spectrometry run](intro_run/) +- [Deriving QC data from multiple related mass spectrometry runs](intro_set/) - [QC sample mzQC](QC2-sample-example/) - [in mzML](mzml-mzqc-example/) - [Using USI with mzQC](USI-example/) diff --git a/docs/pages/figures/MultiSet_PCA.png b/docs/pages/figures/intro_set_pca.png similarity index 100% rename from docs/pages/figures/MultiSet_PCA.png rename to docs/pages/figures/intro_set_pca.png diff --git a/docs/pages/worked-examples/intro_run.md b/docs/pages/worked-examples/intro_run.md index cfc92104..76c19d93 100644 --- a/docs/pages/worked-examples/intro_run.md +++ b/docs/pages/worked-examples/intro_run.md @@ -12,6 +12,7 @@ Here, we'll walk through the key components of an mzQC file, which uses a JSON-b You can explore the complete mzQC file [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/intro_run.mzQC), to see all of the elements in their context. An mzQC file starts with the root element `mzQC`: + ``` { "mzQC": { @@ -23,6 +24,7 @@ An mzQC file starts with the root element `mzQC`: Within `mzQC`, there are three main sections: 1. **General file information:** These attributes provide essential details about the mzQC file itself. + ``` "version": "1.0.0", "creationDate": "2020-12-01T11:56:34Z", @@ -33,6 +35,7 @@ Within `mzQC`, there are three main sections: 2. **Controlled vocabulary (CV) references:** This section points to standardized vocabularies used to ensure consistent metric definitions across files. It is typically included at the end of the mzQC file. + ``` "controlledVocabularies": [ { @@ -44,6 +47,7 @@ It is typically included at the end of the mzQC file. ``` 3. **Quality metrics for the run:** This core part of the file captures the QC metrics specific to the run being described. + ``` "runQualities": [ { @@ -55,6 +59,7 @@ It is typically included at the end of the mzQC file. In the `runQualities` section, you may find multiple `runQuality` elements, each corresponding to a unique mass spectrometry run. For simplicity, this example only includes a single run in the mzQC file. First, this includes a `metadata` part detailing the run specifics, such as the source files and software used in analysis: + ``` "metadata": { "inputFiles": [ @@ -67,6 +72,7 @@ First, this includes a `metadata` part detailing the run specifics, such as the ``` Digging a bit deeper, for example, the `inputFiles` array describes each file contributing to the run, including details like file name, location (URI), format, and properties—all standardized using CV terms. + ``` "inputFiles": [ { @@ -101,6 +107,7 @@ Finally, the `qualityMetrics` array lists the metrics derived from the run, each Metrics can take various forms, such as single values, tuples (arrays of values), or more complex structures like matrices or tables, depending on the information being conveyed. For example, a single valued metric: + ``` { "accession": "MS:4000059", @@ -111,10 +118,11 @@ For example, a single valued metric: "accession": "UO:0000189", "name": "count unit" } -} +}, ``` And a tuple metric: + ``` { "accession": "MS:4000069", diff --git a/docs/pages/worked-examples/intro_set.md b/docs/pages/worked-examples/intro_set.md new file mode 100644 index 00000000..8bf6314a --- /dev/null +++ b/docs/pages/worked-examples/intro_set.md @@ -0,0 +1,214 @@ +--- +layout: page +title: "Introduction to mzQC – Multiple Mass Spectrometry Runs" +permalink: /examples/intro_set/ +--- + +In mzQC, collections of mass spectrometry runs are grouped into what are termed "sets." +This builds upon our understanding of [using mzQC for individual runs](https://hupo-psi.github.io/mzQC/examples/intro_run/), extending it to how you can analyze and represent data from multiple runs together. +Think of a "set" as a bundle of runs that you want to examine collectively, such as technical and biological replicates. + +> [!TIP] +> Sets are versatile! +> You can group runs together, but you can also group sets within other sets. +> This allows for a structured hierarchy in your analysis, like grouping technical replicates under biological ones and then comparing across conditions. + +Discover the full example of an mzQC file for a set [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/intro_set.mzQC). + +The structure of an mzQC file for a set mirrors that for a single run, starting with the root element `mzQC`: + +``` +{ + "mzQC": { + ... + } +} +``` + +Within `mzQC`, there are three main sections: + +1. **General file information:** These attributes provide essential details about the mzQC file itself. + +``` +"version": "1.0.0", +"creationDate": "2020-12-01T14:19:09Z", +"contactName": "Chris Bielow", +"contactAddress": "chris.bielow@bsc.fu-berlin.de", +"description": "A simple mzQC file containing information for a set of multiple mass spectrometry runs.", +``` + +2. **Controlled vocabulary (CV) references:** This section points to standardized vocabularies used to ensure consistent metric definitions across files. +It is typically included at the end of the mzQC file. + +``` +"controlledVocabularies": [ + { + "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.165/psi-ms.obo", + "version": "4.1.165" + } +] +``` + +3. **Quality metrics for the set:** This core part of the file captures the QC metrics specific to the set being described. + +``` +"setQualities": [ + { + ... + } +] +``` + +Each element within `setQualities` defines a distinct set, enabling the comparison of, say, different experimental conditions or replicate groups. + +A set's QC data is contextual—it makes sense within the bounds of the group. +For instance, it wouldn't be right to lump individual run metrics like MS1 scan counts for several runs into a single set metric; those belong to individual run analyses. +Instead, set metrics reflect the collective characteristics of all runs within the set, offering insights into the overall experimental quality. + +Imagine you have several technical replicates from an experiment with two conditions, and you're interested in grouping these by technical replicates. +You might end up with sets for "healthy" and "diseased" conditions, plus a combined "all" set for overarching analyses. +As an example, we'll use three different groupings: + +1. The "healthy" set, consisting of technical replicates "techRep1_healthy", "techRep2_healthy", "techRep3_healthy". +2. The "diseased" set, consisting of technical replicates "techRep1_diseased", "techRep2_diseased", "techRep3_diseased". +3. The "all" set, combining both the "healthy" and "diseased" set. + +These labels are important, acting as tags for each set, guiding your analysis. +Therefore, it is recommended to use a descriptive label, for example based on the experimental design or the kind of comparisons you want to make. + +``` +"metadata": { + "label": "healthy", + "inputFiles": [ + ... + ] +}, +"qualityMetrics": [ + ... +] +``` + +`inputFiles` lists the specific files contributing to a set, with all the technical details neatly described using CV terms. + +``` +"inputFiles": [ + { + "name": "techRep1_healthy", + "location": "file://C:/msdata/techRep1_healthy.mzML", + ... + }, + { + "name": "techRep2_healthy", + "location": "file://C:/msdata/techRep2_healthy.mzML", + ... + }, + { + "name": "techRep3_healthy", + "location": "file://C:/msdata/techRep3_healthy.mzML", + ... + } +], +``` + +Let's dive into an example metric, like the "contaminant protein abundance fraction." +This metric quantifies the abundance arising from known contaminant proteins (like keratins from skin or BSA from sample buffers) compared to the total abundance across all proteins in the sample. +High levels of contaminants can indicate issues with sample preparation or handling, leading to potential biases in the data analysis. + +``` +{ + "metadata": { + "label": "healthy", + ... + }, + "qualityMetrics": [ + { + "accession": "MS:4000177", + "name": "contaminant protein abundance fraction", + "description": "The fraction of total protein abundance in a mass spectrometry run or a group of runs which can be attributed to a user-defined list of contaminant proteins (e.g. using the cRAP contaminant database).", + "value": 0.25, + "unit": { + "accession": "UO:0000191", + "name": "fraction" + } + } + ] +}, +{ + "metadata": { + "label": "diseased", + ... + }, + "qualityMetrics": [ + { + "accession": "MS:4000177", + "name": "contaminant protein abundance fraction", + "description": "The fraction of total protein abundance in a mass spectrometry run or a group of runs which can be attributed to a user-defined list of contaminant proteins (e.g. using the cRAP contaminant database).", + "value": 0.31, + "unit": { + "accession": "UO:0000191", + "name": "fraction" + } + } + ] +} +``` + +While this metric can be calculated for each run individually, here we have aggregated that information across both the "healthy" and "diseased" sets instead. + +For our second example, we'll use the "all" set that combines the previous "healthy" and "diseased" sets. +To compare protein abundances between healthy and diseased states, we might look at a PCA (principal component analysis). +mzQC can store PCA results, capturing the variation between these two states. + +For this we extracted protein abundances from the `proteinGroups.txt` file specified as an input file to the "all" set. +This file is produced by MaxQuant and contains quantified protein intensities along with other identification information for each protein group detected in the experiment. + +First, let's have a look at what the PCA plot would look like, plotting the first two principal components: + +![PCA plot of the healthy vs diseased samples.](../../pages/figures/intro_set_pca.png) + +Next, we'll look at how mzQC can encapsulate such analysis, storing the first five principal components as a table metric, referenced by the previously defined set labels. + +``` +{ + "accession": "MS:4000090", + "name": "principal component analysis of MaxQuant's protein group raw intensities", + "description": "A table with the PCA results of MaxQuant's protein group raw intensities.", + "value": { + "MS:4000086": [ + "healthy", + "diseased" + ], + "MS:4000081": [ + 47.2, + -30.2 + ], + "MS:4000082": [ + 29.1, + -36.5 + ], + "MS:4000083": [ + 3.8, + -7.3 + ], + "MS:4000084": [ + -7.7, + 5.6 + ], + "MS:4000085": [ + 140.6, + -64.1 + ] + } +} +``` + +Note how the principal components are represented as columns in a table, with each column defined by a CV term. +Additionally, the label is represented by CV term `MS:4000086`, in this case referring to the previous "healthy" and "diseased" sets. +This label can refer to any input files or metadata labels defined in the same mzQC file. +Consequently, we could also have performed the PCA analysis on each input file separately, in which cases the labels would have been the names of the individual input files ("techRep1_healthy", "techRep2_healthy", ..., "techRep3_diseased"). +Thus, the table metric can have a flexible number of rows, based on the input of this set and the grouping level used. + +> [!WARNING] +> It would not have been valid to perform a PCA on only the three healthy samples or only the three diseased samples. +> As mentioned previously, QC metrics in sets need to relate to _all_ elements in the set, and the current set includes both the healthy and diseased subsets. diff --git a/docs/pages/worked-examples/set-of-runs.mzQC.md b/docs/pages/worked-examples/set-of-runs.mzQC.md deleted file mode 100644 index e692cf6a..00000000 --- a/docs/pages/worked-examples/set-of-runs.mzQC.md +++ /dev/null @@ -1,459 +0,0 @@ ---- -layout: page -title: "Multi-Run (i.e. sets) Example of mzQC" -permalink: /examples/set-of-runs/ ---- - -Here, we describe an mzQC JSON document used to convey QC data which is computed on a set of runs, i.e. -is **only interpretable in the context of this set** (group). -Of course, QC metrics which refer to each run individually can also be stored, also in the same mzQC file -(see our example `individual-runs.mzQC.md` on how to do that), but this example is about group/set metrics. - -Find the complete example file at the bottom of this document or in the example folder. - -The basic structure of our mzQC file is identical to the `individual-runs.mzQC` example, i.e. -the documents main anchor is between the outer curly brackets: -``` -{ "mzQC": - { - ... - } -} -``` - -Within this main anchor, there are usually the following sections: -a) general information about the file, -``` - "version": "1.0.0", - "creationDate": "2020-12-21T11:56:34", - "contactName": "Chris Bielow", - "contactAddress": "chris.bielow@bsc.fu-berlin.de", - "description": "A simple mzQC file containing information for sets of runs.", -``` - -b) reference information for controlled vocabularies (cv) at the bottom, -``` - "controlledVocabularies": [ - { - "name": "Proteomics Standards Initiative Quality Control Ontology", - "uri": "https://github.com/HUPO-PSI/qcML-development/blob/master/cv/v0_1_0/qc-cv.obo", - "version": "0.1.0" - }, - { - "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", - "uri": "https://github.com/HUPO-PSI/psi-ms-CV/blob/master/psi-ms.obo", - "version": "4.1.7" - } - ] -``` -and (now in addition or as replacement) to the `runQualities` of the `individual-runs.mzQC` we have -c) information about the QC metrics computed on **a set of runs**. -``` - "setQualities": [ - { - ... - } - ] -``` -In fact, `setQualities` can contain one or more `setQuality` objects, each defining a different set of runs. -E.g. if you have three technical replicates for two conditions for at total of six runs, you might want to subsume three runs into a set, one for each condition and report the total number of proteins you identified, or the percentage of total intensity attributable to contaminants). Each `setQuality` object is an element of a JSON array, thus it is not explicitly named (i.e. there is no "setQuality" key in the mzQC file). -For the purpose of this example, we will use **three** `setQuality` objects (there could be none, only one or more than two though): - -``` - the **healthy** set: tr1_healthy, tr2_healthy, tr3_healthy - the **diseased** set: tr1_diseased, tr2_diseased, tr3_diseased - the **all** set: tr1_healthy, tr2_healthy, tr3_healthy, tr1_diseased, tr2_diseased, tr3_diseased -``` - -How you define (and name) each set, is up to you and depends on your experimental design and the kind of comparisons you want to make. - -A `setQuality` represents QC data that must be viewed in the context of all the runs of this set/group. I.e. the data is only valid within the context of the runs it comprises. E.g. it would be invalid to define a set of three runs and report their individual MS1 scan counts as a 3-tuple -- because this information can clearly be attributed to individual runs and thus belongs in three separate `runQuality` objects, rather than a single `setQuality`. -Similar to `runQuality`, a `setQuality` also contains `metadata` about the set of runs (its input file**s**, the software used, etc). -You can give the set a unique name using the `label` attribute. Here is how a `setQuality` object looks like: -``` - { - "metadata": { - "label": "healthy" - "inputFiles": - ... - }, - "qualityMetrics": [ - ... - ] - } -``` -The `inputFiles` consist of an array of `inputFile` objects, describing the source files with structured information about the file's name, format, location and other properties, defined via cv terms. -``` - "inputFiles": [ - { - "name": "tr1_healthy", - "location": "c:\msdata\techRep1_healthy.mzML", - ... - }, - { - "name": "tr2_healthy", - "location": "c:\msdata\techRep2_healthy.mzML", - ... - }, - { - "name": "tr3_healthy", - "location": "c:\msdata\techRep3_healthy.mzML", - ... - } - ] -``` -The `inputFile` object is only sketched here. It can contain a lot more information, such as file format and further properties. See the full example below or `individual-runs.mzQC` for details. - -In `qualityMetrics`, we will store the actual QC information for a particular `setQuality`. Each `qualityMetric` has an `accession` and the corresponding `name` as defined by the QC controlled vocabulary (see `qc-cv.obo`). They should be represented exactly as stated in the .obo file. The `value` carries the actual information and can be either a single value, a tuple of values, a matrix or table. Below, we will look at single values and tables. - -Lets start with our first metric `Protein contaminant intensity ratio`. It describes the relative intensity (in [0, 1]) of all contaminant proteins (from all runs in the set) -- the higher the value the more contaminants are present in the runs of the set. -``` - "accession": "QC:0000000", - "name": "Protein contaminant intensity ratio", - "value": 0.25 -``` - -We compute this metric for each set, in our case for the `healthy` as well as the `diseased` set, but not for the `all` set (because we want to keep the example small). But in general, what metrics you compute is up to you. - -Our second example is a principal component analysis (PCA) result matrix. -The `setQuality` where this PCA metric will be stored, references **all** runs as input files. -The input table for a PCA computation can be found, for example, in MaxQuant's proteinGroups.txt output file. To stick with this example, the table in proteinGroups.txt has rows (proteins) and columns (groups, e.g. `healthy` or `diseased`), and the values in the table are protein abundances. Thus, MaxQuant has already aggregated the data from rawfiles(=runs) belonging to a certain group for us (e.g. by averaging the protein abundances). Now your QC software can derive a new table using PCA, where each group is represented by PCA coordinates. - -First, let's see what the PCA plot would look like: -![ Typically, the first two PCA dimensions are plotted, as shown here: Each data point in the plot represents one set(group), e.g. `diseased` or `healthy`.](../../pages/figures/MultiSet_PCA.png) -Now, let's look at the mzQC data which allows to create this plot: We use two separate metrics. One named `group of runs` to associate runs to groups, and secondly a `PCA table` metric to store the PCA data (the first 5 principal components for each group). -``` - "setQualities": [ - ..., - { - ..., - - "qualityMetrics": [ - { - "accession": "QC:4000264", - "name": "group of runs", - "value": { - "inputfile_name": ["tr1_healthy", "tr2_healthy", "tr3_healthy" , "tr1_diseased", "tr2_diseased", "tr3_diseased"], - "group-label": ["healthy" , "healthy" , "healthy" , "diseased" , "diseased" , "diseased"] - } - }, - { - "accession": "QC:4000267", - "name": "PCA table", - "value": { - "group-label": ["healthy", "diseased"], - "PCA Dimension 1": [47.22, -30.22], - "PCA Dimension 2": [29.1, -36.5], - "PCA Dimension 3": [3.8, -7.3], - "PCA Dimension 4": [-7.7, 5.55], - "PCA Dimension 5": [140.6, -64.1] - } - } - } - ] - -] -``` - -Note: the `group of runs` metric can be defined only once per `setQuality`, but can be referenced in many metrics (here, for our `PCA table`) in that context. - -If you look closely, we somewhat defined the group `healthy` twice. Once as an individual `setQuality` and once via the `group of runs` qualityMetric in the `all` set. -There is no easy way around this. If we were to omit the `all` set, we'd need to distribute the columns of the PCA table metric into separate `setQuality` objects (and whoever wants to plot it, needs to puzzle it back together; not ideal). -On the other hand, ommitting the `healthy`/`diseased` setQualities is not sensible either, because then there would be only the `all` setQuality where all data for different subsets would need to reside. - - - - - -### This is the mzQC file once again, in full: -``` -{ - "mzQC": { - "version": "1.0.0", - "creationDate": "2020-12-01T14:19:09", - "contactName": "Chris Bielow", - "contactAddress": "chris.bielow@bsc.fu-berlin.de", - "description": "A simple mzQC file containing information for sets of runs.", - "setQualities": [ - { - "metadata": { - "label": "healthy", - "inputFiles": [ - { - "name": "tr1_healthy", - "location": "c:\\msdata\\techRep1_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 11:00:41" - } - ] - }, - { - "name": "tr2_healthy", - "location": "c:\\msdata\\techRep2_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 13:00:41" - } - ] - }, - { - "name": "tr3_healthy", - "location": "c:\\msdata\\techRep3_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 14:00:41" - } - ] - } - ], - "analysisSoftware": [ - { - "accession": "MS:1001058", - "name": "quality estimation by manual validation", - "version": "0", - "uri": "https://dx.doi.org/10.1021/pr201071t" - } - ] - }, - "qualityMetrics": [ - { - "accession": "QC:0000000", - "name": "Protein contaminant intensity ratio", - "value": "0.25" - } - ] - }, - - { - "metadata": { - "label": "diseased", - "inputFiles": [ - { - "name": "tr1_diseased", - "location": "c:\\msdata\\techRep1_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 12:00:41" - } - ] - }, - { - "name": "tr2_diseased", - "location": "c:\\msdata\\techRep2_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 14:00:41" - } - ] - }, - { - "name": "tr3_diseased", - "location": "c:\\msdata\\techRep3_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 15:00:41" - } - ] - } - ], - "analysisSoftware": [ - { - "accession": "MS:1001058", - "name": "quality estimation by manual validation", - "version": "0", - "uri": "https://dx.doi.org/10.1021/pr201071t" - } - ] - }, - "qualityMetrics": [ - { - "accession": "QC:0000000", - "name": "Protein contaminant intensity ratio", - "value": "0.31" - } - ] - }, - - { - "metadata": { - "label": "all", - "inputFiles": [ - { - "name": "tr1_healthy", - "location": "c:\\msdata\\techRep1_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 11:00:41" - } - ] - }, - { - "name": "tr2_healthy", - "location": "c:\\msdata\\techRep2_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 13:00:41" - } - ] - }, - { - "name": "tr3_healthy", - "location": "c:\\msdata\\techRep3_healthy.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 14:00:41" - } - ] - }, - { - "name": "tr1_diseased", - "location": "c:\\msdata\\techRep1_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 12:00:41" - } - ] - }, - { - "name": "tr2_diseased", - "location": "c:\\msdata\\techRep2_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 14:00:41" - } - ] - }, - { - "name": "tr3_diseased", - "location": "c:\\msdata\\techRep3_diseased.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, - "fileProperties": [ - { - "accession": "MS:1000747", - "name": "completion time", - "value": "2012-02-03 15:00:41" - } - ] - } - ], - "analysisSoftware": [ - { - "accession": "MS:1001058", - "name": "quality estimation by manual validation", - "version": "0", - "uri": "https://dx.doi.org/10.1021/pr201071t" - } - ] - }, - "qualityMetrics": [ - { - "accession": "QC:4000264", - "name": "group of runs", - "value": { - "inputfile_name": ["tr1_healthy", "tr2_healthy", "tr3_healthy" , "tr1_diseased", "tr2_diseased", "tr3_diseased"], - "group-label": ["healthy" , "healthy" , "healthy" , "diseased" , "diseased" , "diseased"] - } - }, - { - "accession": "QC:4000267", - "name": "PCA table", - "value": { - "group-label": ["healthy", "diseased"], - "PCA Dimension 1": [47.22, -30.22], - "PCA Dimension 2": [29.1, -36.5], - "PCA Dimension 3": [3.8, -7.3], - "PCA Dimension 4": [-7.7, 5.55], - "PCA Dimension 5": [140.6, -64.1] - } - } - ] - } - - ], - "controlledVocabularies": [ - { - "name": "Proteomics Standards Initiative Quality Control Ontology", - "uri": "https://github.com/HUPO-PSI/qcML-development/blob/master/cv/v0_1_0/qc-cv.obo", - "version": "0.1.0" - }, - { - "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", - "uri": "https://github.com/HUPO-PSI/psi-ms-CV/blob/master/psi-ms.obo", - "version": "4.1.7" - } - ] - } -} -``` -### This is the mzQC file once again, in full: -**[sets-of-runs.mzQC](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/set-of-runs.mzQC)** \ No newline at end of file diff --git a/specification_documents/examples/set-of-runs.mzQC b/specification_documents/examples/intro_set.mzQC similarity index 59% rename from specification_documents/examples/set-of-runs.mzQC rename to specification_documents/examples/intro_set.mzQC index 003ece56..07819483 100644 --- a/specification_documents/examples/set-of-runs.mzQC +++ b/specification_documents/examples/intro_set.mzQC @@ -4,15 +4,15 @@ "creationDate": "2020-12-01T14:19:09Z", "contactName": "Chris Bielow", "contactAddress": "chris.bielow@bsc.fu-berlin.de", - "description": "A simple mzQC file containing information for sets of runs.", + "description": "A simple mzQC file containing information for a set of multiple mass spectrometry runs.", "setQualities": [ { "metadata": { "label": "healthy", "inputFiles": [ { - "name": "tr1_healthy", - "location": "file:///C:/msdata/techRep1_healthy.mzML", + "name": "techRep1_healthy", + "location": "file://C:/msdata/techRep1_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -26,8 +26,8 @@ ] }, { - "name": "tr2_healthy", - "location": "file:///C:/msdata/techRep2_healthy.mzML", + "name": "techRep2_healthy", + "location": "file://C:/msdata/techRep2_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -41,8 +41,8 @@ ] }, { - "name": "tr3_healthy", - "location": "file:///C:/msdata/techRep3_healthy.mzML", + "name": "techRep3_healthy", + "location": "file://C:/msdata/techRep3_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -60,23 +60,29 @@ { "accession": "MS:1001058", "name": "quality estimation by manual validation", + "description": "The quality estimation was done manually.", "version": "0", "uri": "https://dx.doi.org/10.1021/pr201071t" }, { "accession": "MS:1000799", "name": "custom unreleased software tool", - "value": "mzqc-pylib", + "description": "A software tool that has not yet been released. The value should describe the software. Please do not use this term for publicly available software - contact the PSI-MS working group in order to have another CV term added.", "version": "0", - "uri": "https://hupo-psi.github.io/mzQC/unknown.html" + "uri": "https://hupo-psi.github.io/mzQC/" } ] }, "qualityMetrics": [ { - "accession": "QC:4000270", - "name": "protein contaminant intensity ratio", - "value": "0.25" + "accession": "MS:4000177", + "name": "contaminant protein abundance fraction", + "description": "The fraction of total protein abundance in a mass spectrometry run or a group of runs which can be attributed to a user-defined list of contaminant proteins (e.g. using the cRAP contaminant database).", + "value": 0.25, + "unit": { + "accession": "UO:0000191", + "name": "fraction" + } } ] }, @@ -85,8 +91,8 @@ "label": "diseased", "inputFiles": [ { - "name": "tr1_diseased", - "location": "file:///C:/msdata/techRep1_diseased.mzML", + "name": "techRep1_diseased", + "location": "file://C:/msdata/techRep1_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -100,8 +106,8 @@ ] }, { - "name": "tr2_diseased", - "location": "file:///C:/msdata/techRep2_diseased.mzML", + "name": "techRep2_diseased", + "location": "file://C:/msdata/techRep2_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -115,8 +121,8 @@ ] }, { - "name": "tr3_diseased", - "location": "file:///C:/msdata/techRep3_diseased.mzML", + "name": "techRep3_diseased", + "location": "file://C:/msdata/techRep3_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -134,16 +140,29 @@ { "accession": "MS:1001058", "name": "quality estimation by manual validation", + "description": "The quality estimation was done manually.", "version": "0", "uri": "https://dx.doi.org/10.1021/pr201071t" + }, + { + "accession": "MS:1000799", + "name": "custom unreleased software tool", + "description": "A software tool that has not yet been released. The value should describe the software. Please do not use this term for publicly available software - contact the PSI-MS working group in order to have another CV term added.", + "version": "0", + "uri": "https://hupo-psi.github.io/mzQC/" } ] }, "qualityMetrics": [ { - "accession": "QC:4000270", - "name": "protein contaminant intensity ratio", - "value": "0.31" + "accession": "MS:4000177", + "name": "contaminant protein abundance fraction", + "description": "The fraction of total protein abundance in a mass spectrometry run or a group of runs which can be attributed to a user-defined list of contaminant proteins (e.g. using the cRAP contaminant database).", + "value": 0.31, + "unit": { + "accession": "UO:0000191", + "name": "fraction" + } } ] }, @@ -152,8 +171,8 @@ "label": "all", "inputFiles": [ { - "name": "tr1_healthy", - "location": "file:///C:/msdata/techRep1_healthy.mzML", + "name": "techRep1_healthy", + "location": "file://C:/msdata/techRep1_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -167,8 +186,8 @@ ] }, { - "name": "tr2_healthy", - "location": "file:///C:/msdata/techRep2_healthy.mzML", + "name": "techRep2_healthy", + "location": "file://C:/msdata/techRep2_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -182,8 +201,8 @@ ] }, { - "name": "tr3_healthy", - "location": "file:///C:/msdata/techRep3_healthy.mzML", + "name": "techRep3_healthy", + "location": "file://C:/msdata/techRep3_healthy.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -197,8 +216,8 @@ ] }, { - "name": "tr1_diseased", - "location": "file:///C:/msdata/techRep1_diseased.mzML", + "name": "techRep1_diseased", + "location": "file://C:/msdata/techRep1_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -212,8 +231,8 @@ ] }, { - "name": "tr2_diseased", - "location": "file:///C:/msdata/techRep2_diseased.mzML", + "name": "techRep2_diseased", + "location": "file://C:/msdata/techRep2_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -227,8 +246,8 @@ ] }, { - "name": "tr3_diseased", - "location": "file:///C:/msdata/techRep3_diseased.mzML", + "name": "techRep3_diseased", + "location": "file://C:/msdata/techRep3_diseased.mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -240,65 +259,67 @@ "value": "2012-02-03 15:00:41" } ] + }, + { + "name": "proteinGroups", + "location": "file://C:/msdata/proteinGroups.txt", + "fileFormat": { + "accession": "MS:1002130", + "name": "identification file format" + }, + "fileProperties": [ + { + "accession": "MS:1000747", + "name": "completion time", + "value": "2012-02-03 18:00:41" + } + ] } ], "analysisSoftware": [ { "accession": "MS:1001058", "name": "quality estimation by manual validation", + "description": "The quality estimation was done manually.", "version": "0", "uri": "https://dx.doi.org/10.1021/pr201071t" + }, + { + "accession": "MS:1000799", + "name": "custom unreleased software tool", + "description": "A software tool that has not yet been released. The value should describe the software. Please do not use this term for publicly available software - contact the PSI-MS working group in order to have another CV term added.", + "version": "0", + "uri": "https://hupo-psi.github.io/mzQC/" } ] }, "qualityMetrics": [ { - "accession": "QC:4000264", - "name": "group of runs", - "value": { - "inputfile_name": [ - "tr1_healthy", - "tr2_healthy", - "tr3_healthy", - "tr1_diseased", - "tr2_diseased", - "tr3_diseased" - ], - "group-label": [ - "healthy", - "healthy", - "healthy", - "diseased", - "diseased", - "diseased" - ] - } - }, - { - "accession": "QC:4000267", - "name": "PCA table", + "accession": "MS:4000090", + "name": "principal component analysis of MaxQuant's protein group raw intensities", + "description": "A table with the PCA results of MaxQuant's protein group raw intensities.", "value": { - "group-label": [ + "MS:4000086": [ "healthy", "diseased" ], - "PCA Dimension 1": [ - 47.22, - -30.22 + "MS:4000081": [ + 47.2, + -30.2 ], - "PCA Dimension 2": [ + "MS:4000082": [ 29.1, -36.5 ], - "PCA Dimension 3": [ + "MS:4000083": [ 3.8, -7.3 ], - "PCA Dimension 4": [ + "MS:4000084": [ -7.7, - 5.55 + 5.6 ], - "PCA Dimension 5": [ + "MS:4000085": [ 140.6, -64.1 ] @@ -308,15 +329,10 @@ } ], "controlledVocabularies": [ - { - "name": "Proteomics Standards Initiative Quality Control Ontology", - "uri": "https://github.com/HUPO-PSI/mzQC/blob/main/cv/qc-cv.obo", - "version": "1.0.0" - }, { "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", - "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.71/psi-ms.obo", - "version": "4.1.71" + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.165/psi-ms.obo", + "version": "4.1.165" } ] } From 3ccfca9e068d215836a34913735fc9aef6488814 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 29 Jul 2024 13:39:54 +0200 Subject: [PATCH 14/30] update QC metrics in mzML files example (#228) * Update set mzQC for validator * Update set description * Add temporary accession number * Update example * Update mzML example * Add clarification about table metrics * Update set mzQC for validator * Update set description * Add temporary accession number * Update example * Update mzML example * Add clarification about table metrics --- docs/pages/examples.md | 9 +- .../pages/worked-examples/adv_mzqc_in_mzml.md | 76 ++++++++++++++++ .../worked-examples/mzml-mzqc-example.md | 87 ------------------- ...zqc-example.mzML => adv_mzqc_in_mzml.mzML} | 18 ++-- 4 files changed, 91 insertions(+), 99 deletions(-) create mode 100644 docs/pages/worked-examples/adv_mzqc_in_mzml.md delete mode 100644 docs/pages/worked-examples/mzml-mzqc-example.md rename specification_documents/examples/{mzml-mzqc-example.mzML => adv_mzqc_in_mzml.mzML} (99%) diff --git a/docs/pages/examples.md b/docs/pages/examples.md index 6883446c..0b4d73b5 100644 --- a/docs/pages/examples.md +++ b/docs/pages/examples.md @@ -4,11 +4,14 @@ title: "mzQC Examples" permalink: /examples/ --- -Here are a number of worked examples, that, each for its own use-case, go step-by-step through the different parts of a mzQC. +The following use cases provide several hands-on examples of how mzQC files are structured and can be used: - [Representing QC data for an individual mass spectrometry run](intro_run/) - [Deriving QC data from multiple related mass spectrometry runs](intro_set/) - [QC sample mzQC](QC2-sample-example/) -- [in mzML](mzml-mzqc-example/) -- [Using USI with mzQC](USI-example/) - [Batch correction](metabo-batches/) + +Additionally, for more advanced usage, mzQC can closely interoperate with several other file formats developed by the Proteomics Standards Initiative: + +- [Using USI with mzQC](USI-example/) +- [Incorporating QC metrics in mzML files](adv_mzqc_in_mzml/) diff --git a/docs/pages/worked-examples/adv_mzqc_in_mzml.md b/docs/pages/worked-examples/adv_mzqc_in_mzml.md new file mode 100644 index 00000000..1a136143 --- /dev/null +++ b/docs/pages/worked-examples/adv_mzqc_in_mzml.md @@ -0,0 +1,76 @@ +--- +layout: page +title: "Incorporating QC Metrics in mzML Files" +permalink: /examples/adv_mzqc_in_mzml/ +--- + +While QC metrics in the PSI-MS controlled vocabulary are primarily intended for use in mzQC files, they can also be embedded directly within other file formats developed by the Proteomics Standards Initiative, such as [mzML](https://github.com/HUPO-PSI/mzML) and [mzIdentML](https://github.com/HUPO-PSI/mzIdentML) files. +This integration is particularly useful when it's preferred to store a limited set of QC metrics alongside the data they describe, thereby enhancing data integrity and accessibility. + +You can view a comprehensive example of an mzML file incorporating QC metrics [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/adv_mzqc_in_mzml.mzml). +Below, we detail the steps and elements involved in this process. + +1. **Source file specification** + +Define the source of the QC metrics using a `sourceFile` element. +This specifies the mzQC file as an input file, similarly to how other input files are handled within mzML: + +``` + + + +``` + +2. **Software and data processing** + +Document the software and data processing steps utilized to generate the mzQC file and compute the QC metrics: + +``` + + + +``` + +And: + +``` + + + + + +``` + +3. **Inclusion of QC metrics** + +Include the QC metrics at appropriate levels within the mzML structure: + +- **Run-level metrics** + +Metrics that relate to all spectra in the file are embedded at the `run` level using a `cvParam`: + +``` + + + ... + +``` + +- **Individual spectrum metrics** + +For metrics that relate to individual spectra, include these metrics at the `spectrum` level using a `cvParam`: + +``` + + ... + + ... + +``` + +Repeat for each spectrum as necessary, adjusting the spectrum ID and corresponding values. + +Note that because QC metrics in mzQC files are typically encoded at the level of runs rather than individual spectra, most spectrum-level QC metrics are defined in the PSI-MS controlled vocabulary as tabular metrics with rows for all spectra. +Therefore, when directly associating these metrics with a specific spectrum, the tables should contain a single entry only for this spectrum. + +The key insight for embedding QC metrics in alternative file formats is that because they are backed by terms in the PSI-MS controlled vocabulary, they can be directly included using the respective functionalities for CV terms, such as `cvParam`. diff --git a/docs/pages/worked-examples/mzml-mzqc-example.md b/docs/pages/worked-examples/mzml-mzqc-example.md deleted file mode 100644 index a88869ec..00000000 --- a/docs/pages/worked-examples/mzml-mzqc-example.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: page -title: "Example of mzQC metrics in mzML" -permalink: /examples/mzml-mzqc-example/ ---- - -QC metrics from _mzQC_ can also be incorporated into other PSI formats, like _mzML_ and _mzIdentML_, if it is preferable to keep all information in one file. -The following describes a tiny _mzML_, for which a QC tool calculated id-free QC metrics for all individual spectra of the run and a set of charge distribution metrics. -Due to the shared design properties of _mzQC_, metrics can be directly represented as XML `` elements, however their location bound to mzML schema constraints. - -The first addition to the _mzML_ is the source from which the metrics came from, for reference to more QC information on the run and documentation. -``` - - - -``` -Next, the metrics computed for the whole run can be be deposited as a child of the `` element itself. Metric objects from mzQC can be directly translated into `` elements. -``` - - - -``` -Please note that for example brevity purposes the _mzML_ was truncated to 3 spectra, however the metrics were calculated on the whole to reflect realistic values. Also, the NativeID format was truncated to the index of `spectrum=` bit. - -Next, the spectra metrics can be put as children of `` elements, in the same fashion as for the run metrics. -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - ... -``` -As you can seen in the `` elements, it contains extra information in `cvRef`. -This attribute is a reference to a data entry registering the controlled vocabularies used in the file much like in _mzQC_. -This has to be added to finalise the _mzML_. -The `` elements are again very similar to the respective entries in _mzQC_, making translation easy. -``` - - - - - - - -``` -Note that you should also add your software to `` and ``. - -### This is the mzQC file once again, in full: -**[mzml-mzqc-example.mzML](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/mzml-mzqc-example.mzML)** \ No newline at end of file diff --git a/specification_documents/examples/mzml-mzqc-example.mzML b/specification_documents/examples/adv_mzqc_in_mzml.mzML similarity index 99% rename from specification_documents/examples/mzml-mzqc-example.mzML rename to specification_documents/examples/adv_mzqc_in_mzml.mzML index 62dc41a5..8414cbd7 100644 --- a/specification_documents/examples/mzml-mzqc-example.mzML +++ b/specification_documents/examples/adv_mzqc_in_mzml.mzML @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -69,8 +69,8 @@ - - + + @@ -320,7 +320,7 @@ - + @@ -338,7 +338,7 @@ - + @@ -378,7 +378,7 @@ - + @@ -418,7 +418,7 @@ - + From 11bcff26483b30125b7feb1729a7bbfd3f4db8a6 Mon Sep 17 00:00:00 2001 From: Chris Bielow Date: Mon, 29 Jul 2024 17:08:24 +0200 Subject: [PATCH 15/30] updated USI example to mzQC v1.0 (#229) * updated USI example to mzQC v1.0 * Update USI-example.mzQC fix validation issues * Some editing --------- Co-authored-by: Mathias Walzer Co-authored-by: Wout Bittremieux --- .../pages/worked-examples/USI-example.mzQC.md | 56 ---------------- docs/pages/worked-examples/adv_mzqc_usi.md | 65 +++++++++++++++++++ .../{USI-example.mzQC => adv_mzqc_usi.mzQC} | 16 +++-- .../examples/intro_run.mzQC | 5 ++ 4 files changed, 79 insertions(+), 63 deletions(-) delete mode 100644 docs/pages/worked-examples/USI-example.mzQC.md create mode 100644 docs/pages/worked-examples/adv_mzqc_usi.md rename specification_documents/examples/{USI-example.mzQC => adv_mzqc_usi.mzQC} (81%) diff --git a/docs/pages/worked-examples/USI-example.mzQC.md b/docs/pages/worked-examples/USI-example.mzQC.md deleted file mode 100644 index 425dfb32..00000000 --- a/docs/pages/worked-examples/USI-example.mzQC.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: page -title: "USI Example of mzQC" -permalink: /examples/USI-example/ ---- - -Here, we describe a mzQC JSON document to exemplify the use of USI to address the quality of specific spectra by metrics recorded in a table value type. - - -Find the complete example file at the bottom of this document or in the example folder. - -We explained the basic structure of an mzQC in previous examples (e.g. individual-runs.mzQC) and here dive directly into the details. -The metric values are derived from spectra of a particular run in the CPTAC project, acquired on a Thermo Orbitrap Velos instrument. -For purposes of examplification the original run was truncated to the first 10 MS/MS spectra. -``` - "inputFiles": [ - { - "location": "ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2014/09/PXD000966/CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09.raw", - "name": "CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09.trfr.t3.mzML", - "fileFormat": { - "accession": "MS:1000584", - "name": "mzML format" - }, -``` -The metric gauges each considered spectra's TIC in relation to the spectra's peak intensities. -It does so by calculating the (minimal) fraction of peaks neccessary to sum up to half the total intensity of the spectrum itself. -Thus, the metric value will range between 0 and 1, where values closer to 0 will indicate spectra which' TIC is dominated by a few high intensity peaks. -``` - "qualityMetrics": [ - { - "accession": "MS:4000068", - "name": "spectra half-TIC", - "value": { -``` -The values for this metric are recorded in a table value type and consist of a column for the spectrum reference and the fractional value ("UO:0000191"). -The spectrum reference is defined by the metric as either the NativeID and/or preferrably the USI in a separate column. -The latter two columns are optional, however at least one has to be present. In our case, as the originating MS-run is available via proteomexchange, and the USI is a more detailed version of NativeID, no NativeID column is given. -``` - "MS:1003063": [ - "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:7","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:29","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:31","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:34","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:43","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:45","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:48","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:50","mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:51" - ], - "UO:0000191": [ - 0.1134,0.1628,0.0536,0.102,0.1042,0.0947,0.0784,0.1239,0.2593,0.1214 - ] - } - } - ], -``` -As you can see from the values in the fractional value column, -most of the first ten spectra cluster around a value of about 10% of the peaks dominating the respective spectras' TIC, -with only a few outliers to the 25% and the 5% range. -Each row represents one spectrum that can be directly looked up, in the case of using USI for spectra reference, -[even directly from the web](https://www.proteomicsdb.org/use/?usi=mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2). - -### This is the mzQC file once again, in full: -**[USI-example.mzQC](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/USI-example.mzQC)** \ No newline at end of file diff --git a/docs/pages/worked-examples/adv_mzqc_usi.md b/docs/pages/worked-examples/adv_mzqc_usi.md new file mode 100644 index 00000000..ed1a9c68 --- /dev/null +++ b/docs/pages/worked-examples/adv_mzqc_usi.md @@ -0,0 +1,65 @@ +--- +layout: page +title: "Integration of the Universal Spectrum Identifier (USI) in mzQC" +permalink: /examples/adv_mzqc_usi/ +--- + +The mzQC format supports various QC metrics that can operate at the level of MS runs or individual spectra. +One of the powerful features of mzQC is its compatibility with the [Universal Spectrum Identifier (USI)](https://www.psidev.info/usi), also developed by the Proteomics Standards Initiative. +This compatibility allows mzQC to reference individual spectra explicitly and precisely within a larger dataset. + +## Example: Computing the "spectra half-TIC" metric using USI + +In this example, we demonstrate the calculation of the "spectra half-TIC" metric for multiple MS/MS spectra. +The "spectra half-TIC" metric measures the minimal number of the most intense peaks needed to achieve half of the total ion current (TIC) of a spectrum. +This metric helps in understanding the peak intensity distribution within a spectrum, where a lower value indicates a concentration of intensity in fewer peaks. + +For this example, the calculation is limited to the first 10 MS/MS spectra. +The results are formatted as a tabular metric where one column lists the USIs of the spectra and the other the computed fractional TIC values. +This example emphasizes the utility of USIs for directly linking QC metrics to specific spectra in public databases like ProteomeXchange. + +The JSON representation of the quality metric in the mzQC format includes: + +```json +"qualityMetrics": [ + { + "accession": "MS:4000068", + "name": "spectra half-TIC", + "description": "The minimal proportion of peaks needed to account for at least 50% of the total ion current in each individual spectrum considered, recorded in a mandatory fraction column. Either USI or native spectrum identifier columns must be present as well.", + "value": { + "MS:1003063": [ + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:7", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:29", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:31", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:34", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:43", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:45", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:48", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:50", + "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:51" + ], + "UO:0000191": [ + 0.1134, + 0.1628, + 0.0536, + 0.1020, + 0.1042, + 0.0947, + 0.0784, + 0.1239, + 0.2593, + 0.1214 + ] + } + } +] +``` + +The table pairs each spectrum's USI with its corresponding "spectra half-TIC" value. +This format enables clear, unambiguous links between the QC data and the specific spectra, facilitating straightforward validation and further analysis. +Spectrum references use USIs which provide a robust method to trace back to the exact source data in public repositories, enhancing transparency and reproducibility in proteomic research. + +Each spectrum and its TIC contribution can be directly accessed and verified online, ensuring that researchers can easily validate and reproduce findings. +For instance, the spectrum at USI [`mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2`](https://www.ebi.ac.uk/pride/archive/usi?usi=mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2) can be directly resolved and viewed on PRIDE. +Additionally, the full mzQC file is available [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/adv_mzqc_usi.mzQC). diff --git a/specification_documents/examples/USI-example.mzQC b/specification_documents/examples/adv_mzqc_usi.mzQC similarity index 81% rename from specification_documents/examples/USI-example.mzQC rename to specification_documents/examples/adv_mzqc_usi.mzQC index 8348792d..170d3d41 100644 --- a/specification_documents/examples/USI-example.mzQC +++ b/specification_documents/examples/adv_mzqc_usi.mzQC @@ -4,14 +4,14 @@ "version": "1.0.0", "contactName": "Mathias Walzer", "contactAddress": "walzer@ebi.ac.uk", - "description": "A simple mzQC file containing a metric exemplifying USI incorporation to a metric.", + "description": "A simple mzQC file exemplifying integration with the Universal Spectrum Identifier to refer to individual spectra.", "runQualities": [ { "metadata": { "inputFiles": [ { "location": "ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2014/09/PXD000966/CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09.raw", - "name": "CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09.trfr.t3.mzML", + "name": "CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -39,6 +39,7 @@ { "accession": "MS:1001058", "name": "quality estimation by manual validation", + "description": "The quality estimation was done manually.", "version": "0", "uri": "https://dx.doi.org/10.1021/pr201071t" } @@ -48,6 +49,7 @@ { "accession": "MS:4000068", "name": "spectra half-TIC", + "description": "The minimal proportion of peaks needed to account for at least 50% of the total ion current in each individual spectrum considered, recorded in a mandatory fraction column. Either USI or native spectrum identifier columns must be present as well.", "value": { "MS:1003063": [ "mzspec:PXD000966:CPTAC_CompRef_00_iTRAQ_01_2Feb12_Cougar_11-10-09:scan:2", @@ -65,7 +67,7 @@ 0.1134, 0.1628, 0.0536, - 0.102, + 0.1020, 0.1042, 0.0947, 0.0784, @@ -81,13 +83,13 @@ "controlledVocabularies": [ { "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", - "uri": "https://github.com/HUPO-PSI/psi-ms-CV/blob/master/psi-ms.obo", - "version": "4.1.7" + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.157/psi-ms.obo", + "version": "4.1.157" }, { "name": "Unit Ontology", - "uri": "https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo", - "version": "f9ff25b" + "uri": "https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/v2023-05-23/unit-ontology.obo", + "version": "v2023-05-23" } ] } diff --git a/specification_documents/examples/intro_run.mzQC b/specification_documents/examples/intro_run.mzQC index da6b8e13..6fefa8b1 100644 --- a/specification_documents/examples/intro_run.mzQC +++ b/specification_documents/examples/intro_run.mzQC @@ -117,6 +117,11 @@ "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.130/psi-ms.obo", "version": "4.1.130" + }, + { + "name": "Unit Ontology", + "uri": "https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/v2023-05-23/unit-ontology.obo", + "version": "v2023-05-23" } ] } From 7bf3ff0bef3c97120ccfb9a1abaaed57d702cb72 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 29 Jul 2024 17:10:50 +0200 Subject: [PATCH 16/30] Update example index --- docs/pages/examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/examples.md b/docs/pages/examples.md index 0b4d73b5..2f1f11ca 100644 --- a/docs/pages/examples.md +++ b/docs/pages/examples.md @@ -13,5 +13,5 @@ The following use cases provide several hands-on examples of how mzQC files are Additionally, for more advanced usage, mzQC can closely interoperate with several other file formats developed by the Proteomics Standards Initiative: -- [Using USI with mzQC](USI-example/) +- [Integration of the Universal Spectrum Identifier (USI) in mzQC](adv_mzqc_usi/) - [Incorporating QC metrics in mzML files](adv_mzqc_in_mzml/) From f2a81365681f0739590c44bea0abcce01171da90 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Tue, 6 Aug 2024 18:26:24 +0200 Subject: [PATCH 17/30] Remove QC-CV (#236) --- cv/README.md | 18 - cv/obo-visual.py | 79 -- cv/qc-cv.obo | 1947 ---------------------------------------------- 3 files changed, 2044 deletions(-) delete mode 100644 cv/README.md delete mode 100644 cv/obo-visual.py delete mode 100644 cv/qc-cv.obo diff --git a/cv/README.md b/cv/README.md deleted file mode 100644 index cd8998c0..00000000 --- a/cv/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# The Quality Control Controlled Vocabulary (QC CV) - -The PSI-QC controlled vocabulary (CV) is intended to provide terms for the -definition of quality metrics and related supporting values. The CV contains -entries for metrics that can be recorded in the mzQC files. While the mzQC -format allows storing any metric information, the CV makes it possible to -interpret the actual values. - -## QC CV Moved Home -The PSI-QC controlled vocabulary moved home and is now part of (https://github.com/HUPO-PSI/psi-ms-CV/)! -This folder is for legacy and QC CV specific code only. - -## How It Works -Please see [our website](https://hupo-psi.github.io/mzQC/) for more information on how the PSI-QC controlled vocabulary (CV) works with mzQC. - -## CV Term Creation for QC Metric Definition -We use a dedicated issue template to request new QC terms for the PSI-MS-CV. -If you want to request a new term, please do so [there (PSI-MS-CV)](https://github.com/HUPO-PSI/psi-ms-CV/issues/new?assignees=&labels=&template=new_qc_term.yml). diff --git a/cv/obo-visual.py b/cv/obo-visual.py deleted file mode 100644 index 6aa60fb8..00000000 --- a/cv/obo-visual.py +++ /dev/null @@ -1,79 +0,0 @@ -#import pronto -import itertools -import fastobo -from pyvis.network import Network -import numpy as np - -# wget -O cv/psi-ms.obo https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo -psi = fastobo.load('cv/psi-ms.obo') - -# fastobo example -# term_list = dict() -# for frame in psi: -# if isinstance(frame, fastobo.term.TermFrame): -# term_list[str(frame.id)] = {'prop': str(frame.id), 'name': '?' , 'edges': []} -# for clause in frame: -# if isinstance(clause, fastobo.term.IsAClause): -# term_list[str(frame.id)] = (str(frame.id), str(clause.term)) - - -# network doc resource: https://pyvis.readthedocs.io/en/latest/tutorial.html -term_list = dict() -c = 0 -pref_selection = ["MS:0000000", "MS:4"] -for frame in psi: - if isinstance(frame, fastobo.term.TermFrame): - if any([pref in str(frame.id) for pref in pref_selection]): - node_candidate = { 'edges_isa': [] , 'edges_cat': [] , 'edges_con': [] , 'edges_uni': [] , 'node_index': c} - valid = True - for clause in frame: - # print(str(clause) + " = " + str(isinstance(clause, fastobo.term.RelationshipClause))) - if isinstance(clause, fastobo.term.NameClause): - node_candidate['name'] = clause.name - if isinstance(clause, fastobo.term.DefClause): - node_candidate['definition'] = clause.definition - if isinstance(clause, fastobo.term.IsAClause): - node_candidate['edges_isa'].append((str(frame.id), str(clause.term))) - if isinstance(clause, fastobo.term.RelationshipClause): - if str(clause.typedef) == 'has_metric_category': - node_candidate['edges_cat'].append(str(clause.term)) - if str(clause.typedef) == 'has_units': - node_candidate['edges_uni'].append(str(clause.term)) - if str(clause.typedef) == 'has_value_concept': - node_candidate['edges_con'].append(str(clause.term)) - if valid: - term_list[str(frame.id)] = node_candidate - c += 1 - -# len(term_list) - -net = Network(height='750px', width='100%', bgcolor='#a0a0a0', font_color='black') -node_list = list(zip(*[(v['node_index'],(v['name'],k)) for k,v in term_list.items()])) -# https://github.com/WestHealth/pyvis/pull/12 - tooltip box seems to be drawn twice -net.add_nodes(node_list[0], label=list(zip(*node_list[1]))[0], - title=["{acc}".format( - acc = acc, - acc_repl = acc.replace(':','_')) for acc in list(zip(*node_list[1]))[1] ]) #, accessions=list(zip(*node_list[1]))[1]) -# net.show('nodes.html') - -# TODO make nicer filtering available (by network or relationship type?!) -# TODO make layout hierarchical -# add_node knows about level= in hierarchical mode: net = Network(..., layout=True) -# net.add_nodes([3, 4, 5, 6], -# label=['Michael', 'Ben', 'Oliver', 'Olivia'], -# color=['#3da831', '#9a31a8', '#3155a8', '#eb4034']) -# net.show('list_of_nodes_with_color.html') - -accession_lookup = {k:v['node_index'] for k,v in term_list.items()} -edge_o = [v['node_index'] for k,v in term_list.items()] -edge_d = [list(map(accession_lookup.get, v['edges_cat'])) for k,v in term_list.items()] - -edge_list = list(map(tuple,np.concatenate([list(itertools.product([i], v)) for i,v in zip(edge_o, edge_d) if v]))) -edge_list = [tuple(map(int, i)) for i in edge_list] -net.add_edges(edge_list) - -net.barnes_hut() -net.show('edges.html') - -# TODO filter nodes without edges -# TODO add colour (https://encycolorpedia.com/808080) \ No newline at end of file diff --git a/cv/qc-cv.obo b/cv/qc-cv.obo deleted file mode 100644 index d987aecc..00000000 --- a/cv/qc-cv.obo +++ /dev/null @@ -1,1947 +0,0 @@ -format-version: 1.2 -data-version: 0.1.5 -date: 09:12:2021 12:03 -saved-by: Mathias Walzer -default-namespace: MS -namespace-id-rule: * MS:$sequence(7,0,9999999)$ -remark: coverage of namespace-id: QC:$sequence(7,4000000,4999999)$: Mass spectrometry quality control metrics -remark: creator: Chris Bielow fu-berlin.de> -remark: creator: Wout Bittremieux health.ucsd.edu> -remark: creator: Nils Hoffmann < nils.hoffmann <-at-> cebitec.uni-bielefeld.de> -remark: creator: Julian Uszkoreit ruhr-uni-bochum.de> -remark: creator: Mathias Walzer ebi.ac.uk> -remark: namespace: MS -import: https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo -import: https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo -import: https://raw.githubusercontent.com/obi-ontology/obi/master/obi.owl -import: https://raw.githubusercontent.com/ISA-tools/stato/dev/releases/1.4/stato.obo -ontology: ms - -remark: check for terms moved to PSI-MS-CV - - -[Typedef] -id: has_regexp -name: has regexp - -[Typedef] -id: has_units -name: has_units - -[Typedef] -id: part_of -name: part_of -is_transitive: true - -[Typedef] -id: has_order -name: has_order - -[Typedef] -id: has_domain -name: has_domain - -[Typedef] -id: has_value_type -name: has value type -def: "'Entity A' has value type 'Entity B', such as xsd:float." [] - -[Typedef] -id: has_structured_representation_in_format -name: has structured representation in format -def: "The term is encoded in the structure of the named file format rather than as an explicit parameter, and should not be used as one in that format." [] - -[Typedef] -id: has_metric_category -name: has_metric_category - -[Typedef] -id: has_value_concept -name: has_value_concept - -[Typedef] -id: has_column -name: has_column - -[Typedef] -id: has_optional_column -name: has_optional_column - -[Term] -id: QC:4000065 -name: Precursor median m/z for IDs -def: "Median m/z value for all identified peptides (unique ions) after FDR." [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000020 ! ion source metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000066 -name: Fraction of MS2 identified at different MS1 quantiles -def: "Fraction of total MS2 scans identified after FDR in the respective quantile of peptides sorted by MS1 maximum intensity." [PSI:QC] -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000067 -name: Total ion current chromatogram table -def: "The total ion current chromatogram. The first column contains the retention time values in second, the second column the corresponding relative intensities." [PSI:QC] -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000235 ! total ion current chromatogram -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000109 ! Relative intensity - -[Term] -id: QC:4000068 -name: Ambient humidity -def: "The ambient relative humidity in percent (0,100) over one or more time points. The first column contains is the ambient humidity value(s). The second contains the respective retention time. A negative RT implies that the exact time of measurement is unknown." [PSI:QC] -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000024 ! environment metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000260 ! Percent - -[Term] -id: QC:4000069 -name: MS1 Total ion current chromatogram -def: "The total ion current chromatogram of MS1 measurements. The first column contains the retention time values in seconds, the second column the corresponding relative intensities." [PSI:QC] -comment: The metric enables to check visually e.g. MS1 TIC stability along the retention time and its absolute value compared to MS2 total ion chromatogram or other analyses MS1 TICs. TIC drops caused by e.g. spray stability issues or bubbles presence can be detected here. -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1000235 ! Total ion current chromatogram -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000109 ! Relative intensity - -[Term] -id: QC:4000070 -name: MS2 Total ion current chromatogram -def: "The total ion current chromatogram of MS2 measurements. The first column contains the retention time values in second, the second column the corresponding relative intensities." [PSI:QC] -comment: The metric enables to check visually e.g. MS2 TIC absolute value compared to MS1 total ion chromatogram or other analyses MS2 TICs. -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1000235 ! Total ion current chromatogram -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000109 ! Relative intensity - -[Term] -id: QC:4000071 -name: Fraction of peptide IDs around max MS1 -def: "Fraction of all peptides identified at least X minutes earlier or later than the most intense MS1 signal of the identification. The first column contains the time in minute-wise steps of seconds, the other comlumn the fraction of identified. Negative time values indicate minutes before and positive after maximum MS1." [PSI:QC] -comment: Estimates very early peak broadening. -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000239 ! Fraction - -[Term] -id: QC:4000072 -name: Interquartile RT period for peptide identifications -def: "The interquartile retention time period, in seconds, for all peptide identifications over the complete run." [PSI:QC] -comment: Longer times indicate better chromatographic separation. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000073 -name: Peptide identification rate of the interquartile RT period -def: "The identification rate of peptides for the interquartile retention time period, in peptides per second." [PSI:QC] -comment: Higher rates indicate efficient sampling and identification. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000072 ! Interquartile RT period for peptide identifications - -[Term] -id: QC:4000074 -name: Median MS1 peak FWHM for peptides -def: "Median of all MS1 peak widths at half maximum (FWHM) for all identified peptides, in seconds" [PSI:QC] -comment: Sharper peak widths (i.e. smaller values) indicate better chromatographic resolution. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000086 ! full width at half-maximum -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000075 -name: Interquartile distance of MS1 peak FWHM for identifications -def: "Interquartile distance of all MS1 peak widths at half maximum (FWHM) for all identifications, in seconds" [PSI:QC] -comment: Tighter distributions indicate better consistency. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000086 ! full width at half-maximum -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000076 -name: Median MS1 peak FWHM for peptides in RT quantile -def: "Median of all MS1 peak widths at half maximum (FWHM) for all identified peptide, in seconds, in the respective identifications' quantiles ordered by retention time. The data is given in a tuple defining the quantiles, 4-tuple represents quartiles, 10-tuple deciles, etc." [PSI:QC] -comment: Sharper peak widths (i.e. smaller values) indicate better chromatographic resolution in the given quantile. -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000086 ! full width at half-maximum -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000077 -name: Area under TIC -def: "The area under the total ion chromatogram." [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000235 ! total ion current chromatogram -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000078 -name: Area under TIC RT quantiles -def: "The area under the total ion chromatogram of the retention time quantiles. Number of quantiles are given by the n-tuple." [PSI:QC] -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000235 ! total ion current chromatogram -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000079 -name: Pump pressure chromatogram -def: "Representation of chromatographic pressure versus time. The first column contains the retention time points in seconds, the second column the corresponding pressures in pascal." [PSI:QC] -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1003019 ! pressure chromatogram -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_column: QC:4000108 ! Retention time -relationship: has_column: QC:4000261 ! Pressure - -[Term] -id: QC:4000080 -name: Peptide elution order trailing -def: "N(a, b) are the peptides common in the run and a reference run. N(a,b)_i to N(a,b)_j are the first to last eluting common peptides in the run ordered by retention time. This metric is the maximum of ('elution rank' of peptide N(a,b)_t in run) - ('elution_rank' of peptide N(a,b)_t in reference) for the first tenth of common peptides ordered by retention time. The metric is finally normalised with dividing by the number of (identified) peptides in the run." [PSI:QC] -comment: The elution rank difference gives you a measure of how many peptides are eluting early. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:4000014 ! multiple runs based - -[Term] -id: QC:4000081 -name: Peptide elution order preceding -def: "N(a, b) are the peptides common in the run and a reference run. N(a,b)_i to N(a,b)_j are the first to last eluting common peptides in the run ordered by retention time. This metric is the maximum of ('elution rank' of peptide N(a,b)_t in run) - ('elution_rank' of peptide N(a,b)_t in reference) for the last tenth of common peptides ordered by retention time. The metric is finally normalised with dividing by the number of (identified) peptides in the run." [PSI:QC] -comment: The elution rank difference gives you a measure of how many peptides are eluting late. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:4000014 ! multiple runs based - -[Term] -id: QC:4000082 -name: isolation window target m/z -def: "The primary or reference m/z about which the isolation window is defined." [PSI:QC] -comment: The isolation window target m/z is read straight from the mzML file and reported for every unique isolation window. This serves mainly as information to orientate the user. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_relation MS:1000827 ! isolation window target m/z - -[Term] -id: QC:4000083 -name: scans per isolation window -def: "The number of scans collected during the run reported for all unique isolation windows." [PSI:QC] -comment: This is mainly informative and serves as a nice confirmation that mzML contains all the necessary information. -xref: value-type:xsd\:int "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000084 -name: average m/z range of isolation window -def: "The average range (isolation window upper limit - isolation window lower limit) in m/z for each unique isolation window." [PSI:QC] -comment: This is the range set by the user in the isolation scheme. The purpose is to provide context for other metrics. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000085 -name: proportion of total TIC per isolation window -def: "The TIC for all occurrences of the relevant isolation window in the run is summed and divided by the total TIC for all MS2 scans in the run." [PSI:QC] -comment: A larger value indicates that isolation windows with that particular target m/z contributed more to the total TIC. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000082 ! isolation window target m/z - -[Term] -id: QC:4000086 -name: average isolation window density -def: "For each unique isolation window this value reports the number of ions detected on average throughout the run." [PSI:QC] -comment: A higher value indicates that a higher number of ions was detected for this specific isolation window on average. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000082 ! isolation window target m/z - -[Term] -id: QC:4000087 -name: isolation window density IQR -def: "The interquartile range (IQR) of the number of ions detected throughout the run for each unique isolation window." [PSI:QC] -comment: A higher value indicates greater variability in the number of ions detected for that particular isolation window. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000082 ! isolation window target m/z -relationship: has_relation QC:4000086 ! average isolation window density - -[Term] -id: QC:4000088 -name: MS2 peak widths per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric returns the average FWHM for base peaks in each segment." [PSI:QC] -comment: Sharper peak widths (i.e. smaller values) indicate better chromatographic resolution. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_relation MS:1000086 ! full width at half-maximum -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000089 -name: peak tailing factor per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric measures peak tailing, which can be defined as the peak width divided by twice the distance from the start of the peak to the apex, all measured at 5% height. A larger value indicates the tail of the peak is longer in comparison to the front of the peak." [PSI:QC] -comment: The larger the value, the longer the peak tail and therefore the less symmetric the peak. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000090 -name: MS2 peak capacity per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. For this metric, the size of each segment (Identical across segments) is divided by the number of peaks in this segment. Peak capacity describes the maximum theoretical number of components that can be successfully separated with a given column." [PSI:QC] -comment: This metric is related to peak widths. A larger peak width will result in less distinguishable peaks for the segment in question. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000017 ! chromatogram metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000088 ! MS2 peak widths - -[Term] -id: QC:4000091 -name: MS2 peak precision per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. For each base peak, both the m/z and intensity of every instance in which an ion (not necessarily a base peak) within the m/z tolerance of the base peak is picked up is added to an array for m/z and an array for intensity and the mean of those arrays are determined. The mean m/z is divided by the m/z at which the base peak was reported as a base peak. This value is squared and multiplied by the intensity mean. The intensity of the base peak when it was reported as a base peak is then divided by this result." [PSI:QC] -comment: The larger the value, the less precise the m/z value of the peak. The value is weighted so as to not penalize low intensity peaks. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000092 -name: MS1 peak precision per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. For each base peak, both the m/z and intensity of every instance in which an ion (not necessarily a base peak) within the m/z tolerance of the base peak is picked up is added to an array for m/z and an array for intensity and the mean of those arrays are determined. The mean m/z is divided by the m/z at which the base peak was reported as a base peak. This value is squared and multiplied by the intensity mean. The intensity of the base peak when it was reported as a base peak is then divided by this result." [PSI:QC] -comment: The larger the value, the less precise the m/z value of the peak. The value is weighted so as to penalize high intensity peaks that have drifted. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000093 -name: average change in TIC per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. The TIC of a scan is subtracted from the TIC of the previous scan and the absolute value is then added to an array for all scans in the segment, of which the average is reported here. This value is reported as the average for all fragmentswindows present in that segment of the RT." [PSI:QC] -comment: A larger value could indicate irregularities in the ionization process, such as sputter. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1000235 ! Total ion current chromatogram - -[Term] -id: QC:4000094 -name: IQR of change in TIC per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. The TIC of a scan is subtracted from the TIC of the previous scan and the absolute value is then added to an array for all scans in the segment, of which the interquantile range (IQR) is reported here." [PSI:QC] -comment: A larger value indicates greater variability in the change in TIC and therefore that a greater portion of the scans might have a value that is further away from the mean. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000093 ! average change in TIC per RT segment - -[Term] -id: QC:4000095 -name: average cycle time per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric reports the average time in seconds taken to complete a cycle in each segment." [PSI:QC] -comment: A larger value could indicate a longer scan time which could be due to a larger amount of ions in this quantile or other factors. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000082 ! isolation window target m/z - -[Term] -id: QC:4000096 -name: average number of MS1 ions detected per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric reports the average number of ions reported per MS1 scan in each segment." [PSI:QC] -comment: A larger value indicates a larger number of ions detected in this section of the RT on average. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000097 -name: average number of MS2 ions detected per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric reports the average number of ions reported per MS2 scan in each segment." [PSI:QC] -comment: A larger value indicates a larger number of ions detected in this section of the RT on average. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000098 -name: MS1 TIC per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric reports the total MS1 TIC for each segment." [PSI:QC] -comment: A larger value indicates a higher TIC. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1000235 ! Total ion current chromatogram - -[Term] -id: QC:4000099 -name: MS2 TIC per RT segment -def: "For this metric the user has selected the number of segments the RT is divided into and for each segment a value is returned. The number of segments N is therefore stipulated by the user. This metric reports the total MS2 TIC for each segment." [PSI:QC] -comment: A larger value indicates a higher TIC. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000100 -name: number of missing scans -def: "This metric is reported per run. Sometimes scans are performed, but zero ions are detected. This metric reports the number of such scans in the run." [PSI:QC] -comment: A larger value indicates a larger number of scans within the run that did not contain a single ion. -xref: value-type:xsd\:int "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000101 -name: isolation windows size difference -def: "This metric is the difference in m/z between the largest and the smallest isolation window in the run." [PSI:QC] -comment: In SWATH/DIA this is merely for informative purposes so a user can check that there was not an error in the isolation scheme they had set up. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_relation MS:1000827 ! isolation window target m/z -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000102 -name: average isolation windows per cycle -def: "The average number of unique isolation windows per cycle for the whole run." [PSI:QC] -comment: In SWATH/DIA this is merely informative for the user to double check that the correct isolation settings were carried out. -xref: value-type:xsd\:int "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000103 -name: Total MS1 density -def: "The sum of all abundances in all MS1 events in the run." [PSI:QC] -comment: A higher value indicates more ions detected. When comparing runs, this value could be compared to the MS1 density average as this would give an indication whether a few scans are responsible for the bulk of the number of ions, or the load is spread evenly throughout. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000021 ! MS1 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1000235 ! Total ion current chromatogram - -[Term] -id: QC:4000104 -name: Total MS2 density -def: "The sum of all abundances in all MS2 events in the run." [PSI:QC] -comment: A higher value indicates more ions detected. When comparing runs, this value could be compared to the MS2 density average as this would give an indication whether a few scans are responsible for the bulk of the number of ions, or the load is spread evenly throughout. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric - -[Term] -id: QC:4000105 -name: MS2 density average -def: "The number of ions in each MS2 scan is averaged for all MS2 scans in the run." [PSI:QC] -comment: A higher value indicates more ions detected. When comparing runs, this value could be compared to the MS2 density average as this would give an indication whether a few scans are responsible for the bulk of the number of ions, or the load is spread evenly throughout. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000106 ! MS2 density IQR - -[Term] -id: QC:4000106 -name: MS2 density IQR -def: "The IQR for the number of ions detected in all MS2 scans in the run." [PSI:QC] -comment: A higher value indicates greater variability in the number of ions detected in MS2 scans. -xref: value-type:xsd\:double "The allowed value-type for this CV term." -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000022 ! MS2 metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation QC:4000105 ! MS2 density average - -[Term] -id: QC:4000107 -name: Table column type -def: "The parent to the group of column definitions for name, content, and units for table type." [PSI:QC] -relationship: has_relation MS:4000006 ! table - -[Term] -id: QC:4000108 -name: Retention time column -def: "The column contains retention time points in seconds." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000010 ! second - -[Term] -id: QC:4000109 -name: Relative intensity column -def: "The column contains relative intensity values of one type." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units MS:1000043 ! intensity unit - -[Term] -id: QC:4000110 -name: Sequence coverage column -def: "The column contains sequence coverage values in percent, e.g. from proteins." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000187 ! percent -relationship: has_type NCIT:C68811 ! Cover - -[Term] -id: QC:4000111 -name: Protein accession column -def: "The column contains protein accessions." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type MS:1000885 ! protein accession - -[Term] -id: QC:4000112 -name: Sequence length column -def: "The column contains length values of sequences, i.e. the count of items within the sequences, e.g. total length of proteins." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000113 -name: Target or decoy designation column -def: "The column contains designations of the type 'target', 'decoy', or 'target+decoy'." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type NCIT:C45253 ! String - -[Term] -id: QC:4000114 -name: Sample rate column -def: "The column contains sample rate values as number of occurrences." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units PATO:0000161 ! rate - -[Term] -id: QC:4000115 -name: Count column -def: "The column contains counts of occurrences of a common type." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000116 -name: Peptide sequence column -def: "The column contains peptide sequences; multiple peptides are separated by space; sequences in ProForma encoding." [PSI:QC] -comment: ProForma v2 - https://github.com/HUPO-PSI/ProForma/ -is_a: QC:4000107 ! Table column type -relationship: has_type NCIT:C45253 ! String - -[Term] -id: QC:4000117 -name: Outliers below column -def: "The outlier values below 1.5 * IQR." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type NCIT:C79083 ! Outlier - -[Term] -id: QC:4000118 -name: Outliers above column -def: "The outlier values above 1.5 * IQR." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type NCIT:C79083 ! Outlier - -[Term] -id: QC:4000119 -name: Protein coverage -def: "The coverage of protein sequences from the peptide sequences identified. The table records the coverage itself (in percent), the protein accession (SHOULD correspond to the accession used in fasta document used for Sequence DB based identification), Length of the protein(, and optionally if it is 'target' or 'decoy' entry.)" [PSI:QC] -comment: The protein coverage can provide insight into the sensitivity of the instrument/identification/protocols used. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000005 ! table -relationship: has_column MS:4000110 ! Sequence coverage column -relationship: has_column MS:4000111 ! Protein accession column -relationship: has_column MS:4000112 ! Sequence length column -relationship: has_optional_column MS:4000113 ! Target or decoy designation column - -[Term] -id: QC:4000120 -name: Sampling rates -def: "The sampling rates of identified peptides and their respective frequency (accumulated by the sampling rate, i.e. how often peptides were sampled n times and how many peptides were resampled at that rate. Optionally, which peptides were sampled at that rate, space separated)" [PSI:QC] -comment: The sampling rate may give insights to peptide separation, dynamic exclusion settings and gradient efficiency. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000005 ! table -relationship: has_column MS:4000114 ! Sample rate column -relationship: has_column MS:4000115 ! Count column -relationship: has_optional_column MS:4000116 ! Peptide sequence column - -[Term] -id: QC:4000121 -name: Explained precursor intensity first quarter -def: "Fraction of identified MS2 in the first quarter of MS2 sorted by precursor intensity." [PSI:QC] -comment: Higher fractions of identified MS2 spectra indicate the efficiency of detection and sampling -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "MS2-4A" NARROW [] - -[Term] -id: QC:4000122 -name: Explained precursor intensity second quarter -def: "Fraction of identified MS2 in the second quarter of MS2 sorted by precursor intensity." [PSI:QC] -comment: Higher fractions of identified MS2 spectra indicate the efficiency of detection and sampling -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "MS2-4B" NARROW [] - -[Term] -id: QC:4000123 -name: Explained precursor intensity third quarter -def: "Fraction of identified MS2 in the third quarter of MS2 sorted by precursor intensity." [PSI:QC] -comment: Higher fractions of identified MS2 spectra indicate the efficiency of detection and sampling -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "MS2-4C" NARROW [] - -[Term] -id: QC:4000124 -name: Explained precursor intensity fourth quarter -def: "Fraction of identified MS2 in the fourth quarter of MS2 sorted by precursor intensity." [PSI:QC] -comment: Higher fractions of identified MS2 spectra indicate the efficiency of detection and sampling -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "MS2-4D" NARROW [] - -[Term] -id: QC:4000125 -name: Extent of identified precursor intensity -def: "Ratio of 95th over 5th percentile of precursor intensity for identified peptides" [PSI:QC] -comment: Can be used to approximate the dynamic range of signal -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000300 ! dimensionless ratio -synonym: "MS1-3A" NARROW [] - -[Term] -id: QC:4000126 -name: Precursor intensity range of identified MS2 -def: "Minimum and maximum precursor intensity recorded and identified." [PSI:QC] -comment: The intensity range of the identified precursors informs about the dynamic range of the acquisition. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units MS:1003085 ! previous MSn-1 scan precursor intensity - -[Term] -id: QC:4000127 -name: Precursor intensity of identified MS2 Q1, Q2, Q3 -def: "From the distribution of precursor intensity of identified MS2, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The (un)identified precursor intensity distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000128 -name: Precursor intensity of unidentified MS2 Q1, Q2, Q3 -def: "From the distribution of precursor intensity of unidentified MS2, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The (un)identified precursor intensity distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000129 -name: Median S/N for MS1 spectra in RT range in which half of the identified spectra are identified -def: "Median S/N for MS1 spectra whose RT is between Q1-Q3 of identified MS2 spectra. This will be half of the identified MS2 spectra." [PSI:QC] -comment: Higher MS1 S/N may correlate with higher signal discrimination -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000300 ! dimensionless ratio -synonym: "MS1-2A" NARROW [] - -[Term] -id: QC:4000130 -name: Median of TIC values in the RT range in which the middle half of peptides are identified -def: "Median of TIC values in the RT range in which half of peptides are identified (RT values of Q1 to Q3 of identifications)" [PSI:QC] -comment: Estimates the total absolute signal for peptides (may vary significantly between instruments) -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "MS1-2B" NARROW [] - -[Term] -id: QC:4000131 -name: Median S/N for MS1 spectra in the shortest RT range in which half of the peptides are identified -def: "Median S/N for MS1 spectra in the shortest RT range in which half of the peptides are identified" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric - -[Term] -id: QC:4000132 -name: Median of TIC values in the shortest RT range in which half of the peptides are identified -def: "Median of TIC values in the shortest RT range in which half of the peptides are identified" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric - -[Term] -id: QC:4000133 -name: Explained base peak intensity median -def: "Median of the ratio of 'max survey scan intensity' over 'sampled precursor intensity' for all peptides identified" [PSI:QC] -comment: Gives insight into the amount of overall explained signal and whether the amount of signal could be increased by a better sampling strategy. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000574 ! center value - -[Term] -id: QC:4000134 -name: Explained base peak intensity median from least intense 50% base peaks -def: "Ratios of 'max survey scan intensity' over sampled precursor intensity for the bottom half (by MS1 max) of MS2" [PSI:QC] -comment: Gives insight into the amount of explained signal and whether the sampling strategy is interfering with the sampling of low abundant peaks. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric - -[Term] -id: QC:4000135 -name: number of chromatograms -def: "Number of chromatograms" [PSI:QC] -comment: A lower number of chromatograms acquired during one sample run compared to similar runs can indicate mismatched instrument settings or issues with the instrumentation. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000138 -name: m/z acquisition range -def: "Upper and lower limit of m/z precursor values at which MSn spectra are recorded." [PSI:QC] -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_units MS:1000040 ! m/z -is_obsolete: true - -[Term] -id: QC:4000139 -name: retention time acquisition range -def: "Upper and lower limit of time at which spectra are recorded." [PSI:QC] -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_units UO:0000010 ! second -is_obsolete: true - -[Term] -id: QC:4000142 -name: Slowest frequency for MS level 1 collection -def: "Slowest frequency for MS level 1 collection" [PSI:QC] -comment: Spectrum acquisition frequency can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units UO:0000106 ! hertz - -[Term] -id: QC:4000143 -name: Slowest frequency for MS level 2 collection -def: "Slowest frequency for MS level 2 collection" [PSI:QC] -comment: Spectrum acquisition frequency can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units UO:0000106 ! hertz - -[Term] -id: QC:4000144 -name: Precursor intensity range -def: "Minimum and maximum precursor intensity recorded." [PSI:QC] -comment: The intensity range of the precursors informs about the dynamic range of the acquisition. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units MS:1003085 ! previous MSn-1 scan precursor intensity - -[Term] -id: QC:4000145 -name: MS1 frequency in RT quarters -def: "MS1 frequency in RT 1st quarter, 2nd quarter, 3rd quarter, 4th quarter" [PSI:QC] -comment: Spectrum acquisition frequency can be used to gauge the suitability of used instrument settings for the sample content used. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units UO:0000106 ! hertz - -[Term] -id: QC:4000146 -name: MS2 frequency in RT quarters -def: "MS2 frequency in RT 1st quarter, 2nd quarter, 3rd quarter, 4th quarter" [PSI:QC] -comment: Spectrum acquisition frequency can be used to gauge the suitability of used instrument settings for the sample content used. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units UO:0000106 ! hertz - -[Term] -id: QC:4000147 -name: MS1 ion collection time Q1, Q2, Q3 -def: "From the distribution of ion injection times (MS:1000927) for MS1, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000148 -name: MS1 ion collection time mean -def: "From the distribution of ion injection times (MS:1000927) for MS1, the mean" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000149 -name: MS1 ion collection time sigma -def: "From the distribution of ion injection times (MS:1000927) for MS1, the sigma value" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000150 -name: MS1 ion collection time low outliers (Q3+1.5*IQR) -def: "From the distribution of ion injection times (MS:1000927) for MS1, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000152 -name: MS2 ion collection time Q1, Q2, Q3 -def: "From the distribution of ion injection times (MS:1000927) for MS2, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000153 -name: MS2 ion collection time mean -def: "From the distribution of ion injection times (MS:1000927) for MS2, the mean" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000154 -name: MS2 ion collection time sigma -def: "From the distribution of ion injection times (MS:1000927) for MS2, the sigma value" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000155 -name: MS2 ion collection time low outliers (Q3+1.5*IQR) -def: "From the distribution of ion injection times (MS:1000927) for MS2, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: Injection time distribution can be used to gauge the suitability of used instrument settings for the sample content used. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000157 -name: Peak density distribution MS1 Q1, Q2, Q3 -def: "From the distribution of peak densities in MS1, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The distribution of peak densities in MS1 can provide insight into the presence of nuisance factors. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000158 -name: Peak density distribution MS1 mean -def: "From the distribution of peak densities in MS1, the mean" [PSI:QC] -comment: The distribution of peak densities in MS1 can provide insight into the presence of nuisance factors. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000159 -name: Peak density distribution MS1 sigma -def: "From the distribution of peak densities in MS1, the sigma value" [PSI:QC] -comment: The distribution of peak densities in MS1 can provide insight into the presence of nuisance factors. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000160 -name: Peak density distribution MS1 low outliers (Q3+1.5*IQR) -def: "From the distribution of peak densities in MS1, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: The distribution of peak densities in MS1 can provide insight into the presence of nuisance factors. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000162 -name: Peak density distribution MS2 Q1, Q2, Q3 -def: "From the distribution of peak densities in MS2, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The distribution of peak densities in MS2 can provide insight into the instruments ion selction settings. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_type STATO:0000167 ! first quartile -relationship: has_type STATO:0000574 ! center value -relationship: has_type STATO:0000170 ! third quartile - -[Term] -id: QC:4000163 -name: Peak density distribution MS2 mean -def: "From the distribution of peak densities in MS2, the mean" [PSI:QC] -comment: The distribution of peak densities in MS2 can provide insight into the instruments ion selction settings. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000164 -name: Peak density distribution MS2 sigma -def: "From the distribution of peak densities in MS2, the sigma value" [PSI:QC] -comment: The distribution of peak densities in MS2 can provide insight into the instruments ion selction settings. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000165 -name: Peak density distribution MS2 low outliers (Q3+1.5*IQR) -def: "From the distribution of peak densities in MS2, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: The distribution of peak densities in MS2 can provide insight into the instruments ion selction settings. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000167 -name: Precursor intensity distribution Q1, Q2, Q3 -def: "From the distribution of precursor intensities, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The intensity distribution of the precursors informs about the dynamic range of the acquisition. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000168 -name: Precursor intensity distribution mean -def: "From the distribution of precursor intensities, the mean" [PSI:QC] -comment: The intensity distribution of the precursors informs about the dynamic range of the acquisition. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000169 -name: Precursor intensity distribution sigma -def: "From the distribution of precursor intensities, the sigma value" [PSI:QC] -comment: The intensity distribution of the precursors informs about the dynamic range of the acquisition. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000170 -name: Precursor intensity distribution low outliers (Q3+1.5*IQR) -def: "From the distribution of precursor intensities, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: The intensity distribution of the precursors informs about the dynamic range of the acquisition. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000172 -name: MS1 signal jump (10x) count -def: "The count of MS1 signal jump (spectra sum) by a factor of ten or more (10x) between two subsequent scans" [PSI:QC] -comment: An unusual high count of signal jumps or falls can indicate ESI stability issues. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -synonym: "IS-1A" RELATED [] - -[Term] -id: QC:4000173 -name: MS1 signal fall (10x) count -def: "The count of MS1 signal decline (spectra sum) by a factor of ten or more (10x) between two subsequent scans" [PSI:QC] -comment: An unusual high count of signal jumps or falls can indicate ESI stability issues. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -synonym: "IS-1B" RELATED [] - -[Term] -id: QC:4000174 -name: Charged peptides ratio 1+ over 2+ -def: "Ratio of 1+ peptide count over 2+ peptide count in identified spectra" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "IS-3A" NARROW [] - -[Term] -id: QC:4000175 -name: Charged peptides ratio 3+ over 2+ -def: "Ratio of 3+ peptide count over 2+ peptide count in identified spectra" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "IS-3B" NARROW [] - -[Term] -id: QC:4000176 -name: Charged peptides ratio 4+ over 2+ -def: "Ratio of 4+ peptide count over 2+ peptide count in identified spectra" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "IS-3C" NARROW [] - -[Term] -id: QC:4000177 -name: Mean charge in identified spectra -def: "Mean charge in identified spectra" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric - -[Term] -id: QC:4000178 -name: Median charge in identified spectra -def: "Median charge in identified spectra" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric - -[Term] -id: QC:4000179 -name: Charged spectra ratio +1 over +2 -def: "Ratio of 1+ spectra count over 2+ spectra count in all MS2" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -synonym: "IS-3A" RELATED [] - -[Term] -id: QC:4000180 -name: Charged spectra ratio +3 over +2 -def: "Ratio of 3+ peptide count over 2+ peptide count in all MS2" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -synonym: "IS-3B" RELATED [] - -[Term] -id: QC:4000181 -name: Charged spectra ratio +4 over +2 -def: "Ratio of 4+ peptide count over 2+ peptide count in all MS2" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -synonym: "IS-3C" RELATED [] - -[Term] -id: QC:4000182 -name: Mean precursor charge in all MS2 -def: "Mean precursor charge in all MS2" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric - -[Term] -id: QC:4000183 -name: Median precursor charge in all MS2 -def: "Median precursor charge in all MS2" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric - -[Term] -id: QC:4000184 -name: Number of different distinct proteins from all PSM -def: "Number of different distinct protein from all PSM after FDR filtering. (No undistinguishability groups.)" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000185 -name: Number of identified proteins -def: "Number of identified proteins at given FDR threshold, first number is the number of proteins (considering sequence only), second number is the FDR threshold applied (negative if no threshold applied)" [PSI:QC] -comment: The number of identifications are likely to only make local sense within a confined set of identification parameters (identification algorithm, searchspace, FDR method). -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000186 -name: Total number of PSM -def: "Total number of PSM before FDR filtering." [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000187 -name: Number of identified peptides -def: "Number of identified peptides at given FDR threshold, first number is the number of peptides (considering sequence only), second number is the FDR threshold applied (negative if no threshold applied)" [PSI:QC] -comment: The number of identifications are likely to only make local sense within a confined set of identification parameters (identification algorithm, searchspace, FDR method). -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000188 -name: Number of identified spectra -def: "Number of identified spectra at given FDR threshold, first number is the number of spectra, second number is the FDR threshold applied (negative if no threshold applied)" [PSI:QC] -comment: The number of identifications are likely to only make local sense within a confined set of identification parameters (identification algorithm, searchspace, FDR method). -is_a: MS:4000004 ! n-tuple -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000189 -name: ID ratio -def: "The ratio of identified and recorded MS2 spectra after FDR filtering." [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000300 ! dimensionless ratio - -[Term] -id: QC:4000190 -name: Precursor errors (Da) Q1, Q2, Q3 -def: "From the distribution of Precursor errors (mass deviation of precursor to identified peptide in Da), the quartiles Q1, Q2, Q3 value" [PSI:QC] -comment: The absolute precursor error distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000191 -name: Precursor errors (Da) mean -comment: The absolute precursor error distribution can aid the interpretation of overall identification success. -def: "From the distribution of Precursor errors (mass deviation of precursor to identified peptide in Da), the mean" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5B" NARROW [] - -[Term] -id: QC:4000192 -name: Precursor errors (Da) sigma -def: "From the distribution of Precursor errors (mass deviation of precursor to identified peptide in Da), the sigma value" [PSI:QC] -comment: The absolute precursor error distribution can aid the interpretation of overall identification success. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000193 -name: Precursor errors (Da) outliers (Q3+1.5*IQR) -def: "From the distribution of Precursor errors (mass deviation of precursor to identified peptide in Da), the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: The absolute precursor error distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000005 ! table -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000195 -name: Precursor errors (ppm) Q1, Q2, Q3 -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -def: "From the distribution of Precursor errors (ppm), the quartiles Q1, Q2, Q3 value" [PSI:QC] -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000196 -name: Precursor errors (ppm) mean -def: "From the distribution of Precursor errors (ppm), the mean " [PSI:QC] -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000197 -name: Precursor errors (ppm) sigma -def: "From the distribution of Precursor errors (ppm), the sigma value" [PSI:QC] -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000198 -name: Precursor errors (ppm) low outliers (Q3+1.5*IQR) -def: "From the distribution of Precursor errors (ppm), the list of outliers below Q1-1.5IQR" [PSI:QC] -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000200 -name: Precursor errors (Da) median -def: "From the distribution of Precursor errors (Da), the median" [PSI:QC] -comment: The precursor error distribution can aid the interpretation of overall identification success. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5A" NARROW [] - -[Term] -id: QC:4000201 -name: Precursor errors (ppm) median -def: "From the distribution of Precursor errors (ppm), the median" [PSI:QC] -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5C" NARROW [] - -[Term] -id: QC:4000202 -name: Precursor errors (ppm) IQR -def: "From the distribution of Precursor errors (ppm), the IQR" [PSI:QC] -comment: The precursor error in ppm distribution can aid the interpretation of overall identification success. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5D" NARROW [] - -[Term] -id: QC:4000203 -name: Identification score - Q1, Q2, Q3 -def: "From the distribution of Identification score, the Q1, Q2, Q3 value" [PSI:QC] -comment: The identification score distribution can help improve scoring function tuning, aid the interpretation of overall identification success, and integration with downstream processing such as percolator. Comparisons will likely only make local sense where the same method of identification is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000204 -name: Identification score - mean -def: "From the distribution of Identification score, the mean value" [PSI:QC] -comment: The identification score distribution can help improve scoring function tuning, aid the interpretation of overall identification success, and integration with downstream processing such as percolator. Comparisons will likely only make local sense where the same method of identification is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000205 -name: Identification score - sigma -def: "From the distribution of Identification score, the sigma value" [PSI:QC] -comment: The identification score distribution can help improve scoring function tuning, aid the interpretation of overall identification success, and integration with downstream processing such as percolator. Comparisons will likely only make local sense where the same method of identification is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000206 -name: Identification score - low outliers (Q3+1.5*IQR) -def: "From the distribution of Identification score, the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: The identification score distribution can help improve scoring function tuning, aid the interpretation of overall identification success, and integration with downstream processing such as percolator. Comparisons will likely only make local sense where the same method of identification is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000208 -name: Missed cleavages - Q1, Q2, Q3 -def: "From the distribution of missed cleavages in identified peptides the quartiles Q1, Q2, Q3 value" [PSI:QC] -comment: The missed cleavage distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000209 -name: Missed cleavages - mean -def: "From the distribution of missed cleavages in identified peptides the mean" [PSI:QC] -comment: The missed cleavage distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5B" NARROW [] - -[Term] -id: QC:4000210 -name: Missed cleavages - sigma -def: "From the distribution of missed cleavages in identified peptides the sigma value" [PSI:QC] -comment: The missed cleavage distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000211 -name: Missed cleavages - low outliers (Q3+1.5*IQR) -def: "From the distribution of missed cleavages in identified peptides, the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: The missed cleavage distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000213 -name: Identified peptide lengths - Q1, Q2, Q3 -def: "From the distribution of identified peptide lengths the quartiles Q1, Q2, Q3 value" [PSI:QC] -comment: The identified peptide lengths distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000214 -name: Identified peptide lengths - mean -def: "From the distribution of identified peptide lengths the mean" [PSI:QC] -comment: The identified peptide lengths distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000401 ! sample mean -synonym: "MS1-5B" NARROW [] - -[Term] -id: QC:4000215 -name: Identified peptide lengths - sigma -def: "From the distribution of identified peptide lengths the sigma value" [PSI:QC] -comment: The identified peptide lengths distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000216 -name: Identified peptide lengths - low outliers (Q3+1.5*IQR) -def: "From the distribution of identified peptide lengths, the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: The identified peptide lengths distribution can aid the interpretation of digestion efficacy. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000218 -name: Signal-to-noise ratio in MS1 - Q1, Q2, Q3 -def: "From the distribution of signal-to-noise ratio in MS1, the quartiles Q1, Q2, Q3 value" [PSI:QC] -comment: The Signal-to-noise ratio in MS1 distribution can provide insight to the presence of nuisance factors. -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000219 -name: Signal-to-noise ratio in MS1 - mean -comment: The signal-to-noise ratio in MS1 distribution can provide insight into the presence of nuisance factors. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -def: "From the distribution of signal-to-noise ratio in MS1, the mean" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000220 -name: Signal-to-noise ratio in MS1 - sigma -def: "From the distribution of signal-to-noise ratio in MS1, the sigma value" [PSI:QC] -comment: The Signal-to-noise ratio in MS1 distribution can provide insight into the presence of nuisance factors. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000221 -name: Signal-to-noise ratio in MS1 - low outliers (Q3+1.5*IQR) -def: "From the distribution of signal-to-noise ratio in MS1, the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: The Signal-to-noise ratio in MS1 distribution can provide insight into the presence of nuisance factors. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000223 -name: Signal-to-noise ratio in MS2 - Q1, Q2, Q3 -def: "From the distribution of signal-to-noise ratio in MS2, the quartiles Q1, Q2, Q3 value" [PSI:QC] -comment: A high signal-to-noise ratio in MS2 distribution can explain a high rate of unidentified spectra. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000224 -name: Signal-to-noise ratio in MS2 - mean -def: "From the distribution of signal-to-noise ratio in MS2, the mean" [PSI:QC] -comment: A high signal-to-noise ratio in MS2 distribution can explain a high rate of unidentified spectra. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000225 -name: Signal-to-noise ratio in MS2 - sigma -def: "From the distribution of signal-to-noise ratio in MS2, the sigma value" [PSI:QC] -comment: A high signal-to-noise ratio in MS2 distribution can explain a high rate of unidentified spectra. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000226 -name: Signal-to-noise ratio in MS2 - low outliers (Q3+1.5*IQR) -def: "From the distribution of signal-to-noise ratio in MS2, the list of outliers above Q3+1.5IQR" [PSI:QC] -comment: A high signal-to-noise ratio in MS2 distribution can explain a high rate of unidentified spectra. Comparisons will likely only make local sense where the same method of S/N calculation is applied (or overall the same software to calculate this metric, see mzQC 'analysisSoftware'). -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000228 -name: Identified precursor intensity distribution Q1, Q2, Q3 -def: "From the distribution of identified precursor intensities, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The intensity distribution of the identified precursors informs about the dynamic range of the acquisition in relation to identifiability. -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000229 -name: Identified precursor intensity distribution - mean -def: "From the distribution of identified precursor intensities, the mean" [PSI:QC] -comment: The intensity distribution of the identified precursors informs about the dynamic range of the acquisition in relation to identifiability. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000230 -name: Identified precursor intensity distribution - sigma -def: "From the distribution of identified precursor intensities, the sigma value" [PSI:QC] -comment: The intensity distribution of the identified precursors informs about the dynamic range of the acquisition in relation to identifiability. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000231 -name: Identified precursor intensity distribution - low outliers (Q3+1.5*IQR) -def: "From the distribution of identified precursor intensities, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: The intensity distribution of the identified precursors informs about the dynamic range of the acquisition in relation to identifiability. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000233 -name: Unidentified precursor intensity distribution - Q1, Q2, Q3 -def: "From the distribution of unidentified precursor intensities, the quartiles Q1, Q2, Q3" [PSI:QC] -comment: The intensity distribution of the unidentified precursors informs about the dynamic range of the acquisition in relation to identifiability. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_units STATO:0000167 ! first quartile -relationship: has_units STATO:0000574 ! center value -relationship: has_units STATO:0000170 ! third quartile - -[Term] -id: QC:4000234 -name: Unidentified precursor intensity distribution - mean -def: "From the distribution of unidentified precursor intensities, the mean" [PSI:QC] -comment: The intensity distribution of the unidentified precursors informs about the dynamic range of the acquisition in relation to identifiability. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000003 ! single value -relationship: has_units STATO:0000401 ! sample mean - -[Term] -id: QC:4000235 -name: Unidentified precursor intensity distribution - sigma -def: "From the distribution of unidentified precursor intensities, the sigma value" [PSI:QC] -comment: The intensity distribution of the unidentified precursors informs about the dynamic range of the acquisition in relation to identifiability. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units STATO:0000237 ! standard deviation - -[Term] -id: QC:4000236 -name: Unidentified precursor intensity distribution - low outliers (Q3+1.5*IQR) -def: "From the distribution of unidentified precursor intensities, the list of outliers above Q3+1.5*IQR" [PSI:QC] -comment: The intensity distribution of the unidentified precursors informs about the dynamic range of the acquisition in relation to identifiability. -relationship: has_metric_category MS:4000008 ! ID based metric -is_a: MS:4000004 ! n-tuple -relationship: has_column MS:4000118 ! Outliers above column - -[Term] -id: QC:4000238 -name: Charge state column -def: "The column contains charge states." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units MS:1000041 ! charge state - -[Term] -id: QC:4000239 -name: Fraction column -def: "The column contains fraction values as decimals." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000191 ! fraction - -[Term] -id: QC:4000240 -name: Humidity column -def: "The column contains relative humidity values in percent." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000187 ! percent - -[Term] -id: QC:4000241 -name: Observed MS1 feature areas column -def: "Observed MS1 feature areas." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type MS:1001844 ! MS1 feature area - -[Term] -id: QC:4000242 -name: QC2 sample intensities -def: "Observed intensities for the peptides of a QC2 sample measurement within 5 ppm and +/- 240 s RT tolerance. Different metrics of observed intensities are possible, at least one must be present. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected." [PSI:MS] -is_a: MS:4000269 ! QC2 sample metric -is_a: MS:4000008 ! ID based metric -is_a: MS:4000005 ! table -relationship: has_column: MS:1003169 ! proforma peptidoform sequence -relationship: has_optional_column MS:1001858 ! XIC area -relationship: has_optional_column MS:1001859 ! normalized XIC area -relationship: has_optional_column MS:1001844 ! MS1 feature area -relationship: has_optional_column MS:1001843 ! MS1 feature maximum intensity -relationship: has_optional_column MS:1003085 ! previous MSn-1 scan precursor intensity -is_obsolete: true - -[Term] -id: QC:4000243 -name: observed mass accuracy -def: "Observed mass accuracy in ppm, calculated by 1E6 x (observed m/z - theoretical m/z)/theoretical m/z of a selected peptide spectrum." [PSI:MS] -relationship: has_value_concept MS:1000014 ! accuracy -relationship: has_units UO:0000169 ! parts per million -is_obsolete: true - -[Term] -id: QC:4000244 -name: QC2 sample mass accuracies -def: "Observed mass accuracy for the peptides of a QC2 sample measurement. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected." [PSI:MS] -is_a: MS:4000269 ! QC2 sample metric -is_a: MS:4000008 ! ID based metric -is_a: MS:4000005 ! table -relationship: has_column: MS:1003169 ! proforma peptidoform sequence -relationship: has_column: QC:4000243 ! observed mass accuracy -is_obsolete: true - -[Term] -id: QC:4000245 -name: Number of different undistinguishable proteins groups from all PSM -def: "Number of different undistinguishable proteins groups from all PSM after FDR filtering. (Only undistinguishability groups.)" [PSI:QC] -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000246 -name: Run name column -def: "The column contains run names as defined by runQuality inputFile name." [PSI:QC] -is_a: QC:4000107 ! Table column type - -[Term] -id: QC:4000247 -name: PCA Dimension 1 column -def: "The column contains Principal Component Analysis scores from the first eigenvalue dimension." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type STATO:0000587 ! percentage of variance - -[Term] -id: QC:4000248 -name: PCA Dimension 2 column -def: "The column contains Principal Component Analysis scores from the second eigenvalue dimension." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type STATO:0000587 ! percentage of variance - -[Term] -id: QC:4000249 -name: PCA Dimension 3 column -def: "The column contains Principal Component Analysis scores from the third eigenvalue dimension." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type STATO:0000587 ! percentage of variance - -[Term] -id: QC:4000250 -name: PCA Dimension 4 column -def: "The column contains Principal Component Analysis scores from the fourth eigenvalue dimension." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type STATO:0000587 ! percentage of variance - -[Term] -id: QC:4000251 -name: PCA Dimension 5 column -def: "The column contains Principal Component Analysis scores from the fifth eigenvalue dimension." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_type STATO:0000587 ! percentage of variance - -[Term] -id: QC:4000252 -name: Batch label column -def: "The column contains batch label names" [PSI:QC] -is_a: QC:4000107 ! Table column type - -[Term] -id: QC:4000253 -name: Injection sequence number column -def: "The column contains the order in which the runs were acquired. Numbers may be missing due to unrelated samples being run." [PSI:QC] -is_a: QC:4000107 ! Table column type - -[Term] -id: QC:4000254 -name: Peak area feature PCA result -def: "PCA score result from multiple runs with (log transformed) peak area input features before batch correction." [PSI:QC] -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000005 ! table -relationship: has_column: QC:4000246 ! Run name -relationship: has_column: QC:4000247 ! PCA Dimension 1 -relationship: has_column: QC:4000248 ! PCA Dimension 2 -relationship: has_optional_column: QC:4000249 ! PCA Dimension 3 -relationship: has_optional_column: QC:4000250 ! PCA Dimension 4 -relationship: has_optional_column: QC:4000251 ! PCA Dimension 5 -relationship: has_optional_column: QC:4000252 ! Batch label -relationship: has_optional_column: QC:4000253 ! Injection sequence number - -[Term] -id: QC:4000255 -name: Batch corrected peak area feature PCA result -def: "PCA score result from multiple runs with (log transformed) peak area input features after batch correction." [PSI:QC] -relationship: has_metric_category MS:4000009 ! ID free metric -is_a: MS:4000005 ! table -relationship: has_column: QC:4000246 ! Run name -relationship: has_column: QC:4000247 ! PCA Dimension 1 -relationship: has_column: QC:4000248 ! PCA Dimension 2 -relationship: has_optional_column: QC:4000249 ! PCA Dimension 3 -relationship: has_optional_column: QC:4000250 ! PCA Dimension 4 -relationship: has_optional_column: QC:4000251 ! PCA Dimension 5 -relationship: has_optional_column: QC:4000252 ! Batch label -relationship: has_optional_column: QC:4000253 ! Injection sequence number - -[Term] -id: QC:4000256 -name: Metabolomics metric -def: "Metrics for metabolomics experiments." [PSI:QC] -is_a: MS:4000008 ! QC metric category - -[Term] -id: QC:4000257 -name: "Detected Compounds" -def: "Number of detected compounds from a given library of target compounds in a specific run." [PSI:QC] -is_a: MS:4000256 ! Metabolomics metric -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_units UO:0000189 ! count unit - -[Term] -id: QC:4000260 -name: Percentage column -def: "The column contains percentages of one type." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000187 ! percent - -[Term] -id: QC:4000261 -name: Pressure column -def: "The column contains measurements of pressure in pascal." [PSI:QC] -is_a: QC:4000107 ! Table column type -relationship: has_units UO:0000110 ! pascal - -[Term] -id: QC:4000262 -name: Retention time mean shift -def: "Based on reference retention times of detected features the mean shift of all features is calculated in seconds." [PSI:QC] -comment: Low deviation in retention time indicates consistency and reproducibility in chromatographic separation. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_units UO:0000010 ! second - -[Term] -id: QC:4000263 -name: Pump pressure mean -def: "The mean pump pressure in bar for the whole run." [PSI:QC] -comment: Detecting inconsistencies in pump pressure between runs early helps troubleshooting and prevents instrument damage. -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000009 ! ID free metric -relationship: has_metric_category MS:4000012 ! single run based metric -relationship: has_relation MS:1003019 ! pressure chromatogram -relationship: has_relation QC:4000079 ! Pump pressure chromatogram - -[Term] -id: QC:4000264 -name: group of runs -def: "A table with two columns 'inputfile-name' and 'group-label' which maps input files to group names. Inputfile names must occur only once and correspond to the 'metadata:inputfiles[x]:name' attribute in the mzQC JSON schema." [PSI:QC] -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_column: QC:4000265 ! inputfile-name -relationship: has_column: QC:4000266 ! group-label - -[Term] -id: QC:4000265 -name: InputFile-name column -def: "The column contains values from 'metadata:inputfiles[x]:name' attribute in the mzQC JSON file and thus the value makes a reference to these input files." [PSI:QC] -is_a: QC:4000107 ! Table column type - -[Term] -id: QC:4000266 -name: Group-label column -def: "The column contains user-defined names for groups, e.g. 'healthy group' and can be used to give a name to a group of raw files." [PSI:QC] -is_a: QC:4000107 ! Table column type - -[Term] -id: QC:4000267 -name: PCA table -def: "A table for the PCA scores of a set of grouped runs, each PCA dimension in a separate column." [PSI:QC] -comment: The runs need to be labeled with their respective grouping (case/control, timepoints, etc.). The first two PCA dimensions are mandatory, in case more need to be reported, these can be added in optional column as well. While not mandatory, it is recommended to document the features used to calculate the PCA in the file description field. -is_a: MS:4000005 ! table -relationship: has_column: QC:4000266 ! group-label -relationship: has_column: QC:4000246 ! Run name -relationship: has_column: QC:4000247 ! PCA Dimension 1 -relationship: has_column: QC:4000248 ! PCA Dimension 2 -relationship: has_optional_column: QC:4000249 ! PCA Dimension 3 -relationship: has_optional_column: QC:4000250 ! PCA Dimension 4 -relationship: has_optional_column: QC:4000251 ! PCA Dimension 5 - -[Term] -id: QC:4000268 -name: "QC sample metric." [PSI:MS] -def: A QC metric based on a QC sample of known content. -is_a: MS:4000007 ! QC metric category -is_obsolete: true - -[Term] -id: QC:4000269 -name: QC2 sample metric -def: "A QC metric based on the results of a QC2 sample measurement (see Pichler et al. (pmid:23088386) Chiva et al. (pmid:29324744) for details on QC2 sample design). Expected peptides from sample measurement are: 'YAEAVTR','STLTDSLVC(Carbamidomethyl)K','SLADELALVDVLEDK','NPDDITNEEYGEFYK','LAVDEEENADNNTK','FEELNMDLFR','EAALSTALSEK','DDVAQTDLLQIDPNFGSK','RFPGYDSESK','EATTEFSVDAR','EQFLDGDGWTSR','TPAQFDADELR','LGDLYEEEMR','EVSTYIK','FAFQAEVNR'" [PSI:MS] -is_a: MS:400068 ! QC sample metric -is_obsolete: true - -[Term] -id: QC:4000270 -name: protein contaminant intensity ratio -def: "A QC metric based on the user defined list of contaminant proteins (and peptides). Contaminants are scored by their intensity fraction against all." [PSI:MS] -comment: "Definition needs refinement. Couldn't quite comprehend the explanaition in https://cran.r-project.org/web/packages/PTXQC/vignettes/PTXQC-ListOfMetrics.html" -is_a: MS:4000003 ! single value -relationship: has_metric_category MS:4000008 ! ID based metric -synonym: "EVD:Usercontaminant" NARROW [] -is_obsolete: true From 0d62b53ad7ff03918c559506c3f51a636a677248 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Wed, 7 Aug 2024 18:00:14 +0200 Subject: [PATCH 18/30] Add meeting notes August 7 --- meeting_notes/2024/20240807_telco.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 meeting_notes/2024/20240807_telco.md diff --git a/meeting_notes/2024/20240807_telco.md b/meeting_notes/2024/20240807_telco.md new file mode 100644 index 00000000..c67c8260 --- /dev/null +++ b/meeting_notes/2024/20240807_telco.md @@ -0,0 +1,17 @@ +# QC working group teleconference 7 August 2024 + +- Wout Bittremieux +- Mathias Walzer + +--- + +## CV + +We noticed an inconsist usage of `fraction` with relationship `has_units` and relationship `is_value_concept`. +After discussion we determined that we will harmonize this with `has_units` relationships, because QC terms that take a value are required to have a unit, as per the spec doc. + +## mzQC website + +- Some of the validator issues raised by Wout in the mzQC examples PRs might be due to an older deployed version of the validator, with fixes already implemented by Mathias (i.e. mzIdentML files for ID-based metrics). +- Discussion of the QC2 and metabolomics batch correction examples to iron out some final kinks. Wout has requested CV updates for the former and Mathias will address the latter. +- We have merged the website documentation update. **TODO @all:** review the changes online, to be discussed during the next call. From 4ff7700088495e40b37dd1ea6bc2af0dec9bef32 Mon Sep 17 00:00:00 2001 From: Mathias Walzer Date: Wed, 21 Aug 2024 09:33:24 +0100 Subject: [PATCH 19/30] Update QC2 sample example (#231) * updated QC2 sample examples, file validation fixes, explanation corrections * QC2 sample example markdown formatting * Update example * Update file names * Spelling * Fix duplicate file names * Update CV version --------- Co-authored-by: Wout Bittremieux --- docs/pages/examples.md | 2 +- .../figures/{LJCC.png => intro_qc2_ljcc.png} | Bin .../QC2-sample-example.mzQC.md | 56 ----- docs/pages/worked-examples/intro_qc2.md | 222 ++++++++++++++++++ ...QC2-sample-example.mzQC => intro_qc2.mzQC} | 48 +++- 5 files changed, 263 insertions(+), 65 deletions(-) rename docs/pages/figures/{LJCC.png => intro_qc2_ljcc.png} (100%) delete mode 100644 docs/pages/worked-examples/QC2-sample-example.mzQC.md create mode 100644 docs/pages/worked-examples/intro_qc2.md rename specification_documents/examples/{QC2-sample-example.mzQC => intro_qc2.mzQC} (66%) diff --git a/docs/pages/examples.md b/docs/pages/examples.md index 2f1f11ca..9488d869 100644 --- a/docs/pages/examples.md +++ b/docs/pages/examples.md @@ -8,7 +8,7 @@ The following use cases provide several hands-on examples of how mzQC files are - [Representing QC data for an individual mass spectrometry run](intro_run/) - [Deriving QC data from multiple related mass spectrometry runs](intro_set/) -- [QC sample mzQC](QC2-sample-example/) +- [Tracking instrument performance using controlled QC samples](intro_qc2/) - [Batch correction](metabo-batches/) Additionally, for more advanced usage, mzQC can closely interoperate with several other file formats developed by the Proteomics Standards Initiative: diff --git a/docs/pages/figures/LJCC.png b/docs/pages/figures/intro_qc2_ljcc.png similarity index 100% rename from docs/pages/figures/LJCC.png rename to docs/pages/figures/intro_qc2_ljcc.png diff --git a/docs/pages/worked-examples/QC2-sample-example.mzQC.md b/docs/pages/worked-examples/QC2-sample-example.mzQC.md deleted file mode 100644 index afae5f15..00000000 --- a/docs/pages/worked-examples/QC2-sample-example.mzQC.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: page -title: "QC Sample-Run Example of mzQC" -permalink: /examples/QC2-sample-example/ ---- - -Here, we describe details of a mzQC JSON document used for a QC sample mass spectrometry run. -For description of the general structure of mzQC, see the Single-Run Example of mzQC. -Find the complete file at the bottom of this document or in the example folder. -The mzQC file is made from the acquision of a QC2 sample as described in [QCloud: A cloud-based quality control system for mass spectrometry-based proteomics laboratories](https://doi.org/10.1371/journal.pone.0189209). -Optional (detailed) descriptions about the file can be placed into mzQC next to the general information about the file. -``` - "description": "This is an example of an mzQC file produced from a proteomics QC2 sample. 20 ug dried Pierce HeLa protein digest standard from Thermo Fisher Scientific (Part number: 88329) are dissolved in 200 uL of 0.1% formic acid in water to a final concentration of 100 ng/uL. A total amount of 1 uL (100ng) is injected per analysis.", -``` -The metrics describe simple values like the cornerstone numbers of the acquisition and identification process, but also information specific to the QC method employed. Here, it is the mass accuracies and MS1 feature areas of selected peptides. With regular runs like this, the instrument's performance can be reliably monitored and maintenance interventions scheduled before valuable samples are wasted on an instrument running at sub-par performance. -``` - { - "accession":"MS:4000078", - "name":"QC2 sample mass accuracies", - "value":{ - "MS:1003169":["YAEAVTR","STLTDSLVC(Carbamidomethyl)K","SLADELALVDVLEDK","NPDDITNEEYGEFYK","LAVDEEENADNNTK","FEELNMDLFR","EAALSTALSEK","DDVAQTDLLQIDPNFGSK","RFPGYDSESK","EATTEFSVDAR","EQFLDGDGWTSR"], - "MS:4000072":[-0.2346854518740762,-0.08024023890884578,-0.1322012562867409,-0.2259441806378488,-0.10596535779273217,0.28345130855013684,-0.08600783742175504,-0.3683484942567654,-0.03348194493295555,-0.41789282666789496,-0.12794363836212685] - } - }, - { - "accession":"MS:4000079", - "name":"QC2 sample intensities", - "value":{ - "MS:1003169":["YAEAVTR","STLTDSLVC(Carbamidomethyl)K","SLADELALVDVLEDK","NPDDITNEEYGEFYK","LAVDEEENADNNTK","FEELNMDLFR","EAALSTALSEK","DDVAQTDLLQIDPNFGSK","RFPGYDSESK","EATTEFSVDAR","EQFLDGDGWTSR"], - "MS:1001844":[1234940000.0,922790000.0,80819100.0,478714000.0,254935000.0,52841200.0,243597000.0,24581800.0,707504000.0,129063000.0,205583000.0] - } - } -``` -The individual peptides' values are stored in a table, that is defined by the respective metric cv term. In case of the feature areas, there is a column indicating the peptide and another column for the respective feature area. -``` -[Term] -id: MS:4000079 -name: QC2 sample intensities -def: "Observed intensities for the peptides of a QC2 sample measurement within 5 ppm and +/- 240 s RT tolerance. Different metrics of observed intensities are possible, at least one must be present. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected." [PSI:MS] -is_a: MS:4000005 ! table -relationship: has_metric_category MS:4000076 ! QC2 sample metric -relationship: has_metric_category MS:4000008 ! ID based metric -relationship: has_column MS:1003169 ! proforma peptidoform sequence -relationship: has_optional_column MS:1001858 ! XIC area -relationship: has_optional_column MS:1001859 ! normalized XIC area -relationship: has_optional_column MS:1001844 ! MS1 feature area -relationship: has_optional_column MS:1001843 ! MS1 feature maximum intensity -relationship: has_optional_column MS:1003085 ! previous MSn-1 scan precursor intensity -``` -Since each column is in turn defined by a cv term, the column can also be assigned an expected value type and unit. In this case the feature area column is expected to contain values of `MS:1001844 - MS1 feature area`s. This concept allows for easier automated metric consumption and even generic plotting of graphs. With a collection consecutive QC2 sample mzQC files, a plot like a Levey-Jennings Control Chart are easily achieved. - -![Levey-Jennings Control Chart](../../pages/figures/LJCC.png) - - -### This is the mzQC file once again, in full: -**[QC2-sample-example.mzQC](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/QC2-sample-example.mzQC)** \ No newline at end of file diff --git a/docs/pages/worked-examples/intro_qc2.md b/docs/pages/worked-examples/intro_qc2.md new file mode 100644 index 00000000..157a0069 --- /dev/null +++ b/docs/pages/worked-examples/intro_qc2.md @@ -0,0 +1,222 @@ +--- +layout: page +title: "Introduction to mzQC – Tracking Instrument Performance" +permalink: /examples/intro_qc2/ +--- + +This document outlines the utilization of an mzQC file for quality control (QC) of a mass spectrometry proteomics experiment. +The mzQC file discussed here is derived from a QC2 sample, following protocols established in the publication, [QCloud: A cloud-based quality control system for mass spectrometry-based proteomics laboratories](https://doi.org/10.1371/journal.pone.0189209). +A QC2 sample is defined as a high complexity sample that mimics real samples analyzed in a proteomics laboratory, and is meant to be injected 1–5 times per week as a sample to test system suitability. + +Here we demonstrate how real-life QC metrics are calculated for a single mass spectrometry run using tools such as QCloud. +You can view the complete structure of this mzQC example [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/intro_qc2.mzQC). + +## File description + +Our mzQC file example provides a detailed description of its contents and purpose, which allows users to understand the context and relevance of the QC metrics: + +```json +"description": "This is an example of an mzQC file produced from a proteomics QC2 sample. 20 ug dried Pierce HeLa protein digest standard from Thermo Fisher Scientific (Part number: 88329) are dissolved in 200 uL of 0.1% formic acid in water to a final concentration of 100 ng/uL. A total amount of 1 uL (100ng) is injected per analysis.", +``` + +## Input files specification + +The mzQC file lists necessary input files including both the raw mass spectrometry data file (mzML) and the peptide identification data file (mzIdentML). +The latter is required for deriving ID-based QC metrics later on. + +```json +"inputFiles": [ + { + "location": "file://tmp/QC2_18052020.mzML", + "name": "QC2_18052020_mzML", + "fileFormat": { + "accession": "MS:1000584", + "name": "mzML format" + }, + "fileProperties": [ + { + "accession": "MS:1000747", + "name": "completion time", + "value": "2020-05-18 09:20:48" + }, + { + "accession": "MS:1000569", + "name": "SHA-1", + "value": "fbe692c887404179518089abc670484c" + }, + { + "accession": "MS:1000031", + "name": "instrument model", + "value": "LTQ Orbitrap Velos" + } + ] + }, + { + "location": "file://tmp/QC2_18052020.mzid", + "name": "QC2_18052020_mzId", + "fileFormat": { + "accession": "MS:1002073", + "name": "mzIdentML format" + } + } +], +``` + +## Metrics calculation + +First, the mzQC file includes single-value metrics that provide quantifiable data on the MS data acquisition process, such as the number of MS2 spectra, identified spectra, peptides, and proteins: + +```json +{ + "accession": "MS:4000060", + "name": "number of MS2 spectra", + "description": "The number of MS2 events in the run.", + "value": 62299, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } +}, +{ + "accession": "MS:1003251", + "name": "count of identified spectra", + "description": "The number of spectra that pass the threshold to be considered identified with sufficient confidence.", + "value": 24765, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } +}, +{ + "accession": "MS:1003250", + "name": "count of identified peptidoforms", + "description": "The number of peptidoforms that pass the threshold to be considered identified with sufficient confidence.", + "value": 22241, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } +}, +{ + "accession": "MS:1002404", + "name": "count of identified proteins", + "description": "The number of proteins that have been identified, which must match the number of groups that pass the threshold in the file.", + "value": "5504", + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } +}, +``` + +Next, the file includes metrics on precursor mass accuracies and sample intensities for selected peptides from the QC2 sample: + +```json +{ + "accession": "MS:4000078", + "name": "QC2 sample mass accuracies", + "description": "Observed mass accuracy for the peptides of a QC2 sample measurement. The table should contain the peptides as described in the QC2 sample metric term, missing are interpreted as not detected.", + "value": { + "MS:1003169": [ + "YAEAVTR", + "STLTDSLVC[Carbamidomethyl]K", + "SLADELALVDVLEDK", + "NPDDITNEEYGEFYK", + "LAVDEEENADNNTK", + "FEELNMDLFR", + "EAALSTALSEK", + "DDVAQTDLLQIDPNFGSK", + "RFPGYDSESK", + "EATTEFSVDAR", + "EQFLDGDGWTSR" + ], + "MS:4000072": [ + -0.2346854518740762, + -0.08024023890884578, + -0.1322012562867409, + -0.2259441806378488, + -0.10596535779273217, + 0.28345130855013684, + -0.08600783742175504, + -0.3683484942567654, + -0.03348194493295555, + -0.41789282666789496, + -0.12794363836212685 + ] + } +}, +{ + "accession": "MS:4000079", + "name": "QC2 sample intensities", + "description": "Observed intensities for the peptides of a QC2 sample measurement within 5 ppm and +/- 240 s RT tolerance. Different metrics of observed intensities are possible, at least one must be present. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected.", + "value": { + "MS:1003169": [ + "YAEAVTR", + "STLTDSLVC[Carbamidomethyl]K", + "SLADELALVDVLEDK", + "NPDDITNEEYGEFYK", + "LAVDEEENADNNTK", + "FEELNMDLFR", + "EAALSTALSEK", + "DDVAQTDLLQIDPNFGSK", + "RFPGYDSESK", + "EATTEFSVDAR", + "EQFLDGDGWTSR" + ], + "MS:1001844": [ + 1234940000, + 922790000, + 80819100, + 478714000, + 254935000, + 52841200, + 243597000, + 24581800, + 707504000, + 129063000, + 205583000 + ] + } +} +``` + +These metrics are structured as tables within the mzQC document, with each row representing a peptide and columns detailing the specific metric values. + +## Controlled vocabulary definition + +All QC metrics in an mzQC file should be backed by a formal definition in a controlled vocabulary (CV) or ontology. +By default, mzQC sources its metrics from the [PSI-MS CV](https://github.com/HUPO-PSI/psi-ms-CV/). +For example, the "QC2 sample intensities" metric is formally defined in the PSI-MS CV as follows: + +``` +[Term] +id: MS:4000079 +name: QC2 sample intensities +def: "Observed intensities for the peptides of a QC2 sample measurement within 5 ppm and +/- 240 s RT tolerance. Different metrics of observed intensities are possible, at least one must be present. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected." [PSI:MS] +is_a: MS:4000005 ! table +relationship: has_metric_category MS:4000076 ! QC2 sample metric +relationship: has_metric_category MS:4000008 ! ID based metric +relationship: has_column MS:1003169 ! proforma peptidoform sequence +relationship: has_optional_column MS:1001858 ! XIC area +relationship: has_optional_column MS:1001859 ! normalized XIC area +relationship: has_optional_column MS:1001844 ! MS1 feature area +relationship: has_optional_column MS:1001843 ! MS1 feature maximum intensity +relationship: has_optional_column MS:1003085 ! previous MSn-1 scan precursor intensity +``` + +This CV term is structured to capture multiple aspects of peptide detection and quantification, which include: + +- [ProForma](https://github.com/HUPO-PSI/ProForma) peptidoform sequence: Mandatory column denoting the peptides that were detected. +- Abundance measurements: Various optional columns can be used to record the peptide abundances using different strategies. Typically only one of those optional columns will be present. + +The example above records the peptide intensities based on the MS1 feature areas. Thus, the second column for the metric has name `MS:1001844`, corresponding to the definition of this metric. + +## Visualization and data analysis + +The structured data in mzQC allows for effective visualization and analysis, such as plotting trends across multiple peptides, samples, or experiments. +This can help identify any deviations or potential issues with the mass spectrometry process, prompting timely maintenance and calibration actions to maintain optimal performance. +For example, Levey-Jennings charts can be used to enable quick visual assessment of instrument stability or drift, critical for high-stakes or high-throughput proteomics workflows: + +![Levey-Jennings control chart](../../pages/figures/intro_qc2_ljcc.png) + +This example demonstrates how QC information in mzQC files helps in monitoring instrument performance, ensuring that maintenance is proactive and timely, thereby preserving the integrity and effectiveness of subsequent analyses. diff --git a/specification_documents/examples/QC2-sample-example.mzQC b/specification_documents/examples/intro_qc2.mzQC similarity index 66% rename from specification_documents/examples/QC2-sample-example.mzQC rename to specification_documents/examples/intro_qc2.mzQC index 21e8b2c3..27617724 100644 --- a/specification_documents/examples/QC2-sample-example.mzQC +++ b/specification_documents/examples/intro_qc2.mzQC @@ -11,7 +11,7 @@ "inputFiles": [ { "location": "file://tmp/QC2_18052020.mzML", - "name": "QC type 2 sample", + "name": "QC2_18052020_mzML", "fileFormat": { "accession": "MS:1000584", "name": "mzML format" @@ -33,20 +33,30 @@ "value": "LTQ Orbitrap Velos" } ] + }, + { + "location": "file://tmp/QC2_18052020.mzid", + "name": "QC2_18052020_mzId", + "fileFormat": { + "accession": "MS:1002073", + "name": "mzIdentML format" + } } ], "analysisSoftware": [ { "accession": "MS:1001058", "name": "quality estimation by manual validation", + "description": "The quality estimation was done manually.", "version": "0", "uri": "https://dx.doi.org/10.1021/pr201071t" }, { "accession": "MS:1000799", "name": "custom unreleased software tool", - "version": "0", + "description": "A software tool that has not yet been released. The value should describe the software. Please do not use this term for publicly available software - contact the PSI-MS working group in order to have another CV term added.", "value": "mzqc-pylib", + "version": "0", "uri": "https://hupo-psi.github.io/mzQC/unknown.html" } ] @@ -55,26 +65,47 @@ { "accession": "MS:4000060", "name": "number of MS2 spectra", - "value": 62299 + "description": "The number of MS2 events in the run.", + "value": 62299, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } }, { "accession": "MS:1003251", "name": "count of identified spectra", - "value": 24765 + "description": "The number of spectra that pass the threshold to be considered identified with sufficient confidence.", + "value": 24765, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } }, { "accession": "MS:1003250", "name": "count of identified peptidoforms", - "value": 22241 + "description": "The number of peptidoforms that pass the threshold to be considered identified with sufficient confidence.", + "value": 22241, + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } }, { "accession": "MS:1002404", "name": "count of identified proteins", - "value": "5504" + "description": "The number of proteins that have been identified, which must match the number of groups that pass the threshold in the file.", + "value": "5504", + "unit": { + "accession": "UO:0000189", + "name": "count unit" + } }, { "accession": "MS:4000078", "name": "QC2 sample mass accuracies", + "description": "Observed mass accuracy for the peptides of a QC2 sample measurement. The table should contain the peptides as described in the QC2 sample metric term, missing are interpreted as not detected.", "value": { "MS:1003169": [ "YAEAVTR", @@ -107,6 +138,7 @@ { "accession": "MS:4000079", "name": "QC2 sample intensities", + "description": "Observed intensities for the peptides of a QC2 sample measurement within 5 ppm and +/- 240 s RT tolerance. Different metrics of observed intensities are possible, at least one must be present. The table should contain the peptides as defined in the parent QC2 sample metric term, missing are interpreted as not detected.", "value": { "MS:1003169": [ "YAEAVTR", @@ -142,8 +174,8 @@ "controlledVocabularies": [ { "name": "Proteomics Standards Initiative Mass Spectrometry Ontology", - "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.79/psi-ms.obo", - "version": "4.1.79" + "uri": "https://github.com/HUPO-PSI/psi-ms-CV/releases/download/v4.1.157/psi-ms.obo", + "version": "4.1.172" } ] } From eba32cae2986d3c2ad4813c2a6caf0b736f26029 Mon Sep 17 00:00:00 2001 From: Chris Bielow Date: Thu, 22 Aug 2024 08:51:43 +0200 Subject: [PATCH 20/30] Linkcheck on PR (#242) * Linkcheck on PR fixes https://github.com/HUPO-PSI/mzQC/issues/241 * Avoid redundant conditions --------- Co-authored-by: Wout Bittremieux --- .github/workflows/linkcheck.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index ace864ff..62356b27 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -1,6 +1,8 @@ name: Broken link check -on: - page_build: +on: + page_build + pull_request: + branches: [ main ] jobs: broken_link_checker_job: From 4d1cba44082ea3b30a66fc62ee14a1da12aa176a Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Thu, 22 Aug 2024 08:55:26 +0200 Subject: [PATCH 21/30] Fix link check --- .github/workflows/linkcheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 62356b27..031e9097 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -1,6 +1,6 @@ name: Broken link check on: - page_build + page_build: pull_request: branches: [ main ] From b0c1790fa3163dfcfd295f6f5b19d8a1855ca365 Mon Sep 17 00:00:00 2001 From: Chris Bielow Date: Thu, 22 Aug 2024 09:44:42 +0200 Subject: [PATCH 22/30] some menu cleanup -- not final --- docs/_data/menu.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/_data/menu.yml b/docs/_data/menu.yml index 26a1c490..5198154c 100644 --- a/docs/_data/menu.yml +++ b/docs/_data/menu.yml @@ -4,41 +4,41 @@ # LINKS ARE UNBROKEN AND ALL CONTENT IS REACHABLE!!! - title: Home url: / -- title: The Format +- title: mzQC for Users url: /mzQC-intro/ submenu: - - title: Specification - url: /spec-doc/ - - title: '*omics' + - title: Introduction + url: /mzQC-intro/ + - title: 'Use cases' url: /use-cases/ + - title: QC Software with mzQC + url: /resource-guide/#qc-software - title: Examples url: /examples/ - - title: Metrics - url: /metrics/ - - title: The Format - url: /mzQC-intro/ -- title: Validator - url: /validator/ - submenu: - - title: Validation Process - url: /validator/validation - - title: Local Validation - url: /validator/validation/#offline-validation - - title: Online Validator - url: /validator/ -- title: mzQC Resources +- title: mzQC for Developers url: /resource-guide/ submenu: + - title: Specification + url: /spec-doc/ + - title: Metrics + url: /metrics/ - title: mzQC Frameworks url: /resource-guide/#core-libraries - title: Tutorials url: /tutorials/ - - title: QC Software with mzQC - url: /resource-guide/#qc-software - title: JSON Primer url: /tutorials/#json - title: Ontology Primer url: /tutorials/#ontologies +- title: Validator + url: /validator/ + submenu: + - title: Validation Process + url: /validator/validation + - title: Offline Validation + url: /validator/validation/#offline-validation + - title: Online Validator + url: /validator/ - title: About url: /about/ submenu: From ce927b1078018960e8b934ee90575a4812231157 Mon Sep 17 00:00:00 2001 From: Chris Bielow Date: Thu, 22 Aug 2024 09:45:00 +0200 Subject: [PATCH 23/30] fix broken links --- docs/index.md | 3 +-- docs/pages/contribs.md | 2 +- docs/pages/tutorials.md | 2 +- docs/pages/use-cases.md | 16 +++++++++++----- docs/pages/worked-examples/adv_mzqc_in_mzml.md | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/index.md b/docs/index.md index 62b8851e..9973c8f1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,8 +33,7 @@ and analysts wanting a better insight to the data they analyse. * If you are familiar with JSON or have an understanding of PSI file formats, are however pressed for time, [mzQC at a glance](use-cases/at-a-glance/) will give you a brief overview of the essentials. -* A in a nutshell exlanation is [here](mzQC-in-a-nutshell/) -* Find out more about the format in general [here](mzQC-intro/)! +* Find out more about the format in general [in our Introduction](mzQC-intro/)! ### Specification Document For the technical details on the mzQC format see either the [latest release static version](spec-doc/), or diff --git a/docs/pages/contribs.md b/docs/pages/contribs.md index e93b7dd6..a6a755d3 100644 --- a/docs/pages/contribs.md +++ b/docs/pages/contribs.md @@ -26,7 +26,7 @@ If you spot a problem, [search if an issue already exists](https://docs.github.c #### Request a new metric -If you miss a specific metric, you can request it's addition via the issue system. It might be good if you'd familiarise yourself with [mzQC](https://hupo-psi.github.io/mzqc/) and [CV metric representation](https://hupo-psi.github.io/mzqc/metrics/) in particular. We have a dedicated issue template for the request of new QC terms in the PSI-MS-CV repository. +If you miss a specific metric, you can request it's addition via the issue system. It might be good if you'd familiarise yourself with [mzQC](https://hupo-psi.github.io/mzQC/) and [CV metric representation](https://hupo-psi.github.io/mzQC/metrics/) in particular. We have a dedicated issue template for the request of new QC terms in the PSI-MS-CV repository. #### Solve an issue diff --git a/docs/pages/tutorials.md b/docs/pages/tutorials.md index 51de3cf4..57c50820 100644 --- a/docs/pages/tutorials.md +++ b/docs/pages/tutorials.md @@ -35,7 +35,7 @@ Here is a list of links and documents that should help you out in case you want * Ontologies are powerful tools, we mostly use them as [controlled vocabularies](https://en.wikipedia.org/w/index.php?title=Controlled_vocabulary&oldid=1092198296) * The W3C has a bit broader explanation of [ontologies](https://www.w3.org/standards/semanticweb/ontology) * Visit the [HUPO-PSI webpage](https://www.psidev.info/groups/controlled-vocabularies) for more information on CV use in different settings. -* __Browse our controlled vocabulary terms on [OLS](https://www.ebi.ac.uk/ols/ontologies/ms/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMS_4000000&lang=en&viewMode=All&siblings=false)__ +* __Browse our controlled vocabulary terms on [OLS](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMS_4000000?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMS_4000000&lang=en&viewMode=All&siblings=false)__ * If you want to start with the foundations and get ambitious here are the resources [from protege for ontology development](https://protege.stanford.edu/publications/ontology_development/ontology101.pdf) * Luckily, we have all the relevant metrics and terms in [PSI-MS CV](https://github.com/HUPO-PSI/psi-ms-CV) (so no [Ontology Dowsing](https://www.w3.org/wiki/Ontology_Dowsing) necessary) diff --git a/docs/pages/use-cases.md b/docs/pages/use-cases.md index ce59b197..7106197f 100644 --- a/docs/pages/use-cases.md +++ b/docs/pages/use-cases.md @@ -6,19 +6,25 @@ permalink: /use-cases/ This page should give you a (non-exclusive) overview over the use cases covered by mzQC: ## Handover Format -It is easy with **mzQC** to get relevant QC info, easy to put your data into context (of measurement realities). That makes it a preferred medium to handover quality information. Read more about it in [mzQC at a glance](at-a-glance/) and explore [a small mzQC example](../examples/intro_run/). +It is easy with **mzQC** to get relevant QC info, easy to put your data into context (of measurement realities). That makes it a preferred medium to handover quality information. +Read more about it in [mzQC at a glance](at-a-glance/) and explore [a small mzQC example](../examples/intro_run/). ## Quality Reports -With JSON at its core, mzQC follows a '_works online, works everywhere_' approach. Even for single spectra, as we show with the [universal spectrum identifier example](../examples/USI-example/). +With JSON at its core, mzQC follows a '_works online, works everywhere_' approach. Even for single spectra, as we show with the [universal spectrum identifier example](../examples/adv_mzqc_usi/). ## Archival -The format is an optimal QC tool for the analytical chemist and instrument operators keeping track (and archive) instrument performance. Read on with an [introduction to mzQC for anlytical chemists](analytical-chemists/) or explore our [QC sample example](../examples/QC2-sample-example/). You can even embed mzQC in mzML, should you choose to. [View an example here](../examples/mzml-mzqc-example/). +The format is an optimal QC tool for the analytical chemist and instrument operators keeping track (and archive) instrument performance. +Read on with an [introduction to mzQC for anlytical chemists](analytical-chemists/) or explore our [QC sample example](../examples/intro_qc2/). +You can even embed mzQC in mzML, should you choose to. [View an example here](../examples/adv_mzqc_in_mzml/). ## Common currency With mzQC for archival, quality reports, and as handover format, [mzQC can serve as a common currency](mzQC-common-currency/) for data repositories, journals, and collaborators. ## Bridge the *omics Gap: Metabolomics -A technology agnostic design makes QC with mzQC easy in other fields as well! Assuming you make per sample measurements (runs in mzQC parlance) and multiple groups of runs in a study (sets), then all you need is to define your metrics to open up the mzQC 'ecosystem' to your field. Explore in [this example](../examples/metabo-batches/), how easy you can include QC data from quite different instruments, employ advanced QC concepts like batch correction, and use metrics on expansive datasets. +A technology agnostic design makes QC with mzQC easy in other fields as well! Assuming you make per sample measurements (runs in mzQC parlance) and multiple groups of runs in a study (sets), +then all you need is to define your metrics to open up the mzQC 'ecosystem' to your field. Explore in [this example](../examples/metabo-batches/), +how easy you can include QC data from quite different instruments, employ advanced QC concepts like batch correction, and use metrics on expansive datasets. ## Keep track of your study's runs as a whole -With mzQC you can keep track of the quality of all your study's runs. We show in [this example](../examples/set-of-runs/) how you can apply metrics to a whole set of runs. There are of course more scenarios in which you want to consider the quality of multiple runs, and you can read [more here](mzqc-multi/). +With mzQC you can keep track of the quality of all your study's runs. We show in [this example](../examples/intro_set/) how you can apply metrics to a whole set of runs. +There are of course more scenarios in which you want to consider the quality of multiple runs, and you can read [more here](mzqc-multi/). diff --git a/docs/pages/worked-examples/adv_mzqc_in_mzml.md b/docs/pages/worked-examples/adv_mzqc_in_mzml.md index 1a136143..7849e7eb 100644 --- a/docs/pages/worked-examples/adv_mzqc_in_mzml.md +++ b/docs/pages/worked-examples/adv_mzqc_in_mzml.md @@ -7,7 +7,7 @@ permalink: /examples/adv_mzqc_in_mzml/ While QC metrics in the PSI-MS controlled vocabulary are primarily intended for use in mzQC files, they can also be embedded directly within other file formats developed by the Proteomics Standards Initiative, such as [mzML](https://github.com/HUPO-PSI/mzML) and [mzIdentML](https://github.com/HUPO-PSI/mzIdentML) files. This integration is particularly useful when it's preferred to store a limited set of QC metrics alongside the data they describe, thereby enhancing data integrity and accessibility. -You can view a comprehensive example of an mzML file incorporating QC metrics [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/adv_mzqc_in_mzml.mzml). +You can view a comprehensive example of an mzML file incorporating QC metrics [here](https://github.com/HUPO-PSI/mzQC/tree/main/specification_documents/examples/adv_mzqc_in_mzml.mzML). Below, we detail the steps and elements involved in this process. 1. **Source file specification** From 6391601c48e06fb76511e1625d7b88a749c9d2b6 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 2 Sep 2024 21:14:31 +0200 Subject: [PATCH 24/30] Add meeting notes August 21 --- meeting_notes/2024/20240821_telco.md | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 meeting_notes/2024/20240821_telco.md diff --git a/meeting_notes/2024/20240821_telco.md b/meeting_notes/2024/20240821_telco.md new file mode 100644 index 00000000..4c12f717 --- /dev/null +++ b/meeting_notes/2024/20240821_telco.md @@ -0,0 +1,47 @@ +# QC working group teleconference 21 August 2024 + +- Chris Bielow +- Wout Bittremieux +- Mathias Walzer + +--- + +## Website updates + +- Discussion on recent updates to the website, including changes to various pages like metrics, specifications, use cases, and validation processes. +- Identified some inconsistencies and incomplete updates on the website, particularly in the metrics section. + +### Navigation and structure + +- The current navigation menu was found to be confusing due to redundant links and overlapping content. +- Remove redundant links from the top menu and ensure that each menu item corresponds to a single, clear page. +- Rename some menu items for clarity, such as changing "Format" to "Introduction" or "Overview" under the "For Users" section. + +## Categorization + +- The idea to create two main categories: "For Developers" and "For Users," was discussed to differentiate between technical and non-technical content. +- "For Developers" would include technical documentation, specifications, and validation, while "For Users" would focus on use cases and software applications. + - Move less technical content, such as omics-specific information, to the "For Users" section, and keep technical documentation under "For Developers." + +## Content specificity + +- Consideration of the need to separate content specific to different types of omics (proteomics, metabolomics, lipidomics) to better target different communities. +- Discussion on the importance of keeping examples and use cases up to date and consistent with the current specifications. + - Ensure that the example files are automatically validated using GitHub Actions. + +## Action items + +Content review and update: + +- Review and update the metrics page to ensure completeness and accuracy. +- Create a standalone "Use Cases" page separate from the omics content. + +Navigation overhaul: + +- Redesign the website navigation to reflect the new categorization, ensuring a clear distinction between developer-focused and user-focused content. +- Rename menu items as discussed (e.g., "Format" to "Introduction" or "Overview"). + +Technical improvements: + +- Implement a semantic validation process in GitHub actions to automatically check the correctness of examples and other technical content. +- Explore possible solutions for ensuring link validity and overall content consistency on the website. From c231b61f9bd34916fcedee5250878e68f9f56409 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Thu, 17 Oct 2024 15:29:15 +0200 Subject: [PATCH 25/30] Add meetings notes Oct 4 --- meeting_notes/2024/20240821_telco.md | 4 +-- meeting_notes/2024/20240904_telco.md | 8 ++++++ meeting_notes/2024/20241004_telco.md | 37 ++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 meeting_notes/2024/20240904_telco.md create mode 100644 meeting_notes/2024/20241004_telco.md diff --git a/meeting_notes/2024/20240821_telco.md b/meeting_notes/2024/20240821_telco.md index 4c12f717..62af0a07 100644 --- a/meeting_notes/2024/20240821_telco.md +++ b/meeting_notes/2024/20240821_telco.md @@ -17,13 +17,13 @@ - Remove redundant links from the top menu and ensure that each menu item corresponds to a single, clear page. - Rename some menu items for clarity, such as changing "Format" to "Introduction" or "Overview" under the "For Users" section. -## Categorization +### Categorization - The idea to create two main categories: "For Developers" and "For Users," was discussed to differentiate between technical and non-technical content. - "For Developers" would include technical documentation, specifications, and validation, while "For Users" would focus on use cases and software applications. - Move less technical content, such as omics-specific information, to the "For Users" section, and keep technical documentation under "For Developers." -## Content specificity +### Content specificity - Consideration of the need to separate content specific to different types of omics (proteomics, metabolomics, lipidomics) to better target different communities. - Discussion on the importance of keeping examples and use cases up to date and consistent with the current specifications. diff --git a/meeting_notes/2024/20240904_telco.md b/meeting_notes/2024/20240904_telco.md new file mode 100644 index 00000000..90f28fd0 --- /dev/null +++ b/meeting_notes/2024/20240904_telco.md @@ -0,0 +1,8 @@ +# QC working group teleconference 4 September 2024 + +- Chris Bielow +- Wout Bittremieux + +--- + +Brief check-in between Wout and Chris, with plans to reconvene with a bigger group for more in-depth discussions. diff --git a/meeting_notes/2024/20241004_telco.md b/meeting_notes/2024/20241004_telco.md new file mode 100644 index 00000000..dde9a309 --- /dev/null +++ b/meeting_notes/2024/20241004_telco.md @@ -0,0 +1,37 @@ +# QC working group teleconference 4 October 2024 + +- Wout Bittremieux +- Dave Tabb +- Julian Uszkoreit +- Tim Van Den Bossche + +--- + +## CV updates + +- Chris has been working on requested CV updates for DIA-related QC terms derived from DIA-NN output. +- Wout reviewed the PR and requested minor changes. + +## mzQC website updates + +- Wout walked through the website restructuring, with content divided between users (use cases for mzQC) and developers (technical information and metrics). +- There is still work to be done on refining the content, especially in tracking the evolving metrics and providing proper resources for each audience. + +## mzQC validator updates and edge cases + +- There are some edge cases in the validator that need attention, particularly regarding validation of the units of the metrics. +- Wout suggested that updates are required to ensure accurate validation of examples, which is being tracked via GitHub. + +## Support for mzQC in tools + +- The team discussed the support for mzQC in various tools and how this is listed on the website, noting that it is inconsistent. +- Wout highlighted the comprehensive documentation on some tools as exemplary but agreed it's unfeasible to replicate for all tools. +- Julian and Wout agreed that it would be overwhelming to maintain detailed information about which tools support specific metrics, suggesting instead a higher-level overview. +- The team discussed linking out to existing detailed documentation rather than recreating it on their platform. +- A plan was proposed to categorize tools by their use (e.g., proteomics, DDA, DIA, metabolomics). + +## mzQC manuscript + +- Wout noted that work on the manuscript has slowed down a bit, and have not set a concrete submission deadline yet. +- Initial discussions aimed for completion by the end of 2024, but progress may push submission into early 2025. +- Tim suggested blocking dedicated time (e.g., 3 days) to finalize the manuscript, which has been a successful strategy in the past. From 445f970bcbb35ba9a7148c04c47c715c04d36849 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Fri, 25 Oct 2024 15:07:25 +0200 Subject: [PATCH 26/30] Add meeting notes October 18 --- meeting_notes/2024/20241018_telco.md | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 meeting_notes/2024/20241018_telco.md diff --git a/meeting_notes/2024/20241018_telco.md b/meeting_notes/2024/20241018_telco.md new file mode 100644 index 00000000..71e0b651 --- /dev/null +++ b/meeting_notes/2024/20241018_telco.md @@ -0,0 +1,39 @@ +# QC working group teleconference 18 October 2024 + +- Chris Bielow +- Wout Bittremieux +- Julian Uszkoreit +- Mathias Walzer + +--- + +## In-person meeting mzQC manuscript + +- **Proposal:** Block 2–3 days in January for an in-person meeting in Antwerp to focus solely on the manuscript, with remote attendance as an option. +- **Funding:** Wout has budget available for travel and accommodation for international researchers. +- **Decision:** A Doodle poll will be circulated to determine suitable dates, likely in January (preferably the second or third week). + +## Website + +- The examples on the website are mostly updated, with batch correction still needing review and link checks. +- Wout will review the batch correction example. +- A few issues remain, mainly related to the validator (e.g. missing CV references) and some broken links. All examples need to be double checked. + +## pymzqc validator + +- The validator needs updates, including proper error handling for missing ontology terms. +- Mathias will work on validator code adjustments and prepare a new pymzqc release. + - Team members might be asked for assistance during testing. + +## mzQC manuscript + +Discussion of use cases: + +- **Longitudinal analysis:** Preference for QCloud data due to its richness and metadata on instrument maintenance. +- **MS imaging:** Potential collaboration with the MS imaging group at FU Berlin can't apply for funding currently. Wout should reach out to Theodore Alexandrov to inquire about QC practices in MS imaging. + +## Miscellaneous + +- Mathias's EBI account will close next week. Essential files on the shared Google Drive need to be reviewed and migrated. + - Mathias will check files for potential transfer to GitHub or alternative storage. + - Team to review the list and provide feedback on which files to retain or discard. From a7a9fb0ba8036e8b512000c2332eb90f5f202366 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Thu, 14 Nov 2024 12:04:56 +0100 Subject: [PATCH 27/30] Add meeting notes November 12 --- meeting_notes/2024/20241112_msi_meeting.md | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 meeting_notes/2024/20241112_msi_meeting.md diff --git a/meeting_notes/2024/20241112_msi_meeting.md b/meeting_notes/2024/20241112_msi_meeting.md new file mode 100644 index 00000000..2ebac45c --- /dev/null +++ b/meeting_notes/2024/20241112_msi_meeting.md @@ -0,0 +1,23 @@ +# Meeting mzQC + MS imaging 12 November 2024 + +- Theodore Alexandrov +- Chris Anderton +- Wout Bittremieux +- Kumar Sharma + +--- + +Discussion on the implementation, utility, and future developments of the mzQC file format for QC in MS imaging. + +Theodore, Chris, and Kumar are experts in MS imaging and have developed QC methods in the context of the NIH-funded Kidney Precision Medicine Project (KPMP). + +- Their QC methods currently include instrument calibration, tissue handling, and spectral alignment. Metrics like ion image correlation and signal delocalization were discussed as potential additions to mzQC. +- The imaging community's contributions and metric standards could help shape the ongoing development of mzQC. + +**Next steps** + +- Wout will share detailed information on mzQC and example files. +- Theodore will lead export of MS imaging QC metrics to mzQC, based on existing software developed and used in the KPMP. We will need to coordinate integration of relevant metrics within the PSI-MS CV. +- We will begin with current KPMP developed metrics from existing workflows, exporting these as mzQC files to demonstrate utility and gather feedback. +- This will then be included in the mzQC manuscript as an additional use case on QC for MS imaging. +- Future efforts can involve detailed discussions on how mzQC can support a QC ecosystem for MS imaging and cultivate further tool development, as well as potential integration in Metaspace. From 735ff47bbac9a8a8094a6f215f82c5915426a27c Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Fri, 15 Nov 2024 20:58:41 +0100 Subject: [PATCH 28/30] Add meeting notes November 15 --- meeting_notes/2024/20241115_telco.md | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meeting_notes/2024/20241115_telco.md diff --git a/meeting_notes/2024/20241115_telco.md b/meeting_notes/2024/20241115_telco.md new file mode 100644 index 00000000..5b547ff3 --- /dev/null +++ b/meeting_notes/2024/20241115_telco.md @@ -0,0 +1,35 @@ +# QC working group teleconference 15 November 2024 + +- Wout Bittremieux +- Nils Hoffmann +- Julian Uszkoreit +- Mathias Walzer + +--- + +## In-person mzQC meeting + +- **January 15–17, 2025** has been selected for the in-person meeting in Antwerp, Belgium. +- Wout will send around an invitation and travel information for people planning to join in-person. + +## PSI Spring Meeting 2025 + +- The [PSI Spring Meeting](https://www.psidev.info/spring-meeting-2025) will take place on March 31–April 3, 2025 in Tübingen, Germany. +- The first two days will be a workshop on making proteomics data AI-ready. +- The last two days will feature regular PSI sessions. +- Registration (free) is open until early February. + +## pymzqc validator + +- Mathias presented some bug fixes to address several open issues for the validator. + - We discussed uniqueness of input file names and that this refers to a `runQuality`/`setQuality` scope rather than an entire mzQC file. + - We should start an addendum file with such information to complement the specification document. +- Mathias and Nils will look into setting up a system to automatically deploy new releases of the validator to the website. + +## mzQC use case + +- Wout had a meeting with Theodore Alexandrov, Chris Anderton, and Kumar Sharma on the NIH-funded Kidney Precision Medicine Project (KPMP). + - They have developed QC methods for MS imaging, including m/z calibration, stability, and batch comparison. + - Wout has sent technical information on mzQC, they will now take a stab at an initial implementation of mzQC export from their tools. +- Nils discussed QC for clinical lipidomics using [MRMkit](https://github.com/MRMkit/MRMkit) with colleagues in Singapore. + - They have [rich clinical lipidomics data](https://github.com/SLINGhub/sling-data-workshop-2024) with plenty of metrics and are interested in supporting mzQC. From 74a0de98a50e3be8c7c59a2ac2271fdbd9942fb7 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 2 Dec 2024 11:59:43 +0100 Subject: [PATCH 29/30] Add meeting notes Nov 29 --- meeting_notes/2024/20241129_telco.md | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 meeting_notes/2024/20241129_telco.md diff --git a/meeting_notes/2024/20241129_telco.md b/meeting_notes/2024/20241129_telco.md new file mode 100644 index 00000000..21ef2fe4 --- /dev/null +++ b/meeting_notes/2024/20241129_telco.md @@ -0,0 +1,43 @@ +# QC working group teleconference 29 November 2024 + +- Chris Bielow +- Wout Bittremieux +- Julian Uszkoreit +- Tim Van Den Bossche +- Mathias Walzer + +--- + +## In-person mzQC meeting + +- **January 15–17, 2025** has been selected for the in-person meeting in Antwerp, Belgium. +- Confirmations: + - Julian, Chris, Tim (final day): Will attend in person. + - Mathias: Attendance conditional on visa and home office obligations, with a return to the UK by January 17. +- Logistics: Wout will share travel booking information next week. + +## PSI Spring Meeting 2025 + +- The [PSI Spring Meeting](https://www.psidev.info/spring-meeting-2025) will take place on March 31–April 3, 2025 in Tübingen, Germany. +- Registration (free) is open until early February. +- The first two days will be a workshop on making proteomics data AI-ready. +- The last two days will feature regular PSI sessions. Preliminary schedule for the QC session includes: + - QC working group overview + - mzQC manuscript (hopefully revisions) + - mzQC tools support + - New use cases for mzQC & empowering AI with mzQC + - Working group & charter update + - mzQC in 2025 and beyond + +## mzQC and Unit Ontology issues + +- Context: + - CV ambiguities with overlapping terms between PSI-MS CV and UO. + - Historical reasons for duplications in PSI-MS CV due to temporary UO unavailability. +- Decisions: + - Avoid unnecessarily importing UO in mzQC files if its duplicated terms in the PSI-MS CV suffice. + - Document implementation practices for handling UO terms on the project website. +- Action items: + - Update mzQC validator to ensure unitless terms remain unitless unless explicitly required. + - Enforce strict definitions of metrics and associated units to avoid ambiguities. + - Review documentation to clarify dependencies on PSI-MS CV and UO. From f9f55e0f3e548ac7a2188adc953f8b8c80a23416 Mon Sep 17 00:00:00 2001 From: Wout Bittremieux Date: Mon, 16 Dec 2024 14:54:40 +0100 Subject: [PATCH 30/30] Meeting notes Dec 13 --- meeting_notes/2024/20241213_telco.md | 72 ++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 meeting_notes/2024/20241213_telco.md diff --git a/meeting_notes/2024/20241213_telco.md b/meeting_notes/2024/20241213_telco.md new file mode 100644 index 00000000..b218fc8a --- /dev/null +++ b/meeting_notes/2024/20241213_telco.md @@ -0,0 +1,72 @@ +# QC working group teleconference 13 December 2024 + +- Chris Bielow +- Wout Bittremieux +- Julian Uszkoreit +- Mathias Walzer + +--- + +## In-person mzQC meeting + +**January 15–17, 2025** has been selected for the in-person meeting in Antwerp, Belgium. + +Schedule: + +- Tuesday, January 14: Arrival +- Wednesday, January 15: Meeting from 9:00 to 17:00 +- Thursday, January 16: Meeting from 9:00 to 17:00 +- Friday, January 17: Meeting from 9:00 to 12:00, followed by lunch and departures + +Travel arrangements: Wout has sent information to book travel and accommodation via email. Please book your travel prior to the holidays. + +General meeting preparations: + +- Wout to establish a centralized Google Drive for dataset sharing. +- Ensure all attendees have access to required resources (e.g., visitor accounts for meeting facilities). + +## Use cases and action items + +**Use case 1: Outlier detection** + +- MTb data available from a previous publication. +- Wout to finalize a Python script for conversion to mzQC and prepare the dataset for outlier detection analysis. + +**Use case 2: Longitudinal analysis** + +- Dataset: QCloud data. +- Action: + - Matthias to confirm the format (qcML or other) and convert the dataset to mzQC if required. + - Wout to follow up with CRG collaborators regarding potential attendance and data sharing. + +**Use case 3: Lipidomics data** + +- Decision pending input from Nils regarding the best dataset for batch effects analysis. +- Action: Wout to email Nils for dataset preparation and ensure readiness for the meeting. + +**Use case 4: Mass spectrometry imaging** + +- Collaboration with external partners (Theodore Alexandrov). +- Action: Wout to email collaborators to discuss progress and potential integration. + +## pymzqc + +Validator updates: + +- Discussion on automating the deployment of validator updates via GitHub actions. +- Issue: The current system doesn't display the validator version clearly. +- Action: + - Explore adding a feature to report active versions in outputs. + - Allocate time during the January meeting to work on validator improvements. + +pymzQC release: + +- Matthias shared progress on functionality updates. +- Pending: Resolving documentation issues and transitioning the PyPi account to personal. + +## CV term requests + +Julian's contributions: + +- Submitted multiple CV term requests. +- Agreement to review and discuss offline or during the next meeting to prioritize contentious terms.