A Snakemake pipeline for integrating HiChIP differential interaction analysis and TF binding analysis.
Project description
SnakeHichipTF
A Comprehensive Snakemake Pipeline for integrating HiChIP / PLAC-Seq Processing and Transcription Factor Binding Analysis
Overview
SnakeHichipTF is a modular, reproducible, and scalable Snakemake-based workflow for integrative analysis of HiChIP and PLAC-seq datasets, with optional integration of ATAC-seq–based transcription factor (TF) footprinting.
The pipeline supports:
- End-to-end processing from FASTQ → interaction maps → loop calling → TF binding inference
- Multiple mapping engines: HiC-Pro, Chromap
- Multiple loop callers: MAPS, FitHiChIP, HiChipper, HiCDCPlus
- AI-based TF binding inference via scPrinter
- Footprinting-based TF analysis using TOBIAS
- Genome setup utilities (restriction fragments, indices)
- Read downsampling and QC reporting
- Fully reproducible execution via Snakemake
SnakeHichipTF is designed for flexible experimental designs, including bulk HiChIP, PLAC-seq, and integration with matched ATAC-seq data.
Key Features
1. Modular Architecture
Each analytical stage is implemented as an independent Snakemake rule:
- Genome preparation
- Significant interaction analysis
- Differential interaction analysis
- TF binding and footprint analysis
This allows selective execution and easy customization.
2. Multi-Algorithm Loop Calling for HiChIP/PLAC-seq
Supported loop callers:
- MAPS
- FitHiChIP
- HiChipper
- HiCDCPlus
Users can benchmark across algorithms within a single workflow.
3. AI-Based TF Binding Inference (scPrinter)
SnakeHichipTF integrates scPrinter, enabling:
- seq2PRINT model training
- TF binding signal inference
- Motif scanning and TFBS scoring
- Comparative TF activity visualization
4. ATAC-Seq Footprinting (TOBIAS)
For chromatin accessibility-based TF analysis:
- Bias correction
- Footprint detection
- Motif enrichment
- TF activity scoring
5. Reproducibility and Scalability
- Snakemake-managed dependency control
- Conda environment integration
- HPC cluster compatibility
- Parallelized execution
- Resume capability
Installation
1. Clone Repository
git clone https://github.com/YidanSunResearchLab/SnakeHichipTF.git
cd SnakeHichipTF
2. Create Environment
conda create -n SnakeHichipTF -c conda-forge python=3.13
conda activate SnakeHichipTF
pip install .
(Advanced users may use a dedicated environment for GPU-enabled scPrinter workflows.)
3. Verify Installation
Snakehichip --help
🖥️ Optional: Launch GUI
For a graphical interface:
snakehichiptf-ui
Quick Start Guide
SnakeHichipTF provides several high-level commands.
1️⃣ Genome Setup
Prepare genome indices and restriction fragments.
Genomesetup \
--organism hg38 \
--organism_fasta /path/to/genome.fa \
-o ./genome \
--restriction_enzyme mboi \
--bin_size 5000 \
--threads 32
Outputs:
- Indexed genome
- Restriction fragment BED
- Precomputed binning files
2️⃣ HiChIP / PLAC-Seq Processing
Process FASTQ files into interaction matrices and loop calls.
Snakehichip \
-i /path/to/input_fastqs/ \
--genome_dir /path/to/genome \
-o /path/to/output_directory/ \
--organism hg38 \
--bin_size 5000 \
--threads 32 \
--downsample_size 50000000
Steps Performed:
- Read alignment
- Filtering & deduplication
- Contact matrix construction
- Loop calling (multiple algorithms)
- Quality control reporting
3️⃣ Differential HiChIP Analysis
Diffhichip \
-s /path/to/sample_sheet.tsv \
-o /path/to/output_directory/ \
--threads 16 \
--bin_size 5000 \
--fitType mean \
--fdr 0.05
Inputs:
- Sample sheet describing sample file paths and condition labels, examples are in the data/ folder
Outputs:
- Differential interaction results
- FDR-filtered loop sets
4️⃣ TF Binding Analysis via scPrinter
Run AI-based TF binding inference using ATAC-seq input and loop regions.
TFscprinter \
-o /path/to/output_directory/ \
--organism hg38 \
--atacseq_bam "/path/to/sample.bam" \
--enhancer_bedpe "/path/to/significant_loops.bedpe" \
--samples "Sample1" \
--threads 32
Outputs:
- seq2PRINT trained models
- TFBS bigWig tracks
- Motif scanning results
- TFBS score tables
- Scatter plot comparisons
5️⃣ ATAC-Seq Footprinting with TOBIAS
TFtobias \
-o /path/to/output_directory/ \
--organism hg38 \
--atacseq_bam "/path/to/sample1.bam /path/to/sample2.bam" \
--enhancer_bedpe "/path/to/sample1.bedpe /path/to/sample2.bedpe" \
--samples "Sample1 Sample2" \
--threads 32 \
--motif "/path/to/JASPAR2024_CORE_non-redundant_pfms.meme"
Outputs:
- Corrected bigWig tracks
- Footprint regions
- Motif enrichment reports
- TF activity scores
Directory Structure
SnakeHichipTF/
│
├── snakehichiptf/
│ ├── workflows/
│ ├── rules/
│ ├── scripts/
│ ├── docs/
│
└── setup.py
Documentation
Detailed documentation for each module:
See the docs/ directory for command-level explanations.
Recommended Usage Strategy
For large-scale projects:
- Perform genome setup once.
- Run Snakehichip for each sample.
- Aggregate and run Diffhichip if comparing conditions.
- Perform TFscprinter or TFtobias for mechanistic interpretation.
Contributing
Issues and pull requests are welcome:
https://github.com/YidanSunResearchLab/SnakeHichipTF
License
See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snakehichiptf-0.1.4.tar.gz.
File metadata
- Download URL: snakehichiptf-0.1.4.tar.gz
- Upload date:
- Size: 45.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7061c871ba123586b86964446511ce70ba1bde7d9e26535cdc00ba7650f5aad
|
|
| MD5 |
a7ec8cea1f7e712f4fed6353b2d92a8d
|
|
| BLAKE2b-256 |
3e1c5600192be537e7b78d5f6f617bfc9d0c1985881217a609cfa156e783682a
|
Provenance
The following attestation bundles were made for snakehichiptf-0.1.4.tar.gz:
Publisher:
publish.yml on YidanSunResearchLab/SnakeHichipTF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snakehichiptf-0.1.4.tar.gz -
Subject digest:
f7061c871ba123586b86964446511ce70ba1bde7d9e26535cdc00ba7650f5aad - Sigstore transparency entry: 1200295108
- Sigstore integration time:
-
Permalink:
YidanSunResearchLab/SnakeHichipTF@5161418a60edf5266d827cac8bf77ea4852afe12 -
Branch / Tag:
refs/tags/SnakeHichipTF_v0.1.4 - Owner: https://github.com/YidanSunResearchLab
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5161418a60edf5266d827cac8bf77ea4852afe12 -
Trigger Event:
release
-
Statement type:
File details
Details for the file snakehichiptf-0.1.4-py3-none-any.whl.
File metadata
- Download URL: snakehichiptf-0.1.4-py3-none-any.whl
- Upload date:
- Size: 45.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3039ef4ce45789740388c6cb4b55ed7172e03b5944fe5c945ec88b235c6f844
|
|
| MD5 |
d69740ee72f04bf4352e26ecba97b0d5
|
|
| BLAKE2b-256 |
7dd34aa396da9e13ab79d741d3aa0325d6e7233ba6f5f546aafa3d5a2ad9c6a1
|
Provenance
The following attestation bundles were made for snakehichiptf-0.1.4-py3-none-any.whl:
Publisher:
publish.yml on YidanSunResearchLab/SnakeHichipTF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snakehichiptf-0.1.4-py3-none-any.whl -
Subject digest:
a3039ef4ce45789740388c6cb4b55ed7172e03b5944fe5c945ec88b235c6f844 - Sigstore transparency entry: 1200295119
- Sigstore integration time:
-
Permalink:
YidanSunResearchLab/SnakeHichipTF@5161418a60edf5266d827cac8bf77ea4852afe12 -
Branch / Tag:
refs/tags/SnakeHichipTF_v0.1.4 - Owner: https://github.com/YidanSunResearchLab
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5161418a60edf5266d827cac8bf77ea4852afe12 -
Trigger Event:
release
-
Statement type: