Beispiel #1
0
        public PrositMS2Spectrum(SrmSettings settings, PrositIntensityModel.PeptidePrecursorNCE peptidePrecursorNCE,
                                 int precursorIndex, PrositIntensityModel.PrositIntensityOutput prositIntensityOutput, IsotopeLabelType labelTypeOverride = null)
        {
            PeptidePrecursorNCE = peptidePrecursorNCE;
            Settings            = settings;
            var precursor = peptidePrecursorNCE.NodeGroup;
            var peptide   = peptidePrecursorNCE.NodePep;

            var calc     = settings.GetFragmentCalc(IsotopeLabelType.light, peptide.ExplicitMods);
            var ionTable = calc.GetFragmentIonMasses(peptide.Target); // TODO: get mods and pass them as explicit mods above?
            var ions     = ionTable.GetLength(1);

            var mis = new List <SpectrumPeaksInfo.MI>(ions * PrositConstants.IONS_PER_RESIDUE);

            for (int i = 0; i < ions; ++i)
            {
                var intensities = prositIntensityOutput.OutputRows[precursorIndex].Intensities[i].Intensities
                                  .Select(ReLu).ToArray();
                var yMIs = CalcMIs(ionTable[IonType.y, ions - i - 1], intensities, 0);
                var bMIs = CalcMIs(ionTable[IonType.b, i], intensities, PrositConstants.IONS_PER_RESIDUE / 2);
                mis.AddRange(yMIs);
                mis.AddRange(bMIs);
            }

            var maxIntensity = mis.Max(mi => mi.Intensity);

            // Max Norm
            for (int i = 0; i < mis.Count; ++i)
            {
                mis[i] = new SpectrumPeaksInfo.MI {
                    Mz = mis[i].Mz, Intensity = mis[i].Intensity / maxIntensity
                }
            }
            ;

            SpectrumPeaks = new SpectrumPeaksInfo(mis.ToArray());
        }
Beispiel #2
0
 public PrositMS2Spectra(SrmSettings settings, IList <PrositIntensityModel.PeptidePrecursorNCE> peptidePrecursorPairs, PrositIntensityModel.PrositIntensityOutput prositIntensityOutput)
 {
     Spectra = new PrositMS2Spectrum[peptidePrecursorPairs.Count];
     for (int i = 0; i < peptidePrecursorPairs.Count; ++i)
     {
         Spectra[i] = new PrositMS2Spectrum(settings, peptidePrecursorPairs[i], i, prositIntensityOutput);
     }
 }