diff --git a/R/converters.R b/R/converters.R index 66b5874..5f06062 100644 --- a/R/converters.R +++ b/R/converters.R @@ -640,8 +640,6 @@ MaxQtoMSstatsPTMFormat = function(evidence=NULL, keep = 1)] } - MSstatsPTMformat = list('PTM' = msstatsptm_input) - if (!is.null(evidence_prot)){ annotation_protein = as.data.table(annotation_protein) @@ -657,9 +655,10 @@ MaxQtoMSstatsPTMFormat = function(evidence=NULL, proteinID = which_proteinid_protein) } + msstatsptm_input = msstatsptm_input[grepl(mod_id, msstatsptm_input$PeptideSequence),] MSstatsPTMformat = list('PTM' = msstatsptm_input, "PROTEIN" = msstats.abun) - + return(MSstatsPTMformat) } if (use_unmod_peptides){ @@ -668,6 +667,9 @@ MaxQtoMSstatsPTMFormat = function(evidence=NULL, MSstatsPTMformat = list(PTM = msstatsptm_input, PROTEIN = msstats.abun) + } else { + msstatsptm_input = msstatsptm_input[grepl(mod_id, msstatsptm_input$PeptideSequence),] + MSstatsPTMformat = list('PTM' = msstatsptm_input) } return(MSstatsPTMformat) diff --git a/inst/tinytest/test_converters.R b/inst/tinytest/test_converters.R index d30af05..6fb9d23 100644 --- a/inst/tinytest/test_converters.R +++ b/inst/tinytest/test_converters.R @@ -5,9 +5,15 @@ #' @author Anthony Wu #' #' @param msstats_ptm_input A list containing PTM and PROTEIN data tables -.validatePositiveNumberOfRows = function(msstats_ptm_input) { +#' @param global_profiling Default TRUE indicates msstats_ptm_input should have +#' the PROTEIN element +.validatePositiveNumberOfRows = function(msstats_ptm_input, global_profiling = TRUE) { expect_true(nrow(msstats_ptm_input$PTM) > 0) - expect_true(nrow(msstats_ptm_input$PROTEIN) > 0) + if (global_profiling) { + expect_true(nrow(msstats_ptm_input$PROTEIN) > 0) + } else { + expect_true(is.null(msstats_ptm_input$PROTEIN)) + } } #' Validate protein ID count in converter output @@ -35,7 +41,7 @@ ) } -## MaxQ TMT +## MaxQ TMT useUnmodPeptides = TRUE data("maxq_tmt_evidence", package = "MSstatsPTM") data("maxq_tmt_annotation", package = "MSstatsPTM") @@ -84,12 +90,26 @@ mq_imported = MaxQtoMSstatsPTMFormat(evidence=maxq_tmt_evidence, .validateProteinId(mq_imported$PTM, "P29966_T150", 70) .validateProteinId(mq_imported$PTM, "P29966_T143_S145", 10) .validatePtmSubstring( - mq_imported$PTM, "Phospho \\(STY\\)", - length(mq_imported$PTM$PeptideSequence)) + mq_imported$PTM, "Phospho \\(STY\\)", + length(mq_imported$PTM$PeptideSequence)) .validatePtmSubstring( - mq_imported$PROTEIN, "Phospho \\(STY\\)", 0) + mq_imported$PROTEIN, "Phospho \\(STY\\)", 0) + +## MaxQ TMT useUnmodPeptides = FALSE +mq_imported = MaxQtoMSstatsPTMFormat(evidence=maxq_tmt_evidence, + annotation=maxq_tmt_annotation, + fasta=system.file("extdata", "maxq_tmt_fasta.fasta", package="MSstatsPTM"), + fasta_protein_name="uniprot_ac", + use_unmod_peptides=FALSE, + labeling_type = "TMT") +.validatePositiveNumberOfRows(mq_imported, global_profiling = FALSE) +.validateProteinId(mq_imported$PTM, "P29966_T150", 70) +.validateProteinId(mq_imported$PTM, "P29966_T143_S145", 10) +.validatePtmSubstring( + mq_imported$PTM, "Phospho \\(STY\\)", + length(mq_imported$PTM$PeptideSequence)) -## MaxQ LF +## MaxQ LF useUnmodPeptides = TRUE data("maxq_lf_evidence", package = "MSstatsPTM") data("maxq_lf_annotation", package = "MSstatsPTM") @@ -155,6 +175,22 @@ mq_imported = MaxQtoMSstatsPTMFormat(evidence=maxq_lf_evidence, .validatePtmSubstring( mq_imported$PROTEIN, "Phospho \\(STY\\)", 0) +## MaxQ LF useUnmodPeptides = FALSE +mq_imported = MaxQtoMSstatsPTMFormat(evidence=maxq_lf_evidence, + annotation=maxq_lf_annotation, + fasta=system.file("extdata", "maxq_lf_fasta.fasta", package="MSstatsPTM"), + fasta_protein_name="uniprot_ac", + mod_id="\\(Phospho \\(STY\\)\\)", + use_unmod_peptides=FALSE, + labeling_type = "LF", + which_proteinid_ptm = "Proteins") +.validatePositiveNumberOfRows(mq_imported, global_profiling = FALSE) +.validateProteinId(mq_imported$PTM, "P36578_S295", 66) +.validateProteinId(mq_imported$PTM, "Q13523_S431_S437", 33) +.validatePtmSubstring( + mq_imported$PTM, "Phospho \\(STY\\)", + length(mq_imported$PTM$PeptideSequence)) + ## Spectronaut data("spectronaut_input", package = "MSstatsPTM") data("spectronaut_annotation", package = "MSstatsPTM")