Skip to content

Commit

Permalink
Merge pull request #622 from macs3-project/release/macs3/3.0.1
Browse files Browse the repository at this point in the history
Release/macs3/3.0.1
  • Loading branch information
taoliu authored Feb 23, 2024
2 parents 70524cd + 08b8608 commit 3cfb5dc
Show file tree
Hide file tree
Showing 8 changed files with 103 additions and 157 deletions.
1 change: 1 addition & 0 deletions .github/workflows/publish-to-anaconda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
run: |
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MACS3
conda install -q pytest
pytest --runxfail
cd test
./cmdlinetest macs3
Expand Down
25 changes: 18 additions & 7 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
2024-02-16 Tao Liu <[email protected]>
2024-02-19 Tao Liu <[email protected]>
MACS 3.0.1

* Bugs fixed
Expand All @@ -10,27 +10,38 @@
system. (it's needed for building the package). #606 #612

3) Relax the testing script while comparing the peaks called from
current codes and the standard peaks. #615. To implement this, we
added 'intersection' function to 'Regions' class to find the
current codes and the standard peaks. To implement this, we added
'intersection' function to 'Regions' class to find the
intersecting regions of two Regions object (similar to PeakIO but
only recording chromosome, start and end positions). And we
updated the unit test 'test_Region.py' then implemented a script
'jaccard.py' to compute the Jaccard Index of two peak files. If
the JI > 0.99 we would think the peaks called and the standard
peaks are similar. This is to avoid the problem caused by
different Numpy libraries, when the certain peak coordinates may
have 1bp difference.
different Numpy/SciPy/sci-kit learn libraries, when certain peak
coordinates may have 10bps difference. #615 #619

4) Due to the changes in scikit-learn 1.3.0:
https://scikit-learn.org/1.3/whats_new/v1.3.html: The way hmmlearn
0.3 uses Kmeans will end up with inconsistent results between
sklearn <1.3 and sklearn >=1.3. Therefore, we patched the class
hmm.GaussianHMM and adjusted the standard output from `hmmratac`
subcommand. The change is based on
https://github.com/hmmlearn/hmmlearn/pull/545. The idea is to do
the random seeding of KMeans 10 times. Now the `hmmratac` results
should be more consistent (at least JI>0.99). #615 #620

* Other

1) We added some dependencies to MACS3. `hmmratc` subcommand needs
`hmmlearn` library, `hmmlearn` needs `scikit-learn` and
`scikit-learn` needs `scipy`. Since major releases have happened
for both`scipy` and `scikit-learn`, we have to set specific
version requirements for them in order to make sure the output
results from `hmmratac` are consistent.

2) We updated our documentation website using Sphinx.
2) We updated our documentation website using
Sphinx. https://macs3-project.github.io/MACS/

