Tingwei Adeck December 19, 2023

tidyDenovix

Project status Project Status Maintenance

The goal of {tidyDenovix} is to clean data obtained from the Denovix spectrophotometry instrument. This package should clean data for RNA or DNA samples. At the moment users should use the ‘lax’ option for quality control.

Installation

You can install the development version of tidyDenovix from GitHub with:

# install.packages("devtools")
devtools::install_github("AlphaPrime7/tidyDenovix")

Raison-Etre

Quality Control

Example-Base

This is a basic example which shows you how to solve a common problem:

library(tidyDenovix)
## basic example code
fpath <- system.file("extdata", "rnaspec2018.csv", package = "tidyDenovix", mustWork = TRUE)
rna_data = tidyDenovix(fpath, file_type = 'csv', sample_type = 'RNA', check_level = 'lax')

Example-Normalized

This examples implements normalization for Quality Control of RNA isolates:

library(tidyDenovix)
## basic example code
fpath <- system.file("extdata", "rnaspec2018.csv", package = "tidyDenovix", mustWork = TRUE)
rna_data = tidyDenovix(fpath, sample_type = 'RNA',check_level = 'strict', qc_omit = 'no', normalized = 'yes')

Example-Plotting Data for QC visualization

library(tidyDenovix)
## basic example code
fpath <- system.file("extdata", "rnaspec2018.csv", package = "tidyDenovix", mustWork = TRUE)
rna_data = tidyDenovix(fpath, sample_type = 'RNA',check_level = 'strict', qc_omit = 'no', normalized = 'yes')

#PLOT-rnaspec2018.csv 'strict'
library(ggplot2)
library(plotly)
library(htmlwidgets)
rnaqcplot = ggplot(rna_data, aes(x=wave_length)) + 
  geom_line(aes(y=zt2_3, color='zt2_3')) + 
  geom_line(aes(y=zt14_2, color='zt14_2')) + 
  geom_line(aes(y=zt14_2_2, color='zt14_2_2')) +
  geom_line(aes(y=cal_rna_12ul, color='cal_rna_12ul')) +
  geom_line(aes(y=zt6_3, color='zt6_3'))  + 
  geom_line(aes(y=zt6_3_2, color='zt6_3_2')) + 
  geom_line(aes(y=zt10_3, color='zt10_3')) + 
  geom_line(aes(y=zt10_3_2, color='zt10_3_2')) +
  labs(title = 'Absorbance vs Wavelength', x = 'Wavelength', y='10 mm Absorbance', color='Circadian Times')
#saveWidget(ggplotly(rnaqcplot), file = "rnaplot.html", selfcontained = F, libdir = "lib")
#ggplotly(rnaqcplot)
rnaqcplot
Results Demo.
#PLOT dark mode-rnaspec2018.csv 'strict'
library(ggplot2)
library(plotly)
library(ggdark)
library(ggthemes)
library(htmlwidgets)
library(widgetframe)
#library(hrbrthemes)
#old <- theme_set(theme_dark())
rnaqcplot = ggplot(rna_data, aes(x=wave_length)) + 
  geom_line(aes(y=zt2_3, color='zt2_3')) + 
  geom_line(aes(y=zt14_2, color='zt14_2')) + 
  geom_line(aes(y=zt14_2_2, color='zt14_2_2')) +
  geom_line(aes(y=cal_rna_12ul, color='cal_rna_12ul')) +
  geom_line(aes(y=zt6_3, color='zt6_3'))  + 
  geom_line(aes(y=zt6_3_2, color='zt6_3_2')) + 
  geom_line(aes(y=zt10_3, color='zt10_3')) + 
  geom_line(aes(y=zt10_3_2, color='zt10_3_2')) +
  dark_mode() +
  labs(title = 'Absorbance vs Wavelength', x = 'Wavelength', y='10 mm Absorbance', color='Circadian Times')
#saveWidget(ggplotly(rnaqcplot), file = "rnaplot.html", selfcontained = F, libdir = "lib")
#frameWidget(ggplotly(rnaqcplot))
#ggplotly(rnaqcplot)
rnaqcplot
Results Demo.

Conclusion

References

(Dowle and Srinivasan 2023) (Firke 2023) (Wickham et al. 2019)

Dowle, Matt, and Arun Srinivasan. 2023. data.table: Extension of “data.frame. https://CRAN.R-project.org/package=data.table.

Firke, Sam. 2023. janitor: Simple Tools for Examining and Cleaning Dirty Data. https://CRAN.R-project.org/package=janitor.

Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.