{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/module/protocol/1.0.1/target",
  "description": "Information about a single microscope channel.",
  "additionalProperties": false,
  "required": [
    "assay_type",
    "multiplexed"
  ],
  "title": "Target",
  "name": "target",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/target"
    },
    "schema_version": {
      "description": "The version number of the schema in major.minor.patch format.",
      "type": "string",
      "pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
      "example": "4.6.1"
    },
    "molecule_name": {
      "description": "The name of a target molecule (small molecule or gene product) whose distribution is assayed by this experiment. If there is an accompanying codebook, this name should correspond to the target name used in the codebook.",
      "type": "string",
      "example": "ACTA1, cFos",
      "user_friendly": "Target molecule name"
    },
    "molecule_id": {
      "description": "An identifier referring to the the target molecule. For small molecules this should be from the ChEBI ontology. For gene products this should be a standard gene or gene product identifier (e.g. ensembl, uniprot).",
      "type": "string",
      "example": "CHEBI:85345, ensembl_9606",
      "user_friendly": "Target molecule identifier."
    },
    "subcellular_structure": {
      "description": "Target subcellular structure. This should be a term from the GO cell component ontology.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/1.0.2/cellular_component_ontology",
      "user_friendly": "Target subcellular structure"
    },
    "reagent_name": {
      "description": "Name of reagent used to detect target.",
      "type": "string",
      "user_friendly": "Reagent name"
    },
    "purchased_reagent_details": {
      "description": "Information describing purchased reagent used to detect target.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/process/6.0.3/purchased_reagents",
      "user_friendly": "Purchased reagent details"
    },
    "probe_sequence": {
      "pattern": "[ATGCUatgcu]+",
      "description": "Sequence of a probe used to detect target.",
      "type": "string",
      "user_friendly": "Probe sequence"
    },
    "fluorophore": {
      "description": "Fluorophore used to detect target.",
      "type": "string",
      "example": "FITC",
      "user_friendly": "Fluorophore"
    },
    "assay_type": {
      "description": "Type of assay used to detect target.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/5.3.2/process_type_ontology",
      "example": "MERFISH, smFISH, immunofluorescence, fluorescent cell stain",
      "user_friendly": "Assay type"
    },
    "multiplexed": {
      "description": "Were multiple targets detected simultaneously in one channel? Should be yes or no.",
      "type": "string",
      "enum": [
        "yes",
        "no"
      ],
      "example": "yes",
      "user_friendly": "Is this a multiplexed experiment?"
    },
    "channel_id": {
      "description": "Channel ID used to assay signal. Should be consistent with the ID in the channel tab.",
      "type": "array",
      "example": "1, A",
      "user_friendly": "Channel"
    }
  }
}
