def do_seq(seq,args,fname):
  cmd = 'samtools view '+args.input+' '+seq
  p = Popen(cmd.split(),stdout=PIPE)
  cmd = 'bedtools genomecov -i - -bg -g '+fname
  po2 = Popen(cmd.split(),stdin=PIPE,stdout=PIPE)
  cmd = 'sort -k 1,1 -k2,2n -k3,3n -S1G --parallel='+str(args.threads)
  if args.tempdir: cmd += ' -T '+args.tempdir
  po1 = Popen(cmd.split(),stdin=PIPE,stdout=po2.stdin)
  for line in p.stdout:
    sam = SAM(line)
    if not sam.is_aligned(): continue
    for ex in sam.get_target_transcript(min_intron=68).exons:
      bed = "\t".join([str(x) for x in ex.get_range().get_bed_array()])
      po1.stdin.write(bed+"\n")
  po1.communicate()
  res = po2.communicate()[0]
  return res
def do_seq(seq, args, fname):
    cmd = 'samtools view ' + args.input + ' ' + seq
    p = Popen(cmd.split(), stdout=PIPE)
    cmd = 'bedtools genomecov -i - -bg -g ' + fname
    po2 = Popen(cmd.split(), stdin=PIPE, stdout=PIPE)
    cmd = 'sort -k 1,1 -k2,2n -k3,3n -S1G --parallel=' + str(args.threads)
    if args.tempdir: cmd += ' -T ' + args.tempdir
    po1 = Popen(cmd.split(), stdin=PIPE, stdout=po2.stdin)
    for line in p.stdout:
        sam = SAM(line)
        if not sam.is_aligned(): continue
        for ex in sam.get_target_transcript(min_intron=68).exons:
            bed = "\t".join([str(x) for x in ex.get_range().get_bed_array()])
            po1.stdin.write(bed + "\n")
    po1.communicate()
    res = po2.communicate()[0]
    return res