Helper functions for seurat pipeline to make your life easier.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-14 19:38:20 +02:00
man Initial commit of ivytools 2026-10-14 17:37:56 +02:00
R Initial commit of ivytools 2026-10-14 17:37:56 +02:00
.gitignore Initial commit of ivytools 2026-10-14 17:37:56 +02:00
.Rbuildignore Initial commit of ivytools 2026-10-14 17:37:56 +02:00
DESCRIPTION Initial commit of ivytools 2026-10-14 17:37:56 +02:00
IvyToolbox.Rproj Initial commit of ivytools 2026-10-14 17:37:56 +02:00
NAMESPACE Initial commit of ivytools 2026-10-14 17:37:56 +02:00
README.md Update README.md 2026-10-14 19:38:20 +02:00

IvyToolbox

Helper functions for seurat pipeline to make your life easier.

Install and Load library

install.packages("remotes")   # if not installed
remotes::install_git(
  "https://code.bnitm.de/federico.tenedini/IvyToolbox.git"
)

library(IvyToolbox)

Calculate the range of the conservative to liberal dim amounts

FindElbow(seurat)

Plot publication ready QC plots on A4 page by meta cols. density plots and scatter plots ( scaled by numerical cols). automatically saves file as pdf.

QC_plots(seurat, group.by = c("donor_id", "sample", "condition", "sex"), cols = "polychrome", scatter.by = c("mitoRatio", "scDbl_score"), outdir = "01_preprocessing/QC_plots")

Plot PCA before and after harmony integration and the elbowplots

PCA_plots(seurat, 
          dims = 30, # For indicating a line how many dims we took
          outdir = "01_preprocessing/QC_plots")

Plot UMAPs grouped by different metadata columns. Split by other columns and show a main_group. Also printed on A4 pages. specific split pairs can be chosen extra. automatically saves file as pdf.

UMAP_plots(seurat, 
           cluster.by = c("RNA_clusters_1", "cell_types_l1"), 
           main_group = "cell_types_l1",
           reduction = "harmony.umap",
           group.by = c("sample", "suspension_type", "chemistry", "dbl_consensus"),
           #split.by = c("condition", "sample"),
           #split.pairs = list(c("dbl_consensus", "suspension_type")),
           dims = 30, resolution = c(1, NA),
           text.scale = 1,
           outdir = "01_preprocessing/QC_plots/UMAP")

Plot FeaturePlots of numerical features. Split by other columns and show a main_group. Is NOT having the scale issue of original feature plot Also printed as A4 pages. automatically saves file as pdf.

Feature_plots(seurat, 
              features = c("nFeature_RNA", "nCount_RNA", "soupx_frac_removed", "scDbl_score", "DF.score", "log10GenesPerUMI", "mitoRatio", "hbRatio", "riboRatio"),
              reduction = "harmony.umap", 
              split.by = c("condition"),
              outdir = "01_preprocessing/QC_plots/Feature")

check functions helper to see all defaults and parameters