Skip to contents

iscream

Integrating Single-Cell Results for Exploring and Analyzing Methylation

Analysis and visualization of Whole Genome Bisulfite Sequencing (WGBS) data requires reading aligned sequencing data into formats that existing packages like BSseq and scMET can analyze. Getting the data from on-disk formats like BED files to a matrix of methylation values can be difficult because, with nearly 30 million CpGs, WGBS data can be quite large.

iscream aims to efficiently read data from any BED file into formats usable by other packages. Using htslib, iscream can query genomic regions like tabix, summarize the queried data and make matrices, with specific support for WGBS BED files aligned by BISCUIT, Bismark and BSBolt.

Dependencies

htslib >= 1.17

iscream depends on the htslib header files. These may be installed with your package manager:

  • ubuntu/debian: libhts-dev
  • fedora/RHEL: htslib-devel
  • brew: htslib
  • nixpkgs: htslib
  • conda: bioconda::htslib

or built manually: https://www.htslib.org/download/. See vignette("htslib") for more information.

The header files may also be found among your HPC modules - make sure the PKG_CONFIG_PATH environment variable includes the pkgconfig location for your installation of htslib. You can verify that the htslib development libraries are installed with pkg-config:

# set path if necessary
export PKG_CONFIG_PATH=[path to htslib installation]
# verify that htslib can be found
pkg-config --cflags --libs htslib

tabix

Some htslib installations do not include the tabix executable (on Ubuntu you need to install both libhts-dev and tabix). iscream will work without tabix, but the tabix() function will be faster if the executable is installed.

GCC >= 9.4.0

GNU GCC must be installed for OpenMP support. This is usually installed by default on Linux systems, but may need to be manually installed on MacOS to use iscream with multiple threads1.

Installation

GitHub

You can install the development version from Github by cloning the repo and running

git clone https://github.com/huishenlab/iscream
R CMD INSTALL iscream

You can also use the R devtools package:

devtools::install_github("huishenlab/iscream")

or pak:

pak::pkg_install("huishenlab/iscream")

Usage

See the quick start guide for an overview of iscream’s functionality and the function reference for all available functions. Bug reports may be submitted through GitHub issues.