Perseus R Interop

Enables the interoperability between the Perseus platform for omics data analysis (Tyanova et al. 2016) and R. It provides the foundation for developing and running Perseus plugins implemented in R by providing all required input and output handling, including data and parameter parsing as described in Rudolph and Cox 2018 .


Travis-CI Build Status CRAN_Status_Badge

Convenience functions for interop between Perseus and R.

Designed to work with the PluginInterop plugin for the Perseus framework.

Citation

If you use PerseusR in your projects, please cite

Rudolph, J D and Cox, J 2018, A network module for the Perseus software for computational proteomics facilitates proteome interaction graph analysis doi:10.1101/447268

Installation

Make sure to have R >= 3.5.0 installed. Paste the following lines into an running R session. You can skip the comment lines starting with #.

# installing BioConductor dependencies first
install.packages('BiocManager')
BiocManager::install('Biobase')
 
# installing PerseusR
install.packages('PerseusR')

Usage

PerseusR provides two functions for reading and writing files from/to Perseus. You can use them to write simple scripts which can be used as MatrixProcessing activities in Perseus. Additionally you can parse Perseus parameters and extract their values.

an example R script that could be called though the Perseus plugin:

# if applicable: read command-line arguments
args = commandArgs(trailingOnly=TRUE)
if (length(args) != 3) {
    stop("Should provide three arguments: parameters inFile outFile", call.=FALSE)
}
paramFile <- args[1]
inFile <- args[2]
outFile <- args[3]
 
library(PerseusR)
# extract parameters
parameters <- parseParameters(paramFile)
networkType <- singleChoiceParamValue(parameters, "Network type")
corFnc <- singleChoiceParamValue(parameters, "Correlation function")
power <- intParamValue(parameters, "Power")
# read data
mdata <- read.perseus(inFile)
 
# if additional matrices are included, the additional information like imputation can be extracted.
imputeMatrix <- imputeData(mdata)
qualityMatrix <- qualityData(mdata)
 
# run any kind of analysis
library(WGCNA)
net <- blockwiseModules(t(main(mdata)), power = power, corFnc = corFnc, networkType = networkType)
c1 <- net$dendrograms[[1]]
df <- as.data.frame(cbind(c1$merge, c1$height))
colnames(df) <- c('left', 'right', 'distance')
 
# save results to matrixData and write to file
outMdata <- matrixData(main=df)
write.perseus(outMdata, outFile)
 
# save results to matrixData and write to file with additional matrices
 
outdata <- matrixData(main = combine, imputeData = imputeMatrix, qualityData = qualityMatrix)
write.perseus(outMdata, outFile)

Licensing and contributions

PerseusR is licensed under the MIT license. Contributions are welcome.

News

v0.3.4

  • read.perseus no longer fails when reading a matrix with no annotation rows. (#7, @jspaezp)

v0.3.3 CRAN release Oct 31, 2018

  • Added examples and improved description according to CRAN reviewer comments.
  • read.perseus no longer fails when the last entry of the #!{Description} line is empty

v0.3.1

  • Improved documentation so that devtools::check() runs through without errors.

v0.3.0: Sept 18, 2018

  • Manage additional martices (#4, @Sung-Huan)
  • Parsing boolean parameters (#4, @Sung-Huan)

v0.1.0 - v0.3.0 Initial versions - untagged: Jun 13, 2018

  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("PerseusR")

0.3.4 by Jan Rudolph, 7 months ago


Browse source code at https://github.com/cran/PerseusR


Authors: Jan Rudolph <[email protected]>


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports utils, plyr, methods, XML, Biobase, stringr

Suggests testthat, roxygen2, knitr, rmarkdown


See at CRAN