5 | | 2. Java file `Center.java` in `Center/src/center/` will be updated to implement the new functionality:[[BR]][[BR]]a. New private instance variable `List<Integer> singleCenterGroupAssayIndexList` added. It is used to store index values for assays to use for centering. If its value is `null`, a single assay group is not used for centering.[[BR]]b. New private instance variable `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap` added. It is used to store index values for assays in different groups. It its value is `null`, separate centering of assays in different groups is not used.[[BR]]c. New private instance variable `boolean debug` is added. It indicates if extra files with debug information should be stored with the data.[[BR]]d. Public method `void extractSettings(BASEFileSection section)` updated to read new input parameter values, and transfer them to instance variables.[[BR]]e. Public method `void extractAssays(BASEFileSection section, BASEFileReader reader)` updated to find index values for assays in various groups, if special grouping is used.[[BR]]f. Public method `void extractSpots(BASEFileSection section, BASEFileReader reader)` updated to set index values for assays in various groups, if default grouping is used.[[BR]]g. Public method `void center()` updated to call new private methods `void centerRowsForGroupsSeparately(List<AssayRow> data_arr)` or `void centerColumnsForGroupsSeparately(List<AssayRow> data_arr)`, if separate centering of assays in different groups should be performed, otherwise private methods `void centerRows(List<AssayRow> data_arr)` or `void centerColumns(List<AssayRow> data_arr)` are called.[[BR]]h. Private method ` void centerRows(List<AssayRow> data_arr)` updated to restrict the data used for normalization to assays with indices in `singleCenterGroupAssayIndexList`, if the latter differs from `null`[[BR]]i. New private method `void centerRowsForGroupsSeparately(List<AssayRow> data_arr)` added. It centers rows (genes) for groups separately, based on the grouping in `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap`.[[BR]]j. Private method `centerColumns(List<AssayRow> data_arr)` updated to restrict the data used for normalization to assays with indices in `singleCenterGroupAssayIndexList`, if the latter differs from `null`.[[BR]]k. New private method `void centerColumnsForGroupsSeparately(List<AssayRow> data_arr)` added. It centers columns (assays) for groups separately, based on the grouping in `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap`.[[BR]]l. New private inner class `enum CenteringGroups` added. It is used to manage the alternatives for assay groups, divided into `DEFAULT(1)`, `ASSAYGROUPSINGLE(2)`, and `ASSAYGROUPS(3)`. |
| 5 | 2. Java file `Center.java` in `Center/src/center/` will be updated to implement the new functionality:[[BR]][[BR]]a. New private instance variable `List<Integer> singleCenterGroupAssayIndexList` added. It is used to store index values for assays to use for centering. If its value is `null`, a single assay group is not used for centering.[[BR]]b. New private instance variable `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap` added. It is used to store index values for assays in different groups. It its value is `null`, separate centering of assays in different groups is not used.[[BR]]c. New private instance variable `boolean debug` is added. It indicates if extra files with debug information should be stored with the data.[[BR]]d. Public method `void extractSettings(BASEFileSection section)` updated to read new input parameter values, and transfer them to instance variables.[[BR]]e. Public method `void extractAssays(BASEFileSection section, BASEFileReader reader)` updated to find index values for assays in various groups, if special grouping is used.[[BR]]f. Public method `void extractSpots(BASEFileSection section, BASEFileReader reader)` updated to set index values for assays in various groups, if default grouping is used.[[BR]]g. Public method `void center()` updated to call new private methods `void centerRowsForGroupsSeparately(List<AssayRow> data_arr)` or `void centerColumnsForGroupsSeparately(List<AssayRow> data_arr)`, if separate centering of assays in different groups should be performed, otherwise private methods `void centerRows(List<AssayRow> data_arr)` or `void centerColumns(List<AssayRow> data_arr)` are called.[[BR]]h. Private method ` void centerRows(List<AssayRow> data_arr)` updated to restrict the data used for normalization to assays with indices in `singleCenterGroupAssayIndexList`, if the latter differs from `null`.[[BR]]i. New private method `void centerRowsForGroupsSeparately(List<AssayRow> data_arr)` added. It centers rows (genes) for groups separately, based on the grouping in `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap`.[[BR]]j. Private method `centerColumns(List<AssayRow> data_arr)` updated to restrict the data used for normalization to assays with indices in `singleCenterGroupAssayIndexList`, if the latter differs from `null`.[[BR]]k. New private method `void centerColumnsForGroupsSeparately(List<AssayRow> data_arr)` added. It centers columns (assays) for groups separately, based on the grouping in `HashMap<Integer,List<Integer>> centerGroupsAssayIndexHashMap`.[[BR]]l. New private inner class `enum CenteringGroups` added. It is used to manage the alternatives for assay groups, divided into `DEFAULT(1)`, `ASSAYGROUPSINGLE(2)`, and `ASSAYGROUPS(3)`. |