public void test1(string settingsFileName) { var methodName = MethodBase.GetCurrentMethod().Name; var deconToolsParamFile = Test.GetTestFile(methodName, settingsFileName); Console.WriteLine("Reading " + deconToolsParamFile.FullName); var loader = new DeconToolsFilterLoader(deconToolsParamFile.FullName); loader.DisplayFilters(); var testFeature1 = new MSFeature { Abundance = 16117, DriftTime = 20.584f, Fit = 0.0264f, Fwhm = 0.0689f, InterferenceScore = 0, MassMonoisotopic = 2902.229, Mz = 726.5646, ScanIMS = 126, ScanLC = 384, Charge = 4 }; var isValid = DeconToolsFilterUtil.IsValidMSFeature(testFeature1, loader.DeconToolsFilterList); Assert.IsTrue(isValid); //384,126,4,16117,726.5646,0.0264,2904.08709,2902.229,2903.23217,0.0689,55.2,9527,14254,0,0,20.584,,0 }
private bool PassesFilters(MSFeature msFeature) { if (ColumnMap.ContainsKey("MSFeature.Frame")) { if (msFeature.ScanLC < Settings.ScanLCMin || msFeature.ScanLC > Settings.ScanLCMax) { return(false); } } if (ColumnMap.ContainsKey("MSFeature.ScanIMS")) { if (msFeature.ScanIMS < Settings.ScanIMSMin || msFeature.ScanIMS > Settings.ScanIMSMax) { return(false); } } if (ColumnMap.ContainsKey("MSFeature.MassMonoisotopic")) { if (msFeature.MassMonoisotopic < Settings.MassMonoisotopicStart || msFeature.MassMonoisotopic > Settings.MassMonoisotopicEnd) { return(false); } } if (ColumnMap.ContainsKey("MSFeature.ErrorFlag")) { if (msFeature.ErrorFlag == 1) { return(false); } } var deconToolsFilterTableIsBeingUsed = (Settings.FilterUsingHardCodedFilters && Settings.DeconToolsFilterList != null && Settings.DeconToolsFilterList.Count > 0); if (deconToolsFilterTableIsBeingUsed) { if (!DeconToolsFilterUtil.IsValidMSFeature(msFeature, Settings.DeconToolsFilterList)) { return(false); } } else { if (ColumnMap.ContainsKey("MSFeature.Fit")) { if (msFeature.Fit > Settings.FitMax) { return(false); } } if (ColumnMap.ContainsKey("MSFeature.InterferenceScore")) { if (msFeature.InterferenceScore > Settings.InterferenceScoreMax) { return(false); } } if (ColumnMap.ContainsKey("MSFeature.Abundance")) { if (msFeature.Abundance < Settings.IntensityMin) { return(false); } } } return(true); }