397 lines
21 KiB
JSON
397 lines
21 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."
|
|
},
|
|
"cdna_kit": {
|
|
"type": "string",
|
|
"title": "Kit used for cDNA synthesis.",
|
|
"enum": [
|
|
"SQK-PCS109",
|
|
"SQK-PCS110",
|
|
"SQK-PCS111",
|
|
"SQK-LSK114"
|
|
],
|
|
"description": "If cDNA reads are used, select the kit used.",
|
|
"default": "SQK-PCS109",
|
|
"help_text": "This will be used by pychopper to preprocess the reads for downstream analysis."
|
|
},
|
|
"pychopper_backend": {
|
|
"type": "string",
|
|
"enum": [
|
|
"edlib",
|
|
"phmm"
|
|
],
|
|
"title": "Pychopper backend",
|
|
"description": "Pychopper can use one of two available backends for identifying primers in the raw reads",
|
|
"default": "edlib",
|
|
"help_text": "'edlib' is set by default due to its high performance. However, it may be less sensitive than 'phmm'."
|
|
},
|
|
"pychopper_opts": {
|
|
"type": "string",
|
|
"title": "Pychopper options",
|
|
"description": "Extra pychopper opts",
|
|
"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
|
|
}
|
|
}
|