https://github.com/jhbadger/APIS
Revision cedb1bbca42dd06094db03ac0b517a889d4b8b4c authored by Jonathan Badger on 17 August 2011, 19:32:14 UTC, committed by Jonathan Badger on 17 August 2011, 19:32:14 UTC
1 parent 67d3efe
Tip revision: cedb1bbca42dd06094db03ac0b517a889d4b8b4c authored by Jonathan Badger on 17 August 2011, 19:32:14 UTC
remove apisRun, _input from dataset name on grid
remove apisRun, _input from dataset name on grid
Tip revision: cedb1bb
reannotateAPIS
#!/usr/bin/env ruby
require 'optparse'
require 'apis'
require 'ostruct'
opt = OpenStruct.new
opt.database = "phylodb"
opt.storage = "misc_apis"
opt.host = "mysql-lan-pro"
opt.all = false
ARGV.options {|opts|
opts.banner << " [dataset... dataset...]"
opts.on("-a", "--all", "process all datasets") {|t| opt.all = t}
opts.on("-d ", "--database ", String,
"query database (default #{opt.database})") {|t| opt.database = t}
opts.on("-s ", "--storage ", String, "storage database (default #{opt.storage})") {|t| opt.storage = t}
opts.on("-h ", "--host ", String, "database host (default #{opt.host})") {|t| opt.host = t}
begin
opts.parse!
rescue
STDERR.puts $!.message
STDERR.puts opts
exit(1)
end
if (ARGV.size < 1 && !opt.all)
STDERR.puts opts
exit(1)
end
}
if (opt.storage == "")
STDERR.printf("A storage database must be specified\n")
exit(1)
end
storage = MyDB.new(opt.host, opt.storage, "apis", "apis_user", opt.database)
if (opt.all)
storage.query("select dataset from dataset").each {|dataset|
ARGV.push(dataset[0])
}
end
ARGV.each {|dataset|
count = 0
trees = storage.count("tree where dataset='#{dataset}'")
storage.query("select seq_name, tree from tree where dataset='#{dataset}'").each {|row|
name, tree = row
storage.createAnnotation(NewickTree.new(tree), name, dataset)
count += 1
STDERR.printf("%4.2f%% done...\n", count*100.0/trees) if (count % 1000 == 0)
}
}
Computing file changes ...