Introduction and installation

Enhlink is a novel computational approach that utilizes single-cell signals to infer linkages between regulatory sequences such as enhancers and promoters. To accomplish this, Enhlink employs an ensemble strategy that integrates cell covariates and produces robust p-values for any link and covariate-specific link.

Designed to leverage multi-omic datasets, Enhlink incorporates complementary omic measurements such as gene expression to infer enhancer-promoter links. By modeling the surrounding enhancers and covariates as predictive features of promoter accessibility (or gene expression), Enhlink utilizes a modified Information Gain score, a random forest framework, and a bootstrap procedure to estimate significant features associated with a given promoter. Additionally, Enhlink performs a second-order analysis, if desired, that identifies linkages specific to a given covariate.

Enhlink is not limited to proximal enhancers but rather can infer distal enhancer-gene linkages. Finally, Enhlink incorporates a simulation workflow designed using experimentally validated enhancer-promoter signals, which improves prediction accuracy.

Installation

Using precompiled executables

we precompiled the three executables for enhlink, enhgrid, and enhtools and made them available in an associated figshare project. They are compatible with either Linux x86_64 or OSX arm64 platforms.

Using go installation mechanisms

Install a a golang compiler (if not existing)

#In .bashrc or .zshrc
export GOROOT=$HOME/go # or wherever is you go folder
export GOBIN=$HOME/go/local/bin # or wherever is your local bin folder for go exectuable
export GOPATH=$HOME/go/code/:$HOME/code

PATH=$GOPATH:$GOROOT:$PATH
PATH=$HOME/go/bin/:$GOBIN:$PATH
  • source your init file source ~/.bashrc

Install the packages

# go version >= 1.18. This might work too with older go versions
## Install enhlink
go install gitlab.com/Grouumf/enhlinktools/enhlink@latest
## Install enhgrid
go install gitlab.com/Grouumf/enhlinktools/enhgrid@latest
## Install enhtools
go install gitlab.com/Grouumf/enhlinktools/enhtools@latest

Installation (from repository)

git clone https://gitlab.com/Grouumf/enhlinktools.git
cd ./enhlinktools/enhlink
go install .
cd ../enhgrid/
go install .
cd ../enhtools/
go install .

Alternatively, one can use go build to direcly build the executable into the same folder

git clone https://gitlab.com/Grouumf/enhlinktools.git
cd ./enhlinktools/enhlink
# this command compile the executable into the local directory
go build .
cd ../enhgrid/
go build .
cd ../enhtools/
go build .