miga-base 0.7.16.4 → 0.7.16.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f30e69f1e7031e63d0aeda691fffb2fa0e1bab46a8c859dfbc0212f6389b602d
4
- data.tar.gz: 82a0acb779a387fc0f3722168526e200644db132bf906cbb749398412e83b152
3
+ metadata.gz: 80bc5ff58583017ef3cb4962c7a2ac4086e602fc9bd2319a35cf7edd36c211d3
4
+ data.tar.gz: 6ae15844eff00f4adcf794f7b56f940cc4af96a555785a1397dfd3781e62af80
5
5
  SHA512:
6
- metadata.gz: 3aa15d5a2a4340274b1c6f29fcfd7718ee825bdb200b06d4f7edbebf300e76f839d7a2c72a457ae3032ccd5fb3db1e9b0a9045e084e371c87f4a6bc86fdcc3b3
7
- data.tar.gz: 37ba5fee0eef4c98e255f38a0afddf2ba7aee7f7ade45ba63550c7226967718b6aec781654adfd8fed7138f8723eba5b1d3ef20ffcb9c4b58c93a6df41b55f07
6
+ metadata.gz: bfb11a9ffe5a5b8d64578512cf5ed29a6272f90760015092a35d2e17a008cd84bdf0c2c30f6988941815b196e4c492abf7b5929166b2ef6357297e3784a91936
7
+ data.tar.gz: 77846f20c76d8ba84b3c1351395da6cc410e8947bb82491d9e93c7f1a1931c22ec975eb5ffc94117524cddf83c30890ea84bbabe7585783aa2034274093c7e88
data/bin/miga CHANGED
@@ -4,7 +4,10 @@
4
4
  # @license Artistic-2.0
5
5
 
6
6
  $LOAD_PATH.push File.expand_path('../../lib', __FILE__)
7
+ $LOAD_PATH.push File.expand_path('../../lib', File.realpath(__FILE__))
8
+
7
9
  require 'miga'
8
10
  require 'miga/cli'
9
11
 
10
- MiGA::Cli.new(ARGV).launch
12
+ MiGA::Cli.new(ARGV).launch(true)
13
+
@@ -73,6 +73,7 @@ class MiGA::Cli::Action::Daemon < MiGA::Cli::Action
73
73
  end
74
74
 
75
75
  def perform
76
+ cli.operation or raise 'Please specify a daemon operation'
76
77
  p = cli.load_project
77
78
  d = MiGA::Daemon.new(p, cli[:json])
78
79
  dopts = %i[latency maxjobs nodelist ppn shutdown_when_done]
@@ -165,7 +165,7 @@ class MiGA::Cli::Action::GetDb < MiGA::Cli::Action
165
165
  def check_target
166
166
  return false if cli[:overwrite]
167
167
 
168
- file = File.expand_path(cli[:database], cli[:local])
168
+ file = File.expand_path(cli[:database].to_s, cli[:local])
169
169
  if Dir.exist? file
170
170
  warn "The target directory already exists: #{file}"
171
171
  true
@@ -8,7 +8,7 @@ class MiGA::Cli::Action::Run < MiGA::Cli::Action
8
8
  def parse_cli
9
9
  cli.defaults = { try_load: false, thr: 1, env: false }
10
10
  cli.parse do |opt|
