{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "bd_rhapsody_make_reference",
"description": "The Reference Files Generator creates an archive containing Genome Index\nand Transcriptome annotation files needed for the BD Rhapsody Sequencing\nAnalysis Pipeline. The app takes as input one or more FASTA and GTF files\nand produces a compressed archive in the form of a tar.gz file. The \narchive contains:\n\n- STAR index\n- Filtered GTF file\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "genome_fasta": {
                "type":
                "string",
                "description": "Type: List of `file`, required, example: `genome_sequence.fa.gz`, multiple_sep: `\";\"`. Reference genome file in FASTA or FASTA",
                "help_text": "Type: List of `file`, required, example: `genome_sequence.fa.gz`, multiple_sep: `\";\"`. Reference genome file in FASTA or FASTA.GZ format. The BD Rhapsody Sequencing Analysis Pipeline uses GRCh38 for Human and GRCm39 for Mouse."
            
            }
    

        ,
                "gtf": {
                "type":
                "string",
                "description": "Type: List of `file`, required, example: `transcriptome_annotation.gtf.gz`, multiple_sep: `\";\"`. File path to the transcript annotation files in GTF or GTF",
                "help_text": "Type: List of `file`, required, example: `transcriptome_annotation.gtf.gz`, multiple_sep: `\";\"`. File path to the transcript annotation files in GTF or GTF.GZ format. The Sequence Analysis Pipeline requires the \u0027gene_name\u0027 or \n\u0027gene_id\u0027 attribute to be set on each gene and exon feature. Gene and exon feature lines must have the same attribute, and exons\nmust have a corresponding gene with the same value. For TCR/BCR assays, the TCR or BCR gene segments must have the \u0027gene_type\u0027 or\n\u0027gene_biotype\u0027 attribute set, and the value should begin with \u0027TR\u0027 or \u0027IG\u0027, respectively.\n"
            
            }
    

        ,
                "extra_sequences": {
                "type":
                "string",
                "description": "Type: List of `file`, multiple_sep: `\";\"`. File path to additional sequences in FASTA format to use when building the STAR index",
                "help_text": "Type: List of `file`, multiple_sep: `\";\"`. File path to additional sequences in FASTA format to use when building the STAR index. (e.g. transgenes or CRISPR guide barcodes).\nGTF lines for these sequences will be automatically generated and combined with the main GTF.\n"
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "reference_archive": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.reference_archive.gz`, example: `star_index.tar.gz`. A Compressed archive containing the Reference Genome Index and annotation GTF files",
                "help_text": "Type: `file`, required, default: `$id.$key.reference_archive.gz`, example: `star_index.tar.gz`. A Compressed archive containing the Reference Genome Index and annotation GTF files. This archive is meant to be used as an\ninput in the BD Rhapsody Sequencing Analysis Pipeline.\n"
            ,
                "default": "$id.$key.reference_archive.gz"
            }
    

}
},
    
    
    "arguments" : {
    "title": "Arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "mitochondrial_contigs": {
                "type":
                "string",
                "description": "Type: List of `string`, default: `chrM;chrMT;M;MT`, multiple_sep: `\";\"`. Names of the Mitochondrial contigs in the provided Reference Genome",
                "help_text": "Type: List of `string`, default: `chrM;chrMT;M;MT`, multiple_sep: `\";\"`. Names of the Mitochondrial contigs in the provided Reference Genome. Fragments originating from contigs other than these are\nidentified as \u0027nuclear fragments\u0027 in the ATACseq analysis pipeline.\n"
            ,
                "default": "chrM;chrMT;M;MT"
            }
    

        ,
                "filtering_off": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. By default the input Transcript Annotation files are filtered based on the gene_type/gene_biotype attribute",
                "help_text": "Type: `boolean_true`, default: `false`. By default the input Transcript Annotation files are filtered based on the gene_type/gene_biotype attribute. Only features \nhaving the following attribute values are kept:\n\n  - protein_coding\n  - lncRNA (lincRNA and antisense for Gencode \u003c v31/M22/Ensembl97)\n  - IG_LV_gene\n  - IG_V_gene\n  - IG_V_pseudogene\n  - IG_D_gene\n  - IG_J_gene\n  - IG_J_pseudogene\n  - IG_C_gene\n  - IG_C_pseudogene\n  - TR_V_gene\n  - TR_V_pseudogene\n  - TR_D_gene\n  - TR_J_gene\n  - TR_J_pseudogene\n  - TR_C_gene\n\n  If you have already pre-filtered the input Annotation files and/or wish to turn-off the filtering, please set this option to True.\n"
            ,
                "default": "False"
            }
    

        ,
                "wta_only_index": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Build a WTA only index, otherwise builds a WTA + ATAC index",
                "help_text": "Type: `boolean_true`, default: `false`. Build a WTA only index, otherwise builds a WTA + ATAC index."
            ,
                "default": "False"
            }
    

        ,
                "extra_star_params": {
                "type":
                "string",
                "description": "Type: `string`, example: `--limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11`. Additional parameters to pass to STAR when building the genome index",
                "help_text": "Type: `string`, example: `--limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11`. Additional parameters to pass to STAR when building the genome index. Specify exactly like how you would on the command line."
            
            }
    

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