svn commit: r512646 - in head/biology: . py-multiqc py-multiqc/files

Jason W. Bacon jwb at FreeBSD.org
Mon Sep 23 16:09:32 UTC 2019


Author: jwb
Date: Mon Sep 23 16:09:30 2019
New Revision: 512646
URL: https://svnweb.freebsd.org/changeset/ports/512646

Log:
  biology/py-multiqc: Aggregate bioinformatics analysis reports
  
  MultiQC searches a given directory for analysis logs and compiles an HTML
  report. It's a general use tool, perfect for summarising the output from
  numerous bioinformatics tools.

Added:
  head/biology/py-multiqc/
  head/biology/py-multiqc/Makefile   (contents, props changed)
  head/biology/py-multiqc/distinfo   (contents, props changed)
  head/biology/py-multiqc/files/
  head/biology/py-multiqc/files/patch-multiqc_utils_config.py   (contents, props changed)
  head/biology/py-multiqc/files/patch-scripts_multiqc   (contents, props changed)
  head/biology/py-multiqc/pkg-descr   (contents, props changed)
Modified:
  head/biology/Makefile

Modified: head/biology/Makefile
==============================================================================
--- head/biology/Makefile	Mon Sep 23 16:05:36 2019	(r512645)
+++ head/biology/Makefile	Mon Sep 23 16:09:30 2019	(r512646)
@@ -128,6 +128,7 @@
     SUBDIR += py-gtfparse
     SUBDIR += py-loompy
     SUBDIR += py-macs2
+    SUBDIR += py-multiqc
     SUBDIR += py-orange3-bioinformatics
     SUBDIR += py-orange3-single-cell
     SUBDIR += py-pyfaidx

Added: head/biology/py-multiqc/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/py-multiqc/Makefile	Mon Sep 23 16:09:30 2019	(r512646)
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+PORTNAME=	multiqc
+DISTVERSION=	1.7
+CATEGORIES=	biology python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	jwb at FreeBSD.org
+COMMENT=	Aggregate bioinformatics analysis reports across samples and tools
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}future>0.14.0:devel/py-future@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}matplotlib>=2.1.1:math/py-matplotlib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}markdown>0:textproc/py-markdown@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}simplejson>0:devel/py-simplejson@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.9:devel/py-Jinja2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}lzstring>0:archivers/py-lzstring@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}spectra>=0.0.10:graphics/py-spectra@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}colormath>0:math/py-colormath@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+post-patch:
+	@${RM} ${WRKSRC}/multiqc/utils/config.py.orig
+
+.include <bsd.port.mk>

Added: head/biology/py-multiqc/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/py-multiqc/distinfo	Mon Sep 23 16:09:30 2019	(r512646)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1569116068
+SHA256 (multiqc-1.7.tar.gz) = 02e6a7fac7cd9ed036dcc6c92b8f8bcacbd28983ba6be53afb35e08868bd2d68
+SIZE (multiqc-1.7.tar.gz) = 1168389

Added: head/biology/py-multiqc/files/patch-multiqc_utils_config.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/py-multiqc/files/patch-multiqc_utils_config.py	Mon Sep 23 16:09:30 2019	(r512646)
@@ -0,0 +1,41 @@
+--- multiqc/utils/config.py.orig	2019-09-22 13:24:47 UTC
++++ multiqc/utils/config.py
+@@ -42,13 +42,13 @@ MULTIQC_DIR = os.path.dirname(os.path.realpath(inspect
+ # Default MultiQC config
+ searchp_fn = os.path.join( MULTIQC_DIR, 'utils', 'config_defaults.yaml')
+ with open(searchp_fn) as f:
+-    configs = yaml.load(f)
++    configs = yaml.load(f, Loader=yaml.FullLoader)
+     for c, v in configs.items():
+         globals()[c] = v
+ # Module filename search patterns
+ searchp_fn = os.path.join( MULTIQC_DIR, 'utils', 'search_patterns.yaml')
+ with open(searchp_fn) as f:
+-    sp = yaml.load(f)
++    sp = yaml.load(f, Loader=yaml.FullLoader)
+ 
+ # Other defaults that can't be set in YAML
+ data_tmp_dir = '/tmp' # will be overwritten by core script
+@@ -118,7 +118,7 @@ def mqc_load_config(yaml_config):
+     if os.path.isfile(yaml_config):
+         try:
+             with open(yaml_config) as f:
+-                new_config = yaml.load(f)
++                new_config = yaml.load(f, Loader=yaml.FullLoader)
+                 logger.debug("Loading config settings from: {}".format(yaml_config))
+                 mqc_add_config(new_config, yaml_config)
+         except (IOError, AttributeError) as e:
+@@ -132,11 +132,11 @@ def mqc_load_config(yaml_config):
+ def mqc_cl_config(cl_config):
+     for clc_str in cl_config:
+         try:
+-            parsed_clc = yaml.load(clc_str)
++            parsed_clc = yaml.load(clc_str, Loader=yaml.FullLoader)
+             # something:var fails as it needs a space. Fix this (a common mistake)
+             if isinstance(parsed_clc, str) and ':' in clc_str:
+                 clc_str = ': '.join(clc_str.split(':'))
+-                parsed_clc = yaml.load(clc_str)
++                parsed_clc = yaml.load(clc_str, Loader=yaml.FullLoader)
+             assert(isinstance(parsed_clc, dict))
+         except yaml.scanner.ScannerError as e:
+             logger.error("Could not parse command line config: {}\n{}".format(clc_str, e))

Added: head/biology/py-multiqc/files/patch-scripts_multiqc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/py-multiqc/files/patch-scripts_multiqc	Mon Sep 23 16:09:30 2019	(r512646)
@@ -0,0 +1,32 @@
+--- scripts/multiqc.orig	2018-12-21 17:29:54 UTC
++++ scripts/multiqc
+@@ -6,18 +6,26 @@
+ from __future__ import print_function
+ 
+ import base64
+-import click
++import os
++import sys
++
++if 'LC_ALL' in os.environ and 'LANG' in os.environ:
++    import click
++else:
++    print('multiqc: LC_ALL and LANG must be set to a UTF-8 character set')
++    print('in your environment in order for the click module to function.')
++    print('E.g. export LC_ALL=en_US.UTF-8 or setenv LC_ALL en_US.UTF-8')
++    sys.exit()
++
+ from distutils import version
+ from distutils.dir_util import copy_tree
+ import errno
+ import io
+ import jinja2
+-import os
+ import pkg_resources
+ import re
+ import shutil
+ import subprocess
+-import sys
+ import tempfile
+ import traceback
+ 

Added: head/biology/py-multiqc/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/py-multiqc/pkg-descr	Mon Sep 23 16:09:30 2019	(r512646)
@@ -0,0 +1,5 @@
+MultiQC searches a given directory for analysis logs and compiles an HTML
+report. It's a general use tool, perfect for summarising the output from
+numerous bioinformatics tools.
+
+WWW: https://pypi.python.org/pypi/multiqc


More information about the svn-ports-all mailing list