Source code for galaxy.tools.util.galaxyops

"""Utility functions for galaxyops"""

import sys

from galaxy.util import unicodify


[docs]def warn(msg): # TODO: since everything printed to stderr results in job.state = error, we # don't need both a warn and a fail... print(msg, file=sys.stderr) sys.exit(1)
[docs]def fail(msg): print(msg, file=sys.stderr) sys.exit(1)
# Default chrom, start, end, strand cols for a bed file BED_DEFAULT_COLS = 0, 1, 2, 5
[docs]def parse_cols_arg(cols): """Parse a columns command line argument into a four-tuple""" if cols: # Handle case where no strand column included - in this case, cols # looks something like 1,2,3, if cols.endswith(","): cols += "0" col_list = [int(x) - 1 for x in cols.split(",")] return col_list else: return BED_DEFAULT_COLS
[docs]def default_printer(stream, exc, obj): print("%d: %s" % (obj.linenum, obj.current_line), file=stream) print(f"\tError: {unicodify(exc)}", file=stream)
[docs]def skipped(reader, filedesc=""): first_line, line_contents, problem = reader.skipped_lines[0] return 'Skipped %d invalid lines%s, 1st line #%d: "%s", problem: %s' % ( reader.skipped, filedesc, first_line, line_contents, problem, )