{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "rsem_prepare_reference",
"description": "RSEM is a software package for estimating gene and isoform expression levels from RNA-Seq data. This component prepares transcript references for RSEM.\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "reference_fasta_files": {
                "type":
                "string",
                "description": "Type: List of `file`, required, example: `read1.fasta`, multiple_sep: `\";\"`. Semi-colon separated list of Multi-FASTA formatted files OR a directory name",
                "help_text": "Type: List of `file`, required, example: `read1.fasta`, multiple_sep: `\";\"`. Semi-colon separated list of Multi-FASTA formatted files OR a directory name. If a directory name is specified, RSEM will read all files with suffix \".fa\" or \".fasta\" in this directory. The files should contain either the sequences of transcripts or an entire genome, depending on whether the \u0027--gtf\u0027 option is used.\n"
            
            }
    

        ,
                "reference_name": {
                "type":
                "string",
                "description": "Type: `string`, required, example: `/ref/mm9`. The name of the reference used",
                "help_text": "Type: `string`, required, example: `/ref/mm9`. The name of the reference used. RSEM will generate several reference-related files that are prefixed by this name. This name can contain path information (e.g. \u0027/ref/mm9\u0027).\n"
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.output.output`. Directory containing reference files generated by RSEM",
                "help_text": "Type: `file`, required, default: `$id.$key.output.output`. Directory containing reference files generated by RSEM."
            ,
                "default": "$id.$key.output.output"
            }
    

}
},
    
    
    "other options" : {
    "title": "Other options",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "gtf": {
                "type":
                "string",
                "description": "Type: `file`, example: `annotations.gtf`. Assume that \u0027reference_fasta_files\u0027 contains the sequence of a genome, and extract transcript reference sequences using the gene annotations specified in the GTF file",
                "help_text": "Type: `file`, example: `annotations.gtf`. Assume that \u0027reference_fasta_files\u0027 contains the sequence of a genome, and extract transcript reference sequences using the gene annotations specified in the GTF file. If this and \u0027--gff3\u0027 options are not provided, RSEM will assume \u0027reference_fasta_files\u0027 contains the reference transcripts. In this case, RSEM assumes that name of each sequence in the Multi-FASTA files is its transcript_id."
            
            }
    

        ,
                "gff3": {
                "type":
                "string",
                "description": "Type: `file`, example: `annotations.gff`. GFF3 annotation file",
                "help_text": "Type: `file`, example: `annotations.gff`. GFF3 annotation file. Converted to GTF format with the file name \u0027reference_name.gtf\u0027. Please make sure that \u0027reference_name.gtf\u0027 does not exist."
            
            }
    

        ,
                "gff3_rna_patterns": {
                "type":
                "string",
                "description": "Type: List of `string`, example: `mRNA;rRNA`, multiple_sep: `\";\"`. List of transcript categories (separated by semi-colon)",
                "help_text": "Type: List of `string`, example: `mRNA;rRNA`, multiple_sep: `\";\"`. List of transcript categories (separated by semi-colon). Only transcripts that match the string will be extracted."
            
            }
    

        ,
                "gff3_genes_as_transcripts": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. This option is designed for untypical organisms, such as viruses, whose GFF3 files only contain genes",
                "help_text": "Type: `boolean_true`, default: `false`. This option is designed for untypical organisms, such as viruses, whose GFF3 files only contain genes. RSEM will assume each gene as a unique transcript when it converts the GFF3 file into GTF format."
            ,
                "default": "False"
            }
    

        ,
                "trusted_sources": {
                "type":
                "string",
                "description": "Type: List of `string`, example: `ENSEMBL;HAVANA`, multiple_sep: `\";\"`. List of trusted sources (separated by semi-colon)",
                "help_text": "Type: List of `string`, example: `ENSEMBL;HAVANA`, multiple_sep: `\";\"`. List of trusted sources (separated by semi-colon). Only transcripts coming from these sources will be extracted. If this option is off, all sources are accepted."
            
            }
    

        ,
                "transcript_to_gene_map": {
                "type":
                "string",
                "description": "Type: `file`, example: `isoforms.txt`. Use information from this file to map from transcript (isoform) ids to gene ids",
                "help_text": "Type: `file`, example: `isoforms.txt`. Use information from this file to map from transcript (isoform) ids to gene ids. Each line of this file should be of the form: \n  gene_id transcript_id\nwith the two fields separated by a tab character.\nIf you are using a GTF file for the \"UCSC Genes\" gene set from the UCSC Genome Browser, then the \"knownIsoforms.txt\" file (obtained from the \"Downloads\" section of the UCSC Genome Browser site) is of this format. \nIf this option is off, then the mapping of isoforms to genes depends on whether the \u0027--gtf\u0027 option is specified. If \u0027--gtf\u0027 is specified, then RSEM uses the \"gene_id\" and \"transcript_id\" attributes in the GTF file. Otherwise, RSEM assumes that each sequence in the reference sequence files is a separate gene.\n"
            
            }
    

        ,
                "allele_to_gene_map": {
                "type":
                "string",
                "description": "Type: `file`. Use information from \u003cfile\u003e to provide gene_id and transcript_id information for each allele-specific transcript",
                "help_text": "Type: `file`. Use information from \u003cfile\u003e to provide gene_id and transcript_id information for each allele-specific transcript. Each line of \u003cfile\u003e should be of the form:\n  gene_id transcript_id allele_id\nwith the fields separated by a tab character.\nThis option is designed for quantifying allele-specific expression. It is only valid if \u0027--gtf\u0027 option is not specified. allele_id should be the sequence names presented in the Multi-FASTA-formatted files.\n"
            
            }
    

        ,
                "polyA": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Add poly(A) tails to the end of all reference isoforms",
                "help_text": "Type: `boolean_true`, default: `false`. Add poly(A) tails to the end of all reference isoforms. The length of poly(A) tail added is specified by \u0027--polyA-length\u0027 option. STAR aligner users may not want to use this option."
            ,
                "default": "False"
            }
    

        ,
                "polyA_length": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `125`. The length of the poly(A) tails to be added",
                "help_text": "Type: `integer`, example: `125`. The length of the poly(A) tails to be added."
            
            }
    

        ,
                "no_polyA_subset": {
                "type":
                "string",
                "description": "Type: `file`, example: `transcript_ids.txt`. Only meaningful if \u0027--polyA\u0027 is specified",
                "help_text": "Type: `file`, example: `transcript_ids.txt`. Only meaningful if \u0027--polyA\u0027 is specified. Do not add poly(A) tails to those transcripts listed in this file containing a list of transcript_ids."
            
            }
    

        ,
                "bowtie": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Build Bowtie indices",
                "help_text": "Type: `boolean_true`, default: `false`. Build Bowtie indices."
            ,
                "default": "False"
            }
    

        ,
                "bowtie2": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Build Bowtie 2 indices",
                "help_text": "Type: `boolean_true`, default: `false`. Build Bowtie 2 indices."
            ,
                "default": "False"
            }
    

        ,
                "star": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Build STAR indices",
                "help_text": "Type: `boolean_true`, default: `false`. Build STAR indices."
            ,
                "default": "False"
            }
    

        ,
                "star_sjdboverhang": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `100`. Length of the genomic sequence around annotated junction",
                "help_text": "Type: `integer`, example: `100`. Length of the genomic sequence around annotated junction. It is only used for STAR to build splice junctions database and not needed for Bowtie or Bowtie2. It will be passed as the --sjdbOverhang option to STAR. According to STAR\u0027s manual, its ideal value is max(ReadLength)-1, e.g. for 2x101 paired-end reads, the ideal value is 101-1=100. In most cases, the default value of 100 will work as well as the ideal value. (Default is 100)"
            
            }
    

        ,
                "hisat2_hca": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Build HISAT2 indices on the transcriptome according to Human Cell Atlas (HCA) SMART-Seq2 pipeline",
                "help_text": "Type: `boolean_true`, default: `false`. Build HISAT2 indices on the transcriptome according to Human Cell Atlas (HCA) SMART-Seq2 pipeline."
            ,
                "default": "False"
            }
    

        ,
                "quiet": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Suppress the output of logging information",
                "help_text": "Type: `boolean_true`, default: `false`. Suppress the output of logging information."
            ,
                "default": "False"
            }
    

}
},
    
    
    "prior-enhanced rsem options" : {
    "title": "Prior-enhanced RSEM options",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "prep_pRSEM": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. A Boolean indicating whether to prepare reference files for pRSEM, including building Bowtie indices for a genome and selecting training set isoforms",
                "help_text": "Type: `boolean_true`, default: `false`. A Boolean indicating whether to prepare reference files for pRSEM, including building Bowtie indices for a genome and selecting training set isoforms. The index files will be used for aligning ChIP-seq reads in prior-enhanced RSEM and the training set isoforms will be used for learning prior. A path to Bowtie executables and a mappability file in bigWig format are required when this option is on. Currently, Bowtie2 is not supported for prior-enhanced RSEM."
            ,
                "default": "False"
            }
    

        ,
                "mappability_bigwig_file": {
                "type":
                "string",
                "description": "Type: `file`. Full path to a whole-genome mappability file in bigWig format",
                "help_text": "Type: `file`. Full path to a whole-genome mappability file in bigWig format. This file is required for running prior-enhanced RSEM. It is used for selecting a training set of isoforms for prior-learning. This file can be either downloaded from UCSC Genome Browser or generated by GEM (Derrien et al., 2012, PLoS One)."
            
            }
    

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

    {
    "$ref": "#/definitions/prior-enhanced rsem options"
    },

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