Date: Wed, 10 Jan 2024 15:20:37 GMT From: "Jason W. Bacon" <jwb@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: fabf2f6b2fbf - main - biology/py-macs3: Peak caller for TF binding sites Message-ID: <202401101520.40AFKb9W042873@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=fabf2f6b2fbf0e0eeabffa05efb9135208244601 commit fabf2f6b2fbf0e0eeabffa05efb9135208244601 Author: Jason W. Bacon <jwb@FreeBSD.org> AuthorDate: 2024-01-10 15:19:56 +0000 Commit: Jason W. Bacon <jwb@FreeBSD.org> CommitDate: 2024-01-10 15:19:56 +0000 biology/py-macs3: Peak caller for TF binding sites MACS (Model-based Analysis of ChIP-Seq) is a tool for identifying transcription factor (TF) binding sites. Such sites are generated by CHiP-Seq (CHromatin immuno-Precipitation sequencing) and ATAC-Seq (Assay for Transposase Accessible Chromatin Sequencing). MACS identifies "peaks" in the genome sequence, which are areas enriched in bound TFs or accessible chromatin. --- biology/Makefile | 1 + biology/py-macs3/Makefile | 49 ++++++++++++++++++++++ biology/py-macs3/distinfo | 3 ++ .../py-macs3/files/patch-MACS3_fermi-lite_ksw.c | 11 +++++ biology/py-macs3/files/patch-pyproject.toml | 6 +++ biology/py-macs3/files/patch-requirements.txt | 8 ++++ biology/py-macs3/files/patch-setup.py | 20 +++++++++ biology/py-macs3/pkg-descr | 6 +++ 8 files changed, 104 insertions(+) diff --git a/biology/Makefile b/biology/Makefile index 6f35c5481dc7..11fc752f7b4c 100644 --- a/biology/Makefile +++ b/biology/Makefile @@ -179,6 +179,7 @@ SUBDIR += py-libsedml SUBDIR += py-loompy SUBDIR += py-macs2 + SUBDIR += py-macs3 SUBDIR += py-mrcfile SUBDIR += py-multiqc SUBDIR += py-ont-fast5-api diff --git a/biology/py-macs3/Makefile b/biology/py-macs3/Makefile new file mode 100644 index 000000000000..d2cad2892df4 --- /dev/null +++ b/biology/py-macs3/Makefile @@ -0,0 +1,49 @@ +PORTNAME= MACS3 +DISTVERSIONPREFIX= v +DISTVERSION= 3.0.0 +CATEGORIES= biology python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= jwb@FreeBSD.org +COMMENT= Peak caller aimed at transcription factor binding sites +WWW= https://github.com/taoliu/MACS + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ + ${PYNUMPY} \ + simde>0:devel/simde \ + ${PYTHON_PKGNAMEPREFIX}cykhash>0:devel/py-cykhash@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hmmlearn>0:math/py-hmmlearn@${PY_FLAVOR} +RUN_DEPENDS= ${PYNUMPY} \ + ${PYTHON_PKGNAMEPREFIX}cykhash>0:devel/py-cykhash@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hmmlearn>0:math/py-hmmlearn@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \ + bash:shells/bash + +USES= localbase perl5 python shebangfix +USE_GITHUB= yes +USE_PERL5= test +USE_PYTHON= autoplist concurrent cython pep517 + +GH_ACCOUNT= macs3-project +GH_PROJECT= MACS +SHEBANG_FILES= test/cmdlinetest* test/prockreport test/*.py test/pyprofile* + +.include <bsd.port.options.mk> + +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1302509 +IGNORE= does not run properly on FreeBSD 13.2 and earlier due to use of dynamically loaded libc by py-threadpoolctl. Please upgrade to a newer FreeBSD or use py-macs2 instead. See PR 276231 +.endif + +post-stage: + ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/MACS3/*/*.so + +# FIXME: Some tests fail due to a py-threadpoolctl issue +# https://github.com/joblib/threadpoolctl/pull/148 +do-test: deinstall install + @${RM} -rf ${WRKSRC}/temp + @cd ${WRKSRC}/test && ./cmdlinetest tag + +.include <bsd.port.mk> diff --git a/biology/py-macs3/distinfo b/biology/py-macs3/distinfo new file mode 100644 index 000000000000..757e9bbaf640 --- /dev/null +++ b/biology/py-macs3/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1703890666 +SHA256 (macs3-project-MACS-v3.0.0_GH0.tar.gz) = faa7ec2ea1f47b8c4cd747f00f2754d0e40051fe44d81d229d0111e3dad34a1d +SIZE (macs3-project-MACS-v3.0.0_GH0.tar.gz) = 197389439 diff --git a/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c b/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c new file mode 100644 index 000000000000..d66d83f33606 --- /dev/null +++ b/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c @@ -0,0 +1,11 @@ +--- MACS3/fermi-lite/ksw.c.orig 2023-11-15 16:09:23 UTC ++++ MACS3/fermi-lite/ksw.c +@@ -28,7 +28,7 @@ + + /* I modified this according to https://github.com/lh3/bwa/pull/283/*/ + #ifdef USE_SIMDE +-#include "lib/x86/sse2.h" ++#include <simde/x86/sse2.h> + #else + #include <emmintrin.h> + #endif diff --git a/biology/py-macs3/files/patch-pyproject.toml b/biology/py-macs3/files/patch-pyproject.toml new file mode 100644 index 000000000000..cf54cae8892f --- /dev/null +++ b/biology/py-macs3/files/patch-pyproject.toml @@ -0,0 +1,6 @@ +--- pyproject.toml.orig 2024-01-06 15:00:01 UTC ++++ pyproject.toml +@@ -1,2 +1,2 @@ + [build-system] +-requires=['setuptools>=60.0', 'numpy>=1.19', 'cykhash>=2.0,<3.0', 'Cython~=3.0', 'hmmlearn>=0.3'] ++requires=['setuptools>=60.0', 'numpy>=1.19', 'cykhash>=2.0,<3.0', 'Cython>=0', 'hmmlearn>=0.3'] diff --git a/biology/py-macs3/files/patch-requirements.txt b/biology/py-macs3/files/patch-requirements.txt new file mode 100644 index 000000000000..0c8106f79680 --- /dev/null +++ b/biology/py-macs3/files/patch-requirements.txt @@ -0,0 +1,8 @@ +--- requirements.txt.orig 2024-01-06 14:55:53 UTC ++++ requirements.txt +@@ -1,4 +1,4 @@ +-Cython~=3.0 ++Cython>=0 + numpy>=1.19 + hmmlearn>=0.3 + cykhash>=2.0,<3.0 diff --git a/biology/py-macs3/files/patch-setup.py b/biology/py-macs3/files/patch-setup.py new file mode 100644 index 000000000000..58dde13ba2c2 --- /dev/null +++ b/biology/py-macs3/files/patch-setup.py @@ -0,0 +1,20 @@ +--- setup.py.orig 2023-11-15 16:09:23 UTC ++++ setup.py +@@ -40,7 +40,7 @@ classifiers =[\ + install_requires = [ "numpy>=1.19", + "hmmlearn>=0.3", + "cykhash>=2.0,<3.0", +- "Cython~=3.0" ] ++ "Cython>=0" ] + + tests_requires = [ 'pytest' ] + +@@ -70,7 +70,7 @@ def main(): + + if not clang: + try: +- gcc_version_check = subprocess.check_output( ["gcc", "--version"], universal_newlines=True) ++ gcc_version_check = subprocess.check_output( ["cc", "--version"], universal_newlines=True) + if gcc_version_check.find("clang") != -1: + clang = True + else: diff --git a/biology/py-macs3/pkg-descr b/biology/py-macs3/pkg-descr new file mode 100644 index 000000000000..7e901a88e5ea --- /dev/null +++ b/biology/py-macs3/pkg-descr @@ -0,0 +1,6 @@ +MACS (Model-based Analysis of ChIP-Seq) is a tool for identifying +transcription factor (TF) binding sites. Such sites are generated +by CHiP-Seq (CHromatin immuno-Precipitation sequencing) and ATAC-Seq +(Assay for Transposase Accessible Chromatin Sequencing). MACS +identifies "peaks" in the genome sequence, which are areas enriched +in bound TFs or accessible chromatin.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202401101520.40AFKb9W042873>