private void AddDigestionTask_Click(object sender, RoutedEventArgs e) { // disable button so that no more tasks are added AddDigestionTask.IsEnabled = false; ResetDigestionTask.IsEnabled = true; // disable fields to show that those parameters are used for the task ProteaseSelectedForUse.IsEnabled = false; MissedCleavagesTextBox.IsEnabled = false; MinPeptideLengthTextBox.IsEnabled = false; MaxPeptideLengthTextBox.IsEnabled = false; DigestionTask task = new DigestionTask(); UpdateFieldsFromUser(task); AddTaskToCollection(task); OutputFolderTextBox.IsEnabled = true; // output folder if (string.IsNullOrWhiteSpace(OutputFolderTextBox.Text)) { var pathOfFirstSpectraFile = System.IO.Path.GetDirectoryName(ProteinDbObservableCollection.First().FilePath); OutputFolderTextBox.Text = System.IO.Path.Combine(pathOfFirstSpectraFile, @"$DATETIME"); } var startTimeForAllFilenames = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss", CultureInfo.InvariantCulture); string outputFolder = OutputFolderTextBox.Text.Replace("$DATETIME", startTimeForAllFilenames); OutputFolderTextBox.Text = outputFolder; UserParameters.OutputFolder = outputFolder; }
private void AddDigestionTask_Click(object sender, RoutedEventArgs e) { DigestionTask task = new DigestionTask(); UpdateFieldsFromUser(task); AddTaskToCollection(task); }
private void UpdateFieldsFromUser(DigestionTask run) { run.DigestionParameters.NumberOfMissedCleavagesAllowed = Convert.ToInt32(MissedCleavagesTextBox.Text); run.DigestionParameters.MinPeptideLengthAllowed = Convert.ToInt32(MinPeptideLengthTextBox.Text); run.DigestionParameters.MaxPeptideLengthAllowed = Convert.ToInt32(MaxPeptideLengthTextBox.Text); run.DigestionParameters.TreatModifiedPeptidesAsDifferent = Convert.ToBoolean(ModPepsAreUnique.IsChecked); List <Protease> proteases = new List <Protease>(); foreach (var protease in ProteaseSelectedForUse.SelectedItems) { proteases.Add(ProteaseDictionary.Dictionary[protease.ToString()]); } run.DigestionParameters.ProteasesForDigestion = proteases; }
public static void SingleDatabase() { Loaders.LoadElements(); string subFolder = Path.Combine(TestContext.CurrentContext.TestDirectory, @"DigestionTest"); Directory.CreateDirectory(subFolder); string databasePath = Path.Combine(TestContext.CurrentContext.TestDirectory, "Databases", "TestDatabase_1.fasta"); DbForDigestion database = new DbForDigestion(databasePath); Parameters param = new Parameters(); param.MinPeptideLengthAllowed = 1; param.MaxPeptideLengthAllowed = 100; param.NumberOfMissedCleavagesAllowed = 0; param.TreatModifiedPeptidesAsDifferent = false; param.ProteasesForDigestion.Add(ProteaseDictionary.Dictionary["trypsin"]); param.OutputFolder = subFolder; DigestionTask digestion = new DigestionTask(); digestion.DigestionParameters = param; var digestionResults = digestion.RunSpecific(subFolder, new List <DbForDigestion>() { database }); Assert.AreEqual(1, digestionResults.PeptideByFile.Count); Assert.AreEqual(1, digestionResults.PeptideByFile.Values.Count); Assert.AreEqual(2, digestionResults.PeptideByFile[database.FileName][param.ProteasesForDigestion.First().Name].Count); foreach (var entry in digestionResults.PeptideByFile[database.FileName][param.ProteasesForDigestion.First().Name]) { if (entry.Key.Accession == "testProtein_1") { Assert.AreEqual(26, entry.Value.Count); Assert.AreEqual("MSFVNGNEIFTAAR", entry.Value[0].BaseSequence); Assert.IsFalse(entry.Value[0].Unique); Assert.IsFalse(entry.Value[0].UniqueAllDbs); Assert.IsTrue(entry.Value[0].SeqOnlyInThisDb); Assert.AreEqual("QGHYAVGAFNTNNLEWTR", entry.Value[1].BaseSequence); Assert.IsTrue(entry.Value[1].Unique); Assert.IsTrue(entry.Value[1].UniqueAllDbs); Assert.IsTrue(entry.Value[1].SeqOnlyInThisDb); Assert.AreEqual("AILK", entry.Value[2].BaseSequence); Assert.IsTrue(entry.Value[2].Unique); Assert.IsTrue(entry.Value[2].UniqueAllDbs); Assert.IsTrue(entry.Value[2].SeqOnlyInThisDb); Assert.AreEqual("AAQEK", entry.Value[3].BaseSequence); Assert.IsFalse(entry.Value[3].Unique); Assert.IsFalse(entry.Value[3].UniqueAllDbs); Assert.IsTrue(entry.Value[3].SeqOnlyInThisDb); Assert.AreEqual("NTPVLIQVSMGAAK", entry.Value[4].BaseSequence); Assert.IsFalse(entry.Value[4].Unique); Assert.IsFalse(entry.Value[4].UniqueAllDbs); Assert.IsTrue(entry.Value[4].SeqOnlyInThisDb); Assert.AreEqual("YMGDYK", entry.Value[5].BaseSequence); Assert.IsFalse(entry.Value[5].Unique); Assert.IsFalse(entry.Value[5].UniqueAllDbs); Assert.IsTrue(entry.Value[5].SeqOnlyInThisDb); Assert.AreEqual("LVK", entry.Value[6].BaseSequence); Assert.IsFalse(entry.Value[6].Unique); Assert.IsFalse(entry.Value[6].UniqueAllDbs); Assert.IsTrue(entry.Value[6].SeqOnlyInThisDb); Assert.AreEqual("TLVEEEMR", entry.Value[7].BaseSequence); Assert.IsTrue(entry.Value[7].Unique); Assert.IsTrue(entry.Value[7].UniqueAllDbs); Assert.IsTrue(entry.Value[7].SeqOnlyInThisDb); } else if (entry.Key.Accession == "testProtein_2") { Assert.AreEqual(27, entry.Value.Count); Assert.AreEqual("MSFVNGNEIFTAAR", entry.Value[0].BaseSequence); Assert.IsFalse(entry.Value[0].Unique); Assert.IsFalse(entry.Value[0].UniqueAllDbs); Assert.IsTrue(entry.Value[0].SeqOnlyInThisDb); Assert.AreEqual("QGHPPGAFNTNNLEWTR", entry.Value[1].BaseSequence); Assert.IsTrue(entry.Value[1].Unique); Assert.IsTrue(entry.Value[1].UniqueAllDbs); Assert.IsTrue(entry.Value[1].SeqOnlyInThisDb); Assert.AreEqual("AIVK", entry.Value[2].BaseSequence); Assert.IsTrue(entry.Value[2].Unique); Assert.IsTrue(entry.Value[2].UniqueAllDbs); Assert.IsTrue(entry.Value[2].SeqOnlyInThisDb); Assert.AreEqual("AAQEK", entry.Value[3].BaseSequence); Assert.IsFalse(entry.Value[3].Unique); Assert.IsFalse(entry.Value[3].UniqueAllDbs); Assert.IsTrue(entry.Value[3].SeqOnlyInThisDb); Assert.AreEqual("NTPVLIQVSMGAAK", entry.Value[4].BaseSequence); Assert.IsFalse(entry.Value[4].Unique); Assert.IsFalse(entry.Value[4].UniqueAllDbs); Assert.IsTrue(entry.Value[4].SeqOnlyInThisDb); Assert.AreEqual("YMGDYK", entry.Value[5].BaseSequence); Assert.IsFalse(entry.Value[5].Unique); Assert.IsFalse(entry.Value[5].UniqueAllDbs); Assert.IsTrue(entry.Value[5].SeqOnlyInThisDb); Assert.AreEqual("LVK", entry.Value[6].BaseSequence); Assert.IsFalse(entry.Value[6].Unique); Assert.IsFalse(entry.Value[6].UniqueAllDbs); Assert.IsTrue(entry.Value[6].SeqOnlyInThisDb); Assert.AreEqual("TLVEPPMR", entry.Value[7].BaseSequence); Assert.IsTrue(entry.Value[7].Unique); Assert.IsTrue(entry.Value[7].UniqueAllDbs); Assert.IsTrue(entry.Value[7].SeqOnlyInThisDb); } } Directory.Delete(subFolder, true); }