docs: def dereplicate_seqs(seqs_fp,
                       output_fp,
                       min_size=2,
                       use_log=False,
                       threads=1):
      """Dereplicate FASTA sequences and remove singletons using VSEARCH.
  
      Parameters
      ----------
      seqs_fp : string
          filepath to FASTA sequence file
      output_fp : string
          file path to dereplicated sequences (FASTA format)
      min_size : integer, optional
          discard sequences with an abundance value smaller
          than integer
      use_log: boolean, optional
          save the vsearch logfile as well (to output_fp.log)
          default=False
      threads : int, optional
          number of threads to use (0 for all available)
      """
      logger = logging.getLogger(__name__)
      logger.info('dereplicate seqs file %s' % seqs_fp)
  
      log_name = "%s.log" % output_fp
  
      params = ['vsearch', '--derep_fulllength', seqs_fp,
                '--output', output_fp, '--sizeout',
                '--fasta_width', '0', '--minuniquesize', str(min_size),
                '--quiet', '--threads', str(threads)]
      if use_log:
          params.extend(['--log', log_name])
      sout, serr, res = _system_call(params)
      if not res == 0:
          logger.error('Problem running vsearch dereplication on file %s' %
                       seqs_fp)
          logger.debug('parameters used:\n%s' % params)
          logger.debug('stdout: %s' % sout)
          logger.debug('stderr: %s' % serr)
          return