def dedupe(input_file, output_file, returncmd=False, **kwargs):
    """
    Runs dedupe from the bbtools package.
    :param input_file: Input file.
    :param returncmd: If set to true, function will return the cmd string passed to subprocess as a third value.
    :param output_file: Output file.
    :param kwargs: Arguments to give to dedupe in parameter=argument format. See dedupe documentation for full list.
    :return: out and err: stdout string and stderr string from running dedupe.
    """
    options = kwargs_to_string(kwargs)
    cmd = 'dedupe.sh in={} out={}{}'.format(input_file, output_file, options)
    out, err = accessoryfunctions.run_subprocess(cmd)
    if returncmd:
        return out, err, cmd
    else:
        return out, err