.. _installation:
************
Installation
************
Asc-Seurat can be installed in two ways:
- **Docker** — recommended for most users. Zero dependency management;
every optional feature is bundled.
- **R package from GitHub** — lighter and starts faster if you already
work in R and are comfortable managing Bioconductor packages.
Both options run the same Shiny app and produce identical results.
Source code lives at https://github.com/Pereira-Lab-UF/asc_seurat.
Option 1 — Docker (recommended)
===============================
Requirements: a recent `Docker `_
installation. Nothing else.
.. code-block:: bash
docker pull pereiralabbio/asc-seurat:3 && docker run --rm -p 3838:3838 pereiralabbio/asc-seurat:3
Then open `http://localhost:3838 `_ in a browser.
Docker containers cannot see arbitrary host paths unless those paths are
mounted when the container starts. The easiest pattern is to launch the
container from the folder that contains your data and mount that current
folder into Asc-Seurat's ``data/`` directory:
.. code-block:: bash
cd "/path/to/folder/that/contains/your/data"
docker run --rm -p 3838:3838 \
-v "$PWD:/home/ascseurat/data:ro" \
pereiralabbio/asc-seurat:3
Then enter paths relative to the app workdir, for example
``data/sample/filtered_feature_bc_matrix``. If the mounted folder itself
is the 10X matrix directory, enter ``data/``.
If you prefer to paste normal absolute paths from anywhere under your
home directory on macOS or Linux, mount your home directory at the same
path inside the container:
.. code-block:: bash
docker run --rm -p 3838:3838 \
-v "$HOME:$HOME:ro" \
pereiralabbio/asc-seurat:3
Then enter the normal absolute path in Asc-Seurat, for example
``/Users/you/project/sample/filtered_feature_bc_matrix``, without
wrapping the path in quotes. To expose external drives on macOS, also
mount ``/Volumes:/Volumes:ro``. On Windows, mount a folder to a Linux
container path such as ``/home/ascseurat/data`` and enter ``data/...``
in the app.
Option 2 — R package from GitHub
================================
Requires **R ≥ 4.3.0** and Rstudio is recommended.
From a terminal, install the system dependencies first. Asc-Seurat installs the R packages
automatically, but native packages still need compilers and HDF5 available on
the machine.
.. code-block:: bash
# Ubuntu/Debian
sudo apt-get install -y build-essential gfortran libhdf5-dev pkg-config
# macOS
xcode-select --install
brew install hdf5 pkg-config
curl -LO https://mac.r-project.org/tools/gfortran-14.2-universal.pkg
sudo installer -pkg gfortran-14.2-universal.pkg -target /
Follow the upstream `BPCells R installation instructions `_
if you need more detail on the HDF5 requirement.
Then, from inside an R session, install ``BPCells`` before installing
Asc-Seurat. ``BPCells`` is required by the trajectory stack, and installing it
first avoids a known ``pak`` failure with GitHub sub-directory packages.
.. code-block:: r
install.packages(c("pak", "remotes"))
remotes::install_github("bnprks/BPCells/r", upgrade = "never")
pak::pkg_install(
"Pereira-Lab-UF/asc_seurat",
dependencies = c("Depends", "Imports", "LinkingTo")
)
The ``pak`` command installs every R package declared as an app runtime
dependency in ``DESCRIPTION``, including ``PseudotimeDE``. It avoids only
developer, documentation, and test-only packages. On macOS,
``PseudotimeDE`` requires the official R GNU Fortran toolchain above. The
error ``library 'emutls_w' not found`` means that toolchain is missing or
mismatched.
If the GitHub install of ``BPCells`` is rate-limited or unavailable, use
the BPCells R-universe repository first, then run the Asc-Seurat install:
.. code-block:: r
install.packages("BPCells", repos = c("https://bnprks.r-universe.dev", "https://cloud.r-project.org"))
pak::pkg_install(
"Pereira-Lab-UF/asc_seurat",
dependencies = c("Depends", "Imports", "LinkingTo")
)
Then launch the app:
.. code-block:: r
ascseurat::run_app()
Python dependencies for PAGA
----------------------------
Docker users can skip this step — Scanpy is already in the image.
PAGA uses the Python `Scanpy `_ stack
via `reticulate `_. A one-liner
prepares and verifies a managed Python environment:
.. code-block:: r
ascseurat::setup_paga()
Resource notes
==============
Single-cell analysis is memory-intensive. Larger datasets will require
more RAM whether you use Docker or the R package. we recommend at least 8 GB for datasets of ~20,000 cells.
Verifying the installation
==========================
After launching the app, open the **Demo** tab in the top navigation.
A 2,000-cell subset of the PBMC 3k reference dataset is loaded
automatically and you can walk through the full workflow in a few
minutes. See :ref:`getting_started` for the step-by-step tour.