seqtrimnext 2.0.54 → 2.0.55

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 986a3873d8d82691a22f08f33859fc93859d0339
4
+ data.tar.gz: 09efc77da8b82592df05056af9a1aeda4909d6a3
5
+ SHA512:
6
+ metadata.gz: bb5158b002d5847daf8c968c74da3fa120375ba7527abbb5c6397601b491db78a4416671fd5626fcf5821114613f175cd714866b154e2622067cd1f60c4abbc9
7
+ data.tar.gz: 0a44e613a6195480e69ff5d9298ad5b786e732748a03b5a7c2732d046c3c022c27af6d0d110cbbff885f907fe8e983d5f1f4261558dae074f48183d5b70d2746
data/History.txt CHANGED
@@ -1,6 +1,10 @@
1
+ === 2.0.55 2013-07-23
2
+
3
+ Sanger adapters plugin. Option to disable reject by indeterminations in the middle of a sequence.
4
+
1
5
  === 2.0.54 2012-09-07
2
6
 
3
- Write fastq as fastq.gz
7
+ * Flag to write fastq files as fastq.gz
4
8
 
5
9
  === 2.0.53 2012-07-24
6
10
 
data/Manifest.txt CHANGED
@@ -18,12 +18,15 @@ bin/resume_rejected.rb
18
18
  bin/reverse_paired.rb
19
19
  bin/seqtrimnext
20
20
  bin/split_fastq.rb
21
+ bin/split_fasta.rb
21
22
  bin/split_ilumina_paired.rb
22
23
  bin/split_paired.rb
23
24
  History.txt
24
25
  lib/seqtrimnext/actions/action_ab_adapter.rb
25
26
  lib/seqtrimnext/actions/action_ab_far_adapter.rb
26
27
  lib/seqtrimnext/actions/action_ab_left_adapter.rb
28
+ lib/seqtrimnext/actions/action_sanger_left_adapter.rb
29
+ lib/seqtrimnext/actions/action_sanger_right_adapter.rb
27
30
  lib/seqtrimnext/actions/action_user_contaminant.rb
28
31
  lib/seqtrimnext/actions/action_empty_insert.rb
29
32
  lib/seqtrimnext/actions/action_ignore_repeated.rb
@@ -74,6 +77,7 @@ lib/seqtrimnext/classes/sequence_group.rb
74
77
  lib/seqtrimnext/classes/sequence_with_action.rb
75
78
  lib/seqtrimnext/plugins/plugin.rb
76
79
  lib/seqtrimnext/plugins/plugin_ab_adapters.rb
80
+ lib/seqtrimnext/plugins/plugin_sanger_adapters.rb
77
81
  lib/seqtrimnext/plugins/plugin_adapters.rb
78
82
  lib/seqtrimnext/plugins/plugin_amplicons.rb
79
83
  lib/seqtrimnext/plugins/plugin_contaminants.rb
@@ -99,7 +103,7 @@ lib/seqtrimnext/templates/genomics_short_reads.txt
99
103
  lib/seqtrimnext/templates/genomics_short_reads_2.txt
100
104
  lib/seqtrimnext/templates/transcriptomics_454.txt
101
105
  lib/seqtrimnext/templates/transcriptomics_short_reads.txt
102
- lib/seqtrimnext/templates/transcriptomics_plants.txt
106
+ lib/seqtrimnext/templates/transcriptomics_454_plants.txt
103
107
  lib/seqtrimnext/utils/extract_samples.rb
104
108
  lib/seqtrimnext/utils/fasta2xml.rb
105
109
  lib/seqtrimnext/utils/global_match.rb
@@ -118,4 +122,4 @@ script/console
118
122
  script/destroy
119
123
  script/generate
120
124
  test/test_helper.rb
121
- test/test_seqtrimnext.rb
125
+ test/test_seqtrimnext.rb
data/bin/seqtrimnext CHANGED
@@ -141,11 +141,11 @@ def show_additional_help
141
141
 
142
142
  puts "\n"*3
143
143
  puts "E.g.: processing a fastq sequences file"
144
- puts "#{$0} -t genomics_454.txt -Q sequences.fastq"
144
+ puts "#{File.basename($0)} -t genomics_454.txt -Q sequences.fastq"
145
145
  puts "\n"*2
