Example #1
0
        public static ISpectraFilter CreateFilter(SpectraFilters filterType)
        {
            ISpectraFilter filter = null;

            switch (filterType)
            {
            case SpectraFilters.RawThreshold:
                filter = new ThresholdSpectralFilter();
                break;

            case SpectraFilters.TopPercent:
                filter = new TopPercentSpectralFilter();
                break;

            default:
                break;
            }
            return(filter);
        }
Example #2
0
        public void TestSpectralSimilarityScore(
            string pathX, int scanX,
            string pathY, int scanY,
            SpectralComparison comparerType,
            SpectraFilters filterType,
            double percent,
            double mzTolerance)
        {
            // Convert relative paths to absolute paths
            pathX = GetPath(pathX);
            pathY = GetPath(pathY);

            var spectrumX = GetSpectrum(pathX, scanX);
            var spectrumY = GetSpectrum(pathY, scanY);
            var comparer  = SpectralComparerFactory.CreateSpectraComparer(comparerType, percent);

            var filter = SpectrumFilterFactory.CreateFilter(filterType);

            spectrumX.Peaks = filter.Threshold(spectrumX.Peaks, percent);
            spectrumY.Peaks = filter.Threshold(spectrumY.Peaks, percent);

            spectrumX.Peaks = XYData.Bin(spectrumX.Peaks,
                                         0,
                                         2000,
                                         mzTolerance);

            spectrumY.Peaks = XYData.Bin(spectrumY.Peaks,
                                         0,
                                         2000,
                                         mzTolerance);

            var value = comparer.CompareSpectra(spectrumX, spectrumY);

            var path      = Path.GetDirectoryName(pathX);
            var plotTitle = string.Format("comparison-{2}-{3}-{0}-{1}_{4:0.000}", scanX, scanY, comparerType, percent,
                                          value);
            var pathCompareImage = Path.Combine(path, plotTitle + ".png");

            DisplayComparisonPlot(spectrumX, spectrumY, mzTolerance, pathCompareImage, plotTitle);
        }
        public void TestSpectralSimilarityScore(
            string pathX, int scanX,
            string pathY, int scanY,
            SpectralComparison comparerType,
            SpectraFilters filterType,
            double percent,
            double mzTolerance)
        {
            // Convert relative paths to absolute paths
            pathX = GetPath(pathX);
            pathY = GetPath(pathY);

            var spectrumX = GetSpectrum(pathX, scanX);
            var spectrumY = GetSpectrum(pathY, scanY);
            var comparer = SpectralComparerFactory.CreateSpectraComparer(comparerType, percent);

            var filter = SpectrumFilterFactory.CreateFilter(filterType);
            spectrumX.Peaks = filter.Threshold(spectrumX.Peaks, percent);
            spectrumY.Peaks = filter.Threshold(spectrumY.Peaks, percent);

            spectrumX.Peaks = XYData.Bin(spectrumX.Peaks,
                0,
                2000,
                mzTolerance);

            spectrumY.Peaks = XYData.Bin(spectrumY.Peaks,
                0,
                2000,
                mzTolerance);

            var value = comparer.CompareSpectra(spectrumX, spectrumY);

            var path = Path.GetDirectoryName(pathX);
            var plotTitle = string.Format("comparison-{2}-{3}-{0}-{1}_{4:0.000}", scanX, scanY, comparerType, percent,
                value);
            var pathCompareImage = Path.Combine(path, plotTitle + ".png");

            DisplayComparisonPlot(spectrumX, spectrumY, mzTolerance, pathCompareImage, plotTitle);
        }