torchcell.datasets.scerevisiae.nadal_ribelles2025.NadalRibellesPerturbSeq2025Dataset

class NadalRibellesPerturbSeq2025Dataset(root: str = 'data/torchcell/nadal_ribelles_perturbseq2025', io_workers: int = 0, transform: Any | None = None, pre_transform: Any | None = None, **kwargs: Any)[source]

Bases: ExperimentDataset

Nadal-Ribelles 2025 pseudobulk Perturb-seq: one record per (genotype, condition).

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 Zenodo R objects + README (symlinked from the raw mirror).

download() → None[source]

Symlink the hash-pinned mirror files into raw_dir and verify each sha256.

The 426 MB FC_genotype.Rdata is referenced in place (never copied). Every file’s sha256 is verified against the pinned value.

process() → None[source]

Build the per-(genotype, condition) pseudobulk records and write LMDB.

preprocess_raw(df: DataFrame, preprocess: dict[str, Any] | None = None) → DataFrame[source]

Preprocessing is handled inside process() for this dataset.

create_experiment(row: dict[str, Any]) → tuple[PseudobulkExpressionExperiment, PseudobulkExpressionExperimentReference, Publication][source]

Build the pseudobulk experiment/reference/publication for one record.