public void OkDialog() { var reader = new StringReader(textPeptides.Text); var standardPeptides = new List <DbIrtPeptide>(); var invalidLines = new List <string>(); string line; while ((line = reader.ReadLine()) != null) { line = line.Trim(); // Skip blank lines if (string.IsNullOrEmpty(line)) { continue; } DbIrtPeptide peptide = null; var target = TargetResolver.ResolveTarget(line); if (target == null || !_dictSequenceToPeptide.TryGetValue(target, out peptide)) // CONSIDER(bspratt) - small molecule equivalent? { invalidLines.Add(line); } standardPeptides.Add(peptide); } if (invalidLines.Count > 0) { string message; if (invalidLines.Count == 1) { message = ModeUIAwareStringFormat(Resources.ChangeIrtPeptidesDlg_OkDialog_The_sequence__0__is_not_currently_in_the_database, invalidLines[0]); MessageBox.Show(this, message, Program.Name); } else { message = TextUtil.LineSeparate(GetModeUIHelper().Translate(Resources.ChangeIrtPeptidesDlg_OkDialog_The_following_sequences_are_not_currently_in_the_database), string.Empty, TextUtil.LineSeparate(invalidLines), string.Empty, GetModeUIHelper().Translate(Resources.ChangeIrtPeptidesDlg_OkDialog_Standard_peptides_must_exist_in_the_database)); MessageBox.Show(this, message, Program.Name); } return; } _standardPeptides = standardPeptides.ToArray(); DialogResult = DialogResult.OK; }
public Dictionary <LibKey, IonMobilityAndCCS> GetTableMeasuredIonMobility(bool useHighEnergyOffsets, eIonMobilityUnits units) { var e = new CancelEventArgs(); var dict = new Dictionary <LibKey, IonMobilityAndCCS>(); foreach (DataGridViewRow row in _gridMeasuredDriftTimePeptides.Rows) { if (row.IsNewRow) { continue; } string seq; if (!ValidateSequence(e, row.Cells[EditDriftTimePredictorDlg.COLUMN_SEQUENCE], out seq)) { return(null); } // OK, we have a non-empty "sequence" string, but is that actually a peptide or a molecule? // See if there's anything in the document whose text representation matches what's in the list var target = _targetResolver.ResolveTarget(seq); if (target == null || target.IsEmpty) { return(null); } Adduct charge; if (!ValidateCharge(e, row.Cells[EditDriftTimePredictorDlg.COLUMN_CHARGE], target.IsProteomic, out charge)) { return(null); } double mobility; if (!ValidateDriftTime(e, row.Cells[EditDriftTimePredictorDlg.COLUMN_ION_MOBILITY], out mobility)) { return(null); } double?ccs; if (!ValidateCCS(e, row.Cells[EditDriftTimePredictorDlg.COLUMN_CCS], out ccs)) { return(null); } double highEnergyOffset = 0; // Set default value in case user does not provide one if (useHighEnergyOffsets && !ValidateHighEnergyDriftTimeOffset(e, row.Cells[EditDriftTimePredictorDlg.COLUMN_HIGH_ENERGY_OFFSET], out highEnergyOffset)) { return(null); } var ionMobility = IonMobilityValue.GetIonMobilityValue(mobility, units); try { dict.Add(new LibKey(target, charge), IonMobilityAndCCS.GetIonMobilityAndCCS(ionMobility, ccs, highEnergyOffset)); } // ReSharper disable once EmptyGeneralCatchClause catch { // just take the first seen } } return(dict); }
private static TargetMap <bool> TextTargets(TargetResolver targetResolver, IEnumerable <string> pepLines) { return(new TargetMap <bool>(pepLines.Select(line => line.Trim()) .Where(line => !string.IsNullOrEmpty(line)) .Select(line => new KeyValuePair <Target, bool>(targetResolver.ResolveTarget(line), true)))); }
public void OkDialog() { var reader = new StringReader(textPeptides.Text); var standardPeptides = new List <DbIrtPeptide>(); var invalidLines = new List <string>(); string line; while ((line = reader.ReadLine()) != null) { line = line.Trim(); // Skip blank lines if (string.IsNullOrEmpty(line)) { continue; } DbIrtPeptide peptide = null; var target = TargetResolver.ResolveTarget(line); if (target == null || !_dictSequenceToPeptide.TryGetValue(target, out peptide)) // CONSIDER(bspratt) - small molecule equivalent? { invalidLines.Add(line); } standardPeptides.Add(peptide); } if (invalidLines.Count > 0) { string message; if (invalidLines.Count == 1) { message = ModeUIAwareStringFormat(Resources.ChangeIrtPeptidesDlg_OkDialog_The_sequence__0__is_not_currently_in_the_database, invalidLines[0]); MessageBox.Show(this, message, Program.Name); } else { message = TextUtil.LineSeparate(GetModeUIHelper().Translate(Resources.ChangeIrtPeptidesDlg_OkDialog_The_following_sequences_are_not_currently_in_the_database), string.Empty, TextUtil.LineSeparate(invalidLines), string.Empty, GetModeUIHelper().Translate(Resources.ChangeIrtPeptidesDlg_OkDialog_Standard_peptides_must_exist_in_the_database)); MessageBox.Show(this, message, Program.Name); } return; } ReplacementProtein = null; var selected = (ComboBoxProtein)comboProteins.SelectedItem; if (selected.IsNotNull) { var removedPeptides = selected.RemovedPeptides(TargetResolver, textPeptides.Lines).ToArray(); if (removedPeptides.Any()) { switch (MultiButtonMsgDlg.Show(this, TextUtil.LineSeparate( Resources.ChangeIrtPeptidesDlg_OkDialog_The_following_peptides_were_removed_, TextUtil.LineSeparate(removedPeptides.Select(nodePep => nodePep.ModifiedSequenceDisplay)), Resources.ChangeIrtPeptidesDlg_OkDialog_Would_you_like_to_remove_them_from_the_document_), MultiButtonMsgDlg.BUTTON_YES, MultiButtonMsgDlg.BUTTON_NO, true)) { case DialogResult.Yes: ReplacementProtein = selected.RemovePeptides(TargetResolver, textPeptides.Lines); break; case DialogResult.No: break; case DialogResult.Cancel: return; } } } _standardPeptides = standardPeptides.ToArray(); DialogResult = DialogResult.OK; }