diff options
author | Jason W. Bacon <jwb@FreeBSD.org> | 2019-09-23 16:09:30 +0000 |
---|---|---|
committer | Jason W. Bacon <jwb@FreeBSD.org> | 2019-09-23 16:09:30 +0000 |
commit | 490aa151f9c4014d610ccb18e295815e7cd4e624 (patch) | |
tree | eb3ea36aa18fde10063ad0c1f763863c124f66a5 /biology | |
parent | f4a88d048118f4f7024dfaabc7f23bad5e29aeda (diff) |
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.
Notes
Notes:
svn path=/head/; revision=512646
Diffstat (limited to 'biology')
-rw-r--r-- | biology/Makefile | 1 | ||||
-rw-r--r-- | biology/py-multiqc/Makefile | 36 | ||||
-rw-r--r-- | biology/py-multiqc/distinfo | 3 | ||||
-rw-r--r-- | biology/py-multiqc/files/patch-multiqc_utils_config.py | 41 | ||||
-rw-r--r-- | biology/py-multiqc/files/patch-scripts_multiqc | 32 | ||||
-rw-r--r-- | biology/py-multiqc/pkg-descr | 5 |
6 files changed, 118 insertions, 0 deletions
diff --git a/biology/Makefile b/biology/Makefile index d7a91dfaf6e8..5e5cd3313b57 100644 --- a/biology/Makefile +++ b/biology/Makefile @@ -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 diff --git a/biology/py-multiqc/Makefile b/biology/py-multiqc/Makefile new file mode 100644 index 000000000000..ff2051382123 --- /dev/null +++ b/biology/py-multiqc/Makefile @@ -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 <bsd.port.mk> diff --git a/biology/py-multiqc/distinfo b/biology/py-multiqc/distinfo new file mode 100644 index 000000000000..adbaecddc9c9 --- /dev/null +++ b/biology/py-multiqc/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1569116068 +SHA256 (multiqc-1.7.tar.gz) = 02e6a7fac7cd9ed036dcc6c92b8f8bcacbd28983ba6be53afb35e08868bd2d68 +SIZE (multiqc-1.7.tar.gz) = 1168389 diff --git a/biology/py-multiqc/files/patch-multiqc_utils_config.py b/biology/py-multiqc/files/patch-multiqc_utils_config.py new file mode 100644 index 000000000000..707b510672f0 --- /dev/null +++ b/biology/py-multiqc/files/patch-multiqc_utils_config.py @@ -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)) diff --git a/biology/py-multiqc/files/patch-scripts_multiqc b/biology/py-multiqc/files/patch-scripts_multiqc new file mode 100644 index 000000000000..34eef2e89279 --- /dev/null +++ b/biology/py-multiqc/files/patch-scripts_multiqc @@ -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 + diff --git a/biology/py-multiqc/pkg-descr b/biology/py-multiqc/pkg-descr new file mode 100644 index 000000000000..399f8a41c313 --- /dev/null +++ b/biology/py-multiqc/pkg-descr @@ -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 |