code: def seal(reference, forward_in, output_file, reverse_in='NA', returncmd=False, **kwargs):
      
      options = kwargs_to_string(kwargs)
      if os.path.isfile(forward_in.replace('_R1', '_R2')) and reverse_in == 'NA' and '_R1' in forward_in:
          reverse_in = forward_in.replace('_R1', '_R2')
          cmd = 'seal.sh ref={} in={} in2={} rpkm={} nodisk{}'.format(reference, forward_in, reverse_in, output_file, options)
      elif reverse_in == 'NA':
          cmd = 'seal.sh ref={} in={} rpkm={} nodisk{}'.format(reference, forward_in, output_file, options)
      else:
          cmd = 'seal.sh ref={} in={} in2={} rpkm={} nodisk{}'.format(reference, forward_in, reverse_in, output_file, options)
      out, err = accessoryfunctions.run_subprocess(cmd)
      if returncmd:
          return out, err, cmd
      else:
          return out, err
docs: Runs seal from the bbtools package.
      :param reference: Reference file, in fasta format.
      :param returncmd: If set to true, function will return the cmd string passed to subprocess as a third value.
      :param forward_in: Forward reads, fastq format.
      :param output_file: Output file to put rpkm statistics into.
      :param reverse_in: Reverse reads. Not necessary to specify if in same folder and follow _R1/_R2 convention.
      :param kwargs: Arguments to give to seal in parameter=argument format. See seal documentation for full list.
      :return: out and err: stdout string and stderr string from running seal.