private void Neo_Load(object sender, EventArgs e) { MS1Tolerance.Text = "5"; MS2Tolerance.Text = "0.01"; MassCalculator.importMasses(); // To report progress from the background worker we need to set this property backgroundWorker1.WorkerReportsProgress = true; // This event will be raised on the worker thread when the worker starts backgroundWorker1.DoWork += new DoWorkEventHandler(Engine); // This event will be raised when we call ReportProgress backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged); }
protected override void DoRealGo() { MassCalculator averageCalc = new MassCalculator(Atom.AverageMassFunction); MassCalculator monoCalc = new MassCalculator(Atom.MonoMassFunction); Aminoacids aas = new Aminoacids(); aas['C'].ResetMass(aas['C'].MonoMass + 57.0215, aas['C'].AverageMass + 57.0215); StringBuilder sb = new StringBuilder(); double totalMass = 0.0; if (peptideSequence.Text.Length > 0) { double averageMass = aas.AveragePeptideMass(peptideSequence.Text); sb.Append(MyConvert.Format("PeptideMass={0:0.0000}; ", averageMass)); totalMass = averageMass; } if (glycanStructure.Text.Length > 0) { AtomComposition ac = new AtomComposition(glycanStructure.Text); double averageMass = averageCalc.GetMass(ac); sb.Append(MyConvert.Format("GlycanMass={0:0.0000}; ", averageMass)); if (totalMass > 0) { totalMass += averageMass - 18.0; sb.Append(MyConvert.Format("TotalMass={0:0.0000}; ", totalMass)); for (int charge = 2; charge <= 4; charge++) { sb.Append(MyConvert.Format("Charge{0}={1:0.0000}; ", charge, (totalMass + charge) / charge)); } } } txtResultInfo.Text = sb.ToString(); }
private static void MassConverter() { ICalculator calculator = new MassCalculator(); Console.WriteLine("What mass unit do you want to convert from?"); Console.WriteLine("Options: 1 for Milligrams, 2 for Grams, 3 for Kilograms, 4 for Ounces, 5 for Pounds, 6 for Stones"); Console.WriteLine("Type 'exit' to stop the program."); var convertFrom = Console.ReadLine(); while (!int.TryParse(convertFrom, out int number) || (Convert.ToInt32(convertFrom) < 1 || Convert.ToInt32(convertFrom) > 6)) { Console.WriteLine("Error write only numbers and it must be between 1 and 6"); Console.WriteLine("Type 'exit' to stop the program."); convertFrom = Console.ReadLine(); if (convertFrom.ToLower() == "exit") { break; } } Console.WriteLine("What mass unit do you want to convert to?"); Console.WriteLine("Options: 1 for Milligrams, 2 for Grams, 3 for Kilograms, 4 for Ounces, 5 for Pounds, 6 for Stones"); Console.WriteLine("Type 'exit' to stop the program."); var convertTo = Console.ReadLine(); while (!int.TryParse(convertTo, out int number) || (Convert.ToInt32(convertTo) < 1 || Convert.ToInt32(convertTo) > 6)) { Console.WriteLine("Error write only numbers and it must be between 1 and 6"); Console.WriteLine("Type 'exit' to stop the program."); convertTo = Console.ReadLine(); if (convertTo.ToLower() == "exit") { break; } } Console.WriteLine("What is the value you want to convert?"); var valueToConvert = Console.ReadLine(); while (!double.TryParse(valueToConvert, out double number)) { Console.WriteLine("Error write only numbers."); Console.WriteLine("Type 'exit' to stop the program."); valueToConvert = Console.ReadLine(); if (valueToConvert.ToLower() == "exit") { break; } } IUnit from = null; IUnit to = null; double valueInDoubleToConvert = double.Parse(valueToConvert); switch (convertFrom) { case "1": from = new Milligram { Value = valueInDoubleToConvert }; break; case "2": from = new Gram { Value = valueInDoubleToConvert }; break; case "3": from = new Kilogram { Value = valueInDoubleToConvert }; break; case "4": from = new Ounce { Value = valueInDoubleToConvert }; break; case "5": from = new Pound { Value = valueInDoubleToConvert }; break; case "6": from = new Stone { Value = valueInDoubleToConvert }; break; } switch (convertTo) { case "1": to = new Milligram(); break; case "2": to = new Gram(); break; case "3": to = new Kilogram(); break; case "4": to = new Ounce(); break; case "5": to = new Pound(); break; case "6": to = new Stone(); break; } var result = calculator.Calculate(from, to); Console.WriteLine($"Well, {from.Value} {from.Name}(s) is equal to {result} {to.Name}(s)."); }