{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "grep_annotation_column",
"description": "Perform a regex lookup on a column from the annotation matrices .obs or .var.\nThe annotation matrix can originate from either a modality, or all modalities (global .var or .obs).\n",
"type": "object",
"definitions": {

    
    "Dataset input": {
        "title": "Dataset input",
        "type": "object",
        "description": "Dataset input using nf-tower \"dataset\" or \"data explorer\". Allows for the input of multiple         parameter sets to initialise a Nextflow channel.",
        "properties": {
            "param_list": {
                "description": "Dataset input can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml                 blob. The names of the input fields (e.g. csv columns, json keys) need to be an exact match with the workflow input parameters.",
                "default": "",
                "format": "file-path",
                "mimetype": "text/csv",
                "pattern": "^\\S+\\.csv$"
            }
        }
    },

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "Arguments related to the input dataset.",
    "properties": {
    
        
                "input": {
                "type":
                "string",
                "description": "Type: `file`, required, example: `sample_path`. Path to the input ",
                "help_text": "Type: `file`, required, example: `sample_path`. Path to the input .h5mu."
            
            }
    

        ,
                "input_column": {
                "type":
                "string",
                "description": "Type: `string`. Column to query",
                "help_text": "Type: `string`. Column to query. If not specified, use .var_names or .obs_names, depending on the value of --matrix"
            
            }
    

        ,
                "input_layer": {
                "type":
                "string",
                "description": "Type: `string`. Input data to use when calculating fraction of observations that match with the query",
                "help_text": "Type: `string`. Input data to use when calculating fraction of observations that match with the query. \nOnly used when --output_fraction_column is provided. If not specified, .X is used.\n"
            
            }
    

        ,
                "modality": {
                "type":
                "string",
                "description": "Type: `string`, required, example: `rna`. Which modality to get the annotation matrix from",
                "help_text": "Type: `string`, required, example: `rna`. Which modality to get the annotation matrix from.\n"
            
            }
    

        ,
                "matrix": {
                "type":
                "string",
                "description": "Type: `string`, example: `var`, choices: ``var`, `obs``. Matrix to fetch the column from that will be searched",
                "help_text": "Type: `string`, example: `var`, choices: ``var`, `obs``. Matrix to fetch the column from that will be searched.",
                "enum": ["var", "obs"]
            
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "Arguments related to how the output will be written.",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.output.h5mu`, example: `output.h5mu`. ",
                "help_text": "Type: `file`, default: `$id.$key.output.h5mu`, example: `output.h5mu`. "
            ,
                "default":"$id.$key.output.h5mu"
            }
    

        ,
                "output_compression": {
                "type":
                "string",
                "description": "Type: `string`, example: `gzip`, choices: ``gzip`, `lzf``. The compression format to be used on the output h5mu object",
                "help_text": "Type: `string`, example: `gzip`, choices: ``gzip`, `lzf``. The compression format to be used on the output h5mu object.",
                "enum": ["gzip", "lzf"]
            
            
            }
    

        ,
                "output_match_column": {
                "type":
                "string",
                "description": "Type: `string`, required. Name of the column to write the result to",
                "help_text": "Type: `string`, required. Name of the column to write the result to."
            
            }
    

        ,
                "output_fraction_column": {
                "type":
                "string",
                "description": "Type: `string`. For the opposite axis, name of the column to write the fraction of \nobservations that matches to the pattern",
                "help_text": "Type: `string`. For the opposite axis, name of the column to write the fraction of \nobservations that matches to the pattern.\n"
            
            }
    

}
},
    
    
    "query options" : {
    "title": "Query options",
    "type": "object",
    "description": "Options related to the query",
    "properties": {
    
        
                "regex_pattern": {
                "type":
                "string",
                "description": "Type: `string`, required, example: `^[mM][tT]-`. Regex to use to match with the input column",
                "help_text": "Type: `string`, required, example: `^[mM][tT]-`. Regex to use to match with the input column."
            
            }
    

}
},
    
    
    "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": "Type: `string`, required, example: `output/`. Path to an output directory",
                "help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
            
            }
    

        

}
}
},
"allOf": [

    {
    "$ref": "#/definitions/inputs"
    },

    {
    "$ref": "#/definitions/outputs"
    },

    {
    "$ref": "#/definitions/query options"
    },

    {
    "$ref": "#/definitions/nextflow input-output arguments"
    }
]
}
