public ViewLibraryPepInfo AssociateMatchingPeptide(ViewLibraryPepInfo pepInfo, int charge, SrmSettingsDiff settingsDiff)
        {
            var key = pepInfo.Key;

            var settings = _chargeSettingsMap[charge];

            // Change current document settings to match the current library and change the charge filter to
            // match the current peptide.
            if (settings == null)
            {
                settings = _document.Settings;
                var rankId = settings.PeptideSettings.Libraries.RankId;
                if (rankId != null && !_selectedSpec.PeptideRankIds.Contains(rankId))
                {
                    settings = settings.ChangePeptideLibraries(lib => lib.ChangeRankId(null));
                }

                settings = settings.ChangePeptideLibraries(
                    lib => lib.ChangeLibraries(new[] { _selectedSpec }, new[] { _selectedLibrary })
                    .ChangePick(PeptidePick.library))
                           .ChangeTransitionFilter(
                    filter => filter.ChangePrecursorCharges(new[] { charge }).ChangeAutoSelect(true))
                           .ChangeMeasuredResults(null);

                _chargeSettingsMap[charge] = settings;
            }

            var nodePep = _matcher.GetModifiedNode(key, pepInfo.GetAASequence(_lookupPool), settings, settingsDiff);

            if (nodePep != null)
            {
                pepInfo.PeptideNode = nodePep;
            }
            return(pepInfo);
        }
Example #2
0
        public ViewLibraryPepInfo AssociateMatchingPeptide(ViewLibraryPepInfo pepInfo, Adduct charge, SrmSettingsDiff settingsDiff)
        {
            var key = pepInfo.Key;

            if (key.IsPrecursorKey)
            {
                return(pepInfo);
            }

            var settings = _chargeSettingsMap[charge];

            // Change current document settings to match the current library and change the charge filter to
            // match the current peptide.
            if (settings == null)
            {
                settings = _document.Settings;
                var rankId = settings.PeptideSettings.Libraries.RankId;
                if (rankId != null && !_selectedSpec.PeptideRankIds.Contains(rankId))
                {
                    settings = settings.ChangePeptideLibraries(lib => lib.ChangeRankId(null));
                }
                var isProteomic = pepInfo.Target.IsProteomic;
                settings = settings.ChangePeptideLibraries(
                    lib => lib.ChangeLibraries(new[] { _selectedSpec }, new[] { _selectedLibrary })
                    .ChangePick(PeptidePick.library))
                           .ChangeTransitionFilter(
                    filter => (isProteomic ?
                               filter.ChangePeptidePrecursorCharges(new[] { charge }) :
                               filter.ChangeSmallMoleculePrecursorAdducts(new[] { charge }))
                    .ChangeAutoSelect(true))
                           .ChangeMeasuredResults(null);
                var staticMods = settings.PeptideSettings.Modifications.StaticModifications.ToList();
                foreach (var crosslinkMod in Properties.Settings.Default.StaticModList.Where(mod =>
                                                                                             null != mod.CrosslinkerSettings))
                {
                    if (!staticMods.Any(mod => mod.Name == crosslinkMod.Name))
                    {
                        staticMods.Add(crosslinkMod);
                    }
                }

                settings = settings.ChangePeptideSettings(
                    settings.PeptideSettings.ChangeModifications(
                        settings.PeptideSettings.Modifications.ChangeStaticModifications(staticMods)));


                _chargeSettingsMap[charge] = settings;
            }

            var nodePep = _matcher.GetModifiedNode(key, settings, settingsDiff);

            if (nodePep != null)
            {
                pepInfo = pepInfo.ChangePeptideNode(nodePep);
            }
            return(pepInfo);
        }
Example #3
0
        public ViewLibraryPepInfo AssociateMatchingPeptide(ViewLibraryPepInfo pepInfo, Adduct charge, SrmSettingsDiff settingsDiff)
        {
            var key = pepInfo.Key;

            if (key.IsPrecursorKey)
            {
                return(pepInfo);
            }

            var settings = _chargeSettingsMap[charge];

            // Change current document settings to match the current library and change the charge filter to
            // match the current peptide.
            if (settings == null)
            {
                settings = _document.Settings;
                var rankId = settings.PeptideSettings.Libraries.RankId;
                if (rankId != null && !_selectedSpec.PeptideRankIds.Contains(rankId))
                {
                    settings = settings.ChangePeptideLibraries(lib => lib.ChangeRankId(null));
                }
                var isProteomic = pepInfo.Target.IsProteomic;
                settings = settings.ChangePeptideLibraries(
                    lib => lib.ChangeLibraries(new[] { _selectedSpec }, new[] { _selectedLibrary })
                    .ChangePick(PeptidePick.library))
                           .ChangeTransitionFilter(
                    filter => (isProteomic ?
                               filter.ChangePeptidePrecursorCharges(new[] { charge }) :
                               filter.ChangeSmallMoleculePrecursorAdducts(new[] { charge }))
                    .ChangeAutoSelect(true))
                           .ChangeMeasuredResults(null);

                _chargeSettingsMap[charge] = settings;
            }

            var nodePep = _matcher.GetModifiedNode(key, settings, settingsDiff);

            if (nodePep != null)
            {
                pepInfo = pepInfo.ChangePeptideNode(nodePep);
            }
            return(pepInfo);
        }