-
Notifications
You must be signed in to change notification settings - Fork 269
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #576 from macs3-project/feat/macs3/hmmratac
MACS3 b3 update `hmmratac` and `Cython` issue
- Loading branch information
Showing
37 changed files
with
203,035 additions
and
199,879 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# This workflow will install Python dependencies, run tests and lint with a single version of Python | ||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | ||
|
||
name: MACS3 CI MacOS 12 | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-12 | ||
name: Build on MacOS 12 with Python 3.11 | ||
steps: | ||
- name: Checkout MACS | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: 'true' | ||
- name: Cache pip | ||
uses: actions/cache@v3 | ||
with: | ||
# This path is specific to Ubuntu | ||
path: ~/.cache/pip | ||
# Look to see if there is a cache hit for the corresponding requirements file | ||
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
${{ runner.os }}- | ||
- name: Setup venv | ||
run: | | ||
# create venv | ||
python3 -m venv macs3venv | ||
- name: Install dependencies | ||
run: | | ||
# make sure pip is the lastest | ||
source macs3venv/bin/activate | ||
python3 -m pip install --upgrade pip | ||
pip3 install pytest | ||
if [ -f requirements.txt ]; then pip3 install --upgrade -r requirements.txt; fi | ||
- name: Install MACS | ||
run: | | ||
# we use pip install instead of old fashion setup.py install | ||
source macs3venv/bin/activate | ||
pip install . | ||
- name: Test with pytest | ||
run: | | ||
source macs3venv/bin/activate | ||
pytest --runxfail && cd test && ./cmdlinetest-nohmmratac macs3 | ||
- name: Build sdist | ||
run: | | ||
source macs3venv/bin/activate | ||
python setup.py sdist | ||
- name: Archive sdist | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: sdist file | ||
path: | | ||
dist/*.tar.gz | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,20 @@ | ||
2023-06-23 Tao Liu <[email protected]> | ||
MACS 3.0.0b2 | ||
2023-07-28 Tao Liu <[email protected]> | ||
MACS 3.0.0b3 | ||
|
||
* New features in MACS3: | ||
|
||
1) Speed/memory optimization. Use the cykhash to replace python | ||
dictionary. Use buffer (10MB) to read and parse input file (not | ||
available for BAM file parser). And many optimization tweaks. We | ||
added memory monitoring to the runtime messages. | ||
|
||
2) Code cleanup. Reorganize source codes. | ||
|
||
3) Unit testing. | ||
|
||
4) R wrappers for MACS -- MACSr | ||
|
||
5) Switch to Github Action for CI, support multi-arch testing | ||
including x64, armv7, aarch64, s390x and ppc64le. | ||
2) Call variants in peak regions directly from BAM files. The | ||
function was originally developed under code name SAPPER. Now | ||
SAPPER has been merged into MACS. Also, `simde` has been added as | ||
a submodule in order to support fermi-lite library under non-x64 | ||
architectures. | ||
|
||
6) MACS tag-shifting model has been refined. Now it will use a | ||
naive peak calling approach to find ALL possible paired peaks at + | ||
and - strand, then use all of them to calculate the | ||
cross-correlation. (a related bug has been fix #442) | ||
|
||
7) Call variants in peak regions directly from BAM files. The | ||
function was originally developed under code name SAPPER. Now | ||
SAPPER has been merged into MACS. Also, `simde` has been added as | ||
a submodule in order to support fermi-lite library under non-x64 | ||
architectures. | ||
|
||
8) BAI index and random access to BAM file now is supported. #449 | ||
And user can use original BAM file (instead of the subset of BAM | ||
file as in SAPPER) in the `callvar` command. | ||
|
||
9) Support of Python > 3.10 #497 #498 | ||
|
||
10) HMMRATAC module is added. HMMRATAC is a dedicated software to | ||
3) HMMRATAC module is added. HMMRATAC is a dedicated software to | ||
analyze ATAC-seq data. The basic idea behind HMMRATAC is to digest | ||
ATAC-seq data according to the fragment length of read pairs into | ||
four signal tracks: short fragments, mononucleosomal fragments, | ||
|
@@ -44,19 +25,45 @@ | |
in JAVA, by Evan Tarbell. We implemented it in Python/Cython and | ||
optimize the whole process using existing MACS functions and | ||
hmmlearn. Now it can run much faster than the original JAVA | ||
version. Note: evaluation of the peak calling results is underway. | ||
version. Note: evaluation of the peak calling results is underway. | ||
|
||
4) Code cleanup. Reorganize source codes. | ||
|
||
5) Unit testing. | ||
|
||
6) R wrappers for MACS -- MACSr | ||
|
||
7) Switch to Github Action for CI, support multi-arch testing | ||
including x64, armv7, aarch64, s390x and ppc64le. We also test on | ||
Mac OS 12. | ||
|
||
8) MACS tag-shifting model has been refined. Now it will use a | ||
naive peak calling approach to find ALL possible paired peaks at + | ||
and - strand, then use all of them to calculate the | ||
cross-correlation. (a related bug has been fix #442) | ||
|
||
9) BAI index and random access to BAM file now is supported. #449 | ||
And user can use original BAM file (instead of the subset of BAM | ||
file as in SAPPER) in the `callvar` command. | ||
|
||
10) Support of Python > 3.10 #497 #498 | ||
|
||
11) The effective genome size parameters have been updated | ||
according to deeptools. #508 | ||
|
||
12) Memory usage now will be displayed in the runtime message. | ||
|
||
13) Multiple updates regarding dependencies, anaconda built, CI/CD | ||
12) Multiple updates regarding dependencies, anaconda built, CI/CD | ||
process. | ||
|
||
|
||
13) Cython support to ~0.29. Cython 3 is not supported yet. | ||
|
||
* Other: | ||
1) Missing header line while no peaks can be called #501 #502 | ||
|
||
2) Note: different numpy, scipy, sklearn may give slightly | ||
different results for hmmratac results. The current standard | ||
results for automated testing in `/test` directory are from Numpy | ||
1.25.1, Scipy 1.11.1, and sklearn 1.3.0. | ||
|
||
2020-04-11 Tao Liu <[email protected]> | ||
MACS version 2.2.7.1 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.