miga-base 1.3.0.0 → 1.3.1.0
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/miga/cli/action/init.rb +1 -1
- data/lib/miga/result/stats.rb +4 -3
- data/lib/miga/version.rb +2 -2
- data/utils/distance/commands.rb +4 -4
- data/utils/distance/database.rb +3 -0
- data/utils/distance/temporal.rb +10 -1
- 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: d73a7b2585ba65f467f6648e9ebd49033cd822cfcf4392fa201939b591886743
|
4
|
+
data.tar.gz: 468d835c418fae7bb5b3c90bb357783cbfa8133dfadf2bde5d702d648524e000
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bef438ae52da81802456e7bfac5d6f1ad4e367d20342f5c2c3fc79f4c05d46a7b4023097570ddd127cc80fe119a2114506aa27472512c1a9dce42fbe638f8d9b
|
7
|
+
data.tar.gz: d8426a5097b0bba3f09c3804dd904dae1cae4d5fe1a364647965d71c0ba25eb9ec9da0315a0e856ca4061dba38db6f4d0a720fcd853a784b94bfd199a15729c0
|
data/lib/miga/cli/action/init.rb
CHANGED
@@ -194,7 +194,7 @@ class MiGA::Cli::Action::Init < MiGA::Cli::Action
|
|
194
194
|
req_libraries = {
|
195
195
|
r: %w[ape cluster vegan],
|
196
196
|
ruby: %w[sqlite3 daemons json],
|
197
|
-
python: %w[numpy sqlite3 pyhmmer]
|
197
|
+
python: %w[numpy sqlite3 pyhmmer pyrodigal]
|
198
198
|
}
|
199
199
|
|
200
200
|
req_libraries.each do |language, libraries|
|
data/lib/miga/result/stats.rb
CHANGED
@@ -231,15 +231,16 @@ module MiGA::Result::Stats
|
|
231
231
|
|
232
232
|
# Fix estimates based on essential genes based on taxonomy
|
233
233
|
def fix_essential_genes_by_domain
|
234
|
-
|
235
|
-
|
234
|
+
tax = source.metadata[:tax]
|
235
|
+
return if (!tax.nil? && !%w[Archaea Bacteria].include?(tax[:d])) ||
|
236
236
|
file_path(:raw_report)
|
237
237
|
|
238
|
+
domain = tax.nil? ? 'AB' : tax[:d][0]
|
238
239
|
MiGA::MiGA.DEBUG "Fixing essential genes by domain"
|
239
240
|
scr = File.join(MiGA::MiGA.root_path, 'utils', 'domain-ess-genes.rb')
|
240
241
|
rep = file_path(:report)
|
241
242
|
$stderr.print MiGA::MiGA.run_cmd(
|
242
|
-
['ruby', scr, rep, "#{rep}.domain",
|
243
|
+
['ruby', scr, rep, "#{rep}.domain", domain],
|
243
244
|
return: :output, err2out: true, source: :miga
|
244
245
|
)
|
245
246
|
add_file(:raw_report, "#{source.name}.ess/log")
|
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,
|
15
|
+
VERSION = [1.3, 1, 0].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(2023, 3,
|
23
|
+
VERSION_DATE = Date.new(2023, 3, 21)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
data/utils/distance/commands.rb
CHANGED
@@ -2,7 +2,7 @@ module MiGA::DistanceRunner::Commands
|
|
2
2
|
##
|
3
3
|
# Estimates AAI against +targets+ using hAAI
|
4
4
|
def haai(targets)
|
5
|
-
puts "[#{Time.now}] hAAI: #{dataset.name} vs #{targets.size} targets"
|
5
|
+
$stderr.puts "[#{Time.now}] hAAI: #{dataset.name} vs #{targets.size} targets"
|
6
6
|
empty_vals = targets.map { |_i| nil }
|
7
7
|
return empty_vals if opts[:haai_p] == 'no'
|
8
8
|
|
@@ -19,7 +19,7 @@ module MiGA::DistanceRunner::Commands
|
|
19
19
|
##
|
20
20
|
# Estimates or calculates AAI against +targets+
|
21
21
|
def aai(targets)
|
22
|
-
puts "[#{Time.now}] AAI: #{dataset.name} vs #{targets.size} targets"
|
22
|
+
$stderr.puts "[#{Time.now}] AAI: #{dataset.name} vs #{targets.size} targets"
|
23
23
|
|
24
24
|
# Try hAAI first
|
25
25
|
haai(targets)
|
@@ -41,7 +41,7 @@ module MiGA::DistanceRunner::Commands
|
|
41
41
|
##
|
42
42
|
# Calculates ANI against +targets+
|
43
43
|
def ani(targets)
|
44
|
-
puts "[#{Time.now}] ANI: #{dataset.name} vs #{targets.size} targets"
|
44
|
+
$stderr.puts "[#{Time.now}] ANI: #{dataset.name} vs #{targets.size} targets"
|
45
45
|
empty_vals = targets.map { |_i| nil }
|
46
46
|
return empty_vals unless File.size?(tmp_file('largecontigs.fa'))
|
47
47
|
|
@@ -227,7 +227,7 @@ module MiGA::DistanceRunner::Commands
|
|
227
227
|
aai_data[out[1]] = [out[6], 0, 0, 0]
|
228
228
|
end
|
229
229
|
end
|
230
|
-
puts "Results: #{haai_data.size} | Inferences: #{aai_data.size}"
|
230
|
+
$stderr.puts "Results: #{haai_data.size} | Inferences: #{aai_data.size}"
|
231
231
|
batch_data_to_db(:haai, haai_data)
|
232
232
|
batch_data_to_db(:aai, aai_data)
|
233
233
|
|
data/utils/distance/database.rb
CHANGED
data/utils/distance/temporal.rb
CHANGED
@@ -42,10 +42,19 @@ module MiGA::DistanceRunner::Temporal
|
|
42
42
|
# Copies temporal databases back to the MiGA Project
|
43
43
|
def checkpoint!(metric)
|
44
44
|
$stderr.puts "Checkpoint (metric = #{metric})"
|
45
|
+
|
46
|
+
# This is simply to test database consistency before overwriting the
|
47
|
+
# previous persistent version
|
45
48
|
SQLite3::Database.new(tmp_dbs[metric]) do |conn|
|
46
49
|
conn.execute("select count(*) from #{metric == :haai ? :aai : metric}")
|
47
50
|
end
|
48
|
-
|
51
|
+
|
52
|
+
# This reduces the probability of other threads failing due to incomplete
|
53
|
+
# databases, +cp+ can be slower, and that effect is increased by the fact
|
54
|
+
# that tmp_dbs -> dbs could involve a transfer between filesystems, whereas
|
55
|
+
# +move+ within the same filesystem is nearly instantaenous
|
56
|
+
FileUtils.cp(tmp_dbs[metric], "#{dbs[metric]}.tmp")
|
57
|
+
FileUtils.move("#{dbs[metric]}.tmp", dbs[metric])
|
49
58
|
@db_counts[metric] = 0
|
50
59
|
end
|
51
60
|
end
|
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.
|
4
|
+
version: 1.3.1.0
|
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: 2023-03-
|
11
|
+
date: 2023-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|