iroki 0.0.5 → 0.0.6

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.
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