146
146
 
147
147
  puts "E.g.: processing a fasta file with qual"
148
- puts "#{$0} -t genomics_454.txt -f sequences.fasta -q sequences.qual"
148
+ puts "#{File.basename($0)} -t genomics_454.txt -f sequences.fasta -q sequences.qual"
149
149
 
150
150
  templates = Dir.glob(File.join($SEQTRIM_PATH,'templates','*.txt')).map{|t| File.basename(t)}
151
151
 
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'scbi_fasta'
4
+
5
+
6
+ if ARGV.count < 3
7
+ puts "#{$0} FASTA_FILE OUTPUT_NAME SEQS_PER_FILE_COUNT"
8
+ exit
9
+ end
10
+
11
+
12
+
13
+ fastq = ARGV.shift
14
+ output_name = ARGV.shift
15
+ split_by = ARGV.shift.to_i
16
+
17
+
18
+ file_index=1
19
+ out=File.new("#{output_name}#{file_index}.fasta",'w')
20
+
21
+ fqr=FastaQualFile.new(fastq)
22
+
23
+ count = 0
24
+
25
+ fqr.each do |seq_name,seq_fasta,comments|
26
+
27
+
28
+ out.puts(">#{seq_name+i.to_s} #{comments}")
29
+ out.puts(seq_fasta)
30
+
31
+ count +=1
32
+
33
+ if (count % split_by) == 0
34
+
35
+ file_index +=1
36
+ out.close
37
+ out=File.new("#{output_name}#{file_index}.fasta",'w')
38
+
39
+ end
40
+ end
41
+
42
+
43
+ out.close
44
+ fqr.close
45
+
data/lib/seqtrimnext.rb CHANGED
@@ -30,7 +30,7 @@ module Seqtrimnext
30
30
  # SEQTRIM_VERSION_STAGE = 'b'
31
31
  # SEQTRIM_VERSION = "2.0.0#{SEQTRIM_VERSION_STAGE}#{SEQTRIM_VERSION_REVISION}"
32
32
 
33
- VERSION = '2.0.54'
33
+ VERSION = '2.0.55'
34
34
 
35
35
  SEQTRIM_VERSION = VERSION
36
36
 
@@ -0,0 +1,31 @@
1
+ require "seqtrim_action"
2
+
3
+ ########################################################
4
+ # Author: Almudena Bocinos Rioboo
5
+ #
6
+ # Defines the main methods that are necessary to execute Plugin1
7
+ # Inherit: Plugin
8
+ ########################################################
9
+
10
+ class ActionSangerLeftAdapter < SeqtrimAction
11
+
12
+ def initialize(start_pos,end_pos)
13
+ super(start_pos,end_pos)
14
+ @cut =true
15
+
16
+ end
17
+ #
18
+ # def apply_to(seq)
19
+ #
20
+ # # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
21
+ # $LOG.debug " Applying #{self.class} . BEGIN: #{@start_pos} END: #{@end_pos} "
22
+ #
23
+ # end
24
+
25
+ def apply_decoration(char)
26
+ return char.magenta.negative
27
+
28
+ # return char.magenta.negative
29
+ end
30
+
31
+ end
@@ -0,0 +1,32 @@
1
+ require "seqtrim_action"
2
+
3
+ ########################################################
4
+ # Author: Almudena Bocinos Rioboo
5
+ #
6
+ # Defines the main methods that are necessary to execute Plugin1
7
+ # Inherit: Plugin
8
+ ########################################################
9
+
10
+ class ActionSangerRightAdapter < SeqtrimAction
11
+
12
+ def initialize(start_pos,end_pos)
13
+ super(start_pos,end_pos)
14
+ @cut =true
15
+
16
+ end
17
+ #
18
+ # def apply_to(seq)
19
+ #
20
+ # # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
21
+ # $LOG.debug " Applying #{self.class} . BEGIN: #{@start_pos} END: #{@end_pos} "
22
+ #
23
+ # end
24
+
25
+ def apply_decoration(char)
26
+ return char.magenta.negative
27
+
28
+ # return char.magenta.negative
29
+ end
30
+
31
+
32
+ end
@@ -100,9 +100,11 @@ class PluginIndeterminations < Plugin
100
100
  a.right_action=true
