private ChromatogramRequestDocumentChromatogramGroup MakeChromatogramRequestDocumentChromatogramGroup( ChromSource chromSource, bool calculateMassErrors, IEnumerable <ChromatogramRequestDocumentChromatogramGroupChromatogram> chromatograms) { ChromatogramRequestDocumentChromatogramGroup docFilterPair = new ChromatogramRequestDocumentChromatogramGroup { ModifiedSequence = ModifiedSequence != null?ModifiedSequence.ToString() : null, PrecursorMz = Q1.RawValue, // A negative ion mode precursor will be serialized as a negative mz value MassErrors = calculateMassErrors, }; switch (Extractor) { case ChromExtractor.base_peak: docFilterPair.Extractor = RemoteApi.GeneratedCode.ChromExtractor.BasePeak; break; case ChromExtractor.summed: docFilterPair.Extractor = RemoteApi.GeneratedCode.ChromExtractor.Summed; break; } if (MinTime.HasValue) { docFilterPair.MinTime = MinTime.Value; docFilterPair.MinTimeSpecified = true; } if (MaxTime.HasValue) { docFilterPair.MaxTime = MaxTime.Value; docFilterPair.MaxTimeSpecified = true; } if (MinIonMobilityValue.HasValue && MaxIonMobilityValue.HasValue) { docFilterPair.DriftTime = (MinIonMobilityValue.Value + MaxIonMobilityValue.Value) / 2; if (ChromSource.fragment == chromSource) // Use high energy offset for fragments { docFilterPair.DriftTime += HighEnergyIonMobilityValueOffset; } docFilterPair.DriftTimeSpecified = true; docFilterPair.DriftTimeWindow = MaxIonMobilityValue.Value - MinIonMobilityValue.Value; docFilterPair.DriftTimeWindowSpecified = true; } switch (chromSource) { case ChromSource.ms1: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Ms1; break; case ChromSource.fragment: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Ms2; break; case ChromSource.sim: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Sim; break; } docFilterPair.Chromatogram = chromatograms.ToArray(); return(docFilterPair); }
private ChromatogramRequestDocumentChromatogramGroup MakeChromatogramRequestDocumentChromatogramGroup( ChromSource chromSource, bool calculateMassErrors, IEnumerable <ChromatogramRequestDocumentChromatogramGroupChromatogram> chromatograms) { ChromatogramRequestDocumentChromatogramGroup docFilterPair = new ChromatogramRequestDocumentChromatogramGroup { ModifiedSequence = ModifiedSequence, PrecursorMz = Q1, MassErrors = calculateMassErrors, }; switch (Extractor) { case ChromExtractor.base_peak: docFilterPair.Extractor = RemoteApi.GeneratedCode.ChromExtractor.BasePeak; break; case ChromExtractor.summed: docFilterPair.Extractor = RemoteApi.GeneratedCode.ChromExtractor.Summed; break; } if (MinTime.HasValue) { docFilterPair.MinTime = MinTime.Value; docFilterPair.MinTimeSpecified = true; } if (MaxTime.HasValue) { docFilterPair.MaxTime = MaxTime.Value; docFilterPair.MaxTimeSpecified = true; } if (MinDriftTimeMsec.HasValue && MaxDriftTimeMsec.HasValue) { docFilterPair.DriftTime = (MinDriftTimeMsec.Value + MaxDriftTimeMsec.Value) / 2; if (ChromSource.fragment == chromSource && HighEnergyDriftTimeOffsetMsec.HasValue) { docFilterPair.DriftTime += HighEnergyDriftTimeOffsetMsec.Value; } docFilterPair.DriftTimeSpecified = true; docFilterPair.DriftTimeWindow = MaxDriftTimeMsec.Value - MinDriftTimeMsec.Value; docFilterPair.DriftTimeWindowSpecified = true; } switch (chromSource) { case ChromSource.ms1: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Ms1; break; case ChromSource.fragment: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Ms2; break; case ChromSource.sim: docFilterPair.Source = RemoteApi.GeneratedCode.ChromSource.Sim; break; } docFilterPair.Chromatogram = chromatograms.ToArray(); return(docFilterPair); }
public SpectrumFilterPair(ChromatogramRequestDocumentChromatogramGroup requestGroup) { Q1 = new SignedMz(requestGroup.PrecursorMz); ModifiedSequence = new Target(requestGroup.ModifiedSequence); switch (requestGroup.Extractor) { case RemoteApi.GeneratedCode.ChromExtractor.BasePeak: Extractor = ChromExtractor.base_peak; break; case RemoteApi.GeneratedCode.ChromExtractor.Summed: Extractor = ChromExtractor.summed; break; } if (requestGroup.MinTimeSpecified) { MinTime = requestGroup.MinTime; } if (requestGroup.MaxTimeSpecified) { MaxTime = requestGroup.MaxTime; } switch (requestGroup.Source) { case RemoteApi.GeneratedCode.ChromSource.Ms1: Ms1ProductFilters = requestGroup.Chromatogram.Select( product => new SpectrumProductFilter(product.ProductMz, product.MzWindow)).ToArray(); HighAccQ1 = requestGroup.MassErrors; break; case RemoteApi.GeneratedCode.ChromSource.Ms2: Ms2ProductFilters = requestGroup.Chromatogram.Select( product => new SpectrumProductFilter(product.ProductMz, product.MzWindow)).ToArray(); HighAccQ3 = requestGroup.MassErrors; break; } }