wf-transcriptomes-v202/nextflow_schema.json
2022-04-11 15:08:47 +00:00

301 lines
14 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/./master/nextflow_schema.json",
"title": "epi2me-labs/wf-isoforms",
"description": "Isoform detection and characterisation.",
"url": "https://github.com/epi2me-labs/wf-isoforms",
"type": "object",
"definitions": {
"basic_input_output_options": {
"title": "Basic Input/Output Options",
"type": "object",
"fa_icon": "fas fa-terminal",
"description": "Define where the pipeline should find input data and save output data.",
"properties": {
"out_dir": {
"type": "string",
"default": "output",
"description": "Directory for output of all user-facing files."
},
"fastq": {
"type": "string",
"format": "path",
"description": "A fastq file or directory containing fastq input files or directories of input files.",
"help_text": "If directories named \\\"barcode*\\\" are found under the `--fastq` directory the data is assumed to be multiplex and each barcode directory will be processed independently. If `.fastq(.gz)` files are found under the `--fastq` directory the sample is assumed to not be multiplexed. In this second case `--samples` should be a simple name rather than a CSV file."
},
"sample": {
"type": "string",
"description": "A sample name for non-multiplexed data. Permissible if passing a file or directory of .fastq(.gz)."
},
"sample_sheet": {
"type": "string",
"format": "file-path",
"description": "CSV file with columns named `barcode`, `sample_name` and `type`. Permissible if passing a directory containing barcodeXX sub-directories."
},
"sanitize_fastq": {
"type": "boolean",
"description": "Use additional heuristics to identify barcodes from file paths.",
"help_text": "Enabling this option will group together files into samples by the presence of strings of the form `barcodeXXX` present in filenames, rather than simply files grouped into directories (as output by MinKNOW and the Guppy basecaller)."
},
"ref_genome": {
"type": "string",
"format": "file-path",
"description": "Path to reference genome sequence [.fa/.fq/.fa.gz/fq.gz]. Required for reference-based workflow"
},
"ref_annotation": {
"type": "string",
"format": "file-path",
"description": "A reference annotation of gff format"
}
},
"required": [
"fastq"
]
},
"global_options": {
"title": "Global options",
"type": "object",
"description": "Options for both sub-workflows",
"properties": {
"threads": {
"type": "integer",
"default": 4
},
"pychopper_opts": {
"type": "string",
"description": "Extra pychopper opts",
"default": "-m edlib"
},
"direct_rna": {
"type": "boolean",
"description": "Set to true for direct RNA sequencing. Omits the pychopper step.",
"default": false
},
"bundle_min_reads": {
"type": "integer",
"description": "Minimum size of bam bundle for parallel processing."
},
"stringtie_opts": {
"type": "string",
"description": "Extra options for stringtie transcript assembly.",
"default": " --conservative "
},
"transcript_table_cov_thresh": {
"type": "integer",
"description": "Minimum coverage for a transcript to appear in the report table",
"default": 50
},
"denovo": {
"type": "boolean",
"description": "Use denovo transcript assembly rather than reference guided",
"default": false
}
}
},
"reference_wf_options": {
"title": "Options for reference-based workflow",
"type": "object",
"description": "Parameters that are used solely for the referenc-guided workflow",
"properties": {
"plot_gffcmp_stats": {
"type": "boolean",
"description": "Create a pdf of plots from showing gffcompare results"
},
"gffcompare_opts": {
"type": "string",
"description": "Extra options for gffcompare -r",
"default": " -R "
},
"minimap_index_opts": {
"type": "string",
"description": "minimap2 extra indexing options.",
"default": "-k14"
},
"minimap2_opts": {
"type": "string",
"description": "minimap2 extra mapping options.",
"default": "-uf"
},
"minimum_mapping_quality": {
"type": "integer",
"description": "filter aligned reads by MAPQ quality.",
"default": 40
},
"poly_context": {
"type": "integer",
"description": "Region size at end of reads to apply poly(A) filter.",
"default": 24
},
"max_poly_run": {
"type": "integer",
"description": "Max poly(A) region allowed with poly_context-sized end regions.",
"default": 8
}
}
},
"denovo_wf_options": {
"title": "Options for de novo-based workflow",
"type": "object",
"description": "Parameters that are used solely for the de novo workflow",
"properties": {
"batch_size": {
"type": "integer",
"description": "Maximum sequences per input batch (-1 means no limit)",
"default": -1
},
"batch_max_seq": {
"type": "integer",
"description": "Maximum sequences per input batch (-1 means no limit)",
"default": -1
},
"cls_mode": {
"type": "string",
"description": "Clustering mode",
"default": "sahlin"
},
"kmer_size": {
"type": "integer",
"description": "Kmer size",
"default": 11
},
"window_size": {
"type": "integer",
"description": "Window size",
"default": 15
},
"min_left_cls": {
"type": "integer",
"description": "Minimum cluser size in the left batch",
"default": 2
},
"consensus_period": {
"type": "integer",
"description": "Consensus period (-1 means no consensus)",
"default": 500
},
"consensus_minimum": {
"type": "integer",
"description": "Minimum consensus sample size:",
"default": 50
},
"consensus_maximum": {
"type": "integer",
"description": "Maximum consensus sample size",
"default": -150
},
"min_shared": {
"type": "integer",
"description": "Minimum number of minimizers shared between read and cluster",
"default": 5
},
"min_qual": {
"description": "Minimum average quality value",
"type": "number",
"default": 7.0
},
"mapped_threshold": {
"description": "Minimum mapped fraction of read to be included in cluster",
"type": "number",
"default": 0.65
},
"aligned_threshold": {
"tpye": "number",
"description": "Minimum aligned fraction of read to be included in cluster",
"default": 0.2
},
"min_fraction": {
"type": "number",
"description": "Minimum fraction of minimizers shared compared to best hit, in order to continue mapping",
"default": 0.8
},
"min_prob_no_hits": {
"type": "number",
"description": "Minimum probability for i consecutive minimizers to be different between read and representative",
"default": 0.2
}
}
},
"meta_data": {
"title": "Meta Data",
"type": "object",
"description": "",
"default": "",
"properties": {
"report_name": {
"type": "string",
"default": "report",
"description": "Output report filename suffix."
},
"disable_ping": {
"type": "boolean",
"default": false,
"description": "Enable to prevent sending a workflow ping."
}
}
},
"generic_options": {
"title": "Generic options",
"type": "object",
"fa_icon": "far fa-question-circle",
"description": "Less common options for the pipeline, typically set in a config file.",
"help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.",
"properties": {
"help": {
"type": "boolean",
"description": "Display help text.",
"fa_icon": "fas fa-question-circle",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/basic_input_output_options"
},
{
"$ref": "#/definitions/global_options"
},
{
"$ref": "#/definitions/reference_wf_options"
},
{
"$ref": "#/definitions/denovo_wf_options"
},
{
"$ref": "#/definitions/meta_data"
},
{
"$ref": "#/definitions/generic_options"
}
],
"properties": {
"aws_image_prefix": {
"type": "string",
"hidden": true
},
"aws_queue": {
"type": "string",
"hidden": true
},
"wfversion": {
"type": "string",
"default": "v0.1.2",
"hidden": true
},
"monochrome_logs": {
"type": "boolean"
},
"validate_params": {
"type": "boolean",
"default": true
},
"show_hidden_params": {
"type": "boolean"
}
},
"docs": {
"intro": "## Introduction\n\nThis workflow identifies RNA isoforms using either cDNA or direct RNA (dRNA) \nOxford Nanopore reads.\n\n### Preprocesing\ncDNA reads are initially preprocessed by [pychopper](https://github.com/nanoporetech/pychopper) \nfor the identification of full-length reads, as well as trimming and orientation correction (This step is omitted for \n direct RNA reads).\n\n### Reference-aided approach\n* Full length reads are mapped to a supplied reference genome using [minimap2](https://github.com/lh3/minimap2)\n* Transcripts are assembled by [stringtie](http://ccb.jhu.edu/software/stringtie) \nin long read mode (with or without a guide reference annotation) to generate the GFF annotation.\n* The annotation generated by the pipeline is compared to the reference annotation. \nusing [gffcompare](http://ccb.jhu.edu/software/stringtie/gffcompare.shtml)\n\n### de novo-based approach (experimental!)\n* Sequence clusters are generated using [isONclust2](https://github.com/nanoporetech/isONclust2)\n * If a reference genome is supplied, cluster quality metrics are determined by comparing \n with clusters generated from a minimap2 alignment.\n* A consensus sequence for each cluster is generated using [spoa](https://github.com/rvaser/spoa)\n* Three rounds of polishing using racon and minimap2 to give a final polished CDS for each gene.\n* Full-length reads are then mapped to these polished CDS.\n* Transcripts are assembled by stringtie as for the reference-based approach.\n* __Note__: This approach is currently not supported with direct RNA reads.\n\n### Workflow inputs\n- Directory containing cDNA/direct RNA reads. Or a directory containing subdirectories each with reads from different samples\n (in fastq/fastq.gz format)\n- Reference genome in fasta format (required for reference-based assembly).\n- Optional reference annotation in GFF2/3 format.",
"links": "## Useful links\n\n* [nextflow](https://www.nextflow.io/)\n* [docker](https://www.docker.com/products/docker-desktop)\n* [Singularity](https://sylabs.io/singularity/)\n* [conda](https://docs.conda.io/en/latest/miniconda.html)\n* [racon](https://github.com/isovic/racon)\n* [spoa](https://github.com/rvaser/spoa)\n* [inONclust](https://github.com/ksahlin/isONclust)\n* [isONclust2](https://github.com/nanoporetech/isONclust2)"
}
}