Beispiel #1
0
        private TransitionGroupDocNode MakeTransitionGroupWithAllPossibleChildren(SrmSettings settings, IsotopeLabelType labelType)
        {
            var peptide                = new Peptide(TargetInfoObj.LookupSequence);
            var transitionGroup        = new TransitionGroup(peptide, TargetInfoObj.TransitionGroupDocNode.PrecursorAdduct, labelType);
            var transitionGroupDocNode = new TransitionGroupDocNode(transitionGroup, Annotations.EMPTY, settings, TargetInfoObj.LookupMods, null, ExplicitTransitionGroupValues.EMPTY, null, null, false);
            var children               = transitionGroupDocNode.GetTransitions(settings, TargetInfoObj.LookupMods,
                                                                               transitionGroupDocNode.PrecursorMz, null, null, null, FragmentFilterObj.UseFilter).Cast <DocNode>().ToList();

            return((TransitionGroupDocNode)transitionGroupDocNode.ChangeChildren(children));
        }
Beispiel #2
0
        public void TestTwoAminoAcidLinkedPeptide()
        {
            const string modName     = "crosslinker";
            var          srmSettings = SrmSettingsList.GetDefault();

            srmSettings = srmSettings.ChangeTransitionSettings(srmSettings.TransitionSettings.ChangeFilter(
                                                                   srmSettings.TransitionSettings.Filter
                                                                   .ChangeFragmentRangeFirstName(TransitionFilter.StartFragmentFinder.ION_1.Name)
                                                                   .ChangeFragmentRangeLastName(@"last ion")
                                                                   .ChangePeptideIonTypes(new[] { IonType.precursor, IonType.y, IonType.b })
                                                                   ));


            var mainPeptide                = new Peptide("AD");
            var staticMod                  = new StaticMod(modName, null, null, "-C2");
            var linkedPeptide              = new LinkedPeptide(new Peptide("EF"), 1, null);
            var mainTransitionGroup        = new TransitionGroup(mainPeptide, Adduct.DOUBLY_PROTONATED, IsotopeLabelType.light);
            var mainTransitionGroupDocNode = new TransitionGroupDocNode(mainTransitionGroup,
                                                                        Annotations.EMPTY, srmSettings, null, null, ExplicitTransitionGroupValues.EMPTY, null,
                                                                        new TransitionDocNode[0], false);
            var modsWithLinkedPeptide = new ExplicitMods(mainPeptide,
                                                         new[] { new ExplicitMod(0, staticMod).ChangeLinkedPeptide(linkedPeptide) },
                                                         new TypedExplicitModifications[0]);

            Assert.AreEqual(1, srmSettings.PeptideSettings.Modifications.MaxNeutralLosses);
            var oneNeutralLossChoices = mainTransitionGroupDocNode.GetTransitions(
                srmSettings,
                modsWithLinkedPeptide,
                mainTransitionGroupDocNode.PrecursorMz,
                mainTransitionGroupDocNode.IsotopeDist,
                null,
                null,
                true).Select(transition => transition.ComplexFragmentIon.GetName()).ToList();
            var modSite = new ModificationSite(0, modName);
            var expectedFragmentIons = new[]
            {
                ComplexFragmentIonName.PRECURSOR.AddChild(modSite, ComplexFragmentIonName.PRECURSOR),
                ComplexFragmentIonName.PRECURSOR.AddChild(modSite, new ComplexFragmentIonName(IonType.y, 1)),
                new ComplexFragmentIonName(IonType.y, 1),
                new ComplexFragmentIonName(IonType.b, 1).AddChild(modSite, new ComplexFragmentIonName(IonType.precursor, 0)),
                ComplexFragmentIonName.ORPHAN.AddChild(modSite, new ComplexFragmentIonName(IonType.b, 1)),
            };

            CollectionAssert.AreEquivalent(expectedFragmentIons, oneNeutralLossChoices);
        }
        public static IList <DocNode> GetChoices(TransitionGroupDocNode nodeGroup, SrmSettings settings, ExplicitMods mods, bool useFilter)
        {
            TransitionGroup group = nodeGroup.TransitionGroup;

            SpectrumHeaderInfo libInfo = null;
            var transitionRanks        = new Dictionary <double, LibraryRankedSpectrumInfo.RankedMI>();

            group.GetLibraryInfo(settings, mods, useFilter, ref libInfo, transitionRanks);

            var listChoices = new List <DocNode>();

            foreach (TransitionDocNode nodeTran in nodeGroup.GetTransitions(settings, mods,
                                                                            nodeGroup.PrecursorMz, nodeGroup.IsotopeDist, libInfo, transitionRanks, useFilter))
            {
                listChoices.Add(nodeTran);
            }
            return(listChoices);
        }
        public static IList<DocNode> GetChoices(TransitionGroupDocNode nodeGroup, SrmSettings settings, ExplicitMods mods, bool useFilter)
        {
            TransitionGroup group = nodeGroup.TransitionGroup;

            SpectrumHeaderInfo libInfo = null;
            var transitionRanks = new Dictionary<double, LibraryRankedSpectrumInfo.RankedMI>();
            group.GetLibraryInfo(settings, mods, useFilter, ref libInfo, transitionRanks);

            var listChoices = new List<DocNode>();
            foreach (TransitionDocNode nodeTran in nodeGroup.GetTransitions(settings, mods,
                    nodeGroup.PrecursorMz, nodeGroup.IsotopeDist, libInfo, transitionRanks, useFilter))
            {
                listChoices.Add(nodeTran);
            }
            return listChoices;
        }