bio-nwk 0.1.0 → 0.1.3
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 +4 -4
- data/lib/bio/nwk/version.rb +1 -1
- data/lib/bio/nwk.rb +48 -0
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d9592e998026208adab8760c3c98f61c7dca740ede2e2634146252abeea18cc
|
4
|
+
data.tar.gz: be558a160cdc49fed06d255f84f72bde9a062c2ca7a8422db865292c86a2a9aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92351aaa11e1743679f87aebaa0919dee8c903378b819e1ea857fea1f4066c1276485ab0328dc50e63fcdee0dd3ba3bb7fd3160aab4a6b184318ddc0f4d1a219
|
7
|
+
data.tar.gz: a48f163a2a2498c50971f45f922fe6062bdc698dd06a2a762daed8311a8528c3133800d5a3f3b290da1e22f0454cb59ac66f895a52526cd815230b610b7be96a
|
data/lib/bio/nwk/version.rb
CHANGED
data/lib/bio/nwk.rb
CHANGED
@@ -17,6 +17,10 @@ class Bio::Tree
|
|
17
17
|
return(rv)
|
18
18
|
end
|
19
19
|
|
20
|
+
def all_nodes_of_subtree(node)
|
21
|
+
[leaves(node), tips(node)].flatten
|
22
|
+
end
|
23
|
+
|
20
24
|
def cleanName!
|
21
25
|
allTips.each do |tip|
|
22
26
|
tip.name.gsub!(' ', '_')
|
@@ -39,6 +43,15 @@ class Bio::Tree
|
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
46
|
+
def twoTaxaNodeNameStr(node, sep='|')
|
47
|
+
a = twoTaxaNodeName(node)
|
48
|
+
if a.is_a?(Array)
|
49
|
+
return(a.join(sep))
|
50
|
+
else
|
51
|
+
return(a)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
42
55
|
def sisters(node)
|
43
56
|
if node == root
|
44
57
|
return([])
|
@@ -120,6 +133,34 @@ class Bio::Tree
|
|
120
133
|
end
|
121
134
|
end
|
122
135
|
|
136
|
+
def getAlldistances()
|
137
|
+
distances = Array.new
|
138
|
+
each_edge do |node0, node1, edge|
|
139
|
+
next if node0 == root or node1 == root
|
140
|
+
distances << edge.distance
|
141
|
+
end
|
142
|
+
return(distances)
|
143
|
+
end
|
144
|
+
|
145
|
+
def normalizeBranchLength!()
|
146
|
+
min, max = getAlldistances().minmax
|
147
|
+
each_edge do |node0, node1, edge|
|
148
|
+
edge.distance = (edge.distance-min+1e-10).to_f/(max-min)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def normalizeBranchLengthGainAndLoss!()
|
153
|
+
min, max = getAlldistances().select{|i|i>=0}.minmax
|
154
|
+
each_edge do |node0, node1, edge|
|
155
|
+
edge.distance = (edge.distance-min+1e-10).to_f/(max-min) + 1 if edge.distance >= 0
|
156
|
+
end
|
157
|
+
|
158
|
+
min, max = getAlldistances().select{|i|i<0}.minmax
|
159
|
+
each_edge do |node0, node1, edge|
|
160
|
+
edge.distance = (edge.distance-min+1e-10).to_f/(max-min) if edge.distance < 0
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
123
164
|
private
|
124
165
|
def translate
|
125
166
|
# TRANSLATE
|
@@ -164,3 +205,10 @@ def getTreeObjFromNwkString(nwk_str)
|
|
164
205
|
end
|
165
206
|
|
166
207
|
|
208
|
+
def getTreeObjFromMcmctree(tree_file)
|
209
|
+
first_line = `head -1 #{tree_file}`.chomp
|
210
|
+
tree_txt = `tail -1 #{tree_file}`.chomp
|
211
|
+
treeio = Bio::Newick.new(tree_txt).tree
|
212
|
+
return([first_line, treeio])
|
213
|
+
end
|
214
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bio-nwk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sishuo Wang
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -87,11 +87,11 @@ files:
|
|
87
87
|
- lib/bio-nwk.rb
|
88
88
|
- lib/bio/nwk.rb
|
89
89
|
- lib/bio/nwk/version.rb
|
90
|
-
homepage:
|
90
|
+
homepage:
|
91
91
|
licenses:
|
92
92
|
- MIT
|
93
93
|
metadata: {}
|
94
|
-
post_install_message:
|
94
|
+
post_install_message:
|
95
95
|
rdoc_options: []
|
96
96
|
require_paths:
|
97
97
|
- lib
|
@@ -106,9 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
|
-
|
110
|
-
|
111
|
-
signing_key:
|
109
|
+
rubygems_version: 3.2.3
|
110
|
+
signing_key:
|
112
111
|
specification_version: 4
|
113
112
|
summary: Some codes for parsing newick tree.
|
114
113
|
test_files: []
|