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.
- data/Gemfile +15 -0
- data/LICENSE +1 -1
- data/README.rdoc +29 -17
- data/Rakefile +22 -41
- data/VERSION +1 -1
- data/cucumber.yml +2 -0
- data/features/insert.feature +15 -0
- data/features/sequence.feature +20 -0
- data/features/step_definitions/scaffolder_steps.rb +48 -0
- data/features/support/env.rb +30 -0
- data/lib/scaffolder/errors.rb +6 -0
- data/lib/scaffolder/region/insert.rb +51 -0
- data/lib/scaffolder/region/sequence.rb +74 -0
- data/lib/scaffolder/region/unresolved.rb +23 -0
- data/lib/scaffolder/region.rb +139 -1
- data/lib/scaffolder.rb +197 -33
- data/scaffolder.gemspec +61 -43
- data/test/helper.rb +18 -3
- data/test/test_insert.rb +35 -43
- data/test/test_region.rb +143 -4
- data/test/test_scaffolder.rb +78 -47
- data/test/test_sequence.rb +61 -84
- data/test/test_unresolved.rb +23 -0
- data/yard/attribute_handler.rb +12 -0
- metadata +102 -45
- data/.gitignore +0 -22
- data/lib/scaffolder/insert.rb +0 -32
- data/lib/scaffolder/sequence.rb +0 -50
- data/test/data/sequences.fna +0 -4
data/test/test_scaffolder.rb
CHANGED
@@ -2,83 +2,114 @@ require 'helper'
|
|
2
2
|
|
3
3
|
class TestScaffolder < Test::Unit::TestCase
|
4
4
|
context Scaffolder do
|
5
|
-
|
5
|
+
|
6
|
+
Scaffolder::Region::Mock = Class.new(Scaffolder::Region)
|
7
|
+
|
6
8
|
setup do
|
7
|
-
@sequence =
|
8
|
-
|
9
|
-
@expect = {:name => 'sequence1', :start => nil, :end => nil,
|
10
|
-
:sequence => 'ATGCCAGATAACTGACTAGCATG', :reverse => nil}
|
9
|
+
@sequence = nil
|
10
|
+
@data = [{'mock' => Hash.new}]
|
11
11
|
end
|
12
12
|
|
13
|
-
context
|
13
|
+
context 'parsing a scaffold file' do
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
Scaffolder.new @assembly, @sequence
|
15
|
+
setup do
|
16
|
+
Bio::FlatFile.stubs(:auto).with(@sequence).returns({})
|
18
17
|
end
|
19
18
|
|
20
|
-
should "
|
21
|
-
|
22
|
-
|
23
|
-
Scaffolder.new @assembly, @sequence
|
19
|
+
should "fetch correct region class type" do
|
20
|
+
Scaffolder::Region.expects(:'[]').with('mock').returns(Scaffolder::Region::Mock)
|
21
|
+
Scaffolder.new(@data,@sequence)
|
24
22
|
end
|
25
23
|
|
26
|
-
should "
|
27
|
-
@
|
28
|
-
|
29
|
-
Scaffolder.new @assembly, @sequence
|
24
|
+
should "pass data to region object" do
|
25
|
+
Scaffolder::Region::Mock.expects(:generate).with(@data.first['mock'])
|
26
|
+
Scaffolder.new(@data,@sequence)
|
30
27
|
end
|
31
28
|
|
32
|
-
should "throw an error when source doesn't have a matching sequence" do
|
33
|
-
@assembly.first['sequence'].update('source' => 'sequence3')
|
34
|
-
assert_raise(ArgumentError){ Scaffolder.new @assembly, @sequence }
|
35
|
-
end
|
36
29
|
end
|
37
30
|
|
38
|
-
context
|
31
|
+
context 'parsing a scaffold file with a source keyword' do
|
39
32
|
|
40
33
|
setup do
|
41
|
-
@
|
42
|
-
|
43
|
-
|
34
|
+
Bio::FlatFile.stubs(:auto).with(@sequence).returns([
|
35
|
+
stub(:definition => 'seq1', :seq => 'ATGC')])
|
36
|
+
end
|
37
|
+
|
38
|
+
should "should also pass raw_sequence from flat file" do
|
39
|
+
@data.first['mock']['source'] = 'seq1'
|
40
|
+
Scaffolder::Region::Mock.any_instance.expects(:source).with('seq1')
|
41
|
+
Scaffolder::Region::Mock.any_instance.expects(:raw_sequence).with('ATGC')
|
42
|
+
Scaffolder.new(@data,@sequence)
|
44
43
|
end
|
45
44
|
|
46
|
-
|
47
|
-
params = {:start => 5, :stop => 10,
|
48
|
-
:sequence => 'GGTAGTA', :reverse => true}
|
45
|
+
end
|
49
46
|
|
50
|
-
|
47
|
+
context 'updating each data hash with raw_sequence attributes' do
|
51
48
|
|
52
|
-
|
53
|
-
|
49
|
+
setup do
|
50
|
+
@seqs = {'seq1' => 'AAA'}
|
51
|
+
@expected = {'source' => 'seq1', 'raw_sequence' => @seqs['seq1']}
|
52
|
+
end
|
54
53
|
|
55
|
-
|
54
|
+
should "do nothing when no source keyword" do
|
55
|
+
test = {'something' => 'nothing'}
|
56
|
+
assert_equal(test,Scaffolder.update_with_sequence(test,@seqs))
|
56
57
|
end
|
57
58
|
|
58
|
-
should "
|
59
|
-
|
60
|
-
|
61
|
-
assert_raise(ArgumentError){ Scaffolder.new @assembly, @sequence }
|
59
|
+
should "add raw_sequence to simple hash" do
|
60
|
+
test = {'source' => 'seq1'}
|
61
|
+
assert_equal(@expected,Scaffolder.update_with_sequence(test,@seqs))
|
62
62
|
end
|
63
63
|
|
64
|
-
|
64
|
+
should "add raw_sequence to a nested hash" do
|
65
|
+
test = {'something' => {'source' => 'seq1'}}
|
66
|
+
expected = {'something' => @expected}
|
67
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
68
|
+
end
|
65
69
|
|
66
|
-
|
70
|
+
should "add raw_sequence to a twice nested hash" do
|
71
|
+
test = {'something' => {'other' => {'source' => 'seq1'}}}
|
72
|
+
expected = {'something' => {'other' => @expected}}
|
73
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
74
|
+
end
|
67
75
|
|
68
|
-
|
76
|
+
should "add raw_sequence to simple hash inside an array" do
|
77
|
+
test = [{'source' => 'seq1'}]
|
78
|
+
expected = [@expected]
|
79
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
80
|
+
end
|
69
81
|
|
70
|
-
should
|
71
|
-
|
72
|
-
|
82
|
+
should "add raw_sequence to a nested hash inside an array" do
|
83
|
+
test = {'something' => [{'source' => 'seq1'}]}
|
84
|
+
expected = {'something' => [@expected]}
|
85
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
73
86
|
end
|
74
87
|
|
75
|
-
|
88
|
+
should "add raw_sequence to two nested hashes inside an array" do
|
89
|
+
test = {'something' => [{'source' => 'seq1'},{'source' => 'seq1'}]}
|
90
|
+
expected = {'something' => [@expected,@expected]}
|
91
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
92
|
+
end
|
76
93
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
94
|
+
should "add raw_sequence to a hash inside a hash inside an array" do
|
95
|
+
test = {'something' => [{'else' => {'source' => 'seq1'}}]}
|
96
|
+
expected = {'something' => [{'else' => @expected}]}
|
97
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
81
98
|
end
|
99
|
+
|
100
|
+
should "add raw_sequence to a twice nested (hash inside an array)" do
|
101
|
+
test = {'something' => [{'else' => [{'source' => 'seq1'}]}]}
|
102
|
+
expected = {'something' => [{'else' => [@expected]}]}
|
103
|
+
assert_equal(expected,Scaffolder.update_with_sequence(test,@seqs))
|
104
|
+
end
|
105
|
+
|
106
|
+
should "throw an UnknownSequenceError when no matching sequence" do
|
107
|
+
test = {'source' => 'non_existent_sequence'}
|
108
|
+
assert_raise(Scaffolder::Errors::UnknownSequenceError) do
|
109
|
+
Scaffolder.update_with_sequence(test,@seqs)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
82
113
|
end
|
83
114
|
|
84
115
|
end
|
data/test/test_sequence.rb
CHANGED
@@ -1,122 +1,99 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
class
|
4
|
-
context Scaffolder::Sequence do
|
3
|
+
class TestSequence < Test::Unit::TestCase
|
4
|
+
context Scaffolder::Region::Sequence do
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
context "attributes" do
|
7
|
+
should_have_method_attribute Scaffolder::Region::Sequence
|
8
|
+
should_have_attribute Scaffolder::Region::Sequence, :source, :inserts
|
9
9
|
end
|
10
10
|
|
11
|
-
context "
|
11
|
+
context "insert attribute method" do
|
12
12
|
|
13
|
-
|
14
|
-
sequence = Scaffolder::Sequence.new
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
assert_equal(sequence.sequence,'ATGCCAGATAACTGACTAGCATG')
|
20
|
-
assert_equal(sequence.raw_sequence,'ATGCCAGATAACTGACTAGCATG')
|
13
|
+
setup do
|
14
|
+
@sequence = Scaffolder::Region::Sequence.new
|
15
|
+
@hash = {'open' => 2, 'close' => 3}
|
16
|
+
@insert = Scaffolder::Region::Insert.new
|
17
|
+
@insert.open @hash['open']
|
18
|
+
@insert.close @hash['close']
|
21
19
|
end
|
22
20
|
|
23
|
-
should "
|
24
|
-
sequence
|
25
|
-
assert_equal(sequence.sequence,'CATGCTAGTCAGTTATCTGGCAT')
|
26
|
-
assert_equal(sequence.raw_sequence,'ATGCCAGATAACTGACTAGCATG')
|
21
|
+
should "return empty array as default value" do
|
22
|
+
assert_equal(@sequence.inserts,Array.new)
|
27
23
|
end
|
28
24
|
|
29
|
-
should "
|
30
|
-
sequence
|
31
|
-
assert_equal(sequence.
|
32
|
-
assert_equal(sequence.end,20)
|
33
|
-
assert_equal(sequence.sequence,'CAGATAACTGACTAGC')
|
25
|
+
should "allow array of inserts to be set as value" do
|
26
|
+
@sequence.inserts [@insert]
|
27
|
+
assert_equal(@sequence.inserts,[@insert])
|
34
28
|
end
|
35
29
|
|
36
|
-
should "
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
30
|
+
should "process insert data hash into an array of inserts" do
|
31
|
+
@sequence.inserts [@hash]
|
32
|
+
insert = @sequence.inserts.first
|
33
|
+
assert_instance_of(Scaffolder::Region::Insert,insert)
|
34
|
+
assert_equal(@hash['close'],insert.close)
|
35
|
+
assert_equal(@hash['open'],insert.open)
|
42
36
|
end
|
43
37
|
|
44
|
-
should "
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
should "throw an error when the start is greater than the end" do
|
53
|
-
begin
|
54
|
-
Scaffolder::Sequence.new @options.merge(:end => 5,:start => 10)
|
55
|
-
flunk "Should throw an argument error"
|
56
|
-
rescue ArgumentError
|
38
|
+
should "process mixed insert data into an array of inserts" do
|
39
|
+
@sequence.inserts [@hash,@insert]
|
40
|
+
@sequence.inserts.each do |insert|
|
41
|
+
assert_instance_of(Scaffolder::Region::Insert,insert)
|
42
|
+
assert_equal(@hash['close'],insert.close)
|
43
|
+
assert_equal(@hash['open'],insert.open)
|
57
44
|
end
|
58
45
|
end
|
59
46
|
|
60
47
|
end
|
61
48
|
|
62
|
-
context "
|
49
|
+
context "with inserts added" do
|
63
50
|
|
64
51
|
setup do
|
65
|
-
@
|
66
|
-
@sequence
|
67
|
-
end
|
52
|
+
@sequence = Scaffolder::Region::Sequence.new
|
53
|
+
@sequence.raw_sequence 'ATGCCAGATAACTGACTAGCATG'
|
68
54
|
|
69
|
-
|
70
|
-
@insert.
|
71
|
-
|
72
|
-
|
73
|
-
end
|
55
|
+
@insert = Scaffolder::Region::Insert.new
|
56
|
+
@insert.raw_sequence 'GGTAGTA'
|
57
|
+
@insert.open 5
|
58
|
+
@insert.close 10
|
74
59
|
end
|
75
60
|
|
76
|
-
should "raise when the insert
|
77
|
-
@insert.
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end
|
82
|
-
|
83
|
-
should "raise when insert start is greater than end" do
|
84
|
-
@insert.update(:start => 11)
|
85
|
-
assert_raise(ArgumentError) do
|
86
|
-
@sequence.add_inserts([Scaffolder::Insert.new @insert])
|
87
|
-
end
|
61
|
+
should "raise when the insert open is after the sequence stop" do
|
62
|
+
@insert.open 24
|
63
|
+
@insert.close 25
|
64
|
+
@sequence.inserts [@insert]
|
65
|
+
assert_raise(Scaffolder::Errors::CoordinateError){ @sequence.sequence }
|
88
66
|
end
|
89
67
|
|
90
|
-
should "
|
91
|
-
@
|
92
|
-
|
93
|
-
|
94
|
-
|
68
|
+
should "raise when the insert close is before the sequence start" do
|
69
|
+
@insert.open -5
|
70
|
+
@insert.close 0
|
71
|
+
@sequence.inserts [@insert]
|
72
|
+
assert_raise(Scaffolder::Errors::CoordinateError){ @sequence.sequence }
|
95
73
|
end
|
96
74
|
|
97
|
-
should "
|
98
|
-
|
99
|
-
@sequence.
|
100
|
-
|
75
|
+
should "raise when the insert open is greater than the insert close" do
|
76
|
+
@insert.open 11
|
77
|
+
@sequence.inserts [@insert]
|
78
|
+
assert_raise(Scaffolder::Errors::CoordinateError){ @sequence.sequence }
|
101
79
|
end
|
102
80
|
|
103
|
-
should "
|
104
|
-
|
81
|
+
should "update the sequence with a simple insert" do
|
82
|
+
@sequence.inserts [@insert]
|
83
|
+
assert_equal(@sequence.sequence,'ATGCGGTAGTAACTGACTAGCATG')
|
105
84
|
end
|
106
85
|
|
107
|
-
should "update the sequence
|
108
|
-
@sequence
|
109
|
-
@sequence.
|
110
|
-
assert_equal(@sequence.sequence,"CATGCTAGTCAGTTACTACCGCAT")
|
111
|
-
assert_equal(@sequence.raw_sequence,'ATGCCAGATAACTGACTAGCATG')
|
86
|
+
should "update the sequence stop position after adding a simple insert" do
|
87
|
+
@sequence.inserts [@insert]
|
88
|
+
assert_equal(@sequence.stop,24)
|
112
89
|
end
|
113
90
|
|
114
|
-
should "update
|
115
|
-
@
|
116
|
-
|
91
|
+
should "update sequence with inserts in reverse order" do
|
92
|
+
insert_two = @insert.clone
|
93
|
+
insert_two.open 12
|
94
|
+
insert_two.close 15
|
95
|
+
@sequence.inserts [@insert,insert_two]
|
117
96
|
assert_equal(@sequence.sequence,"ATGCGGTAGTAAGGTAGTACTAGCATG")
|
118
|
-
assert_equal(@sequence.end,27)
|
119
|
-
assert_equal(@sequence.raw_sequence,'ATGCCAGATAACTGACTAGCATG')
|
120
97
|
end
|
121
98
|
end
|
122
99
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestScaffolder < Test::Unit::TestCase
|
4
|
+
context Scaffolder::Region::Unresolved do
|
5
|
+
|
6
|
+
should_have_method_attribute Scaffolder::Region::Unresolved
|
7
|
+
should_have_attribute Scaffolder::Region::Unresolved, :length
|
8
|
+
|
9
|
+
should "return unresolved sequence when given length" do
|
10
|
+
length = 5
|
11
|
+
unresolved = Scaffolder::Region::Unresolved.new
|
12
|
+
unresolved.length length
|
13
|
+
assert_equal(unresolved.sequence,'N' * 5)
|
14
|
+
end
|
15
|
+
|
16
|
+
should "raise an error if length is unspecified" do
|
17
|
+
assert_raise(Scaffolder::Errors::CoordinateError) do
|
18
|
+
Scaffolder::Region::Unresolved.new.sequence
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class AttributeHander < YARD::Handlers::Ruby::Legacy::Base
|
2
|
+
handles /\Aattribute\b/
|
3
|
+
namespace_only
|
4
|
+
|
5
|
+
def process
|
6
|
+
name = statement.tokens[2].text.gsub(':','')
|
7
|
+
object = YARD::CodeObjects::MethodObject.new(namespace, name)
|
8
|
+
register(object)
|
9
|
+
object.dynamic = true
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scaffolder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Barton
|
@@ -15,82 +15,130 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-04 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name: bio
|
23
|
-
prerelease: false
|
24
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
23
|
none: false
|
26
24
|
requirements:
|
27
|
-
- -
|
25
|
+
- - ~>
|
28
26
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
27
|
+
hash: 7
|
30
28
|
segments:
|
31
|
-
-
|
32
|
-
|
29
|
+
- 1
|
30
|
+
- 4
|
31
|
+
version: "1.4"
|
33
32
|
type: :runtime
|
33
|
+
name: bio
|
34
|
+
prerelease: false
|
34
35
|
version_requirements: *id001
|
35
36
|
- !ruby/object:Gem::Dependency
|
36
|
-
name: rr
|
37
|
-
prerelease: false
|
38
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
39
|
requirements:
|
41
|
-
- -
|
40
|
+
- - ~>
|
42
41
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
42
|
+
hash: 15
|
44
43
|
segments:
|
44
|
+
- 1
|
45
45
|
- 0
|
46
|
-
|
47
|
-
- 11
|
48
|
-
version: 0.10.11
|
46
|
+
version: "1.0"
|
49
47
|
type: :development
|
48
|
+
name: bundler
|
49
|
+
prerelease: false
|
50
50
|
version_requirements: *id002
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
|
-
name: shoulda
|
53
|
-
prerelease: false
|
54
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
53
|
none: false
|
56
54
|
requirements:
|
57
|
-
- -
|
55
|
+
- - ~>
|
58
56
|
- !ruby/object:Gem::Version
|
59
|
-
hash:
|
57
|
+
hash: 21
|
60
58
|
segments:
|
61
|
-
-
|
62
|
-
|
59
|
+
- 2
|
60
|
+
- 11
|
61
|
+
version: "2.11"
|
63
62
|
type: :development
|
63
|
+
name: shoulda
|
64
|
+
prerelease: false
|
64
65
|
version_requirements: *id003
|
65
66
|
- !ruby/object:Gem::Dependency
|
66
|
-
name: redgreen
|
67
|
-
prerelease: false
|
68
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
68
|
none: false
|
70
69
|
requirements:
|
71
|
-
- -
|
70
|
+
- - ~>
|
72
71
|
- !ruby/object:Gem::Version
|
73
|
-
hash:
|
72
|
+
hash: 25
|
74
73
|
segments:
|
75
74
|
- 0
|
76
|
-
|
75
|
+
- 9
|
76
|
+
version: "0.9"
|
77
77
|
type: :development
|
78
|
+
name: mocha
|
79
|
+
prerelease: false
|
78
80
|
version_requirements: *id004
|
79
81
|
- !ruby/object:Gem::Dependency
|
80
|
-
name: yard
|
81
|
-
prerelease: false
|
82
82
|
requirement: &id005 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
|
-
- -
|
85
|
+
- - ~>
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
hash:
|
87
|
+
hash: 7
|
88
88
|
segments:
|
89
89
|
- 0
|
90
|
-
|
90
|
+
- 6
|
91
|
+
version: "0.6"
|
91
92
|
type: :development
|
93
|
+
name: yard
|
94
|
+
prerelease: false
|
92
95
|
version_requirements: *id005
|
93
|
-
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ~>
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 25
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
- 9
|
106
|
+
version: "0.9"
|
107
|
+
type: :development
|
108
|
+
name: cucumber
|
109
|
+
prerelease: false
|
110
|
+
version_requirements: *id006
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 5
|
118
|
+
segments:
|
119
|
+
- 1
|
120
|
+
- 5
|
121
|
+
version: "1.5"
|
122
|
+
type: :development
|
123
|
+
name: jeweler
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ~>
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 11
|
133
|
+
segments:
|
134
|
+
- 1
|
135
|
+
- 2
|
136
|
+
version: "1.2"
|
137
|
+
type: :development
|
138
|
+
name: redgreen
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: *id008
|
141
|
+
description: Organise sequence contigs into genome scaffolds using simple human-readable YAML files.
|
94
142
|
email: mail@michaelbarton.me.uk
|
95
143
|
executables: []
|
96
144
|
|
@@ -101,29 +149,37 @@ extra_rdoc_files:
|
|
101
149
|
- README.rdoc
|
102
150
|
files:
|
103
151
|
- .document
|
104
|
-
-
|
152
|
+
- Gemfile
|
105
153
|
- LICENSE
|
106
154
|
- README.rdoc
|
107
155
|
- Rakefile
|
108
156
|
- VERSION
|
157
|
+
- cucumber.yml
|
158
|
+
- features/insert.feature
|
159
|
+
- features/sequence.feature
|
160
|
+
- features/step_definitions/scaffolder_steps.rb
|
161
|
+
- features/support/env.rb
|
109
162
|
- lib/scaffolder.rb
|
110
|
-
- lib/scaffolder/
|
163
|
+
- lib/scaffolder/errors.rb
|
111
164
|
- lib/scaffolder/region.rb
|
112
|
-
- lib/scaffolder/
|
165
|
+
- lib/scaffolder/region/insert.rb
|
166
|
+
- lib/scaffolder/region/sequence.rb
|
167
|
+
- lib/scaffolder/region/unresolved.rb
|
113
168
|
- scaffolder.gemspec
|
114
|
-
- test/data/sequences.fna
|
115
169
|
- test/helper.rb
|
116
170
|
- test/test_insert.rb
|
117
171
|
- test/test_region.rb
|
118
172
|
- test/test_scaffolder.rb
|
119
173
|
- test/test_sequence.rb
|
174
|
+
- test/test_unresolved.rb
|
175
|
+
- yard/attribute_handler.rb
|
120
176
|
has_rdoc: true
|
121
|
-
homepage: http://
|
122
|
-
licenses:
|
123
|
-
|
177
|
+
homepage: http://www.michaelbarton.me.uk/scaffolder/
|
178
|
+
licenses:
|
179
|
+
- MIT
|
124
180
|
post_install_message:
|
125
|
-
rdoc_options:
|
126
|
-
|
181
|
+
rdoc_options: []
|
182
|
+
|
127
183
|
require_paths:
|
128
184
|
- lib
|
129
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -150,10 +206,11 @@ rubyforge_project:
|
|
150
206
|
rubygems_version: 1.3.7
|
151
207
|
signing_key:
|
152
208
|
specification_version: 3
|
153
|
-
summary:
|
209
|
+
summary: Genome scaffolding for human beings.
|
154
210
|
test_files:
|
155
211
|
- test/helper.rb
|
156
212
|
- test/test_insert.rb
|
157
213
|
- test/test_region.rb
|
158
214
|
- test/test_scaffolder.rb
|
159
215
|
- test/test_sequence.rb
|
216
|
+
- test/test_unresolved.rb
|