|
| 1 | +#!/usr/bin/env python |
| 2 | +# -*- coding: utf-8 -*- |
| 3 | + |
| 4 | +""" |
| 5 | +usage: blobtools <command> [<args>...] [--help] |
| 6 | +
|
| 7 | +commands: |
| 8 | + version print version number |
| 9 | +
|
| 10 | + create create a BlobDB |
| 11 | + view print BlobDB as a table |
| 12 | + blobplot plot BlobDB as a blobplot |
| 13 | + covplot compare BlobDB cov(s) to additional cov file |
| 14 | +
|
| 15 | + bam2cov generate cov file from bam file |
| 16 | + sumcov sum coverage from multiple COV files |
| 17 | + seqfilter filter FASTA sequences based on header in list |
| 18 | + taxify assign taxids to blast-results based on list |
| 19 | +
|
| 20 | +-h --help show this |
| 21 | +
|
| 22 | +""" |
| 23 | + |
| 24 | +from __future__ import division |
| 25 | +import sys |
| 26 | +from subprocess import call |
| 27 | +from os.path import join, dirname |
| 28 | +from docopt import docopt |
| 29 | + |
| 30 | +__version__ = "blobtools v0.9.18" |
| 31 | +MAINDIR = join(dirname(__file__), '') |
| 32 | +DATADIR = join(MAINDIR, 'data/') |
| 33 | +SRCDIR = join(MAINDIR, 'src/') |
| 34 | +LIBDIR = join(MAINDIR, 'lib/') |
| 35 | + |
| 36 | +if __name__ == '__main__': |
| 37 | + args = docopt(__doc__, |
| 38 | + version=__version__, |
| 39 | + options_first=True) |
| 40 | + |
| 41 | + argv = [args['<command>']] + args['<args>'] |
| 42 | + if args['<command>'] == 'create': |
| 43 | + exit(call(['python', SRCDIR + 'create.py'] + argv)) |
| 44 | + elif args['<command>'] == 'view': |
| 45 | + exit(call(['python', SRCDIR + 'view.py'] + argv)) |
| 46 | + elif args['<command>'] == 'blobplot' or args['<command>'] == 'plot': |
| 47 | + argv[0] = "blobplot" |
| 48 | + exit(call(['python', SRCDIR + 'blobplot.py'] + argv)) |
| 49 | + elif args['<command>'] == 'bam2cov': |
| 50 | + exit(call(['python', SRCDIR + 'bam2cov.py'] + argv)) |
| 51 | + elif args['<command>'] == 'covplot' or args['<command>'] == 'comparecov': |
| 52 | + argv[0] = "covplot" |
| 53 | + exit(call(['python', SRCDIR + 'covplot.py'] + argv)) |
| 54 | + elif args['<command>'] == 'sumcov': |
| 55 | + exit(call(['python', SRCDIR + 'sumcov.py'] + argv)) |
| 56 | + elif args['<command>'] == 'seqfilter': |
| 57 | + exit(call(['python', SRCDIR + 'seqfilter.py'] + argv)) |
| 58 | + elif args['<command>'] == 'taxify': |
| 59 | + exit(call(['python', SRCDIR + 'taxify.py'] + argv)) |
| 60 | + else: |
| 61 | + exit("%r is not a blobtools command. See 'blobtools -h'." % args['<command>']) |
0 commit comments