The interactive table below summarises all computational tools for analysis of nucleosome positioning experiments. This repository is part of NucPosDB, a manually curated database of experimental nucleosome maps in vivo, cell-free DNA (cfDNA) datasets and computational tools related to nucleosome positioning and cfDNA analysis.  If your dataset or software is not mentioned please contact us to include it in the database. 

*How to cite: A publication describing NucPosDB is currently in preparation. Meanwhile please site this paper: Teif V.B. (2016). Nucleosome positioning: resources and tools online. Briefings in Bioinformatics. 17, 745-757. |  Open access article


Software for analysis of nucleosome positioning experiments

Name & linkDescriptionProgramming notesExperiment typeAnalysis typeCitation
BINOChBinding Inference from Nucleosome Occupancy Changes. This is a Python package, which allows identification of putative enhancers by comparing nucleosome occupancy in two cell conditions and analyzing DNA motifs near nucleosome centres and edges. It requires as input sorted BED files and relies for peak calling on the software NPC developed by the same group (Shirley Liu). Python codeMNase-seq, single-end, paired-endmotif analysis, compare two conditions He et al. 2010, Meyer et al. 2011
ChIPseqRNucleosome calls from ChIP-Seq experiments using Bioconductor R package. ChIPseqR takes as input mapped reads and outputs nucleosome centres and their scores. It allows producing basic statistical graphs using standard R functions.R package, BioconductorChIP-seq, MNase-seq, single-endpeak calling Humburg et al., 2011
DANPOS, DANPOS2Dynamic Analysis of Nucleosome Positioning and Occupancy by Sequencing. This is a Python package, which reports changes in location, fuzziness, or occupancy for a given nucleosome or any genomic region. It allows generating aggregate profile plots and heatmaps for subsets of genomic regions. Python codeChIP-seq, MNase-seq, single-end, paired-endpeak calling, aggregate profiles, heat mapsChen et al. 2013
deNOPADecoding nucleosome positions with ATAC-seq data at single-cell levelPython codeATAC-seqpeak callingXu et al., 2021
DimnpIdentifying regions with differential nucleosome occupancy in multiple samples using Chi-squared test. The input files contain mapped reads in Bowtie or BED format.Python code, MATLAB codeNot specificcompare multiple conditionsLiu et al., 2017
iNPSThe authors developed an improved version of the NPC nucleosome peak calling algorithm, which they claim to outperform the latter. Python codeMNase-seq, single-end, paired-endpeak callingChen et al. 2014
MLMA Multi-Layer Method to analyze microarray nucleosome positioning data. MLM able to classify four kind of patterns: linkers, well positioned, delocalized and fused nucleosomes.MATLAB codemicroarrayspeak calling, pattern recognitionDi Gesu et al., 2009
NOrMALAccurate nucleosome positioning using a modified Gaussian mixture model. It is a command line tool designed to resolve overlapping nucleosomes and extract extra information (“fuzziness”, probability, etc.) of nucleosome placement. Newer software called PuFFIN developed by the same authors is claimed to outperform NOrMAL (see below). C++ codeMNase-seq, single-end, paired-endpeak calling, pattern recognitionPolishko et al. 2012
NPSNucleosome Positioning from Sequencing. This is a Python based nucleosome peak caller, which is recommended for the use together with software BINOCh by the same group (Shirley Liu).Python codeMNase-seq, single-endpeak callingZhang et al. 2008
NseqA multithreaded Java application for finding positioned nucleosomes from sequencing data. NSeq includes a user-friendly graphical interface written in Java. It computes FDRs for candidate nucleosomes from Monte Carlo simulations, plots nucleosome coverage and centers, and exploits the availability of multiple processor cores by parallelizing its computations. NSeq analyzes alignment data in BAM, SAM, or BED format. Java codeMNase-seq, single-endpeak calling, nucleosome occupancyNellore et al. 2012
NucDeMapping nucleosome-linker boundaries. Mapping nucleosome-linker boundaries from both MNase-ChIP-seq and MNase-seq data using a non-homogeneous hidden-state model based on first order differences of experimental data along genomic coordinates. R packageChIP-seq, MNase-seq, single-endpeak callingKuan et al. 2009
NucHunterInferring nucleosome positions with their histone mark annotation from ChIP-seq data. It uses data from histone ChIP-seq experiments to infer positioned nucleosomes, and can predict positioned nucleosomes from one or multiple BAM files, e.g. taking into account a control experiment. Java codeChIP-seq, single-end, paired-endpeak callingMammana et al. 2013
NucleoATACA Python package for calling nucleosomes using ATAC-Seq data. Requires as input sorted aligned paired-end reads in BAM format, FASTA file with genome reference and sorted bed file with non-overlapping regions for which nucleosome analysis is to be performed. These regions will generally be broad open-chromatin regions. Outputs nucleosome calls and occupancy. Python codeATAC-seq, paired-endpeak calling, nucleosome occupancySchep et al. 2015
Nucleosome DynamicsA suite of programs integrated into a virtual research environment. Results are displayed in a genome browser, etc. The main analyses are performed with nucleR and NucDyn R packages. A single MNase-seq experiment can be analysed, obtaining: nucleosome calls with nucleR, their fuzzy/well-positioned classification and stiffness estimation, Nucleosome Free Regions location, classification of TSS according to −1 and +1 nucleosomes, and nucleosome phasing along the gene body. Comparing two MNase-seq experiments, NucDyn identifies hotspots of changes (SHIFT +, SHIFT -, INCLUSION and EVICTION), and reports a significance score of the difference in the coverage profiles at base-pair level. Summary statistics per gene as well as genome-wide are also reported for each calculation.R packageMNase-seq, single-end, paired-endpeak calling, biophysical parameters, genome browser, compare two conditionsBuitrago et al., 2019
Nucleosome spacing estimationMATLAB scripts for analyzing MNase-seq data in order to estimate nucleosome spacing by Răzvan CherejiMATLAB codeMNase-seqNRL calculationOcampo et al., 2019
NucleoFinderA statistical approach for the detection of nucleosome positions. This is an R package, which addresses both the positional heterogeneity across cells and experimental biases. R packageMNase-ChIP, MNase-seq, single-end, paired-endpeak callingBecker et al. 2013
nucleR Non-parametric nucleosome positioning. This is an R package included in the Bioconductor. It allows treating both NGS and Tiling Arrays experiments. The software is integrated with standard genomics R packages and allows for in situ visualization as well as to export results to common genome browser formats. R package, BioconductorMNase-seq, microarrays, paired-endpeak callingFlores and Orozco 2011
NuCMapR package for chemical mapping of nucleosome positioning. The algorithm is described in Xi et al., 2014. Used in Brogaard et al., 2012; Voong et al., 2016.R packagechemical mappingpeak callingXi et al., 2014
NucPosSimulatorDeriving non-overlapping nucleosome configurations from MNase-seq data. It utilizes a Monte Carlo approach to determine the most probable nucleosome position in overlapping and ambiguous DNA reads from high through-put sequencing experiments. In contrast to peak-calling procedures NucPosSimulator probes many possible solutions, and can apply a Simulated Annealing scheme, a heuristic optimization method, which finds an optimal solution for complex positioning problems. Web installation, Python codeChIP-seq, MNase-seq, single-end, paired-endequilibrium nucleosome distributionSchopflin et al., 2013
NucTools A suite of Perl scripts as well as MATLAB- and R-based visualization programs for a nucleosome-centred downstream analysis of deep sequencing data. NucTools accounts for the continuous distribution of nucleosome occupancy. It allows calculations of nucleosome occupancy profiles averaged over several replicates, comparisons of nucleosome occupancy landscapes between different experimental conditions, and the estimation of the changes of integral chromatin properties such as the nucleosome repeat length.Perl code, MATLAB codeChIP-seq, MNase-seq, single-end, paired-endNRL calculation, compare two conditions, aggregate profiles, heat maps, clusteringVainshtein et al., 2017
NUCwaveNucleosome occupancy maps from MNase-seq, ChIP-seq and CC-seq. It is a Python package which generates nucleosome occupancy maps from MNase-seq, ChIP-seq and chemical cleavage (CC-seq), both for single-end and paired-end reads. It requires as input files in a Bowtie output format. Python codeChIP-seq, MNase-seq, chemical mapping, paired-endoccupancy mapsQuintales et al. 2014
N-score, Tiling array analysisMatlab codes for tiling array analysis, which are complemented by MLM and NucleR packages.MATLAB codemicroarrayspeak callingYuan et al., 2005, Yuan et al, 2008
PING, PING 2.0Probabilistic inference for nucleosome positioning with MNase-based or sonicated short-read data. An R package for nucleosome peak calling integrated in the Bioconductor. The authors say that PING compares favorably to NPS and TemplateFilter in scalability, accuracy and robustness.R package, BioconductorChIP-seq, MNase-seq, single-end, paired-endpeak callingZhang et al., 2012,
Woo et al., 2013
PuFFINA parameter-free method to build genome-wide nucleosome maps from paired-end sequencing data. PuFFIN is a command line tool for accurate placing of the nucleosomes based on the pair-end reads. It was designed to place non-overlapping nucleosomes using extra length information present in pair-end data-sets. It outperforms NOrMAL previously released by the same authors, and is claimed by the authors to outperform also NSeq, NPS and Template Filtering. It returns nucleosome positions, the width of the peak, confidence score and fuzziness. Applicable to paired-end sequencing.Python codeMNase-seq, paired-endpeak callingPolishko et al. 2014
TemplateFilterSource code and executable files for nucleosome positioning data processing (Weiner et al. 2010). Perl codeMNase-seq, single-endpeak callingWeiner et al. 2010
Name & linkDescriptionProgramming notesExperiment typeAnalysis typeCitation

**Also see: | chromatin modifications | Protein-DNA binding: data, tools & models