miga-base 0.3.7.0 → 0.3.7.1

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
- SHA1:
3
- metadata.gz: 38acfea63f14c8cca837d84fbca92fa70d134e76
4
- data.tar.gz: 6c6f955e4ba5c3a90ead50a3ac38896df4febcf1
2
+ SHA256:
3
+ metadata.gz: aeb46208fbfdb522754876da59589895784fb72de06afdded9000066f34c569d
4
+ data.tar.gz: 61d2afe7e630ebc4635b38f3ee72ba89e7faebfaec502f130bb9bcadc970b951
5
5
  SHA512:
6
- metadata.gz: d4303872589a4d02f75d392957dfbcc06f5d3e1f78107a521833f98c3d11b155dbb16bb386e1ab50723d2cb12bcd2bba77ab87033c6a7916f49ce68ce59b4941
7
- data.tar.gz: 05134a38b3082e0a5982beb5f23d2a882ce4bba23c34cda1d81bd697288ac841861b6f2a07eeeafe691fed53816125f3de3fd75bf9a7fbea3d49a5975558cb3f
6
+ metadata.gz: 7ce52a87fa8f5fa8609546b6d98d9f8e49c139ad8894f45954cede0b3ce2dea7a7035dbdf308a0fb0478ea630e51d86476cc67102182091151e21fc6e6c698f3
7
+ data.tar.gz: e108be9b315fe8315278e2ff22fbf86e3896c01e132dedb0f0e2183e0415626beece1ea4d82318b5365b4b84a60294a9728171ef37efff2650b8f39c062f28cc
data/actions/init.rb CHANGED
@@ -3,41 +3,44 @@
3
3
  # @package MiGA
4
4
  # @license Artistic-2.0
5
5
 
6
- require "shellwords"
6
+ require 'shellwords'
7
7
 
8
- o = {q:true, mytaxa:nil, config:File.expand_path(".miga_modules", ENV["HOME"]),
9
- ask: false, auto:false, dtype: "bash"}
8
+ o = {q: true, mytaxa: nil,
9
+ config: File.expand_path('.miga_modules', ENV['HOME']),
10
+ ask: false, auto: false, dtype: 'bash'}
10
11
  OptionParser.new do |opt|
11
12
  opt_banner(opt)
