From owner-svn-ports-all@freebsd.org Mon Sep 23 16:09:32 2019 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E70DF9080; Mon, 23 Sep 2019 16:09:32 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46cTmC6g4Nz4CKR; Mon, 23 Sep 2019 16:09:31 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C3A2919521; Mon, 23 Sep 2019 16:09:31 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8NG9VC1009379; Mon, 23 Sep 2019 16:09:31 GMT (envelope-from jwb@FreeBSD.org) Received: (from jwb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8NG9Uqb009374; Mon, 23 Sep 2019 16:09:30 GMT (envelope-from jwb@FreeBSD.org) Message-Id: <201909231609.x8NG9Uqb009374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jwb set sender to jwb@FreeBSD.org using -f From: "Jason W. Bacon" Date: Mon, 23 Sep 2019 16:09:30 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r512646 - in head/biology: . py-multiqc py-multiqc/files X-SVN-Group: ports-head X-SVN-Commit-Author: jwb X-SVN-Commit-Paths: in head/biology: . py-multiqc py-multiqc/files X-SVN-Commit-Revision: 512646 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Sep 2019 16:09:32 -0000 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@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 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