rput 0.1.5 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/Gemfile +6 -5
  2. data/Gemfile.lock +8 -2
  3. data/VERSION +1 -1
  4. data/rput.gemspec +17 -15
  5. metadata +99 -138
  6. data/lib/experiment.rb +0 -113
data/Gemfile CHANGED
@@ -2,17 +2,18 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
+ # own dependencies
6
+ gem "rraxml", "~> 0.1.2"
7
+ gem "rphylip", "~> 0.1.0"
8
+ gem "rnewick", "~> 0.1.0"
5
9
 
6
10
  # Add dependencies to develop your gem here.
7
11
  # Include everything needed to run rake, tests, features, etc.
8
12
  group :development do
9
13
  gem "shoulda", ">= 0"
10
14
  gem "rdoc", "~> 3.12"
11
- gem "bundler", "~> 1.0.0"
15
+ gem "bundler", "~> 1.1.3"
12
16
  gem "jeweler", "~> 1.8.3"
17
+ gem "simplecov", ">= 0"
13
18
  gem "rcov", ">= 0"
14
- # own dependencies
15
- gem "rraxml", "~> 0.1.2"
16
- gem "rphylip", "~> 0.1.0"
17
- gem "rnewick", "~> 0.1.0"
18
19
  end
@@ -8,8 +8,9 @@ GEM
8
8
  rake
9
9
  rdoc
10
10
  json (1.6.6)
11
+ multi_json (1.3.4)
11
12
  rake (0.9.2.2)
12
- rcov (1.0.0)
13
+ rcov (0.9.9)
13
14
  rdoc (3.12)
14
15
  json (~> 1.4)
15
16
  rnewick (0.1.0)
@@ -20,12 +21,16 @@ GEM
20
21
  shoulda-matchers (~> 1.0.0)
21
22
  shoulda-context (1.0.0)
22
23
  shoulda-matchers (1.0.0)
24
+ simplecov (0.6.2)
25
+ multi_json (~> 1.3)
26
+ simplecov-html (~> 0.5.3)
27
+ simplecov-html (0.5.3)
23
28
 
24
29
  PLATFORMS
25
30
  ruby
26
31
 
27
32
  DEPENDENCIES
28
- bundler (~> 1.0.0)
33
+ bundler (~> 1.1.3)
29
34
  jeweler (~> 1.8.3)
30
35
  rcov
31
36
  rdoc (~> 3.12)
@@ -33,3 +38,4 @@ DEPENDENCIES
33
38
  rphylip (~> 0.1.0)
34
39
  rraxml (~> 0.1.2)
35
40
  shoulda
41
+ simplecov
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.2.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rput}
8
- s.version = "0.1.5"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Fernando Izquierdo-Carrasco}]
12
- s.date = %q{2012-04-13}
12
+ s.date = %q{2012-05-08}
13
13
  s.description = %q{Automated iterations of raxml runs over externally-extended phylip files}
