MACS: Model-based Analysis for ChIP-Seq
Latest Release:
Introduction
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.
What's new in MACS 3.1.0
- 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).
Contribute
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.
Support MACS3
I maintain MACS3 in my spare time. If you find the project useful and
would like to support its continued development, you can
. Your contribution
will help cover my ever-growing consumption of coffee and tokens.
Ackowledgement
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.
Citation
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)
Note
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
Metadata
Release files for MACS3 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| macs3-3.1.0.tar.gz | 898.0 kB | With provenance | Details |
Release files / macs3-3.1.0.tar.gz
| Download URL | macs3-3.1.0.tar.gz |
|---|---|
| Size | 898.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aae548b86ab652717dca281fa2e33645fc1dc8091264ccbf7ce09cf8a13532e0
|
|
BLAKE2b-256 checksum How to use checksums |
d6eb3b32d38f8cbc8044043e4cdb53c1df26f627d483cb04642645dc65b8aa7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logSecurity for MACS3 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for macs3-3.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.