seqtrimnext 2.0.54 → 2.0.55

Sign up to get free protection for your applications and to get access to all the features.
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