Subject: [PATCH 1/3] gnu: Add r-scgate.

From: Mădălin Ionel Patrașcu<[email-masked]>
Date: Wed, 27 Dec 2023 11:02:34 +0100

* gnu/packages/bioinformatics.scm (r-scgate): New variable.

Change-Id: Ibcf9eaef67398aa00473d29d651c6d32e425d989
---
 gnu/packages/bioinformatics.scm | 41 +++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3e7b99ee61..d572980965 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -10301,6 +10301,47 @@ (define-public r-sccustomize
 visualization and analysis of single-cell data using R.")
       (license license:gpl3+))))
 
+(define-public r-scgate
+  (package
+    (name "r-scgate")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "scGate" version))
+       (sha256
+        (base32 "0h12d36zjc6fvxbhkxrzbpvw49z9fgyn1jc941q70ajw1yqi2hhh"))))
+    (properties `((upstream-name . "scGate")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-biocparallel
+           r-dplyr
+           r-ggplot2
+           r-ggridges
+           r-patchwork
+           r-reshape2
+           r-seurat
+           r-ucell))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/carmonalab/scGate")
+    (synopsis
+     "Marker-based cell type purification for single-cell sequencing data")
+    (description
+     "This package provides a method to purify a cell type or cell population of
+interest from heterogeneous datasets.  scGate package automatizes marker-based
+purification of specific cell populations, without requiring training data or
+reference gene expression profiles.  scGate takes as input a gene expression
+matrix stored in a Seurat object and a @acronym{GM, gating model}, consisting of
+a set of marker genes that define the cell population of interest.  It evaluates
+the strength of signature marker expression in each cell using the rank-based
+method UCell, and then performs @acronym{kNN, k-nearest neighbor} smoothing by
+calculating the mean UCell score across neighboring cells.  kNN-smoothing aims
+at compensating for the large degree of sparsity in scRNAseq data.  Finally, a
+universal threshold over kNN-smoothed signature scores is applied in binary
+decision trees generated from the user-provided gating model, to annotate cells
+as either “pure” or “impure”, with respect to the cell population of interest.")
+    (license license:gpl3)))
+
 (define-public r-markdownhelpers
   (let ((commit "793372d28ebed607cc1d35f909a1caedb2b41ffe")
         (revision "1"))

base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
-- 
2.41.0