This vignette serves as application example for analyzing inter-software differences with flowTraceR. Here, the focus is on retention time (RT). Note that this can be easily changed to other characteristics such as intensity, charge state etc. or can be expanded to other metadata e.g. quantitative and retention time precision.
library(flowTraceR)
library(magrittr)
library(dplyr)
library(tidyr)
library(stringr)
library(tibble)
library(ggplot2)
Use the provided example data or import your own data.
# Get example data
<- flowTraceR::get_example("RetentionTime")[["DIA-NN"]]
diann <- flowTraceR::get_example("RetentionTime")[["Spectronaut"]] spectronaut
For converting precursor, modified peptide and proteingroup level at once use convert_all_levels()
.
# Convert all levels
<- flowTraceR::convert_all_levels(input_df = diann, software = "DIA-NN")
diann_all_converted <- flowTraceR::convert_all_levels(input_df = spectronaut, software = "Spectronaut") spectronaut_all_converted
Without conversion to a standardized format no distinction between common and unique precursor identifications can be made and thus no inter-software comparisons for characteristics such as retention time is possible.
#Example - DIA-NN output
#Get common entries based on software-specific entries
<- dplyr::semi_join(
diann_common
diann_all_converted,
spectronaut_all_converted,by = c("Precursor.Id" = "EG.PrecursorId"))
#Get unique entries based on software-specific entries
<- dplyr::anti_join(
diann_unique
diann_all_converted,
spectronaut_all_converted,by = c("Precursor.Id" = "EG.PrecursorId"))
#Connect
<- dplyr::bind_rows(
diann_all common = diann_common,
unique = diann_unique,
.id = "characteristic")
#Plot
#no common entries detected!
::ggplot(diann_all, aes(x = RT, color = characteristic)) +
ggplot2geom_density() +
scale_x_continuous(limits = c(0,115))
#Example - DIA-NN output
#Get common entries based on flowTraceR´s entries
<- dplyr::semi_join(
diann_common_traceR
diann_all_converted,
spectronaut_all_converted,by = c("traceR_precursor"))
#Get unique entries based on flowTraceR´s entries
<- dplyr::anti_join(
diann_unique_traceR
diann_all_converted,
spectronaut_all_converted,by = c("traceR_precursor"))
#Connect
<- dplyr::bind_rows(
diann_traceR common = diann_common_traceR,
unique = diann_unique_traceR,
.id = "characteristic")
#Plot
::ggplot(diann_traceR, aes(x = RT, color = characteristic)) +
ggplot2geom_density() +
scale_x_continuous(limits = c(0,115))
The inter-software comparison with flowTraceR shows high similarity between the RT of common precursor.
#Spectronaut - common entries
<- dplyr::semi_join(
spectronaut_common_traceR
spectronaut_all_converted,
diann_all_converted,by = c("traceR_precursor")) %>%
::rename(RT = EG.ApexRT)
dplyr
#Common combined
<- dplyr::bind_rows(
RT_common "DIA-NN" = diann_common_traceR[,"RT"],
Spectronaut = spectronaut_common_traceR[, "RT"],
.id = "Software")
#Plot
::ggplot(RT_common, aes(x = RT, color = Software)) +
ggplot2geom_density() +
scale_x_continuous(limits = c(0,115))
#Spectronaut unique entries
<- dplyr::anti_join(
spectronaut_unique_traceR
spectronaut_all_converted,
diann_all_converted,by = c("traceR_precursor")) %>%
::rename(RT = EG.ApexRT)
dplyr
#Unique entries combined
<- dplyr::bind_rows(
RT_unique "DIA-NN" = diann_unique_traceR[,"RT"],
Spectronaut = spectronaut_unique_traceR[, "RT"],
.id = "Software"
)
#Plot
::ggplot(RT_unique, aes(x = RT, color = Software)) +
ggplot2geom_density() +
scale_x_continuous(limits = c(0,115))