{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "genome_alignment_and_quant",
"description": "A viash sub-workflow for genome alignment and quantification stage of nf-core/rnaseq pipeline.\n",
"type": "object",
"definitions": {

    
    
    "input" : {
    "title": "Input",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "id": {
                "type":
                "string",
                "description": "Type: `string`, required, example: `foo`. ID of the sample",
                "help_text": "Type: `string`, required, example: `foo`. ID of the sample."
            
            }
    

        ,
                "fastq_1": {
                "type":
                "string",
                "description": "Type: `file`, required, example: `input.fastq.gz`. Path to the sample (or read 1 of paired end sample)",
                "help_text": "Type: `file`, required, example: `input.fastq.gz`. Path to the sample (or read 1 of paired end sample)."
            
            }
    

        ,
                "fastq_2": {
                "type":
                "string",
                "description": "Type: `file`. Path to read 2 of the sample",
                "help_text": "Type: `file`. Path to read 2 of the sample."
            
            }
    

        ,
                "strandedness": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``forward`, `reverse`, `unstranded``. Sample strand-specificity",
                "help_text": "Type: `string`, choices: ``forward`, `reverse`, `unstranded``. Sample strand-specificity. Must be one of unstranded, forward, or reverse",
                "enum": ["forward", "reverse", "unstranded"]
            
            
            }
    

        ,
                "gtf": {
                "type":
                "string",
                "description": "Type: `file`. GTF file",
                "help_text": "Type: `file`. GTF file"
            
            }
    

        ,
                "transcript_fasta": {
                "type":
                "string",
                "description": "Type: `file`. Fasta file of the reference transcriptome",
                "help_text": "Type: `file`. Fasta file of the reference transcriptome."
            
            }
    

        ,
                "star_index": {
                "type":
                "string",
                "description": "Type: `file`. STAR index directory",
                "help_text": "Type: `file`. STAR index directory."
            
            }
    

        ,
                "star_ignore_sjdbgtf": {
                "type":
                "boolean",
                "description": "Type: `boolean`, default: `false`. When using pre-built STAR indices do not re-extract and use splice junctions from the GTF file",
                "help_text": "Type: `boolean`, default: `false`. When using pre-built STAR indices do not re-extract and use splice junctions from the GTF file"
            ,
                "default": "False"
            }
    

        ,
                "seq_platform": {
                "type":
                "string",
                "description": "Type: `string`. Sequencing platform",
                "help_text": "Type: `string`. Sequencing platform."
            
            }
    

        ,
                "seq_center": {
                "type":
                "string",
                "description": "Type: `string`. Sequencing center",
                "help_text": "Type: `string`. Sequencing center."
            
            }
    

        ,
                "extra_star_align_args": {
                "type":
                "string",
                "description": "Type: `string`, default: ``. Extra arguments to pass to STAR alignment command in addition to defaults defined by the pipeline",
                "help_text": "Type: `string`, default: ``. Extra arguments to pass to STAR alignment command in addition to defaults defined by the pipeline."
            ,
                "default": ""
            }
    

        ,
                "bam_csi_index": {
                "type":
                "boolean",
                "description": "Type: `boolean`, default: `false`. Create a CSI index for BAM files instead of the traditional BAI index",
                "help_text": "Type: `boolean`, default: `false`. Create a CSI index for BAM files instead of the traditional BAI index. This will be required for genomes with larger chromosome sizes."
            ,
                "default": "False"
            }
    

        ,
                "umi_dedup_stats": {
                "type":
                "boolean",
                "description": "Type: `boolean`, default: `false`. Generate output stats when running \"umi_tools dedup\"",
                "help_text": "Type: `boolean`, default: `false`. Generate output stats when running \"umi_tools dedup\"."
            ,
                "default": "False"
            }
    

        ,
                "with_umi": {
                "type":
                "boolean",
                "description": "Type: `boolean`, default: `false`. Enable UMI-based read deduplication",
                "help_text": "Type: `boolean`, default: `false`. Enable UMI-based read deduplication."
            ,
                "default": "False"
            }
    

        ,
                "salmon_quant_libtype": {
                "type":
                "string",
                "description": "Type: `string`. Override Salmon library type inferred based on strandedness defined in meta object",
                "help_text": "Type: `string`. Override Salmon library type inferred based on strandedness defined in meta object."
            
            }
    

        ,
                "extra_salmon_quant_args": {
                "type":
                "string",
                "description": "Type: `string`, default: ``. Extra arguments to pass to salmon quant command in addition to defaults defined by the pipeline",
                "help_text": "Type: `string`, default: ``. Extra arguments to pass to salmon quant command in addition to defaults defined by the pipeline."
            ,
                "default": ""
            }
    

        ,
                "gtf_group_features": {
                "type":
                "string",
                "description": "Type: `string`, default: `gene_id`. Define the attribute type used to group features in the GTF file when running Salmon",
                "help_text": "Type: `string`, default: `gene_id`. Define the attribute type used to group features in the GTF file when running Salmon."
            ,
                "default": "gene_id"
            }
    

        ,
                "gtf_extra_attributes": {
                "type":
                "string",
                "description": "Type: `string`, default: `gene_name`. By default, the pipeline uses the gene_name field to obtain additional gene identifiers from the input GTF file when running Salmon",
                "help_text": "Type: `string`, default: `gene_name`. By default, the pipeline uses the gene_name field to obtain additional gene identifiers from the input GTF file when running Salmon."
            ,
                "default": "gene_name"
            }
    

        ,
                "extra_rsem_calculate_expression_args": {
                "type":
                "string",
                "description": "Type: `string`. Extra arguments to pass to rsem-calculate-expression command in addition to defaults defined by the pipeline",
                "help_text": "Type: `string`. Extra arguments to pass to rsem-calculate-expression command in addition to defaults defined by the pipeline."
            
            }
    

        ,
                "aligner": {
                "type":
                "string",
                "description": "Type: `string`, default: `star_salmon`, choices: ``star_salmon`, `star_rsem`, `hisat2``. Specifies the alignment algorithm to use - available options are \u0027star_salmon\u0027, \u0027star_rsem\u0027 and \u0027hisat2\u0027",
                "help_text": "Type: `string`, default: `star_salmon`, choices: ``star_salmon`, `star_rsem`, `hisat2``. Specifies the alignment algorithm to use - available options are \u0027star_salmon\u0027, \u0027star_rsem\u0027 and \u0027hisat2\u0027.",
                "enum": ["star_salmon", "star_rsem", "hisat2"]
            
            ,
                "default": "star_salmon"
            }
    

        ,
                "rsem_index": {
                "type":
                "string",
                "description": "Type: `file`. Path to directory for pre-built RSEM index",
                "help_text": "Type: `file`. Path to directory for pre-built RSEM index."
            
            }
    

        ,
                "salmon_index": {
                "type":
                "string",
                "description": "Type: `file`. Path to directory for pre-built Salmon index",
                "help_text": "Type: `file`. Path to directory for pre-built Salmon index."
            
            }
    

}
},
    
    
    "output" : {
    "title": "Output",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "star_multiqc": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.star_multiqc.log`. ",
                "help_text": "Type: `file`, default: `$id.$key.star_multiqc.log`. "
            ,
                "default": "$id.$key.star_multiqc.log"
            }
    

        ,
                "genome_bam_sorted": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.genome_bam_sorted.bam`. ",
                "help_text": "Type: `file`, default: `$id.$key.genome_bam_sorted.bam`. "
            ,
                "default": "$id.$key.genome_bam_sorted.bam"
            }
    

        ,
                "genome_bam_index": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.genome_bam_index.bai`. ",
                "help_text": "Type: `file`, default: `$id.$key.genome_bam_index.bai`. "
            ,
                "default": "$id.$key.genome_bam_index.bai"
            }
    

        ,
                "genome_bam_stats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.genome_bam_stats.stats`. ",
                "help_text": "Type: `file`, default: `$id.$key.genome_bam_stats.stats`. "
            ,
                "default": "$id.$key.genome_bam_stats.stats"
            }
    

        ,
                "genome_bam_flagstat": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.genome_bam_flagstat.flagstat`. ",
                "help_text": "Type: `file`, default: `$id.$key.genome_bam_flagstat.flagstat`. "
            ,
                "default": "$id.$key.genome_bam_flagstat.flagstat"
            }
    

        ,
                "genome_bam_idxstats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.genome_bam_idxstats.idxstats`. ",
                "help_text": "Type: `file`, default: `$id.$key.genome_bam_idxstats.idxstats`. "
            ,
                "default": "$id.$key.genome_bam_idxstats.idxstats"
            }
    

        ,
                "transcriptome_bam": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.transcriptome_bam.bam`. ",
                "help_text": "Type: `file`, default: `$id.$key.transcriptome_bam.bam`. "
            ,
                "default": "$id.$key.transcriptome_bam.bam"
            }
    

        ,
                "transcriptome_bam_index": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.transcriptome_bam_index.bai`. ",
                "help_text": "Type: `file`, default: `$id.$key.transcriptome_bam_index.bai`. "
            ,
                "default": "$id.$key.transcriptome_bam_index.bai"
            }
    

        ,
                "transcriptome_bam_stats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.transcriptome_bam_stats.stats`. ",
                "help_text": "Type: `file`, default: `$id.$key.transcriptome_bam_stats.stats`. "
            ,
                "default": "$id.$key.transcriptome_bam_stats.stats"
            }
    

        ,
                "transcriptome_bam_flagstat": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.transcriptome_bam_flagstat.flagstat`. ",
                "help_text": "Type: `file`, default: `$id.$key.transcriptome_bam_flagstat.flagstat`. "
            ,
                "default": "$id.$key.transcriptome_bam_flagstat.flagstat"
            }
    

        ,
                "transcriptome_bam_idxstats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.transcriptome_bam_idxstats.idxstats`. ",
                "help_text": "Type: `file`, default: `$id.$key.transcriptome_bam_idxstats.idxstats`. "
            ,
                "default": "$id.$key.transcriptome_bam_idxstats.idxstats"
            }
    

        ,
                "quant_out_dir": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.quant_out_dir.salmon_quant`. ",
                "help_text": "Type: `file`, default: `$id.$key.quant_out_dir.salmon_quant`. "
            ,
                "default": "$id.$key.quant_out_dir.salmon_quant"
            }
    

        ,
                "quant_results_file": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.quant_results_file.sf`. ",
                "help_text": "Type: `file`, default: `$id.$key.quant_results_file.sf`. "
            ,
                "default": "$id.$key.quant_results_file.sf"
            }
    

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