miga-base 1.3.13.2 → 1.3.13.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/miga/cli/action/doctor/base.rb +6 -12
- data/lib/miga/dataset/result.rb +5 -6
- data/lib/miga/project/dataset.rb +20 -0
- data/lib/miga/remote_dataset/download.rb +0 -1
- data/lib/miga/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 278d0637c00542b14f71285b198201a37a287aecef2392bcf77d915c0be9bd52
|
4
|
+
data.tar.gz: 97012a85b2e4f1baf6e5ded3ec8a454d3dbbf76e556b42eff1b216c0f7735a7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfae6fff930fcfef0517988855007fb62b65106cc52d6857dc7f384a8f4d967f5c6d0084809607921529649cc5237f6adc1c95a6e0f80604c4201bbc9539666e
|
7
|
+
data.tar.gz: 5d825d4f6e0da2a47b4b287b494a4609cadc76bea390b415db9c7a8c18320a442022eaf801384ec43afd8424739d53e86ba2b2dfd67dd775d5f03adc2b8f1699
|
@@ -12,8 +12,7 @@ module MiGA::Cli::Action::Doctor::Base
|
|
12
12
|
# list, and therefore the databases need to be cleaned.
|
13
13
|
# This is a subtask of +check_dist+
|
14
14
|
def check_dist_eval(cli, p, res)
|
15
|
-
|
16
|
-
fix = {}
|
15
|
+
y = { notok: Set.new, fix: Set.new }
|
17
16
|
Zlib::GzipReader.open(res.file_path(:matrix)) do |fh|
|
18
17
|
lineno = 0
|
19
18
|
fh.each_line do |ln|
|
@@ -23,16 +22,11 @@ module MiGA::Cli::Action::Doctor::Base
|
|
23
22
|
names = [r[0], r[1]]
|
24
23
|
next unless names.any? { |i| p.dataset(i).nil? }
|
25
24
|
|
26
|
-
names.each
|
27
|
-
if p.dataset(i).nil? || !p.dataset(i).active?
|
28
|
-
notok[i] = true
|
29
|
-
else
|
30
|
-
fix[i] = true
|
31
|
-
end
|
32
|
-
end
|
25
|
+
names.each { |i| y[p.dataset(i)&.active? ? :fix : :notok] << i }
|
33
26
|
end
|
34
27
|
end
|
35
|
-
|
28
|
+
# The code below is more readable than `y.values.map(&:to_a)`
|
29
|
+
[y[:notok].to_a, y[:fix].to_a]
|
36
30
|
end
|
37
31
|
|
38
32
|
##
|
@@ -43,8 +37,8 @@ module MiGA::Cli::Action::Doctor::Base
|
|
43
37
|
return if fix.empty?
|
44
38
|
|
45
39
|
cli.say("- Fixing #{fix.size} datasets")
|
46
|
-
fix.
|
47
|
-
cli.
|
40
|
+
fix.each_with_index do |d_n, k|
|
41
|
+
cli.advance(' > Fixing', k + 1, fix.size, false)
|
48
42
|
p.dataset(d_n).cleanup_distances!
|
49
43
|
end
|
50
44
|
end
|
data/lib/miga/dataset/result.rb
CHANGED
@@ -97,15 +97,14 @@ module MiGA::Dataset::Result
|
|
97
97
|
|
98
98
|
##
|
99
99
|
# Clean-up all the stored distances, removing values for datasets no longer in
|
100
|
-
# the project as reference datasets.
|
101
|
-
|
100
|
+
# the project as reference datasets. All metrics are processed unless +metric+
|
101
|
+
# is passed (Array[Symbol], including :haai, :aai, :ani)
|
102
|
+
def cleanup_distances!(metrics = %i[haai aai ani])
|
102
103
|
return if get_result(:distances).nil?
|
103
104
|
|
104
105
|
require 'miga/sqlite'
|
105
|
-
ref = project.
|
106
|
-
|
107
|
-
cleanup_distances_by_metric!(ref, metric)
|
108
|
-
end
|
106
|
+
ref = project.dataset_ref_active.map(&:name)
|
107
|
+
metrics.each { |metric| cleanup_distances_by_metric!(ref, metric) }
|
109
108
|
end
|
110
109
|
|
111
110
|
private
|
data/lib/miga/project/dataset.rb
CHANGED
@@ -31,6 +31,22 @@ module MiGA::Project::Dataset
|
|
31
31
|
@dataset_names_set ||= Set.new(dataset_names)
|
32
32
|
end
|
33
33
|
|
34
|
+
##
|
35
|
+
# Cache for the special set of datasets which are both reference and
|
36
|
+
# active, returned as an Array. Use carefully, as it doesn't get
|
37
|
+
# recalculated upon dataset (in)activation once loaded. To force
|
38
|
+
# recalculating, use +dataset_ref_active!+
|
39
|
+
def dataset_ref_active
|
40
|
+
@dataset_ref_active ||= dataset_ref_active!
|
41
|
+
end
|
42
|
+
|
43
|
+
##
|
44
|
+
# Force recalculation of +dataset_ref_active+ and returns the Array
|
45
|
+
# of MiGA::Dataset objects
|
46
|
+
def dataset_ref_active!
|
47
|
+
@dataset_ref_active = datasets.select(&:ref?).select(&:active?)
|
48
|
+
end
|
49
|
+
|
34
50
|
##
|
35
51
|
# Returns MiGA::Dataset
|
36
52
|
def dataset(name)
|
@@ -60,6 +76,7 @@ module MiGA::Project::Dataset
|
|
60
76
|
@metadata[:datasets] << name
|
61
77
|
@dataset_names_hash[name] = true if @dataset_names_hash
|
62
78
|
@dataset_names_set << name if @dataset_names_set
|
79
|
+
@dataset_ref_active = nil
|
63
80
|
save
|
64
81
|
if d.ref? && d.active?
|
65
82
|
recalculate_tasks("Reference dataset added: #{d.name}")
|
@@ -75,6 +92,9 @@ module MiGA::Project::Dataset
|
|
75
92
|
d = dataset(name)
|
76
93
|
return nil if d.nil?
|
77
94
|
|
95
|
+
@dataset_names_hash = nil
|
96
|
+
@dataset_names_set = nil
|
97
|
+
@dataset_ref_active = nil
|
78
98
|
self.metadata[:datasets].delete(name)
|
79
99
|
save
|
80
100
|
if d.ref? && d.active?
|
@@ -186,7 +186,6 @@ class MiGA::RemoteDataset
|
|
186
186
|
# Looks for the entry +id+ in +dbfrom+, and returns the linked
|
187
187
|
# identifier in +db+ (or nil).
|
188
188
|
def ncbi_map(id, dbfrom, db)
|
189
|
-
attempts = 0
|
190
189
|
doc = download(:ncbi_map, dbfrom, id, :json, nil, db: db)
|
191
190
|
return if doc.empty?
|
192
191
|
|
data/lib/miga/version.rb
CHANGED
@@ -12,7 +12,7 @@ module MiGA
|
|
12
12
|
# - String indicating release status:
|
13
13
|
# - rc* release candidate, not released as gem
|
14
14
|
# - [0-9]+ stable release, released as gem
|
15
|
-
VERSION = [1.3, 13,
|
15
|
+
VERSION = [1.3, 13, 3].freeze
|
16
16
|
|
17
17
|
##
|
18
18
|
# Nickname for the current major.minor version.
|
@@ -20,7 +20,7 @@ module MiGA
|
|
20
20
|
|
21
21
|
##
|
22
22
|
# Date of the current gem relese.
|
23
|
-
VERSION_DATE = Date.new(2024, 3,
|
23
|
+
VERSION_DATE = Date.new(2024, 3, 18)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miga-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.13.
|
4
|
+
version: 1.3.13.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis M. Rodriguez-R
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03-
|
11
|
+
date: 2024-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|