public void TestEnumeratingProteins() { var methodName = MethodBase.GetCurrentMethod().Name; TestUtils.ShowStarting(methodName); var sw = new System.Diagnostics.Stopwatch(); sw.Start(); const string dbFile = @"\\proto-2\UnitTest_Files\InformedProteomics_TestFiles\MSPathFinderT\Short.fasta"; if (!File.Exists(dbFile)) { Assert.Ignore(@"Skipping test {0} since file not found: {1}", methodName, dbFile); } var db = new FastaDatabase(dbFile); var indexedDb = new IndexedDatabase(db); foreach (var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsetsWithCTermCleavagesLargerThan(100, 300, 3)) { Console.WriteLine(annotationAndOffset.Annotation); } sw.Stop(); Console.WriteLine(@"{0:f4} sec", sw.Elapsed.TotalSeconds); }
public void TestEnumeratingProteins() { var methodName = MethodBase.GetCurrentMethod().Name; Utils.ShowStarting(methodName); var sw = new System.Diagnostics.Stopwatch(); sw.Start(); var fastaFile = Utils.GetTestFile(methodName, Path.Combine(Utils.DEFAULT_TEST_FILE_FOLDER, @"MSPathFinderT\Short.fasta")); var db = new FastaDatabase(fastaFile.FullName); var indexedDb = new IndexedDatabase(db); var numPeptides = 0; foreach (var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsetsWithCTermCleavagesLargerThan(100, 300, 3)) { if (numPeptides < 20) { Console.WriteLine(annotationAndOffset.Annotation); } numPeptides++; } sw.Stop(); Console.WriteLine("Peptide count: {0}", numPeptides); Console.WriteLine(@"{0:f4} sec", sw.Elapsed.TotalSeconds); }
public void TestCountingProteoformsCloseToNTermOrCTerm() { var methodName = MethodBase.GetCurrentMethod().Name; TestUtils.ShowStarting(methodName); const int minSequenceLength = 21; // 21 const int maxSequenceLength = 300; // 300 const int maxNumNTermCleavages = 1; const int maxNumCTermCleavages = 0; var sw = new System.Diagnostics.Stopwatch(); sw.Start(); //const string dbFile = @"C:\cygwin\home\kims336\Data\TopDownQCShew\database\ID_002216_235ACCEA.fasta"; const string dbFile = @"\\proto-2\UnitTest_Files\InformedProteomics_TestFiles\MSPathFinderT\Short.fasta"; if (!File.Exists(dbFile)) { Assert.Ignore(@"Skipping test {0} since file not found: {1}", methodName, dbFile); } var db = new FastaDatabase(dbFile); var indexedDb = new IndexedDatabase(db); var both = 0L; var nTermOnly = 0L; var cTermOnly = 0L; foreach ( var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsets(minSequenceLength, int.MaxValue, maxNumCTermCleavages)) { // numCTermCleavages <= maxNumCTermCleavages var annotation = annotationAndOffset.Annotation; var length = (annotation.Length - 4); var numNTermCleavage = 0; int cleavedLength; while ((cleavedLength = length - numNTermCleavage) >= minSequenceLength) { if (cleavedLength <= maxSequenceLength) { if (numNTermCleavage <= maxNumNTermCleavages) { ++both; } else { ++cTermOnly; } var anno = numNTermCleavage == 0 ? annotation : string.Format("{0}.{1}", annotation[1 + numNTermCleavage], annotation.Substring(2 + numNTermCleavage)); Console.WriteLine(anno); } ++numNTermCleavage; } } foreach ( var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsetsWithCTermCleavagesLargerThan(minSequenceLength, int.MaxValue, maxNumCTermCleavages)) { // numCTermCleavages > maxNumCTermCleavages var annotation = annotationAndOffset.Annotation; var length = (annotation.Length - 4); for (var numNTermCleavage = 0; numNTermCleavage <= maxNumNTermCleavages; numNTermCleavage++) { var cleavedLength = length - numNTermCleavage; if (cleavedLength >= minSequenceLength && cleavedLength <= maxSequenceLength) { ++nTermOnly; var anno = numNTermCleavage == 0 ? annotation : string.Format("{0}.{1}", annotation[1 + numNTermCleavage], annotation.Substring(2 + numNTermCleavage)); Console.WriteLine(anno); } } } Console.WriteLine("Both: {0}", both); Console.WriteLine("N-term only: {0}", nTermOnly); Console.WriteLine("C-term only: {0}", cTermOnly); Console.WriteLine("All: {0}", both + nTermOnly + cTermOnly); sw.Stop(); Console.WriteLine(@"{0:f4} sec", sw.Elapsed.TotalSeconds); }
public void TestCountingProteoformsCloseToNTermOrCTerm() { var methodName = MethodBase.GetCurrentMethod().Name; Utils.ShowStarting(methodName); const int minSequenceLength = 21; // 21 const int maxSequenceLength = 300; // 300 const int maxNumNTermCleavages = 1; const int maxNumCTermCleavages = 0; var sw = new System.Diagnostics.Stopwatch(); sw.Start(); var fastaFile = Utils.GetTestFile(methodName, Path.Combine(Utils.DEFAULT_TEST_FILE_FOLDER, @"MSPathFinderT\Short.fasta")); var db = new FastaDatabase(fastaFile.FullName); var indexedDb = new IndexedDatabase(db); var both = 0L; var nTermOnly = 0L; var cTermOnly = 0L; var displayedResults = 0; foreach ( var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsets(minSequenceLength, int.MaxValue, maxNumCTermCleavages)) { // numCTermCleavages <= maxNumCTermCleavages var annotation = annotationAndOffset.Annotation; var length = (annotation.Length - 4); var numNTermCleavage = 0; int cleavedLength; while ((cleavedLength = length - numNTermCleavage) >= minSequenceLength) { if (cleavedLength <= maxSequenceLength) { if (numNTermCleavage <= maxNumNTermCleavages) { ++both; } else { ++cTermOnly; } var anno = numNTermCleavage == 0 ? annotation : string.Format("{0}.{1}", annotation[1 + numNTermCleavage], annotation.Substring(2 + numNTermCleavage)); if (displayedResults < 20) { Console.WriteLine(anno); } displayedResults++; } ++numNTermCleavage; } } displayedResults = 0; foreach ( var annotationAndOffset in indexedDb.IntactSequenceAnnotationsAndOffsetsWithCTermCleavagesLargerThan(minSequenceLength, int.MaxValue, maxNumCTermCleavages)) { // numCTermCleavages > maxNumCTermCleavages var annotation = annotationAndOffset.Annotation; var length = (annotation.Length - 4); for (var numNTermCleavage = 0; numNTermCleavage <= maxNumNTermCleavages; numNTermCleavage++) { var cleavedLength = length - numNTermCleavage; if (cleavedLength >= minSequenceLength && cleavedLength <= maxSequenceLength) { ++nTermOnly; var anno = numNTermCleavage == 0 ? annotation : string.Format("{0}.{1}", annotation[1 + numNTermCleavage], annotation.Substring(2 + numNTermCleavage)); if (displayedResults < 20) { Console.WriteLine(anno); } displayedResults++; } } } Console.WriteLine("Both: {0}", both); Console.WriteLine("N-term only: {0}", nTermOnly); Console.WriteLine("C-term only: {0}", cTermOnly); Console.WriteLine("All: {0}", both + nTermOnly + cTermOnly); sw.Stop(); Console.WriteLine(@"{0:f4} sec", sw.Elapsed.TotalSeconds); }