Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

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(f"{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 f'Skipped {reader.skipped} invalid lines{filedesc}, 1st line #{first_line}: "{line_contents}", problem: {problem}'