def check_options(options: ConfigType) -> List[str]: """ Check the requested PFAM database exists """ database_version = options.fullhmmer_pfamdb_version pfam_dir = os.path.join(options.database_dir, "pfam") if database_version == "latest": database_version = pfamdb.find_latest_database_version(options.database_dir) return pfamdb.check_db(os.path.join(pfam_dir, database_version))
def check_prereqs() -> List[str]: """ Ensure at least one database exists and is valid """ failure_messages = [] for binary_name in ['hmmscan']: if not path.locate_executable(binary_name): failure_messages.append("Failed to locate executable: %r" % binary_name) data_dir = get_config().database_dir try: version = pfamdb.find_latest_database_version(data_dir) except ValueError as err: failure_messages.append(str(err)) return failure_messages data_path = os.path.join(data_dir, "pfam", version) failure_messages.extend(pfamdb.check_db(data_path)) return failure_messages