proteoDA

proteoDA: a package for quantitative proteomics - Published in JOSS (2023)

https://github.com/byrumlab/proteoda

Science Score: 100.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    4 of 7 committers (57.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Engineering Computer Science - 80% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: ByrumLab
  • License: gpl-3.0
  • Language: HTML
  • Default Branch: main
  • Size: 7.84 MB
Statistics
  • Stars: 13
  • Watchers: 7
  • Forks: 14
  • Open Issues: 10
  • Releases: 1
Created almost 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License Code of conduct Citation Zenodo

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%",
  eval = F
)
```

# proteoDA


[![R-CMD-check](https://github.com/ByrumLab/proteoDA/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ByrumLab/proteoDA/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/github/ByrumLab/proteoDA/branch/main/graph/badge.svg)](https://app.codecov.io/github/ByrumLab/proteoDA?branch=main)


proteoDA is a streamlined, user-friendly R package for the analysis of high resolution mass spectrometry protein data. The package uses a custom S3 class that keeps the R objects consistent across the pipeline and is easily pipe-able, so minimal R knowledge is required. 

## Installation

`proteoDA` is not yet on CRAN, but it is available for install from GitHub via the `devtools` package. Install `devtools` if you haven't already:

``` {r, eval = F}
install.packages("devtools")
```

Then install `proteoDA`:

```{r, eval = F}
devtools::install_github("ByrumLab/proteoDA", 
                         dependencies = TRUE, 
                         build_vignettes = TRUE)
```

Using the `build_vignettes = TRUE` argument will build the tutorial vignette when you install, which you can access by running `browseVignettes(package = "proteoDA")`. However, building the vignettes requires some additional software dependencies. If you run into issues when installing the vignettes, you can set `build_vignettes = FALSE` and find a pre-built `.html` version of the tutorial in the `vignettes` folder on [GitHub](https://github.com/ByrumLab/proteoDA).

Once `proteoDA` is installed, load it into R:

```{r, eval = F}
library(proteoDA)
```

## Workflow

![proteoDA workflow flowchart](./data-raw/proteoDA_flowchart.png?raw=true)

## Example pipeline

Here's an example pipeline, going from data import to final results. For a detailed explanation of the pipeline, check out the tutorial vignette.

```{r, eval = F}
# Load data
input_data <- read.csv(system.file("extdata/DIA_data.csv.gz", package = "proteoDA"))
sample_metadata <- read.csv(system.file("extdata/metafile.csv", package = "proteoDA"))

# Split input data into protein intensity data and annotation data
intensity_data <- input_data[,5:21] # select columns 5 to 21
annotation_data <- input_data[,1:4] # select columns 1 to 4
# Match up row names of metadata with column names of data
rownames(sample_metadata) <- sample_metadata$data_column_name

# Assemble into DAList
raw <- DAList(data = intensity_data,
              annotation = annotation_data,
              metadata = sample_metadata)

# Filter out unneeded samples and proteins with too much missing data
filtered <- raw |>
  filter_samples(group != "Pool") |>
  zero_to_missing() |>
  filter_proteins_by_proportion(min_prop = 0.66,
                                grouping_column = "group")
# Make the normalization report
write_norm_report(filtered,
                  grouping_column = "group")

# Normalize
normalized <- normalize_data(filtered, 
                             norm_method = "cycloess")

# Make the quality control report
write_qc_report(normalized,
                color_column = "group")

# Turn metadata column into a factor with desired levels
normalized$metadata$group <- factor(normalized$metadata$group, 
                                    levels = c("normal", "cancer"))

# Add a statistical design, fit the model, and extract results
final <- normalized |>
  add_design(design_formula = ~ group) |>
  fit_limma_model() |>
  extract_DA_results()



# Export results
write_limma_tables(final)
write_limma_plots(final,
                  grouping_column = "group")
