{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "agat_convert_sp_gxf2gxf",
"description": "This script fixes and/or standardizes any GTF/GFF file into full sorted\nGTF/GFF file. It AGAT parser removes duplicate features, fixes\nduplicated IDs, adds missing ID and/or Parent attributes, deflates\nfactorized attributes (attributes with several parents are duplicated\nwith uniq ID), add missing features when possible (e.g. add exon if only\nCDS described, add UTR if CDS and exon described), fix feature locations\n(e.g. check exon is embedded in the parent features mRNA, gene), etc...\n\nAll AGAT\u0027s scripts with the _sp_ prefix use the AGAT parser, before to\nperform any supplementary task. So, it is not necessary to run this\nscript prior the use of any other _sp_ script.\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "gxf": {
                "type":
                "string",
                "description": "Type: `file`, required, example: `input.gff`. String - Input GTF/GFF file",
                "help_text": "Type: `file`, required, example: `input.gff`. String - Input GTF/GFF file. Compressed file with .gz extension is accepted.\n"
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.output.gff`, example: `output.gff`. String - Output GFF file",
                "help_text": "Type: `file`, required, default: `$id.$key.output.gff`, example: `output.gff`. String - Output GFF file. If no output file is specified, the output will be written to STDOUT.\n"
            ,
                "default": "$id.$key.output.gff"
            }
    

}
},
    
    
    "arguments" : {
    "title": "Arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "config": {
                "type":
                "string",
                "description": "Type: `file`, example: `custom_agat_config.yaml`. String - Input agat config file",
                "help_text": "Type: `file`, example: `custom_agat_config.yaml`. String - Input agat config file. By default AGAT takes as input agat_config.yaml file from the working directory if any, otherwise it takes the original agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally type: \"agat config --expose\". The --config option gives you the possibility to use your own AGAT config file (located elsewhere or named differently).\n"
            
            }
    

}
},
    
    
    "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."
            
            }
    

        ,
                "param_list": {
                "type":
                "string",
                "description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
                "help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
                "hidden": true
            
            }
    

}
}
},
"allOf": [

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

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

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

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