seqtrimnext 2.0.61 → 2.0.62
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/bin/resume_execution_times.rb +15 -4
- data/bin/seqtrimnext +1 -0
- data/lib/seqtrimnext/actions/action_trim.rb +21 -0
- data/lib/seqtrimnext/classes/em_classes/seqtrim_work_manager.rb +13 -13
- data/lib/seqtrimnext/classes/em_classes/seqtrim_worker.rb +1 -0
- data/lib/seqtrimnext/classes/seqtrim.rb +1 -0
- data/lib/seqtrimnext/plugins/plugin.rb +3 -0
- data/lib/seqtrimnext/plugins/plugin_size_trim.rb +58 -0
- data/lib/seqtrimnext/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fb6845331e9b46e2a53f29312fce204869a91cf
|
4
|
+
data.tar.gz: 18d138fe1b899582daae2e4118cd6118853afc29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d22ad436ce0b15ff783d15b871491adaa5947f9c1da4a7247712f7d6e9e790978ad90ab22657dc7768b51a61d6122f874c7853e9d0279f0dd408702a681ca5f0
|
7
|
+
data.tar.gz: 67d4af5e0bb8dc2eba127b6fe1ff04684c7b96db3fbad9e94cb6a222d88d4da3b5b5fd204022f70c0e14d2511ae476a7814f3ec32d21900c73f2370462207faa
|
@@ -27,29 +27,40 @@ ARGV.each do |file_path|
|
|
27
27
|
stats=JSON::parse(File.read(file_path))
|
28
28
|
|
29
29
|
res={}
|
30
|
+
|
31
|
+
total=0
|
32
|
+
|
30
33
|
|
31
34
|
begin
|
32
35
|
stats.keys.each do |k|
|
33
36
|
if stats[k]['execution_time']
|
34
37
|
res[k]=stats[k]['execution_time']['total_seconds']
|
38
|
+
total+=res[k]
|
35
39
|
end
|
36
40
|
end
|
41
|
+
|
42
|
+
res["TOTAL_plugins"]=total
|
37
43
|
|
38
44
|
rescue Excepcion => e
|
39
45
|
|
40
46
|
puts "Error reading #{file_path}"
|
41
47
|
end
|
42
48
|
|
49
|
+
if stats['scbi_mapreduce']
|
50
|
+
res['TOTAL_workers']=stats['scbi_mapreduce']['connected_workers']
|
51
|
+
res['TOTAL_read']=stats['scbi_mapreduce']['total_read_time']
|
52
|
+
res['TOTAL_write']=stats['scbi_mapreduce']['total_write_time']
|
53
|
+
res['TOTAL_manager_idle']=stats['scbi_mapreduce']['total_manager_idle_time']
|
54
|
+
res['TOTAL_execution']=stats['scbi_mapreduce']['total_seconds']
|
55
|
+
end
|
56
|
+
|
43
57
|
if puts_json
|
44
58
|
puts JSON::pretty_generate(res)
|
45
59
|
else
|
46
|
-
total=0
|
47
60
|
res.keys.sort.each do |k|
|
48
61
|
puts "#{k}\t#{res[k]}"
|
49
|
-
total+=res[k]
|
50
62
|
end
|
51
|
-
puts "-"*20
|
52
|
-
puts "TOTAL (plugins):\t#{total}"
|
53
63
|
end
|
64
|
+
|
54
65
|
end
|
55
66
|
|
data/bin/seqtrimnext
CHANGED
@@ -362,6 +362,7 @@ $LOG.datetime_format = "%Y-%m-%d %H:%M:%S"
|
|
362
362
|
#DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
|
363
363
|
|
364
364
|
$LOG.info("SeqTrimNext version #{Seqtrimnext::SEQTRIM_VERSION}")
|
365
|
+
$LOG.info("STN command: #{$0}")
|
365
366
|
|
366
367
|
|
367
368
|
$LOG.info("Using BLASTDB: "+ $FORMATTED_DB_PATH)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "seqtrim_action"
|
2
|
+
|
3
|
+
########################################################
|
4
|
+
# Author: Dario Guerrero
|
5
|
+
#
|
6
|
+
# Defines the main methods that are necessary to execute Plugin1
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionTrim < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =true
|
15
|
+
end
|
16
|
+
|
17
|
+
def apply_decoration(char)
|
18
|
+
return char.red.italic
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -87,13 +87,6 @@ class SeqtrimWorkManager < ScbiMapreduce::WorkManager
|
|
87
87
|
|
88
88
|
def self.end_work_manager
|
89
89
|
|
90
|
-
puts "FULL STATS:\n" +JSON.pretty_generate(@@full_stats)
|
91
|
-
|
92
|
-
# create stats file
|
93
|
-
f = File.open(STATS_PATH,'w')
|
94
|
-
f.puts JSON.pretty_generate(@@full_stats)
|
95
|
-
f.close
|
96
|
-
|
97
90
|
# if initial files doesn't exists, create it
|
98
91
|
if !File.exists?(File.join(OUTPUT_PATH,'initial_stats.json'))
|
99
92
|
File.open(File.join(OUTPUT_PATH,'initial_stats.json'),'w') do |f|
|
@@ -102,10 +95,10 @@ class SeqtrimWorkManager < ScbiMapreduce::WorkManager
|
|
102
95
|
end
|
103
96
|
|
104
97
|
# load stats
|
105
|
-
r=File.read(STATS_PATH)
|
106
|
-
stats=JSON::parse(r)
|
107
|
-
|
98
|
+
#r=File.read(STATS_PATH)
|
99
|
+
#stats=JSON::parse(r)
|
108
100
|
|
101
|
+
stats=@@full_stats
|
109
102
|
|
110
103
|
# make graphs
|
111
104
|
gs=GraphStats.new(stats)
|
@@ -120,11 +113,18 @@ class SeqtrimWorkManager < ScbiMapreduce::WorkManager
|
|
120
113
|
file.close
|
121
114
|
end
|
122
115
|
|
123
|
-
if File.exists?('scbi_drb_checkpoint')
|
124
|
-
File.delete('scbi_drb_checkpoint')
|
125
|
-
end
|
126
116
|
end
|
127
117
|
|
118
|
+
def self.work_manager_finished
|
119
|
+
@@full_stats['scbi_mapreduce']=@@stats
|
120
|
+
|
121
|
+
puts "FULL STATS:\n" +JSON.pretty_generate(@@full_stats)
|
122
|
+
|
123
|
+
# create stats file
|
124
|
+
f = File.open(STATS_PATH,'w')
|
125
|
+
f.puts JSON.pretty_generate(@@full_stats)
|
126
|
+
f.close
|
127
|
+
end
|
128
128
|
|
129
129
|
def error_received(worker_error, obj)
|
130
130
|
@@errors_file.puts "Error while processing object #{obj.inspect}\n" + worker_error.original_exception.message + ":\n" +worker_error.original_exception.backtrace.join("\n")
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "plugin"
|
2
|
+
|
3
|
+
########################################################
|
4
|
+
# Author: Dario Guerrero
|
5
|
+
#
|
6
|
+
# Defines the main methods that are necessary to execute PluginSizeTrim
|
7
|
+
# Inherit: Plugin
|
8
|
+
# Trims the output sequences to a fixed size
|
9
|
+
########################################################
|
10
|
+
|
11
|
+
class PluginSizeTrim < Plugin
|
12
|
+
|
13
|
+
def exec_seq(seq,blast_query)
|
14
|
+
#$LOG.debug "[#{self.class.to_s}, seq: #{seq.seq_name}]: checking if insert of sequence has enought size"
|
15
|
+
# puts "inserto #{seq.insert_start}, #{seq.insert_end} size #{seq.seq_fasta.size}"
|
16
|
+
|
17
|
+
|
18
|
+
tr_size = @params.get_param('trim_size_file_'+(seq.order_in_tuple+1).to_s)
|
19
|
+
|
20
|
+
trim_size=-1
|
21
|
+
|
22
|
+
if tr_size
|
23
|
+
trim_size=tr_size.to_i
|
24
|
+
end
|
25
|
+
|
26
|
+
# $WORKER_LOG.info "TRIM_SIZE=#{trim_size}, #{seq.order_in_tuple+1}"
|
27
|
+
|
28
|
+
if trim_size>0
|
29
|
+
|
30
|
+
if (seq.seq_fasta.size > trim_size)
|
31
|
+
a_beg,a_end = trim_size, seq.seq_fasta.size # position from an empty insert
|
32
|
+
|
33
|
+
actions=[]
|
34
|
+
|
35
|
+
type = "ActionTrim"
|
36
|
+
|
37
|
+
a=seq.new_action(a_beg,a_end,type)
|
38
|
+
actions.push a
|
39
|
+
add_stats('trim_sizes',a_end-a_beg+1)
|
40
|
+
|
41
|
+
seq.add_actions(actions)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
#Returns an array with the errors due to parameters are missing
|
48
|
+
def self.check_params(params)
|
49
|
+
errors=[]
|
50
|
+
|
51
|
+
self.check_param(errors,params,'trim_size_file_1','Integer',-1)
|
52
|
+
self.check_param(errors,params,'trim_size_file_2','Integer',-1)
|
53
|
+
|
54
|
+
return errors
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
end
|
data/lib/seqtrimnext/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seqtrimnext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.62
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dario Guerrero
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-01-
|
12
|
+
date: 2016-01-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -288,6 +288,7 @@ files:
|
|
288
288
|
- lib/seqtrimnext/actions/action_sanger_left_adapter.rb
|
289
289
|
- lib/seqtrimnext/actions/action_sanger_right_adapter.rb
|
290
290
|
- lib/seqtrimnext/actions/action_short_insert.rb
|
291
|
+
- lib/seqtrimnext/actions/action_trim.rb
|
291
292
|
- lib/seqtrimnext/actions/action_unexpected_poly_t.rb
|
292
293
|
- lib/seqtrimnext/actions/action_unexpected_vector.rb
|
293
294
|
- lib/seqtrimnext/actions/action_user_contaminant.rb
|
@@ -331,6 +332,7 @@ files:
|
|
331
332
|
- lib/seqtrimnext/plugins/plugin_mids.rb
|
332
333
|
- lib/seqtrimnext/plugins/plugin_sanger_adapters.rb
|
333
334
|
- lib/seqtrimnext/plugins/plugin_short_insert.rb
|
335
|
+
- lib/seqtrimnext/plugins/plugin_size_trim.rb
|
334
336
|
- lib/seqtrimnext/plugins/plugin_user_contaminants.rb
|
335
337
|
- lib/seqtrimnext/plugins/plugin_vectors.rb
|
336
338
|
- lib/seqtrimnext/plugins_old/.DS_Store
|