@@ -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