Skip to content

Commit 068c867

Browse files
committed
modified DIMS/preprocessing/peak_finding_functions.R for regions with more than 1 peak
1 parent e3f16cb commit 068c867

1 file changed

Lines changed: 7 additions & 15 deletions

File tree

DIMS/preprocessing/peak_finding_functions.R

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,18 @@ search_regions_of_interest <- function(ints_fullrange) {
2828
if (regions_of_interest_gte3[roi_nr, "length"] > 11) {
2929
roi <- ints_fullrange[(regions_of_interest_gte3[roi_nr, "from"]:regions_of_interest_gte3[roi_nr, "to"]), ]
3030
roi_intrange <- as.numeric(roi$int)
31+
roi_firstindex <- as.numeric(rownames(roi)[1])
3132
# look for local minima that separate the peaks
3233
local_min_positions <- which(diff(sign(diff(roi_intrange))) == 2) + 1
3334
if (length(local_min_positions) > 0) {
3435
remove_roi_index <- c(remove_roi_index, roi_nr)
3536
# find new indices for rois after splitting
36-
start_pos <- regions_of_interest_gte3[roi_nr, "from"]
37-
new_rois <- data.frame(from = 0, to = 0, length = 0)
38-
new_rois_splitroi <- regions_of_interest_gte3[0, ]
39-
for (local_min_index in 1:length(local_min_positions)) {
40-
new_rois[, 1] <- start_pos
41-
new_rois[, 2] <- start_pos + local_min_positions[local_min_index]
42-
new_rois[, 3] <- new_rois[, 2] - new_rois[, 1] + 1
43-
new_rois_splitroi <- rbind(new_rois_splitroi, new_rois)
44-
start_pos <- new_rois[, 2]
45-
}
46-
# intensities after last local minimum
47-
new_rois[, 1] <- start_pos
48-
new_rois[, 2] <- regions_of_interest_gte3[roi_nr, "to"]
49-
new_rois[, 3] <- new_rois[, 2] - new_rois[, 1] + 1
50-
new_rois_splitroi <- rbind(new_rois_splitroi, new_rois)
37+
new_rois_splitroi <- as.data.frame(matrix(0, ncol = 3, nrow = (length(local_min_positions) + 1)))
38+
colnames(new_rois_splitroi) <- colnames(regions_of_interest_gte3)
39+
# fill new rois matrix; from in column 1, to in column 2 and length in column 3
40+
new_rois_splitroi[, 1] <- c(roi_firstindex, roi_firstindex + local_min_positions)
41+
new_rois_splitroi[, 2] <- c(roi_firstindex + local_min_positions, roi_firstindex + length(roi_intrange))
42+
new_rois_splitroi[, 3] <- new_rois_splitroi[, 2] - new_rois_splitroi[, 1]
5143
# append
5244
new_rois_all <- rbind(new_rois_all, new_rois_splitroi)
5345
} else {

0 commit comments

Comments
 (0)