rbbt-util 5.14.37 → 5.14.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rbbt/association/index.rb +5 -8
- data/lib/rbbt/tsv/manipulate.rb +28 -0
- data/lib/rbbt/util/misc/development.rb +5 -2
- data/lib/rbbt/workflow/accessor.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a0ba5fcb0625780c5a1cca6a17d1c7716533d0
|
4
|
+
data.tar.gz: db0e0a4843e3e8b63e7526ca1c1c6c156ee20f05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a4554bce956bd3ae4c4f457cc815d084622bde543504f4105b2b218bb2fb99e1ec33accae814a278b4062d92ad35b30d19e8295ffb9633484ccdb3d89f4a91b
|
7
|
+
data.tar.gz: 3de5de3a7f71fdcbc40f0ca62132e1dbc49dc5924c62101361fbf0f5caf1bdcee797775a5e6d6777871a5b128e1fd74b37eef48e245f12cb8835e7cad968b656
|
@@ -83,9 +83,6 @@ module Association
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
87
|
-
data.close
|
88
|
-
data
|
89
86
|
end.tap do |data|
|
90
87
|
data.read if not Hash === data and data.respond_to? :read
|
91
88
|
Association::Index.setup data
|
@@ -118,8 +115,6 @@ module Association
|
|
118
115
|
raise "Can only reverse a TokyoCabinet::BDB dataset at the time"
|
119
116
|
end
|
120
117
|
|
121
|
-
self.read if self.respond_to? :read
|
122
|
-
|
123
118
|
if File.exists?(reverse_filename)
|
124
119
|
new = Persist.open_tokyocabinet(reverse_filename, false, serializer, TokyoCabinet::BDB)
|
125
120
|
new
|
@@ -127,9 +122,11 @@ module Association
|
|
127
122
|
FileUtils.mkdir_p File.dirname(reverse_filename) unless File.exists?(File.basename(reverse_filename))
|
128
123
|
new = Persist.open_tokyocabinet(reverse_filename, true, serializer, TokyoCabinet::BDB)
|
129
124
|
new.write
|
130
|
-
|
131
|
-
|
132
|
-
|
125
|
+
self.with_unnamed do
|
126
|
+
through do |key, value|
|
127
|
+
new_key = key.split("~").reverse.join("~")
|
128
|
+
new[new_key] = value
|
129
|
+
end
|
133
130
|
end
|
134
131
|
annotate(new)
|
135
132
|
new.key_field = key_field.split("~").values_at(1,0,2).compact * "~"
|
data/lib/rbbt/tsv/manipulate.rb
CHANGED
@@ -631,6 +631,34 @@ module TSV
|
|
631
631
|
self
|
632
632
|
end
|
633
633
|
|
634
|
+
def add_fields(names = [])
|
635
|
+
old_monitor = @monitor
|
636
|
+
@monitor = {:desc => "Adding field #{ names * ", " }"} if TrueClass === monitor
|
637
|
+
|
638
|
+
through do |key, values|
|
639
|
+
new_values = yield(key, values)
|
640
|
+
|
641
|
+
case type
|
642
|
+
when :double
|
643
|
+
new_values = new_values.collect{|v| [v] } if Array === new_values and new_values.first and not Array === new_values.first
|
644
|
+
values += new_values
|
645
|
+
when :list
|
646
|
+
values += new_values
|
647
|
+
end
|
648
|
+
|
649
|
+
self[key] = values
|
650
|
+
end
|
651
|
+
@monitor = old_monitor
|
652
|
+
|
653
|
+
if not fields.nil? and not (names.nil? or names.empty?)
|
654
|
+
new_fields = self.fields + names
|
655
|
+
self.fields = new_fields
|
656
|
+
end
|
657
|
+
|
658
|
+
self
|
659
|
+
end
|
660
|
+
|
661
|
+
|
634
662
|
def transpose(key_field="Unkown ID")
|
635
663
|
raise "Transposing only works for TSVs of type :list" unless type == :list
|
636
664
|
new_fields = keys
|
@@ -276,7 +276,7 @@ module Misc
|
|
276
276
|
end
|
277
277
|
end
|
278
278
|
|
279
|
-
def self.bootstrap(elems, num = :current, file = nil, &block)
|
279
|
+
def self.bootstrap(elems, num = :current, file = nil, options = {}, &block)
|
280
280
|
num = :current if num.nil?
|
281
281
|
cpus = case num
|
282
282
|
when :current
|
@@ -291,8 +291,11 @@ module Misc
|
|
291
291
|
end
|
292
292
|
end
|
293
293
|
|
294
|
+
|
295
|
+
options = Misc.add_defaults options, :cpus => cpus, :bar => "Bootstrap in #{ cpus } cpus: #{ Misc.fingerprint Annotated.purge(elems) }", :into => Set.new
|
296
|
+
|
294
297
|
index = (0..elems.length-1).to_a.collect{|v| v.to_s }
|
295
|
-
TSV.traverse index,
|
298
|
+
TSV.traverse index, options do |pos|
|
296
299
|
elem = elems[pos.to_i]
|
297
300
|
elems.annotate elem if elems.respond_to? :annotate
|
298
301
|
begin
|
@@ -81,7 +81,7 @@ class Step
|
|
81
81
|
end
|
82
82
|
|
83
83
|
begin
|
84
|
-
@info_cache = Misc.insist(
|
84
|
+
@info_cache = Misc.insist(3, 1.6, info_file) do
|
85
85
|
Misc.insist(2, 1, info_file) do
|
86
86
|
Misc.insist(3, 0.2, info_file) do
|
87
87
|
raise TryAgain, "Info locked" if check_lock and info_lock.locked?
|
@@ -97,7 +97,7 @@ class Step
|
|
97
97
|
rescue Exception
|
98
98
|
Log.debug{"Error loading info file: " + info_file}
|
99
99
|
Log.exception $!
|
100
|
-
|
100
|
+
Misc.sensiblewrite(info_file, INFO_SERIALIAZER.dump({:status => :error, :messages => ["Info file lost"]}))
|
101
101
|
raise $!
|
102
102
|
end
|
103
103
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.14.
|
4
|
+
version: 5.14.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|