scaffolder 0.2.6 → 0.4.0

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.
@@ -1,32 +0,0 @@
1
- class Scaffolder
2
- class Insert
3
- include Comparable
4
-
5
- attr_accessor :start, :stop, :sequence
6
-
7
- def initialize(options)
8
- @sequence = options[:sequence]
9
- @start = options[:start]
10
- @stop = options[:stop]
11
-
12
- m = "Either insert start or stop must be provided"
13
- raise ArgumentError.new(m) if @start.nil? and @stop.nil?
14
-
15
- @start ||= (@stop - @sequence.length - 1)
16
- @stop ||= (@start + @sequence.length - 1)
17
-
18
- if options[:reverse]
19
- @sequence = Bio::Sequence::NA.new(@sequence).reverse_complement.seq.upcase
20
- end
21
- end
22
-
23
- def position
24
- @start-1..@stop-1
25
- end
26
-
27
- def <=>(other)
28
- self.stop <=> other.stop
29
- end
30
-
31
- end
32
- end
@@ -1,50 +0,0 @@
1
- class Scaffolder
2
- class Sequence
3
-
4
- attr_accessor :entry_type, :start, :end, :name, :inserts, :raw_sequence
5
-
6
- def initialize(options)
7
- @entry_type = :sequence
8
- @name = options[:name]
9
- @start = options[:start] || 1
10
- @end = options[:end] || options[:sequence].length
11
- @sequence = options[:sequence]
12
- @raw_sequence = @sequence.clone
13
- @reverse = options[:reverse]
14
- @inserts = []
15
-
16
- raise ArgumentError.new("Sequence end greater than length") if @end > @raw_sequence.length
17
- raise ArgumentError.new("Sequence start less than 0") if @start < 1
18
- raise ArgumentError.new("Sequence start greater than end") if @start > @end
19
-
20
- end
21
-
22
- def add_inserts(inserts)
23
- @inserts = inserts.sort.reverse
24
- @inserts.each do |insert|
25
- if insert.start > @sequence.length
26
- raise ArgumentError.new("Insert start greater than length")
27
- end
28
- if insert.stop < 1
29
- raise ArgumentError.new("Insert end less than 1")
30
- end
31
- if insert.stop <= insert.start
32
- raise ArgumentError.new("Insert end less than start")
33
- end
34
-
35
- before_size = @sequence.length
36
- @sequence[insert.position] = insert.sequence
37
-
38
- # Update sequence end after adding inserts
39
- diff = @sequence.length - before_size
40
- @end += diff
41
- end
42
- end
43
-
44
- def sequence
45
- seq = @sequence[(@start-1)..(@end-1)]
46
- seq = Bio::Sequence::NA.new(seq).reverse_complement if @reverse
47
- seq.to_s.upcase
48
- end
49
- end
50
- end
@@ -1,4 +0,0 @@
1
- > sequence1
2
- ATGCCAGATAACTGACTAGCATG
3
- > insert1
4
- GGTAGTA