#!/usr/bin/env python3

import argparse
import logging
from lrgasp import handle_prog_errors, prog_error_excepts
from lrgasp import expression_data

def parse_args():
    desc = """Validate that an LRGASP expression matrix meets requirements.
    """
    parser = argparse.ArgumentParser(description=desc)
    parser.add_argument("--debug", action='store_true',
                        help="print stack on any error")
    parser.add_argument("expr_mat_tsv",
                        help="Expression matrix to validate")
    return parser.parse_args()

def main(args):
    logging.getLogger().setLevel(logging.WARN)
    try:
        expression_data.load(args.expr_mat_tsv)
    except prog_error_excepts as ex:
        handle_prog_errors(ex, args.debug)

main(parse_args())