101
101
  actions.push a
102
102
 
103
- seq.seq_rejected=true
104
- seq.seq_rejected_by_message='Indeterminations in middle of sequence'
105
-
103
+ if @params.get_param('middle_indetermination_rejects')=='true'
104
+ seq.seq_rejected=true
105
+ seq.seq_rejected_by_message='Indeterminations in middle of sequence'
106
+ end
107
+
106
108
  poly_size=poly['end']-poly['begin']+1
107
109
  add_stats('size',poly_size)
108
110
  end
@@ -180,9 +182,13 @@ class PluginIndeterminations < Plugin
180
182
  default_value = 80
181
183
  params.check_param(errors,'poly_n_percent','Integer',default_value,comment)
182
184
 
183
- comment='Maximum distance to the end of the sequence to be considered an internal segment'
184
- default_value = 15
185
- params.check_param(errors,'poly_n_max_to_end','Integer',default_value,comment)
185
+ comment='Maximum distance to the end of the sequence to be considered an internal segment'
186
+ default_value = 15
187
+ params.check_param(errors,'poly_n_max_to_end','Integer',default_value,comment)
188
+
189
+ comment='Rejects sequences with indeterminations in the middle'
190
+ default_value = 'true'
191
+ params.check_param(errors,'middle_indetermination_rejects','String',default_value,comment)
186
192
 
187
193
  return errors
188
194
  end
