rput 0.1.5 → 0.2.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.
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