Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 6 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.1%) to scientific vocabulary
Repository
R package for Vis-NIR spectral analysis
Basic Info
- Host: GitHub
- Owner: GoreLab
- License: other
- Language: R
- Default Branch: main
- Homepage: https://gorelab.github.io/waves/
- Size: 49 MB
Statistics
- Stars: 6
- Watchers: 3
- Forks: 6
- Open Issues: 10
- Releases: 8
Metadata Files
README.md
waves
Originally designed application in the context of resource-limited plant research and breeding programs, waves provides an open-source solution to spectral data processing and model development by bringing useful packages together into a streamlined pipeline. This package is wrapper for functions related to the analysis of point visible and near-infrared reflectance measurements. It includes visualization, filtering, aggregation, pretreatment, cross-validation set formation, model training, and prediction functions to enable open-source association of spectral and reference data.
Please note: function names were updated as of version 0.2.0. Old function names still work in this version but will be retired in upcoming package versions.
Cite
This package is documented in a peer-reviewed manuscript in the Plant Phenome Journal. Please cite the manuscript if you have found this package to be useful!
Hershberger, J, Morales, N, Simoes, CC, Ellerbrock, B, Bauchet, G, Mueller, LA, Gore MA. Making waves in Breedbase: An integrated spectral data storage and analysis pipeline for plant breeding programs. Plant Phenome J. 2021; 4:e20012. https://doi.org/10.1002/ppj2.20012
Use
Follow the installation instructions below, and then go wild! Use waves to analyze your own data. Please report any bugs or feature requests by opening issues in this repository.
More detailed examples can be found in the package vignette. The vignette can also be found by running the following:
r
vignette("waves")
Installation
Install the latest waves release directly from CRAN:
r
install.packages("waves")
Alternatively, install the development version to get the most up-to-date (but not necessarily thoroughly tested) version:
``` r
install.packages("devtools")
devtools::install_github("GoreLab/waves") ```
Overview
Format your data. Match spectra with reference values so that you have a dataframe with unique identifiers, reference values, and other metadata as columns to the left of spectral values. Spectral column names should start with "X".
Visualize and filter spectra using
plot_spectra()andfilter_spectra().If you have more than one scan per unique identifier, aggregate the scans by mean or median with
aggregate_spectra().Use
test_spectra()to perform spectral pretreatment, cross-validation set formation, and model training functions over multiple iterations.- Applies any of 12 combinations of spectral pretreatment methods using
pretreat_spectra(). - Determines cross-validation scheme with
format_cv(). Choose from random, stratified random, or a plant breeding-specific scheme from Jarquín et al., 2017. The Plant Genome. - Trains spectral prediction models using
train_spectra().- Choose from partial least squares regression, random forest, and support vector machine algorithms
- Uses k-fold cross validation within the training set to tune model hyperparameters
- Outputs model performance statistics (RMSE, R2, Bias, etc.) as assessed with test set
- Applies any of 12 combinations of spectral pretreatment methods using
Save trained prediction models with
save_model().- Intended for a production environment
- Can evaluate spectral pretreatment methods using the input dataset
- Selects best model using the metric provided (RMSE or R2)
- Returns trained model with option to save as .Rds object
Predict phenotypic values with new spectra and a saved model using
predict_spectra().
Examples
The package comes with an example dataset (ikeogu.2017) from Ikeogu et al. (2017) PLoS ONE that can be used to try out package capabilities. This dataset includes vis-NIR spectra from cassava roots as well as two reference phenotypes:
- Root dry matter content as measured by the oven method for the four studies included in the example dataset
- Total carotenoid content as measured by HPLC
Owner
- Name: The Gore Lab
- Login: GoreLab
- Kind: organization
- Location: Cornell University
- Website: http://www.gorelab.us
- Repositories: 5
- Profile: https://github.com/GoreLab
GitHub Events
Total
- Issues event: 1
Last Year
- Issues event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jenna Hershberger | j****9@c****u | 112 |
| Jenna Hershberger | 3****9 | 15 |
| Leonardo Ramirez-Lopez | r****o@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 21
- Total pull requests: 7
- Average time to close issues: 4 months
- Average time to close pull requests: 4 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.38
- Average comments per pull request: 0.29
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jmh579 (20)
- Abiodun-Olayinka (1)
Pull Request Authors
- jmh579 (5)
- l-ramirez-lopez (1)
- olivroy (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 129 last-month
- Total dependent packages: 0
- Total dependent repositories: 3
- Total versions: 8
- Total maintainers: 1
cran.r-project.org: waves
Vis-NIR Spectral Analysis Wrapper
- Homepage: https://github.com/GoreLab/waves
- Documentation: http://cran.r-project.org/web/packages/waves/waves.pdf
- License: MIT + file LICENSE
- Status: removed
-
Latest release: 0.2.5
published over 2 years ago
Rankings
Maintainers (1)
Dependencies
- R >= 3.5 depends
- caret * imports
- dplyr * imports
- ggplot2 * imports
- lifecycle * imports
- magrittr * imports
- pls * imports
- prospectr * imports
- randomForest * imports
- readr * imports
- rlang * imports
- scales * imports
- spectacles * imports
- stringr * imports
- tibble * imports
- tidyr >= 1.0 imports
- tidyselect * imports
- knitr * suggests
- rmarkdown * suggests
- testthat >= 2.1.0 suggests