code: def fromtab(args):
      
      p = OptionParser(fromtab.__doc__)
      p.set_sep(sep=None)
      p.add_option("--noheader", default=False, action="store_true",
                   help="Ignore first line")
      p.add_option("--replace",
                   help="Replace spaces in name to char [default: %default]")
      opts, args = p.parse_args(args)
  
      if len(args) != 2:
          sys.exit(not p.print_help())
  
      tabfile, fastafile = args
      sep = opts.sep
      replace = opts.replace
      fp = must_open(tabfile)
      fw = must_open(fastafile, "w")
      nseq = 0
      if opts.noheader:
          next(fp)
      for row in fp:
          row = row.strip()
          if not row or row[0] == '#':
              continue
  
          name, seq = row.rsplit(sep, 1)
          if replace:
              name = name.replace(" ", replace)
          print(">{0}\n{1}".format(name, seq), file=fw)
          nseq += 1
      fw.close()
  
      logging.debug("A total of {0} sequences written to `{1}`.".\
                     format(nseq, fastafile))
docs: %prog fromtab tabfile fastafile
  
      Convert 2-column sequence file to FASTA format. One usage for this is to
      generatea `adapters.fasta` for TRIMMOMATIC.