diff --git a/topics/transcriptomics/images/blockclust_blocks.png b/topics/transcriptomics/images/blockclust_blocks.png new file mode 100644 index 00000000000000..bacbcff6d8c934 Binary files /dev/null and b/topics/transcriptomics/images/blockclust_blocks.png differ diff --git a/topics/transcriptomics/images/blockclust_profiles.png b/topics/transcriptomics/images/blockclust_profiles.png new file mode 100644 index 00000000000000..d8794d60765657 Binary files /dev/null and b/topics/transcriptomics/images/blockclust_profiles.png differ diff --git a/topics/transcriptomics/metadata.yaml b/topics/transcriptomics/metadata.yaml index 6e8c51338edd02..0f06af6ad76882 100644 --- a/topics/transcriptomics/metadata.yaml +++ b/topics/transcriptomics/metadata.yaml @@ -80,3 +80,9 @@ references: title: "metaModules identifies key functional subnetworks in microbiome-related disease" link: "http://dx.doi.org/10.1093/bioinformatics/btv526" summary: "" + - + authors: "Pavankumar, Videm; Dominic, Rose; Fabrizio, Costa; Rolf, Backofen" + title: "BlockClust: efficient clustering and classification of non-coding RNAs from short read RNA-seq profiles" + link: "doi:10.1093/bioinformatics/btu270" + summary: "" + diff --git a/topics/transcriptomics/tutorials/small_ncrna_clustering/blockclust_profiles.png b/topics/transcriptomics/tutorials/small_ncrna_clustering/blockclust_profiles.png new file mode 100644 index 00000000000000..d8794d60765657 Binary files /dev/null and b/topics/transcriptomics/tutorials/small_ncrna_clustering/blockclust_profiles.png differ diff --git a/topics/transcriptomics/tutorials/small_ncrna_clustering/data_library.yaml b/topics/transcriptomics/tutorials/small_ncrna_clustering/data_library.yaml new file mode 100644 index 00000000000000..d9ec0cf01c59c0 --- /dev/null +++ b/topics/transcriptomics/tutorials/small_ncrna_clustering/data_library.yaml @@ -0,0 +1,19 @@ +--- +destination: + type: library + name: GTN - Material + description: Galaxy Training Network Material + synopsis: Galaxy Training Network Material. See https://training.galaxyproject.org +items: +- name: The new topic + description: Summary + items: + - name: Small Non-coding RNA Clustering using BlockClust + items: + - name: 'DOI: 10.5281/zenodo.1491876' + description: latest + items: + - url: https://zenodo.org/api/files/e9a5b9b1-7e5e-40ae-9ce4-2797709c0689/blockclust.bam + src: url + ext: bam + info: https://zenodo.org/record/1491876 diff --git a/topics/transcriptomics/tutorials/small_ncrna_clustering/genome_wide_profiles_mapped.svg b/topics/transcriptomics/tutorials/small_ncrna_clustering/genome_wide_profiles_mapped.svg new file mode 100644 index 00000000000000..da7f2148af2638 --- /dev/null +++ b/topics/transcriptomics/tutorials/small_ncrna_clustering/genome_wide_profiles_mapped.svg @@ -0,0 +1,1442 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/topics/transcriptomics/tutorials/small_ncrna_clustering/tutorial.md b/topics/transcriptomics/tutorials/small_ncrna_clustering/tutorial.md new file mode 100644 index 00000000000000..01a024bca42923 --- /dev/null +++ b/topics/transcriptomics/tutorials/small_ncrna_clustering/tutorial.md @@ -0,0 +1,207 @@ +--- +layout: tutorial_hands_on + +title: Small Non-coding RNA Clustering using BlockClust +zenodo_link: https://zenodo.org/record/1491876 +questions: +- What do the read profiles of small non-coding RNAs represent? +- How to cluster the read profiles based on some intrinsic features? +objectives: +- Difference between mRNA-seq and smallRNA-seq +- Unsupervised grouping of the adjacent reads into read profiles +- Look and learn what the shapes of the read profiles represent +- Clustering of the read profiles by machine learning algorithm +time_estimation: 1H +key_points: +- Small non-coding RNA read profiles are often associate with function +- Clusters of read profiles correlate with the ncRNA classes +contributors: +- Pavankumar Videm + +--- + + +# Introduction +{:.no_toc} +Small Non-coding RNAs (ncRNAs) play a vital role in many cellular processes such as RNA splicing, translation, gene regulation. The small RNA-seq is a type of RNA-seq in which RNA fragments are size selected to capture only short RNAs. One of the most common applications of the small RNA-seq is discovering novel small ncRNAs. Mapping the small RNA-seq data reveals interesting patterns that represent the traces of the small RNA processing. + +For example, consider the miRNA biogenesis. The primary miRNA transcripts are processed by Drosha-complexes and results in hairpin precursor miRNAs. Then after they transported to the cytoplasm, Dicer slices off the hairpin. One of the RNA strands bound by Argonaute proteins regulates the target mRNA while the other strand is degraded. + +The following figure represents the mapped reads on the reference genome. The height of the bars represents the number of reads mapped. Reads in each bubble represent a *read profile*. In this case, they both are from miRNAs. From the small RNA-seq, we often see the two processed miRNA strands after mapping. The miRNA strand which targets the mRNA is expressed and we see more reads compared to the degraded strand. The gap between those two piles of reads represents the missing hairpin. + +![read profiles](../../images/blockclust_profiles.png "Patterns of processing in read profiles") + +In this tutorial, we will learn how to use **BlockClust** to cluster similar processing patterns together. + +> ### Agenda +> +> In this tutorial, we will cover: +> +> 1. TOC +> {:toc} +> +{: .agenda} + +# Preprocessing of the data +We start with a BAM file as an input for this tutorial. If you want to use your own sequencing data, please clip the adapters and map to the reference genome. For this tutorial purpose, we already clipped the adapters and mapped the reads using **segemehl**. + +First, we convert the BAM file into BED file. This is not a plain file conversion. Hence we cannot use any BAM to BED conversion tools. We use BlockClust tool in the pre-processing mode for this purpose. The resulting BED file contains tags (a tag is a unique read sequence in a deep-sequencing library) and their normalized expression (column 5), i.e. the ratio of the read count per tag to the number of mappings on the reference genome. +{: .hands_on} +## Get data + +> ### {% icon hands_on %} Hands-on: Data upload +> +> 1. Create a new history for this tutorial +> 2. Import the files from [Zenodo]() or from the shared data library +> +> ``` +> https://zenodo.org/record/2172221/files/GSM769512.bam +> ``` +> +> {% include snippets/import_via_link.md %} +{: .hands_on} + +> ### {% icon question %} Questions +> +> Why is it mandatory to clip the adapters from the small RNA-seq data? +> +> > ### {% icon solution %} Solution +> > +> > Generally, the processed RNA fragments from the small RNAs are about 18-30nt long. If the sequenced read length is longer than the fragment (which is usually the case), the sequencer reads into the 3' adapter. +> > +> {: .solution} +> +{: .question} + + +## Sort BAM file +> Before continue to BAM to BED conversion we need to sort the alignments in the input BAM file by their positions. +> ### {% icon hands_on %} Hands-on: Sort BAM +> 1. **Samtools sort** {% icon tool %} with the following parameters: +> - {% icon param-file %} *"BAM File"*: `output` (Input dataset) +> +{: .hands_on} + +## BAM to BED of tags +> Now it is time to do the actual conversion. +> ### {% icon hands_on %} Hands-on: **BlockClust** preprocessing +> 1. **BlockClust** {% icon tool %} with the following parameters: +> - *"Select mode of operation"*: `Pre-processing ` +> - {% icon param-file %} *"BAM file containing alignments"*: `output1` (output of **Samtools sort** {% icon tool %}) +> +{: .hands_on} + +# Grouping of the adjacent reads into read profiles + +Now we group the adjacent reads into so-called blocks and blockgroups using blockbuster tool. In general, each blockgroup should represent a single ncRNA read profile. + +![blocks of a blockgroup](../../images/blockclust_blocks.png "Representation of blocks and blockgroups of a read profile") + +> ### {% icon details %} More details about the theory +> +> The idea is to perform peak detection on the signal obtained by counting the number of reads per nucleotide. This signal, spanning adjacent loci, is then modeled with a mixture of Gaussians. An iterative greedy procedure is then used to collect reads that belong to the same block, starting from the largest Gaussian component, and removing them in successive iterations. The tool further assembles a sequence of adjacent blocks into a blockgroup if the blocks are either overlapping or are at a distance smaller than a user-defined threshold. A more detailed explanation is at http://hoffmann.bioinf.uni-leipzig.de/LIFE/blockbuster.html +> +{: .details} + + +## Sort the BED file of tags + +In order to run the blockbuster successfully the input BED file need to be sorted by chromosome, strand, start position and then end positions. + +> ### {% icon hands_on %} Hands-on: Sort the BED file +> +> 1. **Sort** {% icon tool %} with the following parameters: +> - {% icon param-file %} *"Sort Query"*: `tags_bed` (output of **BlockClust** {% icon tool %}) +> - In *"Column selections"*: +> - Click on *"Insert Column selections"*: +> - In *"1: Column selections"*: +> - *"on column"*: `c1` +> - Click on *"Insert Column selections"*: +> - In *"2: Column selections"*: +> - *"on column"*: `c6` +> - Click on *"Insert Column selections"*: +> - In *"3: Column selections"*: +> - *"on column"*: `c2` +> - Click on *"Insert Column selections"*: +> - In *"4: Column selections"*: +> - *"on column"*: `c3` +> - *"Ignore case"*: `Yes` +> +{: .hands_on} + +## Group reads into blocks and blockgroups using **blockbuster** + +> ### {% icon hands_on %} Hands-on: blockbuster +> +> 1. **blockbuster** {% icon tool %} with the following parameters: +> - {% icon param-file %} *"BED file containing read expressions"*: `outfile` (output of **Sort** {% icon tool %}) +> +> ***TODO***: *Check parameter descriptions* +> +> ***TODO***: *Consider adding a comment or tip box* +> +{: .hands_on} + + +# Clustering with **BlockClust** +Here we use **BlockClust** in clustering mode. All you need here is the output of the **blockbuster**. + +Apart from clustering, **BlockClust** has built-in class specific discriminative models for C/D box snoRNA, H/ACA box snoRNA, miRNA, rRNA, snRNA, tRNA and Y_RNA. So it can also be used to predict if a read profile might belong to one of the known ncRNA class. +> ### {% icon hands_on %} Hands-on: clustering +> +> 1. **BlockClust** {% icon tool %} with the following parameters: +> - *"Select mode of operation"*: `Clustering and classification` +> - {% icon param-file %} *"Input blockgroups file"*: `output` (output of **blockbuster** {% icon tool %}) +> - *"Would you like to perform classification?"*: `Yes` +> - *"Mode of classification"*: `Model based` +> +{: .hands_on} + +The `BlockClust: BED of predicted clusters` file is the result of Markov cluster algorithm. Each entry in this file represents a blockgroup. The 4th column contains is in the form of *annotation:blockgroup_id:cluster_id*. The *cluster_id* represents which cluster the blockgroup belongs to. + +The `BlockClust: Model based predictions BED` file is the result of classification. Each entry in this file represents a blockgroup. The 4th column contains the annotation of the ncRNA which it overlaps. For the blockgroups which are not overlapped with any known ncRNAs, there is a prefix 'predicted_' is added indicating that it is predicted by the **BlockClust** classification models. + +Next, we will visualize the read profiles (from the BAM file) and the predictions (BED from **BlockClust**) together. + +> ### {% icon hands_on %} Hands-on: visualization +> +> 1. Install [IGV](https://software.broadinstitute.org/software/igv/download) (if not already installed) +> 2. Start IGV locally +> 3. Expand the {% icon param-file %} `GSM769512.bam` file +> 4. Click on the `local` in `display with IGV` to load the reads into the IGV browser +> 5. Expand the {% icon param-file %} `BlockClust: Model based predictions BED` file +> 6. Click on the `local` in `display with IGV` to load the reads into the IGV browser +> 7. Go to the location chr4:90653059-90653141. +> +> ### {% icon question %} Questions +> +> 1. Do you see any already annotated transcript in that location? +> 2. What does the read profile resemble? +> 3. What did **BlockClust** predict? +> +> > ### {% icon solution %} Solution +> > +> > 1. There is no annotated gene from RefSeq annotation on the same strand. +> > 2. It resembles the miRNA profiles mentioned in the introduction section. One of the read piles looks like mature miRNA and the other like miRNA*. +> > 3. Predicted as a miRNA. +> > +> {: .solution} + +{: .question} + +> > ### {% icon comment %} Comments +> > +> > In order for this step to work, you will need to have either IGV or [Java web start](https://www.java.com/en/download/faq/java_webstart.xml) +> > installed on your machine. However, the questions in this section can also be answered by inspecting the IGV screenshots below. +> > +> > Check the [IGV documentation](https://software.broadinstitute.org/software/igv/AlignmentData) for more information. +> > +> {: .comment} +> +{: .hands_on} + + +# Conclusion +{:.no_toc} + +In this tutorial, we learned how to use **BlockClust** to cluster real small RNA sequencing read profiles based on their similarity. We also learned that the **BlockClust** can also be used to classify the read profiles based on pre-built classification models. diff --git a/topics/transcriptomics/tutorials/small_ncrna_clustering/workflows/blockclust_clustering.ga b/topics/transcriptomics/tutorials/small_ncrna_clustering/workflows/blockclust_clustering.ga new file mode 100644 index 00000000000000..cf6c7e03b4f24e --- /dev/null +++ b/topics/transcriptomics/tutorials/small_ncrna_clustering/workflows/blockclust_clustering.ga @@ -0,0 +1,414 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "blockclust 1.1.0 clustering", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [], + "label": "blockclust_input", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 200, + "top": 212 + }, + "tool_id": null, + "tool_state": "{}", + "tool_version": null, + "type": "data_input", + "uuid": "b6e23dd8-46ca-4bd6-87f3-2f6b741b459b", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "d8c12432-a0db-4cba-a815-aba6a2de9626" + } + ] + }, + "1": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/samtools_sort/samtools_sort/2.0.2", + "errors": null, + "id": 1, + "input_connections": { + "input1": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool Samtools sort", + "name": "input1" + } + ], + "label": null, + "name": "Samtools sort", + "outputs": [ + { + "name": "output1", + "type": "bam" + } + ], + "position": { + "left": 460, + "top": 212 + }, + "post_job_actions": { + "HideDatasetActionoutput1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "output1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/samtools_sort/samtools_sort/2.0.2", + "tool_shed_repository": { + "changeset_revision": "f56bdb93ae58", + "name": "samtools_sort", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"input1\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"prim_key_cond\": \"{\\\"prim_key_select\\\": \\\"\\\", \\\"__current_case__\\\": 0}\"}", + "tool_version": "2.0.2", + "type": "tool", + "uuid": "327e9b59-6d4e-482e-bcdf-c7cc5d8505c9", + "workflow_outputs": [] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockclust/blockclust/1.1.0", + "errors": null, + "id": 2, + "input_connections": { + "tool_mode|reads_bam": { + "id": 1, + "output_name": "output1" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool BlockClust", + "name": "tool_mode" + } + ], + "label": null, + "name": "BlockClust", + "outputs": [ + { + "name": "tags_bed", + "type": "bed" + }, + { + "name": "hclust_plot", + "type": "pdf" + }, + { + "name": "clusters", + "type": "bed" + }, + { + "name": "model_based_pred_bed", + "type": "bed" + }, + { + "name": "nearest_neighbour_pred_bed", + "type": "bed" + }, + { + "name": "sim_tab_out", + "type": "tabular" + }, + { + "name": "cluster_dist", + "type": "pdf" + }, + { + "name": "cluster_hclust", + "type": "pdf" + } + ], + "position": { + "left": 788, + "top": 212 + }, + "post_job_actions": { + "HideDatasetActioncluster_dist": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "cluster_dist" + }, + "HideDatasetActioncluster_hclust": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "cluster_hclust" + }, + "HideDatasetActionclusters": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "clusters" + }, + "HideDatasetActionhclust_plot": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "hclust_plot" + }, + "HideDatasetActionmodel_based_pred_bed": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "model_based_pred_bed" + }, + "HideDatasetActionnearest_neighbour_pred_bed": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "nearest_neighbour_pred_bed" + }, + "HideDatasetActionsim_tab_out": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "sim_tab_out" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockclust/blockclust/1.1.0", + "tool_shed_repository": { + "changeset_revision": "aab6cf87b40a", + "name": "blockclust", + "owner": "rnateam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"tool_mode\": \"{\\\"operation\\\": \\\"pre\\\", \\\"reads_bam\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"__current_case__\\\": 0}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "1.1.0", + "type": "tool", + "uuid": "fd3043d3-609e-4303-bcb5-448cb749a319", + "workflow_outputs": [ + { + "label": "tags_bed", + "output_name": "tags_bed", + "uuid": "39f8722a-8444-42f8-8104-f81201804c9c" + } + ] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1", + "errors": null, + "id": 3, + "input_connections": { + "infile": { + "id": 2, + "output_name": "tags_bed" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool Sort", + "name": "infile" + } + ], + "label": null, + "name": "Sort", + "outputs": [ + { + "name": "outfile", + "type": "input" + } + ], + "position": { + "left": 1116, + "top": 212 + }, + "post_job_actions": { + "HideDatasetActionoutfile": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outfile" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1", + "tool_shed_repository": { + "changeset_revision": "74a8bef53a00", + "name": "text_processing", + "owner": "bgruening", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"sortkeys\": \"[{\\\"column\\\": \\\"1\\\", \\\"__index__\\\": 0, \\\"style\\\": \\\"\\\", \\\"order\\\": \\\"\\\"}, {\\\"column\\\": \\\"6\\\", \\\"__index__\\\": 1, \\\"style\\\": \\\"\\\", \\\"order\\\": \\\"\\\"}, {\\\"column\\\": \\\"2\\\", \\\"__index__\\\": 2, \\\"style\\\": \\\"n\\\", \\\"order\\\": \\\"\\\"}, {\\\"column\\\": \\\"3\\\", \\\"__index__\\\": 3, \\\"style\\\": \\\"n\\\", \\\"order\\\": \\\"\\\"}]\", \"__page__\": null, \"ignore_case\": \"\\\"true\\\"\", \"__rerun_remap_job_id__\": null, \"header\": \"\\\"0\\\"\", \"unique\": \"\\\"false\\\"\", \"infile\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", + "tool_version": "1.1.1", + "type": "tool", + "uuid": "ecaa7fb8-a10a-457c-9ce0-3b7f0647d1b4", + "workflow_outputs": [] + }, + "4": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockbuster/blockbuster/0.1.2", + "errors": null, + "id": 4, + "input_connections": { + "input": { + "id": 3, + "output_name": "outfile" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool blockbuster", + "name": "input" + } + ], + "label": null, + "name": "blockbuster", + "outputs": [ + { + "name": "output", + "type": "bed" + } + ], + "position": { + "left": 1376, + "top": 212 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockbuster/blockbuster/0.1.2", + "tool_shed_repository": { + "changeset_revision": "7c7ff7a3503f", + "name": "blockbuster", + "owner": "rnateam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"distance\": \"\\\"40\\\"\", \"scale\": \"\\\"0.5\\\"\", \"__page__\": null, \"__rerun_remap_job_id__\": null, \"print\": \"\\\"bbf_reads\\\"\", \"tagFilter\": \"\\\"0\\\"\", \"merge\": \"\\\"0\\\"\", \"minBlockHeight\": \"\\\"1.0\\\"\", \"input\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"minClusterHeight\": \"\\\"50.0\\\"\"}", + "tool_version": "0.1.2", + "type": "tool", + "uuid": "8a3db40c-ae03-49ca-b47c-559ac455d712", + "workflow_outputs": [ + { + "label": "blockbuster_out", + "output_name": "output", + "uuid": "95c21ce9-e988-44b9-978e-10a27b74d18e" + } + ] + }, + "5": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockclust/blockclust/1.1.0", + "errors": null, + "id": 5, + "input_connections": { + "tool_mode|input_bbo": { + "id": 4, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool BlockClust", + "name": "tool_mode" + }, + { + "description": "runtime parameter for tool BlockClust", + "name": "tool_mode" + } + ], + "label": null, + "name": "BlockClust", + "outputs": [ + { + "name": "tags_bed", + "type": "bed" + }, + { + "name": "hclust_plot", + "type": "pdf" + }, + { + "name": "clusters", + "type": "bed" + }, + { + "name": "model_based_pred_bed", + "type": "bed" + }, + { + "name": "nearest_neighbour_pred_bed", + "type": "bed" + }, + { + "name": "sim_tab_out", + "type": "tabular" + }, + { + "name": "cluster_dist", + "type": "pdf" + }, + { + "name": "cluster_hclust", + "type": "pdf" + } + ], + "position": { + "left": 1694, + "top": 212 + }, + "post_job_actions": { + "HideDatasetActioncluster_dist": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "cluster_dist" + }, + "HideDatasetActioncluster_hclust": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "cluster_hclust" + }, + "HideDatasetActionsim_tab_out": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "sim_tab_out" + }, + "HideDatasetActiontags_bed": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "tags_bed" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/rnateam/blockclust/blockclust/1.1.0", + "tool_shed_repository": { + "changeset_revision": "aab6cf87b40a", + "name": "blockclust", + "owner": "rnateam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"tool_mode\": \"{\\\"reference\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"input_bbo\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"pred\\\": {\\\"pred_mode\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"__current_case__\\\": 0, \\\"enable_pred\\\": \\\"yes\\\"}, \\\"nochr\\\": \\\"false\\\", \\\"__current_case__\\\": 1, \\\"operation\\\": \\\"analysis\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "1.1.0", + "type": "tool", + "uuid": "e41a16eb-4edd-4f9e-b615-44d0c2988b63", + "workflow_outputs": [ + { + "label": "clusters_bed", + "output_name": "clusters", + "uuid": "287b4bae-55a1-4f38-b1c3-62ae60b4d950" + }, + { + "label": "nn_pred_bed", + "output_name": "nearest_neighbour_pred_bed", + "uuid": "6f1ae3c9-58be-4707-84e7-9936a335d743" + }, + { + "label": null, + "output_name": "hclust_plot", + "uuid": "dec50654-b78a-477d-b35e-b37269c8347d" + }, + { + "label": "model_based_pred_bed", + "output_name": "model_based_pred_bed", + "uuid": "04c1de5d-d039-4dff-9981-ba1d72e3cbca" + } + ] + } + }, + "tags": [], + "uuid": "4cecbf1c-0535-4c04-857a-550a9e0a3ede" +} \ No newline at end of file