public LocalizedHit(PSM psm, PeptideIsoform isoform, PeptideIsoform secondIsoform, int numSDFs, int sdfs, int sdfs2, double pvalue, double ascore) { PSM = psm; LocalizedIsoform = isoform; SecondBestPeptideIsoform = secondIsoform; NumberOfSiteDeterminingFragments = numSDFs; BestPeptideSDFCount = sdfs; SecondBestPeptideSDFCount = sdfs2; PValue = pvalue; AScore = ascore; MatchDifference = isoform.SpectralMatch.Matches - secondIsoform.SpectralMatch.Matches; }
private IEnumerable<Fragment> GetSiteDeterminingFragments(PeptideIsoform pep1, PeptideIsoform pep2) { List<Fragment> frags1 = pep1.Fragments; List<Fragment> frags2 = pep2.Fragments; int count = frags1.Count; for (int i = 0; i < count; i++) { var frag1 = frags1[i]; var frag2 = frags2[i]; double difference = Math.Abs(frag1.MonoisotopicMass - frag2.MonoisotopicMass); if (difference > 0.001) { yield return frag1; yield return frag2; } } }