Mercurial > repos > devteam > cluster
changeset 4:05696474ee89 draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tool_collections/gops/cluster commit cae3e05d02e60f595bb8b6d77a84f030e9bd1689
author | devteam |
---|---|
date | Thu, 22 Jun 2017 18:40:19 -0400 |
parents | 765ceb06c3e2 |
children | a126ec6ea0e4 |
files | cluster.xml gops_cluster.py macros.xml operation_filter.py tool_dependencies.xml |
diffstat | 5 files changed, 96 insertions(+), 92 deletions(-) [+] |
line wrap: on
line diff
--- a/cluster.xml Wed Nov 11 12:47:24 2015 -0500 +++ b/cluster.xml Thu Jun 22 18:40:19 2017 -0400 @@ -1,80 +1,72 @@ <tool id="gops_cluster_1" name="Cluster" version="1.0.0"> - <description>the intervals of a dataset</description> - <requirements> - <requirement type="package" version="0.7.1">bx-python</requirement> - <requirement type="package" version="1.0.0">galaxy-ops</requirement> - </requirements> - <trackster_conf/> - <command interpreter="python">gops_cluster.py $input1 $output -1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} -d $distance -m $minregions -o $returntype</command> - <inputs> - <param format="interval" name="input1" type="data"> - <label>Cluster intervals of</label> - </param> - <param name="distance" type="integer" value="1" help="(bp)"> - <label>max distance between intervals</label> - </param> - <param name="minregions" type="integer" value="2"> - <label>min number of intervals per cluster</label> - </param> - <param name="returntype" type="select" label="Return type"> - <option value="1">Merge clusters into single intervals</option> - <option value="2">Find cluster intervals; preserve comments and order</option> - <option value="3">Find cluster intervals; output grouped by clusters</option> - <option value="4">Find the smallest interval in each cluster</option> - <option value="5">Find the largest interval in each cluster</option> - </param> - </inputs> - <outputs> - <data format="input" name="output" metadata_source="input1" /> - </outputs> - <code file="operation_filter.py"> - <hook exec_after_process="exec_after_cluster" /> - </code> - <tests> - <test> - <param name="input1" value="5.bed" /> - <param name="distance" value="1" /> - <param name="minregions" value="2" /> - <param name="returntype" value="1" /> - <output name="output" file="gops-cluster-1.bed" /> - </test> - <test> - <param name="input1" value="gops_cluster_bigint.bed" /> - <param name="distance" value="1" /> - <param name="minregions" value="2" /> - <param name="returntype" value="1" /> - <output name="output" file="gops-cluster-1.bed" /> - </test> - <test> - <param name="input1" value="5.bed" /> - <param name="distance" value="1" /> - <param name="minregions" value="2" /> - <param name="returntype" value="2" /> - <output name="output" file="gops-cluster-2.bed" /> - </test> - <test> - <param name="input1" value="5.bed" /> - <param name="distance" value="1" /> - <param name="minregions" value="2" /> - <param name="returntype" value="3" /> - <output name="output" file="gops-cluster-3.bed" /> - </test> - </tests> - <help> - + <description>the intervals of a dataset</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <code file="operation_filter.py"> + <hook exec_after_process="exec_after_cluster" /> + </code> + <command><![CDATA[ +python '$__tool_directory__/gops_cluster.py' +'$input1' +'$output' +-1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} +-d $distance +-m $minregions +-o $returntype + ]]></command> + <inputs> + <param name="input1" type="data" format="interval" label="Cluster intervals of" /> + <param name="distance" type="integer" value="1" label="Max distance between intervals" help="(bp)" /> + <param name="minregions" type="integer" value="2" label="Min number of intervals per cluster" /> + <param name="returntype" type="select" label="Return type"> + <option value="1">Merge clusters into single intervals</option> + <option value="2">Find cluster intervals; preserve comments and order</option> + <option value="3">Find cluster intervals; output grouped by clusters</option> + <option value="4">Find the smallest interval in each cluster</option> + <option value="5">Find the largest interval in each cluster</option> + </param> + </inputs> + <outputs> + <data name="output" format_source="input1" metadata_source="input1" /> + </outputs> + <tests> + <test> + <param name="input1" value="5.bed" /> + <param name="distance" value="1" /> + <param name="minregions" value="2" /> + <param name="returntype" value="1" /> + <output name="output" file="gops-cluster-1.bed" /> + </test> + <test> + <param name="input1" value="gops_cluster_bigint.bed" /> + <param name="distance" value="1" /> + <param name="minregions" value="2" /> + <param name="returntype" value="1" /> + <output name="output" file="gops-cluster-1.bed" /> + </test> + <test> + <param name="input1" value="5.bed" /> + <param name="distance" value="1" /> + <param name="minregions" value="2" /> + <param name="returntype" value="2" /> + <output name="output" file="gops-cluster-2.bed" /> + </test> + <test> + <param name="input1" value="5.bed" /> + <param name="distance" value="1" /> + <param name="minregions" value="2" /> + <param name="returntype" value="3" /> + <output name="output" file="gops-cluster-3.bed" /> + </test> + </tests> + <help><![CDATA[ .. class:: infomark **TIP:** If your dataset does not appear in the pulldown menu, it means that it is not in interval format. Use "edit attributes" to set chromosome, start, end, and strand columns. ------ - -**Screencasts!** - -See Galaxy Interval Operation Screencasts_ (right click to open this link in another window). - -.. _Screencasts: http://wiki.g2.bx.psu.edu/Learn/Interval%20Operations - ------ +@SCREENCASTS@ **Syntax** @@ -95,6 +87,5 @@ Merge Clusters: .. image:: gops_clusterMerge.gif - -</help> + ]]></help> </tool>
--- a/gops_cluster.py Wed Nov 11 12:47:24 2015 -0500 +++ b/gops_cluster.py Thu Jun 22 18:40:19 2017 -0400 @@ -9,11 +9,14 @@ -m, --minregions=N: Minimum regions per cluster -o, --output=N: 1)merged 2)filtered 3)clustered 4) minimum 5) maximum """ +from __future__ import print_function + import fileinput import sys + +from bx.cookbook import doc_optparse from bx.intervals.io import GenomicInterval, NiceReaderWrapper from bx.intervals.operations.find_clusters import find_clusters -from bx.cookbook import doc_optparse from bx.tabular.io import ParseError from galaxy.tools.util.galaxyops import fail, parse_cols_arg, skipped @@ -50,7 +53,7 @@ # Get the cluster tree try: clusters, extra = find_clusters( g1, mincols=distance, minregions=minregions) - except ParseError, exc: + except ParseError as exc: fail( "Invalid file format: %s" % str( exc ) ) f1 = open( in_fname, "r" ) @@ -109,8 +112,8 @@ g1.strand_col, g1.default_strand, g1.fix_strand ) - except Exception, exc: - print >> sys.stderr, str( exc ) + except Exception as exc: + print(str( exc ), file=sys.stderr) f1.close() sys.exit() interval_size = cluster_interval.end - cluster_interval.start @@ -125,7 +128,8 @@ out_file.close() if g1.skipped > 0: - print skipped( g1, filedesc="" ) + print(skipped( g1, filedesc="" )) + if __name__ == "__main__": main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Jun 22 18:40:19 2017 -0400 @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<macros> + <xml name="requirements"> + <requirements> + <requirement type="package" version="0.7.1">bx-python</requirement> + <requirement type="package" version="1.0.0">galaxy-ops</requirement> + </requirements> + </xml> + <token name="@SCREENCASTS@"> +----- + +**Screencasts!** + +See Galaxy Interval Operation Screencasts_ (right click to open this link in another window). + +.. _Screencasts: https://galaxyproject.org/learn/interval-operations/ + +----- + </token> +</macros>
--- a/operation_filter.py Wed Nov 11 12:47:24 2015 -0500 +++ b/operation_filter.py Thu Jun 22 18:40:19 2017 -0400 @@ -1,8 +1,7 @@ # runs after the job (and after the default post-filter) +from galaxy.jobs.handler import JOB_ERROR from galaxy.tools.parameters import DataToolParameter -from galaxy.jobs.handler import JOB_ERROR - # Older py compatibility try: set() @@ -14,7 +13,7 @@ dbkeys = set() data_param_names = set() data_params = 0 - for name, param in page_param_map.iteritems(): + for name, param in page_param_map.items(): if isinstance( param, DataToolParameter ): # for each dataset parameter if param_values.get(name, None) is not None: @@ -53,7 +52,6 @@ try: if stderr and len( stderr ) > 0: raise Exception( stderr ) - except Exception: data.blurb = JOB_ERROR data.state = JOB_ERROR
--- a/tool_dependencies.xml Wed Nov 11 12:47:24 2015 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<tool_dependency> - <package name="bx-python" version="0.7.1"> - <repository changeset_revision="2d0c08728bca" name="package_bx_python_0_7" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> - <package name="galaxy-ops" version="1.0.0"> - <repository changeset_revision="9cbb20b85c01" name="package_galaxy_ops_1_0_0" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> -</tool_dependency>