git: 29c79a3b6aee - main - biology/py-pyrodigal: New port: Python binding for Prodigal, an ORF finder for genomes and metagenomes

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 06 Dec 2022 17:23:57 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=29c79a3b6aee93dbe5b65e863bcb33e1bb773276

commit 29c79a3b6aee93dbe5b65e863bcb33e1bb773276
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-12-06 15:41:19 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-12-06 15:41:19 +0000

    biology/py-pyrodigal: New port: Python binding for Prodigal, an ORF finder for genomes and metagenomes
---
 biology/Makefile               |  1 +
 biology/py-pyrodigal/Makefile  | 28 ++++++++++++++++++++++++++++
 biology/py-pyrodigal/distinfo  |  3 +++
 biology/py-pyrodigal/pkg-descr | 18 ++++++++++++++++++
 4 files changed, 50 insertions(+)

diff --git a/biology/Makefile b/biology/Makefile
index 98b1f2663190..0622b83369d4 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -175,6 +175,7 @@
     SUBDIR += py-py2bit
     SUBDIR += py-pybigwig
     SUBDIR += py-pyfaidx
+    SUBDIR += py-pyrodigal
     SUBDIR += py-pysam
     SUBDIR += py-python-libsbml
     SUBDIR += py-pywgsim
diff --git a/biology/py-pyrodigal/Makefile b/biology/py-pyrodigal/Makefile
new file mode 100644
index 000000000000..7e6e5edb6414
--- /dev/null
+++ b/biology/py-pyrodigal/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	pyrodigal
+DISTVERSION=	2.0.2
+CATEGORIES=	biology python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python binding for Prodigal, an ORF finder for genomes and metagenomes
+WWW=		https://github.com/althonos/pyrodigal
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		python
+USE_PYTHON=	distutils cython concurrent autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+post-build:
+	@cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} setup.py build_ext --inplace
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pyrodigal/_pyrodigal${PYTHON_EXT_SUFFIX}.so
+
+do-test:
+	@cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m unittest discover -vv
+
+.include <bsd.port.mk>
diff --git a/biology/py-pyrodigal/distinfo b/biology/py-pyrodigal/distinfo
new file mode 100644
index 000000000000..02e6b0910a97
--- /dev/null
+++ b/biology/py-pyrodigal/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1670316641
+SHA256 (pyrodigal-2.0.2.tar.gz) = 602c0fa5ec2db870d1eeca13b623610fe54cb8a2ad87e8b898b3b359379bbed5
+SIZE (pyrodigal-2.0.2.tar.gz) = 2616518
diff --git a/biology/py-pyrodigal/pkg-descr b/biology/py-pyrodigal/pkg-descr
new file mode 100644
index 000000000000..c56d5dda28d0
--- /dev/null
+++ b/biology/py-pyrodigal/pkg-descr
@@ -0,0 +1,18 @@
+Pyrodigal is a Python module that provides bindings to Prodigal using Cython.
+
+Features:
+The library now features everything from the original Prodigal CLI:
+* run mode selection: Choose between single mode, using a training sequence to
+  count nucleotide hexamers, or metagenomic mode, using pre-trained data from
+  different organisms (prodigal -p).
+* region masking: Prevent genes from being predicted across regions containing
+  unknown nucleotides (prodigal -m).
+* closed ends: Genes will be identified as running over edges if they are larger
+  than a certain size, but this can be disabled (prodigal -c).
+* training configuration: During the training process, a custom translation
+  table can be given (prodigal -g), and the Shine-Dalgarno motif search can be
+  forcefully bypassed (prodigal -n)
+* output files: Output files can be written in a format mostly compatible with
+  the Prodigal binary, including the protein translations in FASTA format
+  (prodigal -a), the gene sequences in FASTA format (prodigal -d), or the
+  potential gene scores in tabular format (prodigal -s).