def METHOD_NAME(self, *args, **options):
    updated = []
    update_failed = []
    if not options["skip_gencode"]:
        # Download latest version first, and then add any genes from old releases not included in the latest release
        # Old gene ids are used in the gene constraint table and other datasets, as well as older sequencing data
        update_gencode(LATEST_GENCODE_RELEASE, reset=True)
        for release in OLD_GENCODE_RELEASES:
            update_gencode(release)
        updated.append('gencode')
    if not options["skip_omim"]:
        try:
            omim_handler = CachedOmimReferenceDataHandler() if options['use_cached_omim'] else \
                OmimReferenceDataHandler(options["omim_key"])
            update_records(omim_handler)
            updated.append('omim')
        except Exception as e:
            logger.error("unable to update omim: {}".format(e))
            update_failed.append('omim')
    for source, data_handler in REFERENCE_DATA_SOURCES.items():
        if not options["skip_{}".format(source)]:
            try:
                if data_handler:
                    update_records(data_handler())
                elif source == "hpo":
                    update_hpo()
                updated.append(source)
            except Exception as e:
                logger.error("unable to update {}: {}".format(source, e))
                update_failed.append(source)
    logger.info("Done")
    if updated:
        logger.info("Updated: {}".format(', '.join(updated)))
    if update_failed:
        logger.info("Failed to Update: {}".format(', '.join(update_failed)))