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); } }
public void Test() { var options = new DatasetListOptions(); options.Add(new MascotDatasetOptions() { PathNames = new string[] { "111", "222" }.ToList(), FilterByPrecursor = true, PrecursorPPMTolerance = 0.5, FilterByExpectValue = true, FilterByScore = true, MinScore = 25, MaxExpectValue = 0.01 }); options.Add(new SequestDatasetOptions() { MinDeltaCn = 0.1, FilterByDeltaCn = true, FilterByPrecursor = true, FilterBySpRank = true, FilterByXcorr = true, PathNames = new string[] { "333", "444" }.ToList(), PrecursorPPMTolerance = 0.5, MaxSpRank = 4, MinXcorr1 = 1.9, MinXcorr2 = 2.2, MinXcorr3 = 3.75, SkipSamePeptideButDifferentModificationSite = true, MaxModificationDeltaCn = 0.08 }); XElement root = new XElement("Root"); options.Save(root); Console.WriteLine(root); var target = new DatasetListOptions(); target.Load(root); Assert.AreEqual(options[0].SearchEngine, target[0].SearchEngine); Assert.AreEqual(options[1].SearchEngine, target[1].SearchEngine); }