Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcanouil/insane
An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells
https://github.com/mcanouil/insane
beta-cells endoc-betah1 insulin-secretion pancreas r r-package rstats shiny statistics stats
Last synced: about 2 months ago
JSON representation
An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells
- Host: GitHub
- URL: https://github.com/mcanouil/insane
- Owner: mcanouil
- License: other
- Created: 2019-02-13T12:00:45.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-01-27T12:14:57.000Z (12 months ago)
- Last Synced: 2024-11-06T14:46:15.211Z (2 months ago)
- Topics: beta-cells, endoc-betah1, insulin-secretion, pancreas, r, r-package, rstats, shiny, statistics, stats
- Language: R
- Homepage: https://m.canouil.dev/insane/
- Size: 49.3 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
- jimsghstars - mcanouil/insane - An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells. (R)
README
---
output: github_document
---```{r, echo = FALSE}
library(knitr)
library(gifski)
opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)gif_template <- gifski(
png_files = list.files(
path = dirname(opts_chunk$get("fig.path")),
pattern = "template_",
full.names = TRUE
),
gif_file = paste0(opts_chunk$get("fig.path"), "template.gif"),
width = 1920 * 2/3, height = 1080 * 2/3,
delay = 3,
loop = TRUE,
progress = FALSE
)if (
file.exists("man/figures/insane_app.mp4") &
!file.exists(paste0(opts_chunk$get("fig.path"), "insane_app.gif"))
) {
system("ffmpeg -i man/figures/insane_app.mp4 -vf fps=1 man/figures/insane_app%04d.png")
gif_app <- gifski(
png_files = list.files(
path = dirname(opts_chunk$get("fig.path")),
pattern = "insane_app.*.png",
full.names = TRUE
),
gif_file = paste0(opts_chunk$get("fig.path"), "insane_app.gif"),
width = 1920 * 2/3,
height = 1080 * 2/3,
delay = 0.50,
loop = TRUE,
progress = FALSE
)
unlink(list.files(
path = dirname(opts_chunk$get("fig.path")),
pattern = "insane_app.*.png",
full.names = TRUE
))
}
gif_app <- paste0(opts_chunk$get("fig.path"), "insane_app.gif")
```# INsulin Secretion ANalysEr
[![GitHub
tag](https://img.shields.io/github/tag/mcanouil/insane.svg?label=latest%20tag&include_prereleases)](https://github.com/mcanouil/insane)
[![Codecov test
coverage](https://codecov.io/gh/mcanouil/insane/branch/main/graph/badge.svg)](https://app.codecov.io/gh/mcanouil/insane/tree/main/)
[![R-CMD-check](https://github.com/mcanouil/insane/workflows/R-CMD-check/badge.svg)](https://github.com/mcanouil/insane/actions)
[![CRAN\_Status\_Badge](https://www.r-pkg.org/badges/version-ago/insane)](https://cran.r-project.org/package=insane)
[![cran
checks\_worst](https://badges.cranchecks.info/worst/insane.svg)](https://cran.r-project.org/web/checks/check_results_insane.html)
[![CRAN\_Download\_total](https://cranlogs.r-pkg.org/badges/insane)](https://cran.r-project.org/package=insane)
[![DOI](https://zenodo.org/badge/170500704.svg)](https://zenodo.org/badge/latestdoi/170500704)A user-friendly interface, using Shiny, to analyse glucose-stimulated insulin secretion (GSIS) assays in pancreatic beta cells or islets.
The package allows the user to import several sets of experiments from different spreadsheets and to perform subsequent steps: summarise in a tidy format, visualise data quality and compare experimental conditions without omitting to account for technical confounders such as the date of the experiment or the technician.
Together, insane is a comprehensive method that optimises pre-processing and analyses of GSIS experiments in a friendly-user interface.
The Shiny App was initially designed for EndoC-betaH1 cell line following method described in Ndiaye et al., 2017 (https://doi.org/10.1016/j.molmet.2017.03.011).## Installation
```{r, eval = FALSE}
# Install insane from CRAN:
install.packages("insane")# Or the the development version from GitHub:
# install.packages("remotes")
remotes::install_github("mcanouil/insane")
``````{r, eval = FALSE}
library("insane")
go_insane()
```
```{r, echo = FALSE}
include_graphics(gsub(".*/man", "man", gif_app))
```## Overview
The Shiny (R package) application __insane__ (*INsulin Secretion ANalysEr*) provides a web interactive tool to import experiments of insulin secretion using cell lines such as EndoC-βH1.
1. [Excel Template](#excel-template-top)
2. [The App](#the-app-top)
1. [Technical Quality-Control](#technical-quality-control-top)
2. [Statistical analyses](#statistical-analyses-top)
3. [List of Outliers (Issues Detected)](#list-of-outliers-issues-detected-top)### Excel Template ([top](#overview))
An Excel template is provided within the app to help users import their experiments in an easy way.
```{r, echo = FALSE}
include_graphics(gsub(".*/man", "man", gif_template))
```### The App ([top](#overview))
__insane__ provides a user-friendly interface which can handle several projects separately.
```{r, echo = FALSE}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_001.png"))
```#### Technical Quality-Control ([top](#overview))
__insane__ performs technical quality-control of the optical density measured in each steps of the experiments:
* blank (*BLANK*),
* lysat (*LYSATE*),
* supernatant (*SUPERNATANT1* and *SUPERNATANT2*).This technical quality-control step checks:
* the variability among the duplicated optical density measures of each samples;
* the variability in the blank curves (intercept and slope estimates) among all experiments in a project.```{r, echo = FALSE}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_002.png"))
```#### Statistical analyses ([top](#overview))
__insane__ performs statistical analyses of the experimental conditions, *e.g.*, one silenced gene (*siGENE*) compared to an insulin secretion *reference* (*siNTP*) in two stimulation conditions (*Glc* and *Glc + A*).
Conditions are compared using a linear regression with `Date` and `Operator` as covariates (if needed) to control for heterogeneity.
* Using all experiments in the selected project
* Boxplot version
```{r, echo = FALSE, out.width = "65%"}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_003.png"))
```* Histogram version
```{r, echo = FALSE, out.width = "65%"}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_004.png"))
```* Using some of the experiments in the selected project
```{r, echo = FALSE, out.width = "65%"}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_005.png"))
```If and when some experiments are failing any of the technical quality-controls, a summary of the issues regarding the selected experiments can be displayed using the button `Show Issues in the Selected Experiments`.
```{r, echo = FALSE, out.width = "50%"}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_006.png"))
include_graphics(paste0(opts_chunk$get("fig.path"), "app_007.png"))
```#### List of Outliers (Issues Detected) ([top](#overview))
A comprehensive list of all issues detected in the selected project is available in an `Outliers` tab.
```{r, echo = FALSE}
include_graphics(paste0(opts_chunk$get("fig.path"), "app_008.png"))
```*Note*: The `Outliers` tab is displayed only if there is at least one issue in the selected project.
## Getting help
If you encounter a clear bug, please file a minimal reproducible example on [github](https://github.com/mcanouil/insane/issues).
For questions and other discussion, please contact the package maintainer.---
Please note that this project is released with a [Contributor Code of Conduct](https://github.com/mcanouil/insane/blob/main/.github/CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.