{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "from_h5mu_or_h5ad_to_tiledb",
  "description": "Convert a MuData or AnnData object to tiledb. Currently, transcriptome and protein modalities are supported.\n\nNOTE: The functionality provided by this component is experimental and may be subject to change. \n",
  "type": "object",
  "$defs": {
    "input": {
      "title": "Input",
      "type": "object",
      "description": "No description",
      "properties": {
        "input": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "Input AnnData or MuData file",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"input.h5mu\"`. "
        }
      }
    },
    "rna modality": {
      "title": "RNA modality",
      "type": "object",
      "description": "No description",
      "properties": {
        "rna_modality": {
          "type": "string",
          "description": "The name used for the RNA modality",
          "help_text": "Type: `string`, multiple: `False`, default: `\"rna\"`. ",
          "default": "rna"
        },
        "rna_raw_layer_input": {
          "type": "string",
          "description": "Location of the layer containing the raw transcriptome counts",
          "help_text": "Type: `string`, multiple: `False`, required, example: `\"X\"`. "
        },
        "rna_normalized_layer_input": {
          "type": "string",
          "description": "Location of the layer containing the normalized counts",
          "help_text": "Type: `string`, multiple: `False`, required, example: `\"log_normalized\"`. "
        },
        "rna_var_gene_names_input": {
          "type": "string",
          "description": "Column in .var that provides the gene names",
          "help_text": "Type: `string`, multiple: `False`, example: `\"gene_symbol\"`. "
        }
      }
    },
    "protein modality": {
      "title": "Protein modality",
      "type": "object",
      "description": "No description",
      "properties": {
        "prot_modality": {
          "type": "string",
          "description": "The name used for the protein modality",
          "help_text": "Type: `string`, multiple: `False`, example: `\"prot\"`. "
        },
        "prot_raw_layer_input": {
          "type": "string",
          "description": "Location of the layer containing the raw protein counts",
          "help_text": "Type: `string`, multiple: `False`, example: `\"X\"`. "
        },
        "prot_normalized_layer_input": {
          "type": "string",
          "description": "Location of the layer containing the normalized counts",
          "help_text": "Type: `string`, multiple: `False`, example: `\"clr\"`. "
        }
      }
    },
    "output slots": {
      "title": "Output slots",
      "type": "object",
      "description": "No description",
      "properties": {
        "rna_modality_output": {
          "type": "string",
          "description": "TileDB Measurement name where the RNA modality will be stored.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"rna\"`. ",
          "default": "rna"
        },
        "prot_modality_output": {
          "type": "string",
          "description": "Name of the TileDB Measurement where the protein modality will be stored.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"prot\"`. ",
          "default": "prot"
        },
        "obs_index_name_output": {
          "type": "string",
          "description": "Name of the index that is used to describe the cells (observations).\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"cell_id\"`. ",
          "default": "cell_id"
        },
        "rna_var_index_name_output": {
          "type": "string",
          "description": "Output name of the index that is used to describe the genes.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"rna_index\"`. ",
          "default": "rna_index"
        },
        "rna_raw_layer_output": {
          "type": "string",
          "description": "Output location for the raw transcriptomics counts.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"X\"`. ",
          "default": "X"
        },
        "rna_normalized_layer_output": {
          "type": "string",
          "description": "Output location for the normalized RNA counts.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"log_normalized\"`. ",
          "default": "log_normalized"
        },
        "rna_var_gene_names_output": {
          "type": "string",
          "description": "Name of the .var column that specifies the gene games.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"gene_symbol\"`. ",
          "default": "gene_symbol"
        },
        "prot_var_index_name_output": {
          "type": "string",
          "description": "Output name of the index that is used to describe the proteins",
          "help_text": "Type: `string`, multiple: `False`, default: `\"prot_index\"`. ",
          "default": "prot_index"
        },
        "prot_raw_layer_output": {
          "type": "string",
          "description": "Output location for the raw protein counts.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"X\"`. ",
          "default": "X"
        },
        "prot_normalized_layer_output": {
          "type": "string",
          "description": "Output location for the normalized protein counts.\n",
          "help_text": "Type: `string`, multiple: `False`, default: `\"log_normalized\"`. ",
          "default": "log_normalized"
        }
      }
    },
    "output arguments": {
      "title": "Output arguments",
      "type": "object",
      "description": "No description",
      "properties": {
        "tiledb_dir": {
          "type": "string",
          "format": "path",
          "description": "Directory where the TileDB output will be written to.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.tiledb_dir\"`, direction: `output`. ",
          "default": "$id.$key.tiledb_dir"
        }
      }
    },
    "nextflow input-output arguments": {
      "title": "Nextflow input-output arguments",
      "type": "object",
      "description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
      "properties": {
        "publish_dir": {
          "type": "string",
          "description": "Path to an output directory.",
          "help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
        }
      }
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/input"
    },
    {
      "$ref": "#/$defs/rna modality"
    },
    {
      "$ref": "#/$defs/protein modality"
    },
    {
      "$ref": "#/$defs/output slots"
    },
    {
      "$ref": "#/$defs/output arguments"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
