Source code for lib5c.tools.lib5c_toolbox

#!/usr/bin/env python

import argparse
import warnings
import sys
import imp

import lib5c
from lib5c.tools.hic_extract import add_hic_extract_tool
from lib5c.tools.trim import add_trim_tool
from lib5c.tools.outliers import add_outliers_tool
from lib5c.tools.remove import add_remove_tool
from lib5c.tools.qnorm import add_qnorm_tool
from lib5c.tools.express import add_express_tool
from lib5c.tools.kr import add_kr_tool
from lib5c.tools.spline import add_spline_tool
from lib5c.tools.determine_bins import add_determine_bins_tool
from lib5c.tools.bin import add_bin_tool
from lib5c.tools.smooth import add_smooth_tool
from lib5c.tools.expected import add_expected_tool
from lib5c.tools.variance import add_variance_tool
from lib5c.tools.pvalues import add_pvalues_tool
from lib5c.tools.threshold import add_threshold_tool
from lib5c.tools.pvalue_histogram import add_pvalue_histogram_tool
from lib5c.tools.heatmap import add_heatmap_tool
from lib5c.tools.distribution import add_distribution_tool
from lib5c.tools.dd_curve import add_dd_curve_tool
from lib5c.tools.visualize_fits import add_visualize_fits_tool
from lib5c.tools.visualize_variance import add_visualize_variance_tool
from lib5c.tools.correlation import add_correlation_tool
from lib5c.tools.pca import add_pca_tool
from lib5c.tools.boxplot import add_boxplot_tool
from lib5c.tools.bias_heatmap import add_bias_heatmap_tool
from lib5c.tools.visualize_splines import add_visualize_splines_tool
from lib5c.tools.subtract import add_subtract_tool
from lib5c.tools.divide import add_divide_tool
from lib5c.tools.log import add_log_tool
from lib5c.tools.qvalues import add_qvalues_tool
from lib5c.tools.interaction_score import add_interaction_score_tool
from lib5c.tools.colorscale import add_colorscale_tool
from lib5c.tools.pipeline import add_pipeline_tool
from lib5c.tools.iced import add_iced_tool
from lib5c.tools.enrichment import add_enrichment_tool
from lib5c.tools.convergency import add_convergency_tool

try:
    imp.find_module('luigi')
    luigi_avail = True
except ImportError:
    luigi_avail = False

try:
    imp.find_module('iced')
    iced_avail = True
except ImportError:
    iced_avail = False


[docs]class CustomHelpFormatter(argparse.HelpFormatter): def _format_usage(self, usage, actions, groups, prefix): return ''
[docs] def format_help(self): help = super(CustomHelpFormatter, self).format_help() return '\n'.join([x for x in help.split('\n') if not (x.startswith('positional') or x.startswith(' {'))])
[docs]def lib5c_toolbox(argv=sys.argv[1:]): warnings.simplefilter('ignore') root_parser = argparse.ArgumentParser(prog='lib5c', formatter_class=CustomHelpFormatter) root_parser.add_argument( '-v', '--version', action='version', version='lib5c version %s' % lib5c.__version__) subparsers = root_parser.add_subparsers(help='sub-commands', prog='lib5c') if luigi_avail: add_pipeline_tool(subparsers) add_hic_extract_tool(subparsers) add_trim_tool(subparsers) add_outliers_tool(subparsers) add_remove_tool(subparsers) add_qnorm_tool(subparsers) add_express_tool(subparsers) add_kr_tool(subparsers) add_spline_tool(subparsers) if iced_avail: add_iced_tool(subparsers) add_determine_bins_tool(subparsers) add_bin_tool(subparsers) add_smooth_tool(subparsers) add_expected_tool(subparsers) add_variance_tool(subparsers) add_pvalues_tool(subparsers) add_threshold_tool(subparsers) add_qvalues_tool(subparsers) add_interaction_score_tool(subparsers) add_subtract_tool(subparsers) add_divide_tool(subparsers) add_log_tool(subparsers) add_colorscale_tool(subparsers) plot_parser = subparsers.add_parser('plot', help='plot things', formatter_class=CustomHelpFormatter) plot_subparsers = plot_parser.add_subparsers(help='sub-commands') add_pvalue_histogram_tool(plot_subparsers) add_heatmap_tool(plot_subparsers) add_distribution_tool(plot_subparsers) add_dd_curve_tool(plot_subparsers) add_visualize_fits_tool(plot_subparsers) add_visualize_variance_tool(plot_subparsers) add_correlation_tool(plot_subparsers) add_pca_tool(plot_subparsers) add_boxplot_tool(plot_subparsers) add_bias_heatmap_tool(plot_subparsers) add_visualize_splines_tool(plot_subparsers) add_enrichment_tool(plot_subparsers) add_convergency_tool(plot_subparsers) args = root_parser.parse_args(argv) args.func(root_parser, args)
if __name__ == '__main__': lib5c_toolbox()