Skip to content

Instantly share code, notes, and snippets.

@sgibb
sgibb / fwhm.R
Created October 18, 2012 19:33
Calculate FWHM.
fwhm <- function(spectrum, peaks) {
## work horse
.fwhm <- function(spectrum, i) {
n <- length(spectrum)
left <- ifelse(i <= 1, 1, i)
right <- ifelse(i >= n, n, i)
hm <- spectrum@intensity[i]/2
@sgibb
sgibb / importBrukerXml.R
Created February 12, 2013 21:18
quick & dirty approach to import Bruker xml files.
## code to import peaks from Bruker xml files
importBrukerXml <- function(file) {
require("MALDIquant")
## read file
r <- readLines(file)
## remove useless stuff
r <- gsub(pattern="^.*<ms_peaks>|</ms_peaks>.*$", replacement="", x=r)
@sgibb
sgibb / server.R
Last active December 18, 2015 04:28
give shiny a try; to run this example: `install.packages("shiny"); library("shiny"); runGist("5725234")`
library("shiny")
library("MALDIquant")
data("fiedler2009subset")
shinyServer(function(input, output) {
output$plotBaseline <- renderPlot({
plot(fiedler2009subset[[1]])
@sgibb
sgibb / server.R
Last active June 16, 2021 16:39
shiny app that provides a basic MALDIquant workflow. `library("shiny"); runGist("5751429")`
library("shiny")
library("MALDIquant")
library("MALDIquantForeign")
options(shiny.maxRequestSize=200*1024^2)
data("fiedler2009subset")
convertYlim <- function(lim, fun) {
@sgibb
sgibb / avgpeaks.R
Created June 15, 2013 16:49
find individual peaks from an average spectrum
library("MALDIquant")
data("fiedler2009subset")
## preprocessing
spectra <- transformIntensity(fiedler2009subset, sqrt)
spectra <- transformIntensity(spectra, savitzkyGolay)
spectra <- removeBaseline(spectra)
peaks <- detectPeaks(spectra)
@sgibb
sgibb / binning.R
Created June 25, 2013 22:31
demonstrate differences between strict/relaxed binning
library("MALDIquant")
#' create toy example
p <- c(p1=createMassPeaks(mass=c(1, 1.5, 10), intensity=c(1, 2, 1),
metaData=list(name="p1")),
p2=createMassPeaks(mass=c(0.9, 10.1), intensity=c(1, 1),
metaData=list(name="p2")),
p3=createMassPeaks(mass=c(1.1, 9.9), intensity=c(1, 1),
metaData=list(name="p3")))
@sgibb
sgibb / Bioconductor-patched.sty
Created July 22, 2013 20:45
BiocStyle + knitr; try `library("knitr"); library("BiocStyle"); knit("knitr.Rnw"); tools::texi2pdf("knitr.tex")`
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Bioconductor}[2013/07/01 Bioconductor vignette style]
%% -I would wish to know how to make this work-
%% \DeclareOption{pdftitle}{\PassOptionsToPackage{pdftitle}{hyperref}}
%% \DeclareOption{pdfauthor}{\PassOptionsToPackage{pdfauthor}{hyperref}}
%% \ExecuteOptions{pdftitle,pdfauthor}
%% \ProcessOptions
\PassOptionsToPackage{usenames,dvipsnames}{color}
@sgibb
sgibb / convertFile.R
Created September 9, 2013 17:11
convert a file from one encoding to another one
convertFile <- function(inputFile, outputFile,
fromEncoding="UTF-8", toEncoding="ASCII") {
stopifnot(file.exists(inputFile))
input <- readLines(inputFile, encoding=fromEncoding)
output <- iconv(input, from=fromEncoding, to=toEncoding)
return(writeLines(output, outputFile))
}
@sgibb
sgibb / createNetCdf.R
Last active January 4, 2016 17:19
Create a tiny NetCdf example file
library("RNetCDF")
nc <- create.nc("tiny.cdf")
dim.def.nc(nc, "scan_number", 2)
dim.def.nc(nc, "point_number", 10, unlim=TRUE)
var.def.nc(nc, "scan_index", "NC_INT", "scan_number")
var.def.nc(nc, "point_count", "NC_INT", "scan_number")
var.def.nc(nc, "scan_acquisition_time", "NC_DOUBLE", "scan_number")
@sgibb
sgibb / findMSeEMRTs.R
Created February 28, 2014 23:00
MWE to demonstrate the speed improvement of findMSeEMRTs2
library("synapter")
library("synapterdata")
## map some private functions to global NAMESPACE
doHDMSePredictions <- synapter:::doHDMSePredictions
error.ppm <- synapter:::error.ppm
findMSeEMRTs <- synapter:::findMSeEMRTs
###########################################################################
## some boring stuff to prepare the Synapter object