An open API service indexing awesome lists of open source software.

https://github.com/bradyajohnston/biochemr

Tools For User-Friendly & Reproducible Analysis of Biochemistry Experiments
https://github.com/bradyajohnston/biochemr

biochemistry r r-package

Last synced: 6 months ago
JSON representation

Tools For User-Friendly & Reproducible Analysis of Biochemistry Experiments

Awesome Lists containing this project

README

          

---
output: githubio_document
---

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

# biochemr

[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)

The goal of `{biochemr}` is to create a user-friendly one-stop-shop interface to a range of R packages to help with reproducible analysis of common biochemistry experiments.

`{biochemr}` provides a common and consistent interface to a range of packages for analysis of results, following the `{tidyverse}` conventions to make most things easier, at the cost of making some niche things harder.

The documentation and tutorials that make up `{biochemr}` assume the user will have very little experience with R and programming in general - placing emphasis on newcomer friendly documentation over brevity.

## Installation

And the development version from [GitHub](https://github.com/) with:

``` r
# install.packages("devtools")
devtools::install_github("BradyAJohnston/biochemr")
```

## Example

Analyze enzyme rate experiments by fitting the [Michaelis Menton](https://en.wikipedia.org/wiki/Michaelis%E2%80%93Menten_kinetics) equation that is implemented from the `{drc}` package via `drc::MM.2()`.

#### Experimetal Data

```{r example}
head(Puromycin)

```

```{r}
library(biochemr)
df <- bio_enzyme_rate(Puromycin, conc, rate, state)

df
```

The result is a tibble (like a data.frame) that has a row for each sample and a column the relevant data for each. The original data is in `raw`, the dose, response and residuals are in `data`, the fitted model is inside `drmod` and the fitted curve (to draw the line) in `line` and the coefficients (such as *Vmax* and *Km*) in `coefs`.

To extract relevant coefficients, use `bio_coefs()`.

```{r}
df %>%
bio_coefs()
```

## Plotting

Quick and convenient plotting for the results of different plotting functions.

```{r, fig.height=4}
plt <- df %>%
bio_plot()
plt

```

The `bio_plot()` function just returns a `ggplot` object, so you can continue customisation as you would otherwise.

```{r, fig.height=4}
plt +
ggplot2::labs(x = "[substrate] nM",
y = "Enzyme Rate (nM/M/min)")
```

# Roadmap

The plan is to add support for as many types of analysis for experiments in biochemistry as possible. A list of planned and currently supported approaches are below. Please open an issue or make a pull request to add analysis you would like to see supported.

Experimental analysis to be supported by `{biochemr}`:

- [x] Ligand binding experiments for calculating `Kd`.
- [x] Enzyme rate experiments for calculating `Vmax` and `Km`
- [ ] qPCR Experimental Analysis
- [ ] Replotting of FPLC / HPLC Traces for *aesthetic* and informative chromatograms.
- [ ] Creating and estimating unkowns from standard curves.