seqtrimnext 2.0.29
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/Manifest.txt +114 -0
- data/PostInstall.txt +7 -0
- data/README.rdoc +159 -0
- data/Rakefile +38 -0
- data/bin/create_graphs.rb +46 -0
- data/bin/extract_seqs.rb +45 -0
- data/bin/extract_seqs_from_fasta.rb +56 -0
- data/bin/extract_seqs_from_fastq.rb +45 -0
- data/bin/fasta2fastq.rb +38 -0
- data/bin/fastq2fasta.rb +35 -0
- data/bin/gen_qual.rb +46 -0
- data/bin/get_seq.rb +46 -0
- data/bin/group_by_range.rb +17 -0
- data/bin/join_ilumina_paired.rb +130 -0
- data/bin/parse_amplicons.rb +95 -0
- data/bin/parse_json_results.rb +66 -0
- data/bin/parse_params.rb +82 -0
- data/bin/resume_clusters.rb +48 -0
- data/bin/resume_rejected.sh +9 -0
- data/bin/reverse_paired.rb +49 -0
- data/bin/seqtrimnext +368 -0
- data/bin/split_fastq.rb +42 -0
- data/bin/split_ilumina_paired.rb +65 -0
- data/bin/split_paired.rb +70 -0
- data/lib/seqtrimnext/actions/action_ab_adapter.rb +32 -0
- data/lib/seqtrimnext/actions/action_ab_far_adapter.rb +32 -0
- data/lib/seqtrimnext/actions/action_ab_left_adapter.rb +32 -0
- data/lib/seqtrimnext/actions/action_empty_insert.rb +22 -0
- data/lib/seqtrimnext/actions/action_ignore_repeated.rb +24 -0
- data/lib/seqtrimnext/actions/action_indetermination.rb +30 -0
- data/lib/seqtrimnext/actions/action_induced_low_complexity.rb +29 -0
- data/lib/seqtrimnext/actions/action_insert.rb +32 -0
- data/lib/seqtrimnext/actions/action_is_contaminated.rb +30 -0
- data/lib/seqtrimnext/actions/action_key.rb +30 -0
- data/lib/seqtrimnext/actions/action_left_adapter.rb +32 -0
- data/lib/seqtrimnext/actions/action_left_primer.rb +17 -0
- data/lib/seqtrimnext/actions/action_linker.rb +30 -0
- data/lib/seqtrimnext/actions/action_low_complexity.rb +30 -0
- data/lib/seqtrimnext/actions/action_low_high_size.rb +31 -0
- data/lib/seqtrimnext/actions/action_low_quality.rb +33 -0
- data/lib/seqtrimnext/actions/action_mid.rb +30 -0
- data/lib/seqtrimnext/actions/action_multiple_linker.rb +29 -0
- data/lib/seqtrimnext/actions/action_paired_reads.rb +28 -0
- data/lib/seqtrimnext/actions/action_poly_a.rb +29 -0
- data/lib/seqtrimnext/actions/action_poly_t.rb +29 -0
- data/lib/seqtrimnext/actions/action_rem_adit_artifacts.rb +32 -0
- data/lib/seqtrimnext/actions/action_right_adapter.rb +29 -0
- data/lib/seqtrimnext/actions/action_right_primer.rb +25 -0
- data/lib/seqtrimnext/actions/action_short_insert.rb +32 -0
- data/lib/seqtrimnext/actions/action_unexpected_poly_t.rb +29 -0
- data/lib/seqtrimnext/actions/action_unexpected_vector.rb +31 -0
- data/lib/seqtrimnext/actions/action_vectors.rb +31 -0
- data/lib/seqtrimnext/actions/seqtrim_action.rb +136 -0
- data/lib/seqtrimnext/classes/action_manager.rb +47 -0
- data/lib/seqtrimnext/classes/em_classes/seqtrim_work_manager.rb +335 -0
- data/lib/seqtrimnext/classes/em_classes/seqtrim_worker.rb +290 -0
- data/lib/seqtrimnext/classes/extract_stats.rb +255 -0
- data/lib/seqtrimnext/classes/gnu_plot_graph.rb +140 -0
- data/lib/seqtrimnext/classes/graph_stats.rb +74 -0
- data/lib/seqtrimnext/classes/install_database.rb +43 -0
- data/lib/seqtrimnext/classes/install_requirements.rb +123 -0
- data/lib/seqtrimnext/classes/list_db.rb +49 -0
- data/lib/seqtrimnext/classes/make_blast_db.rb +113 -0
- data/lib/seqtrimnext/classes/one_blast.rb +41 -0
- data/lib/seqtrimnext/classes/params.rb +387 -0
- data/lib/seqtrimnext/classes/piro.rb +78 -0
- data/lib/seqtrimnext/classes/plugin_manager.rb +153 -0
- data/lib/seqtrimnext/classes/scan_for_restr_site.rb +138 -0
- data/lib/seqtrimnext/classes/scbi_stats.rb +68 -0
- data/lib/seqtrimnext/classes/seqtrim.rb +317 -0
- data/lib/seqtrimnext/classes/sequence.rb +55 -0
- data/lib/seqtrimnext/classes/sequence_group.rb +72 -0
- data/lib/seqtrimnext/classes/sequence_with_action.rb +503 -0
- data/lib/seqtrimnext/plugins/plugin.rb +267 -0
- data/lib/seqtrimnext/plugins/plugin_ab_adapters.rb +189 -0
- data/lib/seqtrimnext/plugins/plugin_adapters.rb +165 -0
- data/lib/seqtrimnext/plugins/plugin_amplicons.rb +221 -0
- data/lib/seqtrimnext/plugins/plugin_contaminants.rb +209 -0
- data/lib/seqtrimnext/plugins/plugin_extract_inserts.rb +438 -0
- data/lib/seqtrimnext/plugins/plugin_find_poly_at.rb +393 -0
- data/lib/seqtrimnext/plugins/plugin_ignore_repeated.rb +101 -0
- data/lib/seqtrimnext/plugins/plugin_indeterminations.rb +199 -0
- data/lib/seqtrimnext/plugins/plugin_key.rb +70 -0
- data/lib/seqtrimnext/plugins/plugin_linker.rb +232 -0
- data/lib/seqtrimnext/plugins/plugin_low_complexity.rb +98 -0
- data/lib/seqtrimnext/plugins/plugin_low_high_size.rb +74 -0
- data/lib/seqtrimnext/plugins/plugin_low_quality.rb +394 -0
- data/lib/seqtrimnext/plugins/plugin_mids.rb +231 -0
- data/lib/seqtrimnext/plugins/plugin_rem_adit_artifacts.rb +246 -0
- data/lib/seqtrimnext/plugins/plugin_short_insert.rb +244 -0
- data/lib/seqtrimnext/plugins/plugin_vectors.rb +191 -0
- data/lib/seqtrimnext/templates/amplicons.txt +16 -0
- data/lib/seqtrimnext/templates/genomics_454.txt +5 -0
- data/lib/seqtrimnext/templates/genomics_454_with_paired.txt +5 -0
- data/lib/seqtrimnext/templates/low_quality.txt +5 -0
- data/lib/seqtrimnext/templates/low_quality_and_low_complexity.txt +5 -0
- data/lib/seqtrimnext/templates/transcriptomics_454.txt +8 -0
- data/lib/seqtrimnext/templates/transcriptomics_plants.txt +8 -0
- data/lib/seqtrimnext/utils/extract_samples.rb +52 -0
- data/lib/seqtrimnext/utils/fasta2xml.rb +69 -0
- data/lib/seqtrimnext/utils/global_match.rb +65 -0
- data/lib/seqtrimnext/utils/hash_stats.rb +29 -0
- data/lib/seqtrimnext/utils/json_utils.rb +50 -0
- data/lib/seqtrimnext/utils/load_fasta_names_in_hash.rb +37 -0
- data/lib/seqtrimnext/utils/load_qual_in_hash.rb +37 -0
- data/lib/seqtrimnext/utils/recover_mid.rb +95 -0
- data/lib/seqtrimnext/utils/string_utils.rb +56 -0
- data/lib/seqtrimnext.rb +37 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/test_helper.rb +3 -0
- data/test/test_seqtrimnext.rb +11 -0
- metadata +318 -0
@@ -0,0 +1,30 @@
|
|
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 ActionIndetermination < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =true
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.on_red
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 ActionInducedLowComplexity < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut =true
|
14
|
+
end
|
15
|
+
|
16
|
+
# def apply_to(seq)
|
17
|
+
#
|
18
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
19
|
+
# $LOG.debug " Applying #{self.class} "
|
20
|
+
#
|
21
|
+
# end
|
22
|
+
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.red.bold
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
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 ActionInserted
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionInsert < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =false
|
15
|
+
@informative = true
|
16
|
+
end
|
17
|
+
|
18
|
+
# #this method is launched when the size of inserted is enough
|
19
|
+
# def apply_to(seq)
|
20
|
+
#
|
21
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
22
|
+
# $LOG.debug " Applying #{self.class}. ------Inserted has enough size ------ . BEGIN: #{@start_pos} END: #{@end_pos} "
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# end
|
26
|
+
|
27
|
+
def apply_decoration(char)
|
28
|
+
return char
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 ActionIsContaminated < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =true
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.red
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 ActionKey < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =true
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.on_yellow
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
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 ActionLeftAdapter < 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
|
27
|
+
|
28
|
+
# return char.magenta.negative
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 ActionLinker < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =false
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.underline
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 ActionLowComplexity < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut = false
|
14
|
+
@informative = true
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
|
25
|
+
def apply_decoration(char)
|
26
|
+
return char.red.bold
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
@@ -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 PluginActionLowHighSize
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionLowHighSize < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =false
|
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} to #{seq.seq_name}. This sequence will be ignored due to low or high size "
|
22
|
+
# #delete sequence if it was created
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# end
|
26
|
+
|
27
|
+
def apply_decoration(char)
|
28
|
+
return char.on_magenta
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "seqtrim_action"
|
2
|
+
|
3
|
+
########################################################
|
4
|
+
# Author: Almudena Bocinos Rioboo
|
5
|
+
#
|
6
|
+
# Defines the main methods that are necessary to execute PluginActionLowHighSize
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionLowQuality < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =false
|
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} to #{seq.seq_name} . This sequence will be ignored due to low quality "
|
22
|
+
# #delete sequence if it was created
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# end
|
26
|
+
|
27
|
+
|
28
|
+
def apply_decoration(char)
|
29
|
+
return char.downcase.on_white
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 ActionMid < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
@cut =true
|
15
|
+
end
|
16
|
+
|
17
|
+
# def apply_to(seq)
|
18
|
+
#
|
19
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
20
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
21
|
+
#
|
22
|
+
# end
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.yellow.bold
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
########################################################
|
2
|
+
# Author: Almudena Bocinos Rioboo
|
3
|
+
#
|
4
|
+
########################################################
|
5
|
+
|
6
|
+
require "seqtrim_action"
|
7
|
+
|
8
|
+
|
9
|
+
class ActionMultipleLinker < SeqtrimAction
|
10
|
+
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut =true
|
14
|
+
end
|
15
|
+
|
16
|
+
# def apply_to(seq)
|
17
|
+
#
|
18
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
19
|
+
# $LOG.debug " Applying #{self.class} to seq #{seq.seq_name} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
20
|
+
#
|
21
|
+
# end
|
22
|
+
|
23
|
+
def apply_decoration(char)
|
24
|
+
return char.underline
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "seqtrim_action"
|
2
|
+
|
3
|
+
########################################################
|
4
|
+
# Author: Almudena Bocinos Rioboo
|
5
|
+
#
|
6
|
+
# Defines the main methods that are necessary to execute PluginPairedReads
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
class ActionPairedReads < SeqtrimAction
|
10
|
+
def initialize(start_pos,end_pos)
|
11
|
+
super(start_pos,end_pos)
|
12
|
+
@cut =true
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
def apply_to(seq)
|
18
|
+
$LOG.debug "Applying #{self.class}"
|
19
|
+
|
20
|
+
#Storage the first and second subsequences
|
21
|
+
subseq1 = seq.seq_fasta[0,@start_pos-1]
|
22
|
+
subseq2 = seq.seq_fasta[@end_pos+1,seq.seq_fasta.length-1]
|
23
|
+
#$LOG.debug "\nSubsequence left: #{subseq1} \n Subsequence right: #{subseq2}}"
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 ActionPolyA < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut =true
|
14
|
+
end
|
15
|
+
|
16
|
+
# def apply_to(seq)
|
17
|
+
#
|
18
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
19
|
+
# $LOG.debug " Applying #{self.class} "
|
20
|
+
#
|
21
|
+
# end
|
22
|
+
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.bold
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 ActionPolyT < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut =true
|
14
|
+
end
|
15
|
+
|
16
|
+
# def apply_to(seq)
|
17
|
+
#
|
18
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
19
|
+
# $LOG.debug " Applying #{self.class} "
|
20
|
+
#
|
21
|
+
# end
|
22
|
+
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.bold
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
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 PluginActionLowHighSize
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionRemAditArtifacts < 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} to #{seq.seq_name} "
|
22
|
+
# #delete sequence if it was created
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# end
|
26
|
+
|
27
|
+
def apply_decoration(char)
|
28
|
+
return char.yellow.negative
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 ActionRightAdapter < 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
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "seqtrim_action"
|
2
|
+
|
3
|
+
class ActionRightPrimer < SeqtrimAction
|
4
|
+
|
5
|
+
def initialize(start_pos,end_pos)
|
6
|
+
super(start_pos,end_pos)
|
7
|
+
@cut =true
|
8
|
+
|
9
|
+
end
|
10
|
+
#
|
11
|
+
# def apply_to(seq)
|
12
|
+
#
|
13
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
14
|
+
# $LOG.debug " Applying #{self.class} . BEGIN: #{@start_pos} END: #{@end_pos} "
|
15
|
+
#
|
16
|
+
# end
|
17
|
+
|
18
|
+
def apply_decoration(char)
|
19
|
+
return char.blue.underline
|
20
|
+
|
21
|
+
# return char.magenta.negative
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
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 ActionShortInserted
|
7
|
+
# Inherit: Plugin
|
8
|
+
########################################################
|
9
|
+
|
10
|
+
class ActionShortInsert < SeqtrimAction
|
11
|
+
|
12
|
+
def initialize(start_pos,end_pos)
|
13
|
+
super(start_pos,end_pos)
|
14
|
+
# @cut =true
|
15
|
+
@cut = false
|
16
|
+
@informative = true
|
17
|
+
end
|
18
|
+
|
19
|
+
# def apply_to(seq)
|
20
|
+
#
|
21
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
22
|
+
# $LOG.debug " Applying #{self.class}. ------ Error.Sequence is not good ------ . BEGIN: #{@start_pos} END: #{@end_pos} "
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# end
|
26
|
+
|
27
|
+
def apply_decoration(char)
|
28
|
+
return char.on_red
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 ActionUnexpectedPolyT < SeqtrimAction
|
11
|
+
def initialize(start_pos,end_pos)
|
12
|
+
super(start_pos,end_pos)
|
13
|
+
@cut =true
|
14
|
+
end
|
15
|
+
|
16
|
+
# def apply_to(seq)
|
17
|
+
#
|
18
|
+
# # seq.seq_fasta = seq.seq_fasta.slice(start_pos,end_pos)
|
19
|
+
# $LOG.debug " Applying #{self.class} "
|
20
|
+
#
|
21
|
+
# end
|
22
|
+
|
23
|
+
|
24
|
+
def apply_decoration(char)
|
25
|
+
return char.bold
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
@@ -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 ActionUnexpectedVector < 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} to seq #{seq.seq_name}. BEGIN: #{@start_pos} END: #{@end_pos} "
|
22
|
+
#
|
23
|
+
# end
|
24
|
+
|
25
|
+
def apply_decoration(char)
|
26
|
+
return char.on_green
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
end
|