def METHOD_NAME(subparsers):
    METHOD_NAME = subparsers.add_parser('search', description=__doc__, usage=usage)
    METHOD_NAME.add_argument(
        'query', help='query signature'
    )
    METHOD_NAME.add_argument(
        'databases', nargs='+',
        help='signatures/SBTs to search',
    )
    METHOD_NAME.add_argument(
        '-q', '--quiet', action='store_true',
        help='suppress non-error output'
    )
    METHOD_NAME.add_argument(
        '-d', '--debug', action='store_true',
        help='output debug information'
    )
    METHOD_NAME.add_argument(
        '-t', '--threshold', metavar='T', default=0.08, type=float,
        help='minimum threshold for reporting matches; default=0.08'
    )
    METHOD_NAME.add_argument(
        '--save-matches', metavar='FILE',
        help='output matching signatures to the specified file'
    )
    METHOD_NAME.add_argument(
        '--best-only', action='store_true',
        help='report only the best match (with greater speed)'
    )
    METHOD_NAME.add_argument(
        '-n', '--num-results', default=3, type=int, metavar='N',
        help='number of results to display to user; 0 to report all'
    )
    METHOD_NAME.add_argument(
        '--containment', action='store_true',
        help='score based on containment rather than similarity'
    )
    METHOD_NAME.add_argument(
        '--max-containment', action='store_true',
        help='score based on max containment rather than similarity'
    )
    METHOD_NAME.add_argument(
        '--estimate-ani-ci', action='store_true',
        help='for containment searches, also output confidence intervals for ANI estimates'
    )
    METHOD_NAME.add_argument(
        '--ignore-abundance', action='store_true',
        help='do NOT use k-mer abundances if present; note: has no effect if '
        '--containment or --max-containment is specified'
    )
    METHOD_NAME.add_argument(
        '-o', '--output', metavar='FILE',
        help='output CSV containing matches to this file'
    )
    METHOD_NAME.add_argument(
        '--md5', default=None,
        help='select the signature with this md5 as query'
    )
    METHOD_NAME.add_argument(
        '--fail-on-empty-database', action='store_true',
        help='stop at databases that contain no compatible signatures'
    )
    METHOD_NAME.add_argument(
        '--no-fail-on-empty-database', action='store_false',
        dest='fail_on_empty_database',
        help='continue past databases that contain no compatible signatures'
    )
    METHOD_NAME.set_defaults(fail_on_empty_database=True)
    add_ksize_arg(METHOD_NAME)
    add_moltype_args(METHOD_NAME)
    add_picklist_args(METHOD_NAME)
    add_pattern_args(METHOD_NAME)
    add_scaled_arg(METHOD_NAME, 0)