Source code for immuneML.presentation.html.MultiDatasetBenchmarkHTMLBuilder

import os
from pathlib import Path

from immuneML.environment.EnvironmentSettings import EnvironmentSettings
from immuneML.ml_methods.util.Util import Util as MLUtil
from immuneML.presentation.TemplateParser import TemplateParser
from immuneML.presentation.html.Util import Util


[docs]class MultiDatasetBenchmarkHTMLBuilder: CSS_PATH = EnvironmentSettings.html_templates_path / "css/custom.css"
[docs] @staticmethod def build(report_results: dict, result_path: Path, instruction_result_paths: dict) -> Path: html_map = MultiDatasetBenchmarkHTMLBuilder._make_html_map(report_results, result_path, instruction_result_paths) result_file = result_path / "index.html" TemplateParser.parse(template_path=EnvironmentSettings.html_templates_path / "MultiDatasetBenchmark.html", template_map=html_map, result_path=result_file) return result_file
@staticmethod def _make_html_map(report_results: dict, result_path: Path, instruction_result_paths: dict) -> dict: html_map = { "css_style": Util.get_css_content(MultiDatasetBenchmarkHTMLBuilder.CSS_PATH), "reports": Util.to_dict_recursive(report_results.values(), result_path), 'immuneML_version': MLUtil.get_immuneML_version(), "show_reports": True, "instruction_overviews": [{"name": name, "path": Path(os.path.relpath(path / "index.html", result_path))} for name, path in instruction_result_paths.items()] } if len(html_map['reports']) == 0: html_map['show_reports'] = False return html_map