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.
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' => runopts(:type),
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(runopts(:varsep)),
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
- runopts(:cmd).miga_variables(var_hsh)
256
+ runopts_for(:cmd, what).miga_variables(var_hsh)
256
257
  end
257
258
 
258
259
  ##
@@ -281,7 +281,8 @@ module MiGA::Dataset::Result
281
281
  collection: '.ess',
282
282
  report: '.ess/log',
283
283
  alignments: '.ess/proteins.aln',
284
- fastaai_index: '.faix.db.gz'
284
+ fastaai_index: '.faix.db.gz',
285
+ fastaai_index_2: '.faix'
285
286
  )
286
287
  end
287
288
 
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.0, 5, 5].freeze
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 release.
23
- VERSION_DATE = Date.new(2021, 9, 14)
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 list_datasets -P "$PROJECT" -D "$DATASET" --no-multi \
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
- if [[ "$FAA" == *.gz ]] ; then
43
- gzip -cd "$FAA" > "${DATASET}.faix"
44
- else
45
- cp "$FAA" "${DATASET}.faix"
46
- fi
47
- FastAAI --qp "${DATASET}.faix" --output "${DATASET}.faix" \
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(/\] x *\r/, o)
81
+ assert_match(%r{\] x *\r}, o)
82
82
 
83
83
  # Initialize advance
84
- o = capture_stderr { m.advance('x', 0, 10) }.string
85
- assert_match(/\] x 0\.0% \(0\/10\) *\r/, o)
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, 10) }.string
90
- assert_match(/\] x 10\.0% \(1\/10\) *\r/, o)
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, 10) }.string
95
- assert_match(/\] x 20\.0% \(2\/10\) [7-9]s left *\r/, o)
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