Latest Release:
With the improvement of sequencing techniques, chromatin immunoprecipitation followed by high throughput sequencing (ChIP-Seq) is getting popular to study genome-wide protein-DNA interactions. To address the lack of powerful ChIP-Seq analysis method, we presented the Model-based Analysis of ChIP-Seq (MACS), for identifying transcript factor binding sites. MACS captures the influence of genome complexity to evaluate the significance of enriched ChIP regions and MACS improves the spatial resolution of binding sites through combining the information of both sequencing tag position and orientation. MACS can be easily used for ChIP-Seq data alone, or with a control sample with the increase of specificity. Moreover, as a general peak-caller, MACS can also be applied to any "DNA enrichment assays" if the question to be asked is simply: where we can find significant reads coverage than the random background.
Please find MACS3 documentations through MACS3 website.
- Major
callpeakspeedup: Jacob Schreiber's auto-optimize work (PR #756) measured 41–64× faster runs across four default workflows (BAM, FRAG, BAM with control, and BAMPE). The speedup varies by workload, and large inputs can use more peak memory. - Added
--threadsto supported commands to set a per-run CPU budget.MACS3_NUM_THREADScan provide a default, and Python callers can pass an execution policy through the public API. - Added
--process-backend {auto,serial}tocallpeakandcallvar. - Fixed automatic duplicate filtering so control reads use the control's own duplicate threshold.
- Corrected lower-tail Poisson probabilities for very large expected counts.
- Improved handling of incomplete inputs: final FRAG records no longer need a trailing newline, and truncated BAM alignment records are rejected.
- Improved reliability when peak-calling workers or concurrent operations fail, including cleanup of temporary data.
See the command-line documentation for command options and the ChangeLog for release details.
Thanks to Jacob Schreiber for the auto-optimize work (PR #755, #756); Cindy Krafft for the duplicate-threshold and Poisson fixes (PR #753, #777) and p-value documentation (PR #789); Michael R. Crusoe for spelling fixes (PR #754); and Apoorva Garg for the native aarch64 CI contribution (PR #793).
Please read our CODE OF CONDUCT and How to contribute documents. If you have any questions, suggestion/ideas, or just want to have conversions with developers and other users in the community, we recommend using the MACS Discussions instead of posting to our Issues page.
MACS3 project is sponsored by through EOSS2 (2020-2022) and EOSS4 (2021-2025). And we particularly want to thank the user community for their supports, feedbacks and contributions over the years.
For MACS version 2 and 3, please cite our 2026 paper MACS3: A Peak-calling Platform for Bulk and Single-cell Regulatory Genomics
If you are using MACS version 1, please cite our 2008 paper Model-based Analysis of ChIP-Seq (MACS)
Now the default branch of MACS3 has been renamed to 'main'. If you are still using old 'master' branch in your cloned Git repository for MACS3, please use the following command to rename it:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a