public MzqcWriter() { JsonClasses.Unit Count = new JsonClasses.Unit("UO", "UO:0000189", "count"); JsonClasses.Unit Second = new JsonClasses.Unit("UO", "UO:0000010", "second"); JsonClasses.Unit Mz = new JsonClasses.Unit("MS", "MS:1000040", "m/z"); JsonClasses.Unit Ratio = new JsonClasses.Unit("UO", "UO:0010006", "ratio");//Also doesn't exist, need to re-evaluate... JsonClasses.Unit Intensity = new JsonClasses.Unit("MS", "MS:1000042", "Peak Intensity"); Units = new List <JsonClasses.Unit>() { Count, Second, Mz, Ratio, Intensity }; QualityParameterLookup = new List <JsonClasses.QualityParameters>(); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:4000053", "Quameter metric: RT-Duration", Second, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:02", "SwaMe metric: swathSizeDifference", Mz, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:4000060", "Quameter metric: MS2-Count", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:04", "SwaMe metric: NumOfSwaths", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:05", "SwaMe metric: Target mz", Mz, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:06", "SwaMe metric: TotalMS2IonCount", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:07", "SwaMe metric: MS2Density50", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:08", "SwaMe metric: MS2DensityIQR", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:4000059", "Quameter metric: MS1-Count", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:09", "SwaMe metric: scansPerSwathGroup", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:10", "SwaMe metric: AvgMzRange", Mz, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:11", "SwaMe metric: SwathProportionOfTotalTIC", Ratio, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:12", "SwaMe metric: swDensity50", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:13", "SwaMe metric: swDensityIQR", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:14", "SwaMe metric: Peakwidths", Second, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:15", "SwaMe metric: PeakCapacity", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:24", "SwaMe metric: TailingFactor", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:XXXXXXXX", "SwaMe metric: MS2PeakPrecision", Mz, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:16", "SwaMe metric: MS1PeakPrecision", Mz, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:17", "SwaMe metric: DeltaTICAverage", Intensity, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:18", "SwaMe metric: DeltaTICIQR", Intensity, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:19", "SwaMe metric: AvgScanTime", Second, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:20", "SwaMe metric: MS2Density", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:21", "SwaMe metric: MS1Density", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:22", "SwaMe metric: MS2TICTotal", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:23", "SwaMe metric: MS1TICTotal", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:99", "Prognosticator Metric: MS1TICQuartiles", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:98", "Prognosticator Metric: MS2TICQuartiles", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:97", "Prognosticator Metric: MS1TIC", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:96", "Prognosticator Metric: MS2TIC", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:95", "Prognosticator Metric: MS1BPC", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:94", "Prognosticator Metric: MS2BPC", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:93", "Prognosticator Metric: CombinedTIC", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:92", "Prognosticator Metric: MS1:MS2 ratio", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:91", "Prognosticator Metric: MS1 weighted median skew", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:90", "Prognosticator Metric: MS2 weighted median skew", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:89", "Prognosticator Metric: MeanIrtMassError", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:88", "Prognosticator Metric: MaxIrtMassError", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:87", "Prognosticator Metric: IrtPeptideFoundProportion", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:86", "Prognosticator Metric: IrtPeptides", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:85", "Prognosticator Metric: IrtPeptidesFound", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:84", "Prognosticator Metric: IrtSpread", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:83", "Prognosticator Metric: MS1TICQuartilesByRT", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:82", "Prognosticator Metric: MS2TICQuartilesByRT", Count, null)); QualityParameterLookup.Add(new JsonClasses.QualityParameters("QC", "QC:81", "Prognosticator Metric: IrtOrderedness", Count, null)); }
public MzqcWriter() { uo = cvLibrary.RegisterControlledVocabulary(UnitOntology.Get(), "UO"); ms = cvLibrary.RegisterControlledVocabulary(MSVocabulary.Get(), "MS"); qc = cvLibrary.RegisterControlledVocabulary(MzQCVocabulary.Get(), "QC"); JsonClasses.Unit Count = ToUnit(uo, "UO:0000189"); JsonClasses.Unit Intensity = ToUnit(ms, "MS:1000042"); JsonClasses.Unit Mz = ToUnit(ms, "MS:1000040"); JsonClasses.Unit Ratio = ToUnit(uo, "UO:0010006"); // TODO: What's the difference between this and UO:0000190? JsonClasses.Unit Second = ToUnit(uo, "UO:0000010"); QualityParametersByAccession = new JsonClasses.QualityParameters[] { ToQualityParameters(qc, "QC:4000053", Second), ToQualityParameters(qc, "QC:02", Mz), ToQualityParameters(qc, "QC:4000060", Count), ToQualityParameters(qc, "QC:04", Count), ToQualityParameters(qc, "QC:05", Mz), ToQualityParameters(qc, "QC:06", Count), ToQualityParameters(qc, "QC:07", Count), ToQualityParameters(qc, "QC:08", Count), ToQualityParameters(qc, "QC:4000059", Count), ToQualityParameters(qc, "QC:09", Count), ToQualityParameters(qc, "QC:10", Mz), ToQualityParameters(qc, "QC:11", Ratio), ToQualityParameters(qc, "QC:12", Count), ToQualityParameters(qc, "QC:13", Count), ToQualityParameters(qc, "QC:14", Second), ToQualityParameters(qc, "QC:15", Count), ToQualityParameters(qc, "QC:24", Count), ToQualityParameters(qc, "QC:XXXXXXXX", Mz), ToQualityParameters(qc, "QC:16", Mz), ToQualityParameters(qc, "QC:17", Intensity), ToQualityParameters(qc, "QC:18", Intensity), ToQualityParameters(qc, "QC:19", Second), ToQualityParameters(qc, "QC:20", Count), ToQualityParameters(qc, "QC:21", Count), ToQualityParameters(qc, "QC:22", Count), ToQualityParameters(qc, "QC:23", Count), ToQualityParameters(qc, "QC:99", Count), ToQualityParameters(qc, "QC:98", Count), ToQualityParameters(qc, "QC:97", Count), ToQualityParameters(qc, "QC:96", Count), ToQualityParameters(qc, "QC:95", Count), ToQualityParameters(qc, "QC:94", Count), ToQualityParameters(qc, "QC:93", Count), ToQualityParameters(qc, "QC:92", Count), ToQualityParameters(qc, "QC:91", Count), ToQualityParameters(qc, "QC:90", Count), ToQualityParameters(qc, "QC:89", Count), ToQualityParameters(qc, "QC:88", Count), ToQualityParameters(qc, "QC:87", Count), ToQualityParameters(qc, "QC:86", Count), ToQualityParameters(qc, "QC:85", Count), ToQualityParameters(qc, "QC:84", Count), ToQualityParameters(qc, "QC:83", Count), ToQualityParameters(qc, "QC:82", Count), ToQualityParameters(qc, "QC:81", Count) } .ToDictionary(qp => qp.accession); }
private JsonClasses.QualityParameters ToQualityParameters(ControlledVocabulary cv, string id, JsonClasses.Unit unit) => ToQualityParameters(cv, cv.GetById(id), unit);
private JsonClasses.QualityParameters ToQualityParameters(ControlledVocabulary cv, Term term, JsonClasses.Unit unit) => new JsonClasses.QualityParameters(cv.PrimaryNamespace, term.Id, term.Name, unit, null);
private JsonClasses.QualityParameters ToQualityParameters(string cvRef, Term term, JsonClasses.Unit unit) => ToQualityParameters(cvLibrary.GetById(cvRef), term, unit);