torchcell.datasets.scerevisiae.hoepfner2014.EnvChemgenHoepfner2014Dataset
- class EnvChemgenHoepfner2014Dataset(root: str = 'data/torchcell/env_chemgen_hoepfner2014', io_workers: int = 0, transform: Callable[[...], Any] | None = None, pre_transform: Callable[[...], Any] | None = None, **kwargs: Any)[source]
Bases:
ExperimentDatasetHoepfner 2014 HIP-HOP atlas: env x (het | hom kanMX4 deletion) -> sensitivity score.
- organism: ClassVar[Organism] = 'scerevisiae'
each loader declares its own, the build’s organism switch reads it off the class (
dataset_organism), and a loader that forgot it is refused by name instead of inheriting an organism it may not have.- Type:
The host organism every record describes. Annotated here WITHOUT a value
- property experiment_class: type[Experiment]
Experiment schema class produced by this dataset.
- property reference_class: type[ExperimentReference]
Experiment-reference schema class produced by this dataset.
- property raw_file_names: list[str]
The Dryad score matrices + compound table required before processing.
- download() None[source]
Link the raw files from the sha256-verified mirror; fetch Dryad if absent.
The mirror is the canonical copy (the stored artifact plus its sha256 is canonical, the URL is historical retrieval metadata), so the rebuild path reads it first and verifies every byte against the pinned hash. The Dryad fetch is the recorded retrieval command, run only where the mirror has not been deposited.
- process() None[source]
Stream both score matrices into the LMDB (one record per (ORF, experiment)).
The constant sub-objects are interned FIRST and their transaction committed before any record is written, so a crash can only ever leave orphan interned rows, never a record with a dangling
$ref. Records then commit in batches so a multi- million-record build never accumulates one giant dirty-page write transaction.