wf-transcriptomes-v202/nextflow_schema.json
Sarah Griffiths 045a077fe1 docs update
2023-12-01 12:36:33 +00:00

373 lines
20 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/./master/nextflow_schema.json",
"title": "epi2me-labs/wf-transcriptomes",
"workflow_title": "Workflow Transcriptomes",
"description": "Transcriptome analysis including assembly and annotation of cDNA and direct RNA sequencing data, gene fusions and differential expression.",
"demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-transcriptomes/wf-transcriptomes-demo.tar.gz",
"aws_demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-transcriptomes/wf-transcriptomes-demo/aws.nextflow.config",
"url": "https://github.com/epi2me-labs/wf-transcriptomes",
"type": "object",
"definitions": {
"input_options": {
"title": "Input Options",
"type": "object",
"fa_icon": "fas fa-terminal",
"description": "Parameters for finding and handling input data for analysis.",
"properties": {
"fastq": {
"type": "string",
"format": "path",
"title": "FASTQ",
"demo_data": "${projectDir}/test_data/fastq",
"description": "FASTQ files to use in the analysis.",
"help_text": "This accepts one of three cases: (i) the path to a single FASTQ file; (ii) the path to a top-level directory containing FASTQ files; (iii) the path to a directory containing one level of sub-directories which in turn contain FASTQ files. In the first and second case, a sample name can be supplied with `--sample`. In the last case, the data is assumed to be multiplexed with the names of the sub-directories as barcodes. In this case, a sample sheet can be provided with `--sample_sheet`."
},
"transcriptome_source": {
"type": "string",
"enum": [
"precomputed",
"reference-guided"
],
"default": "reference-guided",
"description": "Select how the transcriptome used for analysis should be prepared.",
"help_text": "To analyse only gene fusions and differential expression use of an existing transcriptome may be preferred and so 'precomputed' should be selected. In this case the 'ref_transcriptome' parameter should be specified. To create a reference transcriptome using an existing reference genome, select 'reference guided' and specify the 'ref_genome' parameter."
},
"ref_genome": {
"type": "string",
"title": "Reference genome",
"format": "file-path",
"demo_data": "${projectDir}/test_data/SIRV_150601a.fasta",
"description": "Path to reference genome sequence [.fa/.fq/.fa.gz/fq.gz]. Required for reference-based workflow.",
"help_text": "A reference genome is required for reference-based assembly of a transcriptome."
},
"ref_transcriptome": {
"type": "string",
"title": "Reference transcriptome",
"format": "file-path",
"description": "Transcriptome reference file. Required for precomputed transcriptome calculation and for differential expression analysis.",
"help_text": "A reference transcriptome related to the sample under study. Must be supplied when the 'Transcriptome source' parameter has been set to 'precomputed' or to perform differential expression."
},
"ref_annotation": {
"type": "string",
"title": "Reference annotation",
"format": "file-path",
"demo_data": "${projectDir}/test_data/SIRV_isoforms.gtf",
"description": "A reference annotation in GFF2 or GFF3 format (extensions .gtf(.gz), .gff(.gz), .gff3(.gz)). Only annotation files from [Encode](https://www.encodeproject.org), [Ensembl](https://www.ensembl.org/index.html) and [NCBI](https://www.ncbi.nlm.nih.gov/) are supported.",
"help_text": "This will be used for guiding the transcriptome assembly and to label transcripts with their corresponding gene identifiers."
},
"direct_rna": {
"type": "boolean",
"default": false,
"title": "direct RNA",
"description": "Set to true for direct RNA sequencing.",
"help_text": " Omits the pychopper step."
},
"analyse_unclassified": {
"type": "boolean",
"default": false,
"title": "Analyse unclassified",
"description": "Analyse unclassified reads from input directory. By default the workflow will not process reads in the unclassified directory.",
"help_text": "If selected and if the input is a multiplex directory the workflow will also process the unclassified directory."
}
},
"allOf": [
{
"required": [
"fastq",
"transcriptome_source"
]
}]
},
"output_options": {
"title": "Output Options",
"type": "object",
"description": "Parameters for saving and naming workflow outputs.",
"default": "",
"properties": {
"out_dir": {
"type": "string",
"format": "directory-path",
"default": "output",
"description": "Directory for output of all user-facing files."
}
}
},
"sample_options": {
"title": "Sample Options",
"type": "object",
"description": "Parameters that relate to samples such as sample sheets and sample names.",
"default": "",
"properties": {
"sample_sheet": {
"type": "string",
"title": "Sample and condition sheet",
"format": "file-path",
"description": "A CSV file used to map barcodes to sample aliases. The sample sheet can be provided when the input data is a directory containing sub-directories with FASTQ files. If you are running the differential expression workflow, there must be an additional column `condition` with two labels, one of which must be `control` (e.g. `control` and `treated`). Control will indicate which samples will be used as the reference. There should be at least 3 repeats for each condition.",
"help_text": "The sample sheet is a CSV file with, minimally, columns named `barcode` and `alias`. Extra columns are allowed."
},
"sample": {
"type": "string",
"description": "A single sample name for non-multiplexed data. Permissible if passing a single .fastq(.gz) file or directory of .fastq(.gz) files."
}
}
},
"options_for_reference_based_workflow": {
"title": "Options for reference-based workflow",
"type": "object",
"description": "Parameters that are used solely for the reference-guided workflow",
"properties": {
"plot_gffcmp_stats": {
"type": "boolean",
"default": true,
"title": "Plot gffcompare statistics",
"description": "Create a PDF of plots from showing gffcompare results",
"help_text": "If set to true, a PDF file containing detailed gffcompare reults will be output"
},
"gffcompare_opts": {
"type": "string",
"title": "Plot gffcompare options",
"description": "Extra command-line options to give to gffcompare -r",
"default": "-R",
"help_text": "For a list of possible options see [gffcompare](https://ccb.jhu.edu/software/stringtie/gffcompare.shtml)."
},
"minimap2_index_opts": {
"type": "string",
"title": "Minimap2 index options",
"description": "Extra command-line options for minimap2 indexing.",
"default": "-k14",
"help_text": "See [minimap2 index options](https://lh3.github.io/minimap2/minimap2.html#4) for more information. These will only be relevant in the reference based transcriptome assembly."
},
"minimap2_opts": {
"type": "string",
"title": "Minimap2 options",
"description": "Additional command-line options for minimap2 alignment.",
"default": "-uf",
"help_text": "See [minimap2 options](https://lh3.github.io/minimap2/minimap2.html#5) for further information. These will only be relevant in the reference based transcriptome assembly."
},
"minimum_mapping_quality": {
"type": "integer",
"description": "filter aligned reads by MAPQ quality.",
"default": 40,
"help_text": "Reads that do not meet this mapping quality after minimap2 alignment, will be filtered out."
},
"poly_context": {
"type": "integer",
"description": "Region size at end of reads to apply poly(A) filter.",
"help_text": "Mispriming of polyT primers can occur when, instead of priming transcription from a polyA tail, it is primed from internal polyA rich regions in the genome. In these cases the 3` end of the transcript will not be captured and should be discarded. This parameter defines the size of a genomic region centered around the 3` alignment position from which to search for polyA rich regions.",
"hidden": true,
"default": 24
},
"max_poly_run": {
"type": "integer",
"title": "Maximum poly run",
"description": "Max poly(A) region allowed with poly_context-sized end regions.",
"help_text": "See `poly_context` parameter. This parameter defines the maximum allowed polyA tract within a `poly_context` defined genomic region.",
"hidden": true,
"default": 8
},
"stringtie_opts": {
"type": "string",
"title": "Stringtie options",
"description": "Extra command-line options for stringtie transcript assembly.",
"default": "--conservative",
"help_text": "For additional String tie options see [here](https://github.com/gpertea/stringtie#stringtie-options)."
}
}
},
"gene_fusion_detection_options": {
"title": "Gene Fusion Detection Options",
"type": "object",
"description": "Parameters for gene fusion detection",
"properties": {
"jaffal_refBase": {
"type": "string",
"title": "JAFFAL reference genome directory",
"format": "directory-path",
"description": "JAFFAl reference genome directory.",
"help_text": "JAFFAL human hg38 reference data directory can be downloaded from here: https://figshare.com/ndownloader/files/25410494 or see the README for alternative instructions. If custom gemome files are required, see the instructions here: https://github.com/Oshlack/JAFFA/wiki/FAQandTroubleshooting#how-can-i-generate-the-reference-files-for-a-non-supported-genome."
},
"jaffal_genome": {
"type": "string",
"title": "JAFFAL genome reference prefix",
"description": "Genome reference prefix. e.g. hg38.",
"help_text": "JAFFAL reference files are prefixed with the genome reference file name and need to be supplied . If using the human reference data provided by JAFFAL, this can be left at `hg38`.",
"default": "hg38"
},
"jaffal_annotation": {
"type": "string",
"title": "JAFFAL annotation suffix",
"description": "Annotation suffix.",
"help_text": "JAFFAL reference files are suffixed with the annotation filename and this needs to be supplied. For the human hg38 reference data supplied by JAFFAL, this is `genCode22`.",
"default": "genCode22"
},
"jaffal_dir": {
"type": "string",
"format": "directory-path",
"description": "Path to the JAFFAL code directory. If running within EPI2ME-Labs, the default path of /home/epi2melabs/JAFFA within the application container will be used. If using outside of EPI2ME-Labs, the path to the code directory downloaded from github should be supplied.",
"default": "/home/epi2melabs/JAFFA",
"hidden": true
}
}
},
"differential_expression_options": {
"title": "Differential Expression Options",
"type": "object",
"description": "Options relevant to the differential expression section of the workflow, only need to set if running DE.",
"default": "",
"properties": {
"de_analysis": {
"type": "boolean",
"default": false,
"title": "Differential expression analysis",
"description": "Run DE anaylsis",
"help_text": "Running this requires you to provide at least two replicates for a control and treated sample as well as a sample sheet param."
},
"min_gene_expr": {
"type": "integer",
"title": "Minimum gene expression",
"default": 10,
"description": "Minimum gene counts",
"help_text": "The minimum number of total mapped sequence reads for a gene to be considered expressed."
},
"min_feature_expr": {
"type": "integer",
"title": "Minimum feature expression",
"default": 3,
"description": "Minimum transcript counts",
"help_text": "The minimum number of total mapped sequence reads for a transcript to be considered."
},
"min_samps_gene_expr": {
"type": "integer",
"title": "Minimum samples with gene expression",
"description": "Genes expressed in a minimum of this many samples will be included in the differential expression analysis.",
"default": 3,
"help_text": "A gene must be mapped to at least this minimum number of samples for the gene be included in the analysis."
},
"min_samps_feature_expr": {
"type": "integer",
"title": "Minimum samples with feature expression",
"default": 1,
"description": "Transcripts expressed in minimum this many samples",
"help_text": "A transcript must be mapped in at least this this minimum number of samples to be included in the analysis."
}
}
},
"advanced_options": {
"title": "Advanced Options",
"type": "object",
"description": "Advanced options for configuring processes inside the workflow.",
"properties": {
"threads": {
"type": "integer",
"default": 4,
"description": "Number of CPU threads.",
"help_text": "Only provided to processes including alignment and and assembly that benefit from multiple threads."
},
"pychopper_opts": {
"type": "string",
"title": "Pychopper options",
"description": "Extra pychopper opts",
"default": "-m edlib",
"help_text": "See available options (here)[https://github.com/epi2me-labs/pychopper#usage]"
},
"bundle_min_reads": {
"type": "integer",
"default": 50000,
"title": "Bundle minimum reads",
"description": "Minimum size of bam bundle for parallel processing."
},
"isoform_table_nrows": {
"type": "integer",
"title": "Isoform table number of rows",
"description": "Maximum rows to dispay in the isoform report table",
"default": 5000
}
}
},
"miscellaneous_options": {
"title": "Miscellaneous Options",
"type": "object",
"description": "Everything else.",
"default": "",
"properties": {
"help": {
"type": "boolean",
"default": false,
"description": "Display help text.",
"fa_icon": "fas fa-question-circle",
"hidden": true
},
"disable_ping": {
"type": "boolean",
"default": false,
"description": "Enable to prevent sending a workflow ping."
},
"version": {
"type": "boolean",
"default": false,
"description": "Display version and exit.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input_options"
},
{
"$ref": "#/definitions/output_options"
},
{
"$ref": "#/definitions/sample_options"
},
{
"$ref": "#/definitions/options_for_reference_based_workflow"
},
{
"$ref": "#/definitions/gene_fusion_detection_options"
},
{
"$ref": "#/definitions/differential_expression_options"
},
{
"$ref": "#/definitions/advanced_options"
},
{
"$ref": "#/definitions/miscellaneous_options"
}
],
"properties": {
"aws_image_prefix": {
"type": "string",
"hidden": true
},
"aws_queue": {
"type": "string",
"hidden": true
},
"monochrome_logs": {
"type": "boolean"
},
"validate_params": {
"type": "boolean",
"default": true
},
"show_hidden_params": {
"type": "boolean"
}
},
"resources": {
"recommended": {
"cpus": 16,
"memory": "32GB"
},
"minimum": {
"cpus": 8,
"memory": "16GB"
},
"run_time": "15 minutes per sample, with 1 million reads and recommended resources.",
"arm_support": false
}
}