-#!/usr/bin/env python
-import optparse
-import os
-import sys
-
-from htsworkflow.pipelines.eland import extract_eland_sequence
-
-def make_parser():
- usage = "usage: %prog [options] infile [outfile]"
-
- parser = optparse.OptionParser(usage)
- parser.add_option("-e", "--extract", dest="slice",
- default=":",
- help="provide a python slice operator to select a portion of an eland file")
- return parser
-
-def main(argv):
- parser = make_parser()
-
- (opt, args) = parser.parse_args(argv)
-
- if len(args) not in (0, 1, 2):
- parser.error('incorrect number of arguments')
-
- # get our slice coordinates
- start, end = opt.slice.split(':')
- if len(start) > 0:
- start = int(start)
- else:
- start = None
- if len(end) > 0:
- end = int(end)
- else:
- end = None
-
- # open infile
- if len(args) > 0:
- instream = open(args[0],'r')
- else:
- instream = sys.stdin
-
- if len(args) > 1:
- outstream = open(args[1],'w')
- else:
- outstream = sys.stdout
-
- extract_eland_sequence(instream, outstream, start, end)
-
-if __name__ == "__main__":
- sys.exit(main(sys.argv[1:]))
-