iroki 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b9b21077f245bb5dd166b189504376da92112db
4
- data.tar.gz: 8ccd71597ff5d2f231a7b3d689df1f37b82a5902
3
+ metadata.gz: c3b375398b510f08d8c97c4361a2996788abd2bb
4
+ data.tar.gz: b109a3a6bacea94e8aaa32c9d316a1fafb1bb899
5
5
  SHA512:
6
- metadata.gz: ffb3938259ced78bc637f5ddd95378b61a79c24d3c0b97997e616ab906b2dd281720f5273cf1291b7ccf8b2f4ceb7b6686b5a62bb75a55ec8aa6044e1d6f91c1
7
- data.tar.gz: 7b896d9575a1ff07b97cc565e0996f7da3293df9957b0cfc566dcc2eaa7786ed172da48eccfe3cc2e3418858274b9632cca592e53aaa2f9742f6685355cf4d83
6
+ metadata.gz: e92f0e993c5ffe7a1e7c767f33ff888d15ad4ef68695c14c2848c8d18c6f18fb860f3245677be5593bf24d821a786680c9de78be90734a05823301dd8d32f5b6
7
+ data.tar.gz: e1336a5681c508bb861dee39a7d4ddebc1137d5f3ef5bc27ca703b9cc2de143ef36e6a90c84f27f35be5230afb69cdf6b0a9d25e1b48575517f485509b73cb8c
data/README.md CHANGED
@@ -96,3 +96,7 @@ Fix the `iroki_docker` install bug.
96
96
  ### 0.0.5 ###
97
97
 
98
98
  Add `newick_to_phyloxml` script.
99
+
100
+ ### 0.0.6 ###
101
+
102
+ Add branch length and bootstraps to `newick_to_phyloxml`.
@@ -1,5 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # NOTE make sure the newick has no spaces for jsPhyloXML
4
+
5
+ # NOTE for Archaeopteryx, you need <name>#{boot}</name> to show
6
+ # bootsraps, but for jsPhyloXML, just the confidence is needed
7
+
3
8
  require "set"
4
9
  require "bio"
5
10
 
@@ -24,22 +29,39 @@ $xml_end = %q{</clade>
24
29
  </phyloxml>
25
30
  }
26
31
 
27
- added_nodes = Set.new
28
-
29
32
  def leaf? tree, node
30
33
  tree.descendents(node).count.zero?
31
34
  end
32
35
 
33
- def make_xml_string descendents
36
+ def make_xml_string descendents, start_node
34
37
  while (node = descendents.shift)
35
38
  unless $already_added.include? node
36
39
  if leaf? $tree, node
37
- $xml_start << "<clade>\n<name>#{node.name}</name>\n</clade>\n"
40
+ # TODO this will raise something if no dist, rescue it
41
+ dist = $tree.distance(start_node, node)
42
+
43
+ $xml_start << "<clade>
44
+ <name>#{node.name}</name>
45
+ <branch_length>#{dist}</branch_length>
46
+ </clade>\n"
38
47
  $already_added << node
48
+ $prev_node = node
39
49
  else
50
+ boot = node.bootstrap
51
+ if boot
52
+ boot_xml = %Q{<confidence type="bootstrap">#{boot}</confidence>}
53
+ else
54
+ boot_xml = ""
55
+ end
56
+
57
+ # TODO this will raise something if no dist, rescue it
58
+ dist = $tree.distance(start_node, node)
59
+ $xml_start << "<clade>
60
+ <branch_length>#{dist}</branch_length>
61
+ #{boot_xml}"
62
+
40
63
  STDERR.puts "LOG -- recurse"
41
- $xml_start << "<clade>\n"
42
- make_xml_string $tree.descendents(node)
64
+ make_xml_string $tree.descendents(node), node
43
65
  $xml_start << "</clade>\n"
44
66
  $already_added << node
45
67
  end
@@ -49,9 +71,15 @@ end
49
71
 
50
72
  $already_added = Set.new
51
73
 
52
- $descendents = $tree.descendents($tree.root)
74
+ STDERR.puts $tree.nodes.inspect
75
+
76
+ start_node = $tree.root
77
+
78
+ $descendents = $tree.descendents(start_node)
79
+
80
+ STDERR.puts $descendents.inspect
53
81
 
54
- make_xml_string $descendents
82
+ make_xml_string $descendents, start_node
55
83
 
56
84
  puts $xml_start
57
85
  puts "#{$xml_end}"
data/lib/iroki/version.rb CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  # Library metadata
20
20
  module Iroki
21
- VERSION = "0.0.5"
21
+ VERSION = "0.0.6"
22
22
  COPYRIGHT = "2015 - 2016 Ryan Moore"
23
23
  CONTACT = "moorer@udel.edu"
24
24
  WEBSITE = "https://github.com/mooreryan/iroki"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iroki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Moore