/bio-atac-seq-footprinting
Detect transcription factor binding sites through footprinting analysis in ATAC-seq data using TOBIAS. Use when identifying TF occupancy patterns within accessible regions, as TF binding protects DNA from Tn5 cutting.
Claude Code
$ npx -y skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting --agent claude-code
Codex
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a codex -y
Cursor
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a cursor -y
Gemini CLI
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a gemini-cli -y
GitHub Copilot
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a github-copilot -y
OpenCode
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a opencode -y
Windsurf
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-atac-seq-footprinting -a windsurf -y
SKILL.md
bio-atac-seq-footprinting.SKILL.mdname: bio-atac-seq-footprinting
description: Detect transcription factor binding sites through footprinting analysis in ATAC-seq data using TOBIAS. Use when identifying TF occupancy patterns within accessible regions, as TF binding protects DNA from Tn5 cutting.
tool_type: cli
primary_tool: tobias
Version Compatibility
Reference examples tested with: bedtools 2.31+, matplotlib 3.8+, numpy 1.26+, pandas 2.2+, pyBigWig 0.3+, samtools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
- Python: `pip show <package>` then `help(module.function)` to check signatures
- R: `packageVersion('<pkg>')` then `?function_name` to verify parameters
- CLI: `<tool> --version` then `<tool> --help` to confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
TF Footprinting
**"Identify TF binding footprints in my ATAC-seq data"** → Detect protected DNA regions within accessible chromatin where bound transcription factors block Tn5 insertion.
- CLI: `TOBIAS ATACorrect` → `TOBIAS FootprintScores` → `TOBIAS BINDetect`
TOBIAS Workflow
**Goal:** Identify transcription factor binding footprints within accessible chromatin regions.
**Approach:** Correct Tn5 insertion bias, compute per-base footprint scores, then detect bound/unbound TF motif sites using the three-step TOBIAS pipeline.
# 1. Correct Tn5 bias
tobias ATACorrect \
--bam sample.bam \
--genome genome.fa \
--peaks peaks.bed \
--outdir corrected/ \
--cores 8
# 2. Calculate footprint scores
tobias FootprintScores \
--signal corrected/sample_corrected.bw \
--regions peaks.bed \
--output footprints.bw \
--cores 8
# 3. Bind TF motifs
tobias BINDetect \
--motifs JASPAR_motifs.pfm \
--signals footprints.bw \
--genome genome.fa \
--peaks peaks.bed \
--outdir bindetect_output/ \
--cores 8TOBIAS Differential Footprinting
**Goal:** Compare TF binding between two conditions to identify regulators with differential activity.
**Approach:** Provide two bias-corrected signal tracks to BINDetect, which scores each motif site for differential binding between conditions.
# Compare conditions
tobias BINDetect \
--motifs JASPAR_motifs.pfm \
--signals condition1.bw condition2.bw \
--genome genome.fa \
--peaks consensus_peaks.bed \
--outdir differential_footprints/ \
--cond_names condition1 condition2 \
--cores 8
# Output includes:
# - Differential binding scores
# - Per-TF statistics
# - Bound/unbound site predictionsDownload JASPAR Motifs
# Download JASPAR motifs
wget https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt
mv JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt JASPAR_motifs.pfm
Prepare Input Files
# Ensure BAM is sorted and indexed
samtools sort -@ 8 sample.bam -o sample.sorted.bam
samtools index sample.sorted.bam
# Filter peaks (remove blacklist, size filter)
bedtools intersect -v -a peaks.narrowPeak -b blacklist.bed | \
awk '$3-$2 >= 100 && $3-$2 <= 5000' > filtered_peaks.bedHINT-ATAC Alternative
# RGT suite HINT-ATAC
rgt-hint footprinting \
--atac-seq \
--organism hg38 \
--output-prefix sample \
sample.bam peaks.bedPIQ Footprinting
# PIQ (another footprinting tool)
library(PIQ)
# Load data
bam <- 'sample.bam'
pwms <- readMotifs('JASPAR_motifs.pfm')
# Run footprinting
piq_results <- piq(bam, pwms, genome='hg38')Aggregate Footprint Plots
# TOBIAS PlotAggregate
tobias PlotAggregate \
--TFBS bindetect_output/*/beds/*_bound.bed \
--signals corrected/sample_corrected.bw \
--output aggregate_footprints.pdf \
--share_y \
--plot_boundariesPython: Custom Footprint Analysis
**Goal:** Extract and visualize aggregate ATAC-seq signal around predicted TF binding sites.
**Approach:** Sample bigWig signal values in windows centered on motif sites, average across all sites, and plot the characteristic V-shaped footprint.
import pyBigWig
import numpy as np
import pandas as pd
from pyfaidx import Fasta
def extract_footprint_signal(bigwig_file, bed_file, flank=100):
'''Extract signal around binding sites.'''
bw = pyBigWig.open(bigwig_file)
signals = []
for line in open(bed_file):
fields = line.strip().split('\t')
chrom, start, end = fields[0], int(fields[1]), int(fields[2])
center = (start + end) // 2
try:
vals = bw.values(chrom, center - flank, center + flank)
if vals:
signals.append(vals)
except:
continue
avg_signal = np.nanmean(signals, axis=0)
return avg_signal
def plot_footprint(signal, output_file):
'''Plot aggregate footprint.'''
import matplotlib.pyplot as plt
x = np.arange(-len(signal)//2, len(signal)//2)
plt.figure(figsize=(8, 4))
plt.plot(x, signal, 'b-', linewidth=2)
plt.axvline(0, color='red', linestyle='--', alpha=0.5)
plt.xlabel('Distance from motif center (bp)')
plt.ylabel('ATAC-seq signal')
plt.title('Aggregate Footprint')
plt.savefig(output_file, dpi=150)
plt.close()Scan for Motifs
# Find motif occurrences in peaks
# Using FIMO (MEME suite)
fimo --oc fimo_output motifs.meme peaks.fa
# Or HOMER
findMotifsGenome.pl peaks.bed hg38 motif_analysis/ -find motif.motif
Interpret Footprint Depth
| Footprint Depth | Interpretation | |-----------------|----------------| | Deep footprint | Strong TF binding | | Shallow footprint | Weak/transient binding | | No footprint | No binding or wrong motif | | Shoulders only | Nucleosome positioning |
Quality Considerations
# Footprinting requires:
# - High read depth (>50M reads)
# - NFR-enriched signal (filter for <100bp fragme
Read more
name: bio-atac-seq-footprinting description: Detect transcription factor binding sites through footprinting analysis in ATAC-seq data using TOBIAS. Use when identifying TF occupancy patterns within accessible regions, as TF binding protects DNA from Tn5 cutting. tool_type: cli primary_tool: tobias
Version Compatibility
Reference examples tested with: bedtools 2.31+, matplotlib 3.8+, numpy 1.26+, pandas 2.2+, pyBigWig 0.3+, samtools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
- Python: `pip show <package>` then `help(module.function)` to check signatures
- R: `packageVersion('<pkg>')` then `?function_name` to verify parameters
- CLI: `<tool> --version` then `<tool> --help` to confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
TF Footprinting
**"Identify TF binding footprints in my ATAC-seq data"** → Detect protected DNA regions within accessible chromatin where bound transcription factors block Tn5 insertion.
- CLI: `TOBIAS ATACorrect` → `TOBIAS FootprintScores` → `TOBIAS BINDetect`
TOBIAS Workflow
**Goal:** Identify transcription factor binding footprints within accessible chromatin regions.
**Approach:** Correct Tn5 insertion bias, compute per-base footprint scores, then detect bound/unbound TF motif sites using the three-step TOBIAS pipeline.
# 1. Correct Tn5 bias
tobias ATACorrect \
--bam sample.bam \
--genome genome.fa \
--peaks peaks.bed \
--outdir corrected/ \
--cores 8
# 2. Calculate footprint scores
tobias FootprintScores \
--signal corrected/sample_corrected.bw \
--regions peaks.bed \
--output footprints.bw \
--cores 8
# 3. Bind TF motifs
tobias BINDetect \
--motifs JASPAR_motifs.pfm \
--signals footprints.bw \
--genome genome.fa \
--peaks peaks.bed \
--outdir bindetect_output/ \
--cores 8TOBIAS Differential Footprinting
**Goal:** Compare TF binding between two conditions to identify regulators with differential activity.
**Approach:** Provide two bias-corrected signal tracks to BINDetect, which scores each motif site for differential binding between conditions.
# Compare conditions
tobias BINDetect \
--motifs JASPAR_motifs.pfm \
--signals condition1.bw condition2.bw \
--genome genome.fa \
--peaks consensus_peaks.bed \
--outdir differential_footprints/ \
--cond_names condition1 condition2 \
--cores 8
# Output includes:
# - Differential binding scores
# - Per-TF statistics
# - Bound/unbound site predictionsDownload JASPAR Motifs
# Download JASPAR motifs wget https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt mv JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt JASPAR_motifs.pfm
Prepare Input Files
# Ensure BAM is sorted and indexed
samtools sort -@ 8 sample.bam -o sample.sorted.bam
samtools index sample.sorted.bam
# Filter peaks (remove blacklist, size filter)
bedtools intersect -v -a peaks.narrowPeak -b blacklist.bed | \
awk '$3-$2 >= 100 && $3-$2 <= 5000' > filtered_peaks.bedHINT-ATAC Alternative
# RGT suite HINT-ATAC
rgt-hint footprinting \
--atac-seq \
--organism hg38 \
--output-prefix sample \
sample.bam peaks.bedPIQ Footprinting
# PIQ (another footprinting tool)
library(PIQ)
# Load data
bam <- 'sample.bam'
pwms <- readMotifs('JASPAR_motifs.pfm')
# Run footprinting
piq_results <- piq(bam, pwms, genome='hg38')Aggregate Footprint Plots
# TOBIAS PlotAggregate
tobias PlotAggregate \
--TFBS bindetect_output/*/beds/*_bound.bed \
--signals corrected/sample_corrected.bw \
--output aggregate_footprints.pdf \
--share_y \
--plot_boundariesPython: Custom Footprint Analysis
**Goal:** Extract and visualize aggregate ATAC-seq signal around predicted TF binding sites.
**Approach:** Sample bigWig signal values in windows centered on motif sites, average across all sites, and plot the characteristic V-shaped footprint.
import pyBigWig
import numpy as np
import pandas as pd
from pyfaidx import Fasta
def extract_footprint_signal(bigwig_file, bed_file, flank=100):
'''Extract signal around binding sites.'''
bw = pyBigWig.open(bigwig_file)
signals = []
for line in open(bed_file):
fields = line.strip().split('\t')
chrom, start, end = fields[0], int(fields[1]), int(fields[2])
center = (start + end) // 2
try:
vals = bw.values(chrom, center - flank, center + flank)
if vals:
signals.append(vals)
except:
continue
avg_signal = np.nanmean(signals, axis=0)
return avg_signal
def plot_footprint(signal, output_file):
'''Plot aggregate footprint.'''
import matplotlib.pyplot as plt
x = np.arange(-len(signal)//2, len(signal)//2)
plt.figure(figsize=(8, 4))
plt.plot(x, signal, 'b-', linewidth=2)
plt.axvline(0, color='red', linestyle='--', alpha=0.5)
plt.xlabel('Distance from motif center (bp)')
plt.ylabel('ATAC-seq signal')
plt.title('Aggregate Footprint')
plt.savefig(output_file, dpi=150)
plt.close()Scan for Motifs
# Find motif occurrences in peaks # Using FIMO (MEME suite) fimo --oc fimo_output motifs.meme peaks.fa # Or HOMER findMotifsGenome.pl peaks.bed hg38 motif_analysis/ -find motif.motif
Interpret Footprint Depth
| Footprint Depth | Interpretation | |-----------------|----------------| | Deep footprint | Strong TF binding | | Shallow footprint | Weak/transient binding | | No footprint | No binding or wrong motif | | Shoulders only | Nucleosome positioning |
Quality Considerations
# Footprinting requires: # - High read depth (>50M reads) # - NFR-enriched signal (filter for <100bp fragme
Other skills on openclaw-medical-skills.
adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental…
adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time…
aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting,…
agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data,…
More skills from other plugins.
paddleocr-doc-parsing
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
13c-metabolic-flux
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…
Questions about bio-atac-seq-footprinting.
- Which coding agents can use bio-atac-seq-footprinting?
- bio-atac-seq-footprinting installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

