{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "calculate_qc_metrics",
"description": "Add basic quality control metrics to an .h5mu file.\n\nThe metrics are comparable to what scanpy.pp.calculate_qc_metrics output,\nalthough they have slightly different names:\n\nVar metrics (name in this component -\u003e name in scanpy):\n  - pct_dropout -\u003e pct_dropout_by_{expr_type}\n  - num_nonzero_obs -\u003e n_cells_by_{expr_type}\n  - obs_mean -\u003e mean_{expr_type}\n  - total_counts -\u003e total_{expr_type}\n\n  Obs metrics:\n    - num_nonzero_vars -\u003e n_genes_by_{expr_type}\n    - pct_{var_qc_metrics} -\u003e pct_{expr_type}_{qc_var}\n    - total_counts_{var_qc_metrics} -\u003e total_{expr_type}_{qc_var}\n    - pct_of_counts_in_top_{top_n_vars}_vars -\u003e pct_{expr_type}_in_top_{n}_{var_type}\n    - total_counts -\u003e total_{expr_type}\n    \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": "No description",
    "properties": {
    
        
                "input": {
                "type":
                "string",
                "description": "Type: `file`, required, example: `input.h5mu`. Input h5mu file",
                "help_text": "Type: `file`, required, example: `input.h5mu`. Input h5mu file"
            
            }
    

        ,
                "modality": {
                "type":
                "string",
                "description": "Type: `string`, default: `rna`. ",
                "help_text": "Type: `string`, default: `rna`. "
            ,
                "default":"rna"
            }
    

        ,
                "layer": {
                "type":
                "string",
                "description": "Type: `string`, example: `raw_counts`. ",
                "help_text": "Type: `string`, example: `raw_counts`. "
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.output.h5mu`, example: `output.h5mu`. Output h5mu file",
                "help_text": "Type: `file`, default: `$id.$key.output.h5mu`, example: `output.h5mu`. Output h5mu file."
            ,
                "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"]
            
            
            }
    

}
},
    
    
    "metrics added to .obs" : {
    "title": "Metrics added to .obs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "var_qc_metrics": {
                "type":
                "string",
                "description": "Type: List of `string`, example: `ercc,highly_variable,mitochondrial`, multiple_sep: `\";\"`. Keys to select a boolean (containing only True or False) column from ",
                "help_text": "Type: List of `string`, example: `ercc,highly_variable,mitochondrial`, multiple_sep: `\";\"`. Keys to select a boolean (containing only True or False) column from .var.\nFor each cell, calculate the proportion of total values for genes which are labeled \u0027True\u0027, \ncompared to the total sum of the values for all genes.\n"
            
            }
    

        ,
                "var_qc_metrics_fill_na_value": {
                "type":
                "boolean",
                "description": "Type: `boolean`. Fill any \u0027NA\u0027 values found in the columns specified with --var_qc_metrics to \u0027True\u0027 or \u0027False\u0027",
                "help_text": "Type: `boolean`. Fill any \u0027NA\u0027 values found in the columns specified with --var_qc_metrics to \u0027True\u0027 or \u0027False\u0027.\nas False.\n"
            
            }
    

        ,
                "top_n_vars": {
                "type":
                "string",
                "description": "Type: List of `integer`, multiple_sep: `\";\"`. Number of top vars to be used to calculate cumulative proportions",
                "help_text": "Type: List of `integer`, multiple_sep: `\";\"`. Number of top vars to be used to calculate cumulative proportions.\nIf not specified, proportions are not calculated. `--top_n_vars 20;50` finds\ncumulative proportion to the 20th and 50th most expressed vars.\n"
            
            }
    

        ,
                "output_obs_num_nonzero_vars": {
                "type":
                "string",
                "description": "Type: `string`, default: `num_nonzero_vars`. Name of column in ",
                "help_text": "Type: `string`, default: `num_nonzero_vars`. Name of column in .obs describing, for each observation, the number of stored values\n(including explicit zeroes). In other words, the name of the column that counts\nfor each row the number of columns that contain data.\n"
            ,
                "default":"num_nonzero_vars"
            }
    

        ,
                "output_obs_total_counts_vars": {
                "type":
                "string",
                "description": "Type: `string`, default: `total_counts`. Name of the column for ",
                "help_text": "Type: `string`, default: `total_counts`. Name of the column for .obs describing, for each observation (row),\nthe sum of the stored values in the columns.\n"
            ,
                "default":"total_counts"
            }
    

}
},
    
    
    "metrics added to .var" : {
    "title": "Metrics added to .var",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output_var_num_nonzero_obs": {
                "type":
                "string",
                "description": "Type: `string`, default: `num_nonzero_obs`. Name of column describing, for each feature, the number of stored values\n(including explicit zeroes)",
                "help_text": "Type: `string`, default: `num_nonzero_obs`. Name of column describing, for each feature, the number of stored values\n(including explicit zeroes). In other words, the name of the column that counts\nfor each column the number of rows that contain data.\n"
            ,
                "default":"num_nonzero_obs"
            }
    

        ,
                "output_var_total_counts_obs": {
                "type":
                "string",
                "description": "Type: `string`, default: `total_counts`. Name of the column in ",
                "help_text": "Type: `string`, default: `total_counts`. Name of the column in .var describing, for each feature (column),\nthe sum of the stored values in the rows.\n"
            ,
                "default":"total_counts"
            }
    

        ,
                "output_var_obs_mean": {
                "type":
                "string",
                "description": "Type: `string`, default: `obs_mean`. Name of the column in ",
                "help_text": "Type: `string`, default: `obs_mean`. Name of the column in .obs providing the mean of the values in each row.\n"
            ,
                "default":"obs_mean"
            }
    

        ,
                "output_var_pct_dropout": {
                "type":
                "string",
                "description": "Type: `string`, default: `pct_dropout`. Name of the column in ",
                "help_text": "Type: `string`, default: `pct_dropout`. Name of the column in .obs providing for each feature the percentage of\nobservations the feature does not appear on (i.e. is missing). Same as `--num_nonzero_obs`\nbut percentage based.\n"
            ,
                "default":"pct_dropout"
            }
    

}
},
    
    
    "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/metrics added to .obs"
    },

    {
    "$ref": "#/definitions/metrics added to .var"
    },

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