public IEnumerable <ChromatogramRequestDocumentChromatogramGroup> ToChromatogramRequestDocumentChromatogramGroups() { // TODO(bspratt) how to communicate scan polarity to Chorus? if (null != Ms1ProductFilters) { var chromatograms = new List <ChromatogramRequestDocumentChromatogramGroupChromatogram>(); foreach (var spectrumProductFilter in Ms1ProductFilters) { var product = new ChromatogramRequestDocumentChromatogramGroupChromatogram { ProductMz = spectrumProductFilter.TargetMz.RawValue, // Negative ion mode values serialize as negative numbers MzWindow = spectrumProductFilter.FilterWidth, }; chromatograms.Add(product); } if (chromatograms.Count > 0) { yield return(MakeChromatogramRequestDocumentChromatogramGroup(ChromSource.ms1, HighAccQ1 && 0 != Q1, chromatograms)); } } if (null != Ms2ProductFilters) { var chromatograms = new List <ChromatogramRequestDocumentChromatogramGroupChromatogram>(); foreach (var spectrumProductFilter in Ms2ProductFilters) { var product = new ChromatogramRequestDocumentChromatogramGroupChromatogram { ProductMz = spectrumProductFilter.TargetMz.RawValue, // Negative ion mode values serialize as negative numbers MzWindow = spectrumProductFilter.FilterWidth, }; chromatograms.Add(product); } if (chromatograms.Count > 0) { yield return (MakeChromatogramRequestDocumentChromatogramGroup(ChromSource.fragment, HighAccQ3, chromatograms)); } } }
public IEnumerable <ChromatogramRequestDocumentChromatogramGroup> ToChromatogramRequestDocumentChromatogramGroups() { if (null != Ms1ProductFilters) { var chromatograms = new List <ChromatogramRequestDocumentChromatogramGroupChromatogram>(); foreach (var spectrumProductFilter in Ms1ProductFilters) { var product = new ChromatogramRequestDocumentChromatogramGroupChromatogram { ProductMz = spectrumProductFilter.TargetMz, MzWindow = spectrumProductFilter.FilterWidth, }; chromatograms.Add(product); } if (chromatograms.Count > 0) { yield return(MakeChromatogramRequestDocumentChromatogramGroup(ChromSource.ms1, HighAccQ1 && 0 != Q1, chromatograms)); } } if (null != Ms2ProductFilters) { var chromatograms = new List <ChromatogramRequestDocumentChromatogramGroupChromatogram>(); foreach (var spectrumProductFilter in Ms2ProductFilters) { var product = new ChromatogramRequestDocumentChromatogramGroupChromatogram { ProductMz = spectrumProductFilter.TargetMz, MzWindow = spectrumProductFilter.FilterWidth, }; chromatograms.Add(product); } if (chromatograms.Count > 0) { yield return (MakeChromatogramRequestDocumentChromatogramGroup(ChromSource.fragment, HighAccQ3, chromatograms)); } } }