public void TestSort() { var mph1 = new IdentifiedSpectrum(); var peptide1 = new IdentifiedPeptide(mph1); var mph2 = new IdentifiedSpectrum(); var peptide2 = new IdentifiedPeptide(mph2); var mpro1 = new IdentifiedProtein("Protein1"); mpro1.Peptides.Add(peptide1); mpro1.Peptides.Add(peptide2); var mpro2 = new IdentifiedProtein("Protein2"); mpro2.Peptides.Add(peptide1); var mpro3 = new IdentifiedProtein("Protein3"); mpro3.Peptides.Add(peptide2); var mpros = new List <IdentifiedProtein>(); mpros.Add(mpro3); mpros.Add(mpro2); mpros.Add(mpro1); mpros.Sort(); Assert.AreEqual(mpro1, mpros[0]); Assert.AreEqual(mpro2, mpros[1]); Assert.AreEqual(mpro3, mpros[2]); }
public List <IIdentifiedSpectrum> ReadFromFile(string fileName) { var result = new List <IIdentifiedSpectrum>(); XElement root = XElement.Load(fileName); var psms = root.FindElement("psms").FindElements("psm"); foreach (var psm in psms) { IIdentifiedSpectrum spec = new IdentifiedSpectrum(); spec.Id = psm.FindAttribute("psm_id").Value.StringAfter("decoy_"); spec.FromDecoy = psm.FindAttribute("decoy").Value.Equals("true"); spec.SpScore = double.Parse(psm.FindElement("svm_score").Value); spec.QValue = double.Parse(psm.FindElement("q_value").Value); spec.Score = double.Parse(psm.FindElement("pep").Value); spec.Probability = double.Parse(psm.FindElement("p_value").Value); spec.TheoreticalMH = double.Parse(psm.FindElement("calc_mass").Value); spec.Query.FileScan.Experimental = Path.GetFileName(fileName).StringBefore("."); var pep = new IdentifiedPeptide(spec); var pepseq = psm.FindElement("peptide_seq"); pep.Sequence = pepseq.FindAttribute("seq").Value; pep.AddProtein(psm.FindElement("protein_id").Value); result.Add(spec); } return(result); }
public Dictionary <int, IIdentifiedSpectrum> ParseSpectrumMap(string fileName) { SQLiteDBHelper sqlite = new SQLiteDBHelper(fileName); Dictionary <int, IIdentifiedSpectrum> result = new Dictionary <int, IIdentifiedSpectrum>(); var fileMap = ParseFileMap(fileName); //读取肽段列表 var peptideReader = sqlite.ExecuteReader("select sh.SpectrumID, sh.FirstScan, sh.LastScan, sh.RetentionTime, sh.Charge, mp.FileID, sh.Mass from spectrumheaders as sh, MassPeaks as mp where sh.MassPeakID=mp.MassPeakID", null); Progress.SetMessage("Parsing peptides ..."); while (peptideReader.Read()) { var specid = peptideReader.GetInt32(0); IIdentifiedSpectrum spectrum = new IdentifiedSpectrum(); result[specid] = spectrum; spectrum.Query.FileScan.FirstScan = peptideReader.GetInt32(1); spectrum.Query.FileScan.LastScan = peptideReader.GetInt32(2); //retention time spectrum.Query.FileScan.Charge = peptideReader.GetInt32(4); spectrum.Query.FileScan.Experimental = fileMap[peptideReader.GetInt32(5)]; spectrum.ExperimentalMH = peptideReader.GetDouble(6); spectrum.Rank = 1; } return(result); }
public void TestSort() { var mph1 = new IdentifiedSpectrum(); var peptide1 = new IdentifiedPeptide(mph1); var mph2 = new IdentifiedSpectrum(); var peptide2 = new IdentifiedPeptide(mph2); var mpro1 = new IdentifiedProtein("Protein1"); mpro1.Peptides.Add(peptide1); mpro1.Peptides.Add(peptide2); var mpro2 = new IdentifiedProtein("Protein2"); mpro2.Peptides.Add(peptide1); var mpro3 = new IdentifiedProtein("Protein3"); mpro3.Peptides.Add(peptide2); var mpros = new List<IdentifiedProtein>(); mpros.Add(mpro3); mpros.Add(mpro2); mpros.Add(mpro1); mpros.Sort(); Assert.AreEqual(mpro1, mpros[0]); Assert.AreEqual(mpro2, mpros[1]); Assert.AreEqual(mpro3, mpros[2]); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumReferenceConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.AddProtein("11111"); var mp2 = new IdentifiedPeptide(mph); mp2.AddProtein("22222"); mp2.AddProtein("33333"); Assert.AreEqual("Reference", io.Name); Assert.AreEqual("11111 ! 22222/33333", io.GetProperty(mph)); io.SetProperty(mph, "44444/55555 ! 66666"); Assert.AreEqual(2, mph.Peptides[0].Proteins.Count); Assert.AreEqual("44444", mph.Peptides[0].Proteins[0]); Assert.AreEqual("55555", mph.Peptides[0].Proteins[1]); Assert.AreEqual(1, mph.Peptides[1].Proteins.Count); Assert.AreEqual("66666", mph.Peptides[1].Proteins[0]); }
public void TestSort() { IdentifiedSpectrum sp1 = new IdentifiedSpectrum(); sp1.Query.FileScan.LongFileName = "YEAST_0612_G1_SAX_080806_09.17702.17702.2.out"; new IdentifiedPeptide(sp1) { Sequence = "K.GFFSFATQK.L" }; IdentifiedSpectrum sp2 = new IdentifiedSpectrum(); sp2.Query.FileScan.LongFileName = "YEAST_0612_G1_SAX_080806_09.17707.17708.1.out"; new IdentifiedPeptide(sp2) { Sequence = "K.GFFSFATQK.L" }; IdentifiedSpectrum sp3 = new IdentifiedSpectrum(); sp3.Query.FileScan.LongFileName = "YEAST_0612_G1_SAX_080806_09.7707.7708.2.out"; new IdentifiedPeptide(sp3) { Sequence = "K.GFFSFATQK.L" }; IdentifiedSpectrum sp4 = new IdentifiedSpectrum(); sp4.Query.FileScan.LongFileName = "YEAST_0612_G1_SAX_080806_09.7707.7708.2.out"; new IdentifiedPeptide(sp4) { Sequence = "K.AAAAAAAK.L" }; List<IIdentifiedSpectrum> spectra = new List<IIdentifiedSpectrum>(); spectra.Add(sp2); spectra.Add(sp1); spectra.Add(sp3); spectra.Add(sp4); spectra.Sort(); Assert.AreSame(sp4, spectra[0]); Assert.AreSame(sp3, spectra[1]); Assert.AreSame(sp1, spectra[2]); Assert.AreSame(sp2, spectra[3]); }
private static List<IIdentifiedProtein> InitProteins() { var mph1 = new IdentifiedSpectrum(); mph1.Query.FileScan.Experimental = "EXP1"; var mp1 = new IdentifiedPeptide(mph1); mp1.AddProtein("Protein1"); mp1.AddProtein("Protein2"); mp1.Sequence = "SEQ1"; var mph2 = new IdentifiedSpectrum(); mph2.Query.FileScan.Experimental = "EXP2"; var mp2 = new IdentifiedPeptide(mph2); mp2.AddProtein("Protein1"); mp2.AddProtein("Protein3"); mp2.Sequence = "SEQ2"; var mpro1 = new IdentifiedProtein("Protein1"); mpro1.Peptides.Add(mp1); mpro1.Peptides.Add(mp2); var mpro2 = new IdentifiedProtein("Protein2"); mpro2.Peptides.Add(mp1); var mpro3 = new IdentifiedProtein("Protein3"); mpro3.Peptides.Add(mp2); var result = new List<IIdentifiedProtein>(); result.Add(mpro3); result.Add(mpro2); result.Add(mpro1); return result; }
public void TestKeepDistinctPeptideOnly() { var spectrum1 = new IdentifiedSpectrum(); var pep1 = spectrum1.NewPeptide(); var spectrum2 = new IdentifiedSpectrum(); var pep2 = spectrum2.NewPeptide(); var spectrum3 = new IdentifiedSpectrum(); var pep3 = spectrum3.NewPeptide(); var spectrum4 = new IdentifiedSpectrum(); var pep4 = spectrum4.NewPeptide(); var protein1 = new IdentifiedProtein(); protein1.Peptides.Add(pep1); protein1.Peptides.Add(pep2); var protein2 = new IdentifiedProtein(); protein2.Peptides.Add(pep1); protein2.Peptides.Add(pep3); var protein3 = new IdentifiedProtein(); protein3.Peptides.Add(pep2); protein3.Peptides.Add(pep4); var g1 = new IdentifiedProteinGroup(); g1.Add(protein1); var g2 = new IdentifiedProteinGroup(); g2.Add(protein2); var g3 = new IdentifiedProteinGroup(); g3.Add(protein3); IIdentifiedResult ir = new IdentifiedResult(); ir.Add(g1); ir.Add(g2); ir.Add(g3); new DistinctResultDistiller().KeepDistinctPeptideOnly(ir); Assert.AreEqual(2, ir.Count); Assert.AreEqual(g2, ir[0]); Assert.AreEqual(g3, ir[1]); Assert.AreEqual(1, ir[0].GetPeptides().Count); Assert.AreEqual(spectrum3, ir[0].GetPeptides()[0]); Assert.AreEqual(1, ir[1].GetPeptides().Count); Assert.AreEqual(spectrum4, ir[1].GetPeptides()[0]); }
public void TestDiffOfMassPPM() { var sp = new IdentifiedSpectrum(); sp.TheoreticalMH = 1000; sp.ExperimentalMH = 999.95; sp.Query.Charge = 1; Assert.AreEqual(0.05, sp.TheoreticalMinusExperimentalMass, 0.01); }
public void TestDiffOfMassPPM() { var sp = new IdentifiedSpectrum(); sp.TheoreticalMH = 1000; sp.ExperimentalMH = 999.95; sp.Query.Charge = 1; Assert.AreEqual(0.05, sp.TheoreticalMinusExperimentalMass, 0.01); }
/// <summary> /// /// Get the query/peptide map from pNovo result. /// /// </summary> /// <param name="filename">pNovo proteins file</param> /// <param name="minRank">Minimum rank of peptide identified in same spectrum</param> /// <param name="minScore">Minimum score of peptide identified in same spectrum</param> /// <returns>Query/peptide map</returns> public List <IIdentifiedSpectrum> ParsePeptides(string filename, int maxRank, double minScore) { var result = new List <IIdentifiedSpectrum>(); SequestFilename sf = null; int charge = 2; double expmh = 0; using (var sr = new StreamReader(filename)) { string line; while ((line = sr.ReadLine()) != null) { var parts = line.Split('\t'); if (parts.Length <= 5) { //spectrum information var seqcount = Convert.ToInt32(parts.Last()); if (seqcount == 0) { continue; } sf = parser.GetValue(parts[0]); expmh = MyConvert.ToDouble(parts[1]); charge = Convert.ToInt32(parts[2]); } else { int curIndex = Convert.ToInt32(parts[0]); if (curIndex <= maxRank) { var score = MyConvert.ToDouble(parts[2]); if (score < minScore) { continue; } var curSpectrum = new IdentifiedSpectrum(); curSpectrum.Query.FileScan = sf; curSpectrum.Query.Charge = charge; curSpectrum.ExperimentalMH = expmh; curSpectrum.Score = score; result.Add(curSpectrum); IdentifiedPeptide pep = new IdentifiedPeptide(curSpectrum); pep.Sequence = ModifySequence(parts[9]); pep.Spectrum.TheoreticalMH = MyConvert.ToDouble(parts[11]); pep.Spectrum.Rank = curIndex; } } } } return(result); }
private static void AddSpectrum(List<IIdentifiedSpectrum> isoSpectra, string seq, string site) { var spec = new IdentifiedSpectrum(); spec.AddPeptide(new IdentifiedPeptide(spec) { Sequence = seq, SiteProbability = site }); isoSpectra.Add(spec); }
private IIdentifiedProteinGroup ReadNextProteinGroup(StreamReader filein, Dictionary <string, IIdentifiedSpectrum> peptideMap, ref string lastLine) { while (!IsProteinLine(lastLine) && (lastLine = filein.ReadLine()) != null) { } if (lastLine == null) { return(null); } IIdentifiedProteinGroup result = new IdentifiedProteinGroup(); while (IsProteinLine(lastLine)) { IIdentifiedProtein protein = new IdentifiedProtein(); this.proteinConverter.SetProperty(protein, lastLine); result.Add(protein); lastLine = filein.ReadLine(); } var peptides = new List <IIdentifiedSpectrum>(); while (!IsProteinLine(lastLine)) { IIdentifiedSpectrum mphit = new IdentifiedSpectrum(); this.peptideConverter.SetProperty(mphit, lastLine); string id = mphit.Query.FileScan.LongFileName + "-" + mphit.Rank; if (!peptideMap.ContainsKey(id)) { peptideMap[id] = mphit; } else { mphit = peptideMap[id]; } peptides.Add(mphit); lastLine = filein.ReadLine(); if (lastLine == null || lastLine.Trim().Length == 0) { break; } } peptides.Sort(); result.AddIdentifiedSpectra(peptides); return(result); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumModificationConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Modification", io.Name); io.SetProperty(mph, "O18(2)"); Assert.AreEqual("O18(2)", io.GetProperty(mph)); Assert.AreEqual("O18(2)", mph.Modifications); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumScoreConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Score", io.Name); io.SetProperty(mph, "32.1"); Assert.AreEqual("32.1", io.GetProperty(mph)); Assert.AreEqual(32.1, mph.Score, 0.01); }
public void Test() { AbstractPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumRankConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Rank", io.Name); io.SetProperty(mph, "2"); Assert.AreEqual("2", io.GetProperty(mph)); Assert.AreEqual(2, mph.Rank); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumMissCleavageConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("MissCleavage", io.Name); io.SetProperty(mph, "1"); Assert.AreEqual("1", io.GetProperty(mph)); Assert.AreEqual(1, mph.NumMissedCleavages); }
public void Test() { AbstractPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumChargeConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Charge", io.Name); io.SetProperty(mph, "1"); Assert.AreEqual("1", io.GetProperty(mph)); Assert.AreEqual(1, mph.Query.Charge); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumScoreConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Score", io.Name); io.SetProperty(mph, "32.1"); Assert.AreEqual("32.1", io.GetProperty(mph)); Assert.AreEqual(32.1, mph.Score, 0.01); }
public void Test() { AbstractPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumChargeConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Charge", io.Name); io.SetProperty(mph, "1"); Assert.AreEqual("1", io.GetProperty(mph)); Assert.AreEqual(1, mph.Query.Charge); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumExpectValueConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("ExpectValue", io.Name); io.SetProperty(mph, "0.1234"); Assert.AreEqual("1.23E-001", io.GetProperty(mph)); Assert.AreEqual(0.1234, mph.ExpectValue, 0.0001); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumModificationConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Modification", io.Name); io.SetProperty(mph, "O18(2)"); Assert.AreEqual("O18(2)", io.GetProperty(mph)); Assert.AreEqual("O18(2)", mph.Modifications); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumDeltaScoreConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("DeltaScore", io.Name); io.SetProperty(mph, "0.12"); Assert.AreEqual("0.12", io.GetProperty(mph)); Assert.AreEqual(0.12, mph.DeltaScore, 0.01); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumDeltaScoreConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("DeltaScore", io.Name); io.SetProperty(mph, "0.12"); Assert.AreEqual("0.12", io.GetProperty(mph)); Assert.AreEqual(0.12, mph.DeltaScore, 0.01); }
private static void AddSpectrum(List <IIdentifiedSpectrum> isoSpectra, string seq, string site) { var spec = new IdentifiedSpectrum(); spec.AddPeptide(new IdentifiedPeptide(spec) { Sequence = seq, SiteProbability = site }); isoSpectra.Add(spec); }
protected bool ParseFromOutfileLineWithoutId(List <string> sLines, IdentifiedSpectrum entry) { if (sLines.Count < 11) { return(false); } sLines.Insert(3, "0"); return(ParseFromOutfileLineWithId(sLines, entry)); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumMissCleavageConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("MissCleavage", io.Name); io.SetProperty(mph, "1"); Assert.AreEqual("1", io.GetProperty(mph)); Assert.AreEqual(1, mph.NumMissedCleavages); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumExpectValueConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("ExpectValue", io.Name); io.SetProperty(mph, "0.1234"); Assert.AreEqual("1.23E-001", io.GetProperty(mph)); Assert.AreEqual(0.1234, mph.ExpectValue, 0.0001); }
public void Test() { AbstractPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumRankConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); Assert.AreEqual("Rank", io.Name); io.SetProperty(mph, "2"); Assert.AreEqual("2", io.GetProperty(mph)); Assert.AreEqual(2, mph.Rank); }
public void TestGetSequenceString() { var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.Sequence = "P1"; var mp2 = new IdentifiedPeptide(mph); mp2.Sequence = "P2"; Assert.AreEqual("P1 ! P2", MascotPeptideHitTextWriter.GetSequenceString(mph)); }
public void Test() { AbstractPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumFileScanConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.Query.FileScan.ShortFileName = "ABC,1-2"; Assert.AreEqual("\"File, Scan(s)\"", io.Name); Assert.AreEqual("ABC,1 - 2", io.GetProperty(mph)); io.SetProperty(mph, "DEF,3"); Assert.AreEqual("DEF,3", mph.Query.FileScan.ShortFileName); }
private void CheckPlexType(IsobaricType plexType, string expectHeader, string expectValue) { var ann = new IdentifiedSpectrum(); var pqr = new IsobaricItem() { PlexType = plexType, Valid = true, ValidProbability = 0.0005 }; var refItems = plexType.GetDefinition().Items; foreach (var item in refItems) { pqr[item.Index] = item.Mass; } ann.SetIsobaricItem(pqr); //从实例构建converter var converter = new ITraqItemPlexConverter <IAnnotation>(); List <IPropertyConverter <IAnnotation> > converters = new List <IPropertyConverter <IAnnotation> >(); converters.Add(converter); converters.AddRange(converter.GetRelativeConverter(new IAnnotation[] { ann }.ToList())); CompositePropertyConverter <IAnnotation> finalConverter = new CompositePropertyConverter <IAnnotation>(converters, ','); if (exportToConsole) { Console.WriteLine(finalConverter.Name); } Assert.AreEqual(expectHeader, finalConverter.Name); var line1 = finalConverter.GetProperty(ann); if (exportToConsole) { Console.WriteLine(line1); } Assert.AreEqual(expectValue, line1); var protein2 = new IdentifiedSpectrum(); //从factory根据header构建converter var finalC = IdentifiedSpectrumPropertyConverterFactory.GetInstance().GetConverters(finalConverter.Name, ','); finalC.SetProperty(protein2, line1); var line2 = finalConverter.GetProperty(protein2); Assert.AreEqual(line1, line2); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumTheoreticalMHConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.IsPrecursorMonoisotopic = true; Assert.AreEqual("MH+", io.Name); io.SetProperty(mph, "2000.0000"); Assert.AreEqual("2000.00000", io.GetProperty(mph)); Assert.AreEqual(2000.0000 - Atom.H.MonoMass + Atom.ElectronMass, mph.TheoreticalMass, 0.0001); }
public void TestKeepDistinctPeptideOnly() { var spectrum1 = new IdentifiedSpectrum(); var pep1 = spectrum1.NewPeptide(); var spectrum2 = new IdentifiedSpectrum(); var pep2 = spectrum2.NewPeptide(); var spectrum3 = new IdentifiedSpectrum(); var pep3 = spectrum3.NewPeptide(); var spectrum4 = new IdentifiedSpectrum(); var pep4 = spectrum4.NewPeptide(); var protein1 = new IdentifiedProtein(); protein1.Peptides.Add(pep1); protein1.Peptides.Add(pep2); var protein2 = new IdentifiedProtein(); protein2.Peptides.Add(pep1); protein2.Peptides.Add(pep3); var protein3 = new IdentifiedProtein(); protein3.Peptides.Add(pep2); protein3.Peptides.Add(pep4); var g1 = new IdentifiedProteinGroup(); g1.Add(protein1); var g2 = new IdentifiedProteinGroup(); g2.Add(protein2); var g3 = new IdentifiedProteinGroup(); g3.Add(protein3); IIdentifiedResult ir = new IdentifiedResult(); ir.Add(g1); ir.Add(g2); ir.Add(g3); new DistinctResultDistiller().KeepDistinctPeptideOnly(ir); Assert.AreEqual(2, ir.Count); Assert.AreEqual(g2, ir[0]); Assert.AreEqual(g3, ir[1]); Assert.AreEqual(1, ir[0].GetPeptides().Count); Assert.AreEqual(spectrum3, ir[0].GetPeptides()[0]); Assert.AreEqual(1, ir[1].GetPeptides().Count); Assert.AreEqual(spectrum4, ir[1].GetPeptides()[0]); }
private IIdentifiedSpectrum ParsePeptide(string line) { IIdentifiedSpectrum result = new IdentifiedSpectrum(); string[] parts = line.Split(splits); result.Query.FileScan.Experimental = parts[bestLocalizationRawFileIndex]; result.Query.FileScan.FirstScan = int.Parse(parts[bestLocalizationScanNumberIndex]); result.Query.FileScan.LastScan = result.Query.FileScan.FirstScan; result.Query.FileScan.Charge = int.Parse(parts[chargeIndex]); result.Score = MyConvert.ToDouble(parts[scoreIndex]); result.DeltaScore = MyConvert.ToDouble(parts[scoreDiffIndex]); result.ExpectValue = MyConvert.ToDouble(parts[pepIndex]); result.Probability = MyConvert.ToDouble(parts[localizationProbIndex]); string seq = parts[sequenceWindowIndex]; string modifications = parts[modificationWindowIndex]; seq = GetModifiedSequence(seq, modifications); seq = seq.Replace("_", ""); Match m = modReg.Match(seq); if (m.Success) { while (m.Success) { string mod = m.Groups[1].Value; if (!modCharMap.ContainsKey(mod)) { modCharMap[mod] = ModificationConsts.MODIFICATION_CHAR.Substring(modCharMap.Count + 1, 1); } m = m.NextMatch(); } seq = ReplaceModificationStringToChar(seq); } result.NewPeptide().Sequence = seq; StringBuilder sb = new StringBuilder(); foreach (var mod in modCharMap) { if (seq.Contains(mod.Value)) { sb.Append(MyConvert.Format("{0}={1};", mod.Value, mod.Key)); } } result.Modifications = sb.ToString(); return(result); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumTheoreticalMHConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.IsPrecursorMonoisotopic = true; Assert.AreEqual("MH+", io.Name); io.SetProperty(mph, "2000.0000"); Assert.AreEqual("2000.00000", io.GetProperty(mph)); Assert.AreEqual(2000.0000 - Atom.H.MonoMass + Atom.ElectronMass, mph.TheoreticalMass, 0.0001); }
public void TestSetIons() { var sp = new IdentifiedSpectrum(); sp.Ions = "10/20"; Assert.AreEqual(10, sp.MatchedIonCount); Assert.AreEqual(20, sp.TheoreticalIonCount); sp.Ions = "10|20"; Assert.AreEqual(10, sp.MatchedIonCount); Assert.AreEqual(20, sp.TheoreticalIonCount); Assert.AreEqual("10/20", sp.Ions); }
public void Test() { AbstractPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumFileScanConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.Query.FileScan.ShortFileName = "ABC,1-2"; Assert.AreEqual("\"File, Scan(s)\"", io.Name); Assert.AreEqual("ABC,1 - 2", io.GetProperty(mph)); io.SetProperty(mph, "DEF,3"); Assert.AreEqual("DEF,3", mph.Query.FileScan.ShortFileName); }
public void TestGetProteinString() { var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.AddProtein("P1"); var mp2 = new IdentifiedPeptide(mph); mp2.AddProtein("P2"); mp2.AddProtein("P3"); Assert.AreEqual("P1 ! P2/P3", MascotPeptideHitTextWriter.GetProteinString(mph)); }
public void TestSetIons() { var sp = new IdentifiedSpectrum(); sp.Ions = "10/20"; Assert.AreEqual(10, sp.MatchedIonCount); Assert.AreEqual(20, sp.TheoreticalIonCount); sp.Ions = "10|20"; Assert.AreEqual(10, sp.MatchedIonCount); Assert.AreEqual(20, sp.TheoreticalIonCount); Assert.AreEqual("10/20", sp.Ions); }
public void TestBuildProteins() { var mph1 = new IdentifiedSpectrum(); mph1.Query.FileScan.Experimental = "EXP1"; var mp1 = new IdentifiedPeptide(mph1); mp1.AddProtein("Protein1"); mp1.AddProtein("Protein2"); var mph2 = new IdentifiedSpectrum(); mph2.Query.FileScan.Experimental = "EXP2"; var mp2 = new IdentifiedPeptide(mph2); mp2.AddProtein("Protein1"); mp2.AddProtein("Protein3"); var mphs = new List <IIdentifiedSpectrum>(); mphs.Add(mph1); mphs.Add(mph2); List <IIdentifiedProtein> proteins = MascotUtils.BuildProteins(mphs); Assert.AreEqual(3, proteins.Count); foreach (IdentifiedProtein mp in proteins) { if (mp.Name.Equals("Protein1")) { Assert.AreEqual(2, mp.Peptides.Count); continue; } if (mp.Name.Equals("Protein2")) { Assert.AreEqual(1, mp.Peptides.Count); Assert.AreEqual(mp1, mp.Peptides[0]); continue; } if (mp.Name.Equals("Protein3")) { Assert.AreEqual(1, mp.Peptides.Count); Assert.AreEqual(mp2, mp.Peptides[0]); continue; } } }
protected override void ParseUserParams(IdentifiedSpectrum spectrum, Dictionary <string, string> userParams) { base.ParseUserParams(spectrum, userParams); string value; if (userParams.TryGetValue("IsotopeError", out value)) { spectrum.IsotopeError = int.Parse(value); } if (userParams.TryGetValue("MS2IonCurrent", out value)) { spectrum.MatchedTIC = double.Parse(value); } }
public void TestGetSequenceString() { var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.Sequence = "P1"; var mp2 = new IdentifiedPeptide(mph); mp2.Sequence = "P2"; Assert.AreEqual("P1 ! P2", MascotPeptideHitTextWriter.GetSequenceString(mph)); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumTheoreticalMinusExperimentalMassConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.TheoreticalMass = 1000.1234; Assert.AreEqual("Diff(MH+)", io.Name); io.SetProperty(mph, "0.12340"); Assert.AreEqual(1000.0000, mph.ExperimentalMass, 0.0001); Assert.AreEqual("0.12340", io.GetProperty(mph)); }
public void TestModifications() { var mphit = new IdentifiedSpectrum(); Assert.AreEqual(new string[0], mphit.GetModifications()); string expect = "Oxidation (M)"; mphit.Modifications = expect; Assert.AreEqual(1, mphit.GetModifications().Length); Assert.AreEqual(expect, mphit.GetModifications()[0]); mphit.Modifications = "Oxidation (M); Label:18O(1) (C-term)"; Assert.AreEqual(2, mphit.GetModifications().Length); Assert.AreEqual("Oxidation (M)", mphit.GetModifications()[0]); Assert.AreEqual("Label:18O(1) (C-term)", mphit.GetModifications()[1]); }
public void TestDistinctPeptides() { IdentifiedProtein protein = new IdentifiedProtein(); IdentifiedSpectrum sp1 = new IdentifiedSpectrum(); IdentifiedSpectrum sp2 = new IdentifiedSpectrum(); protein.Peptides.Add(new IdentifiedPeptide(sp1)); protein.Peptides.Add(new IdentifiedPeptide(sp1)); protein.Peptides.Add(new IdentifiedPeptide(sp2)); Assert.AreEqual(3, protein.Peptides.Count); Assert.AreEqual(2, protein.GetSpectra().Count); Assert.AreEqual(2, protein.GetDistinctPeptides().Count()); }
public void TestGetProteinString() { var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.AddProtein("P1"); var mp2 = new IdentifiedPeptide(mph); mp2.AddProtein("P2"); mp2.AddProtein("P3"); Assert.AreEqual("P1 ! P2/P3", MascotPeptideHitTextWriter.GetProteinString(mph)); }
public void Test() { IPropertyConverter <IdentifiedSpectrum> io = new IdentifiedSpectrumTheoreticalMinusExperimentalMassConverter <IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); mph.TheoreticalMass = 1000.1234; Assert.AreEqual("Diff(MH+)", io.Name); io.SetProperty(mph, "0.12340"); Assert.AreEqual(1000.0000, mph.ExperimentalMass, 0.0001); Assert.AreEqual("0.12340", io.GetProperty(mph)); }
private void CheckPlexType(IsobaricType plexType, string expectHeader, string expectValue) { var ann = new IdentifiedSpectrum(); var pqr = new IsobaricItem() { PlexType = plexType, Valid = true, ValidProbability = 0.0005 }; var refItems = plexType.GetDefinition().Items; foreach (var item in refItems) { pqr[item.Index] = item.Mass; } ann.SetIsobaricItem(pqr); //从实例构建converter var converter = new ITraqItemPlexConverter<IAnnotation>(); List<IPropertyConverter<IAnnotation>> converters = new List<IPropertyConverter<IAnnotation>>(); converters.Add(converter); converters.AddRange(converter.GetRelativeConverter(new IAnnotation[] { ann }.ToList())); CompositePropertyConverter<IAnnotation> finalConverter = new CompositePropertyConverter<IAnnotation>(converters, ','); if (exportToConsole) { Console.WriteLine(finalConverter.Name); } Assert.AreEqual(expectHeader, finalConverter.Name); var line1 = finalConverter.GetProperty(ann); if (exportToConsole) { Console.WriteLine(line1); } Assert.AreEqual(expectValue, line1); var protein2 = new IdentifiedSpectrum(); //从factory根据header构建converter var finalC = IdentifiedSpectrumPropertyConverterFactory.GetInstance().GetConverters(finalConverter.Name, ','); finalC.SetProperty(protein2, line1); var line2 = finalConverter.GetProperty(protein2); Assert.AreEqual(line1, line2); }
public void Test() { var mph = new IdentifiedSpectrum(); var io = new AnnotationConverter <IdentifiedSpectrum>("TEST"); Assert.AreEqual("TEST", io.Name); Assert.AreEqual("", io.GetProperty(mph)); io = new AnnotationConverter <IdentifiedSpectrum>("TEST", "DEFAULT_VALUE"); Assert.AreEqual("DEFAULT_VALUE", io.GetProperty(mph)); io.SetProperty(mph, "TEST_VALUE"); Assert.AreEqual("TEST_VALUE", io.GetProperty(mph)); Assert.AreEqual("TEST_VALUE", mph.Annotations["TEST"]); }
public void Test() { var mph = new IdentifiedSpectrum(); var io = new AnnotationConverter<IdentifiedSpectrum>("TEST"); Assert.AreEqual("TEST", io.Name); Assert.AreEqual("", io.GetProperty(mph)); io = new AnnotationConverter<IdentifiedSpectrum>("TEST", "DEFAULT_VALUE"); Assert.AreEqual("DEFAULT_VALUE", io.GetProperty(mph)); io.SetProperty(mph, "TEST_VALUE"); Assert.AreEqual("TEST_VALUE", io.GetProperty(mph)); Assert.AreEqual("TEST_VALUE", mph.Annotations["TEST"]); }
public void TestModifications() { var mphit = new IdentifiedSpectrum(); Assert.AreEqual(new string[0], mphit.GetModifications()); string expect = "Oxidation (M)"; mphit.Modifications = expect; Assert.AreEqual(1, mphit.GetModifications().Length); Assert.AreEqual(expect, mphit.GetModifications()[0]); mphit.Modifications = "Oxidation (M); Label:18O(1) (C-term)"; Assert.AreEqual(2, mphit.GetModifications().Length); Assert.AreEqual("Oxidation (M)", mphit.GetModifications()[0]); Assert.AreEqual("Label:18O(1) (C-term)", mphit.GetModifications()[1]); }
public void TestBuildProteins() { var mph1 = new IdentifiedSpectrum(); mph1.Query.FileScan.Experimental = "EXP1"; var mp1 = new IdentifiedPeptide(mph1); mp1.AddProtein("Protein1"); mp1.AddProtein("Protein2"); var mph2 = new IdentifiedSpectrum(); mph2.Query.FileScan.Experimental = "EXP2"; var mp2 = new IdentifiedPeptide(mph2); mp2.AddProtein("Protein1"); mp2.AddProtein("Protein3"); var mphs = new List<IIdentifiedSpectrum>(); mphs.Add(mph1); mphs.Add(mph2); List<IIdentifiedProtein> proteins = MascotUtils.BuildProteins(mphs); Assert.AreEqual(3, proteins.Count); foreach (IdentifiedProtein mp in proteins) { if (mp.Name.Equals("Protein1")) { Assert.AreEqual(2, mp.Peptides.Count); continue; } if (mp.Name.Equals("Protein2")) { Assert.AreEqual(1, mp.Peptides.Count); Assert.AreEqual(mp1, mp.Peptides[0]); continue; } if (mp.Name.Equals("Protein3")) { Assert.AreEqual(1, mp.Peptides.Count); Assert.AreEqual(mp2, mp.Peptides[0]); continue; } } }
public void SetUp() { s1 = new IdentifiedSpectrum(); s1.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11110"; s1.Query.Charge = 2; s1.Score = 3.0; s1.AddPeptide(new IdentifiedPeptide(s1) { Sequence = "R.#VK*PDR.T" }); s2 = new IdentifiedSpectrum(); s2.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11110"; s2.Query.Charge = 2; s2.Score = 2.0; s2.AddPeptide(new IdentifiedPeptide(s2) { Sequence = "R.#VK*PDR.T" }); s3 = new IdentifiedSpectrum(); s3.Score = 1.0; s3.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11110"; s3.Query.Charge = 3; s3.AddPeptide(new IdentifiedPeptide(s3) { Sequence = "R.#VK*PDDEFER.T" }); s4 = new IdentifiedSpectrum(); s4.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11111"; s4.Query.Charge = 3; s4.Score = 5.0; s4.AddPeptide(new IdentifiedPeptide(s4) { Sequence = "R.#VK*PDDSKEIEFER.T" }); s5 = new IdentifiedSpectrum(); s5.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11111"; s5.Query.Charge = 3; s5.Score = 4.0; s5.AddPeptide(new IdentifiedPeptide(s5) { Sequence = "R.#VK*PEESKEIEFER.T" }); s6 = new IdentifiedSpectrum(); s6.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11111"; s6.Query.Charge = 2; s6.Score = 3.0; s6.AddPeptide(new IdentifiedPeptide(s6) { Sequence = "R.#VK*PEESEFER.T" }); s7 = new IdentifiedSpectrum(); s7.Query.FileScan.ShortFileName = "YEAST_0610_G1_SAX_080811_01,11111"; s7.Query.Charge = 2; s7.Score = 3.0; s7.AddPeptide(new IdentifiedPeptide(s7) { Sequence = "R.#VKPEESEFER*.T" }); }
// 1. 1 / 1 0 1964.9940 0.0000 5.6970 2133.9 21/30 sw|P02666|CASBBOVIN +1 K.FQSEEQQQTEDELQDK.I protected bool ParseFromOutfileLine(string line, IdentifiedSpectrum entry) { // Console.Out.WriteLine(line); // dfadfas entry.IsProteinFromOutFile = true; string sLine = line.Trim().Replace('/', ' '); string[] sLines = this.reg.Split(sLine); if (sLines.Length < itemIndex.MinCount) { return(false); } entry.Rank = int.Parse(sLines[itemIndex.RankIndex]); entry.SpRank = int.Parse(sLines[itemIndex.SpRankIndex]); entry.TheoreticalMH = MyConvert.ToDouble(sLines[itemIndex.TheoreticalMHIndex]); entry.DeltaScore = MyConvert.ToDouble(sLines[itemIndex.DeltaScoreIndex]); entry.Score = MyConvert.ToDouble(sLines[itemIndex.ScoreIndex]); entry.SpScore = MyConvert.ToDouble(sLines[itemIndex.SpScoreIndex]); entry.MatchedIonCount = int.Parse(sLines[itemIndex.MatchedIonCountIndex]); entry.TheoreticalIonCount = int.Parse(sLines[itemIndex.TheoreticalIonCountIndex]); entry.ClearPeptides(); string sequence; if ('+' != sLines[itemIndex.SequenceIndex][0]) { entry.DuplicatedCount = 0; sequence = sLines[itemIndex.SequenceIndex]; } else { entry.DuplicatedCount = int.Parse(sLines[itemIndex.SequenceIndex].Substring(1, sLines[itemIndex.SequenceIndex].Length - 1)); sequence = sLines[itemIndex.SequenceIndex + 1]; } CheckSequenceValid(ref sequence); var sp = new IdentifiedPeptide(entry); sp.Sequence = sequence; sp.AddProtein(sLines[itemIndex.ProteinIndex]); return(true); }
public void Test() { IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumSequenceConverter<IdentifiedSpectrum>(); var mph = new IdentifiedSpectrum(); var mp1 = new IdentifiedPeptide(mph); mp1.Sequence = "AAAAA"; var mp2 = new IdentifiedPeptide(mph); mp2.Sequence = "BBBBB"; Assert.AreEqual("Sequence", io.Name); Assert.AreEqual("AAAAA ! BBBBB", io.GetProperty(mph)); io.SetProperty(mph, "CCCCC ! DDDDD ! EEEEE"); Assert.AreEqual(3, mph.Peptides.Count); Assert.AreEqual("CCCCC", mph.Peptides[0].Sequence); Assert.AreEqual("DDDDD", mph.Peptides[1].Sequence); Assert.AreEqual("EEEEE", mph.Peptides[2].Sequence); }
public void TestFilter2() { var spectrum = new IdentifiedSpectrum(); spectrum.Query.FileScan.LongFileName = "ABDCDD.12.123.2.dat"; var pro1 = new IdentifiedProtein("P1"); pro1.Peptides.Add(new IdentifiedPeptide(spectrum) { Sequence = "AAAAAAA" }); var pro2 = new IdentifiedProtein("P2"); pro2.Peptides.Add(new IdentifiedPeptide(spectrum) { Sequence = "BBBBBBB" }); var g1 = new IdentifiedProteinGroup(); g1.Add(pro1); g1.Add(pro2); IdentifiedResult ir = new IdentifiedResult(); ir.Add(g1); Assert.AreEqual(1, ir.Count); Assert.AreEqual(2, ir[0].Count); Assert.AreEqual(1, ir.GetSpectra().Count); ir.Filter(m => { return m.Sequence.Contains('A'); }); Assert.AreEqual(1, ir.Count); Assert.AreEqual(1, ir[0].Count); Assert.AreEqual(1, ir.GetSpectra().Count); Assert.AreSame(pro1, ir[0][0]); ir.Filter(m => { return m.Sequence.Contains('C'); }); Assert.AreEqual(0, ir.Count); }
public void TestCalculateCoverage() { IdentifiedProtein protein = new IdentifiedProtein(); //total 30 amino acids protein.Sequence = "ABCDEDFDEFDSESLKJFDJLSLGFGDDGD"; IdentifiedSpectrum s1 = new IdentifiedSpectrum(); IdentifiedPeptide p1 = new IdentifiedPeptide(s1); p1.Sequence = "B.CDEDF.D"; protein.Peptides.Add(p1); protein.CalculateCoverage(); Assert.AreEqual(16.67, protein.Coverage, 0.01); IdentifiedSpectrum s2 = new IdentifiedSpectrum(); IdentifiedPeptide p2 = new IdentifiedPeptide(s2); p2.Sequence = "F.DSESL.K"; protein.Peptides.Add(p2); protein.CalculateCoverage(); Assert.AreEqual(33.33, protein.Coverage, 0.01); IdentifiedSpectrum s3 = new IdentifiedSpectrum(); IdentifiedPeptide p3 = new IdentifiedPeptide(s3); p3.Sequence = "L.SLGF.G"; protein.Peptides.Add(p3); protein.CalculateCoverage(); Assert.AreEqual(46.67, protein.Coverage, 0.01); IdentifiedSpectrum s4 = new IdentifiedSpectrum(); IdentifiedPeptide p4 = new IdentifiedPeptide(s4); p4.Sequence = "L.SLGFG.D"; protein.Peptides.Add(p4); protein.CalculateCoverage(); Assert.AreEqual(50.00, protein.Coverage, 0.01); }
public void TestUniqueCount() { var protein = new IdentifiedProtein(); var spectrum = new IdentifiedSpectrum(); var peptides = new List<IIdentifiedPeptide>(); peptides.Add(new IdentifiedPeptide(spectrum){ Sequence = "ILLLAR" }); peptides.Add(new IdentifiedPeptide(spectrum){ Sequence = "LILIAR" }); Assert.AreEqual(1, IdentifiedPeptideUtils.GetUniquePeptideCount(peptides)); peptides.Add(new IdentifiedPeptide(new IdentifiedSpectrum()) { Sequence = "LIIIAR" }); Assert.AreEqual(1, IdentifiedPeptideUtils.GetUniquePeptideCount(peptides)); }
public void TestKeepMaxScorePeptideOnly() { List<IIdentifiedSpectrum> spectra = new List<IIdentifiedSpectrum>(); spectra.Add(new IdentifiedSpectrum() { Score = 3.0 }); spectra.Add(new IdentifiedSpectrum() { Score = 2.0 }); spectra.ForEach(m => { m.AddPeptide(new IdentifiedPeptide(m) { Sequence = "A1" }); m.Charge = 2; }); IdentifiedSpectrum other = new IdentifiedSpectrum() { Score = 2.0, Charge = 2 }; other.AddPeptide(new IdentifiedPeptide(other) { Sequence = "B1" }); spectra.Add(other); List<IIdentifiedSpectrum> filtered = UniquePeptideDistiller.KeepMaxScorePeptideOnly(spectra); Assert.AreEqual(2, filtered.Count); Assert.AreEqual(3.0, filtered[0].Score); Assert.AreEqual("A1", filtered[0].Sequence); Assert.AreEqual(2.0, filtered[1].Score); Assert.AreEqual("B1", filtered[1].Sequence); }