From 16c97517d1b70fbdfa2075cc1855f16a7ad1d602 Mon Sep 17 00:00:00 2001 From: SteffenHeu Date: Tue, 2 Jul 2024 10:54:11 +0200 Subject: [PATCH 1/3] display adduct type --- .../MinimumSearchFeatureResolver.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java index 9ff6b5e6e60..9f61bac7309 100644 --- a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java +++ b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2022 The MZmine Development Team + * Copyright (c) 2004-2024 The MZmine Development Team * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -146,7 +146,21 @@ public List> resolve(double[] x, double[] y) { && currentRegionHeight >= peakMinRight * minRatio && xRange .contains(x[currentRegionEnd] - x[currentRegionStart])) { - resolved.add(Range.closed(x[currentRegionStart], x[currentRegionEnd])); + int start; + if(y[currentRegionStart] != 0.0 && y[Math.max(currentRegionStart - 1, 0)] == 0.0) { + start = currentRegionStart - 1; + } else { + start = currentRegionStart; + } + + int end; + if(y[currentRegionEnd] != 0.0 && y[Math.min(currentRegionEnd + 1, y.length - 1)] == 0.0) { + end = currentRegionEnd + 1; + } else { + end = currentRegionEnd; + } + + resolved.add(Range.closed(x[start], x[end])); } // Set the next region start to current region end - 1 From 1cde9e05b5f670f03ef87a213acdab896e8aa520 Mon Sep 17 00:00:00 2001 From: SteffenHeu Date: Mon, 29 Jul 2024 14:26:54 +0200 Subject: [PATCH 2/3] int compare --- .../minimumsearch/MinimumSearchFeatureResolver.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java index 9f61bac7309..456df79d7b1 100644 --- a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java +++ b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2024 The MZmine Development Team + * Copyright (c) 2004-2024 The mzmine Development Team * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -147,14 +147,14 @@ public List> resolve(double[] x, double[] y) { .contains(x[currentRegionEnd] - x[currentRegionStart])) { int start; - if(y[currentRegionStart] != 0.0 && y[Math.max(currentRegionStart - 1, 0)] == 0.0) { + if(y[currentRegionStart] != 0 && y[Math.max(currentRegionStart - 1, 0)] == 0.0) { start = currentRegionStart - 1; } else { start = currentRegionStart; } int end; - if(y[currentRegionEnd] != 0.0 && y[Math.min(currentRegionEnd + 1, y.length - 1)] == 0.0) { + if(y[currentRegionEnd] != 0 && y[Math.min(currentRegionEnd + 1, y.length - 1)] == 0.0) { end = currentRegionEnd + 1; } else { end = currentRegionEnd; From ec0dd8e28fe7815676f005c3e6a4fc828a5c1b27 Mon Sep 17 00:00:00 2001 From: SteffenHeu Date: Mon, 29 Jul 2024 16:50:46 +0200 Subject: [PATCH 3/3] add comment --- .../MinimumSearchFeatureResolver.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java index 456df79d7b1..b39ae2b4daf 100644 --- a/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java +++ b/mzmine-community/src/main/java/io/github/mzmine/modules/dataprocessing/featdet_chromatogramdeconvolution/minimumsearch/MinimumSearchFeatureResolver.java @@ -143,18 +143,22 @@ public List> resolve(double[] x, double[] y) { // Check the shape of the peak. if (numberOfDataPoints >= minDataPoints && currentRegionHeight >= minHeight && currentRegionHeight >= peakMinLeft * minRatio - && currentRegionHeight >= peakMinRight * minRatio && xRange - .contains(x[currentRegionEnd] - x[currentRegionStart])) { + && currentRegionHeight >= peakMinRight * minRatio && xRange.contains( + x[currentRegionEnd] - x[currentRegionStart])) { + // adjust start and end points of signals to produce better peak shapes + // (e.g. include 0 intensity points on the edges.), as start and end points of this + // resolver will never be 0. int start; - if(y[currentRegionStart] != 0 && y[Math.max(currentRegionStart - 1, 0)] == 0.0) { + if (y[currentRegionStart] != 0 && y[Math.max(currentRegionStart - 1, 0)] == 0.0) { start = currentRegionStart - 1; } else { start = currentRegionStart; } int end; - if(y[currentRegionEnd] != 0 && y[Math.min(currentRegionEnd + 1, y.length - 1)] == 0.0) { + if (y[currentRegionEnd] != 0 + && y[Math.min(currentRegionEnd + 1, y.length - 1)] == 0.0) { end = currentRegionEnd + 1; } else { end = currentRegionEnd; @@ -217,8 +221,8 @@ public List> resolve(double[] x, double[] y) { // Check the shape of the peak. if (numberOfDataPoints >= minDataPoints && currentRegionHeight >= minHeight && currentRegionHeight >= peakMinLeft * minRatio - && currentRegionHeight >= peakMinRight * minRatio && xRange - .contains(x[currentRegionEnd] - x[currentRegionStart])) { + && currentRegionHeight >= peakMinRight * minRatio && xRange.contains( + x[currentRegionEnd] - x[currentRegionStart])) { resolved.add(Range.closed(x[currentRegionStart], x[currentRegionEnd])); }