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
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.