diff --git a/lib/galaxy/tool_shed/migrate/versions/0008_tools.py b/lib/galaxy/tool_shed/migrate/versions/0008_tools.py new file mode 100644 index 00000000000..98ee2119a70 --- /dev/null +++ b/lib/galaxy/tool_shed/migrate/versions/0008_tools.py @@ -0,0 +1,21 @@ +""" +The following tools have been eliminated from the distribution: +Add column to an existing dataset, Change Case of selected columns, +Condense consecutive characters, Convert delimiters to TAB, +Cut columns from a table, Merge Columns together, Remove beginning of a file, +Select first lines from a dataset, Select last lines from a dataset, +and Trim leading or trailing characters. The tools are now available in the +repositories named add_value, change_case, condense_characters, +convert_characters, cut_columns, merge_cols, remove_beginning, +show_beginning, show_tail, and trimmer from the main Galaxy tool shed at +http://toolshed.g2.bx.psu.edu, and will be installed into your +local Galaxy instance at the location discussed above by running +the following command. +""" + +import sys + +def upgrade(): + print __doc__ +def downgrade(): + pass diff --git a/scripts/migrate_tools/0008_tools.sh b/scripts/migrate_tools/0008_tools.sh new file mode 100644 index 00000000000..50cafd19936 --- /dev/null +++ b/scripts/migrate_tools/0008_tools.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cd `dirname $0`/../.. +python ./scripts/migrate_tools/migrate_tools.py 0008_tools.xml $@ diff --git a/scripts/migrate_tools/0008_tools.xml b/scripts/migrate_tools/0008_tools.xml new file mode 100644 index 00000000000..e56fd4410e7 --- /dev/null +++ b/scripts/migrate_tools/0008_tools.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-data/a.txt b/test-data/a.txt deleted file mode 100644 index b86cb4b96ce..00000000000 --- a/test-data/a.txt +++ /dev/null @@ -1,15 +0,0 @@ - CHR SNP BP A1 TEST NMISS BETA STAT P - 1 rs1181876 3671541 T DOMDEV 958 -1.415 -3.326 0.0009161 - 1 rs10492923 5092886 C ADD 1007 5.105 4.368 1.382e-05 - 1 rs10492923 5092886 C DOMDEV 1007 -5.612 -4.249 2.35e-05 - 1 rs10492923 5092886 C GENO_2DF 1007 NA 19.9 4.775e-05 - 1 rs1801133 11778965 T ADD 1022 1.23 3.97 7.682e-05 - 1 rs1801133 11778965 T GENO_2DF 1022 NA 16.07 0.0003233 - 1 rs1361912 12663121 A ADD 1021 12.69 4.093 4.596e-05 - 1 rs1361912 12663121 A DOMDEV 1021 -12.37 -3.945 8.533e-05 - 1 rs1361912 12663121 A GENO_2DF 1021 NA 17.05 0.0001982 - 1 rs1009806 19373138 G ADD 1021 -1.334 -3.756 0.0001826 - 1 rs1009806 19373138 G GENO_2DF 1021 NA 19.36 6.244e-05 - 1 rs873654 29550948 A DOMDEV 1012 1.526 3.6 0.0003339 - 1 rs10489527 36800027 C ADD 1016 12.67 4.114 4.211e-05 - 1 rs10489527 36800027 C DOMDEV 1016 -13.05 -4.02 6.249e-05 \ No newline at end of file diff --git a/test-data/eq-condense.dat b/test-data/eq-condense.dat deleted file mode 100644 index eb4c30e347a..00000000000 --- a/test-data/eq-condense.dat +++ /dev/null @@ -1,65 +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 - -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 --git a/test-data/eq-convert.dat b/test-data/eq-convert.dat deleted file mode 100644 index eb4c30e347a..00000000000 --- a/test-data/eq-convert.dat +++ /dev/null @@ -1,65 +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 - -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 --git a/tool_conf.xml.sample b/tool_conf.xml.sample index 5ee28334000..928c6217851 100644 --- a/tool_conf.xml.sample +++ b/tool_conf.xml.sample @@ -44,21 +44,12 @@
- - - - - - - - - diff --git a/tools/filters/changeCase.pl b/tools/filters/changeCase.pl deleted file mode 100644 index f3aa1aeb1c1..00000000000 --- a/tools/filters/changeCase.pl +++ /dev/null @@ -1,58 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -my $columns = {}; -my $del = ""; -my @in = (); -my @out = (); -my $command = ""; -my $field = 0; - -# a wrapper for changing the case of columns from within galaxy -# isaChangeCase.pl [filename] [columns] [delim] [casing] [output] - -die "Check arguments: $0 [filename] [columns] [delim] [casing] [output]\n" unless @ARGV == 5; - -# process column input -$ARGV[1] =~ s/\s+//g; -foreach ( split /,/, $ARGV[1] ) { - if (m/^c\d{1,}$/i) { - s/c//ig; - $columns->{$_} = --$_; - } -} - -die "No columns specified, columns are not preceeded with 'c', or commas are not used to separate column numbers: $ARGV[1]\n" if keys %$columns == 0; - -my $column_delimiters_href = { - 'TAB' => q{\t}, - 'COMMA' => ",", - 'DASH' => "-", - 'UNDERSCORE' => "_", - 'PIPE' => q{\|}, - 'DOT' => q{\.}, - 'SPACE' => q{\s+} -}; - -$del = $column_delimiters_href->{$ARGV[2]}; - -open (OUT, ">$ARGV[4]") or die "Cannot create $ARGV[4]:$!\n"; -open (IN, "<$ARGV[0]") or die "Cannot open $ARGV[0]:$!\n"; -while () { - chop; - @in = split /$del/; - for ( my $i = 0; $i <= $#in; ++$i) { - if (exists $columns->{$i}) { - push(@out, $ARGV[3] eq 'up' ? uc($in[$i]) : lc($in[$i])); - } else { - push(@out, $in[$i]); - } - } - print OUT join("\t",@out), "\n"; - @out = (); -} -close IN; - -close OUT; diff --git a/tools/filters/changeCase.xml b/tools/filters/changeCase.xml deleted file mode 100644 index e8f787d7fb2..00000000000 --- a/tools/filters/changeCase.xml +++ /dev/null @@ -1,77 +0,0 @@ - - of selected columns - - - - changeCase.pl $input "$cols" $delimiter $casing $out_file1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.. class:: warningmark - -**This tool breaks column assignments.** To re-establish column assignments run the tool and click on the pencil icon in the resulting history item. - -.. class:: warningmark - -The format of the resulting dataset from this tool is always tabular. - ------ - -**What it does** - -This tool selects specified columns from a dataset and converts the values of those columns to upper or lower case. - -- Columns are specified as **c1**, **c2**, and so on. -- Columns can be specified in any order (e.g., **c2,c1,c6**) - ------ - -**Example** - -Changing columns 1 and 3 ( delimited by Comma ) to upper case in:: - - apple,is,good - windows,is,bad - -will result in:: - - APPLE is GOOD - WINDOWS is BAD - - - diff --git a/tools/filters/condense_characters.pl b/tools/filters/condense_characters.pl deleted file mode 100644 index 0e22a025c50..00000000000 --- a/tools/filters/condense_characters.pl +++ /dev/null @@ -1,105 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -# condenses all consecutive characters of one type -# convert_characters.pl [input] [character] [output] - -die "Check arguments" unless @ARGV == 3; - -my $inputfile = $ARGV[0]; -my $character = $ARGV[1]; -my $outputfile = $ARGV[2]; - - -my $convert_from; -my $convert_to; - - -if ($character eq "s") -{ - $convert_from = '\s'; -} -elsif ($character eq "T") -{ - $convert_from = '\t'; -} -elsif ($character eq "Sp") -{ - $convert_from = " "; -} -elsif ($character eq "Dt") -{ - $convert_from = '\.'; -} -elsif ($character eq "C") -{ - $convert_from = ","; -} -elsif ($character eq "D") -{ - $convert_from = "-"; -} -elsif ($character eq "U") -{ - $convert_from = "_"; -} -elsif ($character eq "P") -{ - $convert_from = '\|'; -} -else -{ - die "Invalid value specified for convert from\n"; -} - - -if ($character eq "T") -{ - $convert_to = "\t"; -} -elsif ($character eq "Sp") -{ - $convert_to = " "; -} -elsif ($character eq "Dt") -{ - $convert_to = "\."; -} -elsif ($character eq "C") -{ - $convert_to = ","; -} -elsif ($character eq "D") -{ - $convert_to = "-"; -} -elsif ($character eq "U") -{ - $convert_to = "_"; -} -elsif ($character eq "P") -{ - $convert_to = "|"; -} -else -{ - die "Invalid value specified for Convert to\n"; -} - -my $fhIn; -open ($fhIn, "< $inputfile") or die "Cannot open source file"; - -my $fhOut; -open ($fhOut, "> $outputfile"); - -while (<$fhIn>) -{ - my $thisLine = $_; - chomp $thisLine; - $thisLine =~ s/${convert_from}+/$convert_to/g; - print $fhOut $thisLine,"\n"; -} -close ($fhIn) or die "Cannot close source file"; -close ($fhOut) or die "Cannot close output file"; diff --git a/tools/filters/condense_characters.xml b/tools/filters/condense_characters.xml deleted file mode 100644 index eb06f75c6bf..00000000000 --- a/tools/filters/condense_characters.xml +++ /dev/null @@ -1,48 +0,0 @@ - - consecutive characters - condense_characters.pl $input $character $out_file1 - - - - - - - - - - - - - - - - - - - - - - - - - -**What it does** - -This tool condenses all consecutive characters of a specified type. - ------ - -**Example** - -- Input file:: - - geneX,,,10,,,,,20 - geneY,,5,,,,,12,15,9, - -- Condense all consecutive commas. The above file will be converted into:: - - geneX,10,20 - geneY,5,12,15,9 - - - diff --git a/tools/filters/convert_characters.py b/tools/filters/convert_characters.py deleted file mode 100644 index 302e43e8e17..00000000000 --- a/tools/filters/convert_characters.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -#By, Guruprasad Ananda. - -from galaxy import eggs -import sys, re - -def stop_err(msg): - sys.stderr.write(msg) - sys.exit() - -def main(): - if len(sys.argv) != 4: - stop_err("usage: convert_characters infile from_char outfile") - - try: - fin = open(sys.argv[1],'r') - except: - stop_err("Input file cannot be opened for reading.") - - from_char = sys.argv[2] - - try: - fout = open(sys.argv[3],'w') - except: - stop_err("Output file cannot be opened for writing.") - - char_dict = {'T':'\t','s':'\s','Dt':'\.','C':',','D':'-','U':'_','P':'\|','Co':':'} - from_ch = char_dict[from_char] + '+' #making an RE to match 1 or more occurences. - skipped = 0 - - for line in fin: - line = line.strip() - try: - fout.write("%s\n" %(re.sub(from_ch,'\t',line))) - except: - skipped += 1 - - if skipped: - print "Skipped %d lines as invalid." %skipped - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/tools/filters/convert_characters.xml b/tools/filters/convert_characters.xml deleted file mode 100644 index e3c54afea43..00000000000 --- a/tools/filters/convert_characters.xml +++ /dev/null @@ -1,58 +0,0 @@ - - delimiters to TAB - convert_characters.py $input $convert_from $out_file1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -**What it does** - -Converts all delimiters of a specified type into TABs. Consecutive characters are condensed. For example, if columns are separated by 5 spaces they will converted into 1 tab. - ------ - -**Example** - -- Input file:: - - chrX||151283558|151283724|NM_000808_exon_8_0_chrX_151283559_r|0|- - chrX|151370273|151370486|NM_000808_exon_9_0_chrX_151370274_r|0|- - chrX|151559494|151559583|NM_018558_exon_1_0_chrX_151559495_f|0|+ - chrX|151564643|151564711|NM_018558_exon_2_0_chrX_151564644_f||||0|+ - -- Converting all pipe delimiters of the above file to TABs will get:: - - chrX 151283558 151283724 NM_000808_exon_8_0_chrX_151283559_r 0 - - chrX 151370273 151370486 NM_000808_exon_9_0_chrX_151370274_r 0 - - chrX 151559494 151559583 NM_018558_exon_1_0_chrX_151559495_f 0 + - chrX 151564643 151564711 NM_018558_exon_2_0_chrX_151564644_f 0 + - - - diff --git a/tools/filters/cutWrapper.pl b/tools/filters/cutWrapper.pl deleted file mode 100644 index db5cc3c186c..00000000000 --- a/tools/filters/cutWrapper.pl +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use warnings; - -my @columns = (); -my $del = ""; -my @in = (); -my @out = (); -my $command = ""; -my $field = 0; - -# a wrapper for cut for use in galaxy -# cutWrapper.pl [filename] [columns] [delim] [output] - -die "Check arguments\n" unless @ARGV == 4; - -$ARGV[1] =~ s/\s+//g; -foreach ( split /,/, $ARGV[1] ) { - if (m/^c\d{1,}$/i) { - push (@columns, $_); - $columns[@columns-1] =~s/c//ig; - } -} - -die "No columns specified, columns are not preceded with 'c', or commas are not used to separate column numbers: $ARGV[1]\n" if @columns == 0; - -my $column_delimiters_href = { - 'T' => q{\t}, - 'C' => ",", - 'D' => "-", - 'U' => "_", - 'P' => q{\|}, - 'Dt' => q{\.}, - 'Sp' => q{\s+} -}; - -$del = $column_delimiters_href->{$ARGV[2]}; - -open (OUT, ">$ARGV[3]") or die "Cannot create $ARGV[2]:$!\n"; -open (IN, "<$ARGV[0]") or die "Cannot open $ARGV[0]:$!\n"; - -while (my $line=) { - if ($line =~ /^#/) { - #Ignore comment lines - } else { - chop($line); - @in = split(/$del/, $line); - foreach $field (@columns) { - if (defined($in[$field-1])) { - push(@out, $in[$field-1]); - } else { - push(@out, "."); - } - } - print OUT join("\t",@out), "\n"; - @out = (); - } -} - -#while () { -# chop; -# @in = split /$del/; -# foreach $field (@columns) { -# if (defined($in[$field-1])) { -# push(@out, $in[$field-1]); -# } else { -# push(@out, "."); -# } -# } -# print OUT join("\t",@out), "\n"; -# @out = (); -#} -close IN; - -close OUT; - diff --git a/tools/filters/cutWrapper.xml b/tools/filters/cutWrapper.xml deleted file mode 100644 index 81f55ae5aff..00000000000 --- a/tools/filters/cutWrapper.xml +++ /dev/null @@ -1,202 +0,0 @@ - - columns from a table - cutWrapper.pl $input "$columnList" $delimiter $out_file1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.. class:: warningmark - -**WARNING: This tool breaks column assignments.** To re-establish column assignments run the tools and click on the pencil icon in the latest history item. - -.. class:: infomark - -The output of this tool is always in tabular format (e.g., if your original delimiters are commas, they will be replaced with tabs). For example: - - Cutting columns 1 and 3 from:: - - apple,is,good - windows,is,bad - - will give:: - - apple good - windows bad - ------ - -**What it does** - -This tool selects (cuts out) specified columns from the dataset. - -- Columns are specified as **c1**, **c2**, and so on. Column count begins with **1** -- Columns can be specified in any order (e.g., **c2,c1,c6**) -- If you specify more columns than actually present - empty spaces will be filled with dots - ------ - -**Example** - -Input dataset (six columns: c1, c2, c3, c4, c5, and c6):: - - chr1 10 1000 gene1 0 + - chr2 100 1500 gene2 0 + - -**cut** on columns "**c1,c4,c6**" will return:: - - chr1 gene1 + - chr2 gene2 + - -**cut** on columns "**c6,c5,c4,c1**" will return:: - - + 0 gene1 chr1 - + 0 gene2 chr2 - - -**cut** on columns "**c8,c7,c4**" will return:: - - . . gene1 - . . gene2 - - - - diff --git a/tools/filters/fixedValueColumn.pl b/tools/filters/fixedValueColumn.pl deleted file mode 100644 index 8ebdd29ca41..00000000000 --- a/tools/filters/fixedValueColumn.pl +++ /dev/null @@ -1,34 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -# fixedValueColumn.pl $input $out_file1 "expression" "iterate [yes|no]" - -my ($input, $out_file1, $expression, $iterate) = @ARGV; -my $i = 0; -my $numeric = 0; - -die "Check arguments\n" unless @ARGV == 4; - -open (DATA, "<$input") or die "Cannot open $input:$!\n"; -open (OUT, ">$out_file1") or die "Cannot create $out_file1:$!\n"; - -if ($expression =~ m/^\d+$/) { - $numeric = 1; - $i = $expression; -} - -while () { - chop; - if ($iterate eq "no") { - print OUT "$_\t$expression\n"; - } else { - print OUT "$_\t$i\n" if $numeric == 1; - print OUT "$_\t$expression-$i\n" if $numeric == 0; - ++$i; - } -} - -close DATA; -close OUT; diff --git a/tools/filters/fixedValueColumn.xml b/tools/filters/fixedValueColumn.xml deleted file mode 100644 index 3f832057668..00000000000 --- a/tools/filters/fixedValueColumn.xml +++ /dev/null @@ -1,61 +0,0 @@ - - to an existing dataset - fixedValueColumn.pl $input $out_file1 "$exp" $iterate - - - - - - - - - - - - - - - - - - - - - -.. class:: infomark - -**TIP:** If your data is not TAB delimited, use *Text Manipulation->Convert* - ------ - -**What it does** - -You can enter any value and it will be added as a new column to your dataset - ------ - -**Example** - -If you original data looks like this:: - - chr1 10 100 geneA - chr2 200 300 geneB - chr2 400 500 geneC - -Typing **+** in the text box will generate:: - - chr1 10 100 geneA + - chr2 200 300 geneB + - chr2 400 500 geneC + - - -You can also add line numbers by selecting **Iterate: YES**. In this case if you enter **1** in the text box you will get:: - - chr1 10 100 geneA 1 - chr2 200 300 geneB 2 - chr2 400 500 geneC 3 - - - - - diff --git a/tools/filters/headWrapper.pl b/tools/filters/headWrapper.pl deleted file mode 100644 index 2049e34b587..00000000000 --- a/tools/filters/headWrapper.pl +++ /dev/null @@ -1,19 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -# a wrapper for head for use in galaxy -# headWrapper.pl [filename] [# lines to show] [output] - -die "Check arguments" unless @ARGV == 3; -die "Line number must be an integer\n" unless $ARGV[1]=~ m/^\d+$/; - -open (OUT, ">$ARGV[2]") or die "Cannot create $ARGV[2]:$!\n"; -open (HEAD, "head -n $ARGV[1] $ARGV[0]|") or die "Cannot run head:$!\n"; -while () { - print OUT; -} -close OUT; -close HEAD; - diff --git a/tools/filters/headWrapper.xml b/tools/filters/headWrapper.xml deleted file mode 100644 index cdd67dd5490..00000000000 --- a/tools/filters/headWrapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - lines from a dataset - headWrapper.pl $input $lineNum $out_file1 - - - - - - - - - - - - - - - - -**What it does** - -This tool outputs specified number of lines from the **beginning** of a dataset - ------ - -**Example** - -Selecting 2 lines from this:: - - 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 + - -will produce:: - - chr7 56632 56652 D17003_CTCF_R6 310 + - chr7 56736 56756 D17003_CTCF_R7 354 + - - - diff --git a/tools/filters/mergeCols.py b/tools/filters/mergeCols.py deleted file mode 100644 index 558d14ac234..00000000000 --- a/tools/filters/mergeCols.py +++ /dev/null @@ -1,37 +0,0 @@ -import sys, re - -def stop_err( msg ): - sys.stderr.write( msg ) - sys.exit() - -def __main__(): - try: - infile = open ( sys.argv[1], 'r') - outfile = open ( sys.argv[2], 'w') - except: - stop_err( 'Cannot open or create a file\n' ) - - if len( sys.argv ) < 4: - stop_err( 'No columns to merge' ) - else: - cols = sys.argv[3:] - - skipped_lines = 0 - - for line in infile: - line = line.rstrip( '\r\n' ) - if line and not line.startswith( '#' ): - fields = line.split( '\t' ) - line += '\t' - for col in cols: - try: - line += fields[ int( col ) -1 ] - except: - skipped_lines += 1 - - print >>outfile, line - - if skipped_lines > 0: - print 'Skipped %d invalid lines' % skipped_lines - -if __name__ == "__main__" : __main__() \ No newline at end of file diff --git a/tools/filters/mergeCols.xml b/tools/filters/mergeCols.xml deleted file mode 100644 index 44f813e70b7..00000000000 --- a/tools/filters/mergeCols.xml +++ /dev/null @@ -1,63 +0,0 @@ - - together - - mergeCols.py - $input1 - $out_file1 - $col1 - $col2 - #for $col in $columns - ${col.datacol} - #end for - - - - - - - - - - - - - - - - - - - - - - - -.. class:: infomark - -**TIP:** If your data is not TAB delimited, use *Text Manipulation->Convert* - ------ - -**What it does** - -This tool merges columns together. Any number of valid columns can be merged in any order. - ------ - -**Example** - -Input dataset (five columns: c1, c2, c3, c4, and c5):: - - 1 10 1000 gene1 chr - 2 100 1500 gene2 chr - -merging columns "**c5,c1**" will return:: - - 1 10 1000 gene1 chr chr1 - 2 100 1500 gene2 chr chr2 - -.. class:: warningmark - -Note that all original columns are preserved and the result of merge is added as the rightmost column. - - diff --git a/tools/filters/remove_beginning.pl b/tools/filters/remove_beginning.pl deleted file mode 100644 index a8d80acfd15..00000000000 --- a/tools/filters/remove_beginning.pl +++ /dev/null @@ -1,33 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -# Removes the specified number of lines from the beginning of the file. -# remove_beginning.pl [input] [num_lines] [output] - -die "Check arguments" unless @ARGV == 3; - -my $inputfile = $ARGV[0]; -my $num_lines = $ARGV[1]; -my $outputfile = $ARGV[2]; - -my $curCount=0; - -my $fhIn; -open ($fhIn, "< $inputfile") or die "Cannot open source file"; - -my $fhOut; -open ($fhOut, "> $outputfile"); - -while (<$fhIn>) -{ - $curCount++; - if ($curCount<=$num_lines) - { - next; - } - print $fhOut $_; -} -close ($fhIn) or die "Cannot close source file"; -close ($fhOut) or die "Cannot close output file"; diff --git a/tools/filters/remove_beginning.xml b/tools/filters/remove_beginning.xml deleted file mode 100644 index 2641ae1f774..00000000000 --- a/tools/filters/remove_beginning.xml +++ /dev/null @@ -1,42 +0,0 @@ - - of a file - remove_beginning.pl $input $num_lines $out_file1 - - - - - - - - - - - - - - - - -**What it does** - -This tool removes a specified number of lines from the beginning 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 first 3 lines the dataset will look like this:: - - chr7 56772 56792 D17003_CTCF_R7 372 + - chr7 56775 56795 D17003_CTCF_R4 207 + - - - diff --git a/tools/filters/tailWrapper.pl b/tools/filters/tailWrapper.pl deleted file mode 100644 index 24455539855..00000000000 --- a/tools/filters/tailWrapper.pl +++ /dev/null @@ -1,19 +0,0 @@ -#! /usr/bin/perl -w - -use strict; -use warnings; - -# a wrapper for tail for use in galaxy -# lessWrapper.pl [filename] [# lines to show] [output] - -die "Check arguments" unless @ARGV == 3; -die "Line number should be an integer\n" unless $ARGV[1]=~ m/^\d+$/; - -open (OUT, ">$ARGV[2]") or die "Cannot create $ARGV[2]:$!\n"; -open (TAIL, "tail -n $ARGV[1] $ARGV[0]|") or die "Cannot run tail:$!\n"; -while () { - print OUT; -} -close OUT; -close TAIL; - diff --git a/tools/filters/tailWrapper.xml b/tools/filters/tailWrapper.xml deleted file mode 100644 index ac0187ef960..00000000000 --- a/tools/filters/tailWrapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - lines from a dataset - tailWrapper.pl $input $lineNum $out_file1 - - - - - - - - - - - - - - - - -**What it does** - -This tool outputs specified number of lines from the **end** of a dataset - ------ - -**Example** - -- Input File:: - - chr7 57134 57154 D17003_CTCF_R7 356 - - chr7 57247 57267 D17003_CTCF_R4 207 + - chr7 57314 57334 D17003_CTCF_R5 269 + - chr7 57341 57361 D17003_CTCF_R7 375 + - chr7 57457 57477 D17003_CTCF_R3 188 + - -- Show last two lines of above file. The result is:: - - chr7 57341 57361 D17003_CTCF_R7 375 + - chr7 57457 57477 D17003_CTCF_R3 188 + - - - diff --git a/tools/filters/trimmer.py b/tools/filters/trimmer.py deleted file mode 100644 index 800a515e349..00000000000 --- a/tools/filters/trimmer.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python - -import sys -import optparse - -def stop_err( msg ): - sys.stderr.write( msg ) - sys.exit() - -def main(): - usage = """%prog [options] - -options (listed below) default to 'None' if omitted - """ - parser = optparse.OptionParser(usage=usage) - - parser.add_option( - '-a','--ascii', - dest='ascii', - action='store_true', - default = False, - help='Use ascii codes to defined ignored beginnings instead of raw characters') - - parser.add_option( - '-q','--fastq', - dest='fastq', - action='store_true', - default = False, - help='The input data in fastq format. It selected the script skips every even line since they contain sequence ids') - - parser.add_option( - '-i','--ignore', - dest='ignore', - help='A comma separated list on ignored beginnings (e.g., ">,@"), or its ascii codes (e.g., "60,42") if option -a is enabled') - - parser.add_option( - '-s','--start', - dest='start', - default = '0', - help='Trim from beginning to here (1-based)') - - parser.add_option( - '-e','--end', - dest='end', - default = '0', - help='Trim from here to the ned (1-based)') - - parser.add_option( - '-f','--file', - dest='input_txt', - default = False, - help='Name of file to be chopped. STDIN is default') - - parser.add_option( - '-c','--column', - dest='col', - default = '0', - help='Column to chop. If 0 = chop the whole line') - - - options, args = parser.parse_args() - invalid_starts = [] - - if options.input_txt: - infile = open ( options.input_txt, 'r') - else: - infile = sys.stdin - - if options.ignore and options.ignore != "None": - invalid_starts = options.ignore.split(',') - - if options.ascii and options.ignore and options.ignore != "None": - for i, item in enumerate( invalid_starts ): - invalid_starts[i] = chr( int( item ) ) - - col = int( options.col ) - - for i, line in enumerate( infile ): - line = line.rstrip( '\r\n' ) - if line: - - if options.fastq and i % 2 == 0: - print line - continue - - - if line[0] not in invalid_starts: - if col == 0: - if int( options.end ) > 0: - line = line[ int( options.start )-1 : int( options.end ) ] - else: - line = line[ int( options.start )-1 : ] - else: - fields = line.split( '\t' ) - if col-1 > len( fields ): - stop_err('Column %d does not exist. Check input parameters\n' % col) - - if int( options.end ) > 0: - fields[col - 1] = fields[col - 1][ int( options.start )-1 : int( options.end ) ] - else: - fields[col - 1] = fields[col - 1][ int( options.start )-1 : ] - line = '\t'.join(fields) - print line - -if __name__ == "__main__": main() - diff --git a/tools/filters/trimmer.xml b/tools/filters/trimmer.xml deleted file mode 100644 index da33c0d810e..00000000000 --- a/tools/filters/trimmer.xml +++ /dev/null @@ -1,120 +0,0 @@ - - leading or trailing characters - - trimmer.py -a -f $input1 -c $col -s $start -e $end -i $ignore $fastq > $out_file1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -**What it does** - -Trims specified number of characters from a dataset or its field (if dataset is tab-delimited). - ------ - -**Example 1** - -Trimming this dataset:: - - 1234567890 - abcdefghijk - -by setting **Trim from the beginning to this position** to *2* and **Remove everything from this position to the end** to *6* will produce:: - - 23456 - bcdef - ------ - -**Example 2** - -Trimming column 2 of this dataset:: - - abcde 12345 fghij 67890 - fghij 67890 abcde 12345 - -by setting **Trim content of this column only** to *2*, **Trim from the beginning to this position** to *2*, and **Remove everything from this position to the end** to *4* will produce:: - - abcde 234 fghij 67890 - fghij 789 abcde 12345 - ------ - -**Trimming FASTQ datasets** - -This tool can be used to trim sequences and quality strings in fastq datasets. This is done by selected *Yes* from the **Is input dataset in fastq format?** dropdown. If set to *Yes*, the tool will skip all even numbered lines (see warning below). For example, trimming last 5 bases of this dataset:: - - @081017-and-081020:1:1:1715:1759 - GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC - + - II#IIIIIII$5+.(9IIIIIII$%*$G$A31I&&B - -cab done by setting **Remove everything from this position to the end** to 31:: - - @081017-and-081020:1:1:1715:1759 - GGACTCAGATAGTAATCCACGCTCCTTTAAA - + - II#IIIIIII$5+.(9IIIIIII$%*$G$A3 - -**Note** that headers are skipped. - -.. class:: warningmark - -**WARNING:** This tool will only work on properly formatted fastq datasets where (1) each read and quality string occupy one line and (2) '@' (read header) and "+" (quality header) lines are evenly numbered like in the above example. - - - -