clusta 0.0.1 → 0.0.2
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/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
|