miga-base 1.0.0.1 → 1.0.5.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/daemon.rb +5 -0
- data/lib/miga/cli/action/env.rb +26 -0
- data/lib/miga/cli/action/run.rb +1 -1
- data/lib/miga/cli/action/wf.rb +1 -0
- data/lib/miga/cli/base.rb +1 -0
- data/lib/miga/common/base.rb +10 -2
- data/lib/miga/daemon.rb +1 -0
- data/lib/miga/version.rb +2 -2
- data/scripts/miga.bash +11 -9
- data/utils/subclade/pipeline.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc2d6a45a59d47e3490d1e6bbe728961abfc28002c945c0fc371b24277f7abcd
|
4
|
+
data.tar.gz: c20265a37c53e403858c592a72b2de801ab6ce12e48f0fe88d886cea41a94413
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91804137814911287b5f1395e79b28e2805a0584dfb5ff234ca51a2366d17d497acf8a88ee80e18a1b8dd27a1b159ab3433471f82b389fd741825a1f5da57da5
|
7
|
+
data.tar.gz: 97d932379e302a22b2c0f489b5dd6cdd5efe4408c77e9cd32bb3b89efff3bc5f3787d167bc8f46720777dcc4d2efa06fb9b82f77e1903735a4b6e631e20be6f9
|
@@ -74,6 +74,11 @@ class MiGA::Cli::Action::Daemon < MiGA::Cli::Action
|
|
74
74
|
|
75
75
|
def perform
|
76
76
|
cli.operation or raise 'Please specify a daemon operation'
|
77
|
+
|
78
|
+
# Cleanup environment
|
79
|
+
%w[PROJECT RUNTYPE CORES DATASET].each { |i| ENV[i] = nil }
|
80
|
+
|
81
|
+
# Configure and run daemon
|
77
82
|
p = cli.load_project
|
78
83
|
d = MiGA::Daemon.new(p, cli[:json])
|
79
84
|
dopts = %i[latency maxjobs nodelist ppn shutdown_when_done]
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# @package MiGA
|
2
|
+
# @license Artistic-2.0
|
3
|
+
|
4
|
+
require 'miga/cli/action'
|
5
|
+
|
6
|
+
class MiGA::Cli::Action::Env < MiGA::Cli::Action
|
7
|
+
def parse_cli
|
8
|
+
cli.parse { |_| }
|
9
|
+
end
|
10
|
+
|
11
|
+
def perform
|
12
|
+
puts <<~BASH
|
13
|
+
MIGA="#{MiGA::MiGA.root_path}"
|
14
|
+
MIGA_HOME=${MIGA_HOME:-"$HOME"}
|
15
|
+
. "$MIGA_HOME/.miga_rc"
|
16
|
+
# Ensure MiGA & submodules are first in PATH
|
17
|
+
export PATH="$MIGA/bin:$PATH"
|
18
|
+
for util in enveomics/Scripts FastAAI/FastAAI multitrim ; do
|
19
|
+
export PATH="$MIGA/utils/$util:$PATH"
|
20
|
+
done
|
21
|
+
BASH
|
22
|
+
end
|
23
|
+
|
24
|
+
def empty_action
|
25
|
+
end
|
26
|
+
end
|
data/lib/miga/cli/action/run.rb
CHANGED
@@ -34,7 +34,7 @@ class MiGA::Cli::Action::Run < MiGA::Cli::Action
|
|
34
34
|
if cli[:env]
|
35
35
|
cli[:project] ||= ENV['PROJECT']
|
36
36
|
cli[:dataset] ||= ENV['DATASET']
|
37
|
-
cli[:thr]
|
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
40
|
%i[project dataset result].each do |i|
|
data/lib/miga/cli/action/wf.rb
CHANGED
@@ -183,6 +183,7 @@ module MiGA::Cli::Action::Wf
|
|
183
183
|
cmd += ['--json', cli[:daemon_json]] unless cli[:daemon_json].nil?
|
184
184
|
cmd += ['--max-jobs', cli[:jobs]] unless cli[:jobs].nil?
|
185
185
|
cmd += ['--ppn', cli[:threads]] unless cli[:threads].nil?
|
186
|
+
cmd += ['--debug', MiGA::MiGA.debug_trace? ? '2' : '1'] if MiGA::MiGA.debug?
|
186
187
|
cwd = Dir.pwd
|
187
188
|
call_cli(cmd)
|
188
189
|
Dir.chdir(cwd)
|
data/lib/miga/cli/base.rb
CHANGED
@@ -41,6 +41,7 @@ module MiGA::Cli::Base
|
|
41
41
|
lair: 'Control groups of daemons for several MiGA projects',
|
42
42
|
date: 'Return the current date in standard MiGA format',
|
43
43
|
console: 'Open an IRB console with MiGA',
|
44
|
+
env: 'Shell code to load MiGA environment',
|
44
45
|
# Taxonomy
|
45
46
|
tax_set: 'Register taxonomic information for datasets',
|
46
47
|
tax_test: 'Return test of taxonomic distributions for query datasets',
|
data/lib/miga/common/base.rb
CHANGED
@@ -29,10 +29,18 @@ class MiGA::MiGA
|
|
29
29
|
##
|
30
30
|
# Send debug message
|
31
31
|
def DEBUG(*args)
|
32
|
-
$stderr.puts(*args) if
|
32
|
+
$stderr.puts(*args) if debug?
|
33
33
|
$stderr.puts(
|
34
34
|
caller.map { |v| v.gsub(/^/, ' ') }.join("\n")
|
35
|
-
) if
|
35
|
+
) if debug_trace?
|
36
|
+
end
|
37
|
+
|
38
|
+
def debug?
|
39
|
+
@@DEBUG ||= false
|
40
|
+
end
|
41
|
+
|
42
|
+
def debug_trace?
|
43
|
+
@@DEBUG_TRACE ||= false
|
36
44
|
end
|
37
45
|
end
|
38
46
|
end
|
data/lib/miga/daemon.rb
CHANGED
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.0,
|
15
|
+
VERSION = [1.0, 5, 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 release.
|
23
|
-
VERSION_DATE = Date.new(2021,
|
23
|
+
VERSION_DATE = Date.new(2021, 8, 26)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
data/scripts/miga.bash
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
+
###
|
3
4
|
# Setup environment
|
4
5
|
set -e
|
5
|
-
|
6
|
+
eval "$("$MIGA/bin/miga" env)"
|
6
7
|
SCRIPT=${SCRIPT:-$(basename "$0" .bash)}
|
7
|
-
# shellcheck source=/dev/null
|
8
|
-
. "$MIGA_HOME/.miga_rc"
|
9
|
-
|
10
|
-
# Ensure MiGA & submodules are first in PATH
|
11
|
-
export PATH="$MIGA/bin:$PATH"
|
12
|
-
for util in enveomics/Scripts FastAAI/FastAAI multitrim ; do
|
13
|
-
export PATH="$MIGA/utils/$util:$PATH"
|
14
|
-
done
|
15
8
|
|
9
|
+
###
|
16
10
|
# Ancillary functions
|
11
|
+
|
12
|
+
# Evaluates if the first passed argument is an existing file
|
17
13
|
function exists { [[ -e "$1" ]] ; }
|
14
|
+
|
15
|
+
# Evaluates if the first passed argument is a function
|
18
16
|
function fx_exists { [[ $(type -t "$1") == "function" ]] ; }
|
17
|
+
|
18
|
+
# Initiate a project-wide run
|
19
19
|
function miga_start_project_step {
|
20
20
|
local dir="$1"
|
21
21
|
local dir_r="${dir}.running"
|
@@ -24,6 +24,8 @@ function miga_start_project_step {
|
|
24
24
|
cd "$dir_r"
|
25
25
|
miga date > "miga-project.start"
|
26
26
|
}
|
27
|
+
|
28
|
+
# Finalize a project-wide run
|
27
29
|
function miga_end_project_step {
|
28
30
|
local dir="$1"
|
29
31
|
local dir_r="${dir}.running"
|
data/utils/subclade/pipeline.rb
CHANGED
@@ -17,10 +17,10 @@ module MiGA::SubcladeRunner::Pipeline
|
|
17
17
|
metric_res = project.result(par[0]) or raise "Incomplete step #{par[0]}"
|
18
18
|
Zlib::GzipReader.open(metric_res.file_path(:matrix)) do |ifh|
|
19
19
|
ifh.each_line do |ln|
|
20
|
-
next if ln =~ /^
|
20
|
+
next if ln =~ /^a\tb\tvalue\t/
|
21
21
|
|
22
22
|
r = ln.chomp.split("\t")
|
23
|
-
ofh.puts "G>#{r[
|
23
|
+
ofh.puts "G>#{r[0]}\tG>#{r[1]}\t#{r[2]}" if r[2].to_f >= par[1]
|
24
24
|
end
|
25
25
|
end
|
26
26
|
ofh.close
|
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.0.0
|
4
|
+
version: 1.0.5.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: 2021-
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- lib/miga/cli/action/doctor.rb
|
142
142
|
- lib/miga/cli/action/doctor/base.rb
|
143
143
|
- lib/miga/cli/action/edit.rb
|
144
|
+
- lib/miga/cli/action/env.rb
|
144
145
|
- lib/miga/cli/action/files.rb
|
145
146
|
- lib/miga/cli/action/find.rb
|
146
147
|
- lib/miga/cli/action/generic.rb
|