/// <summary> /// Initializes a new instance of the <see cref="SearchSettingsViewModel"/> class. /// Initializes from <see cref="Models.MsPfParameters" />, MSPathFinder parameters. /// </summary> /// <param name="dialogService">Dialog service for opening dialogs from view model</param> /// <param name="mspfParameters">The MSPathFinder parameters.</param> public SearchSettingsViewModel(IMainDialogService dialogService, MsPfParameters mspfParameters) : this(dialogService) { if (mspfParameters == null) { return; } SearchModifications.AddRange( mspfParameters.Modifications.Select( searchMod => new SearchModificationViewModel(this.dialogService) { SearchModification = searchMod })); MinSequenceLength = mspfParameters.MinSequenceLength; MaxSequenceLength = mspfParameters.MaxSequenceLength; MinSequenceMass = mspfParameters.MinSequenceMass; MaxSequenceMass = mspfParameters.MaxSequenceMass; MinPrecursorIonCharge = mspfParameters.MinPrecursorIonCharge; MaxPrecursorIonCharge = mspfParameters.MaxPrecursorIonCharge; MinProductIonCharge = mspfParameters.MinProductIonCharge; MaxProductIonCharge = mspfParameters.MaxPrecursorIonCharge; PrecursorIonToleranceValue = mspfParameters.PrecursorTolerancePpm.GetValue(); ProductIonToleranceValue = mspfParameters.ProductIonTolerancePpm.GetValue(); MaxDynamicModificationsPerSequence = mspfParameters.MaxDynamicModificationsPerSequence; }
// ReSharper disable once UnusedMember.Local private void GenerateSequenceGraph() { sequenceGraph = GraphXSequenceGraph.Create( new AminoAcidSet(SearchModifications, MaxDynamicModifications), string.Empty, SearchModifications.ToList()); if (sequenceGraph == null) { return; } var graph = sequenceGraph.DataGraph; Graph = graph; SequenceGraphArea.LogicCore.Graph = graph; SequenceGraphArea.ShowAllEdgesLabels(); SequenceGraphArea.GenerateGraph(true); }