Skip to content

Commit

Permalink
biology/py-macs3: Peak caller for TF binding sites
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Jason W. Bacon authored and Jason W. Bacon committed Jan 10, 2024
1 parent 8233b2c commit fabf2f6
Show file tree
Hide file tree
Showing 8 changed files with 104 additions and 0 deletions.
1 change: 1 addition & 0 deletions biology/Makefile
Expand Up @@ -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
Expand Down
49 changes: 49 additions & 0 deletions 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>
3 changes: 3 additions & 0 deletions 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
11 changes: 11 additions & 0 deletions 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
6 changes: 6 additions & 0 deletions 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']
8 changes: 8 additions & 0 deletions 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
20 changes: 20 additions & 0 deletions 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:
6 changes: 6 additions & 0 deletions 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.

0 comments on commit fabf2f6

Please sign in to comment.