def add_imicrobe_subparser(subparser):
    """
    Function to add a subparser for the iMicrobe repository.
    """
    parser_imicrobe = subparser.add_parser('imicrobe', help=
        'download from iMicrobe')
    parser_imicrobe.add_argument('imicrobeid', type=str, nargs='+', help=
        'One or more iMicrobe project or sample identifiers (p##/s###)')
    parser_imicrobe.add_argument('-m', dest='metadata', type=str, default=
        '', help=
        'filename in which to save metadata (.csv format, relative to OUTDIR)')
    parser_imicrobe.add_argument('-o', dest='outdir', type=str, default='',
        help="directory in which to save output. created if it doesn't exist")
    parser_imicrobe.add_argument('-r', dest='retries', type=int, default=0,
        help='number of times to retry download')
    parser_imicrobe.add_argument('-t', dest='threads', type=int, default=1,
        help='threads to use (for pigz)')
    parser_imicrobe.add_argument('-f', dest='force', action='store_true',
        help='force re-download of files')
    parser_imicrobe.add_argument('-l', dest='list', action='store_true',
        help='list (but do not download) samples to be grabbed')