2023-11-15 Tao Liu <[email protected]>
MACS 3.0.0
Expand Down
52 changes: 36 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ download](https://img.shields.io/pypi/dm/macs3?label=pypi%20downloads)](https://
Latest Release:
* Github: [![Github Release](https://img.shields.io/github/v/release/macs3-project/MACS)](https://github.com/macs3-project/MACS/releases)
* PyPI: [![PyPI Release](https://img.shields.io/pypi/v/macs3.svg) ![PyPI Python Version](https://img.shields.io/pypi/pyversions/MACS3) ![PyPI Format](https://img.shields.io/pypi/format/macs3)](https://pypi.org/project/macs3/)
* Anaconda:[![Anaconda-Server Badge](https://anaconda.org/macs3/macs3/badges/version.svg)](https://anaconda.org/macs3/macs3)

## Introduction

Expand All @@ -27,38 +28,57 @@ 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*.

## Changes for MACS (3.0.1)
## Changes for MACS (3.0.1)

*Bugs fixed*

1) Fixed a bug that the `hmmatac` can't correctly save the
digested signal files. #605 #611
1) Fixed a bug that the `hmmatac` can't correctly save the digested
signal
files. [#605](https://github.com/macs3-project/MACS/issues/605)
[#611](https://github.com/macs3-project/MACS/pull/611)

2) Applied a patch to remove cython requirement from the installed
system. (it's needed for building the package). #606 #612
system. (it's needed for building the
package). [#606](https://github.com/macs3-project/MACS/issues/606)
[#612](https://github.com/macs3-project/MACS/pull/612)

3) Relax the testing script while comparing the peaks called from
current codes and the standard peaks. #615. To implement this, we
added 'intersection' function to 'Regions' class to find the
current codes and the standard peaks. To implement this, we added
'intersection' function to 'Regions' class to find the
intersecting regions of two Regions object (similar to PeakIO but
only recording chromosome, start and end positions). And we
updated the unit test 'test_Region.py' then implemented a script
'jaccard.py' to compute the Jaccard Index of two peak files. If
the JI > 0.99 we would think the peaks called and the standard
peaks are similar. This is to avoid the problem caused by
different Numpy libraries, when the certain peak coordinates may
have 1bp difference.
different Numpy/SciPy/sci-kit learn libraries, when certain peak
coordinates may have 10bps
difference. [#615](https://github.com/macs3-project/MACS/issues/615)
[#619](https://github.com/macs3-project/MACS/pull/619)

4) Due to [the changes in scikit-learn
1.3.0](https://scikit-learn.org/1.3/whats_new/v1.3.html), the way
hmmlearn 0.3 uses Kmeans will end up with inconsistent results
between sklearn <1.3 and sklearn >=1.3. Therefore, we patched the
class hmm.GaussianHMM and adjusted the standard output from
`hmmratac` subcommand. The change is based on [hmmlearn
PR#545](https://github.com/hmmlearn/hmmlearn/pull/545). The idea
is to do the random seeding of KMeans 10 times. Now the `hmmratac`
results should be more consistent (at least
JI>0.99). [#615](https://github.com/macs3-project/MACS/issues/615)
[#620](https://github.com/macs3-project/MACS/pull/620)

*Other*

1) We added some dependencies to MACS3. `hmmratc` subcommand needs
`hmmlearn` library, `hmmlearn` needs `scikit-learn` and
`scikit-learn` needs `scipy`. Since major releases have happened
for both`scipy` and `scikit-learn`, we have to set specific
version requirements for them in order to make sure the output
results from `hmmratac` are consistent.

2) We updated our documentation website using Sphinx.
1) We added some dependencies to MACS3. `hmmratc` subcommand needs
`hmmlearn` library, `hmmlearn` needs `scikit-learn` and
`scikit-learn` needs `scipy`. Since major releases have happened
for both`scipy` and `scikit-learn`, we have to set specific
version requirements for them in order to make sure the output
results from `hmmratac` are consistent.

2) We updated our documentation website using
Sphinx. https://macs3-project.github.io/MACS/

## Changes for MACS (3.0.0)

Expand Down
5 changes: 0 additions & 5 deletions _config.yml

This file was deleted.

69 changes: 0 additions & 69 deletions _layouts/default.html

This file was deleted.

23 changes: 12 additions & 11 deletions conda/macs3/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,31 @@ build:
requirements:
build:
- {{ compiler('c') }}
- zlib
- python >=3.11
- numpy >=1.25
- scipy>=1.10
- scipy >=1.12
- Cython ~=3.0
- cykhash >=2.0
- cykhash >=2.0,<3.0
- setuptools >=68.0
- hmmlearn >=0.3
- scikit-learn >=1.3
host:
- python >=3.11
- zlib
- numpy >=1.25
- scipy>=1.10
- Cython ~=3.0
- cykhash >=2.0
- scipy >=1.12
- Cython ~=3.0
- hmmlearn >=0.3
- scikit-learn >=1.3
- cykhash >=2.0,<3.0
run:
- python >=3.11
- numpy >=1.25
- scipy>=1.10
- scipy >=1.12
- hmmlearn >=0.3

test:
commands:
- macs3 -h
- pytest
- scikit-learn >=1.3
- cykhash >=2.0,<3.0

about:
home: http://github.com/macs3-project/MACS/
Expand Down
52 changes: 36 additions & 16 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ download](https://img.shields.io/pypi/dm/macs3?label=pypi%20downloads)](https://
Latest Release:
* Github: [![Github Release](https://img.shields.io/github/v/release/macs3-project/MACS)](https://github.com/macs3-project/MACS/releases)
* PyPI: [![PyPI Release](https://img.shields.io/pypi/v/macs3.svg) ![PyPI Python Version](https://img.shields.io/pypi/pyversions/MACS3) ![PyPI Format](https://img.shields.io/pypi/format/macs3)](https://pypi.org/project/macs3/)
* Anaconda:[![Anaconda-Server Badge](https://anaconda.org/macs3/macs3/badges/version.svg)](https://anaconda.org/macs3/macs3)

## Introduction

Expand All @@ -27,38 +28,57 @@ 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*.

## Changes for MACS (3.0.1)
## Changes for MACS (3.0.1)

*Bugs fixed*

1) Fixed a bug that the `hmmatac` can't correctly save the
digested signal files. #605 #611
1) Fixed a bug that the `hmmatac` can't correctly save the digested
signal
files. [#605](https://github.com/macs3-project/MACS/issues/605)
[#611](https://github.com/macs3-project/MACS/pull/611)

2) Applied a patch to remove cython requirement from the installed
system. (it's needed for building the package). #606 #612
system. (it's needed for building the
package). [#606](https://github.com/macs3-project/MACS/issues/606)
[#612](https://github.com/macs3-project/MACS/pull/612)

3) Relax the testing script while comparing the peaks called from
current codes and the standard peaks. #615. To implement this, we
added 'intersection' function to 'Regions' class to find the
current codes and the standard peaks. To implement this, we added
'intersection' function to 'Regions' class to find the
intersecting regions of two Regions object (similar to PeakIO but
only recording chromosome, start and end positions). And we
updated the unit test 'test_Region.py' then implemented a script
'jaccard.py' to compute the Jaccard Index of two peak files. If
the JI > 0.99 we would think the peaks called and the standard
peaks are similar. This is to avoid the problem caused by
different Numpy libraries, when the certain peak coordinates may
have 1bp difference.
different Numpy/SciPy/sci-kit learn libraries, when certain peak
coordinates may have 10bps
difference. [#615](https://github.com/macs3-project/MACS/issues/615)
[#619](https://github.com/macs3-project/MACS/pull/619)

4) Due to [the changes in scikit-learn
1.3.0](https://scikit-learn.org/1.3/whats_new/v1.3.html), the way
hmmlearn 0.3 uses Kmeans will end up with inconsistent results
between sklearn <1.3 and sklearn >=1.3. Therefore, we patched the
class hmm.GaussianHMM and adjusted the standard output from
`hmmratac` subcommand. The change is based on [hmmlearn
PR#545](https://github.com/hmmlearn/hmmlearn/pull/545). The idea
is to do the random seeding of KMeans 10 times. Now the `hmmratac`
results should be more consistent (at least
JI>0.99). [#615](https://github.com/macs3-project/MACS/issues/615)
[#620](https://github.com/macs3-project/MACS/pull/620)

*Other*

1) We added some dependencies to MACS3. `hmmratc` subcommand needs
`hmmlearn` library, `hmmlearn` needs `scikit-learn` and
`scikit-learn` needs `scipy`. Since major releases have happened
for both`scipy` and `scikit-learn`, we have to set specific
version requirements for them in order to make sure the output
results from `hmmratac` are consistent.

2) We updated our documentation website using Sphinx.
1) We added some dependencies to MACS3. `hmmratc` subcommand needs
`hmmlearn` library, `hmmlearn` needs `scikit-learn` and
`scikit-learn` needs `scipy`. Since major releases have happened
for both`scipy` and `scikit-learn`, we have to set specific
version requirements for them in order to make sure the output
results from `hmmratac` are consistent.

2) We updated our documentation website using
Sphinx. https://macs3-project.github.io/MACS/

## Changes for MACS (3.0.0)

Expand Down
33 changes: 0 additions & 33 deletions make_docker_base.sh

This file was deleted.

0 comments on commit 3cfb5dc

Please sign in to comment.