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);
        }