OpenSpecy

Analyze, Process, Identify, and Share, Raman and (FT)IR Spectra

https://github.com/wincowgerdev/openspecy-package

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 12 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

Analyze, Process, Identify, and Share, Raman and (FT)IR Spectra

Basic Info
Statistics
  • Stars: 31
  • Watchers: 3
  • Forks: 11
  • Open Issues: 21
  • Releases: 21
Created about 5 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Funding License

README.md

Open Specy 1.0

Analyze, Process, Identify, and Share Raman and (FT)IR Spectra

CRAN version Project Status R-CMD-check Codecov test coverage License: CC BY 4.0 DOI Website Gitter <!-- badges: end -->

Raman and (FT)IR spectral analysis tool for plastic particles and other environmental samples (Cowger et al. 2021, doi: 10.1021/acs.analchem.1c00123). With read_any(), Open Specy provides a single function for reading individual, batch, or map spectral data files like .asp, .csv, .jdx, .spc, .spa, .0, and .zip. process_spec() simplifies processing spectra, including smoothing, baseline correction, range restriction and flattening, intensity conversions, wavenumber alignment, and min-max normalization. Spectra can be identified in batch using an onboard reference library (Cowger et al. 2020, doi: 10.1177/0003702820929064) using match_spec(). A Shiny app is available via run_app() or online at https://www.openanalysis.org/openspecy/.

Installation

OpenSpecy is available from CRAN and GitHub.

Install from CRAN (stable version)

You can install the latest release of OpenSpecy from CRAN with:

r install.packages("OpenSpecy")

Install from GitHub (development version)

To install the development version of this package, paste the following code into your R console (requires devtools):

r if (!require(devtools)) install.packages("devtools") devtools::install_github("wincowgerDEV/OpenSpecy-package")

Install on Web Assemply through webr (experimental), you can test here: https://webr.r-wasm.org/latest/

```r library(caTools) library(data.table) library(jsonlite) library(yaml) library(hyperSpec) library(mmand) library(plotly) library(digest) library(signal) library(glmnet) library(jpeg) library(shiny) webr::install("OpenSpecy", repos = "https://wincowger.com/OpenSpecy-package/") library(OpenSpecy)

```

Getting started

r library(OpenSpecy) run_app()

Simple workflow for single spectral identification

See package vignette for a detailed standard operating procedure.

```r

Fetch current spectral library from https://osf.io/x7dpz/

get_lib("derivative")

Load library into global environment

speclib <- loadlib("derivative")

Read sample spectrum

ramanhdpe <- readextdata("ramanhdpe.csv") |> readany()

Look at the spectrum

plotlyspec(ramanhdpe)

Process the spectra and conform it to the library format

ramanproc <- ramanhdpe |> processspec(conformspecargs = list(range = speclib$wavenumbers), smoothintens = T, makerel = T)

Compare raw and processed spectra

plotlyspec(ramanhdpe, raman_proc)

topmatches <- matchspec(ramanproc, library = speclib, na.rm = T, topn = 5, addlibrarymetadata = "samplename", addobjectmetadata = "col_id")

Print the top 5 results with relevant metadata

topmatches[, c("objectid", "libraryid", "matchval", "SpectrumType", "SpectrumIdentity")]

Get all metadata for the matches

getmetadata(speclib, logic = topmatches$libraryid) ```

Related Packages

Open Specy on Python

Kris Heath created a Open Specy python package! https://pypi.org/project/openspi/

Citations

Cowger W, Steinmetz Z, Gray A, Munno K, Lynch J, Hapich H, Primpke S, De Frond H, Rochman C, Herodotou O (2021). “Microplastic Spectral Classification Needs an Open Source Community: Open Specy to the Rescue!” Analytical Chemistry, 93(21), 7543–7548. doi: 10.1021/acs.analchem.1c00123.

