Skip to content
cccskills
FreePublished on GitHub

bioconductor-scuttle

Provides basic utility functions for performing single-cell analyses, focusing on simple normalization, quality control and data transformations. Also provides some helper functions to assist development of other packages.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

scuttle

Provides basic utility functions for performing single-cell analyses, focusing on simple normalization, quality control and data transformations. Also provides some helper functions to assist development of other packages.

Dependencies & Environment

Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

  • Version: 1.22.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Depends: SingleCellExperiment
  • Imports: Matrix, Rcpp, BiocGenerics, S4Vectors, BiocParallel, GenomicRanges, SummarizedExperiment, S4Arrays, MatrixGenerics, SparseArray, DelayedArray, beachmat
  • System requirements: C++17
  • Install: BiocManager::install("scuttle")

When to Use

  • Quality Control Metrics: When you need to compute basic feature-level statistics (mean counts, detection rates) using perFeatureQCMetrics or calculateAverage.
  • Gene Identifier Conversion: When you need to replace stable Ensembl identifiers with unique, non-missing gene symbols using uniquifyFeatureNames.
  • Data Extraction for Visualization: When you need to extract expression profiles and metadata into a standard data.frame for ggplot or model.matrix using makePerCellDF or makePerFeatureDF.
  • Scaling Normalization: When removing composition biases using median-based normalization (medianSizeFactors), pooling normalization (computePooledFactors), or spike-in normalization (computeSpikeFactors).

When NOT to Use

  • For state-of-the-art single-cell pipelines: Use scran instead because many of scuttle's low-level utilities are legacy functions that have been superseded by more efficient implementations in other packages.
  • For complex clustering: Use quickCluster from scran instead because scuttle relies on external packages for the clustering step required prior to pooled normalization.

Data Requirements

  • Input Format: A SingleCellExperiment object.
  • Data Type: Raw count matrices (e.g., assay.type="counts").
  • Annotations: Row names should ideally be stable identifiers (like Ensembl IDs) that can be mapped to symbols.

Key Parameters

  • subsets (list(Empty=1:10)): Used in perFeatureQCMetrics to define control sets (e.g., empty wells) for calculating ratio metrics.
  • assay.type ("counts"): Specifies which assay to extract data from in makePerCellDF and makePerFeatureDF.
  • features ("Tspan12"): Specifies the specific genes to extract expression data for in makePerCellDF.
  • cells (c(...)): Specifies the specific cells to extract expression profiles for in makePerFeatureDF.
  • clusters (clusters): Used in computePooledFactors to apply normalization within predefined clusters before adjusting across clusters.

Best Practices

  • Publish unfiltered count matrices with stable identifiers (e.g., Ensembl IDs) rather than filtered matrices with gene symbols, as filtered features cannot be recovered for data integration.
  • Use uniquifyFeatureNames to safely convert Ensembl IDs to gene symbols for interactive analysis, ensuring duplicates are appended with identifiers and missing symbols are replaced.
  • Perform a rough clustering (e.g., using scran::quickCluster) prior to running computePooledFactors on heterogeneous populations to avoid violating the assumption that most genes are non-DE.

Common Pitfalls

  • Negative size factor estimates: Low-quality cells with very few expressed genes can produce negative size factors during normalization; fix this by performing strict quality control to remove damaged cells before running computePooledFactors.
  • Duplicated row names: Blindly replacing stable IDs with gene symbols can create duplicate row names; fix this by wrapping the replacement in uniquifyFeatureNames.
  • Violating non-DE assumptions: Running computePooledFactors globally on a highly heterogeneous dataset can distort scaling factors; fix this by supplying a clusters argument to normalize within subpopulations first.

Alternatives

  • scran: Provides more advanced and actively maintained implementations of single-cell utilities, including the quickCluster function required for pooled normalization.
  • DESeq2: Provides the original median ratio normalization approach that medianSizeFactors adapts for single-cell data.

Citations

  • McCarthy, D. J., Campbell, K. R., Lun, A. T., & Wills, Q. F. (2017). Scater: pre-processing, quality control, normalization and visualization of single-cell RNA-seq data in R. Bioinformatics, 33(8), 1179-1186.

References

<!-- biomate-cta -->

Run this on BioMate

This skill is the knowledge layer — when, why, and how to use scuttle. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.

▶ Open scuttle on BioMate →

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill