Repository 'concat'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/concat

Changeset 0:8aa939ace6ba (2014-04-01)
Next changeset 1:855580142a12 (2014-04-14)
Commit message:
Imported from capsule None
added:
concat.xml
gops_concat.py
operation_filter.py
test-data/1.bed
test-data/1.interval
test-data/2.bed
test-data/gops_concat_out1.bed
test-data/gops_concat_out2.bed
tool_dependencies.xml
b
diff -r 000000000000 -r 8aa939ace6ba concat.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/concat.xml Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,63 @@
+<tool id="gops_concat_1" name="Concatenate" version="1.0.1">
+  <description>two datasets into one 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_concat.py $input1 $input2 $output -1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} -2 ${input2.metadata.chromCol},${input2.metadata.startCol},${input2.metadata.endCol},${input2.metadata.strandCol} $sameformat</command>
+  <inputs>
+    <param format="interval" name="input1" type="data" help="First dataset">
+      <label>Concatenate</label>
+    </param>
+    <param format="interval" name="input2" type="data" help="Second dataset">
+      <label>with</label>
+    </param>
+    <param name="sameformat" type="boolean" truevalue="--sameformat" falsevalue="" label="Both datasets are same filetype?" checked="true" help="If unchecked Second dataset will be forced into format of First dataset">
+    </param>
+   </inputs>
+  <outputs>
+    <data format="input" name="output" metadata_source="input1" />
+  </outputs>
+  <code file="operation_filter.py"/>
+  <tests>
+    <test>
+      <param name="input1" value="1.bed" />
+      <param name="input2" value="2.bed" />
+      <param name="sameformat" value="true" />
+      <output name="output" file="gops_concat_out1.bed" />     
+    </test>
+    <test>
+      <param name="input1" value="1.bed" />
+      <param name="input2" value="1.interval" />
+      <param name="sameformat" value="false" />
+      <output name="output" file="gops_concat_out2.bed" />     
+    </test>   
+  </tests>
+  <help>
+
+.. class:: infomark
+
+**TIP:** If your dataset does not appear in the pulldown menu -> 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
+
+-----
+
+**Syntax**
+
+- **Both datasets are exactly the same filetype** will preserve all extra fields in both files.  Leaving this unchecked will force the second dataset to use the same column assignments for chrom, start, end and strand, but will fill extra fields with a period(.).  In both cases, the output fields are truncated or padded with fields of periods to maintain a truly tabular output.
+
+-----
+
+**Example**
+
+.. image:: ${static_path}/operation_icons/gops_concatenate.gif
+
+</help>
+</tool>
\ No newline at end of file
b
diff -r 000000000000 -r 8aa939ace6ba gops_concat.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gops_concat.py Tue Apr 01 10:53:46 2014 -0400
[
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+"""
+Concatenate two bed files.  The concatenated files are returned in the
+same format as the first.  If --sameformat is specified, then all
+columns will be treated as the same, and all fields will be saved,
+although the output will be trimmed to match the primary input.  In
+addition, if --sameformat is specified, missing fields will be padded
+with a period(.).
+
+usage: %prog in_file_1 in_file_2 out_file
+    -1, --cols1=N,N,N,N: Columns for chrom, start, end, strand in first file
+    -2, --cols2=N,N,N,N: Columns for chrom, start, end, strand in second file
+    -s, --sameformat: All files are precisely the same format.
+"""
+
+import sys, traceback, fileinput
+from warnings import warn
+from bx.intervals import *
+from bx.intervals.io import *
+from bx.intervals.operations.concat import *
+from bx.cookbook import doc_optparse
+from galaxy.tools.util.galaxyops import *
+
+assert sys.version_info[:2] >= ( 2, 4 )
+
+def main():
+    sameformat=False
+    upstream_pad = 0
+    downstream_pad = 0
+
+    options, args = doc_optparse.parse( __doc__ )
+    try:
+        chr_col_1, start_col_1, end_col_1, strand_col_1 = parse_cols_arg( options.cols1 )
+        chr_col_2, start_col_2, end_col_2, strand_col_2 = parse_cols_arg( options.cols2 )
+        if options.sameformat: sameformat = True
+        in_file_1, in_file_2, out_fname = args
+    except:
+        doc_optparse.exception()
+
+    g1 = NiceReaderWrapper( fileinput.FileInput( in_file_1 ),
+                            chrom_col=chr_col_1,
+                            start_col=start_col_1,
+                            end_col=end_col_1,
+                            strand_col=strand_col_1,
+                            fix_strand=True )
+
+    g2 = NiceReaderWrapper( fileinput.FileInput( in_file_2 ),
+                            chrom_col=chr_col_2,
+                            start_col=start_col_2,
+                            end_col=end_col_2,
+                            strand_col=strand_col_2,
+                            fix_strand=True )
+
+    out_file = open( out_fname, "w" )
+
+    try:
+        for line in concat( [g1, g2], sameformat=sameformat ):
+            if type( line ) is GenomicInterval:
+                out_file.write( "%s\n" % "\t".join( line.fields ) )
+            else:
+                out_file.write( "%s\n" % line )
+    except ParseError, 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" )
+    if g2.skipped > 0:
+        print skipped( g2, filedesc=" of 2nd dataset" )
+        
+if __name__ == "__main__":
+    main()
b
diff -r 000000000000 -r 8aa939ace6ba operation_filter.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/operation_filter.py Tue Apr 01 10:53:46 2014 -0400
[
@@ -0,0 +1,99 @@
+# runs after the job (and after the default post-filter)
+import os
+from galaxy import eggs
+from galaxy import jobs
+from galaxy.tools.parameters import DataToolParameter
+
+from galaxy.jobs.handler import JOB_ERROR
+
+# Older py compatibility
+try:
+    set()
+except:
+    from sets import Set as set
+
+#def exec_before_process(app, inp_data, out_data, param_dict, tool=None):
+#    """Sets the name of the data"""
+#    dbkeys = sets.Set( [data.dbkey for data in inp_data.values() ] ) 
+#    if len(dbkeys) != 1:
+#        raise Exception, '<p><font color="yellow">Both Queries must be from the same genome build</font></p>'
+
+def validate_input( trans, error_map, param_values, page_param_map ):
+    dbkeys = set()
+    data_param_names = set()
+    data_params = 0
+    for name, param in page_param_map.iteritems():
+        if isinstance( param, DataToolParameter ):
+            # for each dataset parameter
+            if param_values.get(name, None) != None:
+                dbkeys.add( param_values[name].dbkey )
+                data_params += 1
+                # check meta data
+                try:
+                    param = param_values[name]
+                    if isinstance( param.datatype, trans.app.datatypes_registry.get_datatype_by_extension( 'gff' ).__class__ ):
+                        # TODO: currently cannot validate GFF inputs b/c they are not derived from interval.
+                        pass
+                    else: # Validate interval datatype.
+                        startCol = int( param.metadata.startCol )
+                        endCol = int( param.metadata.endCol )
+                        chromCol = int( param.metadata.chromCol )
+                        if param.metadata.strandCol is not None:
+                            strandCol = int ( param.metadata.strandCol )
+                        else:
+                            strandCol = 0
+                except:
+                    error_msg = "The attributes of this dataset are not properly set. " + \
+                    "Click the pencil icon in the history item to set the chrom, start, end and strand columns."
+                    error_map[name] = error_msg
+            data_param_names.add( name )
+    if len( dbkeys ) > 1:
+        for name in data_param_names:
+            error_map[name] = "All datasets must belong to same genomic build, " \
+                "this dataset is linked to build '%s'" % param_values[name].dbkey
+    if data_params != len(data_param_names):
+        for name in data_param_names:
+            error_map[name] = "A dataset of the appropriate type is required"
+
+# Commented out by INS, 5/30/2007.  What is the PURPOSE of this?
+def exec_after_process(app, inp_data, out_data, param_dict, tool=None, stdout=None, stderr=None):
+    """Verify the output data after each run"""
+    items = out_data.items()
+
+    for name, data in items:
+        try:
+            if stderr and len( stderr ) > 0:
+                raise Exception( stderr )
+
+        except Exception, exc:
+            data.blurb = JOB_ERROR
+            data.state = JOB_ERROR
+
+## def exec_after_process(app, inp_data, out_data, param_dict, tool=None, stdout=None, stderr=None):
+##     pass
+
+
+def exec_after_merge(app, inp_data, out_data, param_dict, tool=None, stdout=None, stderr=None):
+    exec_after_process(
+        app, inp_data, out_data, param_dict, tool=tool, stdout=stdout, stderr=stderr)
+
+    # strip strand column if clusters were merged
+    items = out_data.items()
+    for name, data in items:
+        if param_dict['returntype'] == True:
+            data.metadata.chromCol = 1
+            data.metadata.startCol = 2
+            data.metadata.endCol = 3
+        # merge always clobbers strand
+        data.metadata.strandCol = None
+            
+
+def exec_after_cluster(app, inp_data, out_data, param_dict, tool=None, stdout=None, stderr=None):
+    exec_after_process(
+        app, inp_data, out_data, param_dict, tool=tool, stdout=stdout, stderr=stderr)
+
+    # strip strand column if clusters were merged
+    if param_dict["returntype"] == '1':
+        items = out_data.items()
+        for name, data in items:
+            data.metadata.strandCol = None
b
diff -r 000000000000 -r 8aa939ace6ba test-data/1.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1.bed Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,65 @@
+chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 -
+chr1 147984545 147984630 CCDS990.1_cds_0_0_chr1_147984546_f 0 +
+chr1 148078400 148078582 CCDS993.1_cds_0_0_chr1_148078401_r 0 -
+chr1 148185136 148185276 CCDS996.1_cds_0_0_chr1_148185137_f 0 +
+chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 0 -
+chr11 116124407 116124501 CCDS8374.1_cds_0_0_chr11_116124408_r 0 -
+chr11 116206508 116206563 CCDS8377.1_cds_0_0_chr11_116206509_f 0 +
+chr11 116211733 116212337 CCDS8378.1_cds_0_0_chr11_116211734_r 0 -
+chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 +
+chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_r 0 -
+chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 +
+chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_r 0 -
+chr15 41486872 41487060 CCDS10096.1_cds_0_0_chr15_41486873_r 0 -
+chr15 41673708 41673857 CCDS10097.1_cds_0_0_chr15_41673709_f 0 +
+chr15 41679161 41679250 CCDS10098.1_cds_0_0_chr15_41679162_r 0 -
+chr15 41826029 41826196 CCDS10101.1_cds_0_0_chr15_41826030_f 0 +
+chr16 142908 143003 CCDS10397.1_cds_0_0_chr16_142909_f 0 +
+chr16 179963 180135 CCDS10401.1_cds_0_0_chr16_179964_r 0 -
+chr16 244413 244681 CCDS10402.1_cds_0_0_chr16_244414_f 0 +
+chr16 259268 259383 CCDS10403.1_cds_0_0_chr16_259269_r 0 -
+chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_r 0 -
+chr18 59406881 59407046 CCDS11985.1_cds_0_0_chr18_59406882_f 0 +
+chr18 59455932 59456337 CCDS11986.1_cds_0_0_chr18_59455933_r 0 -
+chr18 59600586 59600754 CCDS11988.1_cds_0_0_chr18_59600587_f 0 +
+chr19 59068595 59069564 CCDS12866.1_cds_0_0_chr19_59068596_f 0 +
+chr19 59236026 59236146 CCDS12872.1_cds_0_0_chr19_59236027_r 0 -
+chr19 59297998 59298008 CCDS12877.1_cds_0_0_chr19_59297999_f 0 +
+chr19 59302168 59302288 CCDS12878.1_cds_0_0_chr19_59302169_r 0 -
+chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 +
+chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 -
+chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 +
+chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 -
+chr20 33330413 33330423 CCDS13249.1_cds_0_0_chr20_33330414_r 0 -
+chr20 33513606 33513792 CCDS13255.1_cds_0_0_chr20_33513607_f 0 +
+chr20 33579500 33579527 CCDS13256.1_cds_0_0_chr20_33579501_r 0 -
+chr20 33593260 33593348 CCDS13257.1_cds_0_0_chr20_33593261_f 0 +
+chr21 32707032 32707192 CCDS13614.1_cds_0_0_chr21_32707033_f 0 +
+chr21 32869641 32870022 CCDS13615.1_cds_0_0_chr21_32869642_r 0 -
+chr21 33321040 33322012 CCDS13620.1_cds_0_0_chr21_33321041_f 0 +
+chr21 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 -
+chr22 30120223 30120265 CCDS13897.1_cds_0_0_chr22_30120224_f 0 +
+chr22 30160419 30160661 CCDS13898.1_cds_0_0_chr22_30160420_r 0 -
+chr22 30665273 30665360 CCDS13901.1_cds_0_0_chr22_30665274_f 0 +
+chr22 30939054 30939266 CCDS13903.1_cds_0_0_chr22_30939055_r 0 -
+chr5 131424298 131424460 CCDS4149.1_cds_0_0_chr5_131424299_f 0 +
+chr5 131556601 131556672 CCDS4151.1_cds_0_0_chr5_131556602_r 0 -
+chr5 131621326 131621419 CCDS4152.1_cds_0_0_chr5_131621327_f 0 +
+chr5 131847541 131847666 CCDS4155.1_cds_0_0_chr5_131847542_r 0 -
+chr6 108299600 108299744 CCDS5061.1_cds_0_0_chr6_108299601_r 0 -
+chr6 108594662 108594687 CCDS5063.1_cds_0_0_chr6_108594663_f 0 +
+chr6 108640045 108640151 CCDS5064.1_cds_0_0_chr6_108640046_r 0 -
+chr6 108722976 108723115 CCDS5067.1_cds_0_0_chr6_108722977_f 0 +
+chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 0 +
+chr7 116512159 116512389 CCDS5771.1_cds_0_0_chr7_116512160_r 0 -
+chr7 116714099 116714152 CCDS5773.1_cds_0_0_chr7_116714100_f 0 +
+chr7 116945541 116945787 CCDS5774.1_cds_0_0_chr7_116945542_r 0 -
+chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 -
+chr9 128764156 128764189 CCDS6914.1_cds_0_0_chr9_128764157_f 0 +
+chr9 128787519 128789136 CCDS6915.1_cds_0_0_chr9_128787520_r 0 -
+chr9 128882427 128882523 CCDS6917.1_cds_0_0_chr9_128882428_f 0 +
+chr9 128937229 128937445 CCDS6919.1_cds_0_0_chr9_128937230_r 0 -
+chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 0 +
+chrX 152648964 152649196 CCDS14733.1_cds_0_0_chrX_152648965_r 0 -
+chrX 152691446 152691471 CCDS14735.1_cds_0_0_chrX_152691447_f 0 +
+chrX 152694029 152694263 CCDS14736.1_cds_0_0_chrX_152694030_r 0 -
b
diff -r 000000000000 -r 8aa939ace6ba test-data/1.interval
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1.interval Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,5 @@
+chr1 4348187 4348589 3.70 4.90 2.55 0.24 0.46
+chr1 4488177 4488442 4.03 5.77 1.92 -0.67 0.81
+chr1 4774091 4774440 8.07 8.33 7.82 0.85 -0.40
+chr1 4800122 4800409 6.40 7.35 5.44 1.19 -0.42
+chr1 4878925 4879277 2.18 0.28 4.93 -0.96 1.24
b
diff -r 000000000000 -r 8aa939ace6ba test-data/2.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/2.bed Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,68 @@
+chr1 147962192 147962580 NM_005997_cds_0_0_chr1_147962193_r 0 -
+chr1 147984545 147984630 BC007833_cds_0_0_chr1_147984546_f 0 +
+chr1 148078400 148078582 AJ011123_cds_0_0_chr1_148078401_r 0 -
+chr1 148185136 148185276 NM_002796_cds_0_0_chr1_148185137_f 0 +
+chr10 55251623 55253124 AY029205_cds_0_0_chr10_55251624_r 0 -
+chr11 116124407 116124501 AK057832_cds_0_0_chr11_116124408_r 0 -
+chr11 116206508 116206563 NM_000040_cds_1_0_chr11_116206509_f 0 +
+chr11 116211733 116212337 BC005380_cds_0_0_chr11_116211734_r 0 -
+chr11 130745911 130745993 AY358331_cds_0_0_chr11_130745912_f 0 +
+chr12 38440094 38440321 NM_052885_cds_0_0_chr12_38440095_r 0 -
+chr12 38905200 38905351 AY792511_cds_0_0_chr12_38905201_f 0 +
+chr13 112381694 112381953 NM_207440_cds_1_0_chr13_112381695_f 0 +
+chr13 29680676 29680875 NM_032116_cds_0_0_chr13_29680677_r 0 -
+chr14 98521864 98521922 U88895_cds_0_0_chr14_98521865_f 0 +
+chr14 98710240 98712285 NM_022898_cds_0_0_chr14_98710241_r 0 -
+chr15 41486872 41487060 BX537418_cds_0_0_chr15_41486873_r 0 -
+chr15 41673708 41673857 AK223365_cds_0_0_chr15_41673709_f 0 +
+chr15 41679161 41679250 NM_153700_cds_0_0_chr15_41679162_r 0 -
+chr15 41773540 41773689 AK223365_cds_0_0_chr15_41773541_f 0 +
+chr16 142908 143003 NM_005332_cds_0_0_chr16_142909_f 0 +
+chr16 179197 179339 BC065198_cds_0_0_chr16_179198_r 0 -
+chr16 244413 244681 AK057165_cds_2_0_chr16_244414_f 0 +
+chr16 259268 259383 AB016929_cds_0_0_chr16_259269_r 0 -
+chr18 23786114 23786321 NM_001792_cds_0_0_chr18_23786115_r 0 -
+chr18 59406881 59407046 NM_012397_cds_1_0_chr18_59406882_f 0 +
+chr18 59455932 59456337 AB046400_cds_0_0_chr18_59455933_r 0 -
+chr18 59528407 59528575 AY792326_cds_0_0_chr18_59528408_f 0 +
+chr19 59068595 59069564 BC013995_cds_1_0_chr19_59068596_f 0 +
+chr19 59236026 59236146 NM_198481_cds_0_0_chr19_59236027_r 0 -
+chr19 59297998 59298008 NM_004542_cds_0_0_chr19_59297999_f 0 +
+chr19 59318205 59318718 AK128544_cds_3_0_chr19_59318206_r 0 -
+chr2 118288583 118288668 NM_006773_cds_0_0_chr2_118288584_f 0 +
+chr2 118390395 118390500 BC005078_cds_0_0_chr2_118390396_r 0 -
+chr2 220108689 220109267 AY125465_cds_0_0_chr2_220108690_f 0 +
+chr2 220229609 220230869 NM_024536_cds_0_0_chr2_220229610_r 0 -
+chr20 33330413 33330423 NM_181466_cds_0_0_chr20_33330414_r 0 -
+chr20 33485370 33486123 BC085019_cds_1_0_chr20_33485371_f 0 +
+chr20 33488491 33489122 NM_000557_cds_1_0_chr20_33488492_r 0 -
+chr20 33513606 33513792 AF022655_cds_1_0_chr20_33513607_f 0 +
+chr21 32687402 32687588 NM_032910_cds_0_0_chr21_32687403_f 0 +
+chr21 32869641 32870022 NM_018277_cds_3_0_chr21_32869642_r 0 -
+chr21 33321040 33322012 NM_005806_cds_1_0_chr21_33321041_f 0 +
+chr21 33728358 33728724 AK129657_cds_0_0_chr21_33728359_r 0 -
+chr22 30120223 30120265 NM_004147_cds_0_0_chr22_30120224_f 0 +
+chr22 30160419 30160661 BC032941_cds_0_0_chr22_30160420_r 0 -
+chr22 30228824 30228916 NM_001007467_cds_1_0_chr22_30228825_f 0 +
+chr22 30340151 30340376 CR456540_cds_0_0_chr22_30340152_r 0 -
+chr5 131311206 131311254 AF099740_cds_11_0_chr5_131311207_r 0 -
+chr5 131424298 131424460 NM_000588_cds_0_0_chr5_131424299_f 0 +
+chr5 131556601 131556672 BC035813_cds_0_0_chr5_131556602_r 0 -
+chr5 131621326 131621419 BC003096_cds_0_0_chr5_131621327_f 0 +
+chr6 108299600 108299744 NM_007214_cds_0_0_chr6_108299601_r 0 -
+chr6 108594662 108594687 NM_003269_cds_0_0_chr6_108594663_f 0 +
+chr6 108640045 108640151 NM_003795_cds_0_0_chr6_108640046_r 0 -
+chr6 108722976 108723115 NM_145315_cds_0_0_chr6_108722977_f 0 +
+chr7 113660517 113660685 AF467257_cds_1_0_chr7_113660518_f 0 +
+chr7 116512159 116512389 NM_003391_cds_0_0_chr7_116512160_r 0 -
+chr7 116714099 116714152 NM_000492_cds_0_0_chr7_116714100_f 0 +
+chr7 116945541 116945787 AF377960_cds_0_0_chr7_116945542_r 0 -
+chr8 118881131 118881317 NM_000127_cds_0_0_chr8_118881132_r 0 -
+chr9 128764156 128764189 BC051300_cds_0_0_chr9_128764157_f 0 +
+chr9 128787519 128789136 NM_014908_cds_0_0_chr9_128787520_r 0 -
+chr9 128789552 128789584 NM_015354_cds_0_0_chr9_128789553_f 0 +
+chr9 128850516 128850624 AB058751_cds_0_0_chr9_128850517_r 0 -
+chrX 122745047 122745924 NM_001167_cds_1_0_chrX_122745048_f 0 +
+chrX 152648964 152649196 NM_000425_cds_0_0_chrX_152648965_r 0 -
+chrX 152691446 152691471 AF101728_cds_0_0_chrX_152691447_f 0 +
+chrX 152694029 152694263 BC052303_cds_0_0_chrX_152694030_r 0 -
b
diff -r 000000000000 -r 8aa939ace6ba test-data/gops_concat_out1.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gops_concat_out1.bed Tue Apr 01 10:53:46 2014 -0400
b
b'@@ -0,0 +1,133 @@\n+chr1\t147962192\t147962580\tCCDS989.1_cds_0_0_chr1_147962193_r\t0\t-\n+chr1\t147984545\t147984630\tCCDS990.1_cds_0_0_chr1_147984546_f\t0\t+\n+chr1\t148078400\t148078582\tCCDS993.1_cds_0_0_chr1_148078401_r\t0\t-\n+chr1\t148185136\t148185276\tCCDS996.1_cds_0_0_chr1_148185137_f\t0\t+\n+chr10\t55251623\t55253124\tCCDS7248.1_cds_0_0_chr10_55251624_r\t0\t-\n+chr11\t116124407\t116124501\tCCDS8374.1_cds_0_0_chr11_116124408_r\t0\t-\n+chr11\t116206508\t116206563\tCCDS8377.1_cds_0_0_chr11_116206509_f\t0\t+\n+chr11\t116211733\t116212337\tCCDS8378.1_cds_0_0_chr11_116211734_r\t0\t-\n+chr11\t1812377\t1812407\tCCDS7726.1_cds_0_0_chr11_1812378_f\t0\t+\n+chr12\t38440094\t38440321\tCCDS8736.1_cds_0_0_chr12_38440095_r\t0\t-\n+chr13\t112381694\t112381953\tCCDS9526.1_cds_0_0_chr13_112381695_f\t0\t+\n+chr14\t98710240\t98712285\tCCDS9949.1_cds_0_0_chr14_98710241_r\t0\t-\n+chr15\t41486872\t41487060\tCCDS10096.1_cds_0_0_chr15_41486873_r\t0\t-\n+chr15\t41673708\t41673857\tCCDS10097.1_cds_0_0_chr15_41673709_f\t0\t+\n+chr15\t41679161\t41679250\tCCDS10098.1_cds_0_0_chr15_41679162_r\t0\t-\n+chr15\t41826029\t41826196\tCCDS10101.1_cds_0_0_chr15_41826030_f\t0\t+\n+chr16\t142908\t143003\tCCDS10397.1_cds_0_0_chr16_142909_f\t0\t+\n+chr16\t179963\t180135\tCCDS10401.1_cds_0_0_chr16_179964_r\t0\t-\n+chr16\t244413\t244681\tCCDS10402.1_cds_0_0_chr16_244414_f\t0\t+\n+chr16\t259268\t259383\tCCDS10403.1_cds_0_0_chr16_259269_r\t0\t-\n+chr18\t23786114\t23786321\tCCDS11891.1_cds_0_0_chr18_23786115_r\t0\t-\n+chr18\t59406881\t59407046\tCCDS11985.1_cds_0_0_chr18_59406882_f\t0\t+\n+chr18\t59455932\t59456337\tCCDS11986.1_cds_0_0_chr18_59455933_r\t0\t-\n+chr18\t59600586\t59600754\tCCDS11988.1_cds_0_0_chr18_59600587_f\t0\t+\n+chr19\t59068595\t59069564\tCCDS12866.1_cds_0_0_chr19_59068596_f\t0\t+\n+chr19\t59236026\t59236146\tCCDS12872.1_cds_0_0_chr19_59236027_r\t0\t-\n+chr19\t59297998\t59298008\tCCDS12877.1_cds_0_0_chr19_59297999_f\t0\t+\n+chr19\t59302168\t59302288\tCCDS12878.1_cds_0_0_chr19_59302169_r\t0\t-\n+chr2\t118288583\t118288668\tCCDS2120.1_cds_0_0_chr2_118288584_f\t0\t+\n+chr2\t118394148\t118394202\tCCDS2121.1_cds_0_0_chr2_118394149_r\t0\t-\n+chr2\t220190202\t220190242\tCCDS2441.1_cds_0_0_chr2_220190203_f\t0\t+\n+chr2\t220229609\t220230869\tCCDS2443.1_cds_0_0_chr2_220229610_r\t0\t-\n+chr20\t33330413\t33330423\tCCDS13249.1_cds_0_0_chr20_33330414_r\t0\t-\n+chr20\t33513606\t33513792\tCCDS13255.1_cds_0_0_chr20_33513607_f\t0\t+\n+chr20\t33579500\t33579527\tCCDS13256.1_cds_0_0_chr20_33579501_r\t0\t-\n+chr20\t33593260\t33593348\tCCDS13257.1_cds_0_0_chr20_33593261_f\t0\t+\n+chr21\t32707032\t32707192\tCCDS13614.1_cds_0_0_chr21_32707033_f\t0\t+\n+chr21\t32869641\t32870022\tCCDS13615.1_cds_0_0_chr21_32869642_r\t0\t-\n+chr21\t33321040\t33322012\tCCDS13620.1_cds_0_0_chr21_33321041_f\t0\t+\n+chr21\t33744994\t33745040\tCCDS13625.1_cds_0_0_chr21_33744995_r\t0\t-\n+chr22\t30120223\t30120265\tCCDS13897.1_cds_0_0_chr22_30120224_f\t0\t+\n+chr22\t30160419\t30160661\tCCDS13898.1_cds_0_0_chr22_30160420_r\t0\t-\n+chr22\t30665273\t30665360\tCCDS13901.1_cds_0_0_chr22_30665274_f\t0\t+\n+chr22\t30939054\t30939266\tCCDS13903.1_cds_0_0_chr22_30939055_r\t0\t-\n+chr5\t131424298\t131424460\tCCDS4149.1_cds_0_0_chr5_131424299_f\t0\t+\n+chr5\t131556601\t131556672\tCCDS4151.1_cds_0_0_chr5_131556602_r\t0\t-\n+chr5\t131621326\t131621419\tCCDS4152.1_cds_0_0_chr5_131621327_f\t0\t+\n+chr5\t131847541\t131847666\tCCDS4155.1_cds_0_0_chr5_131847542_r\t0\t-\n+chr6\t108299600\t108299744\tCCDS5061.1_cds_0_0_chr6_108299601_r\t0\t-\n+chr6\t108594662\t108594687\tCCDS5063.1_cds_0_0_chr6_108594663_f\t0\t+\n+chr6\t108640045\t108640151\tCCDS5064.1_cds_0_0_chr6_108640046_r\t0\t-\n+chr6\t108722976\t108723115\tCCDS5067.1_cds_0_0_chr6_108722977_f\t0\t+\n+chr7\t113660517\t113660685\tCCDS5760.1_cds_0_0_chr7_113660518_f\t0\t+\n+chr7\t116512159\t116512389\tCCDS5771.1_cds_0_0_chr7_116512160_r\t0\t-\n+chr7\t116714099\t116714152\tCCDS5773.1_cds_0_0_chr7_116714100_f\t0\t+\n+chr7\t116945541\t116945787\tCCDS5774.1_cds_0_0_chr7_116945542_r\t0\t-\n+chr8\t118881131\t118881317\tCCDS6324.1_cds_0_0_chr8_118881132_r\t0\t-\n+chr9\t128764156\t128764189\tCCDS6914.1_cds_0_0_chr9_128764157_f\t0\t+\n+chr9\t128787519\t128789136\tCCDS6915.1_cds_0_0_chr9_128787520_r\t0\t-\n+chr9\t128882427\t128882523\tCCDS6917.1_cds_0_0_chr9_128882428_f\t0\t+\n+chr9\t128937229\t128937445\tCCDS6919.1_cds_0_0_chr'..b'124501\tAK057832_cds_0_0_chr11_116124408_r\t0\t-\n+chr11\t116206508\t116206563\tNM_000040_cds_1_0_chr11_116206509_f\t0\t+\n+chr11\t116211733\t116212337\tBC005380_cds_0_0_chr11_116211734_r\t0\t-\n+chr11\t130745911\t130745993\tAY358331_cds_0_0_chr11_130745912_f\t0\t+\n+chr12\t38440094\t38440321\tNM_052885_cds_0_0_chr12_38440095_r\t0\t-\n+chr12\t38905200\t38905351\tAY792511_cds_0_0_chr12_38905201_f\t0\t+\n+chr13\t112381694\t112381953\tNM_207440_cds_1_0_chr13_112381695_f\t0\t+\n+chr13\t29680676\t29680875\tNM_032116_cds_0_0_chr13_29680677_r\t0\t-\n+chr14\t98521864\t98521922\tU88895_cds_0_0_chr14_98521865_f\t0\t+\n+chr14\t98710240\t98712285\tNM_022898_cds_0_0_chr14_98710241_r\t0\t-\n+chr15\t41486872\t41487060\tBX537418_cds_0_0_chr15_41486873_r\t0\t-\n+chr15\t41673708\t41673857\tAK223365_cds_0_0_chr15_41673709_f\t0\t+\n+chr15\t41679161\t41679250\tNM_153700_cds_0_0_chr15_41679162_r\t0\t-\n+chr15\t41773540\t41773689\tAK223365_cds_0_0_chr15_41773541_f\t0\t+\n+chr16\t142908\t143003\tNM_005332_cds_0_0_chr16_142909_f\t0\t+\n+chr16\t179197\t179339\tBC065198_cds_0_0_chr16_179198_r\t0\t-\n+chr16\t244413\t244681\tAK057165_cds_2_0_chr16_244414_f\t0\t+\n+chr16\t259268\t259383\tAB016929_cds_0_0_chr16_259269_r\t0\t-\n+chr18\t23786114\t23786321\tNM_001792_cds_0_0_chr18_23786115_r\t0\t-\n+chr18\t59406881\t59407046\tNM_012397_cds_1_0_chr18_59406882_f\t0\t+\n+chr18\t59455932\t59456337\tAB046400_cds_0_0_chr18_59455933_r\t0\t-\n+chr18\t59528407\t59528575\tAY792326_cds_0_0_chr18_59528408_f\t0\t+\n+chr19\t59068595\t59069564\tBC013995_cds_1_0_chr19_59068596_f\t0\t+\n+chr19\t59236026\t59236146\tNM_198481_cds_0_0_chr19_59236027_r\t0\t-\n+chr19\t59297998\t59298008\tNM_004542_cds_0_0_chr19_59297999_f\t0\t+\n+chr19\t59318205\t59318718\tAK128544_cds_3_0_chr19_59318206_r\t0\t-\n+chr2\t118288583\t118288668\tNM_006773_cds_0_0_chr2_118288584_f\t0\t+\n+chr2\t118390395\t118390500\tBC005078_cds_0_0_chr2_118390396_r\t0\t-\n+chr2\t220108689\t220109267\tAY125465_cds_0_0_chr2_220108690_f\t0\t+\n+chr2\t220229609\t220230869\tNM_024536_cds_0_0_chr2_220229610_r\t0\t-\n+chr20\t33330413\t33330423\tNM_181466_cds_0_0_chr20_33330414_r\t0\t-\n+chr20\t33485370\t33486123\tBC085019_cds_1_0_chr20_33485371_f\t0\t+\n+chr20\t33488491\t33489122\tNM_000557_cds_1_0_chr20_33488492_r\t0\t-\n+chr20\t33513606\t33513792\tAF022655_cds_1_0_chr20_33513607_f\t0\t+\n+chr21\t32687402\t32687588\tNM_032910_cds_0_0_chr21_32687403_f\t0\t+\n+chr21\t32869641\t32870022\tNM_018277_cds_3_0_chr21_32869642_r\t0\t-\n+chr21\t33321040\t33322012\tNM_005806_cds_1_0_chr21_33321041_f\t0\t+\n+chr21\t33728358\t33728724\tAK129657_cds_0_0_chr21_33728359_r\t0\t-\n+chr22\t30120223\t30120265\tNM_004147_cds_0_0_chr22_30120224_f\t0\t+\n+chr22\t30160419\t30160661\tBC032941_cds_0_0_chr22_30160420_r\t0\t-\n+chr22\t30228824\t30228916\tNM_001007467_cds_1_0_chr22_30228825_f\t0\t+\n+chr22\t30340151\t30340376\tCR456540_cds_0_0_chr22_30340152_r\t0\t-\n+chr5\t131311206\t131311254\tAF099740_cds_11_0_chr5_131311207_r\t0\t-\n+chr5\t131424298\t131424460\tNM_000588_cds_0_0_chr5_131424299_f\t0\t+\n+chr5\t131556601\t131556672\tBC035813_cds_0_0_chr5_131556602_r\t0\t-\n+chr5\t131621326\t131621419\tBC003096_cds_0_0_chr5_131621327_f\t0\t+\n+chr6\t108299600\t108299744\tNM_007214_cds_0_0_chr6_108299601_r\t0\t-\n+chr6\t108594662\t108594687\tNM_003269_cds_0_0_chr6_108594663_f\t0\t+\n+chr6\t108640045\t108640151\tNM_003795_cds_0_0_chr6_108640046_r\t0\t-\n+chr6\t108722976\t108723115\tNM_145315_cds_0_0_chr6_108722977_f\t0\t+\n+chr7\t113660517\t113660685\tAF467257_cds_1_0_chr7_113660518_f\t0\t+\n+chr7\t116512159\t116512389\tNM_003391_cds_0_0_chr7_116512160_r\t0\t-\n+chr7\t116714099\t116714152\tNM_000492_cds_0_0_chr7_116714100_f\t0\t+\n+chr7\t116945541\t116945787\tAF377960_cds_0_0_chr7_116945542_r\t0\t-\n+chr8\t118881131\t118881317\tNM_000127_cds_0_0_chr8_118881132_r\t0\t-\n+chr9\t128764156\t128764189\tBC051300_cds_0_0_chr9_128764157_f\t0\t+\n+chr9\t128787519\t128789136\tNM_014908_cds_0_0_chr9_128787520_r\t0\t-\n+chr9\t128789552\t128789584\tNM_015354_cds_0_0_chr9_128789553_f\t0\t+\n+chr9\t128850516\t128850624\tAB058751_cds_0_0_chr9_128850517_r\t0\t-\n+chrX\t122745047\t122745924\tNM_001167_cds_1_0_chrX_122745048_f\t0\t+\n+chrX\t152648964\t152649196\tNM_000425_cds_0_0_chrX_152648965_r\t0\t-\n+chrX\t152691446\t152691471\tAF101728_cds_0_0_chrX_152691447_f\t0\t+\n+chrX\t152694029\t152694263\tBC052303_cds_0_0_chrX_152694030_r\t0\t-\n'
b
diff -r 000000000000 -r 8aa939ace6ba test-data/gops_concat_out2.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gops_concat_out2.bed Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,70 @@
+chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 -
+chr1 147984545 147984630 CCDS990.1_cds_0_0_chr1_147984546_f 0 +
+chr1 148078400 148078582 CCDS993.1_cds_0_0_chr1_148078401_r 0 -
+chr1 148185136 148185276 CCDS996.1_cds_0_0_chr1_148185137_f 0 +
+chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 0 -
+chr11 116124407 116124501 CCDS8374.1_cds_0_0_chr11_116124408_r 0 -
+chr11 116206508 116206563 CCDS8377.1_cds_0_0_chr11_116206509_f 0 +
+chr11 116211733 116212337 CCDS8378.1_cds_0_0_chr11_116211734_r 0 -
+chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 +
+chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_r 0 -
+chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 +
+chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_r 0 -
+chr15 41486872 41487060 CCDS10096.1_cds_0_0_chr15_41486873_r 0 -
+chr15 41673708 41673857 CCDS10097.1_cds_0_0_chr15_41673709_f 0 +
+chr15 41679161 41679250 CCDS10098.1_cds_0_0_chr15_41679162_r 0 -
+chr15 41826029 41826196 CCDS10101.1_cds_0_0_chr15_41826030_f 0 +
+chr16 142908 143003 CCDS10397.1_cds_0_0_chr16_142909_f 0 +
+chr16 179963 180135 CCDS10401.1_cds_0_0_chr16_179964_r 0 -
+chr16 244413 244681 CCDS10402.1_cds_0_0_chr16_244414_f 0 +
+chr16 259268 259383 CCDS10403.1_cds_0_0_chr16_259269_r 0 -
+chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_r 0 -
+chr18 59406881 59407046 CCDS11985.1_cds_0_0_chr18_59406882_f 0 +
+chr18 59455932 59456337 CCDS11986.1_cds_0_0_chr18_59455933_r 0 -
+chr18 59600586 59600754 CCDS11988.1_cds_0_0_chr18_59600587_f 0 +
+chr19 59068595 59069564 CCDS12866.1_cds_0_0_chr19_59068596_f 0 +
+chr19 59236026 59236146 CCDS12872.1_cds_0_0_chr19_59236027_r 0 -
+chr19 59297998 59298008 CCDS12877.1_cds_0_0_chr19_59297999_f 0 +
+chr19 59302168 59302288 CCDS12878.1_cds_0_0_chr19_59302169_r 0 -
+chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 +
+chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 -
+chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 +
+chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 -
+chr20 33330413 33330423 CCDS13249.1_cds_0_0_chr20_33330414_r 0 -
+chr20 33513606 33513792 CCDS13255.1_cds_0_0_chr20_33513607_f 0 +
+chr20 33579500 33579527 CCDS13256.1_cds_0_0_chr20_33579501_r 0 -
+chr20 33593260 33593348 CCDS13257.1_cds_0_0_chr20_33593261_f 0 +
+chr21 32707032 32707192 CCDS13614.1_cds_0_0_chr21_32707033_f 0 +
+chr21 32869641 32870022 CCDS13615.1_cds_0_0_chr21_32869642_r 0 -
+chr21 33321040 33322012 CCDS13620.1_cds_0_0_chr21_33321041_f 0 +
+chr21 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 -
+chr22 30120223 30120265 CCDS13897.1_cds_0_0_chr22_30120224_f 0 +
+chr22 30160419 30160661 CCDS13898.1_cds_0_0_chr22_30160420_r 0 -
+chr22 30665273 30665360 CCDS13901.1_cds_0_0_chr22_30665274_f 0 +
+chr22 30939054 30939266 CCDS13903.1_cds_0_0_chr22_30939055_r 0 -
+chr5 131424298 131424460 CCDS4149.1_cds_0_0_chr5_131424299_f 0 +
+chr5 131556601 131556672 CCDS4151.1_cds_0_0_chr5_131556602_r 0 -
+chr5 131621326 131621419 CCDS4152.1_cds_0_0_chr5_131621327_f 0 +
+chr5 131847541 131847666 CCDS4155.1_cds_0_0_chr5_131847542_r 0 -
+chr6 108299600 108299744 CCDS5061.1_cds_0_0_chr6_108299601_r 0 -
+chr6 108594662 108594687 CCDS5063.1_cds_0_0_chr6_108594663_f 0 +
+chr6 108640045 108640151 CCDS5064.1_cds_0_0_chr6_108640046_r 0 -
+chr6 108722976 108723115 CCDS5067.1_cds_0_0_chr6_108722977_f 0 +
+chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 0 +
+chr7 116512159 116512389 CCDS5771.1_cds_0_0_chr7_116512160_r 0 -
+chr7 116714099 116714152 CCDS5773.1_cds_0_0_chr7_116714100_f 0 +
+chr7 116945541 116945787 CCDS5774.1_cds_0_0_chr7_116945542_r 0 -
+chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 -
+chr9 128764156 128764189 CCDS6914.1_cds_0_0_chr9_128764157_f 0 +
+chr9 128787519 128789136 CCDS6915.1_cds_0_0_chr9_128787520_r 0 -
+chr9 128882427 128882523 CCDS6917.1_cds_0_0_chr9_128882428_f 0 +
+chr9 128937229 128937445 CCDS6919.1_cds_0_0_chr9_128937230_r 0 -
+chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 0 +
+chrX 152648964 152649196 CCDS14733.1_cds_0_0_chrX_152648965_r 0 -
+chrX 152691446 152691471 CCDS14735.1_cds_0_0_chrX_152691447_f 0 +
+chrX 152694029 152694263 CCDS14736.1_cds_0_0_chrX_152694030_r 0 -
+chr1 4348187 4348589 . . +
+chr1 4488177 4488442 . . +
+chr1 4774091 4774440 . . +
+chr1 4800122 4800409 . . +
+chr1 4878925 4879277 . . +
b
diff -r 000000000000 -r 8aa939ace6ba tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Tue Apr 01 10:53:46 2014 -0400
b
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<tool_dependency>
+  <package name="bx-python" version="0.7.1">
+      <repository changeset_revision="41eb9d9f667d" name="package_bx_python_0_7" owner="devteam" prior_installation_required="False" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="galaxy-ops" version="1.0.0">
+      <repository changeset_revision="4e39032e4ec6" name="package_galaxy_ops_1_0_0" owner="devteam" prior_installation_required="False" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>