@@ -0,0 +1,227 @@
1
+ require "plugin"
2
+
3
+ ########################################################
4
+ # Author: DGF y ABR
5
+ #
6
+ # Defines the main methods that are necessary to execute PluginAdapters
7
+ # Inherit: Plugin
8
+ ########################################################
9
+
10
+ class PluginSangerAdapters < Plugin
11
+
12
+ # adapters found at end of sequence are even 2 nt wide, cut in 5 because of statistics
13
+ MIN_ADAPTER_SIZE = 5
14
+ MIN_FAR_ADAPTER_SIZE = 13
15
+ MIN_LEFT_ADAPTER_SIZE = 9
16
+
17
+ def do_blasts(seqs)
18
+
19
+ # find MIDS with less results than max_target_seqs value
20
+ blast=BatchBlast.new("-db #{@params.get_param('adapters_sanger_db')}",'blastn'," -task blastn-short -perc_identity #{@params.get_param('blast_percent_sanger')} -word_size #{MIN_ADAPTER_SIZE}")
21
+ $LOG.debug('BLAST:'+blast.get_blast_cmd)
22
+
23
+ fastas=[]
24
+
25
+ seqs.each do |seq|
26
+ fastas.push ">"+seq.seq_name
27
+ fastas.push seq.seq_fasta
28
+ end
29
+
30
+ # fastas=fastas.join("\n")
31
+
32
+ blast_table_results = blast.do_blast(fastas)
33
+
34
+ # puts blast_table_results.inspect
35
+
36
+ return blast_table_results
37
+ end
38
+
39
+ # filter hits that are far the extreme and do not have a valid length
40
+ def filter_hits(hits,end_pos)
41
+ # hits.reverse_each do |hit|
42
+ # # if (hit.q_end < (end_pos-40)) && ((hit.q_end-hit.q_beg+1)<(@params.get_sanger_adapter(hit.subject_id).length*0.80).to_i)
43
+ # if ((hit.q_end-hit.q_beg+1)<(@params.get_sanger_adapter(hit.subject_id).length*0.80).to_i)
44
+ # hits.delete(hit)
45
+ # end
46
+ # end
47
+
48
+ end
49
+
50
+ def filter_adapters(adapters)
51
+
52
+ min_size=@params.get_param('min_sanger_adapter_size').to_i
53
+ adapters.reverse_each do |c|
54
+ adapter_size=c.q_end-c.q_beg+1
55
+
56
+ if adapter_size < min_size
57
+ adapters.delete(c)
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+
64
+ def exec_seq(seq,blast_query)
65
+ if blast_query.query_id != seq.seq_name
66
+ raise "Blast and seq names does not match, blast:#{blast_query.query_id} sn:#{seq.seq_name}"
67
+ end
68
+
69
+ $LOG.debug "[#{self.class.to_s}, seq: #{seq.seq_name}]: looking for adapters into the sequence"
70
+
71
+
72
+ # blast=BatchBlast.new("-db #{File.join($FORMATTED_DB_PATH,'adapters_ab.fasta')}",'blastn'," -task blastn-short -evalue #{@params.get_param('blast_evalue_ab')} -perc_identity #{@params.get_param('blast_percent_ab')} -word_size #{MIN_ADAPTER_SIZE}")
73
+
74
+
75
+
76
+ # blast with only one sequence, no with many sequences from a database
77
+ #---------------------------------------------------------------------
78
+
79
+ # blast_table_results = blast.do_blast(seq.seq_fasta) #rise seq to adapterss executing over blast
80
+
81
+ #BlastTableResult.new(res)
82
+ # puts blast_query.inspect
83
+ # puts blast_table_results.inspect
84
+
85
+ # filter_hits(blast_query.hits, seq.seq_fasta.length)
86
+
87
+ adapters=[]
88
+ # blast_table_results.querys.each do |query| # first round to save adapters without overlap
89
+ merge_hits(blast_query.hits,adapters)
90
+ # end
91
+
92
+ begin
93
+ adapters2=adapters # second round to save adapters without overlap
94
+ adapters = []
95
+ merge_hits(adapters2,adapters)
96
+ end until (adapters2.count == adapters.count)
97
+
98
+ # type = 'ActionAbAdapter'
99
+ actions=[]
100
+ adapter_size=0
101
+
102
+ filter_adapters(adapters)
103
+
104
+ if adapters.count==1 # only one adapter
105
+ c=adapters.first
106
+ adapter_size=c.q_end-c.q_beg+1
107
+ message = c.subject_id
108
+ type = 'ActionSangerLeftAdapter'
109
+ stat_type='left'
110
+ add_stats('adapter_type',stat_type)
111
+
112
+ a = seq.new_action(c.q_beg,c.q_end,type)
113
+ a.message = message
114
+ a.reversed = c.reversed
115
+ a.left_action = true
116
+ actions.push a
117
+
118
+ add_stats('adapter_size',adapter_size)
119
+ add_stats('adapter_id',message)
120
+
121
+ elsif adapters.count >=2
122
+ type = 'ActionSangerLeftAdapter'
123
+ stat_type='left'
124
+ left_action=true
125
+ right_action=false
126
+
127
+ adapters.sort!{|a1,a2| a1.q_beg <=> a2.q_beg}
128
+ old_qend=adapters.first.q_end
129
+
130
+ max_slice_size=[]
131
+
132
+ # left_qend=adapters.first.q_end
133
+ adapters.each do |c| # adds the correspondent action to the sequence
134
+
135
+
136
+ # check if it is a right adapter
137
+ if c.q_beg > (old_qend+50)
138
+ type=type = 'ActionSangerRightAdapter'
139
+ stat_type='right'
140
+ left_action=false
141
+ right_action=true
142
+ end
143
+
144
+ adapter_size=c.q_end-c.q_beg+1
145
+ message = c.subject_id
146
+ add_stats('adapter_type',stat_type)
147
+
148
+ a = seq.new_action(c.q_beg,c.q_end,type)
149
+ a.message = message
150
+ a.reversed = c.reversed
151
+ a.left_action = left_action
152
+ a.right_action = right_action
153
+
154
+ # if action.last.q_end - a.start_pos > max_slice_size.last[:size]
155
+
156
+ # end
157
+
158
+ actions.push a
159
+
160
+ add_stats('adapter_size',adapter_size)
161
+ add_stats('adapter_id',message)
162
+
163
+ old_qend=adapters.first.q_end
164
+
165
+ end
166
+
167
+ end
168
+
169
+ if !actions.empty?
170
+ seq.add_actions(actions)
171
+ add_stats('sequences_with_adapter','count')
172
+ end
173
+
174
+
175
+ #
176
+ end
177
+
178
+ #Returns an array with the errors due to parameters are missing
179
+ def self.check_params(params)
180
+ errors=[]
181
+
182
+ comment='Blast E-value used as cut-off when searching for Sanger adapters'
183
+ # default_value = 1e-6
184
+ default_value = 1
185
+ params.check_param(errors,'blast_evalue_sanger','Float',default_value,comment)
186
+
187
+ comment='Minimum required identity (%) for a reliable Sanger adapter'
188
+ default_value = 95
189
+ params.check_param(errors,'blast_percent_sanger','Integer',default_value,comment)
190
+
191
+ comment='Minimum required adapter size for a valid Sanger adapter'
192
+ default_value = 10
193
+ params.check_param(errors,'min_sanger_adapter_size','Integer',default_value,comment)
194
+
195
+ comment='Path for Sanger adapters database'
196
+ default_value = File.join($FORMATTED_DB_PATH,'adapters_sanger.fasta')
197
+ params.check_param(errors,'adapters_sanger_db','DB',default_value,comment)
198
+
199
+ return errors
200
+ end
201
+
202
+ def self.get_graph_title(plugin_name,stats_name)
203
+ case stats_name
204
+ when 'adapter_type'
205
+ 'Sanger adapters by type'
206
+ when 'adapter_size'
207
+ 'Sanger adapters by size'
208
+ end
209
+ end
210
+
211
+ def self.get_graph_filename(plugin_name,stats_name)
212
+ return stats_name
213
+
214
+ # case stats_name
215
+ # when 'adapter_type'
216
+ # 'AB adapters by type'
217
+ # when 'adapter_size'
218
+ # 'AB adapters by size'
219
+ # end
220
+ end
221
+
222
+ def self.valid_graphs
223
+ return ['adapter_type']
224
+ end
225
+
226
+
227
+ end
@@ -17,7 +17,7 @@
17
17
  # Help: <li>PluginLowQuality: trimming low quality regions from sequences. </li>