```


## Getting help

For general help on using `proteoDA`, check out the tutorial vignette by running `browseVignettes(package = "proteoDA")`. If you did not build the vignette upon install, you can find a pre-built `.html` version of the vignette in the `vignettes` folder on [GitHub](https://github.com/ByrumLab/proteoDA). Additional information can be found in the documentation for each function. If you need further assistance, [file an issue on GitHub](https://github.com/ByrumLab/proteoDA/issues).

## Reporting issues

If you find any bugs or unexpected behaviors, [file an issue on GitHub](https://github.com/ByrumLab/proteoDA/issues). It is helpful if you can include a minimal reproducible example (reprex) that triggers the issue, check out the `reprex` [R package](https://reprex.tidyverse.org/) for more information and tools on creating reproducible examples.  

## Contributing

We welcome code contributions from users. To contribute, [open a pull request](https://github.com/ByrumLab/proteoDA/pulls) against the main branch. Please note that the proteoDA project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.



Owner

  • Login: ByrumLab
  • Kind: user

JOSS Publication

proteoDA: a package for quantitative proteomics
Published
May 30, 2023
Volume 8, Issue 85, Page 5184
Authors
Timothy J. Thurman ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Charity L. Washam ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Duah Alkam ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Jordan T. Bird ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Allen Gies ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Kalyani Dhusia ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Michael S. Robeson ORCID
Department of Biomedical Informatics, University of Arkansas for Medical Sciences, Little Rock, AR, USA
Stephanie D. Byrum ORCID
Department of Biochemistry and Molecular Biology, University of Arkansas for Medical Sciences, Little Rock, AR, USA, Arkansas Children's Research Institute, Little Rock, AR, USA
Editor
Jacob Schreiber ORCID
Tags
mass spectrometry intensity data normalization linear models

Citation (CITATION.cff)

proteoDA-version: 1.0.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Timothy J.
    given-names: Thurman
    orcid: https://orcid.org/0000-0002-9602-6226
    - family-names: Charity L.
    given-names: Washam
    orcid: https://orcid.org/0000-0001-5761-9304
    - family-names: Duah
    given-names: Alkam
    orcid: https://orcid.org/0000-0002-5965-7694
    - family-names: Jordan T.
    given-names: Bird
    orcid: https://orcid.org/0000-0001-5753-6058
    - family-names: Allen 
    given-names: Gies
    orcid: https://orcid.org/0000-0003-2492-0429
    - family-names: Kalyani
    given-names: Dhusia
    orcid: https://orcid.org/0000-0002-8803-1295
    - family-names: Michael S. 
    given-names: Robeson, II
    orcid: https://orcid.org/0000-0001-7119-6301
    - family-names: Stephanie D.
    given-names: Byrum
    orcid: https://orcid.org/0000-0002-1783-3610
title: proteoDA: a package for quantitative proteomics
version: 1.0.0
date-released: 2023-05-23
doi: 10.5281/zenodo.7962306
url: "https://doi.org/10.5281/zenodo.7962306"

GitHub Events

Total
  • Issues event: 4
  • Issue comment event: 3
  • Fork event: 3
Last Year
  • Issues event: 4
  • Issue comment event: 3
  • Fork event: 3

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 402
  • Total Committers: 7
  • Avg Commits per committer: 57.429
  • Development Distribution Score (DDS): 0.142
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Tim Thurman T****n@u****u 345
ByrumLab s****m@u****u 33
Jordan Bird j****d@g****m 12
Mike Robeson s****d@g****m 8
sbyrum21 1****1 2
clw c****m@u****u 1
Gies G****J@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 48
  • Total pull requests: 71
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 17 hours
  • Total issue authors: 13
  • Total pull request authors: 4
  • Average comments per issue: 1.58
  • Average comments per pull request: 0.17
  • Merged pull requests: 67
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 0
  • Average time to close issues: 1 day
  • Average time to close pull requests: N/A
  • Issue authors: 3
  • Pull request authors: 0
  • Average comments per issue: 1.75
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tjthurman (32)
  • ByrumLab (4)
  • GolAGitHub (3)
  • dhalkam (1)
  • devenderarora (1)
  • Klorator (1)
  • sbyrum21 (1)
  • biniyam2024 (1)
  • Gonzazsm97 (1)
  • arpitadas18 (1)
  • James-E-Clark (1)
  • bolak92 (1)
  • clw09 (1)
Pull Request Authors
  • tjthurman (60)
  • sbyrum21 (9)
  • jbird9 (2)
  • clw09 (1)
Top Labels
Issue Labels
Fixed in S3 (15) enhancement (3) bug (1) documentation (1)
Pull Request Labels