11
- cli.opt_object(opt, [:project, :dataset_opt, :result])
11
+ cli.opt_object(opt, [:project, :dataset_opt, :result_opt])
12
12
  opt.on(
13
13
  '-t', '--threads INT', Integer,
14
14
  "Threads to use in the local run (by default: #{cli[:thr]})"
@@ -37,12 +37,18 @@ class MiGA::Cli::Action::Run < MiGA::Cli::Action
37
37
  cli[:thr] ||= ENV['CORES'].to_i unless ENV['CORES'].nil?
38
38
  cli[:result] = File.basename(cli[:result].to_s, '.bash').to_sym
39
39
  end
40
+ %i[project dataset result].each do |i|
41
+ cli[i] = nil if cli[i].nil? || cli[i].empty?
42
+ end
40
43
 
41
44
  # Unset dataset if the requested result is for projects
42
45
  if (MiGA::Project.RESULT_DIRS.keys + [:p]).include? cli[:result]
43
46
  cli[:dataset] = nil
44
47
  end
45
48
 
49
+ # Use virtual result if not explicitly passed
50
+ cli[:result] ||= cli[:dataset] ? :d : :p
51
+
46
52
  # Load project
47
53
  p = cli.load_project
48
54
 
@@ -56,10 +56,11 @@ module MiGA::Cli::OptHelper
56
56
  # - :project_type To allow (optionally) a type of project
57
57
  # - :project_type_req To require a type of project
58
58
  # - :result To require a type of project or dataset result
59
+ # - :result_opt To allow (optionally) a type of result
59
60
  # - :result_dataset To require a type of dataset result
60
61
  # - :result_project To require a type of project result
61
- # The options :result, :result_dataset, and :result_project are mutually
62
- # exclusive
62
+ # The options :result, :result_opt, :result_dataset, and :result_project
63
+ # are mutually exclusive
63
64
  def opt_object(opt, what = [:project, :dataset])
64
65
  what.each do |w|
65
66
  case w
@@ -82,10 +83,10 @@ module MiGA::Cli::OptHelper
82
83
  "#{req}Type of #{obj}. Recognized types include:",
83
84
  *klass.KNOWN_TYPES.map { |k, v| "~ #{k}: #{v[:description]}" }
84
85
  ) { |v| self[:type] = v.downcase.to_sym }
85
- when :result
86
+ when :result, :result_opt
86
87
  opt.on(
87
88
  '-r', '--result STRING',
88
- '(Mandatory) Name of the result',
89
+ "#{"(Mandatory) " if w == :result}Name of the result",
89
90
  'Recognized names for dataset-specific results include:',
90
91
  *MiGA::Dataset.RESULT_DIRS.keys.map { |n| " ~ #{n}" },
91
92
  'Recognized names for project-wide results include:',
@@ -156,10 +156,12 @@ class MiGA::RemoteDataset < MiGA::MiGA
156
156
  return nil unless metadata[:ncbi_asm]
157
157
 
158
158
  ncbi_asm_id = self.class.ncbi_asm_acc2id metadata[:ncbi_asm]
159
- doc = MiGA::Json.parse(
160
- self.class.download(:ncbi_summary, :assembly, ncbi_asm_id, :json),
161
- symbolize: false, contents: true
162
- )
159
+ txt = nil
160
+ 3.times do
161
+ txt = self.class.download(:ncbi_summary, :assembly, ncbi_asm_id, :json)
162
+ txt.empty? ? sleep(1) : break
163
+ end
164
+ doc = MiGA::Json.parse(txt, symbolize: false, contents: true)
163
165
  @_ncbi_asm_json_doc = doc['result'][ doc['result']['uids'].first ]
164
166
  end
165
167
 
@@ -8,7 +8,7 @@ module MiGA
8
8
  # - Float representing the major.minor version.
9
9
  # - Integer representing gem releases of the current version.
10
10
  # - Integer representing minor changes that require new version number.
11
- VERSION = [0.7, 16, 4]
11
+ VERSION = [0.7, 16, 10]
12
12
 
13
13
  ##
14
14
  # Nickname for the current major.minor version.
@@ -16,7 +16,7 @@ module MiGA
16
16
 
17
17
  ##
18
18
  # Date of the current gem release.
19
- VERSION_DATE = Date.new(2020, 10, 28)
19
+ VERSION_DATE = Date.new(2020, 12, 9)
20
20
 
21
21
  ##
22
22
  # Reference 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: 0.7.16.4
4
+ version: 0.7.16.10
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: 2020-10-28 00:00:00.000000000 Z
11
+ date: 2020-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons