All Projects → fgcz → rawDiag

fgcz / rawDiag

Licence: GPL-3.0 license
Brings Orbitrap Mass Spectrometry Data to Life; Multi-platform, Fast and Colorful R package.

Programming Languages

r
7636 projects
C#
18002 projects

Projects that are alternatives of or similar to rawDiag

docker-swoole-webapp
Simple Docker-image to build your applications based on Async PHP extensions.
Stars: ✭ 26 (-10.34%)
Mutual labels:  fast
PredFull
This work was published on Analytical Chemistry: Full-Spectrum Prediction of Peptides Tandem Mass Spectra using Deep Neural Network
Stars: ✭ 20 (-31.03%)
Mutual labels:  mass-spectrometry
ark.db
Small and fast JSON database for Node and browser. 😋
Stars: ✭ 65 (+124.14%)
Mutual labels:  fast
muparsersse
muparsersse a math parser for windows using just in time compilations of the expression
Stars: ✭ 14 (-51.72%)
Mutual labels:  fast
kighlighter
Simple and extendable code highlighter in Kotlin Multiplatform
Stars: ✭ 22 (-24.14%)
Mutual labels:  multiplatform
sliding-puzzle
Sliding puzzle game implemented in Scala / Scala.js / JavaFX
Stars: ✭ 25 (-13.79%)
Mutual labels:  multiplatform
PyGLM
Fast OpenGL Mathematics (GLM) for Python
Stars: ✭ 167 (+475.86%)
Mutual labels:  fast
BitSrunLoginGo
深澜校园网登录程序 Go 语言版,适用于路由器、windows、linux 等。提供对 OpenWrt、Docker、Go Module 的支持
Stars: ✭ 112 (+286.21%)
Mutual labels:  multiplatform
DFPlayerMini Fast
Fast and easy to understand Arduino library to use the DFPlayer Mini MP3 module from DFRobot.com. This is a huge improvement (both in terms of execution speed and simplicity) to the standard library provided by DFRobot.com.
Stars: ✭ 164 (+465.52%)
Mutual labels:  fast
chconn
Low-level ClickHouse database driver for Golang
Stars: ✭ 152 (+424.14%)
Mutual labels:  fast
MashaRoBot
MashaRoBot : 📑Editor's choice
Stars: ✭ 39 (+34.48%)
Mutual labels:  fast
aurum
Fast and concise declarative DOM rendering library for javascript
Stars: ✭ 17 (-41.38%)
Mutual labels:  fast
fast-speedtest-api
fast.com API / CLI tool
Stars: ✭ 138 (+375.86%)
Mutual labels:  fast
iso8601
A fast ISO8601 date parser for Go
Stars: ✭ 122 (+320.69%)
Mutual labels:  fast
fastT5
⚡ boost inference speed of T5 models by 5x & reduce the model size by 3x.
Stars: ✭ 421 (+1351.72%)
Mutual labels:  fast
MALDIquant
Quantitative Analysis of Mass Spectrometry Data
Stars: ✭ 48 (+65.52%)
Mutual labels:  mass-spectrometry
jazzle
An Innovative, Fast Transpiler for ECMAScript 2015 and later
Stars: ✭ 65 (+124.14%)
Mutual labels:  fast
nekros
NekRos is an Open-Source Ransomeware, with advanced Features, Which Looks Like Wannacry and Has C&C Server which can be Used to Retrive KEY
Stars: ✭ 84 (+189.66%)
Mutual labels:  fast
kmm-production-sample
This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you can download it from the App Store and Google Play. It's been designed to demonstrate how KMM can be used in real production projects.
Stars: ✭ 1,476 (+4989.66%)
Mutual labels:  multiplatform
ElMaven
LC-MS data processing tool for large-scale metabolomics experiments.
Stars: ✭ 84 (+189.66%)
Mutual labels:  mass-spectrometry

JPR

rawDiag

octopussy

an R package supporting rational LC-MS method optimization for bottom-up proteomics on multiple OS platforms

main features:

  1. multiplatform and fast reading through using The New RawFileReader from Thermo Fisher Scientific.
  2. uses latest visualization generation through using Rs ggplot2 package.
  3. provides an R interface to your instrument raw data.
  4. ships with an example shiny application.

1. System Requirements

A Windows/Linux/MacOSX x64 platform.

1.1 .NET framework

1.2 R

You need the R software environment for statistical computing.

1.3 Platforms and R versions the package has been tested on

The package JPR.R1 release has been tested on the following platforms using RStudio:

platform platform version R version note
Linux Debian 8 (jessie) 3.4.3 Demo system
Linux Debian 10 (buster) 3.5.0 CP
Linux bioconductor/devel_proteomics2 2017-12-31 r73996 dockerhub
Windows 7 x64 3.4.1 CT
Windows 10 x64 3.4.4 CP virtual box
Windows Server 2012 R2 x64 3.4.4 CP
Windows 10 x64 3.4.3 WEW
Windows 10 x64 R Open 3.5.0 WEW
Windows 12 4.0.0 CP see also #56
MacOSX 10.13.5 (17F77) 3.4.2 CP
MacOSX 10.11.6 (15G20015) 3.4.3 JG
MacOSX 10.13.4 (17E202) 3.4.4 CP

2. Installation guide

Please check the above installation requirements!

2.1 Current release

Please install the latest release from [https://github.com/fgcz/rawDiag/releases] according to the provided instructions.

2.2 From GitHub source

The following code downloads and installs the R package from GitHub without the required third party libraries.

# install.packages("devtools")
library("devtools")
devtools::install_github("fgcz/rawDiag", build_vignettes = FALSE)

!!! Use this option only if you know what you are doing !!!

3. Demonstration

3.1. R commandline code snippet

"Hello; World!" example on the R command line

library(rawDiag)
data(WU163763)
PlotScanFrequency(WU163763, method='overlay')
PlotPrecursorHeatmap(WU163763)
PlotMassDistribution(WU163763)

3.2. An interactive shiny example

in your local R shell

# install.packages("shiny")
# install.packages("DT")
library(shiny)
rawDiag_shiny <- system.file('shiny', 'demo', package = 'rawDiag')
shiny::runApp(rawDiag_shiny, display.mode = 'normal')

using the docker image

source: dockerhub

docker pull cpanse/rawdiag \
&& docker run -it -p 8787:8787 cpanse/rawdiag R -e "library(shiny); \
   rawDiag_shiny <- system.file('shiny', 'demo', package = 'rawDiag'); \
   shiny::runApp(rawDiag_shiny, display.mode = 'normal', port=8787, host='0.0.0.0')"

connect with your web browser to http://yourdockerhostname:8787

3.3. using the read.raw method

taken from the ?read.raw man page.

(rawfile <- file.path(path.package(package = 'rawDiag'), 'extdata', 'sample.raw'))
system.time(RAW <- read.raw(file = rawfile))
 
summary.rawDiag(RAW)
PlotScanFrequency(RAW)
     
dim(RAW)
# now  read all dimensions
RAW <- read.raw(file = rawfile, rawDiag = FALSE)
dim(RAW)
INFO <- read.raw.info(rawfile)
head(INFO$`General File Information`)

3.4. FAQ

3.4.1. I would like to load multiple files into a single data.frame to do comparisons; what is the preferred method for doing so?

library(parallel)
library(rawDiag)

# consider all raw files of your working dir
rawFileNames <- list.files()[grep("raw$", list.files())]

# read all the meta data using 4 cores
RAW <- mclapply(rawFileNames, read.raw, mc.cores=4)
# as alternative  \code{lapply} instread of \code{mclapply}

# concatenate the list data.frames into one single one
RAW <- plyr::rbind.fill(RAW)

3.4.2. Can I run the rawDiag shiny code as a stand-alone application?

run the rawDiag shiny application

library(rawDiag)

# root defines where your raw files are
rawDiagShiny(root="D:/Data2San/")

Yes, on Microsoft's systems call (through using cmd.exe)

"c:\Program Files\R\R-3.5.1\bin\R.exe" -e "library(rawDiag); rawDiagShiny(root='D:/Downloads', launch.browser=TRUE)"

expecting the raw files in the Downloads folder.

using Linux and Apple systems use the Terminal application and type

R -e "library(rawDiag); rawDiagShiny(root='$HOME/Downloads', launch.browser=TRUE)"

and you can add to your alias file, e.g., $HOME/.bashrc

alias rawDiag="R -e \"library(rawDiag); rawDiagShiny(root='$HOME/Downloads', launch.browser=TRUE)\""

3.4.3 How to get all scan attributes assosiated to each scan?

Assuming the raw file name is equal to "20181217_006_autoQC01.raw" the command would be:

AllScanMetaData <- read.raw("20181217_006_autoQC01.raw", rawDiag = FALSE)
> dim(AllScanMetaData)
[1] 21868    82
> names(AllScanMetaData)
 [1] "filename"               "scanNumber"             "ScanEventNumber"       
 [4] "StartTime"              "BasePeakMass"           "BasePeakIntensity"     
 [7] "TIC"                    "ScanType"               "CycleNumber"           
[10] "Frequency"              "HighMass"               "IonizationMode"        
[13] "MSOrder"                "MassAnalyzer"           "Detector"              
[16] "Lock"                   "PrecursorMass"          "LastPrecursorMass"     
[19] "CollisionEnergy"        "IsolationWidth"         "MultipleInjection"     
[22] "MultiInjectInfo"        "AGC"                    "MicroScanCount"        
[25] "ScanSegment"            "ScanEvent"              "MasterIndex"           
[28] "ChargeState"            "MonoisotopicmZ"         "IonInjectionTimems"    
[31] "MaxIonTimems"           "FTResolution"           "MS2IsolationWidth"     
[34] "MS2IsolationOffset"     "AGCTarget"              "HCDEnergy"             
[37] "AnalyzerTemperature"    "MassCalibration"        "ConversionParameterB"  
[40] "ConversionParameterC"   "TemperatureCompppm"     "RFCompppm"             
[43] "SpaceChargeCompppm"     "ResolutionCompppm"      "NumberofLockMasses"    
[46] "LockMass1mZ"            "LockMass2mZ"            "LockMass3mZ"           
[49] "LMSearchWindowppm"      "LMSearchWindowmmu"      "NumberofLMFound"       
[52] "LastLockingsec"         "LMmZCorrectionppm"      "IonOpticsSettings"     
[55] "SLensRFLevel"           "SLensVoltageV"          "SkimmerVoltageV"       
[58] "InjectFlatapoleOffsetV" "BentFlatapoleDCV"       "MP2andMP3RFV"          
[61] "GateLensVoltageV"       "CTrapRFV"               "DiagnosticData"        
[64] "DynamicRTShiftmin"      "IntensCompFactor"       "ResDepIntens"          
[67] "CTCDNumF"               "CTCDComp"               "CTCDScScr"             
[70] "RawOvFtT"               "LCFWHMparameter"        "Rod"                   
[73] "PSInjTimems"            "AGCPSMode"              "AGCPSDiag"             
[76] "HCDEnergyeV"            "AGCFill"                "Injectiont0"           
[79] "t0FLP"                  "AccessId"               "AnalogInput1V"         
[82] "AnalogInput2V"         

3.4.4 How to read a large number of MS2 scans?

apply the divide-and-conquer algorithm design paradigm

stopifnot(require(rawDiag))
stopifnot(require(parallel))

chunk <- function(x,n) split(x, factor(sort(rank(x)%%n)))
# input: is a given integer vecor of MS2 scanNumber and the raw file name
# output: list of MS2 scans 
MS2 <- mclapply(chunk(scanNumberMs2, 100), 
  function(scans){readScans(rawfilename, scans=scans)}, 
	mc.cores=16)

4. Instructions for use

read the vignettes.

browseVignettes('rawDiag')

the documentation of the functions is available through the R man pages.

5. Useful bookmarks

6. See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].