{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "star_genome_generate",
"description": "Create index for STAR\n",
"type": "object",
"definitions": {

    
    
    "input" : {
    "title": "Input",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "genome_fasta_files": {
                "type":
                "string",
                "description": "Type: List of `file`, required, multiple_sep: `\";\"`. Path(s) to the fasta files with the genome sequences, separated by spaces",
                "help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Path(s) to the fasta files with the genome sequences, separated by spaces. These files should be plain text FASTA files, they *cannot* be zipped.\n"
            
            }
    

        ,
                "sjdb_gtf_file": {
                "type":
                "string",
                "description": "Type: `file`. Path to the GTF file with annotations",
                "help_text": "Type: `file`. Path to the GTF file with annotations"
            
            }
    

        ,
                "sjdb_overhang": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `100`. Length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1)",
                "help_text": "Type: `integer`, example: `100`. Length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1)"
            
            }
    

        ,
                "sjdb_gtf_chr_prefix": {
                "type":
                "string",
                "description": "Type: `string`. Prefix for chromosome names in a GTF file (e",
                "help_text": "Type: `string`. Prefix for chromosome names in a GTF file (e.g. \u0027chr\u0027 for using ENSMEBL annotations with UCSC genomes)"
            
            }
    

        ,
                "sjdb_gtf_feature_exon": {
                "type":
                "string",
                "description": "Type: `string`, example: `exon`. Feature type in GTF file to be used as exons for building transcripts",
                "help_text": "Type: `string`, example: `exon`. Feature type in GTF file to be used as exons for building transcripts"
            
            }
    

        ,
                "sjdb_gtf_tag_exon_parent_transcript": {
                "type":
                "string",
                "description": "Type: `string`, example: `transcript_id`. GTF attribute name for parent transcript ID (default \"transcript_id\" works for GTF files)",
                "help_text": "Type: `string`, example: `transcript_id`. GTF attribute name for parent transcript ID (default \"transcript_id\" works for GTF files)"
            
            }
    

        ,
                "sjdb_gtf_tag_exon_parent_gene": {
                "type":
                "string",
                "description": "Type: `string`, example: `gene_id`. GTF attribute name for parent gene ID (default \"gene_id\" works for GTF files)",
                "help_text": "Type: `string`, example: `gene_id`. GTF attribute name for parent gene ID (default \"gene_id\" works for GTF files)"
            
            }
    

        ,
                "sjdb_gtf_tag_exon_parent_gene_name": {
                "type":
                "string",
                "description": "Type: List of `string`, example: `gene_name`, multiple_sep: `\";\"`. GTF attribute name for parent gene name",
                "help_text": "Type: List of `string`, example: `gene_name`, multiple_sep: `\";\"`. GTF attribute name for parent gene name"
            
            }
    

        ,
                "sjdb_gtf_tag_exon_parent_gene_type": {
                "type":
                "string",
                "description": "Type: List of `string`, example: `gene_type;gene_biotype`, multiple_sep: `\";\"`. GTF attribute name for parent gene type",
                "help_text": "Type: List of `string`, example: `gene_type;gene_biotype`, multiple_sep: `\";\"`. GTF attribute name for parent gene type"
            
            }
    

        ,
                "limit_genome_generate_ram": {
                "type":
                "string",
                "description": "Type: `long`, example: `31000000000`. Maximum available RAM (bytes) for genome generation",
                "help_text": "Type: `long`, example: `31000000000`. Maximum available RAM (bytes) for genome generation"
            
            }
    

        ,
                "genome_sa_index_nbases": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `14`. Length (bases) of the SA pre-indexing string",
                "help_text": "Type: `integer`, example: `14`. Length (bases) of the SA pre-indexing string. Typically between 10 and 15. Longer strings will use much more memory, but allow faster searches. For small genomes, this parameter must be scaled down to min(14, log2(GenomeLength)/2 - 1)."
            
            }
    

        ,
                "genome_chr_bin_nbits": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `18`. Defined as log2(chrBin), where chrBin is the size of the bins for genome storage",
                "help_text": "Type: `integer`, example: `18`. Defined as log2(chrBin), where chrBin is the size of the bins for genome storage. Each chromosome will occupy an integer number of bins. For a genome with large number of contigs, it is recommended to scale this parameter as min(18, log2[max(GenomeLength/NumberOfReferences,ReadLength)])."
            
            }
    

        ,
                "genome_sa_sparse_d": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. Suffux array sparsity, i",
                "help_text": "Type: `integer`, example: `1`. Suffux array sparsity, i.e. distance between indices. Use bigger numbers to decrease needed RAM at the cost of mapping speed reduction."
            
            }
    

        ,
                "genome_suffix_length_max": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `-1`. Maximum length of the suffixes, has to be longer than read length",
                "help_text": "Type: `integer`, example: `-1`. Maximum length of the suffixes, has to be longer than read length. Use -1 for infinite length."
            
            }
    

        ,
                "genome_transform_type": {
                "type":
                "string",
                "description": "Type: `string`, example: `None`. Type of genome transformation\n  None       ",
                "help_text": "Type: `string`, example: `None`. Type of genome transformation\n  None       ... no transformation\n  Haploid    ... replace reference alleles with alternative alleles from VCF file (e.g. consensus allele)\n  Diploid    ... create two haplotypes for each chromosome listed in VCF file, for genotypes 1|2, assumes perfect phasing (e.g. personal genome)\n"
            
            }
    

        ,
                "genome_transform_vcf": {
                "type":
                "string",
                "description": "Type: `file`. path to VCF file for genome transformation",
                "help_text": "Type: `file`. path to VCF file for genome transformation"
            
            }
    

}
},
    
    
    "output" : {
    "title": "Output",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "index": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.index.index`. STAR index directory",
                "help_text": "Type: `file`, required, default: `$id.$key.index.index`. STAR index directory."
            ,
                "default": "$id.$key.index.index"
            }
    

}
},
    
    
    "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/input"
    },

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

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