miga-base 1.0.5.5 → 1.1.2.0
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.rb +12 -4
- data/lib/miga/cli/action/env.rb +1 -1
- data/lib/miga/cli/action/init.rb +1 -1
- data/lib/miga/cli/action/ncbi_get/downloads.rb +230 -0
- data/lib/miga/cli/action/ncbi_get.rb +9 -217
- data/lib/miga/cli/action/wf.rb +7 -3
- data/lib/miga/common.rb +12 -11
- data/lib/miga/daemon/base.rb +20 -5
- data/lib/miga/daemon.rb +7 -6
- data/lib/miga/dataset/result.rb +2 -1
- data/lib/miga/version.rb +3 -3
- data/scripts/essential_genes.bash +7 -11
- data/test/common_test.rb +7 -7
- data/utils/FastAAI/FastAAI +3647 -0
- data/utils/FastAAI/{FastAAI → FastAAI-legacy}/FastAAI +1 -1
- data/utils/FastAAI/{kAAI_v1.0_virus.py → FastAAI-legacy/kAAI_v1.0_virus.py} +0 -0
- data/utils/distance/commands.rb +24 -13
- metadata +6 -4
data/lib/miga/daemon.rb
CHANGED
@@ -93,7 +93,7 @@ class MiGA::Daemon < MiGA::MiGA
|
|
93
93
|
flush!
|
94
94
|
if (loop_i % 12).zero?
|
95
95
|
purge!
|
96
|
-
queue_maintenance
|
96
|
+
queue_maintenance if (loop_i % 12 * (skip_maintenance + 1)).zero?
|
97
97
|
end
|
98
98
|
save_status
|
99
99
|
sleep(latency)
|
@@ -231,10 +231,11 @@ class MiGA::Daemon < MiGA::MiGA
|
|
231
231
|
# Construct the command for the given job definition with current
|
232
232
|
# daemon settings
|
233
233
|
def job_cmd(to_run)
|
234
|
+
what = to_run[:ds].nil? ? :project : :dataset
|
234
235
|
vars = {
|
235
236
|
'PROJECT' => project.path,
|
236
|
-
'RUNTYPE' =>
|
237
|
-
'CORES' => ppn,
|
237
|
+
'RUNTYPE' => runopts_for(:type, what),
|
238
|
+
'CORES' => ppn(what),
|
238
239
|
'MIGA' => MiGA::MiGA.root_path
|
239
240
|
}
|
240
241
|
vars['DATASET'] = to_run[:ds].name unless to_run[:ds].nil?
|
@@ -246,13 +247,13 @@ class MiGA::Daemon < MiGA::MiGA
|
|
246
247
|
),
|
247
248
|
vars: vars.map do |k, v|
|
248
249
|
runopts(:var).miga_variables(key: k, value: v)
|
249
|
-
end.join(
|
250
|
-
cpus: ppn,
|
250
|
+
end.join(runopts_for(:varsep, what)),
|
251
|
+
cpus: ppn(what),
|
251
252
|
log: File.join(log_dir, "#{to_run[:ds_name]}.log"),
|
252
253
|
task_name: to_run[:task_name],
|
253
254
|
miga: File.join(MiGA::MiGA.root_path, 'bin/miga').shellescape
|
254
255
|
}
|
255
|
-
|
256
|
+
runopts_for(:cmd, what).miga_variables(var_hsh)
|
256
257
|
end
|
257
258
|
|
258
259
|
##
|
data/lib/miga/dataset/result.rb
CHANGED
data/lib/miga/version.rb
CHANGED
@@ -12,15 +12,15 @@ 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.
|
15
|
+
VERSION = [1.1, 2, 0].freeze
|
16
16
|
|
17
17
|
##
|
18
18
|
# Nickname for the current major.minor version.
|
19
19
|
VERSION_NAME = 'prima'
|
20
20
|
|
21
21
|
##
|
22
|
-
# Date of the current gem
|
23
|
-
VERSION_DATE = Date.new(2021,
|
22
|
+
# Date of the current gem relese.
|
23
|
+
VERSION_DATE = Date.new(2021, 11, 6)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
@@ -36,19 +36,15 @@ HMM.essential.rb \
|
|
36
36
|
> "${DATASET}.ess/log"
|
37
37
|
|
38
38
|
# Index for FastAAI
|
39
|
-
NOMULTI=$(miga
|
39
|
+
NOMULTI=$(miga ls -P "$PROJECT" -D "$DATASET" --no-multi \
|
40
40
|
| wc -l | awk '{print $1}')
|
41
41
|
if [[ "$NOMULTI" -eq "1" ]] ; then
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
--ext ".faix" --index --input-paths --all-vs-all --threads "$CORES"
|
49
|
-
rm "${DATASET}.faix"
|
50
|
-
rm "${DATASET}.faix.hmm"
|
51
|
-
rm "${DATASET}.faix.hmm.filt"
|
42
|
+
echo "$FAA" > "$DATASET"
|
43
|
+
FastAAI build_db --protein_file "$DATASET" \
|
44
|
+
-o "${DATASET}.faix.d" --threads "$CORES"
|
45
|
+
rm "$DATASET"
|
46
|
+
mv "${DATASET}.faix.d/database/FastAAI_database.sqlite.db" "${DATASET}.faix"
|
47
|
+
rm -r "${DATASET}.faix.d"
|
52
48
|
fi
|
53
49
|
|
54
50
|
# Reduce files
|
data/test/common_test.rb
CHANGED
@@ -78,21 +78,21 @@ class CommonTest < Test::Unit::TestCase
|
|
78
78
|
|
79
79
|
# Check advance when missing total
|
80
80
|
o = capture_stderr { m.advance('x', 0) }.string
|
81
|
-
assert_match(
|
81
|
+
assert_match(%r{\] x *\r}, o)
|
82
82
|
|
83
83
|
# Initialize advance
|
84
|
-
o = capture_stderr { m.advance('x', 0,
|
85
|
-
assert_match(
|
84
|
+
o = capture_stderr { m.advance('x', 0, 1001) }.string
|
85
|
+
assert_match(%r{\] x 0\.0% \(0/1001\) *\r}, o)
|
86
86
|
|
87
87
|
# Insufficient data for prediction
|
88
88
|
sleep(1)
|
89
|
-
o = capture_stderr { m.advance('x', 1,
|
90
|
-
assert_match(
|
89
|
+
o = capture_stderr { m.advance('x', 1, 1000) }.string
|
90
|
+
assert_match(%r{\] x 0\.1% \(1/1000\) *\r}, o)
|
91
91
|
|
92
92
|
# Predict time
|
93
93
|
sleep(1)
|
94
|
-
o = capture_stderr { m.advance('x', 2,
|
95
|
-
assert_match(
|
94
|
+
o = capture_stderr { m.advance('x', 2, 1000) }.string
|
95
|
+
assert_match(%r{\] x 0\.2% \(2/1000\) 1\d\.\dm left *\r}, o)
|
96
96
|
end
|
97
97
|
|
98
98
|
def test_num_suffix
|