--- title: "On Retention Time Prediction using the `specL::ssrc` Method" author: "Christian Panse" date: "`r doc_date()`" package: "`r pkg_ver('specL')`" bibliography: - specL.bib csl: ieee.csl vignette: > %\VignetteEngine{knitr::rmarkdown} %\VignetteIndexEntry{Retention Time Prediction using the ssrc Method} %\VignetteEncoding{UTF-8} output: BiocStyle::html_document --- # Preliminaries `ssrc` (Sequence Specific Retention Calculator) is an implementation of the algorithm proposed in [@pmid15238601] to predict the Retention Time (RT) of a given peptide sequence. load libraries ```{r echo=FALSE} library(specL) library(BiocStyle) ``` an basic example from the paper ... ```{r} lapply(c("SCHTAVGR", "SCHTGLGR", "EDLIAYLK"), ssrc) ``` in the following paragraphs we will play with some R packages containing peptide sequence and RT information. define a R-helper function which derives a linear model and visualize the result ```{r} .plot.rt_ssrc <- function(x, y, ...){ fit <- lm(y~x) plot(x, y, ylab='ssrc predicted RT', xlab='RT', cex=2, asp=1, ...) abline(fit) abline(a=0, b=1, col='grey', lwd=2) legend("topleft", c(paste("spearman", round(cor(x, y, method='spearman'),2)), paste('R-squared', round(summary(fit)$r.squared,2))) ) } ``` # Example 1 - using `r Biocpkg("specL")` ```{r, fig.width=5, fig.height=5, fig.retina=3, warning=FALSE, echo = FALSE, message = FALSE} ssrc <- unlist(lapply(peptideStd, function(x){ssrc(x$peptideSequence)})) rt <- unlist(lapply(peptideStd, function(x){x$rt})) type <-as.integer(as.factor(unlist(lapply(peptideStd, function(x){x$peptideSequence})))) .plot.rt_ssrc(ssrc, rt, col=type) ``` # Example 2 - using `r Biocpkg("msqc1")` peptides ```{r} library(msqc1) ``` fetch the `r Biocpkg("msqc1")` ```{r} msqc1.8rep.aggregate <- msqc1:::.reshape_rt(msqc1_8rep, peptides=peptides, plot=FALSE) msqc1.dilution.aggregate <- msqc1:::.reshape_rt(msqc1_dil, peptides=peptides, plot=FALSE) ``` predict RT ```{r} msqc1.peptide.ssrc <- unlist(lapply(as.character(msqc1.dilution.aggregate$Peptide.Sequence), ssrc)) ``` ## 8replicate data ```{r fig.width=12, fig.height=3, fig.retina=3, echo=FALSE} op <- par(mfrow=c(1,5)) type <- as.integer(msqc1.8rep.aggregate$Peptide.Sequence) .plot.rt_ssrc(msqc1.8rep.aggregate$Retention.Time.QExactive, msqc1.peptide.ssrc, col=type, pch=type, main='QExactive') .plot.rt_ssrc(msqc1.8rep.aggregate$Retention.Time.QExactiveHF, msqc1.peptide.ssrc, col=type, pch=type, main='QExactiveHF') .plot.rt_ssrc(msqc1.8rep.aggregate$Retention.Time.QTRAP, msqc1.peptide.ssrc, col=type, pch=type, main='QTRAP') .plot.rt_ssrc(msqc1.8rep.aggregate$Retention.Time.TSQVantage, msqc1.peptide.ssrc, col=type, pch=type, main='TSQVantage') .plot.rt_ssrc(msqc1.8rep.aggregate$Retention.Time.TRIPLETOF, msqc1.peptide.ssrc, col=type, pch=type, main='TRIPLETOF') ``` ## Dilution Series data ```{r fig.width=12, fig.height=3, fig.retina=3, echo=FALSE} op <- par(mfrow=c(1,5)) type <- as.integer(msqc1.dilution.aggregate$Peptide.Sequence) .plot.rt_ssrc(msqc1.dilution.aggregate$Retention.Time.QExactive, msqc1.peptide.ssrc, col=type, pch=type, main='QExactive') .plot.rt_ssrc(msqc1.dilution.aggregate$Retention.Time.QExactiveHF, msqc1.peptide.ssrc, col=type, pch=type, main='QExactiveHF') .plot.rt_ssrc(msqc1.dilution.aggregate$Retention.Time.QTRAP, msqc1.peptide.ssrc, col=type, pch=type, main='QTRAP') .plot.rt_ssrc(msqc1.dilution.aggregate$Retention.Time.TSQVantage, msqc1.peptide.ssrc, col=type, pch=type, main='TSQVantage') .plot.rt_ssrc(msqc1.dilution.aggregate$Retention.Time.TRIPLETOF, msqc1.peptide.ssrc, col=type, pch=type, main='TRIPLETOF') ``` # Session information ```{r, cache=FALSE} sessionInfo() ``` # References