Cowger W, Steinmetz Z, Leong N, Faltynkova A, Sherrod H (2024). “OpenSpecy: Analyze, Process, Identify, and Share Raman and (FT)IR Spectra.” R package, 1.0.8. https://github.com/wincowgerDEV/OpenSpecy-package.

Owner

  • Name: Win Cowger, PhD
  • Login: wincowgerDEV
  • Kind: user
  • Location: Long Beach, CA
  • Company: Moore Institute for Plastic Pollution Research

Win is Research Director at the Moore Institute for Plastic Pollution Research. He studies the prevention and transport of plastic pollution.

GitHub Events

Total
  • Create event: 4
  • Issues event: 16
  • Release event: 3
  • Watch event: 5
  • Issue comment event: 18
  • Push event: 86
  • Pull request event: 1
  • Fork event: 1
Last Year
  • Create event: 4
  • Issues event: 16
  • Release event: 3
  • Watch event: 5
  • Issue comment event: 18
  • Push event: 86
  • Pull request event: 1
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 771
  • Total Committers: 7
  • Avg Commits per committer: 110.143
  • Development Distribution Score (DDS): 0.475
Past Year
  • Commits: 70
  • Committers: 2
  • Avg Commits per committer: 35.0
  • Development Distribution Score (DDS): 0.071
Top Committers
Name Email Commits
Win Cowger, PhD w****r@g****m 405
Zacharias Steinmetz s****z@u****e 202
Zacharias Steinmetz g****t@z****e 130
nickleong20 n****k@m****g 15
hsherrod2019 h****9@g****m 9
Zacharias Steinmetz z****z@r****e 5
hazelvaq h****8@g****m 5
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 80
  • Total pull requests: 77
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 11
  • Total pull request authors: 2
  • Average comments per issue: 3.16
  • Average comments per pull request: 3.61
  • Merged pull requests: 67
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 2
  • Average time to close issues: 11 days
  • Average time to close pull requests: 3 minutes
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wincowgerDEV (63)
  • zsteinmetz (6)
  • valentinavan (2)
  • GCov (2)
  • philipp-baumann (1)
  • paloeffler (1)
  • joe007li (1)
  • ardcarvalho (1)
  • nletwin97 (1)
  • MPresearcher (1)
  • zzhui43 (1)
Pull Request Authors
  • zsteinmetz (47)
  • wincowgerDEV (30)
Top Labels
Issue Labels
enhancement (45) bug (25) Shiny app (17) R package (15) good first issue (5) documentation (4) question (4) wontfix (2)
Pull Request Labels
documentation (1) enhancement (1) Shiny app (1) codex (1)

Packages

  • Total packages: 3
  • Total downloads:
    • cran 285 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 59
  • Total maintainers: 1
proxy.golang.org: github.com/wincowgerdev/openspecy-package
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 7 months ago
proxy.golang.org: github.com/wincowgerDEV/OpenSpecy-package
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 7 months ago
cran.r-project.org: OpenSpecy

Analyze, Process, Identify, and Share Raman and (FT)IR Spectra

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 285 Last month
Rankings
Forks count: 8.3%
Stargazers count: 16.3%
Average: 25.6%
Dependent packages count: 29.8%
Dependent repos count: 35.5%
Downloads: 37.9%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/check-r-package v1 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
  • r-lib/actions/setup-r-dependencies v1 composite
DESCRIPTION cran
  • R >= 4.0.0 depends
  • digest * imports
  • dplyr * imports
  • hexView * imports
  • hyperSpec * imports
  • osfr * imports
  • rlang * imports
  • shiny * imports
  • signal * imports
  • DT * suggests
  • config * suggests
  • curl * suggests
  • data.table * suggests
  • ggplot2 * suggests
  • knitr * suggests
  • loggit * suggests
  • mongolite * suggests
  • plotly * suggests
  • rdrop2 * suggests
  • rmarkdown * suggests
  • shinyBS * suggests
  • shinyWidgets * suggests
  • shinyjs * suggests
  • shinythemes * suggests
  • testthat >= 3.0.0 suggests
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite