miga-base 0.7.16.4 → 0.7.16.10

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 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