mizlab 0.1.5 → 0.1.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 +4 -4
- data/Gemfile +4 -7
- data/README.md +4 -4
- data/lib/mizlab/version.rb +1 -1
- data/lib/mizlab.rb +34 -0
- data/mizlab.gemspec +8 -2
- metadata +73 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0997e1a56ba6b17aa4eedc2fd89e84462e3ac2d3f51c1c251221a0fc7613ff66'
|
4
|
+
data.tar.gz: aaac55320663e3b8fef03c5518d73156ea3a1880736936c8debb1a6eb9d60935
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5e073bceea54fd25ad99e80c35052732c265a6e827b8e23bcf4f2bc21f3b03095243d5e9b718bf6b521ae8097f5059b72a15cc32ec67e7bfe534e3b8c7d35bc
|
7
|
+
data.tar.gz: 61f1545fd3218ce1a74b030a6a64718964a8129f30587deaebeb038cadfe82991b9d7356751129ba92df751278193d5a1cf92c147790e8a88008bb285fa665c8
|
data/Gemfile
CHANGED
@@ -5,10 +5,7 @@ source "https://rubygems.org"
|
|
5
5
|
# Specify your gem's dependencies in mizlab.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
gem "rake", "~> 13.0"
|
9
|
-
|
10
|
-
gem "
|
11
|
-
|
12
|
-
gem "yard", "~> 0.9"
|
13
|
-
|
14
|
-
gem "bio"
|
8
|
+
# gem "rake", "~> 13.0"
|
9
|
+
# gem "minitest", "~> 5.0"
|
10
|
+
# gem "yard", "~> 0.9"
|
11
|
+
# gem "bio", "~> 2.0.0"
|
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
[](https://github.com/MizLab/Mizlab-ruby/actions/workflows/minitest.yml)
|
2
2
|
[](https://github.com/MizLab/Mizlab-ruby/actions/workflows/yardoc.yml)
|
3
|
+
[](https://badge.fury.io/rb/mizlab)
|
3
4
|
|
4
5
|
# Mizlab-ruby
|
5
6
|
|
6
|
-
This gem is for easy handling of the processes used in our
|
7
|
-
|
7
|
+
This gem is for easy handling of the processes used in our laboratory.
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
@@ -14,7 +14,7 @@ Install it yourself as:
|
|
14
14
|
gem install mizlab
|
15
15
|
```
|
16
16
|
|
17
|
-
|
17
|
+
Or add below to your application's Gemfile:
|
18
18
|
|
19
19
|
```ruby
|
20
20
|
gem 'mizlab'
|
@@ -38,7 +38,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
38
38
|
|
39
39
|
## Contributing
|
40
40
|
|
41
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
41
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/MizLab/Mizlab-ruby
|
42
42
|
|
43
43
|
## License
|
44
44
|
|
data/lib/mizlab/version.rb
CHANGED
data/lib/mizlab.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative "mizlab/version"
|
|
4
4
|
require "set"
|
5
5
|
require "bio"
|
6
6
|
require "stringio"
|
7
|
+
require "rexml/document"
|
7
8
|
|
8
9
|
module Mizlab
|
9
10
|
class << self
|
@@ -138,6 +139,23 @@ module Mizlab
|
|
138
139
|
return local_pattern_list
|
139
140
|
end
|
140
141
|
|
142
|
+
# Fetch Taxonomy information from Taxonomy ID. can be give block too.
|
143
|
+
# @param [String/Integer] taxonid Taxonomy ID, or Array of its.
|
144
|
+
# @return [Hash] Taxonomy informations.
|
145
|
+
# @yield [Hash] Taxonomy informations.
|
146
|
+
def fetch_taxon(taxonid)
|
147
|
+
taxonid = taxonid.is_a?(Array) ? taxonid : [taxonid]
|
148
|
+
taxonid.each do |id|
|
149
|
+
obj = Bio::NCBI::REST::EFetch.taxonomy(id, "xml")
|
150
|
+
hashed = xml_to_hash(REXML::Document.new(obj).root)
|
151
|
+
if block_given?
|
152
|
+
yield hashed[:TaxaSet][:Taxon][:LineageEx][:Taxon]
|
153
|
+
else
|
154
|
+
return hashed[:TaxaSet][:Taxon][:LineageEx][:Taxon]
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
141
159
|
private
|
142
160
|
|
143
161
|
def fetch_protein(accession)
|
@@ -243,5 +261,21 @@ module Mizlab
|
|
243
261
|
yield e
|
244
262
|
end
|
245
263
|
end
|
264
|
+
|
265
|
+
# Convert XML to Hash.
|
266
|
+
# @param [REXML::Document] element XML object.
|
267
|
+
# @return [Hash] Hash that converted from xml.
|
268
|
+
def xml_to_hash(element)
|
269
|
+
value = (if element.has_elements?
|
270
|
+
children = {}
|
271
|
+
element.each_element do |e|
|
272
|
+
children.merge!(xml_to_hash(e)) { |k, v1, v2| v1.is_a?(Array) ? v1 << v2 : [v1, v2] }
|
273
|
+
end
|
274
|
+
children
|
275
|
+
else
|
276
|
+
element.text
|
277
|
+
end)
|
278
|
+
return { element.name.to_sym => value }
|
279
|
+
end
|
246
280
|
end
|
247
281
|
end
|
data/mizlab.gemspec
CHANGED
@@ -29,8 +29,14 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
|
32
|
-
#
|
33
|
-
|
32
|
+
# Dependency
|
33
|
+
spec.add_dependency "bio", "~> 2.0.0"
|
34
|
+
spec.add_dependency "rexml", ">= 0"
|
35
|
+
|
36
|
+
# Dependency (for development)
|
37
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
38
|
+
spec.add_development_dependency "yard", "~> 0.9"
|
39
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
34
40
|
|
35
41
|
# For more information and examples about making a new gem, checkout our
|
36
42
|
# guide at: https://bundler.io/guides/creating_gem.html
|
metadata
CHANGED
@@ -1,15 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mizlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Omochice
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
12
|
-
dependencies:
|
11
|
+
date: 2021-10-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bio
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rexml
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '13.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '13.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.9'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.0'
|
13
83
|
description: The tools for our laboratory
|
14
84
|
email:
|
15
85
|
- mochice.mls.ntl@gmail.com
|