{"id":14068021,"url":"https://github.com/mcanouil/insane","last_synced_at":"2025-07-15T22:31:57.059Z","repository":{"id":56935466,"uuid":"170500704","full_name":"mcanouil/insane","owner":"mcanouil","description":"An Interactive Web Application for Quality Control and Analysis of Insulin Secretion from Pancreatic Beta Cells","archived":false,"fork":false,"pushed_at":"2024-01-27T12:14:57.000Z","size":51652,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-06T14:46:15.211Z","etag":null,"topics":["beta-cells","endoc-betah1","insulin-secretion","pancreas","r","r-package","rstats","shiny","statistics","stats"],"latest_commit_sha":null,"homepage":"https://m.canouil.dev/insane/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcanouil.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null},"funding":{"github":"mcanouil","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2019-02-13T12:00:45.000Z","updated_at":"2023-04-01T11:18:50.000Z","dependencies_parsed_at":"2024-01-12T20:57:16.870Z","dependency_job_id":"fd2a2911-bd19-4393-bcd3-df0076e2ca95","html_url":"https://github.com/mcanouil/insane","commit_stats":{"total_commits":186,"total_committers":1,"mean_commits":186.0,"dds":0.0,"last_synced_commit":"bfbe1dbe88b12696af52cf63860d320fe18182a4"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcanouil%2Finsane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcanouil%2Finsane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcanouil%2Finsane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcanouil%2Finsane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcanouil","download_url":"https://codeload.github.com/mcanouil/insane/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226077541,"owners_count":17570163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beta-cells","endoc-betah1","insulin-secretion","pancreas","r","r-package","rstats","shiny","statistics","stats"],"created_at":"2024-08-13T07:05:54.060Z","updated_at":"2024-11-23T17:47:47.728Z","avatar_url":"https://github.com/mcanouil.png","language":"R","funding_links":["https://github.com/sponsors/mcanouil"],"categories":["R"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nlibrary(knitr)\nlibrary(gifski)\nopts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n\ngif_template \u003c- gifski(\n  png_files = list.files(\n    path = dirname(opts_chunk$get(\"fig.path\")), \n    pattern = \"template_\", \n    full.names = TRUE\n  ), \n  gif_file = paste0(opts_chunk$get(\"fig.path\"), \"template.gif\"), \n  width = 1920 * 2/3, height = 1080 * 2/3,\n  delay = 3, \n  loop = TRUE, \n  progress = FALSE\n)\n\nif (\n  file.exists(\"man/figures/insane_app.mp4\") \u0026 \n    !file.exists(paste0(opts_chunk$get(\"fig.path\"), \"insane_app.gif\"))\n) {\n  system(\"ffmpeg -i man/figures/insane_app.mp4 -vf fps=1 man/figures/insane_app%04d.png\")\n  gif_app \u003c- gifski(\n    png_files = list.files(\n      path = dirname(opts_chunk$get(\"fig.path\")), \n      pattern = \"insane_app.*.png\", \n      full.names = TRUE\n    ), \n    gif_file = paste0(opts_chunk$get(\"fig.path\"), \"insane_app.gif\"),\n    width = 1920 * 2/3,\n    height = 1080 * 2/3,\n    delay = 0.50,\n    loop = TRUE,\n    progress = FALSE\n  )\n  unlink(list.files(\n    path = dirname(opts_chunk$get(\"fig.path\")), \n    pattern = \"insane_app.*.png\", \n    full.names = TRUE\n  ))\n}\ngif_app \u003c- paste0(opts_chunk$get(\"fig.path\"), \"insane_app.gif\")\n```\n\n# INsulin Secretion ANalysEr \u003cimg src=\"man/figures/insane.png\" align=\"right\" width=\"120\" /\u003e\n\n\u003c!-- badges: start --\u003e\n[![GitHub\ntag](https://img.shields.io/github/tag/mcanouil/insane.svg?label=latest%20tag\u0026include_prereleases)](https://github.com/mcanouil/insane)\n[![Codecov test\ncoverage](https://codecov.io/gh/mcanouil/insane/branch/main/graph/badge.svg)](https://app.codecov.io/gh/mcanouil/insane/tree/main/)\n[![R-CMD-check](https://github.com/mcanouil/insane/workflows/R-CMD-check/badge.svg)](https://github.com/mcanouil/insane/actions)\n[![CRAN\\_Status\\_Badge](https://www.r-pkg.org/badges/version-ago/insane)](https://cran.r-project.org/package=insane)\n[![cran\nchecks\\_worst](https://badges.cranchecks.info/worst/insane.svg)](https://cran.r-project.org/web/checks/check_results_insane.html)\n[![CRAN\\_Download\\_total](https://cranlogs.r-pkg.org/badges/insane)](https://cran.r-project.org/package=insane)\n[![DOI](https://zenodo.org/badge/170500704.svg)](https://zenodo.org/badge/latestdoi/170500704)\n\u003c!-- badges: end --\u003e\n\nA user-friendly interface, using Shiny, to analyse glucose-stimulated insulin secretion (GSIS) assays in pancreatic beta cells or islets.  \nThe 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.  \nTogether, insane is a comprehensive method that optimises pre-processing and analyses of GSIS experiments in a friendly-user interface.  \nThe 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).\n\n## Installation\n\n```{r, eval = FALSE}\n# Install insane from CRAN:\ninstall.packages(\"insane\")\n\n# Or the the development version from GitHub:\n# install.packages(\"remotes\")\nremotes::install_github(\"mcanouil/insane\")\n```\n\n```{r, eval = FALSE}\nlibrary(\"insane\")\ngo_insane()\n```\n```{r, echo = FALSE}\ninclude_graphics(gsub(\".*/man\", \"man\", gif_app))\n```\n\n\n## Overview\n\nThe 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.\n\n1. [Excel Template](#excel-template-top)  \n2. [The App](#the-app-top)  \n    1. [Technical Quality-Control](#technical-quality-control-top)  \n    2. [Statistical analyses](#statistical-analyses-top)  \n    3. [List of Outliers (Issues Detected)](#list-of-outliers-issues-detected-top)\n\n### Excel Template ([top](#overview))\n\nAn Excel template is provided within the app to help users import their experiments in an easy way.\n\n```{r, echo = FALSE}\ninclude_graphics(gsub(\".*/man\", \"man\", gif_template))\n```\n\n### The App ([top](#overview))\n\n__insane__ provides a user-friendly interface which can handle several projects separately.\n\n```{r, echo = FALSE}\ninclude_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_001.png\"))\n```\n\n#### Technical Quality-Control ([top](#overview))\n\n__insane__ performs technical quality-control of the optical density measured in each steps of the experiments:\n\n* blank (*BLANK*), \n* lysat (*LYSATE*), \n* supernatant (*SUPERNATANT1* and *SUPERNATANT2*).  \n\nThis technical quality-control step checks:\n\n* the variability among the duplicated optical density measures of each samples;\n* the variability in the blank curves (intercept and slope estimates) among all experiments in a project.\n\n```{r, echo = FALSE}\ninclude_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_002.png\"))\n```\n\n#### Statistical analyses ([top](#overview))\n\n__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*).\n\nConditions are compared using a linear regression with `Date` and `Operator` as covariates (if needed) to control for heterogeneity.\n\n* Using all experiments in the selected project\n\n    * Boxplot version\n    \n        ```{r, echo = FALSE, out.width = \"65%\"}\n        include_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_003.png\"))\n        ```\n\n    * Histogram version\n    \n        ```{r, echo = FALSE, out.width = \"65%\"}\n        include_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_004.png\"))\n        ```\n\n* Using some of the experiments in the selected project\n\n    ```{r, echo = FALSE, out.width = \"65%\"}\n    include_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_005.png\"))\n    ```\n\nIf 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`.\n\n```{r, echo = FALSE, out.width = \"50%\"}\ninclude_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_006.png\"))\ninclude_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_007.png\"))\n```\n\n\n#### List of Outliers (Issues Detected) ([top](#overview))\n\nA comprehensive list of all issues detected in the selected project is available in an `Outliers` tab.\n\n```{r, echo = FALSE}\ninclude_graphics(paste0(opts_chunk$get(\"fig.path\"), \"app_008.png\"))\n```\n\n*Note*: The `Outliers` tab is displayed only if there is at least one issue in the selected project.\n\n\n## Getting help\n\nIf you encounter a clear bug, please file a minimal reproducible example on [github](https://github.com/mcanouil/insane/issues).  \nFor questions and other discussion, please contact the package maintainer.\n\n---\n\nPlease note that this project is released with a [Contributor Code of Conduct](https://github.com/mcanouil/insane/blob/main/.github/CODE_OF_CONDUCT.md).  \nBy participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcanouil%2Finsane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcanouil%2Finsane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcanouil%2Finsane/lists"}