miga-base 0.3.1.1 → 0.3.1.2
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/actions/add_result.rb +6 -7
- data/actions/init.rb +68 -61
- data/actions/stats.rb +31 -19
- data/lib/miga/common.rb +45 -0
- data/lib/miga/dataset.rb +7 -3
- data/lib/miga/project.rb +9 -4
- data/lib/miga/result.rb +13 -8
- data/lib/miga/version.rb +2 -2
- data/scripts/essential_genes.bash +3 -0
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl +1 -0
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl +1 -0
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl +1 -0
- data/utils/enveomics/Pipelines/blast.pbs/FastA.split.pl +1 -0
- data/utils/enveomics/Scripts/lib/enveomics.R +1 -0
- metadata +161 -160
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl +0 -56
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl +0 -60
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl +0 -38
- data/utils/enveomics/Pipelines/blast.pbs/FastA.split.pl +0 -55
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 787c36c0ff7eb3a77d1b6fd4dd73015b4b49850e
|
4
|
+
data.tar.gz: 2a4ec0d82f8be2bb8e486d3d5410d909b01f3522
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71bf56e6cbfdeb36d3f19c9a4ea4aaac8160537ca3b7a95c6bff44d83e07298f8df3889fd3719eaaf9beae4adf9024b1f53e7a9ff743aadeb802c29664838fed
|
7
|
+
data.tar.gz: d351e7f4374a7859b3661a554c967f11406dcc696763da6e3b623025412ed9dcfe8bfe46f6125d22ef5ab341df1e978d93b0e54e222462faa55b7746dca931ef
|
data/actions/add_result.rb
CHANGED
@@ -3,10 +3,13 @@
|
|
3
3
|
# @package MiGA
|
4
4
|
# @license Artistic-2.0
|
5
5
|
|
6
|
-
o = {q:true}
|
6
|
+
o = {q:true, force:false}
|
7
7
|
opts = OptionParser.new do |opt|
|
8
8
|
opt_banner(opt)
|
9
9
|
opt_object(opt, o, [:project, :dataset_opt, :result])
|
10
|
+
opt.on("-f", "--force",
|
11
|
+
"Forces re-indexing of the result even if it's already registered."
|
12
|
+
){ |v| o[:force]=v }
|
10
13
|
opt_common(opt, o)
|
11
14
|
end.parse!
|
12
15
|
|
@@ -19,12 +22,8 @@ p = MiGA::Project.load(o[:project])
|
|
19
22
|
raise "Impossible to load project: #{o[:project]}" if p.nil?
|
20
23
|
|
21
24
|
$stderr.puts "Registering result." unless o[:q]
|
22
|
-
|
23
|
-
|
24
|
-
else
|
25
|
-
d = p.dataset(o[:dataset])
|
26
|
-
r = d.add_result o[:name].to_sym
|
27
|
-
end
|
25
|
+
obj = o[:dataset].nil? ? p : p.dataset(o[:dataset])
|
26
|
+
r = obj.add_result(o[:name].to_sym, true, force: o[:force])
|
28
27
|
|
29
28
|
raise "Cannot add result, incomplete expected files." if r.nil?
|
30
29
|
|
data/actions/init.rb
CHANGED
@@ -107,7 +107,11 @@ File.open(File.expand_path("utils/requirements.txt", miga), "r") do |fh|
|
|
107
107
|
$stderr.print "Testing #{r[0]}#{" (#{r[3]})" if r[3]}... "
|
108
108
|
path = nil
|
109
109
|
loop do
|
110
|
-
|
110
|
+
if File.exist? o[:config]
|
111
|
+
d_path = File.dirname(`source "#{o[:config]}" && which "#{r[1]}"`)
|
112
|
+
else
|
113
|
+
d_path = File.dirname(`which "#{r[1]}"`)
|
114
|
+
end
|
111
115
|
if o[:ask] or d_path=="."
|
112
116
|
path = ask_user("Where can I find it?", d_path, nil, true)
|
113
117
|
else
|
@@ -188,67 +192,70 @@ $stderr.puts ""
|
|
188
192
|
|
189
193
|
# Configure daemon
|
190
194
|
$stderr.puts "Default daemon configuration:"
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
"How
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
"
|
213
|
-
|
214
|
-
|
215
|
-
else # [qm]sub
|
216
|
-
queue = ask_user("What queue should I use?", nil, nil, true)
|
217
|
-
v[:latency] = ask_user("How long should I sleep? (in seconds)", "150").to_i
|
218
|
-
v[:maxjobs] = ask_user("How many jobs can I launch at once?", "300").to_i
|
219
|
-
v[:ppn] = ask_user("How many CPUs can I use per job?", "4").to_i
|
220
|
-
$stderr.puts "Setting up internal daemon defaults."
|
221
|
-
$stderr.puts "If you don't understand this just leave default values:"
|
222
|
-
v[:cmd] = ask_user(
|
223
|
-
"How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
|
224
|
-
"%3$d: CPUs, %4$d: log file, %5$s: task name.\n",
|
225
|
-
"#{v[:type]} -q '#{queue}' -v '%2$s' -l nodes=1:ppn=%3$d %1$s " +
|
226
|
-
"-j oe -o '%4$s' -N '%5$s' -l mem=9g -l walltime=12:00:00 | grep .")
|
227
|
-
v[:var] = ask_user(
|
228
|
-
"How should I pass variables?\n %1$s: keys, %2$s: values.\n",
|
229
|
-
"%1$s=%2$s")
|
230
|
-
v[:varsep] = ask_user("What should I use to separate variables?", ",")
|
231
|
-
if v[:type] == "qsub"
|
232
|
-
v[:alive] = ask_user(
|
233
|
-
"How can I know that a process is still alive?\n %1$s: job id, " +
|
195
|
+
daemon_f = File.expand_path(".miga_daemon.json", ENV["HOME"])
|
196
|
+
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"
|
199
|
+
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))
|
202
|
+
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(
|
210
|
+
"How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
|
211
|
+
"%3$d: CPUs, %4$s: log file, %5$s: task name.\n",
|
212
|
+
"%2$s '%1$s' > '%4$s' 2>&1")
|
213
|
+
v[:var] = ask_user(
|
214
|
+
"How should I pass variables?\n %1$s: keys, %2$s: values.\n",
|
215
|
+
"%1$s=%2$s")
|
216
|
+
v[:varsep] = ask_user("What should I use to separate variables?", " ")
|
217
|
+
v[:alive] = ask_user(
|
218
|
+
"How can I know that a process is still alive?\n %1$s: PID, " +
|
234
219
|
"output should be 1 for running and 0 for non-running.\n",
|
235
|
-
"
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
v[:
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
220
|
+
"ps -p '%1$s'|tail -n+2|wc -l")
|
221
|
+
v[:kill] = ask_user(
|
222
|
+
"How should I terminate tasks?\n %s: process ID.", "kill -9 '%s'")
|
223
|
+
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:"
|
230
|
+
v[:cmd] = ask_user(
|
231
|
+
"How should I launch tasks?\n %1$s: script path, %2$s: variables, " +
|
232
|
+
"%3$d: CPUs, %4$d: log file, %5$s: task name.\n",
|
233
|
+
"#{v[:type]} -q '#{queue}' -v '%2$s' -l nodes=1:ppn=%3$d %1$s " +
|
234
|
+
"-j oe -o '%4$s' -N '%5$s' -l mem=9g -l walltime=12:00:00 | grep .")
|
235
|
+
v[:var] = ask_user(
|
236
|
+
"How should I pass variables?\n %1$s: keys, %2$s: values.\n",
|
237
|
+
"%1$s=%2$s")
|
238
|
+
v[:varsep] = ask_user("What should I use to separate variables?", ",")
|
239
|
+
if v[:type] == "qsub"
|
240
|
+
v[:alive] = ask_user(
|
241
|
+
"How can I know that a process is still alive?\n %1$s: job id, " +
|
242
|
+
"output should be 1 for running and 0 for non-running.\n",
|
243
|
+
"qstat -f '%1$s'|grep ' job_state ='|perl -pe 's/.*= //'|grep '[^C]'"+
|
244
|
+
"|tail -n1|wc -l|awk '{print $1}'")
|
245
|
+
v[:kill] = ask_user(
|
246
|
+
"How should I terminate tasks?\n %s: process ID.", "qdel '%s'")
|
247
|
+
else
|
248
|
+
v[:alive] = ask_user(
|
249
|
+
"How can I know that a process is still alive?\n %1$s: job id, " +
|
250
|
+
"output should be 1 for running and 0 for non-running.\n",
|
251
|
+
"checkjob '%1$s'|grep '^State:'|perl -pe 's/.*: //'" +
|
252
|
+
"|grep 'Deferred\\|Hold\\|Idle\\|Starting\\|Running\\|Blocked'"+
|
253
|
+
"|tail -n1|wc -l|awk '{print $1}'")
|
254
|
+
v[:kill] = ask_user(
|
255
|
+
"How should I terminate tasks?\n %s: process ID.", "canceljob '%s'")
|
256
|
+
end
|
257
|
+
end
|
258
|
+
File.open(daemon_f, "w"){ |fh| fh.puts JSON.pretty_generate(v) }
|
252
259
|
end
|
253
260
|
$stderr.puts ""
|
254
261
|
|
data/actions/stats.rb
CHANGED
@@ -43,31 +43,43 @@ if o[:compute]
|
|
43
43
|
stats = {}
|
44
44
|
case o[:name]
|
45
45
|
when :raw_reads
|
46
|
-
scr = "awk 'NR%4==2{L+=length($0)} END{print NR/4, L*4/NR}'"
|
47
46
|
if r[:files][:pair1].nil?
|
48
|
-
s =
|
49
|
-
stats = {reads: s[
|
47
|
+
s = MiGA::MiGA.seqs_length(r.file_path(:single), :fastq, gc: true)
|
48
|
+
stats = {reads: s[:n],
|
49
|
+
length_average: [s[:avg], "bp"],
|
50
|
+
length_standard_deviation: [s[:sd], "bp"],
|
51
|
+
g_c_content: [s[:gc], "%"]}
|
50
52
|
else
|
51
|
-
s1 =
|
52
|
-
s2 =
|
53
|
-
stats = {read_pairs: s1[
|
54
|
-
|
55
|
-
|
53
|
+
s1 = MiGA::MiGA.seqs_length(r.file_path(:pair1), :fastq, gc: true)
|
54
|
+
s2 = MiGA::MiGA.seqs_length(r.file_path(:pair2), :fastq, gc: true)
|
55
|
+
stats = {read_pairs: s1[:n],
|
56
|
+
forward_length_average: [s1[:avg], "bp"],
|
57
|
+
forward_length_standard_deviation: [s1[:sd], "bp"],
|
58
|
+
forward_g_c_content: [s1[:gc], "%"],
|
59
|
+
reverse_length_average: [s2[:avg], "bp"],
|
60
|
+
reverse_length_standard_deviation: [s2[:sd], "bp"],
|
61
|
+
reverse_g_c_content: [s2[:gc], "%"]}
|
56
62
|
end
|
57
63
|
when :trimmed_fasta
|
58
|
-
scr = "awk '{L+=$2} END{print NR, L/NR}'"
|
59
64
|
f = r[:files][:coupled].nil? ? r.file_path(:single) : r.file_path(:coupled)
|
60
|
-
s =
|
61
|
-
stats = {reads: s[
|
65
|
+
s = MiGA::MiGA.seqs_length(f, :fasta, gc: true)
|
66
|
+
stats = {reads: s[:n],
|
67
|
+
length_average: [s[:avg], "bp"],
|
68
|
+
length_standard_deviation: [s[:sd], "bp"],
|
69
|
+
g_c_content: [s[:gc], "%"]}
|
62
70
|
when :assembly
|
63
|
-
|
64
|
-
|
65
|
-
stats = {contigs: s[
|
71
|
+
s = MiGA::MiGA.seqs_length(r.file_path(:largecontigs), :fasta,
|
72
|
+
n50:true, gc:true)
|
73
|
+
stats = {contigs: s[:n], n50: [s[:n50], "bp"],
|
74
|
+
total_length: [s[:tot], "bp"], g_c_content: [s[:gc], "%"]}
|
66
75
|
when :cds
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
76
|
+
s = MiGA::MiGA.seqs_length(r.file_path(:proteins), :fasta)
|
77
|
+
stats = {predicted_proteins: s[:n], average_length: [s[:avg], "aa"]}
|
78
|
+
asm = d.add_result(:assembly, false)
|
79
|
+
unless asm.nil? or asm[:stats][:total_length].nil?
|
80
|
+
stats[:coding_density] =
|
81
|
+
[300.0*s[:tot]/asm[:stats][:total_length][0], "%"]
|
82
|
+
end
|
71
83
|
when :essential_genes
|
72
84
|
if d.is_multi?
|
73
85
|
stats = {median_copies:0, mean_copies:0}
|
@@ -118,7 +130,7 @@ end
|
|
118
130
|
|
119
131
|
if o[:key].nil?
|
120
132
|
r[:stats].each do |k,v|
|
121
|
-
puts "#{k.to_s.unmiga_name.capitalize}: #{
|
133
|
+
puts "#{k==:g_c_content ? "G+C content" : k.to_s.unmiga_name.capitalize}: #{
|
122
134
|
v.is_a?(Array) ? v.join(" ") : v}."
|
123
135
|
end
|
124
136
|
else
|
data/lib/miga/common.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
require "miga/version"
|
5
5
|
require "json"
|
6
6
|
require "tempfile"
|
7
|
+
require "zlib"
|
7
8
|
|
8
9
|
##
|
9
10
|
# Generic class used to handle system-wide information and methods, and parent
|
@@ -103,6 +104,50 @@ class MiGA::MiGA
|
|
103
104
|
tmp.unlink
|
104
105
|
end
|
105
106
|
end
|
107
|
+
|
108
|
+
##
|
109
|
+
# Calculates the average and standard deviation of the sequence lengths in
|
110
|
+
# a FastA or FastQ file (supports gzipped files). The +format+ must be a
|
111
|
+
# Symbol, one of +:fasta+ or +:fastq+. Additional estimations can be
|
112
|
+
# controlled via the +opts+ Hash. Supported options include:
|
113
|
+
# - +:n50+: If true, it also returns the N50 and the median (in bp).
|
114
|
+
# - +gc+: If true, it also returns the G+C content (in %).
|
115
|
+
def self.seqs_length(file, format, opts={})
|
116
|
+
fh = (file =~ /\.gz/) ? Zlib::GzipReader.open(file) : File.open(file, "r")
|
117
|
+
l = []
|
118
|
+
gc = 0
|
119
|
+
i = 0 # <- Zlib::GzipReader doesn't set $.
|
120
|
+
fh.each_line do |ln|
|
121
|
+
i += 1
|
122
|
+
if (format==:fasta and ln =~ /^>/) or (format==:fastq and (i % 4)==1)
|
123
|
+
l << 0
|
124
|
+
elsif format==:fasta or (i % 4)==2
|
125
|
+
l[l.size-1] += ln.chomp.size
|
126
|
+
gc += ln.scan(/[GCgc]/).count if opts[:gc]
|
127
|
+
end
|
128
|
+
end
|
129
|
+
fh.close
|
130
|
+
|
131
|
+
o = { n: l.size, tot: l.inject(:+) }
|
132
|
+
o[:avg] = o[:tot].to_f/l.size
|
133
|
+
o[:var] = l.map{ |a| a ** 2 }.inject(:+).to_f/l.size - o[:avg]**2
|
134
|
+
o[:sd] = Math.sqrt o[:var]
|
135
|
+
o[:gc] = 100.0*gc/o[:tot] if opts[:gc]
|
136
|
+
if opts[:n50]
|
137
|
+
l.sort!
|
138
|
+
thr = o[:tot]/2
|
139
|
+
pos = 0
|
140
|
+
l.each do |a|
|
141
|
+
pos += a
|
142
|
+
o[:n50] = a
|
143
|
+
break if pos >= thr
|
144
|
+
end
|
145
|
+
o[:med] = o[:n].even? ?
|
146
|
+
0.5*( l[o[:n]/2-1,2].inject(:+) ) : l[(o[:n]-1)/2]
|
147
|
+
end
|
148
|
+
o
|
149
|
+
end
|
150
|
+
|
106
151
|
|
107
152
|
##
|
108
153
|
# Path to a script to be executed for +task+. Supported +opts+ are:
|
data/lib/miga/dataset.rb
CHANGED
@@ -187,16 +187,20 @@ class MiGA::Dataset < MiGA::MiGA
|
|
187
187
|
##
|
188
188
|
# Look for the result with symbol key +result_type+ and register it in the
|
189
189
|
# dataset. If +save+ is false, it doesn't register the result, but it still
|
190
|
-
# returns a result if the expected files are complete. The +opts+
|
190
|
+
# returns a result if the expected files are complete. The +opts+ hash
|
191
191
|
# controls result creation (if necessary). Supported values include:
|
192
192
|
# - +is_clean+: A Boolean indicating if the input files are clean.
|
193
|
+
# - +force+: A Boolean indicating if the result must be re-indexed. If true, it
|
194
|
+
# implies save=true.
|
193
195
|
# Returns MiGA::Result or nil.
|
194
196
|
def add_result(result_type, save=true, opts={})
|
195
197
|
dir = @@RESULT_DIRS[result_type]
|
196
198
|
return nil if dir.nil?
|
197
199
|
base = File.expand_path("data/#{dir}/#{name}", project.path)
|
198
|
-
|
199
|
-
|
200
|
+
unless opts[:force]
|
201
|
+
r_pre = MiGA::Result.load("#{base}.json")
|
202
|
+
return r_pre if (r_pre.nil? and not save) or not r_pre.nil?
|
203
|
+
end
|
200
204
|
r = File.exist?("#{base}.done") ?
|
201
205
|
self.send("add_result_#{result_type}", base, opts) : nil
|
202
206
|
r.save unless r.nil?
|
data/lib/miga/project.rb
CHANGED
@@ -269,12 +269,17 @@ class MiGA::Project < MiGA::MiGA
|
|
269
269
|
|
270
270
|
##
|
271
271
|
# Add the result identified by Symbol +name+, and return MiGA::Result. Save
|
272
|
-
# the result if +save+.
|
273
|
-
|
272
|
+
# the result if +save+. The +opts+ hash controls result creation (if necessary).
|
273
|
+
# Supported values include:
|
274
|
+
# - +force+: A Boolean indicating if the result must be re-indexed. If true, it
|
275
|
+
# implies save=true.
|
276
|
+
def add_result(name, save=true, opts={})
|
274
277
|
return nil if @@RESULT_DIRS[name].nil?
|
275
278
|
base = "#{path}/data/#{@@RESULT_DIRS[name]}/miga-project"
|
276
|
-
|
277
|
-
|
279
|
+
unless opts[:force]
|
280
|
+
r_pre = MiGA::Result.load("#{base}.json")
|
281
|
+
return r_pre if (r_pre.nil? and not save) or not r_pre.nil?
|
282
|
+
end
|
278
283
|
r = result_files_exist?(base, ".done") ?
|
279
284
|
send("add_result_#{name}", base) : nil
|
280
285
|
r.save unless r.nil?
|
data/lib/miga/result.rb
CHANGED
@@ -133,22 +133,27 @@ class MiGA::Result < MiGA::MiGA
|
|
133
133
|
end
|
134
134
|
|
135
135
|
##
|
136
|
-
# Iterate +blk+ for each registered file.
|
137
|
-
#
|
138
|
-
#
|
139
|
-
#
|
140
|
-
#
|
136
|
+
# Iterate +blk+ for each registered file. Depending on the number of
|
137
|
+
# arguments of +blk+ (arity), it's called as:
|
138
|
+
# - blk[file_rel]
|
139
|
+
# - blk[file_sym, file_rel]
|
140
|
+
# - blk[file_sym, file_rel, file_abs]
|
141
|
+
# Note that multiple files may have the same symbol (file_sym), since
|
142
|
+
# arrays of files are supported.
|
141
143
|
def each_file(&blk)
|
142
144
|
@data[:files] ||= {}
|
143
145
|
self[:files].each do |k,files|
|
144
146
|
files = [files] unless files.kind_of? Array
|
145
147
|
files.each do |file|
|
146
|
-
|
148
|
+
case blk.arity
|
149
|
+
when 1
|
147
150
|
blk.call(file)
|
148
|
-
|
151
|
+
when 2
|
149
152
|
blk.call(k, file)
|
153
|
+
when 3
|
154
|
+
blk.call(k, file, File.expand_path(file, dir))
|
150
155
|
else
|
151
|
-
raise "Wrong number of arguments: #{blk.arity} for
|
156
|
+
raise "Wrong number of arguments: #{blk.arity} for 1..3"
|
152
157
|
end
|
153
158
|
end
|
154
159
|
end
|
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, 1,
|
13
|
+
VERSION = [0.3, 1, 2]
|
14
14
|
|
15
15
|
##
|
16
16
|
# Nickname for the current major.minor version.
|
@@ -18,7 +18,7 @@ module MiGA
|
|
18
18
|
|
19
19
|
##
|
20
20
|
# Date of the current gem release.
|
21
|
-
VERSION_DATE = Date.new(2017,
|
21
|
+
VERSION_DATE = Date.new(2017, 11, 22)
|
22
22
|
|
23
23
|
##
|
24
24
|
# Reference of MiGA.
|
@@ -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,109 +1,109 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miga-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.1.
|
4
|
+
version: 0.3.1.2
|
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: 2017-
|
11
|
+
date: 2017-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: daemons
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.2'
|
34
|
-
- -
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: 1.2.4
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - ~>
|
41
|
+
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '1.2'
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 1.2.4
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: json
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ">"
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '1.8'
|
54
|
-
- - <
|
54
|
+
- - "<"
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '3'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">"
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '1.8'
|
64
|
-
- - <
|
64
|
+
- - "<"
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '3'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: sqlite3
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - ~>
|
71
|
+
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '1.3'
|
74
74
|
type: :runtime
|
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: '1.3'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rake
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - ~>
|
85
|
+
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '11'
|
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: '11'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
name: test-unit
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- - ~>
|
99
|
+
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '3'
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
|
-
- - ~>
|
106
|
+
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '3'
|
109
109
|
description: Microbial Genomes Atlas
|
@@ -114,6 +114,34 @@ extensions: []
|
|
114
114
|
extra_rdoc_files:
|
115
115
|
- README.md
|
116
116
|
files:
|
117
|
+
- Gemfile
|
118
|
+
- LICENSE
|
119
|
+
- README.md
|
120
|
+
- Rakefile
|
121
|
+
- actions/about.rb
|
122
|
+
- actions/add.rb
|
123
|
+
- actions/add_result.rb
|
124
|
+
- actions/daemon.rb
|
125
|
+
- actions/date.rb
|
126
|
+
- actions/files.rb
|
127
|
+
- actions/find.rb
|
128
|
+
- actions/get.rb
|
129
|
+
- actions/init.rb
|
130
|
+
- actions/ln.rb
|
131
|
+
- actions/ls.rb
|
132
|
+
- actions/new.rb
|
133
|
+
- actions/plugins.rb
|
134
|
+
- actions/rm.rb
|
135
|
+
- actions/run.rb
|
136
|
+
- actions/stats.rb
|
137
|
+
- actions/tax_dist.rb
|
138
|
+
- actions/tax_index.rb
|
139
|
+
- actions/tax_set.rb
|
140
|
+
- actions/tax_test.rb
|
141
|
+
- bin/miga
|
142
|
+
- lib/miga.rb
|
143
|
+
- lib/miga/_data/aai-intax.tsv.gz
|
144
|
+
- lib/miga/_data/aai-novel.tsv.gz
|
117
145
|
- lib/miga/common.rb
|
118
146
|
- lib/miga/daemon.rb
|
119
147
|
- lib/miga/dataset.rb
|
@@ -127,18 +155,6 @@ files:
|
|
127
155
|
- lib/miga/tax_index.rb
|
128
156
|
- lib/miga/taxonomy.rb
|
129
157
|
- lib/miga/version.rb
|
130
|
-
- lib/miga.rb
|
131
|
-
- test/common_test.rb
|
132
|
-
- test/daemon_test.rb
|
133
|
-
- test/dataset_test.rb
|
134
|
-
- test/metadata_test.rb
|
135
|
-
- test/project_test.rb
|
136
|
-
- test/remote_dataset_test.rb
|
137
|
-
- test/tax_index_test.rb
|
138
|
-
- test/taxonomy_test.rb
|
139
|
-
- test/test_helper.rb
|
140
|
-
- lib/miga/_data/aai-intax.tsv.gz
|
141
|
-
- lib/miga/_data/aai-novel.tsv.gz
|
142
158
|
- scripts/_distances_functions.bash
|
143
159
|
- scripts/_distances_noref_nomulti.bash
|
144
160
|
- scripts/_distances_ref_nomulti.bash
|
@@ -163,75 +179,24 @@ files:
|
|
163
179
|
- scripts/taxonomy.bash
|
164
180
|
- scripts/trimmed_fasta.bash
|
165
181
|
- scripts/trimmed_reads.bash
|
182
|
+
- test/common_test.rb
|
183
|
+
- test/daemon_test.rb
|
184
|
+
- test/dataset_test.rb
|
185
|
+
- test/metadata_test.rb
|
186
|
+
- test/project_test.rb
|
187
|
+
- test/remote_dataset_test.rb
|
188
|
+
- test/tax_index_test.rb
|
189
|
+
- test/taxonomy_test.rb
|
190
|
+
- test/test_helper.rb
|
166
191
|
- utils/adapters.fa
|
167
192
|
- utils/arch-ess-genes.rb
|
168
193
|
- utils/core-pan-plot.R
|
169
|
-
- utils/enveomics/build_enveomics_r.bash
|
170
|
-
- utils/enveomics/enveomics.R/data/growth.curves.rda
|
171
|
-
- utils/enveomics/enveomics.R/data/phyla.counts.rda
|
172
|
-
- utils/enveomics/enveomics.R/DESCRIPTION
|
173
|
-
- utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd
|
174
|
-
- utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd
|
175
|
-
- utils/enveomics/enveomics.R/man/enve.__tribs.Rd
|
176
|
-
- utils/enveomics/enveomics.R/man/enve.barplot.Rd
|
177
|
-
- utils/enveomics/enveomics.R/man/enve.cliopts.Rd
|
178
|
-
- utils/enveomics/enveomics.R/man/enve.col.alpha.Rd
|
179
|
-
- utils/enveomics/enveomics.R/man/enve.col2alpha.Rd
|
180
|
-
- utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd
|
181
|
-
- utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd
|
182
|
-
- utils/enveomics/enveomics.R/man/enve.df2dist.Rd
|
183
|
-
- utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd
|
184
|
-
- utils/enveomics/enveomics.R/man/enve.growthcurve.Rd
|
185
|
-
- utils/enveomics/enveomics.R/man/enve.prune.dist.Rd
|
186
|
-
- utils/enveomics/enveomics.R/man/enve.recplot.Rd
|
187
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd
|
188
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd
|
189
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.__findPeak.Rd
|
190
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.__findPeaks.Rd
|
191
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd
|
192
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd
|
193
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd
|
194
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd
|
195
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd
|
196
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd
|
197
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd
|
198
|
-
- utils/enveomics/enveomics.R/man/enve.recplot2.Rd
|
199
|
-
- utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd
|
200
|
-
- utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd
|
201
|
-
- utils/enveomics/enveomics.R/man/enve.tribs.Rd
|
202
|
-
- utils/enveomics/enveomics.R/man/enve.tribs.test.Rd
|
203
|
-
- utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd
|
204
|
-
- utils/enveomics/enveomics.R/man/enveomics.R-package.Rd
|
205
|
-
- utils/enveomics/enveomics.R/man/growth.curves.Rd
|
206
|
-
- utils/enveomics/enveomics.R/man/phyla.counts.Rd
|
207
|
-
- utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd
|
208
|
-
- utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd
|
209
|
-
- utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd
|
210
|
-
- utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd
|
211
|
-
- utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd
|
212
|
-
- utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd
|
213
|
-
- utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd
|
214
|
-
- utils/enveomics/enveomics.R/man/z$-methods.Rd
|
215
|
-
- utils/enveomics/enveomics.R/NAMESPACE
|
216
|
-
- utils/enveomics/enveomics.R/R/autoprune.R
|
217
|
-
- utils/enveomics/enveomics.R/R/barplot.R
|
218
|
-
- utils/enveomics/enveomics.R/R/cliopts.R
|
219
|
-
- utils/enveomics/enveomics.R/R/df2dist.R
|
220
|
-
- utils/enveomics/enveomics.R/R/growthcurve.R
|
221
|
-
- utils/enveomics/enveomics.R/R/recplot.R
|
222
|
-
- utils/enveomics/enveomics.R/R/recplot2.R
|
223
|
-
- utils/enveomics/enveomics.R/R/tribs.R
|
224
|
-
- utils/enveomics/enveomics.R/R/utils.R
|
225
|
-
- utils/enveomics/enveomics.R/README.md
|
226
194
|
- utils/enveomics/Examples/aai-matrix.bash
|
227
195
|
- utils/enveomics/Examples/ani-matrix.bash
|
228
196
|
- utils/enveomics/Examples/essential-phylogeny.bash
|
229
197
|
- utils/enveomics/Examples/unus-genome-phylogeny.bash
|
230
|
-
- utils/enveomics/globals.mk
|
231
198
|
- utils/enveomics/LICENSE.txt
|
232
199
|
- utils/enveomics/Makefile
|
233
|
-
- utils/enveomics/Manifest/categories.json
|
234
|
-
- utils/enveomics/Manifest/examples.json
|
235
200
|
- utils/enveomics/Manifest/Tasks/aasubs.json
|
236
201
|
- utils/enveomics/Manifest/Tasks/blasttab.json
|
237
202
|
- utils/enveomics/Manifest/Tasks/distances.json
|
@@ -245,20 +210,21 @@ files:
|
|
245
210
|
- utils/enveomics/Manifest/Tasks/tables.json
|
246
211
|
- utils/enveomics/Manifest/Tasks/trees.json
|
247
212
|
- utils/enveomics/Manifest/Tasks/variants.json
|
213
|
+
- utils/enveomics/Manifest/categories.json
|
214
|
+
- utils/enveomics/Manifest/examples.json
|
248
215
|
- utils/enveomics/Manifest/tasks.json
|
249
|
-
- utils/enveomics/manifest.json
|
250
216
|
- utils/enveomics/Pipelines/assembly.pbs/CONFIG.mock.bash
|
217
|
+
- utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl
|
251
218
|
- utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl
|
252
219
|
- utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl
|
253
|
-
- utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl
|
254
|
-
- utils/enveomics/Pipelines/assembly.pbs/kSelector.R
|
255
|
-
- utils/enveomics/Pipelines/assembly.pbs/newbler.pbs
|
256
|
-
- utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl
|
257
220
|
- utils/enveomics/Pipelines/assembly.pbs/README.md
|
258
221
|
- utils/enveomics/Pipelines/assembly.pbs/RUNME-2.bash
|
259
222
|
- utils/enveomics/Pipelines/assembly.pbs/RUNME-3.bash
|
260
223
|
- utils/enveomics/Pipelines/assembly.pbs/RUNME-4.bash
|
261
224
|
- utils/enveomics/Pipelines/assembly.pbs/RUNME.bash
|
225
|
+
- utils/enveomics/Pipelines/assembly.pbs/kSelector.R
|
226
|
+
- utils/enveomics/Pipelines/assembly.pbs/newbler.pbs
|
227
|
+
- utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl
|
262
228
|
- utils/enveomics/Pipelines/assembly.pbs/soap.pbs
|
263
229
|
- utils/enveomics/Pipelines/assembly.pbs/stats.pbs
|
264
230
|
- utils/enveomics/Pipelines/assembly.pbs/velvet.pbs
|
@@ -270,25 +236,23 @@ files:
|
|
270
236
|
- utils/enveomics/Pipelines/blast.pbs/FastA.split.pl
|
271
237
|
- utils/enveomics/Pipelines/blast.pbs/README.md
|
272
238
|
- utils/enveomics/Pipelines/blast.pbs/RUNME.bash
|
273
|
-
- utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash
|
274
239
|
- utils/enveomics/Pipelines/blast.pbs/TASK.check.bash
|
275
240
|
- utils/enveomics/Pipelines/blast.pbs/TASK.dry.bash
|
276
241
|
- utils/enveomics/Pipelines/blast.pbs/TASK.eo.bash
|
277
242
|
- utils/enveomics/Pipelines/blast.pbs/TASK.pause.bash
|
278
243
|
- utils/enveomics/Pipelines/blast.pbs/TASK.run.bash
|
244
|
+
- utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash
|
279
245
|
- utils/enveomics/Pipelines/idba.pbs/README.md
|
280
|
-
- utils/enveomics/Pipelines/idba.pbs/run.pbs
|
281
246
|
- utils/enveomics/Pipelines/idba.pbs/RUNME.bash
|
247
|
+
- utils/enveomics/Pipelines/idba.pbs/run.pbs
|
282
248
|
- utils/enveomics/Pipelines/trim.pbs/README.md
|
283
|
-
- utils/enveomics/Pipelines/trim.pbs/run.pbs
|
284
249
|
- utils/enveomics/Pipelines/trim.pbs/RUNME.bash
|
250
|
+
- utils/enveomics/Pipelines/trim.pbs/run.pbs
|
285
251
|
- utils/enveomics/README.md
|
286
|
-
- utils/enveomics/Scripts/aai.rb
|
287
252
|
- utils/enveomics/Scripts/AAsubs.log2ratio.rb
|
288
253
|
- utils/enveomics/Scripts/Aln.cat.rb
|
289
254
|
- utils/enveomics/Scripts/Aln.convert.pl
|
290
255
|
- utils/enveomics/Scripts/AlphaDiversity.pl
|
291
|
-
- utils/enveomics/Scripts/ani.rb
|
292
256
|
- utils/enveomics/Scripts/BlastPairwise.AAsubs.pl
|
293
257
|
- utils/enveomics/Scripts/BlastTab.addlen.rb
|
294
258
|
- utils/enveomics/Scripts/BlastTab.advance.bash
|
@@ -301,8 +265,8 @@ files:
|
|
301
265
|
- utils/enveomics/Scripts/BlastTab.pairedHits.rb
|
302
266
|
- utils/enveomics/Scripts/BlastTab.recplot2.R
|
303
267
|
- utils/enveomics/Scripts/BlastTab.seqdepth.pl
|
304
|
-
- utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl
|
305
268
|
- utils/enveomics/Scripts/BlastTab.seqdepth_ZIP.pl
|
269
|
+
- utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl
|
306
270
|
- utils/enveomics/Scripts/BlastTab.subsample.pl
|
307
271
|
- utils/enveomics/Scripts/BlastTab.sumPerHit.pl
|
308
272
|
- utils/enveomics/Scripts/BlastTab.taxid2taxrank.pl
|
@@ -310,6 +274,7 @@ files:
|
|
310
274
|
- utils/enveomics/Scripts/Chao1.pl
|
311
275
|
- utils/enveomics/Scripts/CharTable.classify.rb
|
312
276
|
- utils/enveomics/Scripts/EBIseq2tax.rb
|
277
|
+
- utils/enveomics/Scripts/FastA.N50.pl
|
313
278
|
- utils/enveomics/Scripts/FastA.filter.pl
|
314
279
|
- utils/enveomics/Scripts/FastA.filterLen.pl
|
315
280
|
- utils/enveomics/Scripts/FastA.filterN.pl
|
@@ -317,7 +282,6 @@ files:
|
|
317
282
|
- utils/enveomics/Scripts/FastA.gc.pl
|
318
283
|
- utils/enveomics/Scripts/FastA.interpose.pl
|
319
284
|
- utils/enveomics/Scripts/FastA.length.pl
|
320
|
-
- utils/enveomics/Scripts/FastA.N50.pl
|
321
285
|
- utils/enveomics/Scripts/FastA.per_file.pl
|
322
286
|
- utils/enveomics/Scripts/FastA.qlen.pl
|
323
287
|
- utils/enveomics/Scripts/FastA.rename.pl
|
@@ -334,36 +298,21 @@ files:
|
|
334
298
|
- utils/enveomics/Scripts/FastQ.tag.rb
|
335
299
|
- utils/enveomics/Scripts/FastQ.toFastA.awk
|
336
300
|
- utils/enveomics/Scripts/GenBank.add_fields.rb
|
337
|
-
- utils/enveomics/Scripts/gi2tax.rb
|
338
301
|
- utils/enveomics/Scripts/HMM.essential.rb
|
339
302
|
- utils/enveomics/Scripts/HMMsearch.extractIds.rb
|
340
|
-
- utils/enveomics/Scripts/in_silico_GA_GI.pl
|
341
303
|
- utils/enveomics/Scripts/JPlace.distances.rb
|
342
304
|
- utils/enveomics/Scripts/JPlace.to_iToL.rb
|
343
|
-
- utils/enveomics/Scripts/lib/data/essential.hmm.gz
|
344
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb
|
345
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb
|
346
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/og.rb
|
347
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb
|
348
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb
|
349
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/stat.rb
|
350
|
-
- utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb
|
351
305
|
- utils/enveomics/Scripts/M5nr.getSequences.rb
|
352
306
|
- utils/enveomics/Scripts/MeTaxa.distribution.pl
|
353
307
|
- utils/enveomics/Scripts/MyTaxa.fragsByTax.pl
|
354
308
|
- utils/enveomics/Scripts/MyTaxa.seq-taxrank.rb
|
355
309
|
- utils/enveomics/Scripts/NCBIacc2tax.rb
|
356
310
|
- utils/enveomics/Scripts/Newick.autoprune.R
|
357
|
-
- utils/enveomics/Scripts/ogs.annotate.rb
|
358
|
-
- utils/enveomics/Scripts/ogs.core-pan.rb
|
359
|
-
- utils/enveomics/Scripts/ogs.extract.rb
|
360
|
-
- utils/enveomics/Scripts/ogs.mcl.rb
|
361
|
-
- utils/enveomics/Scripts/ogs.rb
|
362
|
-
- utils/enveomics/Scripts/ogs.stats.rb
|
363
311
|
- utils/enveomics/Scripts/RAxML-EPA.to_iToL.pl
|
364
|
-
- utils/enveomics/Scripts/rbm.rb
|
365
312
|
- utils/enveomics/Scripts/RefSeq.download.bash
|
366
313
|
- utils/enveomics/Scripts/SRA.download.bash
|
314
|
+
- utils/enveomics/Scripts/TRIBS.plot-test.R
|
315
|
+
- utils/enveomics/Scripts/TRIBS.test.R
|
367
316
|
- utils/enveomics/Scripts/Table.barplot.R
|
368
317
|
- utils/enveomics/Scripts/Table.df2dist.R
|
369
318
|
- utils/enveomics/Scripts/Table.filter.pl
|
@@ -372,10 +321,37 @@ files:
|
|
372
321
|
- utils/enveomics/Scripts/Table.round.rb
|
373
322
|
- utils/enveomics/Scripts/Table.split.pl
|
374
323
|
- utils/enveomics/Scripts/Taxonomy.silva2ncbi.rb
|
375
|
-
- utils/enveomics/Scripts/TRIBS.plot-test.R
|
376
|
-
- utils/enveomics/Scripts/TRIBS.test.R
|
377
324
|
- utils/enveomics/Scripts/VCF.KaKs.rb
|
378
325
|
- utils/enveomics/Scripts/VCF.SNPs.rb
|
326
|
+
- utils/enveomics/Scripts/aai.rb
|
327
|
+
- utils/enveomics/Scripts/ani.rb
|
328
|
+
- utils/enveomics/Scripts/gi2tax.rb
|
329
|
+
- utils/enveomics/Scripts/in_silico_GA_GI.pl
|
330
|
+
- utils/enveomics/Scripts/lib/data/essential.hmm.gz
|
331
|
+
- utils/enveomics/Scripts/lib/enveomics.R
|
332
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb
|
333
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb
|
334
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/og.rb
|
335
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb
|
336
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb
|
337
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/stat.rb
|
338
|
+
- utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb
|
339
|
+
- utils/enveomics/Scripts/ogs.annotate.rb
|
340
|
+
- utils/enveomics/Scripts/ogs.core-pan.rb
|
341
|
+
- utils/enveomics/Scripts/ogs.extract.rb
|
342
|
+
- utils/enveomics/Scripts/ogs.mcl.rb
|
343
|
+
- utils/enveomics/Scripts/ogs.rb
|
344
|
+
- utils/enveomics/Scripts/ogs.stats.rb
|
345
|
+
- utils/enveomics/Scripts/rbm.rb
|
346
|
+
- utils/enveomics/Tests/Makefile
|
347
|
+
- utils/enveomics/Tests/Mgen_M2288.faa
|
348
|
+
- utils/enveomics/Tests/Mgen_M2288.fna
|
349
|
+
- utils/enveomics/Tests/Mgen_M2321.fna
|
350
|
+
- utils/enveomics/Tests/Nequ_Kin4M.faa
|
351
|
+
- utils/enveomics/Tests/Xanthomonas_oryzae-PilA.tribs.Rdata
|
352
|
+
- utils/enveomics/Tests/Xanthomonas_oryzae-PilA.txt
|
353
|
+
- utils/enveomics/Tests/Xanthomonas_oryzae.aai-mat.tsv
|
354
|
+
- utils/enveomics/Tests/Xanthomonas_oryzae.aai.tsv
|
379
355
|
- utils/enveomics/Tests/a_mg.cds-go.blast.tsv
|
380
356
|
- utils/enveomics/Tests/a_mg.reads-cds.blast.tsv
|
381
357
|
- utils/enveomics/Tests/a_mg.reads-cds.counts.tsv
|
@@ -388,11 +364,6 @@ files:
|
|
388
364
|
- utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv
|
389
365
|
- utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.lim
|
390
366
|
- utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.rec
|
391
|
-
- utils/enveomics/Tests/Makefile
|
392
|
-
- utils/enveomics/Tests/Mgen_M2288.faa
|
393
|
-
- utils/enveomics/Tests/Mgen_M2288.fna
|
394
|
-
- utils/enveomics/Tests/Mgen_M2321.fna
|
395
|
-
- utils/enveomics/Tests/Nequ_Kin4M.faa
|
396
367
|
- utils/enveomics/Tests/phyla_counts.tsv
|
397
368
|
- utils/enveomics/Tests/primate_lentivirus.ogs
|
398
369
|
- utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv1.rbm
|
@@ -401,10 +372,65 @@ files:
|
|
401
372
|
- utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-hiv2.rbm
|
402
373
|
- utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-siv.rbm
|
403
374
|
- utils/enveomics/Tests/primate_lentivirus.rbm/siv-siv.rbm
|
404
|
-
- utils/enveomics/
|
405
|
-
- utils/enveomics/
|
406
|
-
- utils/enveomics/
|
407
|
-
- utils/enveomics/
|
375
|
+
- utils/enveomics/build_enveomics_r.bash
|
376
|
+
- utils/enveomics/enveomics.R/DESCRIPTION
|
377
|
+
- utils/enveomics/enveomics.R/NAMESPACE
|
378
|
+
- utils/enveomics/enveomics.R/R/autoprune.R
|
379
|
+
- utils/enveomics/enveomics.R/R/barplot.R
|
380
|
+
- utils/enveomics/enveomics.R/R/cliopts.R
|
381
|
+
- utils/enveomics/enveomics.R/R/df2dist.R
|
382
|
+
- utils/enveomics/enveomics.R/R/growthcurve.R
|
383
|
+
- utils/enveomics/enveomics.R/R/recplot.R
|
384
|
+
- utils/enveomics/enveomics.R/R/recplot2.R
|
385
|
+
- utils/enveomics/enveomics.R/R/tribs.R
|
386
|
+
- utils/enveomics/enveomics.R/R/utils.R
|
387
|
+
- utils/enveomics/enveomics.R/README.md
|
388
|
+
- utils/enveomics/enveomics.R/data/growth.curves.rda
|
389
|
+
- utils/enveomics/enveomics.R/data/phyla.counts.rda
|
390
|
+
- utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd
|
391
|
+
- utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd
|
392
|
+
- utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd
|
393
|
+
- utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd
|
394
|
+
- utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd
|
395
|
+
- utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd
|
396
|
+
- utils/enveomics/enveomics.R/man/enve.__tribs.Rd
|
397
|
+
- utils/enveomics/enveomics.R/man/enve.barplot.Rd
|
398
|
+
- utils/enveomics/enveomics.R/man/enve.cliopts.Rd
|
399
|
+
- utils/enveomics/enveomics.R/man/enve.col.alpha.Rd
|
400
|
+
- utils/enveomics/enveomics.R/man/enve.col2alpha.Rd
|
401
|
+
- utils/enveomics/enveomics.R/man/enve.df2dist.Rd
|
402
|
+
- utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd
|
403
|
+
- utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd
|
404
|
+
- utils/enveomics/enveomics.R/man/enve.growthcurve.Rd
|
405
|
+
- utils/enveomics/enveomics.R/man/enve.prune.dist.Rd
|
406
|
+
- utils/enveomics/enveomics.R/man/enve.recplot.Rd
|
407
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd
|
408
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.Rd
|
409
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd
|
410
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.__findPeak.Rd
|
411
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.__findPeaks.Rd
|
412
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd
|
413
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd
|
414
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd
|
415
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd
|
416
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd
|
417
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd
|
418
|
+
- utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd
|
419
|
+
- utils/enveomics/enveomics.R/man/enve.tribs.Rd
|
420
|
+
- utils/enveomics/enveomics.R/man/enve.tribs.test.Rd
|
421
|
+
- utils/enveomics/enveomics.R/man/enveomics.R-package.Rd
|
422
|
+
- utils/enveomics/enveomics.R/man/growth.curves.Rd
|
423
|
+
- utils/enveomics/enveomics.R/man/phyla.counts.Rd
|
424
|
+
- utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd
|
425
|
+
- utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd
|
426
|
+
- utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd
|
427
|
+
- utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd
|
428
|
+
- utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd
|
429
|
+
- utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd
|
430
|
+
- utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd
|
431
|
+
- utils/enveomics/enveomics.R/man/z$-methods.Rd
|
432
|
+
- utils/enveomics/globals.mk
|
433
|
+
- utils/enveomics/manifest.json
|
408
434
|
- utils/index_metadata.rb
|
409
435
|
- utils/mytaxa_scan.R
|
410
436
|
- utils/mytaxa_scan.rb
|
@@ -414,31 +440,6 @@ files:
|
|
414
440
|
- utils/subclades-compile.rb
|
415
441
|
- utils/subclades-nj.R
|
416
442
|
- utils/subclades.R
|
417
|
-
- bin/miga
|
418
|
-
- actions/about.rb
|
419
|
-
- actions/add.rb
|
420
|
-
- actions/add_result.rb
|
421
|
-
- actions/daemon.rb
|
422
|
-
- actions/date.rb
|
423
|
-
- actions/files.rb
|
424
|
-
- actions/find.rb
|
425
|
-
- actions/get.rb
|
426
|
-
- actions/init.rb
|
427
|
-
- actions/ln.rb
|
428
|
-
- actions/ls.rb
|
429
|
-
- actions/new.rb
|
430
|
-
- actions/plugins.rb
|
431
|
-
- actions/rm.rb
|
432
|
-
- actions/run.rb
|
433
|
-
- actions/stats.rb
|
434
|
-
- actions/tax_dist.rb
|
435
|
-
- actions/tax_index.rb
|
436
|
-
- actions/tax_set.rb
|
437
|
-
- actions/tax_test.rb
|
438
|
-
- Gemfile
|
439
|
-
- Rakefile
|
440
|
-
- README.md
|
441
|
-
- LICENSE
|
442
443
|
homepage: http://enve-omics.ce.gatech.edu/miga
|
443
444
|
licenses:
|
444
445
|
- Artistic-2.0
|
@@ -447,25 +448,25 @@ post_install_message:
|
|
447
448
|
rdoc_options:
|
448
449
|
- lib
|
449
450
|
- README.md
|
450
|
-
- --main
|
451
|
+
- "--main"
|
451
452
|
- README.md
|
452
|
-
- --title
|
453
|
+
- "--title"
|
453
454
|
- MiGA
|
454
455
|
require_paths:
|
455
456
|
- lib
|
456
457
|
required_ruby_version: !ruby/object:Gem::Requirement
|
457
458
|
requirements:
|
458
|
-
- -
|
459
|
+
- - ">="
|
459
460
|
- !ruby/object:Gem::Version
|
460
461
|
version: '1.9'
|
461
462
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
462
463
|
requirements:
|
463
|
-
- -
|
464
|
+
- - ">="
|
464
465
|
- !ruby/object:Gem::Version
|
465
466
|
version: '0'
|
466
467
|
requirements: []
|
467
468
|
rubyforge_project:
|
468
|
-
rubygems_version: 2.
|
469
|
+
rubygems_version: 2.6.13
|
469
470
|
signing_key:
|
470
471
|
specification_version: 4
|
471
472
|
summary: MiGA
|
@@ -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
|
-
|