Skip to content

mecfs_bio.build_system.task.mixer.mixer_univariate_results

Task to take the results of a MiXeR run and produce tables and plots.

Classes:

Attributes:

FIT_OUTPUT_PREFIX module-attribute

FIT_OUTPUT_PREFIX = 'trait_plot_fit'

TEST_OUTPUT_PREFIX module-attribute

TEST_OUTPUT_PREFIX = 'trait_plot_test'

MixerUnivariateSummarizeResultsTask

Bases: Task

Task to take the results of a MiXeR run and produce tables and plots.

Methods:

Attributes:

combine_task instance-attribute

combine_task: Task

deps property

deps: list[Task]

meta property

meta: Meta

trait_name instance-attribute

trait_name: str

create classmethod

create(asset_id: str, combine_task: Task, trait_name: str)
Source code in mecfs_bio/build_system/task/mixer/mixer_univariate_results.py
@classmethod
def create(cls, asset_id: str, combine_task: Task, trait_name: str):
    source_meta = combine_task.meta
    meta: Meta
    if isinstance(source_meta, ResultDirectoryMeta):
        meta = ResultDirectoryMeta(
            trait=source_meta.trait,
            project=source_meta.project,
            id=AssetId(asset_id),
            sub_dir=PurePath("analysis") / "mixer_results",
        )
    elif isinstance(source_meta, SimpleDirectoryMeta):
        meta = SimpleDirectoryMeta(
            id=AssetId(asset_id),
        )
    else:
        raise ValueError(f"Unknown meta {source_meta}")
    return cls(meta=meta, combine_task=combine_task, trait_name=trait_name)

execute

execute(scratch_dir: Path, fetch: Fetch, wf: WF) -> Asset
Source code in mecfs_bio/build_system/task/mixer/mixer_univariate_results.py
def execute(self, scratch_dir: Path, fetch: Fetch, wf: WF) -> Asset:
    source_asset = fetch(self.combine_task.asset_id)
    assert isinstance(source_asset, DirectoryAsset)

    plots_mounts = {
        scratch_dir.resolve(): _CONTAINER_PLOT_DIR,
        source_asset.path.resolve(): _CONTAINER_COMBINED_DIR,
    }

    invoke_mixer_figures(
        args=[
            "one",
            "--json",
            str(_CONTAINER_COMBINED_DIR / (COMBINED_FIT_FILENAME_PREFIX + ".json")),
            "--out",
            str(_CONTAINER_PLOT_DIR / (FIT_OUTPUT_PREFIX)),
            "--statistic",
            "mean std",
            "--ext",
            "png",
            "--trait1",
            self.trait_name,
        ],
        extra_mounts=plots_mounts,
    )

    invoke_mixer_figures(
        args=[
            "one",
            "--json",
            str(
                _CONTAINER_COMBINED_DIR / (COMBINED_TEST_FILENAME_PREFIX + ".json")
            ),
            "--out",
            str(_CONTAINER_PLOT_DIR / (TEST_OUTPUT_PREFIX)),
            "--statistic",
            "mean std",
            "--ext",
            "png",
            "--trait1",
            self.trait_name,
        ],
        extra_mounts=plots_mounts,
    )
    return DirectoryAsset(scratch_dir)