コード例 #1
0
ファイル: BulkInserter.cs プロジェクト: zrolfs/pwiz
        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 });
                }
            }
        }
コード例 #2
0
ファイル: DistinctMatch.cs プロジェクト: tomas-pluskal/pwiz
        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;
            }
        }
コード例 #3
0
ファイル: DistinctMatch.cs プロジェクト: zrolfs/pwiz
        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;
            }
        }
コード例 #4
0
        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());
        }
コード例 #5
0
 public static string ToModifiedString(this PeptideSpectrumMatch psm)
 {
     return(ToModifiedString(psm, 0));
 }