Releases: macs3-project/MACS
v3.0.4
What's Changed
- Add FRAG support to HMMRATAC for MACS 3.0.4, support up to 65535 for the count column. by @taoliu in #712
- Doc/macs3/3.0.4 by @taoliu in #714
- [Doc/macs3/3.0.4] API docs updated by @taoliu in #716
- fix pvalue_stat issue that will cause nan result by @taoliu in #717
- fixes for api documentation. by @saipenikalapati in #720
- Added documentation and example code block where applicable. by @saipenikalapati in #723
New Contributors
- @saipenikalapati made their first contribution in #720
Full Changelog: v3.0.3...v3.0.4
v3.0.3
Changes for MACS (3.0.3)
Features added
-
Now support FRAG format for single-cell ATAC-seq in
callpeakand
pileup. FRAG format is used by 10x Genomics to store alignments from
the single-cell ATAC-seq pipelinecellranger-atacor the multi-omics
pipelinecellranger-arc. The format is essentially BEDPE with two
additional columns: the barcode and the count of fragments aligned to
the same location with the same barcode. Support for FRAG in other
tools is coming soon, as well as forhmmrataccalls.If you specify FRAG as your input format:
- You can use a barcode list for a subset of cells with
--barcodes,
thencallpeakwill identify peaks andpileupwill build pileup
track for the fragments of this subset of cells. - Duplicates will not get removed as we'll assume all fragments are
valid. Optionally, an option,--max-count, can be applied to set
the maximum count.
- You can use a barcode list for a subset of cells with
-
We transitioned our
pyxcodes topycodes, adopting a 'pure
Python style' with PEP-484 type annotations. This change has made our
source codes more compatible with Python programming tools such as
flake8. During this process, we performed further code cleaning and
eliminated unnecessary dependencies. We intend to continue improving
our code quality in the future. -
We have modified the handling of 'blacklist' regions in the
hmmratactool. This change impacts both the Expectation-Maximization
(EM) step that estimates fragment length distributions, and the Hidden
Markov Model (HMM) step that learns and predicts nucleosome states. We
now exclude aligned fragments located in the 'blocklist' regions
before both steps. We implemented theexcludefunctions in both
PETrackI and PETrackII to support this feature. For more detailed
information and the reasoning behind it, refer to issue #680. -
We have tested Numpy>=2. Now MACS3 can be run on Numpy version 1 and
version 2.
Bugs fixed
-
The
hmmratagcoption--keep-duplicatepreviously had the
opposite effect of what its name and description suggested. Therefore,
it was renamed to--remove-dupto more accurately describe the
actual behavior. Duplicate fragments will not be removed byhmmratac
unless this option is explicitly set up. -
hmmratac: wrong class name was used while saving digested signals
in BedGraph files. Fixed multiple other issues related to output
filenames. #682 -
Fix issues in big-endian system in
Parser.pycodes. Enable
big-endian support inBAM.pycodes for accessig certain alignment
records that overlap with given genomic coordinates using BAM/BAI
files. -
predictdandfilterdup: wrong variable name used while
reading multiple pe/frag files.
Doc
- Explanation on the filtering criteria on SAM/BAM/BAMPE files.
PRs
- Feat/macs3/reformat pyproject by @taoliu in #662
- Feat/macs3/python style cython (1st) by @taoliu in #664
- Feat/macs3/fragmentfile by @taoliu in #668
- Expose the "peaks" field in BroadPeakIO by @kaizhang in #678
- FRAG format support and bdg filename type fixed by @taoliu in #685
- Change the way to exclude regions in
hmmratacand fix the incorrectkeep-duplicateoption by @taoliu in #689 - Feat/macs3/fragsupport by @taoliu in #690
- numpy 2 support/prep for macs3.0.3 by @taoliu in #691
New Contributors
Full Changelog: v3.0.2...v3.0.3
MACS3 v3.0.2
What's New
hmmratacpoison emission added. #635hmmratacoutput in narrowPeak formatcutoff-analysisfeature enhanced. #636 #642hmmratacmemory usage optimized #628 #640- file format to be more compatible with UCSC browser #653
- Use -O3 instead of -Ofast for compatibility. #637
- Update instruction to install macs3 through conda/bioconda
- Reorganize MACS3 docs and publish through https://macs3-project.github.io/MACS
- Add documents for various file formats used in MACS3.
What's Changed (automatically generated log)
- explictly use Python version 3 by @mr-c in #623
- fix SyntaxWarning by marking a regex as such by @mr-c in #624
- Feat/macs3/output vers libs ga by @taoliu in #625
- Feat/macs3/unittest hmm by @taoliu in #627
- Fix spelling typos found by lintian by @mr-c in #629
- use CC instead of gcc by @bgruening in #630
- Use trusted publishing to upload package to pypi by @taoliu in #632
- Feat/macs3/hmmlearn0.3.2 by @taoliu in #631
- Feat/macs3/hmm poisson by @philippadoherty in #635
- [Feat/macs3/memory consumption] To address the memory usage issue of
hmmratacby @taoliu in #640 - Documentation update and refine cutoff-analysis for
hmmratacby @taoliu in #642 - Feat/macs3/narrowpeak by @taoliu in #645
- Doc/macs3/3.0.2 for v3.0.2 release by @taoliu in #657
Full Changelog: v3.0.1...v3.0.2
MACS3 v3.0.1
What's Changed
- fix labels for signal files from
hmmratacby @philippadoherty in #611 - remove cython from setup.py requirements by @taoliu in #612
- documentation with Sphinx by @taoliu in #618
- Jaccard Index method to test similarity of outputs by @taoliu in #619
- patch hmmlearn, fix dependencies by @taoliu in #620
Full Changelog: https://github.com/macs3-project/MACS/blob/release/macs3/3.0.1/ChangeLog
MACS3 v3.0.0
First release of MACS3 (v3.0.0). Compared with the previous v3.0.0b3, changes are:
- Cython 3 support #579
- BEDPE support in hmmratac #580
- correct libm support #587
- removal of the requirement of pip and wheel #589
- rewritten and reorganized documentation #597
Check other updates in MACS3 so far in previous beta/alpha releases and the ChangeLog file.
v3.0.0 beta 3 release
The third beta version of MACS3, addressing the Cython issue and adding more HMMRATAC options.
- New features from beta2:
-
HMMRATAC module
--modelonly option: only generate HMM model and quit
-t or --training: customized training regions can be provided through this option.
--min-frag-p: exclude fragments with abnormal fragment length while generating four signal tracks. #577 Check
macs3 hmmratac -h. -
testing for Mac OS12 is added.
-
We require Cython 0.29.*. The new Cython3 will break our codes. We will adopt Cython3 later. #574
MACS2 v2.2.9.1
Since Cython has a major upgrade to 3.0, previous MACS2 can't be automatically installed through pip. Now we changed some requirements for dependencies: Python: 3.7 to 3.11, Cython 0.29.*, and Numpy >=0.19. The MACS3 setup.py script has been borrowed into MACS2 codes. Also, we tested MACS2 on Mac OS12 through Github Actions as well.
(overwrite the previous v2.2.9 since I forgot to include some changes to the documentation.)
v3.0.0 beta 2 release
MACS3 beta 2 release includes some improvements on hmmratac command. We've added the cutoff-analysis feature as in callpeak subcommand to hmmratac. It will provide help for users to decide the correct cutoff for training HMM. We also add the memory usage display to the runtime message. Also, we brought back GitHub Action testing for s390x, power64le, and armv7. We will work on rest of the documentation for the next release.
MACS2 v2.2.8
Now support Python 3.6-3.11, and newer numpy and cython, tested on x86 and ARM. Please note that .c files from cython pyx files have been removed from the package. They should be regenerated during installation so Cython is required.
v3.0.0 beta 1 release
MACS3 beta 1 release includes the new hmmratac command. We rewrote the HMMRATAC (Tarbell 2019) idea in Python. Now all the functions for MACS3 release is ready. We plan to do some optimization and tweaking on hmmratac feature in the next beta release and finish the documentation.