bio-incanter 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +14 -0
- data/Gemfile.lock +35 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +26 -0
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/bio-incanter.gemspec +136 -0
- data/doc/AreaChart.html +473 -0
- data/doc/BarChart.html +519 -0
- data/doc/BlandAltman.html +453 -0
- data/doc/BoxPlot.html +474 -0
- data/doc/FunctionPlot.html +496 -0
- data/doc/HeatMap.html +554 -0
- data/doc/Histogram.html +444 -0
- data/doc/LICENSE_txt.html +130 -0
- data/doc/LineChart.html +479 -0
- data/doc/Object.html +278 -0
- data/doc/PieChart.html +455 -0
- data/doc/README_rdoc.html +152 -0
- data/doc/ScatterPlot.html +489 -0
- data/doc/TimeChart.html +473 -0
- data/doc/TracePlot.html +416 -0
- data/doc/XyPlot.html +477 -0
- data/doc/created.rid +18 -0
- data/doc/images/add.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +106 -0
- data/doc/js/darkfish.js +153 -0
- data/doc/js/jquery.js +18 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search.js +94 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searcher.js +228 -0
- data/doc/rdoc.css +543 -0
- data/doc/table_of_contents.html +295 -0
- data/lib/area_chart/area_chart.rb +106 -0
- data/lib/bar_chart/bar_chart.rb +142 -0
- data/lib/bio-incanter.rb +108 -0
- data/lib/bland_altman/bland_altman.rb +120 -0
- data/lib/box_plot/box_plot.rb +136 -0
- data/lib/function_plot/function_plot.rb +137 -0
- data/lib/histogram/histogram.rb +139 -0
- data/lib/java/clocomics-1.0.0-standalone.jar +0 -0
- data/lib/line_chart/line_chart.rb +148 -0
- data/lib/pie_chart/pie_chart.rb +121 -0
- data/lib/qq_plot/qq_plot.rb +105 -0
- data/lib/scatter_plot/scatter_plot.rb +162 -0
- data/lib/time_chart/time_chart.rb +142 -0
- data/lib/trace_plot/trace_plot.rb +108 -0
- data/lib/xy_plot/xy_plot.rb +149 -0
- data/spec/bar_chart_spec.rb +25 -0
- data/spec/bland_altman_spec.rb +26 -0
- data/spec/box_plot_spec.rb +25 -0
- data/spec/function_plot_spec.rb +27 -0
- data/spec/histogram_spec.rb +24 -0
- data/spec/line_chart_spec.rb +25 -0
- data/spec/pie_chart_spec.rb +25 -0
- data/spec/qq_plot_spec.rb +24 -0
- data/spec/scatter_plot_spec.rb +26 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/time_chart_spec.rb +26 -0
- data/spec/trace_plot_spec.rb +24 -0
- data/spec/xy_plot_spec.rb +25 -0
- metadata +196 -0
data/lib/bio-incanter.rb
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'java'
|
2
|
+
|
3
|
+
jars_dir = File.join(File.dirname(__FILE__), 'java')
|
4
|
+
for jar in Dir["#{jars_dir}/*.jar"]
|
5
|
+
require jar
|
6
|
+
end
|
7
|
+
|
8
|
+
#require for customer class
|
9
|
+
require 'pie_chart/pie_chart.rb'
|
10
|
+
require 'area_chart/area_chart.rb'
|
11
|
+
require 'bar_chart/bar_chart.rb'
|
12
|
+
require 'bland_altman/bland_altman.rb'
|
13
|
+
require 'box_plot/box_plot.rb'
|
14
|
+
require 'function_plot/function_plot.rb'
|
15
|
+
require 'histogram/histogram.rb'
|
16
|
+
require 'line_chart/line_chart.rb'
|
17
|
+
require 'qq_plot/qq_plot.rb'
|
18
|
+
require 'scatter_plot/scatter_plot.rb'
|
19
|
+
require 'time_chart/time_chart.rb'
|
20
|
+
require 'xy_plot/xy_plot.rb'
|
21
|
+
require 'trace_plot/trace_plot.rb'
|
22
|
+
|
23
|
+
java_import "java.util.HashMap"
|
24
|
+
|
25
|
+
|
26
|
+
def check_grp(grp)
|
27
|
+
grp.each{ |item|
|
28
|
+
if item.class!= String
|
29
|
+
raise "Error : Vector of class must be String"
|
30
|
+
end
|
31
|
+
}
|
32
|
+
return grp
|
33
|
+
end
|
34
|
+
|
35
|
+
def check_val(value)
|
36
|
+
value.each {|item|
|
37
|
+
if item.class!= Float
|
38
|
+
raise "Error : Vector of point must be Double"
|
39
|
+
end
|
40
|
+
}
|
41
|
+
return value
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
def check_val_int(value)
|
46
|
+
value.each {|item|
|
47
|
+
if item.class!= Fixnum
|
48
|
+
raise "Error : Vector of point must be Integer"
|
49
|
+
end
|
50
|
+
}
|
51
|
+
return value
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
=begin
|
57
|
+
def check_par(params)
|
58
|
+
hash = Hash.new
|
59
|
+
permitted = ["title","vertical","legend","width","height","file_name"]
|
60
|
+
keys = params.keys
|
61
|
+
keys.each{ |key|
|
62
|
+
if permitted.include?(key)==false
|
63
|
+
raise "Error : Permitted key are title,vertical,legend,width,height"
|
64
|
+
end
|
65
|
+
}
|
66
|
+
if params["title"]==nil
|
67
|
+
hash["title"]="A sample Graph"
|
68
|
+
else
|
69
|
+
hash["title"]=params["title"]
|
70
|
+
end
|
71
|
+
|
72
|
+
if params["vertical"]==nil
|
73
|
+
hash["vertical"]=false
|
74
|
+
else
|
75
|
+
hash["vertical"]=params["vertical"]
|
76
|
+
end
|
77
|
+
|
78
|
+
if params["legend"]==nil
|
79
|
+
hash["legend"]=false
|
80
|
+
else
|
81
|
+
hash["legend"]=params["legend"]
|
82
|
+
end
|
83
|
+
|
84
|
+
if params["width"]==nil
|
85
|
+
hash["width"]=1500
|
86
|
+
else
|
87
|
+
hash["width"]=params["width"]
|
88
|
+
end
|
89
|
+
|
90
|
+
if params["height"]==nil
|
91
|
+
hash["height"]=800
|
92
|
+
else
|
93
|
+
hash["height"]=params["height"]
|
94
|
+
end
|
95
|
+
|
96
|
+
if params["file_name"]==nil
|
97
|
+
hash["file_name"]="sample.jpg"
|
98
|
+
else
|
99
|
+
hash["file_name"]=params["file_name"]
|
100
|
+
end
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
params_map = HashMap.new(hash)
|
105
|
+
return params_map
|
106
|
+
|
107
|
+
end
|
108
|
+
=end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
class BlandAltman
|
2
|
+
# ==== Attributes
|
3
|
+
#
|
4
|
+
# * +x_1+ - a vector of Float numeric value
|
5
|
+
# * +x_2+ - a vector of Float numeric value
|
6
|
+
# * +parms+ - an Hash whit parametrs value
|
7
|
+
#
|
8
|
+
# ==== Parms
|
9
|
+
#
|
10
|
+
# This Hash contain parmas .
|
11
|
+
# List of key permitted .
|
12
|
+
#
|
13
|
+
#
|
14
|
+
#
|
15
|
+
# * +:title+ - (default "A sample Graph") Graph main title
|
16
|
+
# * +:legend+ - (default false) Prints legend
|
17
|
+
# * +:vertical+ - (default true) The orientation of the plot
|
18
|
+
# * +:height+ - (default 1500) Graph height
|
19
|
+
# * +:width+ - (default 800) Graph width
|
20
|
+
# * +:file_name+ - (default sample.jpg) Graph File Name/Path to save plot. You can chose jpg or pdf
|
21
|
+
#
|
22
|
+
# ==== Examples
|
23
|
+
#
|
24
|
+
# Class Usage:
|
25
|
+
#
|
26
|
+
# values_1= [6.0,2.0,8.4]
|
27
|
+
# values_2 = [1.0,2.0,3.0]
|
28
|
+
# params = {"title" => "My_PLot"}
|
29
|
+
# plot = BlandAltman.new(values_1,values_2,params)
|
30
|
+
# #To view
|
31
|
+
# plot.view
|
32
|
+
# #to save
|
33
|
+
# plot.save
|
34
|
+
|
35
|
+
def initialize(x_1,x_2,params)
|
36
|
+
@group=check_val(x_1)
|
37
|
+
@value=check_val(x_2)
|
38
|
+
@params=self.check_par(params)
|
39
|
+
end
|
40
|
+
|
41
|
+
def check_par(params)
|
42
|
+
hash = Hash.new
|
43
|
+
permitted = ["title","vertical","legend","width","height","file_name"]
|
44
|
+
keys = params.keys
|
45
|
+
keys.each{ |key|
|
46
|
+
if permitted.include?(key)==false
|
47
|
+
raise "Error : Permitted key are title,vertical,legend,width,height"
|
48
|
+
end
|
49
|
+
}
|
50
|
+
|
51
|
+
if params["title"]==nil
|
52
|
+
hash["title"]="A sample Graph"
|
53
|
+
else
|
54
|
+
hash["title"]=params["title"]
|
55
|
+
end
|
56
|
+
|
57
|
+
if params["vertical"]==nil
|
58
|
+
hash["vertical"]=false
|
59
|
+
else
|
60
|
+
hash["vertical"]=params["vertical"]
|
61
|
+
end
|
62
|
+
|
63
|
+
if params["legend"]==nil
|
64
|
+
hash["legend"]=false
|
65
|
+
else
|
66
|
+
hash["legend"]=params["legend"]
|
67
|
+
end
|
68
|
+
|
69
|
+
if params["width"]==nil
|
70
|
+
hash["width"]=1500
|
71
|
+
else
|
72
|
+
hash["width"]=params["width"]
|
73
|
+
end
|
74
|
+
|
75
|
+
if params["height"]==nil
|
76
|
+
hash["height"]=800
|
77
|
+
else
|
78
|
+
hash["height"]=params["height"]
|
79
|
+
end
|
80
|
+
|
81
|
+
if params["file_name"]==nil
|
82
|
+
hash["file_name"]="sample.jpg"
|
83
|
+
else
|
84
|
+
hash["file_name"]=params["file_name"]
|
85
|
+
end
|
86
|
+
|
87
|
+
params_map = HashMap.new(hash)
|
88
|
+
return params_map
|
89
|
+
end
|
90
|
+
|
91
|
+
def getGroup
|
92
|
+
@group
|
93
|
+
end
|
94
|
+
|
95
|
+
def getValue
|
96
|
+
@value
|
97
|
+
end
|
98
|
+
|
99
|
+
def getParams
|
100
|
+
@params
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
def save
|
105
|
+
begin
|
106
|
+
a = Java::ComDomain::clocomics
|
107
|
+
a.save_altman(self.getGroup,self.getValue,self.getParams)
|
108
|
+
rescue Exception => ex
|
109
|
+
end
|
110
|
+
end
|
111
|
+
def view
|
112
|
+
begin
|
113
|
+
a = Java::ComDomain::clocomics
|
114
|
+
a.view_altman(self.getGroup,self.getValue,self.getParams)
|
115
|
+
rescue Exception => ex
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
class BoxPlot
|
2
|
+
# ==== Attributes
|
3
|
+
#
|
4
|
+
# * +value+ - a vector of Float numeric value
|
5
|
+
# * +parms+ - an Hash whit parametrs value
|
6
|
+
#
|
7
|
+
# ==== Parms
|
8
|
+
#
|
9
|
+
# This Hash contain parmas .
|
10
|
+
# List of key permitted .
|
11
|
+
#
|
12
|
+
#
|
13
|
+
# * +:title+ - (default "A sample Graph") Graph main title
|
14
|
+
# * +:x_label+ - (default 'Categories') Label of x ass
|
15
|
+
# * +:y_label+ - (default 'Value') Label of y ass
|
16
|
+
# * +:legend+ - (default false) Prints legend
|
17
|
+
# * +:vertical+ - (default true) The orientation of the plot
|
18
|
+
# * +:group_by+ - (default nil) A vector of values used to group the values into series within each category.
|
19
|
+
# * +:height+ - (default 1500) Graph height
|
20
|
+
# * +:width+ - (default 800) Graph width
|
21
|
+
# * +:file_name+ - (default sample.jpg) Graph File Name/Path to save plot. You can chose jpg or pdf
|
22
|
+
#
|
23
|
+
# ==== Examples
|
24
|
+
#
|
25
|
+
# Class Usage:
|
26
|
+
#
|
27
|
+
# values = [1.0,2.0,3.0]
|
28
|
+
# params = {"title" => "Popolation of middle heart","x_label"=>"Popolation","y_label"=>"greed"}
|
29
|
+
# plot = BoxPlot.new(categories,values,params)
|
30
|
+
# #To view
|
31
|
+
# plot.view
|
32
|
+
# #to save
|
33
|
+
# plot.save
|
34
|
+
|
35
|
+
|
36
|
+
def initialize(value,params)
|
37
|
+
@value=check_val(value)
|
38
|
+
@params=self.check_par(params)
|
39
|
+
end
|
40
|
+
|
41
|
+
def check_par(params)
|
42
|
+
hash = Hash.new
|
43
|
+
permitted = ["title","x_label","y_label","vertical","group_by","legend","width","height","file_name"]
|
44
|
+
keys = params.keys
|
45
|
+
keys.each{ |key|
|
46
|
+
if permitted.include?(key)==false
|
47
|
+
raise "Error : Permitted key are title,x_label,y_label,vertical,group_by,legend,width,height"
|
48
|
+
end
|
49
|
+
}
|
50
|
+
|
51
|
+
if params["title"]==nil
|
52
|
+
hash["title"]="A sample Graph"
|
53
|
+
else
|
54
|
+
hash["title"]=params["title"]
|
55
|
+
end
|
56
|
+
|
57
|
+
if params["x_label"]==nil
|
58
|
+
hash["x_label"]="Categories"
|
59
|
+
else
|
60
|
+
hash["x_label"]=params["x_label"]
|
61
|
+
end
|
62
|
+
|
63
|
+
if params["y_label"]==nil
|
64
|
+
hash["y_label"]="Values"
|
65
|
+
else
|
66
|
+
hash["y_label"]=params["y_label"]
|
67
|
+
end
|
68
|
+
|
69
|
+
if params["vertical"]==nil
|
70
|
+
hash["vertical"]=true
|
71
|
+
else
|
72
|
+
hash["vertical"]=params["vertical"]
|
73
|
+
end
|
74
|
+
|
75
|
+
if params["legend"]==nil
|
76
|
+
hash["legend"]=false
|
77
|
+
else
|
78
|
+
hash["legend"]=params["legend"]
|
79
|
+
end
|
80
|
+
|
81
|
+
if params["gruop_by"]==nil
|
82
|
+
hash["group_by"]=nil
|
83
|
+
else
|
84
|
+
hash["group_by"]=params["group_by"]
|
85
|
+
end
|
86
|
+
|
87
|
+
if params["width"]==nil
|
88
|
+
hash["width"]=1500
|
89
|
+
else
|
90
|
+
hash["width"]=params["width"]
|
91
|
+
end
|
92
|
+
|
93
|
+
if params["height"]==nil
|
94
|
+
hash["height"]=800
|
95
|
+
else
|
96
|
+
hash["height"]=params["height"]
|
97
|
+
end
|
98
|
+
|
99
|
+
if params["file_name"]==nil
|
100
|
+
hash["file_name"]="sample.jpg"
|
101
|
+
else
|
102
|
+
hash["file_name"]=params["file_name"]
|
103
|
+
end
|
104
|
+
|
105
|
+
params_map = HashMap.new(hash)
|
106
|
+
return params_map
|
107
|
+
end
|
108
|
+
|
109
|
+
|
110
|
+
def getValue
|
111
|
+
@value
|
112
|
+
end
|
113
|
+
|
114
|
+
def getParams
|
115
|
+
@params
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
def save
|
120
|
+
begin
|
121
|
+
a = Java::ComDomain::clocomics
|
122
|
+
a.save_box(self.getValue,self.getParams)
|
123
|
+
rescue Exception => ex
|
124
|
+
end
|
125
|
+
end
|
126
|
+
def view
|
127
|
+
begin
|
128
|
+
a = Java::ComDomain::clocomics
|
129
|
+
a.view_box(self.getValue,self.getParams)
|
130
|
+
rescue Exception => ex
|
131
|
+
end
|
132
|
+
|
133
|
+
|
134
|
+
end
|
135
|
+
|
136
|
+
end
|
@@ -0,0 +1,137 @@
|
|
1
|
+
class FunctionPlot
|
2
|
+
# ==== Attributes
|
3
|
+
#
|
4
|
+
# * +function+ - a String function in Clojure Style
|
5
|
+
# * +min+ - Lower Bound
|
6
|
+
# * +max+ - Upper Bound
|
7
|
+
# * +parms+ - an Hash whit parametrs value
|
8
|
+
#
|
9
|
+
# ==== Parms
|
10
|
+
#
|
11
|
+
# This Hash contain parmas .
|
12
|
+
# List of key permitted .
|
13
|
+
#
|
14
|
+
#
|
15
|
+
#
|
16
|
+
# * +:title+ - (default "A sample Graph") Graph main title
|
17
|
+
# * +:x_label+ - (default 'Categories') Label of x ass
|
18
|
+
# * +:y_label+ - (default 'Value') Label of y ass
|
19
|
+
# * +:legend+ - (default false) Prints legend
|
20
|
+
# * +:height+ - (default 1500) Graph height
|
21
|
+
# * +:width+ - (default 800) Graph width
|
22
|
+
# * +:file_name+ - (default sample.jpg) Graph File Name/Path to save plot. You can chose jpg or pdf
|
23
|
+
#
|
24
|
+
# ==== Examples
|
25
|
+
#
|
26
|
+
# Class Usage:
|
27
|
+
#
|
28
|
+
# function = "(defn cubic [x] (+ (* x x x) (* 2 x x) (* 2 x) 3))"
|
29
|
+
# min = 0
|
30
|
+
# max = 50
|
31
|
+
# params = {"title" => "Plot my Function"}
|
32
|
+
# plot = FunctionPlot.new(function,min,max,params)
|
33
|
+
# #To view
|
34
|
+
# plot.view
|
35
|
+
# #to save
|
36
|
+
# plot.save
|
37
|
+
|
38
|
+
def initialize(function,min,max,params)
|
39
|
+
@params=self.check_par(params)
|
40
|
+
@function=function
|
41
|
+
@min=min
|
42
|
+
@max=max
|
43
|
+
end
|
44
|
+
|
45
|
+
def check_par(params)
|
46
|
+
hash = Hash.new
|
47
|
+
permitted = ["title","x_label","y_label","legend","width","height","file_name"]
|
48
|
+
keys = params.keys
|
49
|
+
keys.each{ |key|
|
50
|
+
if permitted.include?(key)==false
|
51
|
+
raise "Error : Permitted key are title,x_label,y_label,legend,width,height,file_name"
|
52
|
+
end
|
53
|
+
}
|
54
|
+
|
55
|
+
if params["title"]==nil
|
56
|
+
hash["title"]="A sample Graph"
|
57
|
+
else
|
58
|
+
hash["title"]=params["title"]
|
59
|
+
end
|
60
|
+
|
61
|
+
if params["x_label"]==nil
|
62
|
+
hash["x_label"]="Categories"
|
63
|
+
else
|
64
|
+
hash["x_label"]=params["x_label"]
|
65
|
+
end
|
66
|
+
|
67
|
+
if params["y_label"]==nil
|
68
|
+
hash["y_label"]="Values"
|
69
|
+
else
|
70
|
+
hash["y_label"]=params["y_label"]
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
if params["legend"]==nil
|
75
|
+
hash["legend"]=false
|
76
|
+
else
|
77
|
+
hash["legend"]=params["legend"]
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
if params["width"]==nil
|
82
|
+
hash["width"]=1500
|
83
|
+
else
|
84
|
+
hash["width"]=params["width"]
|
85
|
+
end
|
86
|
+
|
87
|
+
if params["height"]==nil
|
88
|
+
hash["height"]=800
|
89
|
+
else
|
90
|
+
hash["height"]=params["height"]
|
91
|
+
end
|
92
|
+
|
93
|
+
if params["file_name"]==nil
|
94
|
+
hash["file_name"]="sample.jpg"
|
95
|
+
else
|
96
|
+
hash["file_name"]=params["file_name"]
|
97
|
+
end
|
98
|
+
|
99
|
+
params_map = HashMap.new(hash)
|
100
|
+
return params_map
|
101
|
+
end
|
102
|
+
|
103
|
+
def getFunction
|
104
|
+
@function
|
105
|
+
end
|
106
|
+
|
107
|
+
def getMin
|
108
|
+
@min
|
109
|
+
end
|
110
|
+
|
111
|
+
def getMax
|
112
|
+
@max
|
113
|
+
end
|
114
|
+
|
115
|
+
def getParams
|
116
|
+
@params
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
def save
|
121
|
+
begin
|
122
|
+
a = Java::ComDomain::clocomics
|
123
|
+
a.save_function(self.getFunction,self.getMin,self.getMax,self.getParams)
|
124
|
+
rescue Exception => ex
|
125
|
+
end
|
126
|
+
end
|
127
|
+
def view
|
128
|
+
begin
|
129
|
+
a = Java::ComDomain::clocomics
|
130
|
+
a.view_function(self.getFunction,self.getMin,self.getMax,self.getParams)
|
131
|
+
rescue Exception => ex
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|