12
- opt.on("-c","--config PATH",
13
- "Path to the Bash configuration file.",
13
+ opt.on('-c', '--config PATH',
14
+ 'Path to the Bash configuration file.',
14
15
  "By default: #{o[:config]}."){ |v| o[:config] = v }
15
- opt.on("--[no-]mytaxa",
16
- "Should I try setting up MyTaxa? By default: interactive."
16
+ opt.on('--[no-]mytaxa',
17
+ 'Should I try setting up MyTaxa its dependencies?',
18
+ 'By default: interactive (true if --auto).'
17
19
  ){ |v| o[:mytaxa] = v }
18
- opt.on("--daemon-type STRING",
19
- "Type of daemon launcher, one of: bash, qsub, msub.",
20
- "By default: #{o[:dtype]}."){ |v| o[:dtype]=v }
21
- opt.on("--ask-all", "If set, asks for the location of all software.",
22
- "By default, only the locations missing in PATH are requested"
20
+ opt.on('--daemon-type STRING',
21
+ 'Type of daemon launcher, one of: bash, qsub, msub, slurm.',
22
+ "By default: interactive (#{o[:dtype]} if --auto)."
23
+ ){ |v| o[:dtype]=v }
24
+ opt.on('--ask-all', 'If set, asks for the location of all software.',
25
+ 'By default, only the locations missing in PATH are requested.'
23
26
  ){ |v| o[:ask] = v }
24
- opt.on("--auto", "If set, accepts all defaults as answers."
27
+ opt.on('--auto', 'If set, accepts all defaults as answers.'
25
28
  ){ |v| o[:auto] = v }
26
29
  opt_common(opt, o)
27
30
  end.parse!
28
31
  $auto_answer = o[:auto]
29
32
 
30
- def ask_user(q, d=nil, ans=nil, force=false)
33
+ def ask_user(q, d = nil, ans = nil, force = false)
31
34
  $stderr.print "#{q}#{" (#{ans.join(" / ")})" unless ans.nil?}" +
32
35
  "#{" [#{d}]" unless d.nil?} > "
33
36
  if $auto_answer and not force
34
- $stderr.puts ""
37
+ $stderr.puts ''
35
38
  else
36
39
  o = gets.chomp
37
40
  end
38
41
  o = d if o.nil? or o.empty?
39
42
  unless ans.nil? or ans.include? o
40
- $stderr.puts "Answer not recognized."
43
+ $stderr.puts 'Answer not recognized.'
41
44
  return ask_user(q, d, ans)
42
45
  end
43
46
  o
@@ -55,23 +58,23 @@ make sure you have all the requirements for MiGA data processing.
55
58
  BANNER
56
59
 
57
60
  if ask_user(
58
- "Would you like to see all the requirements before starting?",
59
- "no", %w(yes no)) == "yes"
60
- File.open(File.expand_path("utils/requirements.txt", miga), "r") do |fh|
61
+ 'Would you like to see all the requirements before starting?',
62
+ 'no', %w(yes no)) == 'yes'
63
+ File.open(File.expand_path('utils/requirements.txt', miga), 'r') do |fh|
61
64
  fh.each_line{ |ln| $stderr.puts ln }
62
65
  end
63
66
  end
64
67
 
65
- rc_path = File.expand_path(".miga_rc", ENV["HOME"])
68
+ rc_path = File.expand_path('.miga_rc', ENV['HOME'])
66
69
  if File.exist? rc_path
67
70
  if ask_user(
68
- "I found a previous configuration. Do you want to continue?",
69
- "yes", %w(yes no))=="no"
70
- $stderr.puts "OK, see you soon!"
71
+ 'I found a previous configuration. Do you want to continue?',
72
+ 'yes', %w(yes no)) == 'no'
73
+ $stderr.puts 'OK, see you soon!'
71
74
  exit 0
72
75
  end
73
76
  end
74
- rc_fh = File.open(rc_path, "w")
77
+ rc_fh = File.open(rc_path, 'w')
75
78
  rc_fh.puts <<BASH
76
79
  #!/bin/bash
77
80
  # `miga init` made this on #{Time.now}
@@ -81,25 +84,26 @@ BASH
81
84
  # Check bash configuration file
82
85
  unless File.exist? o[:config]
83
86
  o[:config] = ask_user(
84
- "Is there a script I need to load at startup?", o[:config])
87
+ 'Is there a script I need to load at startup?', o[:config])
85
88
  end
86
89
  if File.exist? o[:config]
87
90
  o[:config] = File.expand_path o[:config]
88
91
  $stderr.puts "Found bash configuration script: #{o[:config]}."
89
92
  rc_fh.puts "MIGA_STARTUP='#{o[:config]}'"
90
- rc_fh.puts ". \"$MIGA_STARTUP\""
93
+ rc_fh.puts '. "$MIGA_STARTUP"'
91
94
  end
92
- $stderr.puts ""
95
+ $stderr.puts ''
93
96
 
94
97
  # Check for software requirements
95
- $stderr.puts "Looking for requirements:"
98
+ $stderr.puts 'Looking for requirements:'
96
99
  if o[:mytaxa].nil?
97
100
  o[:mytaxa] = ask_user(
98
- "Should I include MyTaxa modules?","yes",%w(yes no))=="yes"
101
+ 'Should I include MyTaxa modules?', 'yes', %w(yes no)) == 'yes'
99
102
  end
100
- rc_fh.puts "export MIGA_MYTAXA=\"no\"" unless o[:mytaxa]
103
+ rc_fh.puts 'export MIGA_MYTAXA="no"' unless o[:mytaxa]
101
104
  paths = {}
102
- File.open(File.expand_path("utils/requirements.txt", miga), "r") do |fh|
105
+ rc_fh.puts 'MIGA_PATH=""'
106
+ File.open(File.expand_path('utils/requirements.txt', miga), 'r') do |fh|
103
107
  fh.each_line do |ln|
104
108
  next if $. < 3
105
109
  r = ln.chomp.split(/\t+/)
@@ -112,8 +116,8 @@ File.open(File.expand_path("utils/requirements.txt", miga), "r") do |fh|
112
116
  else
113
117
  d_path = File.dirname(`which "#{r[1]}"`)
114
118
  end
115
- if o[:ask] or d_path=="."
116
- path = ask_user("Where can I find it?", d_path, nil, true)
119
+ if o[:ask] or d_path == '.'
120
+ path = ask_user('Where can I find it?', d_path, nil, true)
117
121
  else
118
122
  path = d_path
119
123
  $stderr.puts path
@@ -129,104 +133,130 @@ File.open(File.expand_path("utils/requirements.txt", miga), "r") do |fh|
129
133
  paths[r[1]] = File.expand_path(r[1], path).shellescape
130
134
  end
131
135
  end
132
- rc_fh.puts "export PATH=\"$MIGA_PATH$PATH\""
133
- $stderr.puts ""
136
+ rc_fh.puts 'export PATH="$MIGA_PATH$PATH"'
137
+ $stderr.puts ''
134
138
 
135
139
  # Check for other files
136
140
  if o[:mytaxa]
137
- $stderr.puts "Looking for MyTaxa databases:"
141
+ $stderr.puts 'Looking for MyTaxa databases:'
138
142
  mt = File.dirname paths["MyTaxa"]
139
- $stderr.print "Looking for scores... "
140
- unless Dir.exist? File.expand_path("db", mt)
141
- $stderr.puts "no.\nExecute 'python #{mt}/utils/download_db.py'."
143
+ $stderr.print 'Looking for scores... '
144
+ unless Dir.exist? File.expand_path('db', mt)
145
+ $stderr.puts "no.\nExecute 'python2 #{mt}/utils/download_db.py'."
142
146
  exit 1
143
147
  end
144
- $stderr.puts "yes."
145
- $stderr.print "Looking for diamond db... "
146
- unless File.exist? File.expand_path("AllGenomes.faa.dmnd", mt)
148
+ $stderr.puts 'yes.'
149
+ $stderr.print 'Looking for diamond db... '
150
+ unless File.exist? File.expand_path('AllGenomes.faa.dmnd', mt)
147
151
  $stderr.puts "no.\nDownload " +
148
152
  "'http://enve-omics.ce.gatech.edu/data/public_mytaxa/" +
149
153
  "AllGenomes.faa.dmnd' into #{mt}."
150
154
  exit 1
151
155
  end
152
- $stderr.puts ""
156
+ $stderr.puts ''
153
157
  end
154
158
 
155
159
  # Check for R packages
156
- $stderr.puts "Looking for R packages:"
160
+ $stderr.puts 'Looking for R packages:'
157
161
  %w(enveomics.R ape cluster vegan).each do |pkg|
158
162
  $stderr.print "Testing #{pkg}... "
159
163
  `echo "library('#{pkg}')" | #{paths["R"].shellescape} --vanilla -q 2>&1`
160
164
  if $?.success?
161
- $stderr.puts "yes."
165
+ $stderr.puts 'yes.'
162
166
  else
163
- $stderr.puts "no, installing."
164
- $stderr.print "" +
167
+ $stderr.puts 'no, installing.'
168
+ $stderr.print '' +
165
169
  `echo "install.packages('#{pkg}', repos='http://cran.rstudio.com/')" \
166
170
  | #{paths["R"].shellescape} --vanilla -q 2>&1`
167
171
  `echo "library('#{pkg}')" | #{paths["R"].shellescape} --vanilla -q 2>&1`
168
172
  raise "Unable to auto-install R package #{pkg}." unless $?.success?
169
173
  end
170
174
  end
171
- $stderr.puts ""
175
+ $stderr.puts ''
172
176
 
173
177
  # Check for Ruby gems
174
- $stderr.puts "Looking for Ruby gems:"
178
+ $stderr.puts 'Looking for Ruby gems:'
175
179
  %w(sqlite3 daemons json).each do |pkg|
176
180
  $stderr.print "Testing #{pkg}... "
177
181
  `#{paths["ruby"].shellescape} -r "#{pkg}" -e "" 2>/dev/null`
178
182
  if $?.success?
179
- $stderr.puts "yes."
183
+ $stderr.puts 'yes.'
180
184
  else
181
- $stderr.puts "no, installing."
185
+ $stderr.puts 'no, installing.'
182
186
  # This hackey mess is meant to ensure the test and installation are done
183
187
  # on the configuration Ruby, not on the Ruby currently executing the init
184
188
  # action
185
- $stderr.print `#{paths["ruby"].shellescape} \
189
+ $stderr.print `#{paths['ruby'].shellescape} \
186
190
  -r rubygems -r rubygems/gem_runner \
187
191
  -e "Gem::GemRunner.new.run %w(install --user #{pkg})" 2>&1`
188
192
  raise "Unable to auto-install Ruby gem #{pkg}." unless $?.success?
189
193
  end
190
194
  end
191
- $stderr.puts ""
195
+ $stderr.puts ''
192
196
 
193
197
  # Configure daemon
194
- $stderr.puts "Default daemon configuration:"
195
- daemon_f = File.expand_path(".miga_daemon.json", ENV["HOME"])
198
+ $stderr.puts 'Default daemon configuration:'
199
+ daemon_f = File.expand_path('.miga_daemon.json', ENV['HOME'])
196
200
  unless File.exist?(daemon_f) and ask_user(
197
- "A template daemon already exists, do you want to preserve it?",
198
- "yes", %w(yes no))=="yes"
201
+ 'A template daemon already exists, do you want to preserve it?',
202
+ 'yes', %w(yes no)) == 'yes'
199
203
  v = {created:Time.now.to_s, updated:Time.now.to_s}
200
- v[:type] = ask_user("Please select the type of daemon you want to setup",
201
- o[:dtype], %w(bash qsub msub))
204
+ v[:type] = ask_user('Please select the type of daemon you want to setup',
205
+ o[:dtype], %w(bash qsub msub slurm))
202
206
  case v[:type]
203
- when "bash"
204
- v[:latency] = ask_user("How long should I sleep? (in seconds)","30").to_i
205
- v[:maxjobs] = ask_user("How many jobs can I launch at once?", "6").to_i
206
- v[:ppn] = ask_user("How many CPUs can I use per job?", "2").to_i
207
- $stderr.puts "Setting up internal daemon defaults."
208
- $stderr.puts "If you don't understand this just leave default values:"
209
- v[:cmd] = ask_user(
207
+ when 'bash'
208
+ v[:latency] = ask_user('How long should I sleep? (in seconds)', '30').to_i
209
+ v[:maxjobs] = ask_user('How many jobs can I launch at once?', '6').to_i
210
+ v[:ppn] = ask_user('How many CPUs can I use per job?', '2').to_i
211
+ $stderr.puts 'Setting up internal daemon defaults.'
212
+ $stderr.puts 'If you don\'t understand this just leave default values:'
213
+ v[:cmd] = ask_user(
210
214
  "How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
211
215
  "%3$d: CPUs, %4$s: log file, %5$s: task name.\n",
212
216
  "%2$s '%1$s' > '%4$s' 2>&1")
213
- v[:var] = ask_user(
217
+ v[:var] = ask_user(
214
218
  "How should I pass variables?\n %1$s: keys, %2$s: values.\n",
215
219
  "%1$s=%2$s")
216
- v[:varsep] = ask_user("What should I use to separate variables?", " ")
217
- v[:alive] = ask_user(
220
+ v[:varsep] = ask_user('What should I use to separate variables?', ' ')
221
+ v[:alive] = ask_user(
218
222
  "How can I know that a process is still alive?\n %1$s: PID, " +
219
223
  "output should be 1 for running and 0 for non-running.\n",
220
224
  "ps -p '%1$s'|tail -n+2|wc -l")
221
225
  v[:kill] = ask_user(
222
226
  "How should I terminate tasks?\n %s: process ID.", "kill -9 '%s'")
227
+ when 'slurm'
228
+ queue = ask_user('What queue should I use?', nil, nil, true)
229
+ v[:latency] = ask_user(
230
+ 'How long should I sleep? (in seconds)', '150').to_i
231
+ v[:maxjobs] = ask_user('How many jobs can I launch at once?', '300').to_i
232
+ v[:ppn] = ask_user('How many CPUs can I use per job?', '4').to_i
233
+ $stderr.puts 'Setting up internal daemon defaults.'
234
+ $stderr.puts 'If you don\'t understand this just leave default values:'
235
+ v[:cmd] = ask_user(
236
+ "How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
237
+ "%3$d: CPUs, %4$d: log file, %5$s: task name.\n",
238
+ "%2$s sbatch --partition='#{queue}' --export=ALL " +
239
+ "--nodes=1 --ntasks-per-node=%3$d --output='%4$s' --job-name='%5$s' " +
240
+ "--mem=9G --time=12:00:00 %1$s | perl -pe 's/.* //'")
241
+ v[:var] = ask_user(
242
+ "How should I pass variables?\n %1$s: keys, %2$s: values.\n",
243
+ "%1$s=%2$s")
244
+ v[:varsep] = ask_user('What should I use to separate variables?', ' ')
245
+ v[:alive] = ask_user(
246
+ "How can I know that a process is still alive?\n %1$s: job id, " +
247
+ "output should be 1 for running and 0 for non-running.\n",
248
+ "squeue -h -o %t -j '%1$s' | grep '^PD\|R\|CF\|CG$' " +
249
+ "| tail -n 1 | wc -l")
250
+ v[:kill] = ask_user(
251
+ "How should I terminate tasks?\n %s: process ID.", "scancel '%s'")
223
252
  else # [qm]sub
224
- queue = ask_user("What queue should I use?", nil, nil, true)
225
- v[:latency] = ask_user("How long should I sleep? (in seconds)","150").to_i
226
- v[:maxjobs] = ask_user("How many jobs can I launch at once?", "300").to_i
227
- v[:ppn] = ask_user("How many CPUs can I use per job?", "4").to_i
228
- $stderr.puts "Setting up internal daemon defaults."
229
- $stderr.puts "If you don't understand this just leave default values:"
253
+ queue = ask_user('What queue should I use?', nil, nil, true)
254
+ v[:latency] = ask_user(
255
+ 'How long should I sleep? (in seconds)', '150').to_i
256
+ v[:maxjobs] = ask_user('How many jobs can I launch at once?', '300').to_i
257
+ v[:ppn] = ask_user('How many CPUs can I use per job?', '4').to_i
258
+ $stderr.puts 'Setting up internal daemon defaults.'
259
+ $stderr.puts 'If you don\'t understand this just leave default values:'
230
260
  v[:cmd] = ask_user(
231
261
  "How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
232
262
  "%3$d: CPUs, %4$d: log file, %5$s: task name.\n",
@@ -235,15 +265,15 @@ unless File.exist?(daemon_f) and ask_user(
235
265
  v[:var] = ask_user(
236
266
  "How should I pass variables?\n %1$s: keys, %2$s: values.\n",
237
267
  "%1$s=%2$s")
238
- v[:varsep] = ask_user("What should I use to separate variables?", ",")
239
- if v[:type] == "qsub"
268
+ v[:varsep] = ask_user('What should I use to separate variables?', ',')
269
+ if v[:type] == 'qsub'
240
270
  v[:alive] = ask_user(
241
271
  "How can I know that a process is still alive?\n %1$s: job id, " +
242
272
  "output should be 1 for running and 0 for non-running.\n",
243
273
  "qstat -f '%1$s'|grep ' job_state ='|perl -pe 's/.*= //'|grep '[^C]'"+
244
274
  "|tail -n1|wc -l|awk '{print $1}'")
245
- v[:kill] = ask_user(
246
- "How should I terminate tasks?\n %s: process ID.", "qdel '%s'")
275
+ v[:kill] = ask_user(
276
+ "How should I terminate tasks?\n %s: process ID.", "qdel '%s'")
247
277
  else
248
278
  v[:alive] = ask_user(
249
279
  "How can I know that a process is still alive?\n %1$s: job id, " +
@@ -251,13 +281,13 @@ unless File.exist?(daemon_f) and ask_user(
251
281
  "checkjob '%1$s'|grep '^State:'|perl -pe 's/.*: //'" +
252
282
  "|grep 'Deferred\\|Hold\\|Idle\\|Starting\\|Running\\|Blocked'"+
253
283
  "|tail -n1|wc -l|awk '{print $1}'")
254
- v[:kill] = ask_user(
255
- "How should I terminate tasks?\n %s: process ID.", "canceljob '%s'")
284
+ v[:kill] = ask_user(
285
+ "How should I terminate tasks?\n %s: process ID.", "canceljob '%s'")
256
286
  end
257
287
  end
258
- File.open(daemon_f, "w"){ |fh| fh.puts JSON.pretty_generate(v) }
288
+ File.open(daemon_f, 'w'){ |fh| fh.puts JSON.pretty_generate(v) }
259
289
  end
260
- $stderr.puts ""
290
+ $stderr.puts ''
261
291
 
262
292
  rc_fh.puts <<FOOT
263
293
 
@@ -267,5 +297,5 @@ MIGA_CONFIG_DATE='#{Time.now}'
267
297
 
268
298
  FOOT
269
299
 
270
- $stderr.puts "Configuration complete. MiGA is ready to work!"
271
- $stderr.puts ""
300
+ $stderr.puts 'Configuration complete. MiGA is ready to work!'
301
+ $stderr.puts ''
data/lib/miga/version.rb CHANGED
@@ -10,7 +10,7 @@ module MiGA
10
10
  # - Float representing the major.minor version.
11
11
  # - Integer representing gem releases of the current version.
12
12
  # - Integer representing minor changes that require new version number.
13
- VERSION = [0.3, 7, 0]
13
+ VERSION = [0.3, 7, 1]
14
14
 
15
15
  ##
16
16
  # Nickname for the current major.minor version.
@@ -0,0 +1 @@
1
+ utils/enveomics/Pipelines/assembly.pbs/../../Scripts/FastA.N50.pl
@@ -0,0 +1 @@
1
+ utils/enveomics/Pipelines/assembly.pbs/../../Scripts/FastA.filterN.pl
@@ -0,0 +1 @@
1
+ utils/enveomics/Pipelines/assembly.pbs/../../Scripts/FastA.length.pl
@@ -0,0 +1 @@
1
+ utils/enveomics/Pipelines/blast.pbs/../../Scripts/FastA.split.pl
@@ -0,0 +1 @@
1
+ utils/enveomics/Scripts/lib/../../enveomics.R
metadata CHANGED
@@ -1,95 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miga-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7.0
4
+ version: 0.3.7.1
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: 2019-02-05 00:00:00.000000000 Z
11
+ date: 2019-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.2'
20
- - - '>='
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.2.4
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.2'
30
- - - '>='
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.2.4
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: json
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>'
37
+ - - ">"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.8'
40
- - - <
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '3'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>'
47
+ - - ">"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '1.8'
50
- - - <
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '3'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: sqlite3
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '1.3'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ~>
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.3'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: rake
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '11'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '11'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: test-unit
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ~>
85
+ - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '3'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ~>
92
+ - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '3'
95
95
  description: Microbial Genomes Atlas
@@ -100,43 +100,62 @@ extensions: []
100
100
  extra_rdoc_files:
101
101
  - README.md
102
102
  files:
103
+ - Gemfile
104
+ - LICENSE
105
+ - README.md
106
+ - Rakefile
107
+ - actions/about.rb
108
+ - actions/add.rb
109
+ - actions/add_result.rb
110
+ - actions/daemon.rb
111
+ - actions/date.rb
112
+ - actions/doctor.rb
113
+ - actions/files.rb
114
+ - actions/find.rb
115
+ - actions/get.rb
116
+ - actions/init.rb
117
+ - actions/ln.rb
118
+ - actions/ls.rb
119
+ - actions/ncbi_get.rb
120
+ - actions/new.rb
121
+ - actions/plugins.rb
122
+ - actions/rm.rb
123
+ - actions/run.rb
124
+ - actions/stats.rb
125
+ - actions/summary.rb
126
+ - actions/tax_dist.rb
127
+ - actions/tax_index.rb
128
+ - actions/tax_set.rb
129
+ - actions/tax_test.rb
130
+ - bin/miga
131
+ - lib/miga.rb
132
+ - lib/miga/_data/aai-intax.tsv.gz
133
+ - lib/miga/_data/aai-novel.tsv.gz
134
+ - lib/miga/common.rb
103
135
  - lib/miga/common/base.rb
104
136
  - lib/miga/common/format.rb
105
137
  - lib/miga/common/path.rb
106
- - lib/miga/common.rb
107
- - lib/miga/daemon/base.rb
108
138
  - lib/miga/daemon.rb
139
+ - lib/miga/daemon/base.rb
140
+ - lib/miga/dataset.rb
109
141
  - lib/miga/dataset/base.rb
110
142
  - lib/miga/dataset/result.rb
111
- - lib/miga/dataset.rb
112
143
  - lib/miga/metadata.rb
144
+ - lib/miga/project.rb
113
145
  - lib/miga/project/base.rb
114
146
  - lib/miga/project/dataset.rb
115
147
  - lib/miga/project/plugins.rb
116
148
  - lib/miga/project/result.rb
117
- - lib/miga/project.rb
149
+ - lib/miga/remote_dataset.rb
118
150
  - lib/miga/remote_dataset/base.rb
119
151
  - lib/miga/remote_dataset/download.rb
120
- - lib/miga/remote_dataset.rb
152
+ - lib/miga/result.rb
121
153
  - lib/miga/result/base.rb
122
154
  - lib/miga/result/dates.rb
123
- - lib/miga/result.rb
124
155
  - lib/miga/tax_dist.rb
125
156
  - lib/miga/tax_index.rb
126
157
  - lib/miga/taxonomy.rb
127
158
  - lib/miga/version.rb
128
- - lib/miga.rb
129
- - test/common_test.rb
130
- - test/daemon_test.rb
131
- - test/dataset_test.rb
132
- - test/metadata_test.rb
133
- - test/project_test.rb
134
- - test/remote_dataset_test.rb
135
- - test/tax_index_test.rb
136
- - test/taxonomy_test.rb
137
- - test/test_helper.rb
138
- - lib/miga/_data/aai-intax.tsv.gz
139
- - lib/miga/_data/aai-novel.tsv.gz
140
159
  - scripts/aai_distances.bash
141
160
  - scripts/ani_distances.bash
142
161
  - scripts/assembly.bash
@@ -158,6 +177,15 @@ files:
158
177
  - scripts/taxonomy.bash
159
178
  - scripts/trimmed_fasta.bash
160
179
  - scripts/trimmed_reads.bash
180
+ - test/common_test.rb
181
+ - test/daemon_test.rb
182
+ - test/dataset_test.rb
183
+ - test/metadata_test.rb
184
+ - test/project_test.rb
185
+ - test/remote_dataset_test.rb
186
+ - test/tax_index_test.rb
187
+ - test/taxonomy_test.rb
188
+ - test/test_helper.rb
161
189
  - utils/adapters.fa
162
190
  - utils/arch-ess-genes.rb
163
191
  - utils/cleanup-databases.rb
@@ -169,83 +197,13 @@ files:
169
197
  - utils/distance/runner.rb
170
198
  - utils/distance/temporal.rb
171
199
  - utils/distances.rb
172
- - utils/enveomics/build_enveomics_r.bash
173
200
  - utils/enveomics/Docs/recplot2.md
174
- - utils/enveomics/enveomics.R/data/growth.curves.rda
175
- - utils/enveomics/enveomics.R/data/phyla.counts.rda
176
- - utils/enveomics/enveomics.R/DESCRIPTION
177
- - utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd
178
- - utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd
179
- - utils/enveomics/enveomics.R/man/enve.__tribs.Rd
180
- - utils/enveomics/enveomics.R/man/enve.barplot.Rd
181
- - utils/enveomics/enveomics.R/man/enve.cliopts.Rd
182
- - utils/enveomics/enveomics.R/man/enve.col.alpha.Rd
183
- - utils/enveomics/enveomics.R/man/enve.col2alpha.Rd
184
- - utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd
185
- - utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd
186
- - utils/enveomics/enveomics.R/man/enve.df2dist.Rd
187
- - utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd
188
- - utils/enveomics/enveomics.R/man/enve.growthcurve.Rd
189
- - utils/enveomics/enveomics.R/man/enve.prune.dist.Rd
190
- - utils/enveomics/enveomics.R/man/enve.recplot.Rd
191
- - utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd
192
- - utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd
193
- - utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd
194
- - utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd
195
- - utils/enveomics/enveomics.R/man/enve.recplot2.ANIr.Rd
196
- - utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd
197
- - utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd
198
- - utils/enveomics/enveomics.R/man/enve.recplot2.coordinates.Rd
199
- - utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd
200
- - utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd
201
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_e.Rd
202
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_m.Rd
203
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__emauto_one.Rd
204
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd
205
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mower.Rd
206
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd
207
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd
208
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd
209
- - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd
210
- - utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd
211
- - utils/enveomics/enveomics.R/man/enve.recplot2.Rd
212
- - utils/enveomics/enveomics.R/man/enve.recplot2.seqdepth.Rd
213
- - utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd
214
- - utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd
215
- - utils/enveomics/enveomics.R/man/enve.tribs.Rd
216
- - utils/enveomics/enveomics.R/man/enve.tribs.test.Rd
217
- - utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd
218
- - utils/enveomics/enveomics.R/man/enveomics.R-package.Rd
219
- - utils/enveomics/enveomics.R/man/growth.curves.Rd
220
- - utils/enveomics/enveomics.R/man/phyla.counts.Rd
221
- - utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd
222
- - utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd
223
- - utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd
224
- - utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd
225
- - utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd
226
- - utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd
227
- - utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd
228
- - utils/enveomics/enveomics.R/man/z$-methods.Rd
229
- - utils/enveomics/enveomics.R/NAMESPACE
230
- - utils/enveomics/enveomics.R/R/autoprune.R
231
- - utils/enveomics/enveomics.R/R/barplot.R
232
- - utils/enveomics/enveomics.R/R/cliopts.R
233
- - utils/enveomics/enveomics.R/R/df2dist.R
234
- - utils/enveomics/enveomics.R/R/growthcurve.R
235
- - utils/enveomics/enveomics.R/R/recplot.R
236
- - utils/enveomics/enveomics.R/R/recplot2.R
237
- - utils/enveomics/enveomics.R/R/tribs.R
238
- - utils/enveomics/enveomics.R/R/utils.R
239
- - utils/enveomics/enveomics.R/README.md
240
201
  - utils/enveomics/Examples/aai-matrix.bash
241
202
  - utils/enveomics/Examples/ani-matrix.bash
242
203
  - utils/enveomics/Examples/essential-phylogeny.bash
243
204
  - utils/enveomics/Examples/unus-genome-phylogeny.bash
244
- - utils/enveomics/globals.mk
245
205
  - utils/enveomics/LICENSE.txt
246
206
  - utils/enveomics/Makefile
247
- - utils/enveomics/Manifest/categories.json
248
- - utils/enveomics/Manifest/examples.json
249
207
  - utils/enveomics/Manifest/Tasks/aasubs.json
250
208
  - utils/enveomics/Manifest/Tasks/blasttab.json
251
209
  - utils/enveomics/Manifest/Tasks/distances.json
@@ -260,20 +218,21 @@ files:
260
218
  - utils/enveomics/Manifest/Tasks/tables.json
261
219
  - utils/enveomics/Manifest/Tasks/trees.json
262
220
  - utils/enveomics/Manifest/Tasks/variants.json
221
+ - utils/enveomics/Manifest/categories.json
222
+ - utils/enveomics/Manifest/examples.json
263
223
  - utils/enveomics/Manifest/tasks.json
264
- - utils/enveomics/manifest.json
265
224
  - utils/enveomics/Pipelines/assembly.pbs/CONFIG.mock.bash
225
+ - utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl
266
226
  - utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl
267
227
  - utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl
268
- - utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl
269
- - utils/enveomics/Pipelines/assembly.pbs/kSelector.R
270
- - utils/enveomics/Pipelines/assembly.pbs/newbler.pbs
271
- - utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl
272
228
  - utils/enveomics/Pipelines/assembly.pbs/README.md
273
229
  - utils/enveomics/Pipelines/assembly.pbs/RUNME-2.bash
274
230
  - utils/enveomics/Pipelines/assembly.pbs/RUNME-3.bash
275
231
  - utils/enveomics/Pipelines/assembly.pbs/RUNME-4.bash
276
232
  - utils/enveomics/Pipelines/assembly.pbs/RUNME.bash
233
+ - utils/enveomics/Pipelines/assembly.pbs/kSelector.R
234
+ - utils/enveomics/Pipelines/assembly.pbs/newbler.pbs
235
+ - utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl
277
236
  - utils/enveomics/Pipelines/assembly.pbs/soap.pbs
278
237
  - utils/enveomics/Pipelines/assembly.pbs/stats.pbs
279
238
  - utils/enveomics/Pipelines/assembly.pbs/velvet.pbs
@@ -285,25 +244,23 @@ files:
285
244
  - utils/enveomics/Pipelines/blast.pbs/FastA.split.pl
286
245
  - utils/enveomics/Pipelines/blast.pbs/README.md
287
246
  - utils/enveomics/Pipelines/blast.pbs/RUNME.bash
288
- - utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash
289
247
  - utils/enveomics/Pipelines/blast.pbs/TASK.check.bash
290
248
  - utils/enveomics/Pipelines/blast.pbs/TASK.dry.bash
291
249
  - utils/enveomics/Pipelines/blast.pbs/TASK.eo.bash
292
250
  - utils/enveomics/Pipelines/blast.pbs/TASK.pause.bash
293
251
  - utils/enveomics/Pipelines/blast.pbs/TASK.run.bash
252
+ - utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash
294
253
  - utils/enveomics/Pipelines/idba.pbs/README.md
295
- - utils/enveomics/Pipelines/idba.pbs/run.pbs
296
254
  - utils/enveomics/Pipelines/idba.pbs/RUNME.bash
255
+ - utils/enveomics/Pipelines/idba.pbs/run.pbs
297
256
  - utils/enveomics/Pipelines/trim.pbs/README.md
298
- - utils/enveomics/Pipelines/trim.pbs/run.pbs
299
257
  - utils/enveomics/Pipelines/trim.pbs/RUNME.bash
258
+ - utils/enveomics/Pipelines/trim.pbs/run.pbs
300
259
  - utils/enveomics/README.md
301
- - utils/enveomics/Scripts/aai.rb
302
260
  - utils/enveomics/Scripts/AAsubs.log2ratio.rb
303
261
  - utils/enveomics/Scripts/Aln.cat.rb
304
262
  - utils/enveomics/Scripts/Aln.convert.pl
305
263
  - utils/enveomics/Scripts/AlphaDiversity.pl
306
- - utils/enveomics/Scripts/ani.rb
307
264
  - utils/enveomics/Scripts/BedGraph.tad.rb
308
265
  - utils/enveomics/Scripts/BedGraph.window.rb
309
266
  - utils/enveomics/Scripts/BlastPairwise.AAsubs.pl
@@ -318,16 +275,16 @@ files:
318
275
  - utils/enveomics/Scripts/BlastTab.pairedHits.rb
319
276
  - utils/enveomics/Scripts/BlastTab.recplot2.R
320
277
  - utils/enveomics/Scripts/BlastTab.seqdepth.pl
321
- - utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl
322
278
  - utils/enveomics/Scripts/BlastTab.seqdepth_ZIP.pl
279
+ - utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl
323
280
  - utils/enveomics/Scripts/BlastTab.subsample.pl
324
281
  - utils/enveomics/Scripts/BlastTab.sumPerHit.pl
325
282
  - utils/enveomics/Scripts/BlastTab.taxid2taxrank.pl
326
283
  - utils/enveomics/Scripts/BlastTab.topHits_sorted.rb
327
284
  - utils/enveomics/Scripts/Chao1.pl
328
285
  - utils/enveomics/Scripts/CharTable.classify.rb
329
- - utils/enveomics/Scripts/clust.rand.rb
330
286
  - utils/enveomics/Scripts/EBIseq2tax.rb
287
+ - utils/enveomics/Scripts/FastA.N50.pl
331
288
  - utils/enveomics/Scripts/FastA.filter.pl
332
289
  - utils/enveomics/Scripts/FastA.filterLen.pl
333
290
  - utils/enveomics/Scripts/FastA.filterN.pl
@@ -335,7 +292,6 @@ files:
335
292
  - utils/enveomics/Scripts/FastA.gc.pl
336
293
  - utils/enveomics/Scripts/FastA.interpose.pl
337
294
  - utils/enveomics/Scripts/FastA.length.pl
338
- - utils/enveomics/Scripts/FastA.N50.pl
339
295
  - utils/enveomics/Scripts/FastA.per_file.pl
340
296
  - utils/enveomics/Scripts/FastA.qlen.pl
341
297
  - utils/enveomics/Scripts/FastA.rename.pl
@@ -354,37 +310,22 @@ files:
354
310
  - utils/enveomics/Scripts/FastQ.test-error.rb
355
311
  - utils/enveomics/Scripts/FastQ.toFastA.awk
356
312
  - utils/enveomics/Scripts/GenBank.add_fields.rb
357
- - utils/enveomics/Scripts/gi2tax.rb
358
313
  - utils/enveomics/Scripts/HMM.essential.rb
359
314
  - utils/enveomics/Scripts/HMMsearch.extractIds.rb
360
- - utils/enveomics/Scripts/in_silico_GA_GI.pl
361
315
  - utils/enveomics/Scripts/JPlace.distances.rb
362
316
  - utils/enveomics/Scripts/JPlace.to_iToL.rb
363
- - utils/enveomics/Scripts/lib/data/essential.hmm.gz
364
- - utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb
365
- - utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb
366
- - utils/enveomics/Scripts/lib/enveomics_rb/og.rb
367
- - utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb
368
- - utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb
369
- - utils/enveomics/Scripts/lib/enveomics_rb/stat.rb
370
- - utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb
371
317
  - utils/enveomics/Scripts/M5nr.getSequences.rb
372
318
  - utils/enveomics/Scripts/MeTaxa.distribution.pl
373
319
  - utils/enveomics/Scripts/MyTaxa.fragsByTax.pl
374
320
  - utils/enveomics/Scripts/MyTaxa.seq-taxrank.rb
375
321
  - utils/enveomics/Scripts/NCBIacc2tax.rb
376
322
  - utils/enveomics/Scripts/Newick.autoprune.R
377
- - utils/enveomics/Scripts/ogs.annotate.rb
378
- - utils/enveomics/Scripts/ogs.core-pan.rb
379
- - utils/enveomics/Scripts/ogs.extract.rb
380
- - utils/enveomics/Scripts/ogs.mcl.rb
381
- - utils/enveomics/Scripts/ogs.rb
382
- - utils/enveomics/Scripts/ogs.stats.rb
383
323
  - utils/enveomics/Scripts/RAxML-EPA.to_iToL.pl
384
- - utils/enveomics/Scripts/rbm.rb
385
324
  - utils/enveomics/Scripts/RecPlot2.compareIdentities.R
386
325
  - utils/enveomics/Scripts/RefSeq.download.bash
387
326
  - utils/enveomics/Scripts/SRA.download.bash
327
+ - utils/enveomics/Scripts/TRIBS.plot-test.R
328
+ - utils/enveomics/Scripts/TRIBS.test.R
388
329
  - utils/enveomics/Scripts/Table.barplot.R
389
330
  - utils/enveomics/Scripts/Table.df2dist.R
390
331
  - utils/enveomics/Scripts/Table.filter.pl
@@ -393,10 +334,38 @@ files:
393
334
  - utils/enveomics/Scripts/Table.round.rb
394
335
  - utils/enveomics/Scripts/Table.split.pl
395
336
  - utils/enveomics/Scripts/Taxonomy.silva2ncbi.rb
396
- - utils/enveomics/Scripts/TRIBS.plot-test.R
397
- - utils/enveomics/Scripts/TRIBS.test.R
398
337
  - utils/enveomics/Scripts/VCF.KaKs.rb
399
338
  - utils/enveomics/Scripts/VCF.SNPs.rb
339
+ - utils/enveomics/Scripts/aai.rb
340
+ - utils/enveomics/Scripts/ani.rb
341
+ - utils/enveomics/Scripts/clust.rand.rb
342
+ - utils/enveomics/Scripts/gi2tax.rb
343
+ - utils/enveomics/Scripts/in_silico_GA_GI.pl
344
+ - utils/enveomics/Scripts/lib/data/essential.hmm.gz
345
+ - utils/enveomics/Scripts/lib/enveomics.R
346
+ - utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb
347
+ - utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb
348
+ - utils/enveomics/Scripts/lib/enveomics_rb/og.rb
349
+ - utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb
350
+ - utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb
351
+ - utils/enveomics/Scripts/lib/enveomics_rb/stat.rb
352
+ - utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb
353
+ - utils/enveomics/Scripts/ogs.annotate.rb
354
+ - utils/enveomics/Scripts/ogs.core-pan.rb
355
+ - utils/enveomics/Scripts/ogs.extract.rb
356
+ - utils/enveomics/Scripts/ogs.mcl.rb
357
+ - utils/enveomics/Scripts/ogs.rb
358
+ - utils/enveomics/Scripts/ogs.stats.rb
359
+ - utils/enveomics/Scripts/rbm.rb
360
+ - utils/enveomics/Tests/Makefile
361
+ - utils/enveomics/Tests/Mgen_M2288.faa
362
+ - utils/enveomics/Tests/Mgen_M2288.fna
363
+ - utils/enveomics/Tests/Mgen_M2321.fna
364
+ - utils/enveomics/Tests/Nequ_Kin4M.faa
365
+ - utils/enveomics/Tests/Xanthomonas_oryzae-PilA.tribs.Rdata
366
+ - utils/enveomics/Tests/Xanthomonas_oryzae-PilA.txt
367
+ - utils/enveomics/Tests/Xanthomonas_oryzae.aai-mat.tsv
368
+ - utils/enveomics/Tests/Xanthomonas_oryzae.aai.tsv
400
369
  - utils/enveomics/Tests/a_mg.cds-go.blast.tsv
401
370
  - utils/enveomics/Tests/a_mg.reads-cds.blast.tsv
402
371
  - utils/enveomics/Tests/a_mg.reads-cds.counts.tsv
@@ -409,11 +378,6 @@ files:
409
378
  - utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv
410
379
  - utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.lim
411
380
  - utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.rec
412
- - utils/enveomics/Tests/Makefile
413
- - utils/enveomics/Tests/Mgen_M2288.faa
414
- - utils/enveomics/Tests/Mgen_M2288.fna
415
- - utils/enveomics/Tests/Mgen_M2321.fna
416
- - utils/enveomics/Tests/Nequ_Kin4M.faa
417
381
  - utils/enveomics/Tests/phyla_counts.tsv
418
382
  - utils/enveomics/Tests/primate_lentivirus.ogs
419
383
  - utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv1.rbm
@@ -422,10 +386,75 @@ files:
422
386
  - utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-hiv2.rbm
423
387
  - utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-siv.rbm
424
388
  - utils/enveomics/Tests/primate_lentivirus.rbm/siv-siv.rbm
425
- - utils/enveomics/Tests/Xanthomonas_oryzae-PilA.tribs.Rdata
426
- - utils/enveomics/Tests/Xanthomonas_oryzae-PilA.txt
427
- - utils/enveomics/Tests/Xanthomonas_oryzae.aai-mat.tsv
428
- - utils/enveomics/Tests/Xanthomonas_oryzae.aai.tsv
389
+ - utils/enveomics/build_enveomics_r.bash
390
+ - utils/enveomics/enveomics.R/DESCRIPTION
391
+ - utils/enveomics/enveomics.R/NAMESPACE
392
+ - utils/enveomics/enveomics.R/R/autoprune.R
393
+ - utils/enveomics/enveomics.R/R/barplot.R
394
+ - utils/enveomics/enveomics.R/R/cliopts.R
395
+ - utils/enveomics/enveomics.R/R/df2dist.R
396
+ - utils/enveomics/enveomics.R/R/growthcurve.R
397
+ - utils/enveomics/enveomics.R/R/recplot.R
398
+ - utils/enveomics/enveomics.R/R/recplot2.R
399
+ - utils/enveomics/enveomics.R/R/tribs.R
400
+ - utils/enveomics/enveomics.R/R/utils.R
401
+ - utils/enveomics/enveomics.R/README.md
402
+ - utils/enveomics/enveomics.R/data/growth.curves.rda
403
+ - utils/enveomics/enveomics.R/data/phyla.counts.rda
404
+ - utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd
405
+ - utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd
406
+ - utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd
407
+ - utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd
408
+ - utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd
409
+ - utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd
410
+ - utils/enveomics/enveomics.R/man/enve.__tribs.Rd
411
+ - utils/enveomics/enveomics.R/man/enve.barplot.Rd
412
+ - utils/enveomics/enveomics.R/man/enve.cliopts.Rd
413
+ - utils/enveomics/enveomics.R/man/enve.col.alpha.Rd
414
+ - utils/enveomics/enveomics.R/man/enve.col2alpha.Rd
415
+ - utils/enveomics/enveomics.R/man/enve.df2dist.Rd
416
+ - utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd
417
+ - utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd
418
+ - utils/enveomics/enveomics.R/man/enve.growthcurve.Rd
419
+ - utils/enveomics/enveomics.R/man/enve.prune.dist.Rd
420
+ - utils/enveomics/enveomics.R/man/enve.recplot.Rd
421
+ - utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd
422
+ - utils/enveomics/enveomics.R/man/enve.recplot2.ANIr.Rd
423
+ - utils/enveomics/enveomics.R/man/enve.recplot2.Rd
424
+ - utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd
425
+ - utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd
426
+ - utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd
427
+ - utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd
428
+ - utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd
429
+ - utils/enveomics/enveomics.R/man/enve.recplot2.coordinates.Rd
430
+ - utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd
431
+ - utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd
432
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd
433
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_e.Rd
434
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_m.Rd
435
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__emauto_one.Rd
436
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd
437
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mower.Rd
438
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd
439
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd
440
+ - utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd
441
+ - utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd
442
+ - utils/enveomics/enveomics.R/man/enve.recplot2.seqdepth.Rd
443
+ - utils/enveomics/enveomics.R/man/enve.tribs.Rd
444
+ - utils/enveomics/enveomics.R/man/enve.tribs.test.Rd
445
+ - utils/enveomics/enveomics.R/man/enveomics.R-package.Rd
446
+ - utils/enveomics/enveomics.R/man/growth.curves.Rd
447
+ - utils/enveomics/enveomics.R/man/phyla.counts.Rd
448
+ - utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd
449
+ - utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd
450
+ - utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd
451
+ - utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd
452
+ - utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd
453
+ - utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd
454
+ - utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd
455
+ - utils/enveomics/enveomics.R/man/z$-methods.Rd
456
+ - utils/enveomics/globals.mk
457
+ - utils/enveomics/manifest.json
429
458
  - utils/find-medoid.R
430
459
  - utils/index_metadata.rb
431
460
  - utils/mytaxa_scan.R
@@ -442,34 +471,6 @@ files:
442
471
  - utils/subclades-nj.R
443
472
  - utils/subclades.R
444
473
  - utils/subclades.rb
445
- - bin/miga
446
- - actions/about.rb
447
- - actions/add.rb
448
- - actions/add_result.rb
449
- - actions/daemon.rb
450
- - actions/date.rb
451
- - actions/doctor.rb
452
- - actions/files.rb
453
- - actions/find.rb
454
- - actions/get.rb
455
- - actions/init.rb
456
- - actions/ln.rb
457
- - actions/ls.rb
458
- - actions/ncbi_get.rb
459
- - actions/new.rb
460
- - actions/plugins.rb
461
- - actions/rm.rb
462
- - actions/run.rb
463
- - actions/stats.rb
464
- - actions/summary.rb
465
- - actions/tax_dist.rb
466
- - actions/tax_index.rb
467
- - actions/tax_set.rb
468
- - actions/tax_test.rb
469
- - Gemfile
470
- - Rakefile
471
- - README.md
472
- - LICENSE
473
474
  homepage: http://enve-omics.ce.gatech.edu/miga
474
475
  licenses:
475
476
  - Artistic-2.0
@@ -478,27 +479,26 @@ post_install_message:
478
479
  rdoc_options:
479
480
  - lib
480
481
  - README.md
481
- - --main
482
+ - "--main"
482
483
  - README.md
483
- - --title
484
+ - "--title"
484
485
  - MiGA
485
486
  require_paths:
486
487
  - lib
487
488
  required_ruby_version: !ruby/object:Gem::Requirement
488
489
  requirements:
489
- - - '>='
490
+ - - ">="
490
491
  - !ruby/object:Gem::Version
491
492
  version: '1.9'
492
493
  required_rubygems_version: !ruby/object:Gem::Requirement
493
494
  requirements:
494
- - - '>='
495
+ - - ">="
495
496
  - !ruby/object:Gem::Version
496
497
  version: '0'
497
498
  requirements: []
498
499
  rubyforge_project:
499
- rubygems_version: 2.0.14.1
500
+ rubygems_version: 2.7.7
500
501
  signing_key:
501
502
  specification_version: 4
502
503
  summary: MiGA
503
504
  test_files: []
504
- has_rdoc:
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env perl
2
- #
3
- # @author: Luis M. Rodriguez-R <lmrodriguezr at gmail dot com>
4
- # @update: Oct 07 2015
5
- # @license: artistic license 2.0
6
- #
7
- use strict;
8
- use warnings;
9
- use List::Util qw/sum min max/;
10
-
11
- my ($seqs, $minlen, $n__) = @ARGV;
12
- $seqs or die "
13
- Description:
14
- Calculates the N50 value of a set of sequences. Alternatively, it
15
- can calculate other N** values. It also calculates the total number
16
- of sequences and the total added length.
17
-
18
- Usage:
19
- $0 seqs.fa[ minlen[ **]]
20
-
21
- seqs.fa A FastA file containing the sequences.
22
- minlen (optional) The minimum length to take into consideration.
23
- By default: 0.
24
- ** Value N** to calculate. By default: 50 (N50).
25
- ";
26
- $minlen ||= 0;
27
- $n__ ||= 50;
28
-
29
- my @len = ();
30
- open SEQ, "<", $seqs or die "Cannot open file: $seqs: $!\n";
31
- while(<SEQ>){
32
- if(/^>/){
33
- push @len, 0;
34
- }else{
35
- next if /^;/;
36
- chomp;
37
- s/\W//g;
38
- $len[-1]+=length $_;
39
- }
40
- }
41
- close SEQ;
42
- @len = sort { $a <=> $b } map { $_>=$minlen?$_:() } @len;
43
- my $tot = (sum(@len) || 0);
44
-
45
- my $thr = $n__*$tot/100;
46
- my $pos = 0;
47
- for(@len){
48
- $pos+= $_;
49
- if($pos>=$thr){
50
- print "N$n__: $_\n";
51
- last;
52
- }
53
- }
54
- print "Sequences: ".scalar(@len)."\n";
55
- print "Total length: $tot\n";
56
-
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env perl
2
- #
3
- # @author Luis M. Rodriguez-R
4
- # @update Oct-07-2015
5
- # @license artistic license 2.0
6
- #
7
-
8
- use warnings;
9
- use strict;
10
-
11
- my($file, $content, $stretch) = @ARGV;
12
- $file or die <<HELP
13
-
14
- Description:
15
- Filter sequences by N-content and presence of long homopolymers.
16
- Usage:
17
- $0 sequences.fa [content [stretch]] > filtered.fa
18
- Where:
19
- sequences.fa Input file in FastA format
20
- content A number between 0 and 1 indicating the maximum proportion of Ns
21
- (1 to turn off, 0.5 by default)
22
- stretch A number indicating the maximum number of consecutive identical
23
- nucleotides allowed (0 to turn off, 100 by default)
24
- filtered.fa Filtered set of sequences.
25
-
26
- HELP
27
- ;
28
- ($content ||= 0.5)+=0;
29
- ($stretch ||= 100)+=0;
30
-
31
- my $good = 0;
32
- my $N = 0;
33
-
34
- FASTA: {
35
- local $/ = "\n>";
36
- open FILE, "<", $file or die "I can not open the file: $file: $!\n";
37
- SEQ: while(<FILE>){
38
- $N++;
39
- s/^;.*//gm;
40
- s/>//g;
41
- my($n,$s) = split /\n/, $_, 2;
42
- (my $clean = $s) =~ s/[^ACTGN]//g;
43
- if($content < 1){
44
- (my $Ns = $clean) =~ s/[^N]//g;
45
- next SEQ if length($Ns)>length($clean)*$content;
46
- }
47
- if($stretch > 0){
48
- for my $nuc (qw(A C T G N)){
49
- next SEQ if $clean =~ m/[$nuc]{$stretch}/;
50
- }
51
- }
52
- print ">$n\n$s\n";
53
- $good++;
54
- }
55
- close FILE;
56
- print STDERR "Total sequences: $N\nAfter filtering: $good\n";
57
- }
58
-
59
-
60
-
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env perl
2
- #
3
- # @author Luis M Rodriguez-R
4
- # @update Oct-07-2015
5
- # @license artistic license 2.0
6
- #
7
-
8
- use warnings;
9
- use strict;
10
-
11
- $#ARGV>=0 or die "
12
- Usage:
13
- $0 seqs.fa... > length.txt
14
-
15
- seqs.fa One or more FastA files.
16
- length.txt A table with the lengths of the sequences.
17
-
18
- ";
19
-
20
- for my $fa (@ARGV){
21
- open FA, "<", $fa or die "Cannot open file: $fa: $!\n";
22
- my $def = '';
23
- my $len = 0;
24
- while(<FA>){
25
- next if /^;/;
26
- if(m/^>(\S+)\s?/){
27
- print "$def\t$len\n" if $def;
28
- $def = $1;
29
- $len = 0;
30
- }else{
31
- s/[^A-Za-z]//g;
32
- $len+= length $_;
33
- }
34
- }
35
- print "$def\t$len\n" if $def;
36
- close FA;
37
- }
38
-
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env perl
2
- #
3
- # @author Luis M. Rodriguez-R <lmrodriguezr at gmail dot com>
4
- # @update Oct-13-2015
5
- # @license artistic license 2.0
6
- #
7
-
8
- use warnings;
9
- use strict;
10
- use Symbol;
11
-
12
- my ($file, $base, $outN) = @ARGV;
13
-
14
- $outN ||= 12;
15
- ($file and $base) or die "
16
- Usage
17
- $0 in_file.fa out_base[ no_files]
18
-
19
- in_file.fa Input file in FastA format.
20
- out_base Prefix for the name of the output files. It will
21
- be appended with .<i>.fa, where <i> is a consecutive
22
- number starting in 1.
23
- no_files Number of files to generate. By default: 12.
24
-
25
- ";
26
-
27
-
28
- my @outSym = ();
29
- for my $i (1 .. $outN){
30
- $outSym[$i-1] = gensym;
31
- open $outSym[$i-1], ">", "$base.$i.fa" or
32
- die "I can not create the file: $base.$i.fa: $!\n";
33
- }
34
-
35
-
36
- my($i, $seq) = (-1, '');
37
- open FILE, "<", $file or die "I can not read the file: $file: $!\n";
38
- while(my $ln=<FILE>){
39
- next if $ln=~/^;/;
40
- if($ln =~ m/^>/){
41
- print { $outSym[$i % $outN] } $seq if $seq;
42
- $i++;
43
- $seq = '';
44
- }
45
- $seq.=$ln;
46
- }
47
- print { $outSym[$i % $outN] } $seq if $seq;
48
- close FILE;
49
-
50
- for(my $j=0; $j<$outN; $j++){
51
- close $outSym[$j];
52
- }
53
-
54
- print STDERR "Sequences: ".($i+1)."\nFiles: $outN\n";
55
-