Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
NanoComp --fastq reads1.fastq.gz reads2.fastq.gz reads3.fastq.gz --names run1 run2 run3
"""
parser = ArgumentParser(
description="Compares long read sequencing datasets.",
epilog=epilog,
formatter_class=custom_formatter,
add_help=False)
general = parser.add_argument_group(
title='General options')
general.add_argument("-h", "--help",
action="help",
help="show the help and exit")
general.add_argument("-v", "--version",
help="Print version and exit.",
action="version",
version='NanoComp {}'.format(__version__))
general.add_argument("-t", "--threads",
help="Set the allowed number of threads to be used by the script",
default=4,
type=int)
general.add_argument("-o", "--outdir",
help="Specify directory in which output has to be created.",
default=".")
general.add_argument("-p", "--prefix",
help="Specify an optional prefix to be used for the output files.",
default="",
type=str)
general.add_argument("--verbose",
help="Write log messages also to terminal.",
action="store_true")
general.add_argument("--raw",
help="Store the extracted data in tab separated file.",
def init_logs(args, tool="NanoComp"):
"""Initiate log file and log arguments."""
start_time = dt.fromtimestamp(time()).strftime('%Y%m%d_%H%M')
logname = os.path.join(args.outdir, args.prefix + tool + "_" + start_time + ".log")
handlers = [logging.FileHandler(logname)]
if args.verbose:
handlers.append(logging.StreamHandler())
logging.basicConfig(
format='%(asctime)s %(message)s',
handlers=handlers,
level=logging.INFO)
logging.info('{} {} started with arguments {}'.format(tool, __version__, args))
logging.info('Python version is: {}'.format(sys.version.replace('\n', ' ')))
return logname