bio-nwk 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 2e8d6abc34a527831c247633a3348905504eb24a36153993ca6749f7fef815de
4
- data.tar.gz: fdc68bf449c666e6bd715b75be20f5cd8470ee96b8ccd70e0c33b4ef0f5a371a
3
+ metadata.gz: 03f6be5c7eebbea8000cc8df4593339ecfc3ecd905b00ddb4ff17c2ccb5acc2d
4
+ data.tar.gz: eb4ed5e27f07a141d3dd9e9bac24e4f9fb979c1dd2e1070d2f43c5d10d309bef
5
5
  SHA512:
6
- metadata.gz: 4edd2ae55dd4b579be39f211830d05e615e7a67511119624870f757e7b81842c1743f24e437bea7d901f08d254882c3e5a1bf566db0a35edd34b39f2de9c42d7
7
- data.tar.gz: d27ccdc661874bdb6965419b885463df1f7e90f306626a021789ad9f343727b4ed5d0b955f3473977427b422eacdf29d96bbdac12d4b8ecaaebebf90d6f4a070
6
+ metadata.gz: fc5f5ff47d1df75f9b0a0660345e6e8b839fd0bc5cce43201a6865681c3a0d805947a73eb6a58aab1e302194785f6514c1fac493226d580297e3ed6c2b602028
7
+ data.tar.gz: f6b20529784c8339cdb17c4ef53c69942f1b896953e8821667e4b9921a1aba520eda97a6c79f96a3111a78b74262c92fec1fe1bd6b0e82ec60023505f94d9355
@@ -120,6 +120,34 @@ class Bio::Tree
120
120
  end
121
121
  end
122
122
 
123
+ def getAlldistances()
124
+ distances = Array.new
125
+ each_edge do |node0, node1, edge|
126
+ next if node0 == root or node1 == root
127
+ distances << edge.distance
128
+ end
129
+ return(distances)
130
+ end
131
+
132
+ def normalizeBranchLength!()
133
+ min, max = getAlldistances().minmax
134
+ each_edge do |node0, node1, edge|
135
+ edge.distance = (edge.distance-min+1e-10).to_f/(max-min)
136
+ end
137
+ end
138
+
139
+ def normalizeBranchLengthGainAndLoss!()
140
+ min, max = getAlldistances().select{|i|i>=0}.minmax
141
+ each_edge do |node0, node1, edge|
142
+ edge.distance = (edge.distance-min+1e-10).to_f/(max-min) + 1 if edge.distance >= 0
143
+ end
144
+
145
+ min, max = getAlldistances().select{|i|i<0}.minmax
146
+ each_edge do |node0, node1, edge|
147
+ edge.distance = (edge.distance-min+1e-10).to_f/(max-min) if edge.distance < 0
148
+ end
149
+ end
150
+
123
151
  private
124
152
  def translate
125
153
  # TRANSLATE
@@ -1,5 +1,5 @@
1
1
  module Bio
2
2
  module Nwk
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-nwk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sishuo Wang