library("readJDX") rm(list = ls()) desc <- packageDescription("readJDX") set.seed(999) knitr::opts_chunk$set(tidy = TRUE, fig.height = 7, fig.width = 7, fig.fullwidth = TRUE, echo = FALSE)
This vignette is based on readJDX
version r desc$Version
.
The JCAMP-DX format was developed as an manufacturer-independent means of sharing spectroscopic data. The standard is described in a series of publications [@McDonald1988; @Grasselli1991; @Davies1993; @Lampen1994; @Lampen1999; @Bumbach2001; @Cammack2006; @Woollett2012]. There is a recent overview of the standard [@Davies2022]. JCAMP-DX was developed during a time when data storage was expensive, and hence makes extensive use of compression schemes. The original application was to IR spectroscopy, but the standard has evolved over time to accommodate other spectroscopies.
JCAMP-DX files consist of two parts:
The JCAMP-DX standard allows a lot of flexibility and instrument manufacturers have written widely varying export functions. Some of the challenges in reading a JCAMP-DX file include:
readJDX
and will not be supported in the future.splitMultiblockDX
can separate these compound files into separate files that can be read by readJDX
:readJDX
is geared toward raw spectral data. Therefore variable lists formats representing derived information like PEAK ASSIGNMENTS are not supported (but your pull requests are welcomed!).readJDX
tries its best to deal with all these options. If you have a file that you believe should be supported but gives an error, please file an issue at GitHub. Be sure to attach the file that is giving you problems.
Before release, readJDX
is tested against a large collection of files with varying formats. A few of these files were obtained locally. Others were collected from publically available sources (e.g. www.jcamp-dx.org). These files are not included with the package to save space, and in addition, while they are publically available, for many of them the licensing status is unclear (i.e. the OWNER entry).
The JCAMP standard requires a number of checks on the integrity of the data decompression process. readJDX
implements most of these either directly or indirectly. Verification is important, and we have found JCAMP files that were not written correctly in the process of checking integrity. For details about how data decompression is checked, please see the original source files.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.