neighborful_algorithm: Neighborful Algorithm

Description Usage Arguments Details Value Examples

Description

Neighborful algorithm is used to detect pinning errors from other types of data in an array of yeast colonies grown on a plate. The other types of data may be empty spots, locations where yeast colonies have growth area less than or greater than the given plate median threshold. All variations of neighborful algorithms A-H are implemented here. The differences between these variations of neighborful algorithm are based on

Usage

1
2
3
neighborful_algorithm(plateformat, colony_area_raw_data, empty_indices = NULL,
  excluded_colonies = NULL, percent_median_thresh, param1_threshold,
  param2_threshold, is_save = FALSE, excluded_file = NULL)

Arguments

plateformat

An integer which can be one of 96 or 384 or 1536

colony_area_raw_data

A numeric vector of raw data representing the area yeast grown at a specific location on a nutrient medium agar plate. This data must be arranged columnwise. See simulated_data_1536(data_384= colonyarea$data_subtypes, in_data_flow = "down", out_data_flow = "down", is_plate_coords = TRUE). If the data is arranged rowwise, then use convert_down_across() function to convert rowwise data into columnwise data. For more information on this function, read help("convert_down_across").

empty_indices

A numeric vector of indexed empty locations. It can also be the indices of control colonies grown on a plate, which may be used for normalizing the colony area of a plate

excluded_colonies

A numeric vector of indices that are part of excluded colonies

percent_median_thresh

The integer representing the percentage used to compute the threshold value of plate median of colony area

param1_threshold

The numerical value which can be one from 1:8. This exclusion criteria-1 of neighborful algorithm represents the number of adjoining neighbors of the selected colony from colony_indices that has colony area less than or equal to plate_median_threshold. If the selected colony is surrounded by at least param1_threshold neighbors, then it will be considered as excluded colony by the neighborful algorithm

param2_threshold

The numerical value which can be one from 1:8. This exclusion criteria-2 of neighborful algorithm represents the number of adjoing neighbors of the selected colony from colony_indices are excluded by the previous iteration of neighborful algorithm. If the selected colony is surrounded by at least param2_threshold neighbors, then it will be considered as excluded colony by the neighborful algorithm.

is_save

logical. If TRUE, then this function will save the list of excluded colonies obtained from all variations of neighborful algorithm as .RDS format in the specified excluded_file

excluded_file

If is_save is TRUE, then the file name with full path for saving the list of excluded colonies must be specified

Details

Two exclusion criteria are used to consider a colony as excluded colony. The two parameters used in the global exclusion algorithm of Dittmar et al., 2010 are "If at least six out of eight neighboring colonies fall below 25 the plate growth median (parameter 1) or at least two neighboring colonies have already been excluded (parameter 2), the program highlights the colony in red for exclusion". In addition, the excluded colony must have colony area less than the defined plate median threshold.

The exclusion criteria-1 of neighborful algorithm represents the number of adjoining neighbors of the selected colony that have colony area less than or equal to threshold value of median colony area of the plate. The threshold value of median colony growth area of the plate is determined as 25% of plate median, which is an arbitrary number used in the literature. The exclusion criteria-1 can take one of any value of 1:8, because of the possible adjoining neighbors for a selected colony will fall in this range. If the selected colony is surrounded by at least specified number of threshold neighbors, then it will be considered as excluded colony by the neighborful algorithm

The exclusion criteria-2 of neighborful algorithm represents the number of adjoining neighbors of the selected colony are excluded by the previous iteration of the neighborful algorithm by using either or both exclusion criteria 1 & 2. The exclusion criteria-2 can take one of any value of 1:8, because of the possible adjoining neighbors for a selected colony will fall in this range. If the selected colony is surrounded by at least specified number of threshold neighbors, then it will be considered as excluded colony by the neighborful algorithm

Usually, an experiment may have empty locations where no yeast cells are grown and these locations are called as indexed empty spots. These locations can also have control yeast strains used for normalization of all colonies in that plate. Since pinning error and empty spots have zero growth area, the influence of including or excluding empty spots on the sensivity, specificity, and predictive values of the algorithm for detecting pinning errors may be studied by adding or removing the known empty spots in the outer or inner loops of the algorithm. The outer loop of the algorithm is used to iterate over the list of colonies of a plate. The inner loop of the algorithm is used to iterate over all possible combinations of adjoining neighbors of the selected colony from the outer loop of the algorithm. Then either or both exclusion criteria 1 or 2 are applied for the selected colony and its adjoining neighbors.

The differences in the variations of neighborful algorithm are tabulated below.

[, Variation] Selected colony as known empty spot in outer loop Adjoing neighbor(s) of the selected colony as known empty spot in inner loop Exclusion criteria applied
[, A] Do not remove Remove 1 & 2
[, B] Do not remove Do not remove 1 & 2
[, C] Do not remove Do not remove 1
[, D] Do not remove Remove 1
[, E] Remove Remove 1 & 2
[, F] Remove Do not remove 1 & 2
[, G] Remove Do not remove 1
[, H] Remove Remove 1

References: 1. ScreenMill: A freely available software suite for growth measurement, analysis and visualization of high-throughput screen data John C Dittmar, Robert JD Reid and Rodney Rothstein Bioinformatics 2010 11:353 DOI: 10.1186/1471-2105-11-353

Value

Invisible named list of excluded colonies from all variations A-H of neighborful algorithm for the given exclusion criteria 1 or 2.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
plateformat <- 1536
data_area <- simulated_data_1536(data_384 = colonyarea$data_subtypes,
                                 in_data_flow = "across",
                                 out_data_flow = "down",
                                 is_plate_coords = TRUE)
empty_indices <- which(convert_small_to_large(plate_from = 384,
                                              plate_to = 1536,
                                              data_from = colonyarea$data_subtypes,
                                              in_data_flow = 'across',
                                              out_data_flow = "down",
                                              is_plate_coords = FALSE)$y %in% 'Empty')
(neighborful_algorithm(plateformat           = 1536,
                       colony_area_raw_data  = data_area$y,
                       empty_indices         = empty_indices,
                       excluded_colonies     = c(),
                       percent_median_thresh = 25,
                       param1_thresh         = 6,
                       param2_thresh         = 2,
                       is_save               = FALSE,
                       excluded_file         = NULL))

sathishsrinivasank/pinerrordetector documentation built on May 7, 2019, 2:55 a.m.