public virtual void ConvertTo(BuildSummaryOptions result) { result.ApplicationTitle = this.ApplicationTitle; result.MergeResult = this.MergeResult; result.KeepTopPeptideFromSameEngineButDifferentSearchParameters = this.MergeResultFromSameEngineButDifferentSearchParameters; result.Classification.ClassifyByCharge = this.ClassifyByCharge; result.Classification.ClassifyByMissCleavage = this.ClassifyByMissCleavage; result.Classification.ClassifyByModification = this.ClassifyByModification; result.Classification.ClassifyByNumProteaseTermini = this.ClassifyByNumProteaseTermini; result.Classification.ModifiedAminoacids = this.ModifiedAminoacids; result.Classification.ClassifyByProteinTag = this.ClassifyByProteinTag; result.Classification.ProteinTag = this.ProteinTag; result.FalseDiscoveryRate.FilterByFdr = this.FilterByFdr; result.FalseDiscoveryRate.FdrLevel = this.FdrLevel; result.FalseDiscoveryRate.FdrType = this.FdrType; result.FalseDiscoveryRate.FdrValue = this.FdrValue; result.FalseDiscoveryRate.FdrPeptideCount = this.FdrPeptideCount; result.FalseDiscoveryRate.MaxPeptideFdr = this.MaxPeptideFdr; result.FalseDiscoveryRate.TargetDecoyConflictType = this.TargetDecoyConflictType; result.Database = new DatabaseOptions(this.Database); result.PeptideFilter.FilterBySequenceLength = this.FilterBySequenceLength; result.PeptideFilter.MinSequenceLength = this.MinSequenceLength; var dics = from s in this.PathNameBin group s.Key by s.Value; result.DatasetList.Clear(); foreach (var tag in dics) { var ds = DatasetListOptions.GetDatasetOption(this.SearchEngine); ds.Name = tag.Key; ds.Parent = result; ds.PathNames = (from t in tag select t).ToList(); ds.FilterByPrecursor = this.FilterByPrecursor; ds.FilterByPrecursorIsotopic = this.FilterByPrecursorSecondIsotopic; ds.FilterByPrecursorDynamicTolerance = this.FilterByPrecursorDynamicTolerance; ds.PrecursorPPMTolerance = this.PrecursorPPMTolerance; result.DatasetList.Add(ds); } }