mod:
  - name: rna
    layers: 
      - type: integer
        name: counts
        description: Raw counts
        required: true
    obs:
      - type: string
        name: dataset_id
        description: Identifier for the dataset from which the cell data is derived, useful for tracking and referencing purposes.
        required: false

      - type: string
        name: assay
        description: Type of assay used to generate the cell data, indicating the methodology or technique employed.
        required: true

      - type: string
        name: assay_ontology_term_id
        description: Experimental Factor Ontology (`EFO:`) term identifier for the assay, providing a standardized reference to the assay type.
        required: true

      - type: string
        name: cell_type
        description: Classification of the cell type based on its characteristics and function within the tissue or organism.
        required: true

      - type: string
        name: cell_type_ontology_term_id
        description: Cell Ontology (`CL:`) term identifier for the cell type, offering a standardized reference to the specific cell classification.
        required: true

      - type: string
        name: development_stage
        description: Stage of development of the organism or tissue from which the cell is derived, indicating its maturity or developmental phase.
        required: true

      - type: string
        name: development_stage_ontology_term_id
        description: |
          Ontology term identifier for the developmental stage, providing a standardized reference to the organism's developmental phase.

          If the organism is human (`organism_ontology_term_id == 'NCBITaxon:9606'`), then the Human Developmental Stages (`HsapDv:`) ontology is used.  
          If the organism is mouse (`organism_ontology_term_id == 'NCBITaxon:10090'`), then the Mouse Developmental Stages (`MmusDv:`) ontology is used.
          Otherwise, the Uberon (`UBERON:`) ontology is used.
        required: true

      - type: string
        name: disease
        description: Information on any disease or pathological condition associated with the cell or donor.
        required: true

      - type: string
        name: disease_ontology_term_id
        description: |
          Ontology term identifier for the disease, enabling standardized disease classification and referencing.

          Must be a term from the Mondo Disease Ontology (`MONDO:`) ontology term, or `PATO:0000461` from the Phenotype And Trait Ontology (`PATO:`).
        required: true

      - type: string
        name: donor_id
        description: Identifier for the donor from whom the cell sample is obtained.
        required: true

      - type: boolean
        name: is_primary_data
        description: Indicates whether the data is primary (directly obtained from experiments) or has been computationally derived from other primary data.
        required: true

      - type: string
        name: organism
        description: Organism from which the cell sample is obtained.
        required: true
      
      - type: string
        name: organism_ontology_term_id
        description: |
          Ontology term identifier for the organism, providing a standardized reference for the organism.

          Must be a term from the NCBI Taxonomy Ontology (`NCBITaxon:`) which is a child of `NCBITaxon:33208`.
        required: true

      - type: string
        name: self_reported_ethnicity
        description: Ethnicity of the donor as self-reported, relevant for studies considering genetic diversity and population-specific traits.
        required: true

      - type: string
        name: self_reported_ethnicity_ontology_term_id
        description: |
          Ontology term identifier for the self-reported ethnicity, providing a standardized reference for ethnic classifications.

          If the organism is human (`organism_ontology_term_id == 'NCBITaxon:9606'`), then the Human Ancestry Ontology (`HANCESTRO:`) is used.
        required: true

      - type: string
        name: sex
        description: Biological sex of the donor or source organism, crucial for studies involving sex-specific traits or conditions.
        required: true

      - type: string
        name: sex_ontology_term_id
        description: Ontology term identifier for the biological sex, ensuring standardized classification of sex. Only `PATO:0000383`, `PATO:0000384` and `PATO:0001340` are allowed.
        required: true

      - type: string
        name: suspension_type
        description: Type of suspension or medium in which the cells were stored or processed, important for understanding cell handling and conditions.
        required: true

      - type: string
        name: tissue
        description: Specific tissue from which the cells were derived, key for context and specificity in cell studies.
        required: true

      - type: string
        name: tissue_ontology_term_id
        description: |
          Ontology term identifier for the tissue, providing a standardized reference for the tissue type.

          For organoid or tissue samples, the Uber-anatomy ontology (`UBERON:`) is used. The term ids must be a child term of `UBERON:0001062` (anatomical entity).
          For cell cultures, the Cell Ontology (`CL:`) is used. The term ids cannot be `CL:0000255`, `CL:0000257` or `CL:0000548`.
        required: true

      - type: string
        name: tissue_general
        description: General category or classification of the tissue, useful for broader grouping and comparison of cell data.
        required: true

      - type: string
        name: tissue_general_ontology_term_id
        description: |
          Ontology term identifier for the general tissue category, aiding in standardizing and grouping tissue types.

          For organoid or tissue samples, the Uber-anatomy ontology (`UBERON:`) is used. The term ids must be a child term of `UBERON:0001062` (anatomical entity).
          For cell cultures, the Cell Ontology (`CL:`) is used. The term ids cannot be `CL:0000255`, `CL:0000257` or `CL:0000548`.
        required: true

      - type: integer
        name: soma_joinid
        description: If the dataset was retrieved from CELLxGENE census, this is a unique identifier for the cell.
        required: true
    var:
      - type: string
        name: feature_id
        description: Unique identifier for the feature, usually a ENSEMBL gene id.
        required: true
      
      - type: string
        name: feature_name
        description: A human-readable name for the feature, usually a gene symbol.
        required: true

      - type: integer
        name: soma_joinid
        description: If the dataset was retrieved from CELLxGENE census, this is a unique identifier for the feature.
        required: true
