public Query(DBOptions dbOptions, Sample entry, ProductSpectrum spectrum, Precursor precursor, int spectraIndex = -1) { this.options = dbOptions; this.sample = entry; this.psms = new PeptideSpectrumMatches(); this.spectrum = spectrum; this.precursor = precursor; this.spectrumIndex = spectraIndex; if (spectrum != null && precursor != null) { this.TrapDistance = Math.Abs(spectrum.PrecursorMZ - precursor.Track.MZ); } }
public static int AscendingRetentionTimeComparison(ProductSpectrum left, ProductSpectrum right) { return(left.RetentionTimeInMin.CompareTo(right.RetentionTimeInMin)); }
/* * public ProductSpectrum(ProductSpectrum spectrum) * { * this.Filename = spectrum.Filename; * this.ScanNumber = spectrum.ScanNumber; * this.RetentionTimeInMin = spectrum.RetentionTimeInMin; * this.FragmentationMethod = spectrum.FragmentationMethod; * this.PrecursorMZ = spectrum.PrecursorMZ; * this.PrecursorIntensity = spectrum.PrecursorIntensity; * this.PrecursorCharge = spectrum.PrecursorCharge; * this.PrecursorMass = spectrum.PrecursorMass; * this.TotalIntensity = spectrum.TotalIntensity; * this.Masses = spectrum.Masses; * this.Intensities = spectrum.Intensities; * }*/ public static int AscendingPrecursorMassComparison(ProductSpectrum left, ProductSpectrum right) { return(left.PrecursorMass.CompareTo(right.PrecursorMass)); }
public AnnotatedSpectrum(Sample sample, ProductSpectrum spectrum, Peptide peptide) { sequence = peptide.BaseSequence; peaks = new double[spectrum.Peaks.Count][]; for (int i = 0; i < peaks.Length; i++) { peaks[i] = new double[2]; peaks[i][0] = spectrum.Peaks[i].MZ; peaks[i][1] = spectrum.Peaks[i].Intensity; } scanNum = spectrum.ScanNumber; charge = spectrum.PrecursorCharge; precursorMz = spectrum.PrecursorMZ; fileName = sample.sSDF; //Fixed modifications List <AnnotatedSpectrumModification> fixedMods = new List <AnnotatedSpectrumModification>(); if (peptide.FixedModifications != null) { foreach (int position in peptide.FixedModifications.Keys) { if (position == 1) { foreach (Modification mod in peptide.FixedModifications[position]) { ntermMod += mod.MonoisotopicMassShift; } } else if (position == sequence.Length + 2) { foreach (Modification mod in peptide.FixedModifications[position]) { ctermMod += mod.MonoisotopicMassShift; } } else { foreach (Modification mod in peptide.FixedModifications[position]) { fixedMods.Add(new AnnotatedSpectrumModification(mod.AminoAcid, mod.MonoisotopicMassShift, position - 1)); } } } } staticMods = fixedMods.ToArray(); //Variable modifications List <AnnotatedSpectrumModification> varMods = new List <AnnotatedSpectrumModification>(); if (peptide.VariableModifications != null) { foreach (int position in peptide.VariableModifications.Keys) { if (position == 1) { ntermMod += peptide.VariableModifications[position].MonoisotopicMassShift; } else if (position == sequence.Length + 2) { ctermMod += peptide.VariableModifications[position].MonoisotopicMassShift; } else { varMods.Add(new AnnotatedSpectrumModification(peptide.VariableModifications[position].AminoAcid, peptide.VariableModifications[position].MonoisotopicMassShift, position - 1)); } } } variableMods = varMods.ToArray(); /* * var sequence = "FDSFGDLSSASAIMGNPK"; * var varMods = []; * // modification index = 14; modification mass = 16.0; modified residue = 'M' * varMods[0] = { index: 14, modMass: 16.0, aminoAcid: 'M' }; * // mass to be added to the N-terminus * var ntermMod = 164.07;//*/ }