def annotate(args): """ %prog annotate blastfile query.fasta subject.fasta Annotate overlap types (dovetail, contained, etc) in BLAST tabular file. """ from jcvi.assembly.goldenpath import Overlap, Overlap_types p = OptionParser(annotate.__doc__) opts, args = p.parse_args(args) if len(args) != 3: sys.exit(not p.print_help()) blastfile, afasta, bfasta = args fp = open(blastfile) asizes = Sizes(afasta).mapping bsizes = Sizes(bfasta).mapping for row in fp: b = BlastLine(row) asize = asizes[b.query] bsize = bsizes[b.subject] ov = Overlap(b, asize, bsize) print "{0}\t{1}".format(b, Overlap_types[ov.get_otype()])