14
14
  s.email = %q{fer.izquierdo@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
24
24
  "README.rdoc",
25
25
  "Rakefile",
26
26
  "VERSION",
27
- "lib/experiment.rb",
28
27
  "lib/rput.rb",
29
28
  "lib/starter.rb",
30
29
  "rput.gemspec",
@@ -41,33 +40,36 @@ Gem::Specification.new do |s|
41
40
  s.specification_version = 3
42
41
 
43
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_runtime_dependency(%q<rraxml>, ["~> 0.1.2"])
44
+ s.add_runtime_dependency(%q<rphylip>, ["~> 0.1.0"])
45
+ s.add_runtime_dependency(%q<rnewick>, ["~> 0.1.0"])
44
46
  s.add_development_dependency(%q<shoulda>, [">= 0"])
45
47
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
46
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
+ s.add_development_dependency(%q<bundler>, ["~> 1.1.3"])
47
49
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
50
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
48
51
  s.add_development_dependency(%q<rcov>, [">= 0"])
49
- s.add_development_dependency(%q<rraxml>, ["~> 0.1.2"])
50
- s.add_development_dependency(%q<rphylip>, ["~> 0.1.0"])
51
- s.add_development_dependency(%q<rnewick>, ["~> 0.1.0"])
52
52
  else
53
+ s.add_dependency(%q<rraxml>, ["~> 0.1.2"])
54
+ s.add_dependency(%q<rphylip>, ["~> 0.1.0"])
55
+ s.add_dependency(%q<rnewick>, ["~> 0.1.0"])
53
56
  s.add_dependency(%q<shoulda>, [">= 0"])
54
57
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
55
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.1.3"])
56
59
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
60
+ s.add_dependency(%q<simplecov>, [">= 0"])
57
61
  s.add_dependency(%q<rcov>, [">= 0"])
58
- s.add_dependency(%q<rraxml>, ["~> 0.1.2"])
59
- s.add_dependency(%q<rphylip>, ["~> 0.1.0"])
60
- s.add_dependency(%q<rnewick>, ["~> 0.1.0"])
61
62
  end
62
63
  else
64
+ s.add_dependency(%q<rraxml>, ["~> 0.1.2"])
65
+ s.add_dependency(%q<rphylip>, ["~> 0.1.0"])
66
+ s.add_dependency(%q<rnewick>, ["~> 0.1.0"])
63
67
  s.add_dependency(%q<shoulda>, [">= 0"])
64
68
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
65
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
69
+ s.add_dependency(%q<bundler>, ["~> 1.1.3"])
66
70
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
71
+ s.add_dependency(%q<simplecov>, [">= 0"])
67
72
  s.add_dependency(%q<rcov>, [">= 0"])
68
- s.add_dependency(%q<rraxml>, ["~> 0.1.2"])
69
- s.add_dependency(%q<rphylip>, ["~> 0.1.0"])
70
- s.add_dependency(%q<rnewick>, ["~> 0.1.0"])
71
73
  end
72
74
  end
73
75
 
metadata CHANGED
@@ -1,155 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rput
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Fernando Izquierdo-Carrasco
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-04-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :development
22
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-05-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rraxml
16
+ requirement: &23178960 !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 0
30
- version: "0"
31
- version_requirements: *id001
32
- name: shoulda
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.2
22
+ type: :runtime
33
23
  prerelease: false
34
- - !ruby/object:Gem::Dependency
35
- type: :development
36
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *23178960
25
+ - !ruby/object:Gem::Dependency
26
+ name: rphylip
27
+ requirement: &23178400 !ruby/object:Gem::Requirement
37
28
  none: false
38
- requirements:
29
+ requirements:
39
30
  - - ~>
40
- - !ruby/object:Gem::Version
41
- hash: 31
42
- segments:
43
- - 3
44
- - 12
45
- version: "3.12"
46
- version_requirements: *id002
47
- name: rdoc
31
+ - !ruby/object:Gem::Version
32
+ version: 0.1.0
33
+ type: :runtime
48
34
  prerelease: false
49
- - !ruby/object:Gem::Dependency
50
- type: :development
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *23178400
36
+ - !ruby/object:Gem::Dependency
37
+ name: rnewick
38
+ requirement: &23177880 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
40
+ requirements:
54
41
  - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 23
57
- segments:
58
- - 1
59
- - 0
60
- - 0
61
- version: 1.0.0
62
- version_requirements: *id003
63
- name: bundler
42
+ - !ruby/object:Gem::Version
43
+ version: 0.1.0
44
+ type: :runtime
64
45
  prerelease: false
65
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *23177880
47
+ - !ruby/object:Gem::Dependency
48
+ name: shoulda
49
+ requirement: &23177360 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
66
55
  type: :development
67
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: *23177360
58
+ - !ruby/object:Gem::Dependency
59
+ name: rdoc
60
+ requirement: &23176800 !ruby/object:Gem::Requirement
68
61
  none: false
69
- requirements:
62
+ requirements:
70
63
  - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 49
73
- segments:
74
- - 1
75
- - 8
76
- - 3
77
- version: 1.8.3
78
- version_requirements: *id004
79
- name: jeweler
80
- prerelease: false
81
- - !ruby/object:Gem::Dependency
64
+ - !ruby/object:Gem::Version
65
+ version: '3.12'
82
66
  type: :development
83
- requirement: &id005 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- hash: 3
89
- segments:
90
- - 0
91
- version: "0"
92
- version_requirements: *id005
93
- name: rcov
94
67
  prerelease: false
95
- - !ruby/object:Gem::Dependency
96
- type: :development
97
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *23176800
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: &23176180 !ruby/object:Gem::Requirement
98
72
  none: false
99
- requirements:
73
+ requirements:
100
74
  - - ~>
101
- - !ruby/object:Gem::Version
102
- hash: 31
103
- segments:
104
- - 0
105
- - 1
106
- - 2
107
- version: 0.1.2
108
- version_requirements: *id006
109
- name: rraxml
110
- prerelease: false
111
- - !ruby/object:Gem::Dependency
75
+ - !ruby/object:Gem::Version
76
+ version: 1.1.3
112
77
  type: :development
113
- requirement: &id007 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ version_requirements: *23176180
80
+ - !ruby/object:Gem::Dependency
81
+ name: jeweler
82
+ requirement: &23175580 !ruby/object:Gem::Requirement
114
83
  none: false
115
- requirements:
84
+ requirements:
116
85
  - - ~>
117
- - !ruby/object:Gem::Version
118
- hash: 27
119
- segments:
120
- - 0
121
- - 1
122
- - 0
123
- version: 0.1.0
124
- version_requirements: *id007
125
- name: rphylip
86
+ - !ruby/object:Gem::Version
87
+ version: 1.8.3
88
+ type: :development
126
89
  prerelease: false
127
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *23175580
91
+ - !ruby/object:Gem::Dependency
92
+ name: simplecov
93
+ requirement: &23174700 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
128
99
  type: :development
129
- requirement: &id008 !ruby/object:Gem::Requirement
100
+ prerelease: false
101
+ version_requirements: *23174700
102
+ - !ruby/object:Gem::Dependency
103
+ name: rcov
104
+ requirement: &23174140 !ruby/object:Gem::Requirement
130
105
  none: false
131
- requirements:
132
- - - ~>
133
- - !ruby/object:Gem::Version
134
- hash: 27
135
- segments:
136
- - 0
137
- - 1
138
- - 0
139
- version: 0.1.0
140
- version_requirements: *id008
141
- name: rnewick
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
142
111
  prerelease: false
112
+ version_requirements: *23174140
143
113
  description: Automated iterations of raxml runs over externally-extended phylip files
144
114
  email: fer.izquierdo@gmail.com
145
115
  executables: []
146
-
147
116
  extensions: []
148
-
149
- extra_rdoc_files:
117
+ extra_rdoc_files:
150
118
  - LICENSE.txt
151
119
  - README.rdoc
152
- files:
120
+ files:
153
121
  - .document
154
122
  - Gemfile
155
123
  - Gemfile.lock
@@ -157,44 +125,37 @@ files:
157
125
  - README.rdoc
158
126
  - Rakefile
159
127
  - VERSION
160
- - lib/experiment.rb
161
128
  - lib/rput.rb
162
129
  - lib/starter.rb
163
130
  - rput.gemspec
164
131
  - test/helper.rb
165
132
  - test/test_rput.rb
166
133
  homepage: http://github.com/fizquierdo/rput
167
- licenses:
134
+ licenses:
168
135
  - MIT
169
136
  post_install_message:
170
137
  rdoc_options: []
171
-
172
- require_paths:
138
+ require_paths:
173
139
  - lib
174
- required_ruby_version: !ruby/object:Gem::Requirement
140
+ required_ruby_version: !ruby/object:Gem::Requirement
175
141
  none: false
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- hash: 3
180
- segments:
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ segments:
181
147
  - 0
182
- version: "0"
183
- required_rubygems_version: !ruby/object:Gem::Requirement
148
+ hash: 1995023676577088386
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
150
  none: false
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 3
189
- segments:
190
- - 0
191
- version: "0"
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
192
155
  requirements: []
193
-
194
156
  rubyforge_project:
195
157
  rubygems_version: 1.8.6
196
158
  signing_key:
197
159
  specification_version: 3
198
160
  summary: Raxml-based perpetually updated tree
199
161
  test_files: []
200
-
@@ -1,113 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rphylip'
3
- require 'fileutils'
4
- require 'yaml'
5
-
6
- class Experiment
7
- def initialize(name, basedir)
8
- @name = name
9
- @base_dir = basedir
10
- end
11
- def dirname(a)
12
- File.join @base_dir, 'experiments', @name, a
13
- end
14
- def last_bunch_dir
15
- dirs = Dir.entries(dirname("output")).select{|f| f =~ /^bunch/}
16
- dirs.sort_by{|s| s.split("_").last.to_i}.last
17
- end
18
- def setup_dirs
19
- setup_ready = true
20
- %w(alignment output).map{|n| self.dirname n}.each do |dir|
21
- if File.exist?(dir)
22
- puts "Exists #{dir}"
23
- setup_ready = false # to avoid overwrite
24
- else
25
- FileUtils.mkdir_p dir
26
- end
27
- end
28
- setup_ready
29
- end
30
- def expand_with_updates(opts, updates_are_full_alignments = true)
31
- ali = self.dirname("alignment")
32
- phy = opts[:phylip]
33
- raise "phylip file not available" if phy.nil? or not File.exist?(phy)
34
- FileUtils.copy phy, ali
35
- p = Phylip.new(File.join ali, File.basename(phy))
36
- p.subdivide_random opts
37
- end
38
- end
39
-
40
- class ExperimentList
41
- # Persistent storage in .yml file of the experiment status
42
- attr_accessor :name, :date
43
- def initialize(expfile)
44
- @expfile = expfile
45
- File.open(expfile, "w"){|f| f.puts "---"} unless File.exist?(expfile)
46
- @list = YAML.load_file(expfile) || Array.new
47
- end
48
- def add(opts)
49
- name_available = self.name_available?(opts[:name])
50
- if name_available
51
- #newexp = {:name => opts[:name], :date => Time.now, :fake_phy => opts[:fake_phy]}
52
- newexp = {:name => opts[:name], :date => Time.now}
53
- newexp.merge!({:fake_phy => opts[:fake_phy]}) unless opts[:fake_phy].nil?
54
- newexp.merge!({:initial_phy => opts[:initial_phy]}) unless opts[:initial_phy].nil?
55
- @list.push newexp
56
- self.save
57
- true
58
- end
59
- end
60
- def update(name, step, state)
61
- e = self.find_by_name(name)
62
- unless e.nil?
63
- @list.each do |item|
64
- if item[:name] == name
65
- if item[step].nil?
66
- item[step] = state
67
- else
68
- item[step] += " " + state
69
- end
70
- end
71
- end
72
- end
73
- self.save
74
- end
75
- def show
76
- puts "Current Experiments"
77
- puts "ID\tname"
78
- @list.each_with_index do |item, i|
79
- fake_name = item[:fake_phy].nil? ? "-" : File.basename(item[:fake_phy])
80
- initial_name = item[:initial_phy].nil? ? "-" : File.basename(item[:initial_phy])
81
- puts "#{i}\t#{item[:name]}\t fake: #{fake_name} \t init: #{initial_name} Best LH: #{item["bestLH"]}"
82
- item.keys.select{|k| k =~ /^u\d+$/}.sort.each do |update_key|
83
- puts " #{update_key}: #{item[update_key]}"
84
- end
85
- end
86
- end
87
- def remove(name)
88
- item = find_by_name(name)
89
- unless item.nil?
90
- @list.delete(item)
91
- self.save
92
- end
93
- end
94
- def save
95
- File.open(@expfile, "w"){|f| f.write @list.to_yaml}
96
- puts "Experiment list updated"
97
- end
98
- def name_available?(name)
99
- existing_items = find_by_name(name)
100
- unless existing_items.nil?
101
- if existing_items.size >= 1
102
- puts "A expremient with this name exists already"
103
- p existing_items
104
- return false
105
- end
106
- end
107
- return true
108
- end
109
- protected
110
- def find_by_name(name)
111
- @list.find{|e| e[:name] == name}
112
- end
113
- end