Skip to content

Yichen-Si/punkst

Repository files navigation

punkst

punkst is an ongoing effort to implement scalable tools for analyzing high resolution spatial transcriptomics data.

punkst includes a pipeline for efficient pixel level factor analysis (FICTURE) with improved efficiency and flexibility. (Previous python package is still available but is no longer maintained)

You can use punkst to prepare your data for visualization on CartoScope, including raw transcript data, segmented cells, morphology images, and punkst analysis results.

Documentation: https://Yichen-Si.github.io/punkst

Installation

See more details in install page.

If you have difficulty installing, let us known (by opening an issue). You can also try Docker (see below), but the Docker image is not always up to date.

Prebuilt Linux Tarballs

Linux tarballs for HPC clusters are attached to GitHub Releases. Download the build with CPU features matching your machine (x86_64, x86_64-v3, or x86_64-v4), unpack it, and run:

bin/punkst --help

See the installation documentation for details on choosing the right build and verifying the installation.

Building from Source

Prerequisites

  • Git
  • CMake >= 3.15
  • C++17 compiler* (GCC >= 9, Clang/Apple Clang/MSVC with C++17 standard library support)
  • TBB
  • libpng (optional; enabled by default for generating png images)
  • libcurl (optional; enabled by default for http(s) / s3:// input support)

*GCC 9 or newer is the supported Linux baseline. GCC 8 may work in some environments, but older std::filesystem support varies across distributions.

# 1) Clone the repository
git clone --recursive https://github.com/Yichen-Si/punkst.git
cd punkst
# 2) Create and enter a build directory
mkdir build && cd build
# 3) Configure
cmake ..
# 4) Build
cmake --build . --parallel # or make

If you did not clone the submodule (Eigen) initially, you can do

git submodule update --init

If TBB is not found, you can install it by sudo apt-get install libtbb-dev or yum install tbb-devel on linux and brew install tbb on macOS. If you don't have root access on linux, you can install oneTBB locally.

Remote readers for http(s) and s3:// inputs are controlled by the CMake option ENABLE_REMOTE_IO (default ON). It requires libcurl at configure/build time, set -DENABLE_REMOTE_IO=OFF to build without libcurl; local-file input still works, but remote URL input is disabled

If you installed some dependencies locally, you might need to specify their paths like

cmake .. -DTBB_DIR=$HOME/user/opt/tbb/lib/cmake/tbb \
    -DCMAKE_PREFIX_PATH="$HOME/.local"

The punkst binary will be placed in bin/ under the project root.

Verify the Build

punkst/bin/punkst --help

You should see a message starting with

Available Commands
The following commands are available:

Using Docker

The docker image is not often up to date, we recommend using the prebuilt binaries or building from source.

docker pull philo1984/punkst:latest

If your machine does not support x86-64-v3, use the portable tag instead (but it may be significantly slower):

docker pull philo1984/punkst:portable

Viirfy the installation:

docker run --rm philo1984/punkst:latest punkst --help

About

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages