Skip to content

Instantly share code, notes, and snippets.

@sgibb
sgibb / crossmatching.Rmd
Last active August 29, 2015 14:00
synapter cross matching example
# Cross Matching Example
```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(fig.height=10, fig.width=14, fig.path="figure/crossmatching/", cache=TRUE, autodep=TRUE, tidy=FALSE)
```
## Default Synapter Preprocessing
(same as in `synergise`)
@sgibb
sgibb / importSIMS.R
Created March 17, 2014 10:58
import SIMS imaging data into MALDIquant::MassSpectrum objects
importSIMS <- function(path) {
stopifnot(file.exists(path) && file.info(path)$isdir)
## find all txt files
files <- list.files(path, pattern="^.*\\.txt$", full.names=TRUE, recursive=TRUE)
files <- normalizePath(files)
## read metadata (first 8 lines) of the SIMS file
ll <- lapply(files, function(f)readLines(f, n=8))
@sgibb
sgibb / griddetails_bug.R
Last active August 29, 2015 13:57
MWE to demonstrate a bug in the calculation of non unique matches in synapter 1.5.3
library("synapter")
library("synapterdata")
###########################################################################
## some boring stuff to prepare the Synapter object
###########################################################################
fasfile <- synapterdata::getFasta()
mstrfile <- synapterdata::getMaster()
pepfile <- synapterdata::getMSeFinalPeptide()[2]
@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
@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 / 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 / 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 / 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 / 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 / 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) {