18
18
  # Help: </ul>
19
19
 
20
- plugin_list = PluginIndeterminations,PluginAdapters,PluginFindPolyAt,PluginContaminants,PluginVectors,PluginLowQuality
20
+ plugin_list = PluginIndeterminations,PluginSangerAdapters,PluginFindPolyAt,PluginContaminants,PluginVectors,PluginLowQuality
21
21
 
22
22
  # do not remove cloned sequences
23
23
  remove_clonality=false
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seqtrimnext
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 2.0.54
4
+ version: 2.0.55
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dario Guerrero & Almudena Bocinos
@@ -10,15 +9,15 @@ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
11
 
13
- date: 2012-09-07 00:00:00 Z
12
+ date: 2013-07-24 00:00:00 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: narray
17
16
  prerelease: false
18
17
  requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ">="
19
+ - &id002
20
+ - ">="
22
21
  - !ruby/object:Gem::Version
23
22
  version: "0"
24
23
  type: :runtime
@@ -26,124 +25,111 @@ dependencies:
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: gnuplot
28
27
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
30
- none: false
28
+ requirement: &id003 !ruby/object:Gem::Requirement
31
29
  requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
30
+ - *id002
35
31
  type: :runtime
36
- version_requirements: *id002
32
+ version_requirements: *id003
37
33
  - !ruby/object:Gem::Dependency
38
34
  name: term-ansicolor
39
35
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- none: false
36
+ requirement: &id004 !ruby/object:Gem::Requirement
42
37
  requirements:
43
38
  - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.0.5
46
41
  type: :runtime
47
- version_requirements: *id003
42
+ version_requirements: *id004
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: xml-simple
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
52
- none: false
46
+ requirement: &id005 !ruby/object:Gem::Requirement
53
47
  requirements:
54
48
  - - ">="
55
49
  - !ruby/object:Gem::Version
56
50
  version: 1.0.12
57
51
  type: :runtime
58
- version_requirements: *id004
52
+ version_requirements: *id005
59
53
  - !ruby/object:Gem::Dependency
60
54
  name: scbi_blast
61
55
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
63
- none: false
56
+ requirement: &id006 !ruby/object:Gem::Requirement
64
57
  requirements:
65
58
  - - ">="
66
59
  - !ruby/object:Gem::Version
67
60
  version: 0.0.34
68
61
  type: :runtime
69
- version_requirements: *id005
62
+ version_requirements: *id006
70
63
  - !ruby/object:Gem::Dependency
