|
1 | 1 | #' Clean raw Diann files |
2 | 2 | #' @param msstats_object an object of class `MSstatsDIANNFiles`. |
3 | | -#' @param MBR True if analysis was done with match between runs |
4 | | -#' @param quantificationColumn Use 'FragmentQuantCorrected'(default) column for quantified intensities for DIANN 1.8.x. |
5 | | -#' Use 'FragmentQuantRaw' for quantified intensities for DIANN 1.9.x. |
6 | | -#' Use 'auto' for quantified intensities for DIANN 2.x where each fragment intensity is a separate column, e.g. Fr0Quantity. |
| 3 | +#' @inheritParams DIANNtoMSstatsFormat |
7 | 4 | #' @return data.table |
8 | 5 | #' @importFrom stats na.omit |
9 | 6 | #' @keywords internal |
10 | 7 | .cleanRawDIANN <- function(msstats_object, MBR = TRUE, |
11 | | - quantificationColumn = "FragmentQuantCorrected") { |
| 8 | + quantificationColumn = "FragmentQuantCorrected", |
| 9 | + global_qvalue_cutoff = 0.01, |
| 10 | + qvalue_cutoff = 0.01, |
| 11 | + pg_qvalue_cutoff = 0.01) { |
12 | 12 | dn_input <- getInputFile(msstats_object, "input") |
13 | 13 | dn_input <- data.table::as.data.table(dn_input) |
14 | 14 |
|
|
28 | 28 | dn_input <- .cleanDIANNProcessFragmentInfo(dn_input, quantificationColumn) |
29 | 29 |
|
30 | 30 | # Clean and filter data |
31 | | - dn_input <- .cleanDIANNCleanAndFilterData(dn_input, quantificationColumn) |
| 31 | + dn_input <- .cleanDIANNCleanAndFilterData(dn_input, MBR, quantificationColumn, |
| 32 | + global_qvalue_cutoff, |
| 33 | + qvalue_cutoff, |
| 34 | + pg_qvalue_cutoff) |
32 | 35 |
|
33 | 36 | # Rename columns |
34 | 37 | dn_input <- .cleanDIANNRenameColumns(dn_input, quantificationColumn) |
|
145 | 148 |
|
146 | 149 | #' Clean and filter data by removing unwanted fragments and NA values |
147 | 150 | #' @param dn_input data.table input |
148 | | -#' @param quantificationColumn quantification column name |
| 151 | +#' @inheritParams DIANNtoMSstatsFormat |
149 | 152 | #' @return cleaned data.table |
150 | 153 | #' @noRd |
151 | | -.cleanDIANNCleanAndFilterData <- function(dn_input, quantificationColumn) { |
| 154 | +.cleanDIANNCleanAndFilterData <- function(dn_input, MBR, quantificationColumn, |
| 155 | + global_qvalue_cutoff, |
| 156 | + qvalue_cutoff, |
| 157 | + pg_qvalue_cutoff) { |
152 | 158 | # Remove NH3 and H2O loss fragments & remove rows with NA in quant column |
153 | 159 | dn_input <- dn_input[!grepl("NH3|H2O", FragmentIon) & |
154 | 160 | !is.na(get(quantificationColumn))] |
155 | 161 |
|
| 162 | + msg = paste0('** Filtering on Q.Value < ', global_qvalue_cutoff) |
| 163 | + getOption("MSstatsLog")("INFO", msg) |
| 164 | + getOption("MSstatsMsg")("INFO", msg) |
| 165 | + |
| 166 | + dn_input = dn_input[QValue < global_qvalue_cutoff, ] |
| 167 | + if (MBR) { |
| 168 | + msg = '** MBR was used to analyze the data. Now setting names and filtering' |
| 169 | + msg_1_mbr = paste0('-- LibPGQValue < ', pg_qvalue_cutoff) |
| 170 | + msg_2_mbr = paste0('-- LibQValue < ', qvalue_cutoff) |
| 171 | + dn_input = dn_input[LibPGQValue < pg_qvalue_cutoff, ] |
| 172 | + dn_input = dn_input[LibQValue < qvalue_cutoff, ] |
| 173 | + getOption("MSstatsLog")("INFO", msg) |
| 174 | + getOption("MSstatsMsg")("INFO", msg) |
| 175 | + getOption("MSstatsLog")("INFO", msg_1_mbr) |
| 176 | + getOption("MSstatsMsg")("INFO", msg_1_mbr) |
| 177 | + getOption("MSstatsLog")("INFO", msg_2_mbr) |
| 178 | + getOption("MSstatsMsg")("INFO", msg_2_mbr) |
| 179 | + # getOption("MSstatsLog")("INFO", "\n") |
| 180 | + } else{ |
| 181 | + msg = '** MBR was not used to analyze the data. Now setting names and filtering' |
| 182 | + msg_1 = paste0('-- Filtering on GlobalPGQValue < ', pg_qvalue_cutoff) |
| 183 | + msg_2 = paste0('-- Filtering on GlobalQValue < ', qvalue_cutoff) |
| 184 | + dn_input = dn_input[GlobalPGQValue < pg_qvalue_cutoff, ] |
| 185 | + dn_input = dn_input[GlobalQValue < qvalue_cutoff, ] |
| 186 | + getOption("MSstatsLog")("INFO", msg) |
| 187 | + getOption("MSstatsMsg")("INFO", msg) |
| 188 | + getOption("MSstatsLog")("INFO", msg_1) |
| 189 | + getOption("MSstatsMsg")("INFO", msg_1) |
| 190 | + getOption("MSstatsLog")("INFO", msg_2) |
| 191 | + getOption("MSstatsMsg")("INFO", msg_2) |
| 192 | + # getOption("MSstatsLog")("INFO", "\n") |
| 193 | + } |
| 194 | + |
156 | 195 | return(dn_input) |
157 | 196 | } |
158 | 197 |
|
|
0 commit comments