Mercurial > repos > devteam > merge
changeset 5:dfbbc0291b36 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tool_collections/gops/merge commit cae3e05d02e60f595bb8b6d77a84f030e9bd1689
author | devteam |
---|---|
date | Thu, 22 Jun 2017 18:51:08 -0400 |
parents | a2f62c0c0537 |
children | |
files | gops_merge.py macros.xml merge.xml operation_filter.py tool_dependencies.xml |
diffstat | 5 files changed, 73 insertions(+), 68 deletions(-) [+] |
line wrap: on
line diff
--- a/gops_merge.py Fri Dec 18 19:39:00 2015 -0500 +++ b/gops_merge.py Thu Jun 22 18:51:08 2017 -0400 @@ -1,17 +1,20 @@ #!/usr/bin/env python """ -Merge overlaping regions. +Merge overlapping regions. usage: %prog in_file out_file -1, --cols1=N,N,N,N: Columns for start, end, strand in first file -m, --mincols=N: Require this much overlap (default 1bp) -3, --threecol: Output 3 column bed """ +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.merge import merge -from bx.cookbook import doc_optparse from bx.tabular.io import ParseError from galaxy.tools.util.galaxyops import fail, parse_cols_arg, skipped @@ -55,14 +58,15 @@ out_file.write( "%s\n" % "\t".join( line ) ) else: out_file.write( "%s\n" % line ) - except ParseError, exc: + except ParseError as exc: out_file.close() fail( "Invalid file format: %s" % str( exc ) ) out_file.close() if g1.skipped > 0: - print skipped( g1, filedesc=" of 1st dataset" ) + print(skipped( g1, filedesc=" of 1st dataset" )) + if __name__ == "__main__": main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Jun 22 18:51:08 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/merge.xml Fri Dec 18 19:39:00 2015 -0500 +++ b/merge.xml Thu Jun 22 18:51:08 2017 -0400 @@ -1,62 +1,54 @@ <tool id="gops_merge_1" name="Merge" version="1.0.0"> - <description>the overlapping 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> - <command interpreter="python">gops_merge.py $input1 $output -1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} $returntype</command> - <inputs> - <param format="interval" name="input1" type="data"> - <label>Merge overlaping regions of</label> - </param> - <param name="returntype" type="boolean" truevalue="-3" falsevalue=""> - <label>Output 3 column bed</label> - </param> - </inputs> - <outputs> - <data format="input" name="output" metadata_source="input1" /> - </outputs> - <code file="operation_filter.py"> - <hook exec_after_process="exec_after_merge" /> - </code> - <tests> - <test> - <param name="input1" value="1.bed" /> - <output name="output" file="gops-merge.dat" /> - <param name="returntype" value="true" /> - </test> - <test> - <param name="input1" value="2_mod.bed" ftype="interval"/> - <output name="output" file="gops_merge_diffCols.dat" /> - <param name="returntype" value="true" /> - </test> - <test> - <param name="input1" value="gops_bigint.interval" /> - <output name="output" file="gops_merge_out2.bed" /> - <param name="returntype" value="true" /> - </test> - </tests> - <help> - + <description>the overlapping 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_merge" /> + </code> + <command><![CDATA[ +python '$__tool_directory__/gops_merge.py' +'$input1' +'$output' +-1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} +$returntype + ]]></command> + <inputs> + <param name="input1" type="data" format="interval" label="Merge overlapping regions of" /> + <param name="returntype" type="boolean" truevalue="-3" falsevalue="" label="Output 3 column bed" /> + </inputs> + <outputs> + <data name="output" format_source="input1" metadata_source="input1" /> + </outputs> + <tests> + <test> + <param name="input1" value="1.bed" /> + <param name="returntype" value="true" /> + <output name="output" file="gops-merge.dat" /> + </test> + <test> + <param name="input1" value="2_mod.bed" ftype="interval"/> + <param name="returntype" value="true" /> + <output name="output" file="gops_merge_diffCols.dat" /> + </test> + <test> + <param name="input1" value="gops_bigint.interval" /> + <param name="returntype" value="true" /> + <output name="output" file="gops_merge_out2.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@ This operation merges all overlapping intervals into single intervals. **Example** .. image:: gops_merge.gif - -</help> -</tool> \ No newline at end of file + ]]></help> +</tool>
--- a/operation_filter.py Fri Dec 18 19:39:00 2015 -0500 +++ b/operation_filter.py Thu Jun 22 18:51:08 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 Fri Dec 18 19:39:00 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="35e2457234ef" name="package_bx_python_0_7" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> - </package> - <package name="galaxy-ops" version="1.0.0"> - <repository changeset_revision="60c9a7af1345" name="package_galaxy_ops_1_0_0" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> - </package> -</tool_dependency>