|
| 1 | +pipeline: |
| 2 | + name: rnaseq-nf |
| 3 | + description: Proof of concept of a RNA-seq pipeline implemented with Nextflow |
| 4 | + repository: https://github.com/nextflow-io/rnaseq-nf |
| 5 | + authors: |
| 6 | + - Paolo Di Tommaso |
| 7 | + readme_content: "A basic pipeline for quantification of genomic features from short read data\nimplemented\ |
| 8 | + \ with Nextflow.\n\n[](http://nextflow.io)\n\ |
| 9 | + \n\n## Requirements \n\n* Unix-like operating system (Linux, macOS, etc)\n* Java 11 \n\n## Quickstart\ |
| 10 | + \ \n\n1. If you don't have it already install Docker in your computer. Read more [here](https://docs.docker.com/).\n\ |
| 11 | + \n2. Install Nextflow (version 23.10.0 or later):\n \n curl -s https://get.nextflow.io\ |
| 12 | + \ | bash\n\n3. Launch the pipeline execution: \n\n ./nextflow run nextflow-io/rnaseq-nf -with-docker\n\ |
| 13 | + \ \n4. When the execution completes open in your browser the report generated at the following\ |
| 14 | + \ path:\n\n results/multiqc_report.html \n\t\nYou can see an example report at the following\ |
| 15 | + \ [link](http://multiqc.info/examples/rna-seq/multiqc_report.html).\t\n\t\nNote: the very first time\ |
| 16 | + \ you execute it, it will take a few minutes to download the pipeline \nfrom this GitHub repository\ |
| 17 | + \ and the associated Docker images needed to execute the pipeline. \n\n## Pipeline flowchart\n\n\ |
| 18 | + Here is a visual representation of the design of RNASeq-NF pipeline, generated using the [visualization\ |
| 19 | + \ functionality](https://www.nextflow.io/docs/latest/tracing.html#dag-visualisation) of Nextflow.\n\ |
| 20 | + \n```mermaid\n%%{init: { 'theme': 'forest' } }%%\nflowchart TD\n p0((Channel.fromFilePairs))\n\ |
| 21 | + \ p1(( ))\n p2[RNASEQ:INDEX]\n p3[RNASEQ:FASTQC]\n p4[RNASEQ:QUANT]\n p5([concat])\n\ |
| 22 | + \ p6([collect])\n p7(( ))\n p8[MULTIQC]\n p9(( ))\n p0 -->|read_pairs_ch| p3\n p1\ |
| 23 | + \ -->|transcriptome| p2\n p2 --> p4\n p3 --> p5\n p0 -->|read_pairs_ch| p4\n p4 -->|pair_id|\ |
| 24 | + \ p5\n p5 --> p6\n p6 -->|$out0| p8\n p7 -->|config| p8\n p8 --> p9\n```\n\n## Cluster\ |
| 25 | + \ support\n\nRNASeq-NF execution relies on [Nextflow](http://www.nextflow.io) framework which provides\ |
| 26 | + \ an \nabstraction between the pipeline functional logic and the underlying processing system.\n\n\ |
| 27 | + This allows the execution of the pipeline in a single computer or in a HPC cluster without modifying\ |
| 28 | + \ it.\n\nCurrently the following resource manager platforms are supported:\n\n + Univa Grid Engine\ |
| 29 | + \ (UGE)\n + Platform LSF\n + SLURM\n + PBS/Torque\n\n\nBy default the pipeline is parallelized\ |
| 30 | + \ by spawning multiple threads in the machine where the script is launched.\n\nTo submit the execution\ |
| 31 | + \ to a UGE cluster create a file named `nextflow.config` in the directory\nwhere the pipeline is going\ |
| 32 | + \ to be executed with the following content:\n\n process {\n executor='uge'\n queue='<queue\ |
| 33 | + \ name>'\n }\n\nTo lean more about the avaible settings and the configuration file read the \n\ |
| 34 | + Nextflow [documentation](http://www.nextflow.io/docs/latest/config.html).\n\n\n## Components \n\n\ |
| 35 | + RNASeq-NF uses the following software components and tools: \n\n* [Salmon](https://combine-lab.github.io/salmon/)\n\ |
| 36 | + * [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)\n* [MultiQC](https://multiqc.info)\n\ |
| 37 | + \n" |
| 38 | +inputs: |
| 39 | +- name: outdir |
| 40 | + type: string |
| 41 | + description: The output directory where the results will be saved. You have to use absolute paths to |
| 42 | + storage on Cloud infrastructure. |
| 43 | + required: false |
| 44 | + default: results |
| 45 | + format: directory-path |
| 46 | + group: Input/output options |
| 47 | + fa_icon: fas fa-folder-open |
| 48 | +- name: reads |
| 49 | + type: string |
| 50 | + description: The input read-pair files |
| 51 | + required: false |
| 52 | + default: ${projectDir}/data/ggal/ggal_gut_{1,2}.fq |
| 53 | + group: Input/output options |
| 54 | + fa_icon: fas fa-folder-open |
| 55 | +- name: transcriptome |
| 56 | + type: string |
| 57 | + description: The input transcriptome file |
| 58 | + required: false |
| 59 | + default: ${projectDir}/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa |
| 60 | + group: Input/output options |
| 61 | + fa_icon: fas fa-folder-open |
| 62 | +- name: multiqc |
| 63 | + type: string |
| 64 | + description: '' |
| 65 | + required: false |
| 66 | + default: ${projectDir}/multiqc |
| 67 | + group: Input/output options |
| 68 | + fa_icon: fas fa-folder-open |
| 69 | +config_params: [] |
| 70 | +workflows: |
| 71 | +- name: '' |
| 72 | + docstring: '' |
| 73 | + file: main.nf |
| 74 | + line: 26 |
| 75 | + end_line: 51 |
| 76 | + inputs: [] |
| 77 | + outputs: [] |
| 78 | + calls: [] |
| 79 | + is_entry: true |
| 80 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/main.nf#L26-L51 |
| 81 | +- name: RNASEQ |
| 82 | + docstring: '' |
| 83 | + file: modules/rnaseq.nf |
| 84 | + line: 5 |
| 85 | + end_line: 18 |
| 86 | + inputs: |
| 87 | + - name: read_pairs_ch |
| 88 | + type: '' |
| 89 | + description: '' |
| 90 | + - name: transcriptome |
| 91 | + type: '' |
| 92 | + description: '' |
| 93 | + outputs: |
| 94 | + - name: fastqc |
| 95 | + type: '' |
| 96 | + description: '' |
| 97 | + - name: quant |
| 98 | + type: '' |
| 99 | + description: '' |
| 100 | + calls: [] |
| 101 | + is_entry: false |
| 102 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/modules/rnaseq.nf#L5-L18 |
| 103 | +processes: |
| 104 | +- name: QUANT |
| 105 | + docstring: '' |
| 106 | + file: modules/quant/main.nf |
| 107 | + line: 2 |
| 108 | + end_line: 17 |
| 109 | + inputs: |
| 110 | + - name: val(id), path(fastq_1), path(fastq_2) |
| 111 | + type: tuple |
| 112 | + description: '' |
| 113 | + qualifier: '' |
| 114 | + outputs: |
| 115 | + - name: quant_${id |
| 116 | + type: path |
| 117 | + description: '' |
| 118 | + emit: '' |
| 119 | + directives: {} |
| 120 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/modules/quant/main.nf#L2-L17 |
| 121 | +- name: MULTIQC |
| 122 | + docstring: '' |
| 123 | + file: modules/multiqc/main.nf |
| 124 | + line: 3 |
| 125 | + end_line: 20 |
| 126 | + inputs: |
| 127 | + - name: '*' |
| 128 | + type: path |
| 129 | + description: '' |
| 130 | + qualifier: '' |
| 131 | + outputs: |
| 132 | + - name: multiqc_report.html |
| 133 | + type: path |
| 134 | + description: '' |
| 135 | + emit: '' |
| 136 | + directives: {} |
| 137 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/modules/multiqc/main.nf#L3-L20 |
| 138 | +- name: INDEX |
| 139 | + docstring: '' |
| 140 | + file: modules/index/main.nf |
| 141 | + line: 2 |
| 142 | + end_line: 16 |
| 143 | + inputs: [] |
| 144 | + outputs: |
| 145 | + - name: index |
| 146 | + type: path |
| 147 | + description: '' |
| 148 | + emit: '' |
| 149 | + directives: {} |
| 150 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/modules/index/main.nf#L2-L16 |
| 151 | +- name: FASTQC |
| 152 | + docstring: '' |
| 153 | + file: modules/fastqc/main.nf |
| 154 | + line: 3 |
| 155 | + end_line: 18 |
| 156 | + inputs: |
| 157 | + - name: val(id), path(fastq_1), path(fastq_2) |
| 158 | + type: tuple |
| 159 | + description: '' |
| 160 | + qualifier: '' |
| 161 | + outputs: |
| 162 | + - name: fastqc_${id |
| 163 | + type: path |
| 164 | + description: '' |
| 165 | + emit: '' |
| 166 | + directives: {} |
| 167 | + source_url: https://github.com/nextflow-io/rnaseq-nf/blob/ca20a6dfd2d799b903e557dc2e736d55419c7a1a/modules/fastqc/main.nf#L3-L18 |
| 168 | +functions: [] |
0 commit comments