71
64
  name: scbi_mapreduce
72
65
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
74
- none: false
66
+ requirement: &id007 !ruby/object:Gem::Requirement
75
67
  requirements:
76
68
  - - ">="
77
69
  - !ruby/object:Gem::Version
78
70
  version: 0.0.38
79
71
  type: :runtime
80
- version_requirements: *id006
72
+ version_requirements: *id007
81
73
  - !ruby/object:Gem::Dependency
82
74
  name: scbi_fasta
83
75
  prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
85
- none: false
76
+ requirement: &id008 !ruby/object:Gem::Requirement
86
77
  requirements:
87
78
  - - ">="
88
79
  - !ruby/object:Gem::Version
89
80
  version: 0.1.7
90
81
  type: :runtime
91
- version_requirements: *id007
82
+ version_requirements: *id008
92
83
  - !ruby/object:Gem::Dependency
93
84
  name: scbi_fastq
94
85
  prerelease: false
95
- requirement: &id008 !ruby/object:Gem::Requirement
96
- none: false
86
+ requirement: &id009 !ruby/object:Gem::Requirement
97
87
  requirements:
98
88
  - - ">="
99
89
  - !ruby/object:Gem::Version
100
90
  version: 0.0.17
101
91
  type: :runtime
102
- version_requirements: *id008
92
+ version_requirements: *id009
103
93
  - !ruby/object:Gem::Dependency
104
94
  name: scbi_plot
105
95
  prerelease: false
106
- requirement: &id009 !ruby/object:Gem::Requirement
107
- none: false
96
+ requirement: &id010 !ruby/object:Gem::Requirement
108
97
  requirements:
109
98
  - - ">="
110
99
  - !ruby/object:Gem::Version
111
100
  version: 0.0.6
112
101
  type: :runtime
113
- version_requirements: *id009
102
+ version_requirements: *id010
114
103
  - !ruby/object:Gem::Dependency
115
104
  name: scbi_math
116
105
  prerelease: false
117
- requirement: &id010 !ruby/object:Gem::Requirement
118
- none: false
106
+ requirement: &id011 !ruby/object:Gem::Requirement
119
107
  requirements:
120
108
  - - ">="
121
109
  - !ruby/object:Gem::Version
122
110
  version: 0.0.1
123
111
  type: :runtime
124
- version_requirements: *id010
112
+ version_requirements: *id011
125
113
  - !ruby/object:Gem::Dependency
126
114
  name: scbi_headers
127
115
  prerelease: false
128
- requirement: &id011 !ruby/object:Gem::Requirement
129
- none: false
116
+ requirement: &id012 !ruby/object:Gem::Requirement
130
117
  requirements:
131
118
  - - ">="
132
119
  - !ruby/object:Gem::Version
133
120
  version: 0.0.2
134
121
  type: :runtime
135
- version_requirements: *id011
122
+ version_requirements: *id012
136
123
  - !ruby/object:Gem::Dependency
137
124
  name: hoe
138
125
  prerelease: false
139
- requirement: &id012 !ruby/object:Gem::Requirement
140
- none: false
126
+ requirement: &id013 !ruby/object:Gem::Requirement
141
127
  requirements:
142
128
  - - ">="
143
129
  - !ruby/object:Gem::Version
144
130
  version: 2.8.0
145
131
  type: :development
146
- version_requirements: *id012
132
+ version_requirements: *id013
147
133
  description: SeqtrimNEXT is a customizable and distributed pre-processing software for NGS (Next Generation Sequencing) biological data. It makes use of scbi_mapreduce gem to be able to run in parallel and distributed environments. It is specially suited for Roche 454 (normal and paired-end) & Ilumina datasets, although it could be easyly adapted to any other situation.
148
134
  email:
149
135
  - dariogf@gmail.com & alkoke@gmail.com
@@ -168,6 +154,7 @@ executables:
168
154
  - reverse_paired.rb
169
155
  - seqtrimnext
170
156
  - split_fastq.rb
157
+ - split_fasta.rb
171
158
  - split_ilumina_paired.rb
172
159
  - split_paired.rb
173
160
  extensions: []
