This package builds on existing tools and adds some simple but extremely useful capabilities for working wth ChIP-Seq data. The focus is on detecting differential binding windows/regions. One set of functions focusses on set-operations retaining mcols for GRanges objects, whilst another group of functions are to aid visualisation of results. Coercion to tibble objects is also implemented.
Input: A GRangesList of peak calls; Output: A consensus GRanges object and overlap plots.
When to Use
Consensus Peak Definition: To define consensus peaks across replicates using makeConsensus.
Peak Importing and Filtering: To import and filter peaks with blacklists/greylists using importPeaks.
Differential Signal Analysis: To perform differential signal analysis on window/region counts using fitAssayDiff.
Gene Mapping: To map peaks/regions to genes and promoters using mapByFeature.
Visualization: To visualize peak overlaps with plotOverlaps and signal profiles with plotProfileHeatmap or getProfileData.
When NOT to Use
De Novo Motif Discovery: For de novo motif discovery, use memes or universalmotif instead.
De Novo Peak Calling: For peak calling itself, use MACS2 or epigraHMM as extraChIPs is designed for downstream analysis of existing peak calls.
Data Requirements
Peak Files: Peak files in narrowPeak format or GRanges objects.
Read Counts: BAM files for read counting, or a pre-computed RangedSummarizedExperiment object.
Annotations: Annotation files (GTF/GFF) for mapping peaks to genes.
Key Parameters
p (0.5): Minimum proportion of replicates in which a peak must be present to be included in the consensus.
norm ("TMM"): Normalization method in fitAssayDiff (e.g., "TMM" or library-size).
fc (1.2): Fold-change threshold incorporated into testing in fitAssayDiff.
asRanges (TRUE): Logical indicating whether to return results as a GRanges object.
upstream (2500): Upstream distance for defining promoters.
downstream (500): Downstream distance for defining promoters.
Best Practices
Define Seqinfo: Define a consistent Seqinfo object at the start of the workflow using defineSeqinfo.
Exclude Artifacts: Exclude blacklisted and grey-listed regions using importPeaks to avoid false positives.
Normalization Check: Test whether group-specific count distributions are similar using quantro before applying TMM normalization.
Classify Status: Use addDiffStatus to classify regions as "Increased", "Decreased", or "Unchanged" for downstream visualization.
Common Pitfalls
Inappropriate Normalization: Applying TMM normalization when group-specific distributions differ significantly; use quantro to test this assumption first.
Metadata Loss: Losing metadata columns during GRanges set operations; use reduceMC or makeConsensus to retain metadata.
Mapping Coordinates: Mapping peaks to genes without resetting the core ranges; use colToRanges to restore the original peak boundaries before mapping.
Alternatives
DiffBind: For standard affinity-based differential analysis.
csaw: For sliding window-based differential binding analysis.
ChIPseeker: For peak annotation and visualization.
Citations
Ross-Innes et al. 2012, Nature (for DiffBind-style approaches)
Hicks and Irizarry 2015, Genome Biol. (for quantro)
1---2name: extrachips3description: extraChIPs4---56# extraChIPs78## Workflows910### Standard Workflow1112This package builds on existing tools and adds some simple but extremely useful capabilities for working wth ChIP-Seq data. The focus is on detecting differential binding windows/regions. One set of functions focusses on set-operations retaining mcols for GRanges objects, whilst another group of functions are to aid visualisation of results. Coercion to tibble objects is also implemented.1314```r15library(extraChIPs)16library(GenomicRanges)1718# Define chromosome information19sq <- defineSeqinfo("GRCh37")2021# Create mock GRangesList for consensus peak calling22gr1 <- GRanges("chr10:1000-2000", seqinfo = sq)23gr2 <- GRanges("chr10:1200-2200", seqinfo = sq)24peaks <- GRangesList(sample1 = gr1, sample2 = gr2)2526# Generate consensus peaks27consensus <- makeConsensus(peaks, p = 0.5)2829# Plot overlaps30plotOverlaps(peaks)31```32*Input: A GRangesList of peak calls; Output: A consensus GRanges object and overlap plots.*3334## When to Use35- **Consensus Peak Definition**: To define consensus peaks across replicates using `makeConsensus`.36- **Peak Importing and Filtering**: To import and filter peaks with blacklists/greylists using `importPeaks`.37- **Differential Signal Analysis**: To perform differential signal analysis on window/region counts using `fitAssayDiff`.38- **Gene Mapping**: To map peaks/regions to genes and promoters using `mapByFeature`.39- **Visualization**: To visualize peak overlaps with `plotOverlaps` and signal profiles with `plotProfileHeatmap` or `getProfileData`.4041## When NOT to Use42- **De Novo Motif Discovery**: For de novo motif discovery, use `memes` or `universalmotif` instead.43- **De Novo Peak Calling**: For peak calling itself, use `MACS2` or `epigraHMM` as `extraChIPs` is designed for downstream analysis of existing peak calls.4445## Data Requirements46- **Peak Files**: Peak files in narrowPeak format or GRanges objects.47- **Read Counts**: BAM files for read counting, or a pre-computed `RangedSummarizedExperiment` object.48- **Annotations**: Annotation files (GTF/GFF) for mapping peaks to genes.4950## Key Parameters51- **p** (0.5): Minimum proportion of replicates in which a peak must be present to be included in the consensus.52- **norm** ("TMM"): Normalization method in `fitAssayDiff` (e.g., "TMM" or library-size).53- **fc** (1.2): Fold-change threshold incorporated into testing in `fitAssayDiff`.54- **asRanges** (TRUE): Logical indicating whether to return results as a GRanges object.55- **upstream** (2500): Upstream distance for defining promoters.56- **downstream** (500): Downstream distance for defining promoters.5758## Best Practices59- **Define Seqinfo**: Define a consistent `Seqinfo` object at the start of the workflow using `defineSeqinfo`.60- **Exclude Artifacts**: Exclude blacklisted and grey-listed regions using `importPeaks` to avoid false positives.61- **Normalization Check**: Test whether group-specific count distributions are similar using `quantro` before applying TMM normalization.62- **Classify Status**: Use `addDiffStatus` to classify regions as "Increased", "Decreased", or "Unchanged" for downstream visualization.6364## Common Pitfalls65- **Inappropriate Normalization**: Applying TMM normalization when group-specific distributions differ significantly; use `quantro` to test this assumption first.66- **Metadata Loss**: Losing metadata columns during GRanges set operations; use `reduceMC` or `makeConsensus` to retain metadata.67- **Mapping Coordinates**: Mapping peaks to genes without resetting the core ranges; use `colToRanges` to restore the original peak boundaries before mapping.6869## Alternatives70- **DiffBind**: For standard affinity-based differential analysis.71- **csaw**: For sliding window-based differential binding analysis.72- **ChIPseeker**: For peak annotation and visualization.7374## Citations75- Ross-Innes et al. 2012, Nature (for DiffBind-style approaches)76- Hicks and Irizarry 2015, Genome Biol. (for quantro)7778## References79- Homepage: bioconductor.org/packages/extraChIPs80- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/extraChIPs/inst/doc/extraChIPs.html
Run npx skillmds@latest add biomate-ai/extrachips in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
extraChIPs It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
biomate-ai (@biomate-ai) published this skill. Their other Agent Skills are listed on their SkillMD profile.