Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
            }
        }