Esempio n. 1
0
        public Tuple <List <MSMSSpectrumPeak>, double[]> GetIsotopomerEnvelop(Sequence annotation, int cutNumber, IonType ionType, Tolerance tolerance)
        {
            var prefixComposition = annotation.GetComposition(0, cutNumber);
            var suffixCompostion  = annotation.Composition - prefixComposition;
            var isotopomerEnvelop = new List <MSMSSpectrumPeak>();
            var composition       = ionType.IsPrefixIon ? prefixComposition : suffixCompostion;
            var ion             = ionType.GetIon(composition);
            var theoreticalDist = ion.Composition.GetIsotopomerEnvelopeRelativeIntensities();
            var write           = false;

            for (var i = -FeatureNode.OffsetFromMonoIsotope; i < theoreticalDist.Length; i++)
            {
                var mz   = ion.GetIsotopeMz(i);
                var peak = GetPeak(mz, tolerance);
                if (peak.Intensity > 0)
                {
                    write = true;
                }
                isotopomerEnvelop.Add(GetPeak(mz, tolerance));
            }
            return(write ? new Tuple <List <MSMSSpectrumPeak>, double[]>(isotopomerEnvelop, theoreticalDist) : null);
        }
Esempio n. 2
0
 static public IsotopomerFeatures GetFramentIsotopomerFeatures(ImsDataCached imsData, Composition cutComposition, IonType fragmentIonClassBase, Feature precursorFeature)
 {
     return(new IsotopomerFeatures(imsData, fragmentIonClassBase.GetIon(cutComposition), precursorFeature, false));
 }