public void Add(PeptideSpectrumMatch psm) { insertRow(Table.PeptideSpectrumMatch, new object[] { psm.Id, psm.Peptide.Id, psm.Spectrum.Id, psm.Analysis.Id, psm.ObservedNeutralMass, psm.MonoisotopicMassError, psm.MolecularWeightError, psm.Rank, psm.QValue, psm.Charge }); if (psm.Scores != null) { foreach (var score in psm.Scores) { long scoreId; if (!scoreIdByName.TryGetValue(score.Key, out scoreId)) { if (scoreIdByName.Count > 0) { scoreIdByName[score.Key] = scoreId = scoreIdByName.Max(o => o.Value) + 1; } else { scoreIdByName[score.Key] = scoreId = 1; } insertRow(Table.PeptideSpectrumMatchScoreName, new object[] { scoreId, score.Key }); } insertRow(Table.PeptideSpectrumMatchScore, new object[] { psm.Id, scoreId, score.Value }); } } }
public DistinctMatchKey(Peptide peptide, PeptideSpectrumMatch psm, DistinctMatchFormat format, string key, long?id) { Peptide = peptide; Key = key; Format = format; Id = id; if (format.IsChargeDistinct) { Charge = psm.Charge; } if (format.IsAnalysisDistinct) { Analysis = psm.Analysis; } }
public DistinctMatchKey(Peptide peptide, PeptideSpectrumMatch psm, DistinctMatchFormat format, string key, long?id) { Peptide = peptide; Key = key.Replace(",", Properties.Settings.Default.GroupConcatSeparator); Format = format; Id = id; if (format.IsChargeDistinct) { Charge = psm.Charge; } if (format.IsAnalysisDistinct) { Analysis = psm.Analysis; } }
public static string ToModifiedString(this PeptideSpectrumMatch psm, int precision) { string format = String.Format("[{{0:f{0}}}]", precision); StringBuilder sb = new StringBuilder(psm.Peptide.Sequence); foreach (var mod in (from m in psm.Modifications orderby m.Offset descending select m)) { if (mod.Offset == int.MinValue) { sb.Insert(0, String.Format(format, mod.Modification.MonoMassDelta)); } else if (mod.Offset == int.MaxValue) { sb.AppendFormat(format, mod.Modification.MonoMassDelta); } else { sb.Insert(mod.Offset + 1, String.Format(format, mod.Modification.MonoMassDelta)); } } return(sb.ToString()); }
public static string ToModifiedString(this PeptideSpectrumMatch psm) { return(ToModifiedString(psm, 0)); }