insane

An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells.

https://github.com/mcanouil/insane

Science Score: 36.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
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

beta-cells endoc-betah1 insulin-secretion pancreas r r-package rstats shiny statistics stats
Last synced: 9 months ago · JSON representation

Repository

An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
beta-cells endoc-betah1 insulin-secretion pancreas r r-package rstats shiny statistics stats
Created over 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing Funding License Code of conduct Support

README.Rmd

---
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.

Owner

  • Name: Mickaël Canouil
  • Login: mcanouil
  • Kind: user
  • Location: Lille, France

Biostatistician, Ph. D. (& cinephile) @RLille User Group Organiser

GitHub Events

Total
  • Watch event: 1
  • Delete event: 2
  • Push event: 1
Last Year
  • Watch event: 1
  • Delete event: 2
  • Push event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 186
  • Total Committers: 1
  • Avg Commits per committer: 186.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Mickaël Canouil 8****l 186

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 4
  • Average time to close issues: 8 months
  • Average time to close pull requests: 6 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mcanouil (1)
Pull Request Authors
  • mcanouil (4)
Top Labels
Issue Labels
release (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 254 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
cran.r-project.org: insane

INsulin Secretion ANalysEr

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 254 Last month
Rankings
Stargazers count: 28.5%
Forks count: 28.8%
Dependent packages count: 29.8%
Average: 34.7%
Dependent repos count: 35.5%
Downloads: 51.2%
Maintainers (1)
Last synced: 10 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.6.0 depends
  • DT >= 0.13 imports
  • broom >= 0.5.6 imports
  • dplyr >= 1.0.0 imports
  • ggbeeswarm >= 0.6.0 imports
  • ggplot2 >= 3.3.2 imports
  • ggpubr >= 0.3.0 imports
  • ggthemes >= 4.2.0 imports
  • glue >= 1.4.1 imports
  • patchwork >= 1.0.1 imports
  • purrr >= 0.3.4 imports
  • readxl >= 1.3.1 imports
  • shiny >= 1.5.0 imports
  • stats * imports
  • tidyr >= 1.1.0 imports
  • utils * imports
  • covr >= 3.5.0 suggests
  • knitr >= 1.29 suggests
  • rmarkdown >= 2.3 suggests
  • roxygen2 >= 7.1.0 suggests
  • testthat >= 2.3.2 suggests
.github/workflows/check-pak.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 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/pkgdown-pak.yaml actions
  • JamesIves/github-pages-deploy-action 4.1.4 composite
  • actions/checkout v2 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/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v2 composite
  • r-lib/actions/pr-push v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/render-readme.yaml actions
  • actions/checkout v2 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-pak.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite