diff --git a/workflows/transcriptomics/rnaseq-de/.dockstore.yml b/workflows/transcriptomics/rnaseq-de/.dockstore.yml new file mode 100644 index 000000000..2da18cb69 --- /dev/null +++ b/workflows/transcriptomics/rnaseq-de/.dockstore.yml @@ -0,0 +1,11 @@ +version: 1.2 +workflows: +- name: main + subclass: Galaxy + publish: true + primaryDescriptorPath: /rnaseq-de-filtering-plotting.ga + testParameterFiles: + - /rnaseq-de-filtering-plotting-tests.yml + authors: + - name: Pavankumar Videm + orcid: 0000-0002-5192-126X diff --git a/workflows/transcriptomics/rnaseq-de/CHANGELOG.md b/workflows/transcriptomics/rnaseq-de/CHANGELOG.md new file mode 100644 index 000000000..4ff503093 --- /dev/null +++ b/workflows/transcriptomics/rnaseq-de/CHANGELOG.md @@ -0,0 +1,3 @@ +## [0.1] 2024-10-25 + +First release. diff --git a/workflows/transcriptomics/rnaseq-de/README.md b/workflows/transcriptomics/rnaseq-de/README.md new file mode 100644 index 000000000..1ead394fc --- /dev/null +++ b/workflows/transcriptomics/rnaseq-de/README.md @@ -0,0 +1,23 @@ +# RNA-seq Differential expression and filtering workflow + +This workflow works only with an experimental setup containing exactly 2 conditions with at least 2 replicates per condition. + +## Inputs dataset + +- Counts from changed condition: Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples. +- Counts from reference condition: Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples. +- Gene Annotaton: The same GTF file used for mapping and quantification. It is used to annotate the DESeq2 results table. Ideally, the GTF file should contain `gene_id`, `gene_biotype` and `gene_name` attributes. + +## Inputs values + +- Count files have header: Indicate whether your input count files have a header line. Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have. +- Adjusted p-value threshold: All the genes with an adjusted p-value less than this value are considered as differentially expressed. With a value of 0.05, expect 5% of false positives in the differentially expressed genes list. If empty, a default value of 0.05 is used. +- log2 fold change threshold: All the genes with an absolute fold change (regarless of up or down regulation) more than this value are selected. A log2 FC of 3 equals to an absolute fold change of 8 (2³). If empty, a default value of 1.0 is used. + +## Processing + +- The workflow uses DESeq2 for performing differential expression analysis. In addition to the results table, it also produces normalized counts table. +- The results table is annotated with gene positions, biotypes, gene symbols. +- The annotated results table is further filtered with the input adjusted p-value and log2 fold change thresholds. +- A valcano plot is generated with top 10 significantly differentially expressed genes. +- A heatmap of log trasformed normalized counts and another heatmap of Z-scores is generated. diff --git a/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting-tests.yml b/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting-tests.yml new file mode 100644 index 000000000..f7cae70a6 --- /dev/null +++ b/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting-tests.yml @@ -0,0 +1,54 @@ +- doc: Test outline for RNAseq_DE_filtering_plotting + job: + Gene Annotaton: + class: File + location: https://zenodo.org/records/14056162/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf + filetype: gtf + Counts from changed condition: + class: Collection + collection_type: list + elements: + - class: File + identifier: SRR5085169 Counts Table + location: https://zenodo.org/records/14056162/files/SRR5085169.tabular + - class: File + identifier: SRR5085170 Counts Table + location: https://zenodo.org/records/14056162/files/SRR5085170.tabular + Counts from reference condition: + class: Collection + collection_type: list + elements: + - class: File + identifier: SRR5085167 Counts Table + location: https://zenodo.org/records/14056162/files/SRR5085167.tabular + - class: File + identifier: SRR5085168 Counts Table + location: https://zenodo.org/records/14056162/files/SRR5085168.tabular + Count files have header: true + Adjusted p-value threshold: 0.1 + log2 fold change threshold: 0.5 + outputs: + Annotated DESeq2 results table: + has_text_matching: + expression: "YML123C\t122.984408142053\t-1.67[0-9]*\t0.21[0-9]*\t-7.66[0-9]*\t1.81[0-9]*e-14\t5.04[0-9]*e-[0-9]*\tchrXIII\t24036\t25800\t-\tprotein_coding\tPHO84" + expression: "YKL081W\t264.71[0-9]*\t-0.54[0-9]*\t0.15[0-9]*\t-3.46[0-9]*\t0.00[0-9]*\t0.09[0-9]*\tchrXI\t282890\t284455\t+\tprotein_coding\tTEF4" + Heatmap of Z-scores: + has_size: + value: 19510 + delta: 1000 + DESeq2 Normalized Counts: + has_text_matching: + expression: "YML123C\t210.50[0-9]*\t180.36[0-9]*\t48.64[0-9]*\t52.43[0-9]*" + expression: "YKL081W\t313.76[0-9]*\t322.37[0-9]*\t223.48[0-9]*\t199.24[0-9]*" + DESeq2 Plots: + has_size: + value: 1193021 + delta: 60000 + Volcano Plot of DE genes: + has_size: + value: 301346 + delta: 15000 + Heatmap of log transformed normalized counts: + has_size: + value: 19501 + delta: 1000 diff --git a/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting.ga b/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting.ga new file mode 100644 index 000000000..96c426aab --- /dev/null +++ b/workflows/transcriptomics/rnaseq-de/rnaseq-de-filtering-plotting.ga @@ -0,0 +1,1134 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "This workflow can only work on an experimental setup with exactly 2 conditions. It takes two collections of count tables as input and performs differential expression analysis. Additionally it filters for DE genes based on adjusted p-value and log2 fold changes thresholds. It also generates informative plots.\n", + "comments": [], + "creator": [ + { + "class": "Person", + "identifier": "https://orcid.org/0000-0002-5192-126X", + "name": "Pavankumar Videm" + } + ], + "format-version": "0.1", + "license": "MIT", + "release": "0.1", + "name": "RNAseq_DE_filtering_plotting", + "report": { + "markdown": "\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n" + }, + "steps": { + "0": { + "annotation": "Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples.", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples.", + "name": "Counts from changed condition" + } + ], + "label": "Counts from changed condition", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 0, + "top": 231.6810606846659 + }, + "tool_id": null, + "tool_state": "{\"optional\": false, \"tag\": null, \"collection_type\": \"list\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "7e7436a6-e408-4941-81c2-7a86c0c9235a", + "when": null, + "workflow_outputs": [] + }, + "1": { + "annotation": "Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples.", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples.", + "name": "Counts from reference condition" + } + ], + "label": "Counts from reference condition", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 47.54331804667683, + "top": 344.2691910956221 + }, + "tool_id": null, + "tool_state": "{\"optional\": false, \"tag\": null, \"collection_type\": \"list\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "2f811a41-c4af-4661-b17b-76ee244f3b27", + "when": null, + "workflow_outputs": [] + }, + "2": { + "annotation": "Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have.", + "content_id": null, + "errors": null, + "id": 2, + "input_connections": {}, + "inputs": [ + { + "description": "Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have.", + "name": "Count files have header" + } + ], + "label": "Count files have header", + "name": "Input parameter", + "outputs": [], + "position": { + "left": 110.4753923836675, + "top": 456.18541400369907 + }, + "tool_id": null, + "tool_state": "{\"parameter_type\": \"boolean\", \"optional\": false}", + "tool_version": null, + "type": "parameter_input", + "uuid": "7eeb1fbf-cacd-4395-a22f-cceaeab27079", + "when": null, + "workflow_outputs": [] + }, + "3": { + "annotation": "The same annotation GTF used for mapping and counting", + "content_id": null, + "errors": null, + "id": 3, + "input_connections": {}, + "inputs": [ + { + "description": "The same annotation GTF used for mapping and counting", + "name": "Gene Annotaton" + } + ], + "label": "Gene Annotaton", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 153.82812224613164, + "top": 585.5486767979796 + }, + "tool_id": null, + "tool_state": "{\"optional\": false, \"tag\": null}", + "tool_version": null, + "type": "data_input", + "uuid": "4f6df6ae-39ac-4a5e-98df-a0cb082a44fe", + "when": null, + "workflow_outputs": [] + }, + "4": { + "annotation": "Adjusted p-value threshold to call genes as differentially expressed. If not set, default 0.05 is used.", + "content_id": null, + "errors": null, + "id": 4, + "input_connections": {}, + "inputs": [ + { + "description": "Adjusted p-value threshold to call genes as differentially expressed. If not set, default 0.05 is used.", + "name": "Adjusted p-value threshold" + } + ], + "label": "Adjusted p-value threshold", + "name": "Input parameter", + "outputs": [], + "position": { + "left": 184.15025210412472, + "top": 735.8477989364526 + }, + "tool_id": null, + "tool_state": "{\"default\": 0.05, \"parameter_type\": \"float\", \"optional\": true}", + "tool_version": null, + "type": "parameter_input", + "uuid": "43754055-ab65-475e-ae75-b84be92f9a06", + "when": null, + "workflow_outputs": [] + }, + "5": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1", + "errors": null, + "id": 5, + "input_connections": {}, + "inputs": [], + "label": null, + "name": "Create text file", + "outputs": [ + { + "name": "outfile", + "type": "txt" + } + ], + "position": { + "left": 812.5163140349712, + "top": 0 + }, + "post_job_actions": { + "HideDatasetActionoutfile": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outfile" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1", + "tool_shed_repository": { + "changeset_revision": "86755160afbf", + "name": "text_processing", + "owner": "bgruening", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"token_set\": [{\"__index__\": 0, \"line\": \"GeneID\\tBase mean\\tlog2(FC)\\tStdErr\\tWald-Stats\\tP-value\\tP-adj\\tChromosome\\tStart\\tEnd\\tStrand\\tFeature\\tGene name\", \"repeat_select\": {\"repeat_select_opts\": \"user\", \"__current_case__\": 0, \"times\": \"1\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "9.3+galaxy1", + "type": "tool", + "uuid": "afef7b5d-f329-4792-bc41-a8bb705e6ccc", + "when": null, + "workflow_outputs": [] + }, + "6": { + "annotation": "log2 fold change threshold to filter for highly regulated genes. If not set, default 1.0 is used.", + "content_id": null, + "errors": null, + "id": 6, + "input_connections": {}, + "inputs": [ + { + "description": "log2 fold change threshold to filter for highly regulated genes. If not set, default 1.0 is used.", + "name": "log2 fold change threshold" + } + ], + "label": "log2 fold change threshold", + "name": "Input parameter", + "outputs": [], + "position": { + "left": 211.7099474957992, + "top": 880.615777567409 + }, + "tool_id": null, + "tool_state": "{\"default\": 1.0, \"parameter_type\": \"float\", \"optional\": true}", + "tool_version": null, + "type": "parameter_input", + "uuid": "bb8bb582-3f12-4dfd-b973-2e24bf6aea07", + "when": null, + "workflow_outputs": [] + }, + "7": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0", + "errors": null, + "id": 7, + "input_connections": { + "style_cond|type_cond|pick_from_0|value": { + "id": 4, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Pick parameter value", + "outputs": [ + { + "name": "float_param", + "type": "expression.json" + } + ], + "position": { + "left": 450.98839299501634, + "top": 659.5669461166157 + }, + "post_job_actions": { + "HideDatasetActionfloat_param": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "float_param" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0", + "tool_shed_repository": { + "changeset_revision": "b19e21af9c52", + "name": "pick_value", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"style_cond\": {\"pick_style\": \"first_or_default\", \"__current_case__\": 1, \"type_cond\": {\"param_type\": \"float\", \"__current_case__\": 2, \"pick_from\": [{\"__index__\": 0, \"value\": {\"__class__\": \"ConnectedValue\"}}], \"default_value\": \"0.05\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.2.0", + "type": "tool", + "uuid": "82ade695-5064-4c41-8f17-113a91571438", + "when": null, + "workflow_outputs": [] + }, + "8": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1", + "errors": null, + "id": 8, + "input_connections": { + "infile": { + "id": 5, + "output_name": "outfile" + } + }, + "inputs": [], + "label": null, + "name": "Text transformation", + "outputs": [ + { + "name": "output", + "type": "input" + } + ], + "position": { + "left": 1065.0285936858018, + "top": 27.545761768432413 + }, + "post_job_actions": { + "HideDatasetActionoutput": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1", + "tool_shed_repository": { + "changeset_revision": "86755160afbf", + "name": "text_processing", + "owner": "bgruening", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv_opts\": {\"adv_opts_selector\": \"basic\", \"__current_case__\": 0}, \"code\": \"s/__tc__/\\\\t/g\", \"infile\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "9.3+galaxy1", + "type": "tool", + "uuid": "c06fbbc6-6875-439c-ad0a-823c41339bdd", + "when": null, + "workflow_outputs": [] + }, + "9": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0", + "errors": null, + "id": 9, + "input_connections": { + "style_cond|type_cond|pick_from_0|value": { + "id": 6, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Pick parameter value", + "outputs": [ + { + "name": "float_param", + "type": "expression.json" + } + ], + "position": { + "left": 497.8587064818947, + "top": 824.4797977763942 + }, + "post_job_actions": { + "HideDatasetActionfloat_param": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "float_param" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0", + "tool_shed_repository": { + "changeset_revision": "b19e21af9c52", + "name": "pick_value", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"style_cond\": {\"pick_style\": \"first_or_default\", \"__current_case__\": 1, \"type_cond\": {\"param_type\": \"float\", \"__current_case__\": 2, \"pick_from\": [{\"__index__\": 0, \"value\": {\"__class__\": \"ConnectedValue\"}}], \"default_value\": \"1.0\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.2.0", + "type": "tool", + "uuid": "9fb45a2f-63d2-48c2-b2cb-295bc323a14c", + "when": null, + "workflow_outputs": [] + }, + "10": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.7+galaxy2", + "errors": null, + "id": 10, + "input_connections": { + "header": { + "id": 2, + "output_name": "output" + }, + "output_options|alpha_ma": { + "id": 7, + "output_name": "float_param" + }, + "select_data|rep_factorName_0|rep_factorLevel_0|countsFile": { + "id": 0, + "output_name": "output" + }, + "select_data|rep_factorName_0|rep_factorLevel_1|countsFile": { + "id": 1, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool DESeq2", + "name": "batch_factors" + }, + { + "description": "runtime parameter for tool DESeq2", + "name": "output_options" + } + ], + "label": "Differential Analysis", + "name": "DESeq2", + "outputs": [ + { + "name": "deseq_out", + "type": "tabular" + }, + { + "name": "plots", + "type": "pdf" + }, + { + "name": "counts_out", + "type": "tabular" + } + ], + "position": { + "left": 741.3738148942634, + "top": 199.67185694924424 + }, + "post_job_actions": { + "HideDatasetActiondeseq_out": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "deseq_out" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.7+galaxy2", + "tool_shed_repository": { + "changeset_revision": "8fe98f7094de", + "name": "deseq2", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"advanced_options\": {\"esf\": \"\", \"fit_type\": \"1\", \"outlier_replace_off\": false, \"outlier_filter_off\": false, \"auto_mean_filter_off\": false, \"prefilter_conditional\": {\"prefilter\": \"\", \"__current_case__\": 1}}, \"batch_factors\": {\"__class__\": \"RuntimeValue\"}, \"header\": {\"__class__\": \"ConnectedValue\"}, \"output_options\": {\"output_selector\": [\"pdf\", \"normCounts\"], \"alpha_ma\": {\"__class__\": \"ConnectedValue\"}}, \"select_data\": {\"how\": \"datasets_per_level\", \"__current_case__\": 1, \"rep_factorName\": [{\"__index__\": 0, \"factorName\": \"DEFactor\", \"rep_factorLevel\": [{\"__index__\": 0, \"factorLevel\": \"MainFactor\", \"countsFile\": {\"__class__\": \"ConnectedValue\"}}, {\"__index__\": 1, \"factorLevel\": \"BaseFactor\", \"countsFile\": {\"__class__\": \"ConnectedValue\"}}]}]}, \"tximport\": {\"tximport_selector\": \"count\", \"__current_case__\": 1}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.11.40.7+galaxy2", + "type": "tool", + "uuid": "45883538-b692-4e35-8dee-d08974682a9c", + "when": null, + "workflow_outputs": [ + { + "label": "DESeq2 Plots", + "output_name": "plots", + "uuid": "82fc30c6-1af6-415c-98dd-4ac28671dc63" + }, + { + "label": "DESeq2 Normalized Counts", + "output_name": "counts_out", + "uuid": "d7768a86-18fe-4752-946f-1b54e468d11e" + } + ] + }, + "11": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 11, + "input_connections": { + "components_1|param_type|component_value": { + "id": 7, + "output_name": "float_param" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "left": 1030.3831032381008, + "top": 646.2395043126207 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"c7<\"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"float\", \"__current_case__\": 2, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "346c524e-98f0-4b7e-8531-eb9dc6d697c8", + "when": null, + "workflow_outputs": [] + }, + "12": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 12, + "input_connections": { + "components_1|param_type|component_value": { + "id": 9, + "output_name": "float_param" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "left": 1037.5832128440811, + "top": 834.4804304279605 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"abs(c3)>\"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"float\", \"__current_case__\": 2, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "b802f520-01d7-4a42-9138-eaccb948d624", + "when": null, + "workflow_outputs": [] + }, + "13": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/deg_annotate/deg_annotate/1.1.0", + "errors": null, + "id": 13, + "input_connections": { + "annotation": { + "id": 3, + "output_name": "output" + }, + "input_table": { + "id": 10, + "output_name": "deseq_out" + } + }, + "inputs": [], + "label": null, + "name": "Annotate DESeq2/DEXSeq output tables", + "outputs": [ + { + "name": "output", + "type": "tabular" + } + ], + "position": { + "left": 1053.2118356859382, + "top": 253.53181990473982 + }, + "post_job_actions": { + "HideDatasetActionoutput": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/deg_annotate/deg_annotate/1.1.0", + "tool_shed_repository": { + "changeset_revision": "e98d4ab5b5bc", + "name": "deg_annotate", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__input_ext\": \"tabular\", \"advanced_parameters\": {\"gff_feature_type\": \"exon\", \"gff_feature_attribute\": \"gene_id\", \"gff_transcript_attribute\": \"transcript_id\", \"gff_attributes\": \"gene_biotype, gene_name\"}, \"annotation\": {\"__class__\": \"ConnectedValue\"}, \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len\", \"input_table\": {\"__class__\": \"ConnectedValue\"}, \"mode\": \"degseq\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.1.0", + "type": "tool", + "uuid": "8c9667ec-283d-40d8-9fe0-a2c36d875d2b", + "when": null, + "workflow_outputs": [] + }, + "14": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1", + "errors": null, + "id": 14, + "input_connections": { + "infile": { + "id": 10, + "output_name": "counts_out" + } + }, + "inputs": [], + "label": null, + "name": "Text reformatting", + "outputs": [ + { + "name": "outfile", + "type": "input" + } + ], + "position": { + "left": 1444.0049932961922, + "top": 643.7692280168025 + }, + "post_job_actions": { + "HideDatasetActionoutfile": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outfile" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1", + "tool_shed_repository": { + "changeset_revision": "86755160afbf", + "name": "text_processing", + "owner": "bgruening", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"code\": \"END{print NF}\", \"infile\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "9.3+galaxy1", + "type": "tool", + "uuid": "e99d5d73-f738-4977-9740-1159a3291a5c", + "when": null, + "workflow_outputs": [] + }, + "15": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1", + "errors": null, + "id": 15, + "input_connections": { + "inputs": { + "id": 8, + "output_name": "output" + }, + "queries_0|inputs2": { + "id": 13, + "output_name": "output" + } + }, + "inputs": [], + "label": "Annotate DESeq2 table", + "name": "Concatenate datasets", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "left": 1353.5294001633204, + "top": 147.05412728617347 + }, + "post_job_actions": { + "ChangeDatatypeActionout_file1": { + "action_arguments": { + "newtype": "tabular" + }, + "action_type": "ChangeDatatypeAction", + "output_name": "out_file1" + }, + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Annotated DESeq2 results" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1", + "tool_shed_repository": { + "changeset_revision": "86755160afbf", + "name": "text_processing", + "owner": "bgruening", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"inputs\": {\"__class__\": \"ConnectedValue\"}, \"queries\": [{\"__index__\": 0, \"inputs2\": {\"__class__\": \"ConnectedValue\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "9.3+galaxy1", + "type": "tool", + "uuid": "5aca8071-b7e2-48b6-ba2e-ef258852578c", + "when": null, + "workflow_outputs": [ + { + "label": "Annotated DESeq2 results table", + "output_name": "out_file1", + "uuid": "15fc04aa-406f-40a7-8b85-f99467590be5" + } + ] + }, + "16": { + "annotation": "", + "content_id": "param_value_from_file", + "errors": null, + "id": 16, + "input_connections": { + "input1": { + "id": 14, + "output_name": "outfile" + } + }, + "inputs": [], + "label": null, + "name": "Parse parameter value", + "outputs": [ + { + "name": "text_param", + "type": "expression.json" + } + ], + "position": { + "left": 1795.8106940526452, + "top": 744.1580154160025 + }, + "post_job_actions": { + "HideDatasetActiontext_param": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "text_param" + } + }, + "tool_id": "param_value_from_file", + "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"param_type\": \"text\", \"remove_newlines\": true, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.0", + "type": "tool", + "uuid": "55b39be6-635d-491a-afd9-c8341f9932b4", + "when": null, + "workflow_outputs": [] + }, + "17": { + "annotation": "", + "content_id": "Filter1", + "errors": null, + "id": 17, + "input_connections": { + "cond": { + "id": 11, + "output_name": "out1" + }, + "input": { + "id": 15, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": "Filter with p-adj threshold", + "name": "Filter", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "left": 1605.546743310479, + "top": 371.3592826475832 + }, + "post_job_actions": { + "HideDatasetActionout_file1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out_file1" + }, + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Genes filtered with adj p-value threshold" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Filter1", + "tool_state": "{\"cond\": {\"__class__\": \"ConnectedValue\"}, \"header_lines\": \"1\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.1.1", + "type": "tool", + "uuid": "9cf4c012-7a52-4b47-bbec-4ad8275542ea", + "when": null, + "workflow_outputs": [] + }, + "18": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6", + "errors": null, + "id": 18, + "input_connections": { + "input": { + "id": 15, + "output_name": "out_file1" + }, + "lfc_thresh": { + "id": 9, + "output_name": "float_param" + }, + "signif_thresh": { + "id": 7, + "output_name": "float_param" + } + }, + "inputs": [], + "label": "Generate Valcanot plot of DE genes", + "name": "Volcano Plot", + "outputs": [ + { + "name": "plot", + "type": "pdf" + } + ], + "position": { + "left": 2610.2086912391, + "top": 957.2308087191843 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6", + "tool_shed_repository": { + "changeset_revision": "2f557f6abbfb", + "name": "volcanoplot", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"fdr_col\": \"7\", \"header\": \"yes\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"label_col\": \"13\", \"labels\": {\"label_select\": \"signif\", \"__current_case__\": 0, \"top_num\": \"10\"}, \"lfc_col\": \"3\", \"lfc_thresh\": {\"__class__\": \"ConnectedValue\"}, \"out_options\": {\"rscript_out\": false}, \"plot_options\": {\"boxes\": false, \"title\": null, \"xlab\": null, \"ylab\": null, \"xmin\": null, \"xmax\": null, \"ymax\": null, \"legend\": null, \"legend_labs\": \"Down,Not Sig,Up\"}, \"pval_col\": \"6\", \"signif_thresh\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.0.6", + "type": "tool", + "uuid": "cb314a3d-0b05-4d45-a961-591d59b3852b", + "when": null, + "workflow_outputs": [ + { + "label": "Volcano Plot of DE genes", + "output_name": "plot", + "uuid": "9c1cd777-caa5-4477-8a24-9708480bd693" + } + ] + }, + "19": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 19, + "input_connections": { + "components_1|param_type|component_value": { + "id": 16, + "output_name": "text_param" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "left": 2144.7794821932416, + "top": 725.294415795629 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"c1-c\"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "34f60b08-6d52-4cc0-8a91-dedaff1ca499", + "when": null, + "workflow_outputs": [] + }, + "20": { + "annotation": "", + "content_id": "Filter1", + "errors": null, + "id": 20, + "input_connections": { + "cond": { + "id": 12, + "output_name": "out1" + }, + "input": { + "id": 17, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": "Filter with log2 FC threshold", + "name": "Filter", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "left": 1910.07823962931, + "top": 474.9743920452724 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Genes filtered with adj p-value and log2(FC) thresholds" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Filter1", + "tool_state": "{\"cond\": {\"__class__\": \"ConnectedValue\"}, \"header_lines\": \"1\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.1.1", + "type": "tool", + "uuid": "1f787252-7a94-43b6-bb66-9624923ed05c", + "when": null, + "workflow_outputs": [ + { + "label": "Significantly differentially expressed genes", + "output_name": "out_file1", + "uuid": "ca9ba83d-00e7-4778-a670-9a5605606cfc" + } + ] + }, + "21": { + "annotation": "", + "content_id": "join1", + "errors": null, + "id": 21, + "input_connections": { + "input1": { + "id": 10, + "output_name": "counts_out" + }, + "input2": { + "id": 20, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Join two Datasets", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "left": 2271.404780182028, + "top": 406.30668475687355 + }, + "post_job_actions": { + "HideDatasetActionout_file1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "join1", + "tool_state": "{\"__input_ext\": \"tabular\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len\", \"field1\": \"1\", \"field2\": \"1\", \"fill_empty_columns\": {\"fill_empty_columns_switch\": \"no_fill\", \"__current_case__\": 0}, \"header\": \"-H\", \"input1\": {\"__class__\": \"ConnectedValue\"}, \"input2\": {\"__class__\": \"ConnectedValue\"}, \"partial\": \"\", \"unmatched\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.1.3", + "type": "tool", + "uuid": "672e150d-ae77-41ae-9b66-2c3bf55bc701", + "when": null, + "workflow_outputs": [] + }, + "22": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 22, + "input_connections": { + "columnList": { + "id": 19, + "output_name": "out1" + }, + "input": { + "id": 21, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "left": 2560.320455929024, + "top": 649.1552708097212 + }, + "post_job_actions": { + "HideDatasetActionout_file1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out_file1" + }, + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Normalized counts for the most differentially expressed genes" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": {\"__class__\": \"ConnectedValue\"}, \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "699a7dd8-e3d0-42b9-bf2d-02e92d208c14", + "when": null, + "workflow_outputs": [] + }, + "23": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.1.3.1+galaxy0", + "errors": null, + "id": 23, + "input_connections": { + "input1": { + "id": 22, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": "Generate Heatmap of counts", + "name": "heatmap2", + "outputs": [ + { + "name": "output1", + "type": "pdf" + } + ], + "position": { + "left": 2874.905386062883, + "top": 454.7381454908998 + }, + "post_job_actions": { + "RenameDatasetActionoutput1": { + "action_arguments": { + "newname": "Normalized counts Heatmap" + }, + "action_type": "RenameDatasetAction", + "output_name": "output1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.1.3.1+galaxy0", + "tool_shed_repository": { + "changeset_revision": "374e9062d874", + "name": "ggplot2_heatmap2", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__input_ext\": \"tabular\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len\", \"cluster_cond\": {\"cluster\": \"yes\", \"__current_case__\": 0, \"cluster_cols_rows\": \"both\", \"distance\": \"euclidean\", \"clustering\": \"complete\"}, \"colorchoice\": {\"type\": \"two\", \"__current_case__\": 1, \"color1\": \"#ffffff\", \"color2\": \"#ff0000\"}, \"image_file_format\": \"pdf\", \"input1\": {\"__class__\": \"ConnectedValue\"}, \"key\": \"\", \"labels\": \"columns\", \"title\": \"\", \"transform\": \"log2plus1\", \"zscore_cond\": {\"zscore\": \"none\", \"__current_case__\": 0, \"scale\": \"none\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "3.1.3.1+galaxy0", + "type": "tool", + "uuid": "b8b1d4c3-d8bf-41e1-93ab-00c021d2896f", + "when": null, + "workflow_outputs": [ + { + "label": "Heatmap of log transformed normalized counts", + "output_name": "output1", + "uuid": "7361cd0a-4247-4274-b10e-d208c3465fdb" + } + ] + }, + "24": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.1.3.1+galaxy0", + "errors": null, + "id": 24, + "input_connections": { + "input1": { + "id": 22, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": "Generate Heatmap of Z-scores", + "name": "heatmap2", + "outputs": [ + { + "name": "output1", + "type": "pdf" + } + ], + "position": { + "left": 2899.706231952903, + "top": 852.4572467969889 + }, + "post_job_actions": { + "RenameDatasetActionoutput1": { + "action_arguments": { + "newname": "Z-scores Heatmap" + }, + "action_type": "RenameDatasetAction", + "output_name": "output1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.1.3.1+galaxy0", + "tool_shed_repository": { + "changeset_revision": "374e9062d874", + "name": "ggplot2_heatmap2", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__input_ext\": \"tabular\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len\", \"cluster_cond\": {\"cluster\": \"yes\", \"__current_case__\": 0, \"cluster_cols_rows\": \"both\", \"distance\": \"euclidean\", \"clustering\": \"complete\"}, \"colorchoice\": {\"type\": \"three\", \"__current_case__\": 2, \"color1\": \"#0000ff\", \"color2\": \"#ffffff\", \"color3\": \"#ff0000\"}, \"image_file_format\": \"pdf\", \"input1\": {\"__class__\": \"ConnectedValue\"}, \"key\": \"\", \"labels\": \"columns\", \"title\": \"\", \"transform\": \"none\", \"zscore_cond\": {\"zscore\": \"rows\", \"__current_case__\": 1}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "3.1.3.1+galaxy0", + "type": "tool", + "uuid": "f4f25636-3963-4624-8047-cc5aa286ca0e", + "when": null, + "workflow_outputs": [ + { + "label": "Heatmap of Z-scores", + "output_name": "output1", + "uuid": "03b9a2ff-1520-41c1-8a53-0ada7b883e3f" + } + ] + } + }, + "tags": [ + "transcriptomics", + "RNAseq" + ], + "uuid": "15d188a7-b028-4cf7-bb5d-13858e1f6e78", + "version": 15 +} \ No newline at end of file