The single_cell_experiment
format provides an on-disk representation of a single cell experiment.
It is based on the SingleCellExperiment
class from the SingleCellExperiment bioconductor package.
The OBJECT
file should contain a single_cell_experiment
property, which is itself a JSON object with the following properties:
version
, a string specifying the version of thesingle_cell_experiment
format. This should be set to "1.0".- (optional)
main_experiment_name
, a string containing the name of the main experiment. If provided, this should not overlap with any names of the alternative experiments in thealternative_experiments
subdirectory.
In addition, the OBJECT
file should contain all properties expected for the ranged_summarized_experiment
format, i.e., a ranged_summarized_experiment
property.
This transitively includes the properties that are expected of the summarized_experiment
format.
The directory should contain all files expected of a ranged_summarized_experiment
format.
This includes the transitive expectations of files that should be present in a summarized_experiment
format.
The dimensions of the single cell experiment are determined from the summarized_experiment
-based files.
The directory may contain a reduced_dimensions
subdirectory.
The subdirectory should contain a names.json
file, which contains a JSON-formatted array of strings.
Each string is the name of a dimensionality reduction result and should be non-empty and unique.
The reduced_dimensions
subdirectory should contain one subdirectory for each dimensionality reduction result,
named after the result's positional index in the JSON array, e.g., 0
for the first result, 1
for the second result, and so on.
Each subdirectory of reduced_dimensions
should be a child object that has some concept of dimensions,
where the extent of the first dimension is equal to the number of columns of the single cell experiment.
If no reduced_dimensions
subdirectory is present, it is assumed that the single cell experiment contains no reduced dimensions.
The directory may contain an alternative_experiments
subdirectory.
The subdirectory should contain a names.json
file, which contains a JSON-formatted array of strings.
Each string is the name of an alternative experiment and should be non-empty and unique.
The alternative_experiments
subdirectory should contain one subdirectory for each alternative experiment,
named after the experiment's positional index in the JSON array, e.g., 0
for the first experiment, 1
for the second experiment, and so on.
Each subdirectory of alternative_experiments
should be a child object that satisfies the SUMMARIZED_EXPERIMENT
interface,
with number of columns equal to the number of columns of the single cell experiment.
If no alternative_experiments
subdirectory is present, it is assumed that the single cell experiment contains no alternative experiments.
Note that any names in the reduced_dimensions
or alternative_experiments
should not be used as the column names of the ranged summarized experiment,
as this is determined from the summarized_experiment
-based files instead.
The height of the single_cell_experiment
is defined in the same manner as that of the underlying summarized_experiment
.
The dimensions of the single_cell_experiment
is defined in the same manner as that of the summarized_experiment
.
The single_cell_experiment
satisfies the SUMMARIZED_EXPERIMENT
interface.