@@ -183,7 +170,7 @@ extra_rdoc_files:
183
170
  - lib/seqtrimnext/templates/genomics_short_reads_2.txt
184
171
  - lib/seqtrimnext/templates/transcriptomics_454.txt
185
172
  - lib/seqtrimnext/templates/transcriptomics_short_reads.txt
186
- - lib/seqtrimnext/templates/transcriptomics_plants.txt
173
+ - lib/seqtrimnext/templates/transcriptomics_454_plants.txt
187
174
  - Manifest.txt
188
175
  - PostInstall.txt
189
176
  files:
@@ -207,12 +194,15 @@ files:
207
194
  - bin/reverse_paired.rb
208
195
  - bin/seqtrimnext
209
196
  - bin/split_fastq.rb
197
+ - bin/split_fasta.rb
210
198
  - bin/split_ilumina_paired.rb
211
199
  - bin/split_paired.rb
212
200
  - History.txt
213
201
  - lib/seqtrimnext/actions/action_ab_adapter.rb
214
202
  - lib/seqtrimnext/actions/action_ab_far_adapter.rb
215
203
  - lib/seqtrimnext/actions/action_ab_left_adapter.rb
204
+ - lib/seqtrimnext/actions/action_sanger_left_adapter.rb
205
+ - lib/seqtrimnext/actions/action_sanger_right_adapter.rb
216
206
  - lib/seqtrimnext/actions/action_user_contaminant.rb
217
207
  - lib/seqtrimnext/actions/action_empty_insert.rb
218
208
  - lib/seqtrimnext/actions/action_ignore_repeated.rb
@@ -263,6 +253,7 @@ files:
263
253
  - lib/seqtrimnext/classes/sequence_with_action.rb
264
254
  - lib/seqtrimnext/plugins/plugin.rb
265
255
  - lib/seqtrimnext/plugins/plugin_ab_adapters.rb
256
+ - lib/seqtrimnext/plugins/plugin_sanger_adapters.rb
266
257
  - lib/seqtrimnext/plugins/plugin_adapters.rb
267
258
  - lib/seqtrimnext/plugins/plugin_amplicons.rb
268
259
  - lib/seqtrimnext/plugins/plugin_contaminants.rb
@@ -288,7 +279,7 @@ files:
288
279
  - lib/seqtrimnext/templates/genomics_short_reads_2.txt
289
280
  - lib/seqtrimnext/templates/transcriptomics_454.txt
290
281
  - lib/seqtrimnext/templates/transcriptomics_short_reads.txt
291
- - lib/seqtrimnext/templates/transcriptomics_plants.txt
282
+ - lib/seqtrimnext/templates/transcriptomics_454_plants.txt
292
283
  - lib/seqtrimnext/utils/extract_samples.rb
293
284
  - lib/seqtrimnext/utils/fasta2xml.rb
294
285
  - lib/seqtrimnext/utils/global_match.rb
@@ -311,6 +302,8 @@ files:
311
302
  homepage: http://www.scbi.uma.es/downloads
312
303
  licenses: []
313
304
 
305
+ metadata: {}
306
+
314
307
  post_install_message: PostInstall.txt
315
308
  rdoc_options:
316
309
  - --main
@@ -318,23 +311,17 @@ rdoc_options:
318
311
  require_paths:
319
312
  - lib
320
313
  required_ruby_version: !ruby/object:Gem::Requirement
321
- none: false
322
314
  requirements:
323
- - - ">="
324
- - !ruby/object:Gem::Version
325
- version: "0"
315
+ - *id002
326
316
  required_rubygems_version: !ruby/object:Gem::Requirement
327
- none: false
328
317
  requirements:
329
- - - ">="
330
- - !ruby/object:Gem::Version
331
- version: "0"
318
+ - *id002
332
319
  requirements: []
333
320
 
334
321
  rubyforge_project: seqtrimnext
335
- rubygems_version: 1.8.24
322
+ rubygems_version: 2.0.3
336
323
  signing_key:
337
- specification_version: 3
324
+ specification_version: 4
338
325
  summary: SeqtrimNEXT is a customizable and distributed pre-processing software for NGS (Next Generation Sequencing) biological data
339
326
  test_files:
340
327
  - test/test_helper.rb