[hg] galaxy 3577: Fix the column_maker tool so that if round is ...
details: http://www.bx.psu.edu/hg/galaxy/rev/d34c1a8df003 changeset: 3577:d34c1a8df003 user: Greg Von Kuster <greg@bx.psu.edu> date: Mon Mar 29 14:33:23 2010 -0400 description: Fix the column_maker tool so that if round is set to 'yes', the computed result is actually rounded. Added 2 new functional test to cover behavior. diffstat: test-data/column_maker_out1.interval | 65 ++++++++++++++++++++++++++++++++++++ test-data/column_maker_out2.interval | 5 ++ test-data/column_maker_out3.interval | 5 ++ test-data/eq-compute.dat | 65 ------------------------------------ tools/stats/column_maker.py | 11 +++-- tools/stats/column_maker.xml | 16 +++++++- 6 files changed, 96 insertions(+), 71 deletions(-) diffs (224 lines): diff -r 5b793b193cac -r d34c1a8df003 test-data/column_maker_out1.interval --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/column_maker_out1.interval Mon Mar 29 14:33:23 2010 -0400 @@ -0,0 +1,65 @@ +chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 - 388.0 +chr1 147984545 147984630 CCDS990.1_cds_0_0_chr1_147984546_f 0 + 85.0 +chr1 148078400 148078582 CCDS993.1_cds_0_0_chr1_148078401_r 0 - 182.0 +chr1 148185136 148185276 CCDS996.1_cds_0_0_chr1_148185137_f 0 + 140.0 +chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 0 - 1501.0 +chr11 116124407 116124501 CCDS8374.1_cds_0_0_chr11_116124408_r 0 - 94.0 +chr11 116206508 116206563 CCDS8377.1_cds_0_0_chr11_116206509_f 0 + 55.0 +chr11 116211733 116212337 CCDS8378.1_cds_0_0_chr11_116211734_r 0 - 604.0 +chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 + 30.0 +chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_r 0 - 227.0 +chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 + 259.0 +chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_r 0 - 2045.0 +chr15 41486872 41487060 CCDS10096.1_cds_0_0_chr15_41486873_r 0 - 188.0 +chr15 41673708 41673857 CCDS10097.1_cds_0_0_chr15_41673709_f 0 + 149.0 +chr15 41679161 41679250 CCDS10098.1_cds_0_0_chr15_41679162_r 0 - 89.0 +chr15 41826029 41826196 CCDS10101.1_cds_0_0_chr15_41826030_f 0 + 167.0 +chr16 142908 143003 CCDS10397.1_cds_0_0_chr16_142909_f 0 + 95.0 +chr16 179963 180135 CCDS10401.1_cds_0_0_chr16_179964_r 0 - 172.0 +chr16 244413 244681 CCDS10402.1_cds_0_0_chr16_244414_f 0 + 268.0 +chr16 259268 259383 CCDS10403.1_cds_0_0_chr16_259269_r 0 - 115.0 +chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_r 0 - 207.0 +chr18 59406881 59407046 CCDS11985.1_cds_0_0_chr18_59406882_f 0 + 165.0 +chr18 59455932 59456337 CCDS11986.1_cds_0_0_chr18_59455933_r 0 - 405.0 +chr18 59600586 59600754 CCDS11988.1_cds_0_0_chr18_59600587_f 0 + 168.0 +chr19 59068595 59069564 CCDS12866.1_cds_0_0_chr19_59068596_f 0 + 969.0 +chr19 59236026 59236146 CCDS12872.1_cds_0_0_chr19_59236027_r 0 - 120.0 +chr19 59297998 59298008 CCDS12877.1_cds_0_0_chr19_59297999_f 0 + 10.0 +chr19 59302168 59302288 CCDS12878.1_cds_0_0_chr19_59302169_r 0 - 120.0 +chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 + 85.0 +chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 - 54.0 +chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 + 40.0 +chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 - 1260.0 +chr20 33330413 33330423 CCDS13249.1_cds_0_0_chr20_33330414_r 0 - 10.0 +chr20 33513606 33513792 CCDS13255.1_cds_0_0_chr20_33513607_f 0 + 186.0 +chr20 33579500 33579527 CCDS13256.1_cds_0_0_chr20_33579501_r 0 - 27.0 +chr20 33593260 33593348 CCDS13257.1_cds_0_0_chr20_33593261_f 0 + 88.0 +chr21 32707032 32707192 CCDS13614.1_cds_0_0_chr21_32707033_f 0 + 160.0 +chr21 32869641 32870022 CCDS13615.1_cds_0_0_chr21_32869642_r 0 - 381.0 +chr21 33321040 33322012 CCDS13620.1_cds_0_0_chr21_33321041_f 0 + 972.0 +chr21 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 - 46.0 +chr22 30120223 30120265 CCDS13897.1_cds_0_0_chr22_30120224_f 0 + 42.0 +chr22 30160419 30160661 CCDS13898.1_cds_0_0_chr22_30160420_r 0 - 242.0 +chr22 30665273 30665360 CCDS13901.1_cds_0_0_chr22_30665274_f 0 + 87.0 +chr22 30939054 30939266 CCDS13903.1_cds_0_0_chr22_30939055_r 0 - 212.0 +chr5 131424298 131424460 CCDS4149.1_cds_0_0_chr5_131424299_f 0 + 162.0 +chr5 131556601 131556672 CCDS4151.1_cds_0_0_chr5_131556602_r 0 - 71.0 +chr5 131621326 131621419 CCDS4152.1_cds_0_0_chr5_131621327_f 0 + 93.0 +chr5 131847541 131847666 CCDS4155.1_cds_0_0_chr5_131847542_r 0 - 125.0 +chr6 108299600 108299744 CCDS5061.1_cds_0_0_chr6_108299601_r 0 - 144.0 +chr6 108594662 108594687 CCDS5063.1_cds_0_0_chr6_108594663_f 0 + 25.0 +chr6 108640045 108640151 CCDS5064.1_cds_0_0_chr6_108640046_r 0 - 106.0 +chr6 108722976 108723115 CCDS5067.1_cds_0_0_chr6_108722977_f 0 + 139.0 +chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 0 + 168.0 +chr7 116512159 116512389 CCDS5771.1_cds_0_0_chr7_116512160_r 0 - 230.0 +chr7 116714099 116714152 CCDS5773.1_cds_0_0_chr7_116714100_f 0 + 53.0 +chr7 116945541 116945787 CCDS5774.1_cds_0_0_chr7_116945542_r 0 - 246.0 +chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 - 186.0 +chr9 128764156 128764189 CCDS6914.1_cds_0_0_chr9_128764157_f 0 + 33.0 +chr9 128787519 128789136 CCDS6915.1_cds_0_0_chr9_128787520_r 0 - 1617.0 +chr9 128882427 128882523 CCDS6917.1_cds_0_0_chr9_128882428_f 0 + 96.0 +chr9 128937229 128937445 CCDS6919.1_cds_0_0_chr9_128937230_r 0 - 216.0 +chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 0 + 877.0 +chrX 152648964 152649196 CCDS14733.1_cds_0_0_chrX_152648965_r 0 - 232.0 +chrX 152691446 152691471 CCDS14735.1_cds_0_0_chrX_152691447_f 0 + 25.0 +chrX 152694029 152694263 CCDS14736.1_cds_0_0_chrX_152694030_r 0 - 234.0 diff -r 5b793b193cac -r d34c1a8df003 test-data/column_maker_out2.interval --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/column_maker_out2.interval Mon Mar 29 14:33:23 2010 -0400 @@ -0,0 +1,5 @@ +chr1 4348187 4348589 3.70 4.90 2.55 0.24 0.46 3.7 +chr1 4488177 4488442 4.03 5.77 1.92 -0.67 0.81 4.03 +chr1 4774091 4774440 8.07 8.33 7.82 0.85 -0.40 8.07 +chr1 4800122 4800409 6.40 7.35 5.44 1.19 -0.42 6.4 +chr1 4878925 4879277 2.18 0.28 4.93 -0.96 1.24 2.18 diff -r 5b793b193cac -r d34c1a8df003 test-data/column_maker_out3.interval --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/column_maker_out3.interval Mon Mar 29 14:33:23 2010 -0400 @@ -0,0 +1,5 @@ +chr1 4348187 4348589 3.70 4.90 2.55 0.24 0.46 4 +chr1 4488177 4488442 4.03 5.77 1.92 -0.67 0.81 4 +chr1 4774091 4774440 8.07 8.33 7.82 0.85 -0.40 8 +chr1 4800122 4800409 6.40 7.35 5.44 1.19 -0.42 6 +chr1 4878925 4879277 2.18 0.28 4.93 -0.96 1.24 2 diff -r 5b793b193cac -r d34c1a8df003 test-data/eq-compute.dat --- a/test-data/eq-compute.dat Mon Mar 29 11:48:05 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 - 388.0 -chr1 147984545 147984630 CCDS990.1_cds_0_0_chr1_147984546_f 0 + 85.0 -chr1 148078400 148078582 CCDS993.1_cds_0_0_chr1_148078401_r 0 - 182.0 -chr1 148185136 148185276 CCDS996.1_cds_0_0_chr1_148185137_f 0 + 140.0 -chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 0 - 1501.0 -chr11 116124407 116124501 CCDS8374.1_cds_0_0_chr11_116124408_r 0 - 94.0 -chr11 116206508 116206563 CCDS8377.1_cds_0_0_chr11_116206509_f 0 + 55.0 -chr11 116211733 116212337 CCDS8378.1_cds_0_0_chr11_116211734_r 0 - 604.0 -chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 + 30.0 -chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_r 0 - 227.0 -chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 + 259.0 -chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_r 0 - 2045.0 -chr15 41486872 41487060 CCDS10096.1_cds_0_0_chr15_41486873_r 0 - 188.0 -chr15 41673708 41673857 CCDS10097.1_cds_0_0_chr15_41673709_f 0 + 149.0 -chr15 41679161 41679250 CCDS10098.1_cds_0_0_chr15_41679162_r 0 - 89.0 -chr15 41826029 41826196 CCDS10101.1_cds_0_0_chr15_41826030_f 0 + 167.0 -chr16 142908 143003 CCDS10397.1_cds_0_0_chr16_142909_f 0 + 95.0 -chr16 179963 180135 CCDS10401.1_cds_0_0_chr16_179964_r 0 - 172.0 -chr16 244413 244681 CCDS10402.1_cds_0_0_chr16_244414_f 0 + 268.0 -chr16 259268 259383 CCDS10403.1_cds_0_0_chr16_259269_r 0 - 115.0 -chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_r 0 - 207.0 -chr18 59406881 59407046 CCDS11985.1_cds_0_0_chr18_59406882_f 0 + 165.0 -chr18 59455932 59456337 CCDS11986.1_cds_0_0_chr18_59455933_r 0 - 405.0 -chr18 59600586 59600754 CCDS11988.1_cds_0_0_chr18_59600587_f 0 + 168.0 -chr19 59068595 59069564 CCDS12866.1_cds_0_0_chr19_59068596_f 0 + 969.0 -chr19 59236026 59236146 CCDS12872.1_cds_0_0_chr19_59236027_r 0 - 120.0 -chr19 59297998 59298008 CCDS12877.1_cds_0_0_chr19_59297999_f 0 + 10.0 -chr19 59302168 59302288 CCDS12878.1_cds_0_0_chr19_59302169_r 0 - 120.0 -chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 + 85.0 -chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 - 54.0 -chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 + 40.0 -chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 - 1260.0 -chr20 33330413 33330423 CCDS13249.1_cds_0_0_chr20_33330414_r 0 - 10.0 -chr20 33513606 33513792 CCDS13255.1_cds_0_0_chr20_33513607_f 0 + 186.0 -chr20 33579500 33579527 CCDS13256.1_cds_0_0_chr20_33579501_r 0 - 27.0 -chr20 33593260 33593348 CCDS13257.1_cds_0_0_chr20_33593261_f 0 + 88.0 -chr21 32707032 32707192 CCDS13614.1_cds_0_0_chr21_32707033_f 0 + 160.0 -chr21 32869641 32870022 CCDS13615.1_cds_0_0_chr21_32869642_r 0 - 381.0 -chr21 33321040 33322012 CCDS13620.1_cds_0_0_chr21_33321041_f 0 + 972.0 -chr21 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 - 46.0 -chr22 30120223 30120265 CCDS13897.1_cds_0_0_chr22_30120224_f 0 + 42.0 -chr22 30160419 30160661 CCDS13898.1_cds_0_0_chr22_30160420_r 0 - 242.0 -chr22 30665273 30665360 CCDS13901.1_cds_0_0_chr22_30665274_f 0 + 87.0 -chr22 30939054 30939266 CCDS13903.1_cds_0_0_chr22_30939055_r 0 - 212.0 -chr5 131424298 131424460 CCDS4149.1_cds_0_0_chr5_131424299_f 0 + 162.0 -chr5 131556601 131556672 CCDS4151.1_cds_0_0_chr5_131556602_r 0 - 71.0 -chr5 131621326 131621419 CCDS4152.1_cds_0_0_chr5_131621327_f 0 + 93.0 -chr5 131847541 131847666 CCDS4155.1_cds_0_0_chr5_131847542_r 0 - 125.0 -chr6 108299600 108299744 CCDS5061.1_cds_0_0_chr6_108299601_r 0 - 144.0 -chr6 108594662 108594687 CCDS5063.1_cds_0_0_chr6_108594663_f 0 + 25.0 -chr6 108640045 108640151 CCDS5064.1_cds_0_0_chr6_108640046_r 0 - 106.0 -chr6 108722976 108723115 CCDS5067.1_cds_0_0_chr6_108722977_f 0 + 139.0 -chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 0 + 168.0 -chr7 116512159 116512389 CCDS5771.1_cds_0_0_chr7_116512160_r 0 - 230.0 -chr7 116714099 116714152 CCDS5773.1_cds_0_0_chr7_116714100_f 0 + 53.0 -chr7 116945541 116945787 CCDS5774.1_cds_0_0_chr7_116945542_r 0 - 246.0 -chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 - 186.0 -chr9 128764156 128764189 CCDS6914.1_cds_0_0_chr9_128764157_f 0 + 33.0 -chr9 128787519 128789136 CCDS6915.1_cds_0_0_chr9_128787520_r 0 - 1617.0 -chr9 128882427 128882523 CCDS6917.1_cds_0_0_chr9_128882428_f 0 + 96.0 -chr9 128937229 128937445 CCDS6919.1_cds_0_0_chr9_128937230_r 0 - 216.0 -chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 0 + 877.0 -chrX 152648964 152649196 CCDS14733.1_cds_0_0_chrX_152648965_r 0 - 232.0 -chrX 152691446 152691471 CCDS14735.1_cds_0_0_chrX_152691447_f 0 + 25.0 -chrX 152694029 152694263 CCDS14736.1_cds_0_0_chrX_152694030_r 0 - 234.0 diff -r 5b793b193cac -r d34c1a8df003 tools/stats/column_maker.py --- a/tools/stats/column_maker.py Mon Mar 29 11:48:05 2010 -0400 +++ b/tools/stats/column_maker.py Mon Mar 29 14:33:23 2010 -0400 @@ -17,7 +17,7 @@ inp_file = sys.argv[1] out_file = sys.argv[2] expr = sys.argv[3] -round = sys.argv[4] +round_result = sys.argv[4] try: in_columns = int( sys.argv[5] ) except: @@ -52,11 +52,11 @@ col_name = "c%d" % col cols.append( col_name ) col_type = in_column_types[ col - 1 ].strip() - if round == 'no' and col_type == 'int': + if round_result == 'no' and col_type == 'int': col_type = 'float' type_cast = "%s(%s)" % ( col_type, col_name ) type_casts.append( type_cast ) - + col_str = ', '.join( cols ) # 'c1, c2, c3, c4' type_cast_str = ', '.join( type_casts ) # 'str(c1), int(c2), int(c3), str(c4)' assign = "%s = line.split( '\\t' )" % col_str @@ -82,7 +82,10 @@ try: %s %s - new_line = line + '\\t' + str( %s ) + new_val = %s + if round_result == "yes": + new_val = int( round( new_val ) ) + new_line = line + '\\t' + str( new_val ) print >> out, new_line lines_kept += 1 except: diff -r 5b793b193cac -r d34c1a8df003 tools/stats/column_maker.xml --- a/tools/stats/column_maker.xml Mon Mar 29 11:48:05 2010 -0400 +++ b/tools/stats/column_maker.xml Mon Mar 29 14:33:23 2010 -0400 @@ -1,4 +1,4 @@ -<tool id="Add_a_column1" name="Compute"> +<tool id="Add_a_column1" name="Compute" version="1.1.0"> <description>an expression on every row</description> <command interpreter="python"> column_maker.py $input $out_file1 "$cond" $round ${input.metadata.columns} "${input.metadata.column_types}" @@ -19,7 +19,19 @@ <param name="cond" value="c3-c2"/> <param name="input" value="1.bed"/> <param name="round" value="no"/> - <output name="out_file1" file="eq-compute.dat"/> + <output name="out_file1" file="column_maker_out1.interval"/> + </test> + <test> + <param name="cond" value="c4*1"/> + <param name="input" value="1.interval"/> + <param name="round" value="no"/> + <output name="out_file1" file="column_maker_out2.interval"/> + </test> + <test> + <param name="cond" value="c4*1"/> + <param name="input" value="1.interval"/> + <param name="round" value="yes"/> + <output name="out_file1" file="column_maker_out3.interval"/> </test> </tests> <help>
participants (1)
-
Greg Von Kuster