nanodRop is an R package designed to simplify the import and processing of spectral data files exported by the NanoDrop One spectrophotometer. It converts raw TSV files into tidy CSV formats that are ready for downstream analysis in R, making spectral data analysis more accessible and efficient.
The package handles the complexities of NanoDrop file formats, including parsing multiple samples, wavelength ranges, and absorbance measurements, while providing clean, analyzable output.
- Easy Import: Direct import of NanoDrop One TSV files
- Data Cleaning: Automatic handling of error indicators and data validation
- Tidy Output: Converts spectral data to tidy data frames suitable for analysis
- Flexible Parsing: Customizable wavelength ranges and sample processing
- Peak Analysis: Built-in functions for spectral peak and valley calculations
- R Integration: Seamlessly integrates with the tidyverse ecosystem
You can install the development version of nanodRop from GitHub with:
# install.packages("devtools")
devtools::install_github("beabock/nanodRop")Once available on CRAN:
install.packages("nanodRop")- R (>= 2.10)
- Dependencies: dplyr, purrr, readr, stringr, tidyr
Load the package and import a NanoDrop file:
library(nanodRop)
# Import spectral data
data <- read_nanodrop("path/to/your/nanodrop_file.tsv")
# View the structure
head(data)# Load the package
library(nanodRop)
# Import data from a NanoDrop TSV file
spectral_data <- read_nanodrop("UV-Vis_sample.tsv")
# View the first few rows
head(spectral_data)
#> samps waves abs
#> 1 1 190 0.123
#> 2 1 191 0.124
#> 3 1 192 0.125
#> ...# Parse specific wavelength pairs for peak/valley analysis
parsed_data <- parse_waves(spectral_data,
wave_pairs = list(c(300, 400), c(542, 644)))
# View the calculated differences
head(parsed_data)
#> samps diff_300_400 diff_542_644
#> 1 1 0.045 0.123
#> 2 2 0.052 0.145
#> ...# Load example dataset
data(ds1)
# Perform analysis on example data
results <- parse_waves(ds1)Figure 1: Typical absorbance spectrum from the ds example dataset, showing UV-Vis absorption across wavelengths.
Figure 2: Absorbance spectrum from the ds1 example dataset, demonstrating spectral data visualization.
Figure 3: Peak-to-valley differences calculated for selected wavelength pairs in the ds dataset.
Figure 4: Peak-to-valley analysis results for the ds1 dataset, highlighting spectral features.
read_nanodrop()- Import and process NanoDrop TSV filesparse_waves()- Calculate peak-to-valley differences for spectral analysis
ds- Example spectral dataset for testing and demonstration
We welcome contributions to nanodRop! Please see our Contributing Guide for details on:
- Reporting bugs and issues
- Suggesting new features
- Submitting pull requests
- Code style guidelines
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/nanodRop.git - Install development dependencies:
devtools::install_dev_deps() - Make your changes
- Run tests:
devtools::test() - Submit a pull request
This package is licensed under the MIT License - see the LICENSE file for details.
If you use nanodRop in your research, please cite:
@misc{bock2024nanodrop,
title={nanodRop: Tools for Importing and Processing NanoDrop One Spectral Data},
author={Bock, Beatrice},
year={2024},
doi={10.5281/zenodo.12519996}
}For more citation details, see citation("nanodRop").



