Sha256: 472518b3bf317b8a9c21ea2f84020c11c3ccee003e4e6678e4fbd4236ffe19f9

Contents?: true

Size: 1.53 KB

Versions: 50

Compression:

Stored size: 1.53 KB

Contents

#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'

$0 = "rbbt #{$previous_commands*" "} #{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF

View TSV nicer

$ #{$0} [options] <filename.tsv|->

Use - to read from STDIN

-h--help Print this help

EOF
if options[:help]
  if defined? rbbt_usage
    rbbt_usage 
  else
    puts SOPT.doc
  end
  exit 0
end


file = ARGV.shift

file = STDIN if file == '-' || file.nil?

case
when options[:tokyocabinet]
  tsv = Persist.open_tokyocabinet(file, false)
when options[:tokyocabinet_bd]
  tsv = Persist.open_tokyocabinet(file, false, nil, TokyoCabinet::BDB)
else
  if String === file
    file = file.dup
    file = Path.setup(File.expand_path(file))
  end
  tsv = file
end

tsv = TSV.open(tsv) if IO === tsv || Path === tsv


begin
  require 'rbbt/workflow'
  Workflow.require_workflow "Genomics"
  tsv = Genomics.job(:names, nil, :tsv => tsv).run
rescue
end

puts [Log.highlight(Log.color(:magenta, tsv.key_field)), Log.color(:yellow, tsv.fields * "\t")] * "\t"
TSV.traverse tsv do |k,values,fields|
  fvalues = values.zip(fields).collect do |v,field|
    if String === v
      v = v.to_f.round(2) if v =~ /^-?\d+\.\d+$/
      v = v.to_i if v =~ /^-?\d+$/
    end

    if Numeric === v
      if field =~ /p.?value/i
        v = v.round(4)
        v < 0.05 ? Log.color(:cyan, v.to_s) : v
      else
        v = v.round(2)
        v < 0 ? Log.color(:red, v.to_s) : Log.color(:green, v.to_s)
      end
    else
      v
    end
  end
  puts [Log.color(:magenta, k), fvalues] * "\t"
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
rbbt-util-6.0.3 share/rbbt_commands/tsv/view
rbbt-util-5.44.1 share/rbbt_commands/tsv/view
rbbt-util-5.43.0 share/rbbt_commands/tsv/view
rbbt-util-5.42.0 share/rbbt_commands/tsv/view
rbbt-util-5.41.1 share/rbbt_commands/tsv/view
rbbt-util-5.41.0 share/rbbt_commands/tsv/view
rbbt-util-5.40.5 share/rbbt_commands/tsv/view
rbbt-util-5.40.4 share/rbbt_commands/tsv/view
rbbt-util-5.40.3 share/rbbt_commands/tsv/view
rbbt-util-5.40.0 share/rbbt_commands/tsv/view
rbbt-util-5.39.0 share/rbbt_commands/tsv/view
rbbt-util-5.38.1 share/rbbt_commands/tsv/view
rbbt-util-5.38.0 share/rbbt_commands/tsv/view
rbbt-util-5.37.16 share/rbbt_commands/tsv/view
rbbt-util-5.37.15 share/rbbt_commands/tsv/view
rbbt-util-5.37.14 share/rbbt_commands/tsv/view
rbbt-util-5.37.13 share/rbbt_commands/tsv/view
rbbt-util-5.37.12 share/rbbt_commands/tsv/view
rbbt-util-5.37.11 share/rbbt_commands/tsv/view
rbbt-util-5.37.10 share/rbbt_commands/tsv/view