def _get_embeddings_file_context( file_manager: FileManagerInterface, result_kwargs: Dict[str, Any] ): """ :param file_manager: The FileManager derived class which will be used to create the file :param result_kwargs: A dictionary which will be updated in-place to include the path to the newly created file :return: a file context """ result_kwargs.setdefault("discard_per_amino_acid_embeddings", False) if result_kwargs["discard_per_amino_acid_embeddings"] is True: if result_kwargs.get("reduce", False) is False and result_kwargs.get("embeddings_transformer_function") is None: raise InvalidParameterError( "Cannot only have discard_per_amino_acid_embeddings: True. " "Either also set `reduce: True` or define an `embeddings_transformer_function`, or both." ) return nullcontext() else: embeddings_file_path = file_manager.create_file( result_kwargs.get("prefix"), result_kwargs.get("stage_name"), "embeddings_file", extension=".h5", ) result_kwargs["embeddings_file"] = embeddings_file_path return h5py.File(embeddings_file_path, "w")
def _get_transformed_embeddings_file_context( file_manager: FileManagerInterface, result_kwargs: Dict[str, Any] ): """ :param file_manager: The FileManager derived class which will be used to create the file :param result_kwargs: A dictionary which will be updated in-place to include the path to the newly created file :return: a file context """ result_kwargs.setdefault("embeddings_transformer_function", None) if result_kwargs["embeddings_transformer_function"] is not None: transformed_embeddings_file_path = file_manager.create_file( result_kwargs.get("prefix"), result_kwargs.get("stage_name"), "transformed_embeddings_file", extension=".h5", ) result_kwargs["transformed_embeddings_file"] = transformed_embeddings_file_path return h5py.File(transformed_embeddings_file_path, "w") return nullcontext()
def _get_reduced_embeddings_file_context(file_manager: FileManagerInterface, result_kwargs: Dict[str, Any]): """ :param file_manager: The FileManager derived class which will be used to create the file :param result_kwargs: A dictionary which will be updated in-place to include the path to the newly created file :return: a file context """ # Create reduced embeddings file if set in params result_kwargs.setdefault("reduce", False) if result_kwargs["reduce"] is True: reduced_embeddings_file_path = file_manager.create_file( result_kwargs.get("prefix"), result_kwargs.get("stage_name"), "reduced_embeddings_file", extension=".h5", ) result_kwargs["reduced_embeddings_file"] = reduced_embeddings_file_path return h5py.File(reduced_embeddings_file_path, "w") return nullcontext()