clusta 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +66 -0
- data/VERSION +1 -1
- data/bin/clusta +1 -28
- data/lib/clusta.rb +12 -3
- data/lib/clusta/geometry.rb +53 -8
- data/lib/clusta/geometry/all.rb +3 -0
- data/lib/clusta/geometry/assortativity.rb +2 -2
- data/lib/clusta/geometry/degree.rb +3 -1
- data/lib/clusta/geometry/{edge_degree_pair.rb → degree_pair.rb} +3 -3
- data/lib/clusta/geometry/directed/degree.rb +3 -1
- data/lib/clusta/geometry/directed/{edge_degree_pair.rb → degree_pair.rb} +4 -3
- data/lib/clusta/geometry/directed/edge.rb +4 -2
- data/lib/clusta/geometry/directed/{arrow.rb → neighbor.rb} +1 -1
- data/lib/clusta/geometry/directed/neighborhood.rb +31 -0
- data/lib/clusta/geometry/edge.rb +6 -4
- data/lib/clusta/geometry/element.rb +10 -117
- data/lib/clusta/geometry/{arrow.rb → neighbor.rb} +3 -3
- data/lib/clusta/geometry/neighborhood.rb +41 -0
- data/lib/clusta/geometry/vertex.rb +4 -1
- data/lib/clusta/runner.rb +101 -4
- data/lib/clusta/schema.rb +100 -0
- data/lib/clusta/serialization.rb +63 -0
- data/lib/clusta/serialization/json.rb +86 -0
- data/lib/clusta/serialization/tsv.rb +81 -0
- data/lib/clusta/transforms.rb +59 -26
- data/lib/clusta/transforms/{edge_degree_pairs_to_assortativities.rb → degree_pairs_to_assortativities.rb} +7 -3
- data/lib/clusta/transforms/edges_to_degrees.rb +5 -0
- data/lib/clusta/transforms/{edges_to_vertex_arrows.rb → edges_to_neighborhoods.rb} +11 -6
- data/lib/clusta/transforms/import.rb +6 -0
- data/lib/clusta/transforms/neighborhoods_to_degree_pairs.rb +70 -0
- data/lib/clusta/transforms/pm3d.rb +46 -0
- data/lib/clusta/transforms/prune_edges.rb +34 -0
- data/spec/clusta/schema_spec.rb +36 -0
- data/spec/clusta/serialization/json_spec.rb +133 -0
- data/spec/clusta/serialization/tsv_spec.rb +133 -0
- data/spec/clusta/serialization_spec.rb +27 -0
- data/spec/clusta/transforms/degree_pairs_to_assortativities_spec.rb +13 -0
- data/spec/clusta/transforms/{edges_to_vertex_arrows_spec.rb → edges_to_neighborhoods_spec.rb} +5 -5
- data/spec/clusta/transforms/import_spec.rb +9 -0
- data/spec/clusta/transforms/neighborhoods_to_degree_pairs_spec.rb +21 -0
- data/spec/clusta/transforms/prune_edges_spec.rb +22 -0
- data/spec/data/assortativities/directed.tsv +4 -0
- data/spec/data/assortativities/undirected.tsv +7 -0
- data/spec/data/degree_pairs/directed.tsv +10 -0
- data/spec/data/degree_pairs/undirected.tsv +18 -0
- data/spec/data/external/vertices.tsv +9 -0
- data/spec/data/imports/vertices.labeled.tsv +9 -0
- data/spec/data/neighborhoods/directed.unweighted.tsv +7 -0
- data/spec/data/neighborhoods/directed.weighted.tsv +7 -0
- data/spec/data/neighborhoods/undirected.unweighted.tsv +9 -0
- data/spec/data/neighborhoods/undirected.weighted.tsv +9 -0
- data/spec/data/pruned_edges/directed.unweighted.tsv +1 -0
- data/spec/data/pruned_edges/directed.weighted.tsv +3 -0
- data/spec/data/pruned_edges/undirected.unweighted.tsv +1 -0
- data/spec/data/pruned_edges/undirected.weighted.tsv +3 -0
- data/spec/support/transforms_spec_helper.rb +5 -1
- metadata +47 -23
- data/lib/clusta/geometry/directed/vertex_arrows.rb +0 -25
- data/lib/clusta/geometry/vertex_arrows.rb +0 -45
- data/lib/clusta/transforms/vertex_arrows_to_edge_degree_pairs.rb +0 -63
- data/spec/clusta/geometry/element_spec.rb +0 -191
- data/spec/data/vertex_arrows/directed.unweighted.tsv +0 -7
- data/spec/data/vertex_arrows/directed.weighted.tsv +0 -7
- data/spec/data/vertex_arrows/undirected.unweighted.tsv +0 -9
- data/spec/data/vertex_arrows/undirected.weighted.tsv +0 -9
@@ -0,0 +1,133 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Clusta::Serialization::TSV do
|
4
|
+
|
5
|
+
def tsv_serializable_wrapper_class
|
6
|
+
Class.new.tap do |c|
|
7
|
+
c.send(:include, Clusta::Schema)
|
8
|
+
c.send(:include, Clusta::Serialization)
|
9
|
+
c.send(:include, Clusta::Serialization::TSV)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
before do
|
14
|
+
@root = tsv_serializable_wrapper_class
|
15
|
+
@root.key :foo
|
16
|
+
|
17
|
+
@child = tsv_serializable_wrapper_class
|
18
|
+
@child.key :baz
|
19
|
+
|
20
|
+
@child.set_stream_name 'Child'
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "processing inputs" do
|
24
|
+
|
25
|
+
it "should assign declared fields" do
|
26
|
+
instance = @root.new("foovalue")
|
27
|
+
instance.foo.should == "foovalue"
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should parse and assign a declared child element field" do
|
31
|
+
@root.field :child, :type => :geometry
|
32
|
+
instance = @root.new("foovalue", "Child;bazvalue")
|
33
|
+
instance.foo.should == "foovalue"
|
34
|
+
instance.child.class.should == @child
|
35
|
+
instance.child.baz.should == "bazvalue"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should assign a value to an optional field only if it's present" do
|
39
|
+
@root.field :bar, :optional => true
|
40
|
+
|
41
|
+
instance = @root.new("foovalue")
|
42
|
+
instance.foo.should == "foovalue"
|
43
|
+
instance.bar.should == nil
|
44
|
+
|
45
|
+
instance = @root.new("foovalue", "barvalue")
|
46
|
+
instance.foo.should == "foovalue"
|
47
|
+
instance.bar.should == "barvalue"
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should stash extra arguments it receives at initialization" do
|
51
|
+
instance = @root.new("foovalue", "barvalue")
|
52
|
+
instance.foo.should == "foovalue"
|
53
|
+
instance.extra_inputs.size.should == 1
|
54
|
+
instance.extra_inputs[0].should == "barvalue"
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should parse and stash structured child elements in the extra arguments it receives at initialization" do
|
58
|
+
instance = @root.new("foovalue", "Child;bazvalue")
|
59
|
+
instance.foo.should == "foovalue"
|
60
|
+
instance.extra_inputs.size.should == 1
|
61
|
+
instance.extra_inputs[0].class.should == @child
|
62
|
+
instance.extra_inputs[0].baz.should == "bazvalue"
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "serializing" do
|
68
|
+
|
69
|
+
it "returns an array appropriate for Wukong" do
|
70
|
+
output = @root.new("foovalue").to_flat
|
71
|
+
output[0].should == @root.stream_name
|
72
|
+
output[1].should == "foovalue"
|
73
|
+
end
|
74
|
+
|
75
|
+
it "returns an array with an optional field at the end only if it has a value" do
|
76
|
+
@root.field :bar, :optional => true
|
77
|
+
output1 = @root.new("foovalue").to_flat
|
78
|
+
output2 = @root.new("foovalue", "barvalue").to_flat
|
79
|
+
|
80
|
+
output1.size.should == 2
|
81
|
+
output1[0].should == @root.stream_name
|
82
|
+
output1[1].should == 'foovalue'
|
83
|
+
|
84
|
+
output2.size.should == 3
|
85
|
+
output2[0].should == @root.stream_name
|
86
|
+
output2[1].should == 'foovalue'
|
87
|
+
output2[2].should == 'barvalue'
|
88
|
+
end
|
89
|
+
|
90
|
+
it "returns an array including any extra inputs it received" do
|
91
|
+
output = @root.new("foovalue", "barvalue").to_flat
|
92
|
+
output.size.should == 3
|
93
|
+
output[0].should == @root.stream_name
|
94
|
+
output[1].should == "foovalue"
|
95
|
+
output[2].should == "barvalue"
|
96
|
+
end
|
97
|
+
|
98
|
+
it "returns an array including any extra inputs it received as well as optional inputs" do
|
99
|
+
@root.field :bar, :optional => true
|
100
|
+
|
101
|
+
instance = @root.new("foovalue", "barvalue", "extra1", "extra2")
|
102
|
+
instance.foo.should == 'foovalue'
|
103
|
+
instance.bar.should == 'barvalue'
|
104
|
+
instance.extra_inputs.should == ['extra1', 'extra2']
|
105
|
+
|
106
|
+
instance = @root.new("foovalue")
|
107
|
+
instance.foo.should == 'foovalue'
|
108
|
+
instance.bar.should be_nil
|
109
|
+
instance.extra_inputs.should be_empty
|
110
|
+
end
|
111
|
+
|
112
|
+
it "returns an array with properly serialized geometry fields" do
|
113
|
+
@root.field :bar, :type => :geometry
|
114
|
+
output = @root.new("foovalue", "Child;bazvalue").to_flat
|
115
|
+
output.size.should == 3
|
116
|
+
output[0].should == @root.stream_name
|
117
|
+
output[1].should == "foovalue"
|
118
|
+
output[2].should == "Child;bazvalue"
|
119
|
+
end
|
120
|
+
|
121
|
+
it "returns an array with properly serialized geometry fields when they were given as extra inputs" do
|
122
|
+
output = @root.new("foovalue", "Child;bazvalue").to_flat
|
123
|
+
output.size.should == 3
|
124
|
+
output[0].should == @root.stream_name
|
125
|
+
output[1].should == "foovalue"
|
126
|
+
output[2].should == "Child;bazvalue"
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Clusta::Serialization do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@root = Class.new
|
7
|
+
@root.send(:include, Clusta::Serialization)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "defines a stream_name method for its class" do
|
11
|
+
@root.stream_name.class.should == String
|
12
|
+
end
|
13
|
+
|
14
|
+
it "defines a stream_name method for its instances" do
|
15
|
+
@root.new.stream_name.should == @root.stream_name
|
16
|
+
end
|
17
|
+
|
18
|
+
it "allows for abbreviating its stream name" do
|
19
|
+
@root.abbreviate 'r'
|
20
|
+
end
|
21
|
+
|
22
|
+
it "allows for setting the stream name" do
|
23
|
+
@root.set_stream_name 'root'
|
24
|
+
@root.stream_name.should == 'root'
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Clusta::Transforms::DegreePairsToAssortativities do
|
4
|
+
|
5
|
+
it "undirected degree pairs" do
|
6
|
+
transforming("degree_pairs/undirected.tsv", :with => "degree_pairs_to_assortativities").should have_output("assortativities/undirected.tsv")
|
7
|
+
end
|
8
|
+
|
9
|
+
it "handles directed degree pairs" do
|
10
|
+
transforming("degree_pairs/directed.tsv", :with => "degree_pairs_to_assortativities").should have_output("assortativities/directed.tsv")
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
data/spec/clusta/transforms/{edges_to_vertex_arrows_spec.rb → edges_to_neighborhoods_spec.rb}
RENAMED
@@ -1,21 +1,21 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Clusta::Transforms::
|
3
|
+
describe Clusta::Transforms::EdgesToNeighborhoods do
|
4
4
|
|
5
5
|
it "handles undirected, unweighted edges" do
|
6
|
-
transforming("edges/undirected.unweighted.tsv", :with => "
|
6
|
+
transforming("edges/undirected.unweighted.tsv", :with => "edges_to_neighborhoods").should have_output("neighborhoods/undirected.unweighted.tsv")
|
7
7
|
end
|
8
8
|
|
9
9
|
it "handles undirected, weighted edges" do
|
10
|
-
transforming("edges/undirected.weighted.tsv", :with => "
|
10
|
+
transforming("edges/undirected.weighted.tsv", :with => "edges_to_neighborhoods").should have_output("neighborhoods/undirected.weighted.tsv")
|
11
11
|
end
|
12
12
|
|
13
13
|
it "handles directed, unweighted edges" do
|
14
|
-
transforming("edges/directed.unweighted.tsv", :with => "
|
14
|
+
transforming("edges/directed.unweighted.tsv", :with => "edges_to_neighborhoods").should have_output("neighborhoods/directed.unweighted.tsv")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "handles directed, weighted edges" do
|
18
|
-
transforming("edges/directed.weighted.tsv", :with => "
|
18
|
+
transforming("edges/directed.weighted.tsv", :with => "edges_to_neighborhoods").should have_output("neighborhoods/directed.weighted.tsv")
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Clusta::Transforms::NeighborhoodsToDegreePairs do
|
4
|
+
|
5
|
+
it "handles undirected, unweighted neighborhoods" do
|
6
|
+
transforming("neighborhoods/undirected.unweighted.tsv", :with => "neighborhoods_to_degree_pairs").should have_output("degree_pairs/undirected.tsv")
|
7
|
+
end
|
8
|
+
|
9
|
+
it "handles undirected, weighted neighborhoods" do
|
10
|
+
transforming("neighborhoods/undirected.weighted.tsv", :with => "neighborhoods_to_degree_pairs").should have_output("degree_pairs/undirected.tsv")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "handles directed, unweighted neighborhoods" do
|
14
|
+
transforming("neighborhoods/directed.unweighted.tsv", :with => "neighborhoods_to_degree_pairs").should have_output("degree_pairs/directed.tsv")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "handles directed, weighted neighborhoods" do
|
18
|
+
transforming("neighborhoods/directed.weighted.tsv", :with => "neighborhoods_to_degree_pairs").should have_output("degree_pairs/directed.tsv")
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Clusta::Transforms::PruneEdges do
|
4
|
+
|
5
|
+
it "handles undirected, unweighted edges" do
|
6
|
+
transforming("edges/undirected.unweighted.tsv", :with => "prune_edges", :args => '--min_weight=0.5 --max_weight=0.8').should have_output("pruned_edges/undirected.unweighted.tsv")
|
7
|
+
end
|
8
|
+
|
9
|
+
it "handles undirected, weighted edges" do
|
10
|
+
transforming("edges/undirected.weighted.tsv", :with => "prune_edges", :args => '--min_weight=0.5 --max_weight=0.8').should have_output("pruned_edges/undirected.weighted.tsv")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "handles directed, unweighted edges" do
|
14
|
+
transforming("edges/directed.unweighted.tsv", :with => "prune_edges", :args => '--min_weight=0.5 --max_weight=0.8').should have_output("pruned_edges/directed.unweighted.tsv")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "handles directed, weighted edges" do
|
18
|
+
transforming("edges/directed.weighted.tsv", :with => "prune_edges", :args => '--min_weight=0.5 --max_weight=0.8').should have_output("pruned_edges/directed.weighted.tsv")
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
DirectedDegreePair 1 4 1 0 0 1
|
2
|
+
DirectedDegreePair 2 1 2 0 0 1
|
3
|
+
DirectedDegreePair 2 3 2 0 0 1
|
4
|
+
DirectedDegreePair 4 5 1 0 0 2
|
5
|
+
DirectedDegreePair 5 6 2 0 0 1
|
6
|
+
DirectedDegreePair 5 7 2 0 0 2
|
7
|
+
DirectedDegreePair 6 8 1 0 0 2
|
8
|
+
DirectedDegreePair 7 5 1 0 0 2
|
9
|
+
DirectedDegreePair 8 7 1 0 0 2
|
10
|
+
DirectedDegreePair 9 8 1 0 0 2
|
@@ -0,0 +1,18 @@
|
|
1
|
+
DegreePair 1 2 2 2
|
2
|
+
DegreePair 1 4 2 2
|
3
|
+
DegreePair 2 1 2 2
|
4
|
+
DegreePair 2 3 2 1
|
5
|
+
DegreePair 3 2 1 2
|
6
|
+
DegreePair 4 1 2 2
|
7
|
+
DegreePair 4 5 2 3
|
8
|
+
DegreePair 5 4 3 2
|
9
|
+
DegreePair 5 6 3 2
|
10
|
+
DegreePair 5 7 3 2
|
11
|
+
DegreePair 6 5 2 3
|
12
|
+
DegreePair 6 8 2 3
|
13
|
+
DegreePair 7 5 2 3
|
14
|
+
DegreePair 7 8 2 3
|
15
|
+
DegreePair 8 6 3 2
|
16
|
+
DegreePair 8 7 3 2
|
17
|
+
DegreePair 8 9 3 1
|
18
|
+
DegreePair 9 8 1 3
|
@@ -0,0 +1,7 @@
|
|
1
|
+
DirectedNeighborhood 1 DirectedNeighbor;2
|
2
|
+
DirectedNeighborhood 3 DirectedNeighbor;2
|
3
|
+
DirectedNeighborhood 4 DirectedNeighbor;1
|
4
|
+
DirectedNeighborhood 5 DirectedNeighbor;4 DirectedNeighbor;7
|
5
|
+
DirectedNeighborhood 6 DirectedNeighbor;5
|
6
|
+
DirectedNeighborhood 7 DirectedNeighbor;5 DirectedNeighbor;8
|
7
|
+
DirectedNeighborhood 8 DirectedNeighbor;6 DirectedNeighbor;9
|
@@ -0,0 +1,7 @@
|
|
1
|
+
DirectedNeighborhood 1 DirectedNeighbor;2;0.5
|
2
|
+
DirectedNeighborhood 3 DirectedNeighbor;2;0.1
|
3
|
+
DirectedNeighborhood 4 DirectedNeighbor;1;0.8
|
4
|
+
DirectedNeighborhood 5 DirectedNeighbor;4;0.9 DirectedNeighbor;7;0.2
|
5
|
+
DirectedNeighborhood 6 DirectedNeighbor;5;0.4
|
6
|
+
DirectedNeighborhood 7 DirectedNeighbor;5;0.3 DirectedNeighbor;8;0.0
|
7
|
+
DirectedNeighborhood 8 DirectedNeighbor;6;0.7 DirectedNeighbor;9;1.0
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Neighborhood 1 Neighbor;2 Neighbor;4
|
2
|
+
Neighborhood 2 Neighbor;1 Neighbor;3
|
3
|
+
Neighborhood 3 Neighbor;2
|
4
|
+
Neighborhood 4 Neighbor;1 Neighbor;5
|
5
|
+
Neighborhood 5 Neighbor;4 Neighbor;6 Neighbor;7
|
6
|
+
Neighborhood 6 Neighbor;5 Neighbor;8
|
7
|
+
Neighborhood 7 Neighbor;5 Neighbor;8
|
8
|
+
Neighborhood 8 Neighbor;6 Neighbor;7 Neighbor;9
|
9
|
+
Neighborhood 9 Neighbor;8
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Neighborhood 1 Neighbor;2;0.5 Neighbor;4;0.8
|
2
|
+
Neighborhood 2 Neighbor;1;0.5 Neighbor;3;0.1
|
3
|
+
Neighborhood 3 Neighbor;2;0.1
|
4
|
+
Neighborhood 4 Neighbor;1;0.8 Neighbor;5;0.9
|
5
|
+
Neighborhood 5 Neighbor;4;0.9 Neighbor;6;0.4 Neighbor;7;0.3
|
6
|
+
Neighborhood 6 Neighbor;5;0.4 Neighbor;8;0.7
|
7
|
+
Neighborhood 7 Neighbor;5;0.3 Neighbor;8;0.0
|
8
|
+
Neighborhood 8 Neighbor;6;0.7 Neighbor;7;0.0 Neighbor;9;1.0
|
9
|
+
Neighborhood 9 Neighbor;8;1.0
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -35,8 +35,12 @@ module Clusta
|
|
35
35
|
@options[:with] or raise SpecError.new("Must supply a transformation name with the :with option.")
|
36
36
|
end
|
37
37
|
|
38
|
+
def args
|
39
|
+
@options[:args] || ''
|
40
|
+
end
|
41
|
+
|
38
42
|
def command
|
39
|
-
"#{clusta_bin} --run=local --transform=#{transform_name}
|
43
|
+
"#{clusta_bin} --run=local --transform=#{transform_name} #{args} #{@path} -"
|
40
44
|
end
|
41
45
|
|
42
46
|
def output
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clusta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-29 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &14646260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *14646260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: diffy
|
27
|
-
requirement: &
|
27
|
+
requirement: &14645140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *14645140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: wukong
|
38
|
-
requirement: &
|
38
|
+
requirement: &14643340 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *14643340
|
47
47
|
description: Clusta is a Ruby library that implements network algorithms using Wukong. This
|
48
48
|
means you can use and extend these algorithms on your laptop and seamlessly lift
|
49
49
|
them into a Hadoop cluster when you're ready.
|
@@ -56,43 +56,67 @@ extra_rdoc_files: []
|
|
56
56
|
files:
|
57
57
|
- bin/clusta
|
58
58
|
- lib/clusta.rb
|
59
|
+
- lib/clusta/geometry/neighborhood.rb
|
59
60
|
- lib/clusta/geometry/vertex.rb
|
60
61
|
- lib/clusta/geometry/element.rb
|
61
|
-
- lib/clusta/geometry/
|
62
|
-
- lib/clusta/geometry/directed/vertex_arrows.rb
|
62
|
+
- lib/clusta/geometry/directed/neighborhood.rb
|
63
63
|
- lib/clusta/geometry/directed/edge.rb
|
64
|
-
- lib/clusta/geometry/directed/
|
65
|
-
- lib/clusta/geometry/directed/
|
64
|
+
- lib/clusta/geometry/directed/degree_pair.rb
|
65
|
+
- lib/clusta/geometry/directed/neighbor.rb
|
66
66
|
- lib/clusta/geometry/directed/degree.rb
|
67
|
+
- lib/clusta/geometry/all.rb
|
67
68
|
- lib/clusta/geometry/edge.rb
|
68
|
-
- lib/clusta/geometry/
|
69
|
-
- lib/clusta/geometry/edge_degree_pair.rb
|
69
|
+
- lib/clusta/geometry/degree_pair.rb
|
70
70
|
- lib/clusta/geometry/assortativity.rb
|
71
|
+
- lib/clusta/geometry/neighbor.rb
|
71
72
|
- lib/clusta/geometry/degree.rb
|
72
73
|
- lib/clusta/transforms.rb
|
73
74
|
- lib/clusta/runner.rb
|
75
|
+
- lib/clusta/serialization.rb
|
76
|
+
- lib/clusta/schema.rb
|
74
77
|
- lib/clusta/transforms/import.rb
|
75
|
-
- lib/clusta/transforms/
|
78
|
+
- lib/clusta/transforms/neighborhoods_to_degree_pairs.rb
|
79
|
+
- lib/clusta/transforms/prune_edges.rb
|
80
|
+
- lib/clusta/transforms/pm3d.rb
|
81
|
+
- lib/clusta/transforms/edges_to_neighborhoods.rb
|
76
82
|
- lib/clusta/transforms/edges_to_degrees.rb
|
77
|
-
- lib/clusta/transforms/
|
78
|
-
- lib/clusta/
|
83
|
+
- lib/clusta/transforms/degree_pairs_to_assortativities.rb
|
84
|
+
- lib/clusta/serialization/tsv.rb
|
85
|
+
- lib/clusta/serialization/json.rb
|
79
86
|
- lib/clusta/geometry.rb
|
80
|
-
- spec/clusta/
|
87
|
+
- spec/clusta/schema_spec.rb
|
88
|
+
- spec/clusta/transforms/prune_edges_spec.rb
|
81
89
|
- spec/clusta/transforms/edges_to_degrees_spec.rb
|
82
|
-
- spec/clusta/transforms/
|
90
|
+
- spec/clusta/transforms/neighborhoods_to_degree_pairs_spec.rb
|
91
|
+
- spec/clusta/transforms/edges_to_neighborhoods_spec.rb
|
92
|
+
- spec/clusta/transforms/import_spec.rb
|
93
|
+
- spec/clusta/transforms/degree_pairs_to_assortativities_spec.rb
|
94
|
+
- spec/clusta/serialization/json_spec.rb
|
95
|
+
- spec/clusta/serialization/tsv_spec.rb
|
96
|
+
- spec/clusta/serialization_spec.rb
|
83
97
|
- spec/spec_helper.rb
|
84
98
|
- spec/support/transforms_spec_helper.rb
|
99
|
+
- spec/data/degree_pairs/undirected.tsv
|
100
|
+
- spec/data/degree_pairs/directed.tsv
|
85
101
|
- spec/data/edges/directed.weighted.tsv
|
86
102
|
- spec/data/edges/directed.unweighted.tsv
|
87
103
|
- spec/data/edges/undirected.weighted.tsv
|
88
104
|
- spec/data/edges/undirected.unweighted.tsv
|
89
|
-
- spec/data/
|
90
|
-
- spec/data/vertex_arrows/directed.unweighted.tsv
|
91
|
-
- spec/data/vertex_arrows/undirected.weighted.tsv
|
92
|
-
- spec/data/vertex_arrows/undirected.unweighted.tsv
|
105
|
+
- spec/data/external/vertices.tsv
|
93
106
|
- spec/data/degrees/undirected.tsv
|
94
107
|
- spec/data/degrees/directed.tsv
|
108
|
+
- spec/data/assortativities/undirected.tsv
|
109
|
+
- spec/data/assortativities/directed.tsv
|
110
|
+
- spec/data/neighborhoods/directed.weighted.tsv
|
111
|
+
- spec/data/neighborhoods/directed.unweighted.tsv
|
112
|
+
- spec/data/neighborhoods/undirected.weighted.tsv
|
113
|
+
- spec/data/neighborhoods/undirected.unweighted.tsv
|
95
114
|
- spec/data/README.rdoc
|
115
|
+
- spec/data/imports/vertices.labeled.tsv
|
116
|
+
- spec/data/pruned_edges/directed.weighted.tsv
|
117
|
+
- spec/data/pruned_edges/directed.unweighted.tsv
|
118
|
+
- spec/data/pruned_edges/undirected.weighted.tsv
|
119
|
+
- spec/data/pruned_edges/undirected.unweighted.tsv
|
96
120
|
- LICENSE
|
97
121
|
- README.rdoc
|
98
122
|
- VERSION
|