Mercurial > repos > devteam > join
comparison gops_join.py @ 4:a10f49d9218a draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tool_collections/gops/join commit cae3e05d02e60f595bb8b6d77a84f030e9bd1689
| author | devteam |
|---|---|
| date | Thu, 22 Jun 2017 18:52:36 -0400 |
| parents | ffbd1de29c28 |
| children |
comparison
equal
deleted
inserted
replaced
| 3:ffbd1de29c28 | 4:a10f49d9218a |
|---|---|
| 6 -1, --cols1=N,N,N,N: Columns for start, end, strand in first file | 6 -1, --cols1=N,N,N,N: Columns for start, end, strand in first file |
| 7 -2, --cols2=N,N,N,N: Columns for start, end, strand in second file | 7 -2, --cols2=N,N,N,N: Columns for start, end, strand in second file |
| 8 -m, --mincols=N: Require this much overlap (default 1bp) | 8 -m, --mincols=N: Require this much overlap (default 1bp) |
| 9 -f, --fill=N: none, right, left, both | 9 -f, --fill=N: none, right, left, both |
| 10 """ | 10 """ |
| 11 from __future__ import print_function | |
| 12 | |
| 11 import fileinput | 13 import fileinput |
| 12 import sys | 14 import sys |
| 15 | |
| 16 from bx.cookbook import doc_optparse | |
| 13 from bx.intervals.io import NiceReaderWrapper | 17 from bx.intervals.io import NiceReaderWrapper |
| 14 from bx.intervals.operations.join import join | 18 from bx.intervals.operations.join import join |
| 15 from bx.cookbook import doc_optparse | |
| 16 from bx.tabular.io import ParseError | 19 from bx.tabular.io import ParseError |
| 17 from galaxy.tools.util.galaxyops import fail, parse_cols_arg, skipped | 20 from galaxy.tools.util.galaxyops import fail, parse_cols_arg, skipped |
| 18 | 21 |
| 19 assert sys.version_info[:2] >= ( 2, 4 ) | 22 assert sys.version_info[:2] >= ( 2, 4 ) |
| 20 | 23 |
| 59 for outfields in join(g1, g2, mincols=mincols, rightfill=rightfill, leftfill=leftfill): | 62 for outfields in join(g1, g2, mincols=mincols, rightfill=rightfill, leftfill=leftfill): |
| 60 if type( outfields ) is list: | 63 if type( outfields ) is list: |
| 61 out_file.write( "%s\n" % "\t".join( outfields ) ) | 64 out_file.write( "%s\n" % "\t".join( outfields ) ) |
| 62 else: | 65 else: |
| 63 out_file.write( "%s\n" % outfields ) | 66 out_file.write( "%s\n" % outfields ) |
| 64 except ParseError, exc: | 67 except ParseError as exc: |
| 65 out_file.close() | 68 out_file.close() |
| 66 fail( "Invalid file format: %s" % str( exc ) ) | 69 fail( "Invalid file format: %s" % str( exc ) ) |
| 67 except MemoryError: | 70 except MemoryError: |
| 68 out_file.close() | 71 out_file.close() |
| 69 fail( "Input datasets were too large to complete the join operation." ) | 72 fail( "Input datasets were too large to complete the join operation." ) |
| 70 | 73 |
| 71 out_file.close() | 74 out_file.close() |
| 72 | 75 |
| 73 if g1.skipped > 0: | 76 if g1.skipped > 0: |
| 74 print skipped( g1, filedesc=" of 1st dataset" ) | 77 print(skipped( g1, filedesc=" of 1st dataset" )) |
| 75 if g2.skipped > 0: | 78 if g2.skipped > 0: |
| 76 print skipped( g2, filedesc=" of 2nd dataset" ) | 79 print(skipped( g2, filedesc=" of 2nd dataset" )) |
| 80 | |
| 77 | 81 |
| 78 if __name__ == "__main__": | 82 if __name__ == "__main__": |
| 79 main() | 83 main() |
