# HG changeset patch # User bgruening # Date 1420647052 18000 # Node ID 56e80527c482399c456378a7bfcdc1bb4391fcba # Parent 7068d15482349fe0f1f8ec28ac65ff40b8fefb4c Uploaded diff -r 7068d1548234 -r 56e80527c482 awk.xml --- a/awk.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/awk.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,10 +1,23 @@ - + with awk - + + macros.xml + + gnu_awk - + + awk --version | head -n 1 - awk --sandbox -v FS=\$'\t' -v OFS=\$'\t' --re-interval -f '$awk_script' '$input' > '$output' + "$output" +]]> @@ -15,26 +28,25 @@ - - + + + + $url_paste + + + + + + + - - - - - - - - - - $url_paste - - - + + + diff -r 7068d1548234 -r 56e80527c482 cut.xml --- a/cut.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/cut.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,162 +1,179 @@ - + columns from a table - - gnu_coreutils - + + macros.xml + + + cut --version | head -n 1 - cut - #if str($delimiter) != '': - -d"${delimiter}" - #end if - ${complement} ${cut_element} '${list}' '${input}' > '${output}' + '${output}' +]]> - - + - - - - - - - - + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - @@ -180,9 +197,8 @@ - - + diff -r 7068d1548234 -r 56e80527c482 easyjoin --- a/easyjoin Sun Oct 06 08:22:36 2013 -0400 +++ b/easyjoin Wed Jan 07 11:10:52 2015 -0500 @@ -224,7 +224,7 @@ my ($input_filename, $output_filename, $key_column) = @_; my @SORT_COMMAND; - push @SORT_COMMAND, $HEADER ? "sort-header" : "sort" ; + push @SORT_COMMAND, $HEADER ? "./sort-header" : "sort" ; push @SORT_COMMAND, "-f" if $IGNORE_CASE; push @SORT_COMMAND, "-k${key_column},${key_column}" ; push @SORT_COMMAND, "--buffer-size", $SORT_BUFFER_SIZE if $SORT_BUFFER_SIZE; diff -r 7068d1548234 -r 56e80527c482 easyjoin.xml --- a/easyjoin.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/easyjoin.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,41 +1,51 @@ - - - gnu_coreutils - + two files - easyjoin $jointype - -t ' ' - $header - -e '$empty_string_filler' - -o auto - $ignore_case - -1 '$column1' - -2 '$column2' - "$input1" "$input2" - > '$output' + + macros.xml + + + TP_SCRIPT_PATH + + join --version | head -n 1 + + '$output' +]]> + + + - - - - - - + + - - - - - - + + + + + + - - - - + + @@ -43,13 +53,23 @@ - - - - - - - + + + + + + + + + + + + + + + + + +@REFERENCES@ +]]> + diff -r 7068d1548234 -r 56e80527c482 find_and_replace.xml --- a/find_and_replace.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/find_and_replace.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,30 +1,34 @@ - + parts of text + + macros.xml + + - - + + - - + @@ -32,40 +36,59 @@ - + - + - + - + - + - - + - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + - +@REFERENCES@ +]]> + diff -r 7068d1548234 -r 56e80527c482 grep.xml --- a/grep.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/grep.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,21 +1,42 @@ - + (grep) - - gnu_coreutils + + macros.xml + + gnu_grep TP_SCRIPT_PATH - + + grep --version | head -n 1 + "${output}" + GREP_COLOR='1;34' + grep + --color=always + -P + -A $lines_after + -B $lines_before + $invert + $case_sensitive + -- "${url_paste}" + '${infile}' | \$TP_SCRIPT_PATH/ansi2html.sh > "${output}" #else: - grep -P "$@" -- "${url_paste}" '${input}' | grep -v "^--$" > "${output}" + grep + -P + -A $lines_after + -B $lines_before + $invert + $case_sensitive + -- "${url_paste}" + '${infile}' | grep -v "^--$" > "${output}" #end if - ##grep_wrapper.sh '$input' '$output' '$url_paste' $color -A $lines_after -B $lines_before $invert $case_sensitive + ##grep_wrapper.sh '$infile' '$output' '$url_paste' $color -A $lines_after -B $lines_before $invert $case_sensitive +]]> - + @@ -30,55 +51,54 @@ - + - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + +@REFERENCES@ +]]> + diff -r 7068d1548234 -r 56e80527c482 head.xml --- a/head.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/head.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,29 +1,28 @@ - + lines from a dataset (head) - - gnu_coreutils - + + macros.xml + + + head --version | head -n 1 - head --lines $complement$count '${infile}' > '${outfile}' + '${outfile}' +]]> - - - + - - - - - - - - + - @@ -31,11 +30,11 @@ - + - + diff -r 7068d1548234 -r 56e80527c482 macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,37 @@ + + + + gnu_coreutils + + + + 1.0 + + + + + + + + + + + +`_ + +Assaf Gordon (gordon cshl dot edu) +]]> + + + + + + + diff -r 7068d1548234 -r 56e80527c482 multijoin.xml --- a/multijoin.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/multijoin.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,49 +1,64 @@ - - (combine multiple files) - multijoin + + (combine multiple files) + + macros.xml + + + perl + text_processing_perl_packages + + + + > '$outfile' +]]> + + + + - + - - - - - - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +@REFERENCES@ +]]> + diff -r 7068d1548234 -r 56e80527c482 readme.rst --- a/readme.rst Sun Oct 06 08:22:36 2013 -0400 +++ b/readme.rst Wed Jan 07 11:10:52 2015 -0500 @@ -2,7 +2,9 @@ ===================================================== The initial work was done by Assaf Gordon and Greg Hannon's lab ( http://hannonlab.cshl.edu ) -in Cold Spring Harbor Laboratory ( http://www.cshl.edu ). +in Cold Spring Harbor Laboratory ( http://www.cshl.edu ). In late 2013 maintainence and +further development was taken over by Bjoern Gruening. Feel free to contribute any general purpose +text manipulation tool to this repository. Tools: @@ -33,7 +35,7 @@ Requirements ------------ -1. Coreutils vesion 8.19 or later. +1. Coreutils vesion 8.22 or later. 2. AWK version 4.0.1 or later. 3. SED version 4.2 *with* a special patch 4. Grep with PCRE support @@ -82,9 +84,7 @@ TODO ---- -- unit-tests -- uniqu will get a new --group funciton with the 8.22 release, its currently commended out -- also shuf will get a major improved performance with large files http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commit;h=20d7bce0f7e57d9a98f0ee811e31c757e9fedfff +- add shuf we can remove the random feature from sort and use shuf instead - move some advanced settings under a conditional, for example the cut tools offers to cut bytes - cut wrapper has some output conditional magic for interval files, that needs to be checked @@ -97,7 +97,7 @@ ------- * Copyright (c) 2009-2013 A. Gordon (gordon cshl dot edu) -* Copyright (c) 2013 B. Gruening (bjoern dot gruening gmail dot com) +* Copyright (c) 2013-2015 B. Gruening (bjoern dot gruening gmail dot com) Permission is hereby granted, free of charge, to any person obtaining diff -r 7068d1548234 -r 56e80527c482 remove_ending.xml --- a/remove_ending.xml Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ - - of a file - - gnu_coreutils - - tail -n -$num_lines $infile $outfile - - - - - - - - - - - - - - - - -**What it does** - -This tool removes specified number of lines from the ending of a dataset - ------ - -**Example** - -Input File:: - - chr7 56632 56652 D17003_CTCF_R6 310 + - chr7 56736 56756 D17003_CTCF_R7 354 + - chr7 56761 56781 D17003_CTCF_R4 220 + - chr7 56772 56792 D17003_CTCF_R7 372 + - chr7 56775 56795 D17003_CTCF_R4 207 + - -After removing the last 2 lines the dataset will look like this:: - - chr7 56632 56652 D17003_CTCF_R6 310 + - chr7 56736 56756 D17003_CTCF_R7 354 + - chr7 56761 56781 D17003_CTCF_R4 220 + - - - diff -r 7068d1548234 -r 56e80527c482 replace_text_in_column.xml --- a/replace_text_in_column.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/replace_text_in_column.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,16 +1,27 @@ - + in a specific column - + + macros.xml + + gnu_awk - + + awk --version | head -n 1 - #adapt to awk's quirks - to pass an acutal backslash - two backslashes are required (just like in a C string) + "$output" +]]> - - + + @@ -19,7 +30,6 @@ - @@ -27,22 +37,21 @@ - + + + - + + + + - - - - - - - + diff -r 7068d1548234 -r 56e80527c482 replace_text_in_line.xml --- a/replace_text_in_line.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/replace_text_in_line.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,16 +1,24 @@ - + in entire line - + + macros.xml + + gnu_sed - - + + sed --version | head -n 1 - sed -r --sandbox "s/$find_pattern/$replace_pattern/g" "$input" > "$output" + "$output" +]]> - - @@ -18,7 +26,6 @@ - @@ -26,21 +33,20 @@ - - - - - - - - - + + + + + + + + - + diff -r 7068d1548234 -r 56e80527c482 sed.xml --- a/sed.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/sed.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,19 +1,27 @@ - - with sed - + + with sed + + macros.xml + + gnu_sed - + + sed --version | head -n 1 - sed --sandbox -r - - #if $adv_opts.adv_opts_selector == 'advanced': - $adv_opts.silent - #end if - -f '$sed_script' '$input' > '$output' + '$output' +]]> - - + @@ -21,7 +29,6 @@ - @@ -35,32 +42,31 @@ - - + - + $url_paste - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff -r 7068d1548234 -r 56e80527c482 sort-header --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sort-header Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,281 @@ +#!/usr/bin/env perl +## +## Sort-header - wrapper for GNU sort with header-line support +## +## Copyright(C) A. Gordon +## license AGPLv3+ +## +use strict; +use warnings; +use Data::Dumper; +use IO::Handle; +use Getopt::Long qw(:config bundling no_ignore_case_always); + +## Forward declarations +sub add_standard_sort_param(@); +sub add_standard_sort_param_value(@); +sub forbidden_sort_param(@); +sub show_help(); +sub show_version(); +sub show_examples(); +sub parse_commandline_options(); +sub reassign_input_output(); +sub process_header_lines(); +sub run_sort(); +sub read_line_non_buffered(); + + +## +## Runtime options +## +my $PROGRAM="sort-header"; +my $VERSION=0.4; + +my $check_only=undef; +my $input_file=undef; +my $output_file=undef; +my $field_separator=undef; +my $header_lines =1 ; +my $debug=undef; +my $sort_exit_code=1; #by default, assume some error + +my @sort_options; + +## +## Program Start +## +parse_commandline_options(); +reassign_input_output(); +process_header_lines(); +run_sort(); +exit($sort_exit_code); +## +## Program End +## + +sub show_examples() +{ +print< ${PROGRAM} can only sort one file, not merge multiple files. + -c -C --check => Currently not supported + --files0-from => Currently not supported + -z --zero-terminated => Currently not supported + +INPUT-FILE: + If INPUT-FILE is not specified, $PROGRAM will use STDIN (just like GNU sort). + +EOF + exit(0); +} + +sub show_version() +{ +print< \&add_standard_sort_param, + "dictionary-order|d" => \&add_standard_sort_param, + "ignore-case|f" => \&add_standard_sort_param, + "general-numeric-sort|g" => \&add_standard_sort_param, + "ignore-nonprinting|i" => \&add_standard_sort_param, + "month-sort|M" => \&add_standard_sort_param, + "human-numeric-sort|h" => \&add_standard_sort_param, + "numeric-sort|n" => \&add_standard_sort_param, + "random-source=s" => \&add_standard_sort_param_value, + "random-sort|R" => \&add_standard_sort_param, + "reverse|r" => \&add_standard_sort_param, + "sort=s" => \&add_standard_sort_param_value, + "version-sort|V" => \&add_standard_sort_param, + + "check|c" => \&forbidden_sort_param, + "C" => \&forbidden_sort_param, + "compress-program=s" => \&add_standard_sort_param_value, + "debug" => \&add_standard_sort_param, + + "files0-from=s" => \&forbidden_sort_param, + + "key|k=s" => \&add_standard_sort_param_value, + "merge|m" => \&forbidden_sort_param, + "batch-size=i" => \&forbidden_sort_param, + + "parallel=i" => \&add_standard_sort_param_value, + + "output|o=s" => \$output_file, + + "stable|s" => \&add_standard_sort_param, + "buffer-size|S=s" => \&add_standard_sort_param_value, + + "field-separator|t=s" => \&add_standard_sort_param_value, + "temporary-directory|T=s" => \&add_standard_sort_param_value, + "unique|u" => \&add_standard_sort_param, + + "zero-terminated|z" => \&forbidden_sort_param, + + "help" => \&show_help, + "version" => \&show_version, + "examples" => \&show_examples, + + "header=i" => \$header_lines, + "debugheader" => \$debug, + ); + + exit 1 unless $rc; + + my @INPUT_FILES = @ARGV; + + die "$PROGRAM: error: invalid number of header lines ($header_lines)\n" unless $header_lines>=0; + die "$PROGRAM: error: Multiple input files specified. This program can sort only a signle file.\n" if (scalar(@INPUT_FILES)>1); + $input_file = shift @INPUT_FILES if scalar(@INPUT_FILES)==1; + + if ($debug) { + warn "$PROGRAM: number of header lines = $header_lines\n"; + warn "$PROGRAM: PASS-to-Sort options:\n", Dumper(\@sort_options), "\n"; + } +} + +sub reassign_input_output() +{ + if ($output_file) { + warn "$PROGRAM: Re-assigning STDOUT to '$output_file'\n" if $debug; + open OUTPUT, '>', $output_file or die "$PROGRAM: Error: failed to create output file '$output_file': $!\n"; + STDOUT->fdopen(\*OUTPUT, 'w') or die "$PROGRAM: Error: failed to reassign STDOUT to '$output_file': $!\n"; + } + + + if ($input_file) { + warn "$PROGRAM: Re-assigning STDIN to '$input_file'\n" if $debug; + open INPUT, '<', $input_file or die "$PROGRAM: Error: failed to open input file '$input_file': $!\n"; + STDIN->fdopen(\*INPUT, 'r') or die "$PROGRAM: Error: failed to reassign STDIN to '$input_file': $!\n"; + } +} + +sub process_header_lines() +{ + warn "$PROGRAM: Reading $header_lines header lines...\n" if $debug; + for (my $i=0; $i<$header_lines; $i++) { + my $line = read_line_non_buffered(); + exit unless defined $line; + print $line; + } +} + +sub run_sort() +{ + warn "$PROGRAM: Running GNU sort...\n" if $debug; + system('sort', @sort_options); + if ($? == -1) { + die "$PROGRAM: Error: failed to execute 'sort': $!\n"; + } + elsif ($? & 127) { + my $signal = ($? & 127); + kill 2, $$ if $signal == 2; ##if sort was interrupted (CTRL-C) - just pass it on and commit suicide + die "$PROGRAM: Error: 'sort' child-process died with signal $signal\n"; + } + else { + $sort_exit_code = ($? >> 8); + } +} + + +sub add_standard_sort_param(@) +{ + my ($obj)= @_; + add_standard_sort_param_value($obj, undef); +} + +sub add_standard_sort_param_value(@) +{ + my ($obj,$value)= @_; + + my $option = "" . $obj ; #stringify the optino object, get the option name. + + if (length($option)==1) { + $option = "-" . $option ; + } else { + $option = "--" . $option ; + } + push @sort_options, $option ; + push @sort_options, $value if $value; +} + +sub forbidden_sort_param(@) +{ + my ($obj,$value)= @_; + my $option = "" . $obj ; #stringify the optino object, get the option name. + + die "$PROGRAM: Error: option '$option' can not be used with this program. If you must use it, run GNU sort directly. see --help for more details.\n"; +} + +sub read_line_non_buffered() +{ + my $line = ''; + while ( 1 ) { + my $c; + my $rc = sysread STDIN, $c, 1; + die "$PROGRAM: STDIN Read error: $!" unless defined $rc; + return $line if $rc==0 && $line; + return undef if $rc==0 && (!$line); + $line .= $c ; + return $line if ( $c eq "\n"); + } +} + diff -r 7068d1548234 -r 56e80527c482 sort.xml --- a/sort.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/sort.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,32 +1,32 @@ - + data in ascending or descending order - - gnu_coreutils + + macros.xml + + gnu_sed - - - #if int($header) > 0: - (sed -u '${header}'q && sort $unique $ignore_case --stable -t ' ' - - #for $key in $sortkeys - '-k ${key.column}${key.order}${key.style},${key.column}' - #end for + + sort --version | head -n 1 + + 0: + sed -u '${header}'q && + #end if - ) < '${infile}' > '${outfile}' - #else: - (sort $unique $ignore_case --stable -t ' ' + sort $unique $ignore_case --stable -t ' ' - #for $key in $sortkeys - '-k ${key.column}${key.order}${key.style},${key.column}' - #end for + #for $key in $sortkeys: + -k '${key.column}${key.order}${key.style},${key.column}' + #end for - ) < '${infile}' > '${outfile}' - #end if + ) < '${infile}' > '${outfile}' +]]> - - - + + @@ -37,56 +37,67 @@ - - - + + + - + - - + label="Output unique values" help="Print only unique values, based on sorted key columns. See help section for details. (--unique)" /> + - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + - - - - + + + + + + - + diff -r 7068d1548234 -r 56e80527c482 sort_rows.xml --- a/sort_rows.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/sort_rows.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,26 +1,37 @@ - - according to their columns - python -c 'for line in ["\t".join(sorted(line.strip().split("\t"))) for line in open("$input").readlines() ]: print line' > $outfile - - - - - - - - - - - - + + according to their columns + + macros.xml + + + $outfile +]]> + + + + + + + + + + + + + + + +Convert* **What it does** That tool sorts each row in a TAB separated file, according to their columns. In other words: It is a sorted reordering of all columns. - - +@REFERENCES@ +]]> + diff -r 7068d1548234 -r 56e80527c482 sorted_uniq.xml --- a/sorted_uniq.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/sorted_uniq.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,53 +1,95 @@ - + assuming sorted input file - - gnu_coreutils + + macros.xml + + gnu_sed - + + uniq --version | head -n 1 - uniq - -f - $skipfields - $count - $repeated - $ignorecase - $uniqueonly - $input - - ## feature is not yet released, it will be in the next 8.22 version - ##--group=$group - - #if $count: - # count will print the count with spaces infrontof the line and - # with a space (not a tab) after the number, we need to cahnge that - | sed -e 's/ *//' -e 's/ /\t/' > $output + "$outfile" +]]> - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + diff -r 7068d1548234 -r 56e80527c482 tac.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tac.xml Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,84 @@ + + reverse a file (reverse cat) + + macros.xml + + + tac --version | head -n 1 + + "$outfile" +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 7068d1548234 -r 56e80527c482 tail.xml --- a/tail.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/tail.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,29 +1,45 @@ - + lines from a dataset (tail) - - gnu_coreutils - + + macros.xml + + + tail --version | head -n 1 - tail --lines $count '$input' > '$output' + '$outfile' +]]> - - - + + + + + + - - + - - + + + + + + + + - + diff -r 7068d1548234 -r 56e80527c482 test-data/easyjoin1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/easyjoin1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,5 @@ +Fruit Color +Apple red +Banana yellow +Orange orange +Melon green diff -r 7068d1548234 -r 56e80527c482 test-data/easyjoin2.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/easyjoin2.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,5 @@ +Fruit Price +Orange 7 +Avocado 8 +Apple 4 +Banana 3 diff -r 7068d1548234 -r 56e80527c482 test-data/easyjoin_result1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/easyjoin_result1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,6 @@ +Fruit Color Price +Apple red 4 +Avocado 0 8 +Banana yellow 3 +Melon green 0 +Orange orange 7 diff -r 7068d1548234 -r 56e80527c482 test-data/eq-showbeginning.dat --- a/test-data/eq-showbeginning.dat Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -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 - diff -r 7068d1548234 -r 56e80527c482 test-data/eq-showtail.dat --- a/test-data/eq-showtail.dat Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,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 - diff -r 7068d1548234 -r 56e80527c482 test-data/find_and_replace1.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/find_and_replace1.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,5 @@ +I have a dream that one day this nation will rise up, and live out the true meaning of its creed: ‘We hold these truths to be self-evident: that all men are created equal.’ +I have a dream that one day on the red hills of Georgia the sons of former slaves and the sons of former slave owners will be able to sit down together at a table of brotherhood. +I have a dream that one day even the state of Mississippi, a state sweltering with the heat of injustice and sweltering with the heat of oppression, will be transformed into an oasis of freedom and justice. +I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. +I have a dream today! diff -r 7068d1548234 -r 56e80527c482 test-data/find_and_replace2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/find_and_replace2.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,3 @@ +1 foo chr1 gene +2 bar chr2 luther +3 baz chrMT gene1 diff -r 7068d1548234 -r 56e80527c482 test-data/find_and_replace_results1.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/find_and_replace_results1.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,5 @@ +I have a dream that one great day this nation will rise up, and live out the true meaning of its creed: ‘We hold these truths to be self-evident: that all men are created equal.’ +I have a dream that one great day on the red hills of Georgia the sons of former slaves and the sons of former slave owners will be able to sit down together at a table of brotherhood. +I have a dream that one great day even the state of Mississippi, a state sweltering with the heat of injustice and sweltering with the heat of oppression, will be transformed into an oasis of freedom and justice. +I have a dream that my four little children will one great day live in a nation where they will not be judged by the color of their skin but by the content of their character. +I have a dream today! diff -r 7068d1548234 -r 56e80527c482 test-data/find_and_replace_results2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/find_and_replace_results2.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,3 @@ +1 foo 1 gene +2 bar 2 luther +3 baz MT gene1 diff -r 7068d1548234 -r 56e80527c482 test-data/head_results1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/head_results1.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,10 @@ +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 - diff -r 7068d1548234 -r 56e80527c482 test-data/multijoin1.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/multijoin1.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,9 @@ +chr4 888449 890171 FBtr0308778 0 + 266 1527 1722 +chr4 972167 979017 FBtr0310651 0 - 3944 6428 6850 +chr4 972186 979017 FBtr0089229 0 - 3944 6428 6831 +chr4 972186 979017 FBtr0089231 0 - 3944 6428 6831 +chr4 972186 979017 FBtr0089233 0 - 3944 6428 6831 +chr4 995793 996435 FBtr0111046 0 + 7 166 642 +chr4 995793 997931 FBtr0111044 0 + 28 683 2138 +chr4 995793 997931 FBtr0111045 0 + 28 683 2138 +chr4 1034029 1047719 FBtr0089223 0 - 5293 13394 13690 diff -r 7068d1548234 -r 56e80527c482 test-data/multijoin2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/multijoin2.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,9 @@ +chr4 90286 134453 FBtr0309803 0 + 657 29084 44167 +chr4 251355 266499 FBtr0089116 0 + 56 1296 15144 +chr4 252050 266506 FBtr0308086 0 + 56 1296 14456 +chr4 252050 266506 FBtr0308087 0 + 56 1296 14456 +chr4 252053 266528 FBtr0300796 0 + 56 1296 14475 +chr4 252053 266528 FBtr0300800 0 + 56 1296 14475 +chr4 252055 266528 FBtr0300798 0 + 56 1296 14473 +chr4 252055 266528 FBtr0300799 0 + 56 1296 14473 +chr4 252541 266528 FBtr0300797 0 + 56 1296 13987 diff -r 7068d1548234 -r 56e80527c482 test-data/multijoin3.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/multijoin3.txt Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,8 @@ +chr4 972167 979017 FBtr0310651 0 - 9927 6738 6850 +chr4 972186 979017 FBtr0089229 0 - 9927 6738 6831 +chr4 972186 979017 FBtr0089231 0 - 9927 6738 6831 +chr4 972186 979017 FBtr0089233 0 - 9927 6738 6831 +chr4 995793 996435 FBtr0111046 0 + 5 304 642 +chr4 995793 997931 FBtr0111044 0 + 17 714 2138 +chr4 995793 997931 FBtr0111045 0 + 17 714 2138 +chr4 1034029 1047719 FBtr0089223 0 - 17646 13536 13690 diff -r 7068d1548234 -r 56e80527c482 test-data/sort_out1.bed --- a/test-data/sort_out1.bed Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -# comment 1 \n\n''" again -# comment 2 **}"''' special -# comment 3 @n/n""" characters -chr1 148185113 148187485 NM_002796 0 + 148185136 148187378 0 7 163,207,147,82,117,89,120, 0,416,877,1199,1674,1977,2252, -chr1 148077485 148111797 NM_002651 0 - 148078400 148111728 0 12 1097,121,133,266,124,105,110,228,228,45,937,77, 0,2081,2472,6871,9907,10257,11604,14199,15637,18274,23636,34235, -chr1 147984101 148035079 BC007833 0 + 147984545 148033414 0 14 529,32,81,131,118,153,300,206,84,49,85,130,46,1668, 0,25695,28767,33118,33695,33998,35644,38005,39629,40577,41402,43885,48367,49310, -chr1 147962006 147975713 NM_005997 0 - 147962192 147975670 0 6 574,145,177,115,153,160, 0,1543,7859,9048,9340,13547, -chr2 220229182 220233943 NM_024536 0 - 220229609 220233765 0 4 1687,180,574,492, 0,1990,2660,4269, -chr2 220108603 220116964 NM_001927 0 + 220108689 220116217 0 9 664,61,96,162,126,221,44,83,789, 0,1718,1874,2118,2451,2963,5400,7286,7572, -chr2 118389378 118390700 BC005078 0 - 118390395 118390500 0 1 1322, 0, -chr2 118288484 118306183 NM_006773 0 + 118288583 118304530 0 14 184,285,144,136,101,200,115,140,162,153,114,57,178,1796, 0,2765,4970,6482,6971,7183,7468,9890,10261,10768,11590,14270,14610,15903, -chr5 131621285 131637046 NM_003687 0 + 131621326 131635821 0 7 134,152,82,179,164,118,1430, 0,4915,8770,13221,13609,14097,14331, -chr5 131556201 131590458 NM_004199 0 - 131556601 131582218 0 15 471,97,69,66,54,100,71,177,194,240,138,152,97,100,170, 0,2316,2802,5596,6269,11138,11472,15098,16528,17674,21306,24587,25142,25935,34087, -chr5 131424245 131426795 NM_000588 0 + 131424298 131426383 0 5 215,42,90,42,535, 0,313,1658,1872,2015, -chr5 131170738 131357870 AF099740 0 - 131311206 131357817 0 31 112,124,120,81,65,40,120,129,61,88,94,79,72,102,144,117,89,73,96,135,135,78,74,52,33,179,100,102,65,115,248, 0,11593,44117,47607,104668,109739,114675,126366,135488,137518,138009,140437,152389,153373,155388,159269,160793,162981,164403,165577,166119,167611,169501,178260,179675,180901,181658,182260,182953,183706,186884, -chr6 108722790 108950942 NM_145315 0 + 108722976 108950321 0 13 325,224,52,102,131,100,59,83,71,101,141,114,750, 0,28931,52094,60760,61796,71339,107102,152319,181970,182297,215317,224802,227402, -chr6 108639410 108689143 NM_152827 0 - 108640045 108688818 0 3 741,125,487, 0,2984,49246, -chr6 108593954 108616704 NM_003269 0 + 108594662 108615360 0 9 733,146,88,236,147,97,150,106,1507, 0,5400,8778,10445,12037,14265,14749,15488,21243, -chr6 108298214 108386086 NM_007214 0 - 108299600 108385906 0 21 1530,105,99,102,159,174,60,83,148,155,93,133,95,109,51,59,62,113,115,100,304, 0,2490,6246,10831,12670,23164,23520,27331,31052,32526,34311,36130,36365,38609,41028,42398,43048,51479,54500,59097,87568, -chr7 116944658 117107512 AF377960 0 - 116945541 116979926 0 23 1129,102,133,64,186,206,179,188,153,100,87,80,96,276,118,255,151,100,204,1654,225,108,173, 0,7364,8850,10413,13893,14398,17435,24259,24615,35177,35359,45901,47221,49781,56405,66857,69787,72208,73597,80474,100111,150555,162681, -chr7 116713967 116902666 NM_000492 0 + 116714099 116901113 0 27 185,111,109,216,90,164,126,247,93,183,192,95,87,724,129,38,251,80,151,228,101,249,156,90,173,106,1754, 0,24290,29071,50936,54313,55285,56585,60137,62053,68678,79501,107776,110390,111971,114967,122863,123569,126711,130556,131618,134650,147559,162475,172879,184725,185496,186945, -chr7 116511232 116557294 NM_003391 0 - 116512159 116556994 0 5 1157,265,278,227,383, 0,20384,37843,43339,45679, -chr7 113320332 113924911 AK131266 0 + 113862563 113893433 0 20 285,91,178,90,58,75,138,51,201,178,214,105,88,84,77,102,122,70,164,1124, 0,201692,340175,448290,451999,484480,542213,543265,543478,545201,556083,558358,565876,567599,573029,573245,575738,577123,577946,603455, -chr8 118880786 119193239 NM_000127 0 - 118881131 119192466 0 11 531,172,161,90,96,119,133,120,108,94,1735, 0,5355,7850,13505,19068,20309,23098,30863,36077,37741,310718, -chr9 128849867 128870133 NM_020145 0 - 128850516 128869987 0 11 757,241,101,90,24,63,93,134,129,142,209, 0,1071,1736,2085,2635,4201,6376,6736,13056,14247,20057, -chr9 128789530 128848928 NM_015354 0 + 128789552 128848511 0 44 54,55,74,85,81,45,93,120,212,115,201,90,66,120,127,153,127,88,77,115,121,67,129,140,107,207,170,70,68,196,78,86,146,182,201,93,159,138,75,228,132,74,130,594, 0,1491,5075,8652,9254,10312,11104,11317,20808,21702,23060,25462,31564,32908,33566,34851,35204,35595,35776,37202,38860,39111,39891,40349,42422,45499,45827,46675,47158,47621,50453,50840,51474,51926,53831,54186,55119,55619,57449,57605,57947,58352,58541,58804, -chr9 128787362 128789566 NM_014908 0 - 128787519 128789136 0 1 2204, 0, -chr9 128763240 128783870 NM_174933 0 + 128764156 128783586 0 12 261,118,74,159,76,48,56,63,129,117,127,370, 0,522,875,5630,12374,12603,15040,15175,18961,19191,20037,20260, -chrX 152693677 152712545 NM_001666 0 - 152694029 152712503 0 22 586,100,93,184,74,234,106,135,78,61,103,28,85,192,102,222,129,183,63,163,205,109, 0,1693,2066,2364,2635,2794,3129,3323,3545,3752,5323,5647,5841,6032,6401,11455,11778,13249,13719,13987,14227,18759, -chrX 152691216 152693487 NM_000054 0 + 152691446 152693029 0 3 255,885,664, 0,616,1607, -chrX 152648233 152662158 NM_000425 0 - 152648964 152662138 0 28 963,12,73,135,156,120,174,123,202,116,223,71,198,111,125,157,167,112,144,132,185,112,171,123,203,106,11,100, 0,1436,1545,1951,2390,2653,2889,3156,3367,3772,4717,5122,5424,5868,6066,6370,6629,6909,7588,7871,8124,8456,8858,9125,10220,10660,11296,13825, -chrX 122719582 122773357 NM_001167 0 + 122745047 122766566 0 7 96,909,100,79,43,201,6985, 0,25433,28421,31040,32533,40295,46790, diff -r 7068d1548234 -r 56e80527c482 test-data/sort_out2.bed --- a/test-data/sort_out2.bed Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -# comment 1 \n\n''" again -# comment 2 **}"''' special -# comment 3 @n/n""" characters -chr1 147962006 147975713 NM_005997 0 - 147962192 147975670 0 6 574,145,177,115,153,160, 0,1543,7859,9048,9340,13547, -chr1 147984101 148035079 BC007833 0 + 147984545 148033414 0 14 529,32,81,131,118,153,300,206,84,49,85,130,46,1668, 0,25695,28767,33118,33695,33998,35644,38005,39629,40577,41402,43885,48367,49310, -chr1 148077485 148111797 NM_002651 0 - 148078400 148111728 0 12 1097,121,133,266,124,105,110,228,228,45,937,77, 0,2081,2472,6871,9907,10257,11604,14199,15637,18274,23636,34235, -chr1 148185113 148187485 NM_002796 0 + 148185136 148187378 0 7 163,207,147,82,117,89,120, 0,416,877,1199,1674,1977,2252, -chr2 118288484 118306183 NM_006773 0 + 118288583 118304530 0 14 184,285,144,136,101,200,115,140,162,153,114,57,178,1796, 0,2765,4970,6482,6971,7183,7468,9890,10261,10768,11590,14270,14610,15903, -chr2 118389378 118390700 BC005078 0 - 118390395 118390500 0 1 1322, 0, -chr2 220108603 220116964 NM_001927 0 + 220108689 220116217 0 9 664,61,96,162,126,221,44,83,789, 0,1718,1874,2118,2451,2963,5400,7286,7572, -chr2 220229182 220233943 NM_024536 0 - 220229609 220233765 0 4 1687,180,574,492, 0,1990,2660,4269, -chr5 131170738 131357870 AF099740 0 - 131311206 131357817 0 31 112,124,120,81,65,40,120,129,61,88,94,79,72,102,144,117,89,73,96,135,135,78,74,52,33,179,100,102,65,115,248, 0,11593,44117,47607,104668,109739,114675,126366,135488,137518,138009,140437,152389,153373,155388,159269,160793,162981,164403,165577,166119,167611,169501,178260,179675,180901,181658,182260,182953,183706,186884, -chr5 131424245 131426795 NM_000588 0 + 131424298 131426383 0 5 215,42,90,42,535, 0,313,1658,1872,2015, -chr5 131556201 131590458 NM_004199 0 - 131556601 131582218 0 15 471,97,69,66,54,100,71,177,194,240,138,152,97,100,170, 0,2316,2802,5596,6269,11138,11472,15098,16528,17674,21306,24587,25142,25935,34087, -chr5 131621285 131637046 NM_003687 0 + 131621326 131635821 0 7 134,152,82,179,164,118,1430, 0,4915,8770,13221,13609,14097,14331, -chr6 108298214 108386086 NM_007214 0 - 108299600 108385906 0 21 1530,105,99,102,159,174,60,83,148,155,93,133,95,109,51,59,62,113,115,100,304, 0,2490,6246,10831,12670,23164,23520,27331,31052,32526,34311,36130,36365,38609,41028,42398,43048,51479,54500,59097,87568, -chr6 108593954 108616704 NM_003269 0 + 108594662 108615360 0 9 733,146,88,236,147,97,150,106,1507, 0,5400,8778,10445,12037,14265,14749,15488,21243, -chr6 108639410 108689143 NM_152827 0 - 108640045 108688818 0 3 741,125,487, 0,2984,49246, -chr6 108722790 108950942 NM_145315 0 + 108722976 108950321 0 13 325,224,52,102,131,100,59,83,71,101,141,114,750, 0,28931,52094,60760,61796,71339,107102,152319,181970,182297,215317,224802,227402, -chr7 113320332 113924911 AK131266 0 + 113862563 113893433 0 20 285,91,178,90,58,75,138,51,201,178,214,105,88,84,77,102,122,70,164,1124, 0,201692,340175,448290,451999,484480,542213,543265,543478,545201,556083,558358,565876,567599,573029,573245,575738,577123,577946,603455, -chr7 116511232 116557294 NM_003391 0 - 116512159 116556994 0 5 1157,265,278,227,383, 0,20384,37843,43339,45679, -chr7 116713967 116902666 NM_000492 0 + 116714099 116901113 0 27 185,111,109,216,90,164,126,247,93,183,192,95,87,724,129,38,251,80,151,228,101,249,156,90,173,106,1754, 0,24290,29071,50936,54313,55285,56585,60137,62053,68678,79501,107776,110390,111971,114967,122863,123569,126711,130556,131618,134650,147559,162475,172879,184725,185496,186945, -chr7 116944658 117107512 AF377960 0 - 116945541 116979926 0 23 1129,102,133,64,186,206,179,188,153,100,87,80,96,276,118,255,151,100,204,1654,225,108,173, 0,7364,8850,10413,13893,14398,17435,24259,24615,35177,35359,45901,47221,49781,56405,66857,69787,72208,73597,80474,100111,150555,162681, -chr8 118880786 119193239 NM_000127 0 - 118881131 119192466 0 11 531,172,161,90,96,119,133,120,108,94,1735, 0,5355,7850,13505,19068,20309,23098,30863,36077,37741,310718, -chr9 128763240 128783870 NM_174933 0 + 128764156 128783586 0 12 261,118,74,159,76,48,56,63,129,117,127,370, 0,522,875,5630,12374,12603,15040,15175,18961,19191,20037,20260, -chr9 128787362 128789566 NM_014908 0 - 128787519 128789136 0 1 2204, 0, -chr9 128789530 128848928 NM_015354 0 + 128789552 128848511 0 44 54,55,74,85,81,45,93,120,212,115,201,90,66,120,127,153,127,88,77,115,121,67,129,140,107,207,170,70,68,196,78,86,146,182,201,93,159,138,75,228,132,74,130,594, 0,1491,5075,8652,9254,10312,11104,11317,20808,21702,23060,25462,31564,32908,33566,34851,35204,35595,35776,37202,38860,39111,39891,40349,42422,45499,45827,46675,47158,47621,50453,50840,51474,51926,53831,54186,55119,55619,57449,57605,57947,58352,58541,58804, -chr9 128849867 128870133 NM_020145 0 - 128850516 128869987 0 11 757,241,101,90,24,63,93,134,129,142,209, 0,1071,1736,2085,2635,4201,6376,6736,13056,14247,20057, -chrX 122719582 122773357 NM_001167 0 + 122745047 122766566 0 7 96,909,100,79,43,201,6985, 0,25433,28421,31040,32533,40295,46790, -chrX 152648233 152662158 NM_000425 0 - 152648964 152662138 0 28 963,12,73,135,156,120,174,123,202,116,223,71,198,111,125,157,167,112,144,132,185,112,171,123,203,106,11,100, 0,1436,1545,1951,2390,2653,2889,3156,3367,3772,4717,5122,5424,5868,6066,6370,6629,6909,7588,7871,8124,8456,8858,9125,10220,10660,11296,13825, -chrX 152691216 152693487 NM_000054 0 + 152691446 152693029 0 3 255,885,664, 0,616,1607, -chrX 152693677 152712545 NM_001666 0 - 152694029 152712503 0 22 586,100,93,184,74,234,106,135,78,61,103,28,85,192,102,222,129,183,63,163,205,109, 0,1693,2066,2364,2635,2794,3129,3323,3545,3752,5323,5647,5841,6032,6401,11455,11778,13249,13719,13987,14227,18759, diff -r 7068d1548234 -r 56e80527c482 test-data/sort_out3.bed --- a/test-data/sort_out3.bed Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -chr1 300 400 feature4 1.1e-05 + -chr20 800 900 feature2 1.1 + -chr10 100 200 feature1 100.01 + -chr21 300 500 feature5 1.1e2 + -chr2 500 600 feature3 1000.1 + -chr15 700 800 feature6 1.1e4 + diff -r 7068d1548234 -r 56e80527c482 test-data/sort_result1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sort_result1.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,32 @@ +# comment 1 \n\n''" again +# comment 2 **}"''' special +# comment 3 @n/n""" characters +chr1 148185113 148187485 NM_002796 0 + 148185136 148187378 0 7 163,207,147,82,117,89,120, 0,416,877,1199,1674,1977,2252, +chr1 148077485 148111797 NM_002651 0 - 148078400 148111728 0 12 1097,121,133,266,124,105,110,228,228,45,937,77, 0,2081,2472,6871,9907,10257,11604,14199,15637,18274,23636,34235, +chr1 147984101 148035079 BC007833 0 + 147984545 148033414 0 14 529,32,81,131,118,153,300,206,84,49,85,130,46,1668, 0,25695,28767,33118,33695,33998,35644,38005,39629,40577,41402,43885,48367,49310, +chr1 147962006 147975713 NM_005997 0 - 147962192 147975670 0 6 574,145,177,115,153,160, 0,1543,7859,9048,9340,13547, +chr2 220229182 220233943 NM_024536 0 - 220229609 220233765 0 4 1687,180,574,492, 0,1990,2660,4269, +chr2 220108603 220116964 NM_001927 0 + 220108689 220116217 0 9 664,61,96,162,126,221,44,83,789, 0,1718,1874,2118,2451,2963,5400,7286,7572, +chr2 118389378 118390700 BC005078 0 - 118390395 118390500 0 1 1322, 0, +chr2 118288484 118306183 NM_006773 0 + 118288583 118304530 0 14 184,285,144,136,101,200,115,140,162,153,114,57,178,1796, 0,2765,4970,6482,6971,7183,7468,9890,10261,10768,11590,14270,14610,15903, +chr5 131621285 131637046 NM_003687 0 + 131621326 131635821 0 7 134,152,82,179,164,118,1430, 0,4915,8770,13221,13609,14097,14331, +chr5 131556201 131590458 NM_004199 0 - 131556601 131582218 0 15 471,97,69,66,54,100,71,177,194,240,138,152,97,100,170, 0,2316,2802,5596,6269,11138,11472,15098,16528,17674,21306,24587,25142,25935,34087, +chr5 131424245 131426795 NM_000588 0 + 131424298 131426383 0 5 215,42,90,42,535, 0,313,1658,1872,2015, +chr5 131170738 131357870 AF099740 0 - 131311206 131357817 0 31 112,124,120,81,65,40,120,129,61,88,94,79,72,102,144,117,89,73,96,135,135,78,74,52,33,179,100,102,65,115,248, 0,11593,44117,47607,104668,109739,114675,126366,135488,137518,138009,140437,152389,153373,155388,159269,160793,162981,164403,165577,166119,167611,169501,178260,179675,180901,181658,182260,182953,183706,186884, +chr6 108722790 108950942 NM_145315 0 + 108722976 108950321 0 13 325,224,52,102,131,100,59,83,71,101,141,114,750, 0,28931,52094,60760,61796,71339,107102,152319,181970,182297,215317,224802,227402, +chr6 108639410 108689143 NM_152827 0 - 108640045 108688818 0 3 741,125,487, 0,2984,49246, +chr6 108593954 108616704 NM_003269 0 + 108594662 108615360 0 9 733,146,88,236,147,97,150,106,1507, 0,5400,8778,10445,12037,14265,14749,15488,21243, +chr6 108298214 108386086 NM_007214 0 - 108299600 108385906 0 21 1530,105,99,102,159,174,60,83,148,155,93,133,95,109,51,59,62,113,115,100,304, 0,2490,6246,10831,12670,23164,23520,27331,31052,32526,34311,36130,36365,38609,41028,42398,43048,51479,54500,59097,87568, +chr7 116944658 117107512 AF377960 0 - 116945541 116979926 0 23 1129,102,133,64,186,206,179,188,153,100,87,80,96,276,118,255,151,100,204,1654,225,108,173, 0,7364,8850,10413,13893,14398,17435,24259,24615,35177,35359,45901,47221,49781,56405,66857,69787,72208,73597,80474,100111,150555,162681, +chr7 116713967 116902666 NM_000492 0 + 116714099 116901113 0 27 185,111,109,216,90,164,126,247,93,183,192,95,87,724,129,38,251,80,151,228,101,249,156,90,173,106,1754, 0,24290,29071,50936,54313,55285,56585,60137,62053,68678,79501,107776,110390,111971,114967,122863,123569,126711,130556,131618,134650,147559,162475,172879,184725,185496,186945, +chr7 116511232 116557294 NM_003391 0 - 116512159 116556994 0 5 1157,265,278,227,383, 0,20384,37843,43339,45679, +chr7 113320332 113924911 AK131266 0 + 113862563 113893433 0 20 285,91,178,90,58,75,138,51,201,178,214,105,88,84,77,102,122,70,164,1124, 0,201692,340175,448290,451999,484480,542213,543265,543478,545201,556083,558358,565876,567599,573029,573245,575738,577123,577946,603455, +chr8 118880786 119193239 NM_000127 0 - 118881131 119192466 0 11 531,172,161,90,96,119,133,120,108,94,1735, 0,5355,7850,13505,19068,20309,23098,30863,36077,37741,310718, +chr9 128849867 128870133 NM_020145 0 - 128850516 128869987 0 11 757,241,101,90,24,63,93,134,129,142,209, 0,1071,1736,2085,2635,4201,6376,6736,13056,14247,20057, +chr9 128789530 128848928 NM_015354 0 + 128789552 128848511 0 44 54,55,74,85,81,45,93,120,212,115,201,90,66,120,127,153,127,88,77,115,121,67,129,140,107,207,170,70,68,196,78,86,146,182,201,93,159,138,75,228,132,74,130,594, 0,1491,5075,8652,9254,10312,11104,11317,20808,21702,23060,25462,31564,32908,33566,34851,35204,35595,35776,37202,38860,39111,39891,40349,42422,45499,45827,46675,47158,47621,50453,50840,51474,51926,53831,54186,55119,55619,57449,57605,57947,58352,58541,58804, +chr9 128787362 128789566 NM_014908 0 - 128787519 128789136 0 1 2204, 0, +chr9 128763240 128783870 NM_174933 0 + 128764156 128783586 0 12 261,118,74,159,76,48,56,63,129,117,127,370, 0,522,875,5630,12374,12603,15040,15175,18961,19191,20037,20260, +chrX 152693677 152712545 NM_001666 0 - 152694029 152712503 0 22 586,100,93,184,74,234,106,135,78,61,103,28,85,192,102,222,129,183,63,163,205,109, 0,1693,2066,2364,2635,2794,3129,3323,3545,3752,5323,5647,5841,6032,6401,11455,11778,13249,13719,13987,14227,18759, +chrX 152691216 152693487 NM_000054 0 + 152691446 152693029 0 3 255,885,664, 0,616,1607, +chrX 152648233 152662158 NM_000425 0 - 152648964 152662138 0 28 963,12,73,135,156,120,174,123,202,116,223,71,198,111,125,157,167,112,144,132,185,112,171,123,203,106,11,100, 0,1436,1545,1951,2390,2653,2889,3156,3367,3772,4717,5122,5424,5868,6066,6370,6629,6909,7588,7871,8124,8456,8858,9125,10220,10660,11296,13825, +chrX 122719582 122773357 NM_001167 0 + 122745047 122766566 0 7 96,909,100,79,43,201,6985, 0,25433,28421,31040,32533,40295,46790, diff -r 7068d1548234 -r 56e80527c482 test-data/sort_result2.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sort_result2.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,32 @@ +# comment 1 \n\n''" again +# comment 2 **}"''' special +# comment 3 @n/n""" characters +chr1 147962006 147975713 NM_005997 0 - 147962192 147975670 0 6 574,145,177,115,153,160, 0,1543,7859,9048,9340,13547, +chr1 147984101 148035079 BC007833 0 + 147984545 148033414 0 14 529,32,81,131,118,153,300,206,84,49,85,130,46,1668, 0,25695,28767,33118,33695,33998,35644,38005,39629,40577,41402,43885,48367,49310, +chr1 148077485 148111797 NM_002651 0 - 148078400 148111728 0 12 1097,121,133,266,124,105,110,228,228,45,937,77, 0,2081,2472,6871,9907,10257,11604,14199,15637,18274,23636,34235, +chr1 148185113 148187485 NM_002796 0 + 148185136 148187378 0 7 163,207,147,82,117,89,120, 0,416,877,1199,1674,1977,2252, +chr2 118288484 118306183 NM_006773 0 + 118288583 118304530 0 14 184,285,144,136,101,200,115,140,162,153,114,57,178,1796, 0,2765,4970,6482,6971,7183,7468,9890,10261,10768,11590,14270,14610,15903, +chr2 118389378 118390700 BC005078 0 - 118390395 118390500 0 1 1322, 0, +chr2 220108603 220116964 NM_001927 0 + 220108689 220116217 0 9 664,61,96,162,126,221,44,83,789, 0,1718,1874,2118,2451,2963,5400,7286,7572, +chr2 220229182 220233943 NM_024536 0 - 220229609 220233765 0 4 1687,180,574,492, 0,1990,2660,4269, +chr5 131170738 131357870 AF099740 0 - 131311206 131357817 0 31 112,124,120,81,65,40,120,129,61,88,94,79,72,102,144,117,89,73,96,135,135,78,74,52,33,179,100,102,65,115,248, 0,11593,44117,47607,104668,109739,114675,126366,135488,137518,138009,140437,152389,153373,155388,159269,160793,162981,164403,165577,166119,167611,169501,178260,179675,180901,181658,182260,182953,183706,186884, +chr5 131424245 131426795 NM_000588 0 + 131424298 131426383 0 5 215,42,90,42,535, 0,313,1658,1872,2015, +chr5 131556201 131590458 NM_004199 0 - 131556601 131582218 0 15 471,97,69,66,54,100,71,177,194,240,138,152,97,100,170, 0,2316,2802,5596,6269,11138,11472,15098,16528,17674,21306,24587,25142,25935,34087, +chr5 131621285 131637046 NM_003687 0 + 131621326 131635821 0 7 134,152,82,179,164,118,1430, 0,4915,8770,13221,13609,14097,14331, +chr6 108298214 108386086 NM_007214 0 - 108299600 108385906 0 21 1530,105,99,102,159,174,60,83,148,155,93,133,95,109,51,59,62,113,115,100,304, 0,2490,6246,10831,12670,23164,23520,27331,31052,32526,34311,36130,36365,38609,41028,42398,43048,51479,54500,59097,87568, +chr6 108593954 108616704 NM_003269 0 + 108594662 108615360 0 9 733,146,88,236,147,97,150,106,1507, 0,5400,8778,10445,12037,14265,14749,15488,21243, +chr6 108639410 108689143 NM_152827 0 - 108640045 108688818 0 3 741,125,487, 0,2984,49246, +chr6 108722790 108950942 NM_145315 0 + 108722976 108950321 0 13 325,224,52,102,131,100,59,83,71,101,141,114,750, 0,28931,52094,60760,61796,71339,107102,152319,181970,182297,215317,224802,227402, +chr7 113320332 113924911 AK131266 0 + 113862563 113893433 0 20 285,91,178,90,58,75,138,51,201,178,214,105,88,84,77,102,122,70,164,1124, 0,201692,340175,448290,451999,484480,542213,543265,543478,545201,556083,558358,565876,567599,573029,573245,575738,577123,577946,603455, +chr7 116511232 116557294 NM_003391 0 - 116512159 116556994 0 5 1157,265,278,227,383, 0,20384,37843,43339,45679, +chr7 116713967 116902666 NM_000492 0 + 116714099 116901113 0 27 185,111,109,216,90,164,126,247,93,183,192,95,87,724,129,38,251,80,151,228,101,249,156,90,173,106,1754, 0,24290,29071,50936,54313,55285,56585,60137,62053,68678,79501,107776,110390,111971,114967,122863,123569,126711,130556,131618,134650,147559,162475,172879,184725,185496,186945, +chr7 116944658 117107512 AF377960 0 - 116945541 116979926 0 23 1129,102,133,64,186,206,179,188,153,100,87,80,96,276,118,255,151,100,204,1654,225,108,173, 0,7364,8850,10413,13893,14398,17435,24259,24615,35177,35359,45901,47221,49781,56405,66857,69787,72208,73597,80474,100111,150555,162681, +chr8 118880786 119193239 NM_000127 0 - 118881131 119192466 0 11 531,172,161,90,96,119,133,120,108,94,1735, 0,5355,7850,13505,19068,20309,23098,30863,36077,37741,310718, +chr9 128763240 128783870 NM_174933 0 + 128764156 128783586 0 12 261,118,74,159,76,48,56,63,129,117,127,370, 0,522,875,5630,12374,12603,15040,15175,18961,19191,20037,20260, +chr9 128787362 128789566 NM_014908 0 - 128787519 128789136 0 1 2204, 0, +chr9 128789530 128848928 NM_015354 0 + 128789552 128848511 0 44 54,55,74,85,81,45,93,120,212,115,201,90,66,120,127,153,127,88,77,115,121,67,129,140,107,207,170,70,68,196,78,86,146,182,201,93,159,138,75,228,132,74,130,594, 0,1491,5075,8652,9254,10312,11104,11317,20808,21702,23060,25462,31564,32908,33566,34851,35204,35595,35776,37202,38860,39111,39891,40349,42422,45499,45827,46675,47158,47621,50453,50840,51474,51926,53831,54186,55119,55619,57449,57605,57947,58352,58541,58804, +chr9 128849867 128870133 NM_020145 0 - 128850516 128869987 0 11 757,241,101,90,24,63,93,134,129,142,209, 0,1071,1736,2085,2635,4201,6376,6736,13056,14247,20057, +chrX 122719582 122773357 NM_001167 0 + 122745047 122766566 0 7 96,909,100,79,43,201,6985, 0,25433,28421,31040,32533,40295,46790, +chrX 152648233 152662158 NM_000425 0 - 152648964 152662138 0 28 963,12,73,135,156,120,174,123,202,116,223,71,198,111,125,157,167,112,144,132,185,112,171,123,203,106,11,100, 0,1436,1545,1951,2390,2653,2889,3156,3367,3772,4717,5122,5424,5868,6066,6370,6629,6909,7588,7871,8124,8456,8858,9125,10220,10660,11296,13825, +chrX 152691216 152693487 NM_000054 0 + 152691446 152693029 0 3 255,885,664, 0,616,1607, +chrX 152693677 152712545 NM_001666 0 - 152694029 152712503 0 22 586,100,93,184,74,234,106,135,78,61,103,28,85,192,102,222,129,183,63,163,205,109, 0,1693,2066,2364,2635,2794,3129,3323,3545,3752,5323,5647,5841,6032,6401,11455,11778,13249,13719,13987,14227,18759, diff -r 7068d1548234 -r 56e80527c482 test-data/sort_result3.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sort_result3.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,6 @@ +chr20 800 900 feature2 1.1 + +chr1 300 400 feature4 1.1e-05 + +chr21 300 500 feature5 1.1e2 + +chr15 700 800 feature6 1.1e4 + +chr10 100 200 feature1 100.01 + +chr2 500 600 feature3 1000.1 + diff -r 7068d1548234 -r 56e80527c482 test-data/sort_rows1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sort_rows1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,4 @@ +a b c d e f +f e d c b a +7 6 5 4 3 2 +1 2 3 4 5 6 diff -r 7068d1548234 -r 56e80527c482 test-data/sort_rows_results1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sort_rows_results1.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,4 @@ +a b c d e f +a b c d e f +2 3 4 5 6 7 +1 2 3 4 5 6 diff -r 7068d1548234 -r 56e80527c482 test-data/sorted_uniq1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sorted_uniq1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,8 @@ +a +A +b +b +B +c +d +e diff -r 7068d1548234 -r 56e80527c482 test-data/sorted_uniq_results1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sorted_uniq_results1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,3 @@ +1 c +1 d +1 e diff -r 7068d1548234 -r 56e80527c482 test-data/sorted_uniq_results2.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sorted_uniq_results2.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,12 @@ +a +A + +b +b +B + +c + +d + +e diff -r 7068d1548234 -r 56e80527c482 test-data/tail_results1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/tail_results1.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,10 @@ +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 - diff -r 7068d1548234 -r 56e80527c482 test-data/tail_results2.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/tail_results2.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,56 @@ +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 - diff -r 7068d1548234 -r 56e80527c482 test-data/unfold_column1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/unfold_column1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,1 @@ +a b 1 2 3 4 5 c diff -r 7068d1548234 -r 56e80527c482 test-data/unfold_column_result1.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/unfold_column_result1.tabular Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,5 @@ +a b 1 c +a b 2 c +a b 3 c +a b 4 c +a b 5 c diff -r 7068d1548234 -r 56e80527c482 test-data/unique_results1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/unique_results1.bed Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,65 @@ +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 - +chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 + +chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_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 - +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 + +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 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 - +chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_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 + +chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 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 - +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 + +chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_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 + +chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 + +chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 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 - +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 - +chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 + +chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 - +chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 - +chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 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 - +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 - +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 + +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 - +chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 + +chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 - diff -r 7068d1548234 -r 56e80527c482 test-data/unix_grep_output2.html --- a/test-data/unix_grep_output2.html Sun Oct 06 08:22:36 2013 -0400 +++ b/test-data/unix_grep_output2.html Wed Jan 07 11:10:52 2015 -0500 @@ -1,9 +1,307 @@ -
-GCTATAGAAATGTTAACATCGAATGTACATTATAAC
-CAGCTAACAATCAAGCGTTACAGATTAGCCCCCCCC
-GAACTTGCGTAACGTACAAAAATGCAAGCAAAAAGT
-GCTCTGTTAATCTAGAAAATGTGTCTCCCCCCCCCC
-AATCGTATAGCTCGGGCCGGATACTAGTACACCCCC
-GATATAGTGGATAACTAATGCTCCCCCAGAACTGTT
-GAACGGACTATAGCCGGTATCCAAACATAAATGTTC
-
+ + + + + + + +
+GCTATAGAAATGTTAACATCGAATGTACATTATAAC
+--
+CAGCTAACAATCAAGCGTTACAGATTAGCCCCCCCC
+--
+GAACTTGCGTAACGTACAAAAATGCAAGCAAAAAGT
+--
+GCTCTGTTAATCTAGAAAATGTGTCTCCCCCCCCCC
+--
+AATCGTATAGCTCGGGCCGGATACTAGTACACCCCC
+--
+GATATAGTGGATAACTAATGCTCCCCCAGAACTGTT
+--
+GAACGGACTATAGCCGGTATCCAAACATAAATGTTC
+
+ + diff -r 7068d1548234 -r 56e80527c482 tool_dependencies.xml --- a/tool_dependencies.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/tool_dependencies.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,18 +1,37 @@ - - + + - + - + - + $REPOSITORY_INSTALL_DIR + + + + + + + + + + + + https://cpan.metacpan.org/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz + + + + + Needed perl packages. + + diff -r 7068d1548234 -r 56e80527c482 unfold_column.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unfold_column.py Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +import sys + +out = open(sys.argv[4], 'w+') + +with open(sys.argv[1]) as handle: + for line in handle: + cols = line.split('\t') + unfolding_column = int(sys.argv[2]) - 1 + column_content = cols[ unfolding_column ] + for elem in column_content.split( sys.argv[3] ): + out.write( '\t'.join( cols[:unfolding_column] + [elem] + cols[unfolding_column+1:]) ) +out.close() diff -r 7068d1548234 -r 56e80527c482 unfold_column.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unfold_column.xml Wed Jan 07 11:10:52 2015 -0500 @@ -0,0 +1,63 @@ + + columns from a table + + macros.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 7068d1548234 -r 56e80527c482 unsorted_uniq.py --- a/unsorted_uniq.py Sun Oct 06 08:22:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -import sys -import subprocess - -""" - We only need that file because galaxy do not understand the -t $'\t' term. - Otherwise that would be the right XML-only solution: - sort -u - $ignore_case - $is_numeric - -t \$'\t' - #if $adv_opts.adv_opts_selector=="advanced": - -k$adv_opts.column_start,$adv_opts.column_end - #end if - -o $outfile - $input -""" - -if sys.argv[1].strip() != 'false': - ignore_case = sys.argv[1] -else: - ignore_case = '' - -if sys.argv[2].strip() != 'false': - is_numeric = sys.argv[2] -else: - is_numeric = '' - -try: - col_start = sys.argv[3] - col_end = sys.argv[4] - com = "sort -u %s %s -t ' ' -k%s,%s -o %s %s" % (is_numeric, ignore_case, col_start, col_end, sys.argv[5], sys.argv[6]) -except: - # no advanced options selected - com = "sort -u %s %s -t ' ' -o %s %s" % (is_numeric, ignore_case, sys.argv[3], sys.argv[4]) - -subprocess.call(com, shell=True) diff -r 7068d1548234 -r 56e80527c482 unsorted_uniq.xml --- a/unsorted_uniq.xml Sun Oct 06 08:22:36 2013 -0400 +++ b/unsorted_uniq.xml Wed Jan 07 11:10:52 2015 -0500 @@ -1,44 +1,57 @@ - + occurrences of each record - - gnu_coreutils - - - unsorted_uniq.py - $ignore_case - $is_numeric - #if $adv_opts.adv_opts_selector=="advanced": - $adv_opts.column_start - $adv_opts.column_end - #end if - $outfile - $infile + + macros.xml + + + sort --version | head -n 1 + + - - - + + + - - + + - - + + - + + + + + + + + - +