Example #1
0
        private int GetNumNotches(MassDiffAcceptorType massDiffAcceptorType, string customMdac)
        {
            switch (massDiffAcceptorType)
            {
            case MassDiffAcceptorType.Exact: return(1);

            case MassDiffAcceptorType.OneMM: return(2);

            case MassDiffAcceptorType.TwoMM: return(3);

            case MassDiffAcceptorType.ThreeMM: return(4);

            case MassDiffAcceptorType.ModOpen: return(1);

            case MassDiffAcceptorType.Open: return(1);

            case MassDiffAcceptorType.Custom: return(ParseSearchMode(customMdac).NumNotches);

            default: throw new MetaMorpheusException("Unknown mass difference acceptor type");
            }
        }
Example #2
0
        public static MassDiffAcceptor GetMassDiffAcceptor(Tolerance precursorMassTolerance, MassDiffAcceptorType massDiffAcceptorType, string customMdac)
        {
            switch (massDiffAcceptorType)
            {
            case MassDiffAcceptorType.Exact:
                if (precursorMassTolerance is PpmTolerance)
                {
                    return(new SinglePpmAroundZeroSearchMode(precursorMassTolerance.Value));
                }
                else
                {
                    return(new SingleAbsoluteAroundZeroSearchMode(precursorMassTolerance.Value));
                }

            case MassDiffAcceptorType.OneMM:
                return(new DotMassDiffAcceptor("1mm", new List <double> {
                    0, 1.0029
                }, precursorMassTolerance));

            case MassDiffAcceptorType.TwoMM:
                return(new DotMassDiffAcceptor("2mm", new List <double> {
                    0, 1.0029, 2.0052
                }, precursorMassTolerance));

            case MassDiffAcceptorType.ThreeMM:
                return(new DotMassDiffAcceptor("3mm", new List <double> {
                    0, 1.0029, 2.0052, 3.0077
                }, precursorMassTolerance));

            case MassDiffAcceptorType.ModOpen:
                return(new IntervalMassDiffAcceptor("-187andUp", new List <DoubleRange> {
                    new DoubleRange(-187, double.PositiveInfinity)
                }));

            case MassDiffAcceptorType.Open:
                return(new OpenSearchMode());

            case MassDiffAcceptorType.Custom:
                return(ParseSearchMode(customMdac));

            case MassDiffAcceptorType.PlusOrMinusThreeMM:
                return(new DotMassDiffAcceptor(
                           "PlusOrMinus3Da",
                           new List <double>
                {
                    -3 * Chemistry.Constants.C13MinusC12,
                    -2 * Chemistry.Constants.C13MinusC12,
                    -1 * Chemistry.Constants.C13MinusC12,
                    0,
                    1 * Chemistry.Constants.C13MinusC12,
                    2 * Chemistry.Constants.C13MinusC12,
                    3 * Chemistry.Constants.C13MinusC12
                },
                           precursorMassTolerance));

            default:
                throw new MetaMorpheusException("Unknown MassDiffAcceptorType");
            }
        }