mizlab 0.1.4 → 0.1.5

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +20 -0
  3. data/lib/mizlab/version.rb +1 -1
  4. data/lib/mizlab.rb +46 -5
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66e83019b3716a3b8bdb55bd6d14df9764821fe394547f3d54e34f26ca5bab06
4
- data.tar.gz: 794444eaeff6a46f8e3cddc1e6173b746df7eab24a7b1fd1454dac8c4e4bc79d
3
+ metadata.gz: 4407f6c76b786fe0c6bdc8a70ef04bbbd721bf247cf9d96de66be8300e137dbe
4
+ data.tar.gz: f404ba612019c0f19f28f7da7d660c31c7eb2a53bba962f1e495be25a19fe52e
5
5
  SHA512:
6
- metadata.gz: 9bd7ab8e6be7264a6ba6a392685a271755320c555a459b1554797577f57ab387ce5e45762cd20341fa6749dc9117f4ac216d1a62d388d8386e2fd7b17a526761
7
- data.tar.gz: fa475f06c3d361eff8bd3c19787e26ec973daca6a73e66f6bdccb414e4ddba5abe10a544ca2eb002f9c26eee6c532b4dbb964ea6eac6a66fa9f28a4ef69a2514
6
+ metadata.gz: adbe76a35b85afff62667f50be8913936486ad9928edb51d9ded44ab20b4c9c30ecb3a106f8b92474c998d55630d85aeebe40aa678a2c4ec0ef81c887480c181
7
+ data.tar.gz: dee0b71988bb5b80103984d9f81b8cba8156d3ebce89728a423ee9e3517011444e4ac1ef13cd692ebb88caa3f1f2d8e6f44e839e5a812100211ba5326014d801
data/Rakefile CHANGED
@@ -16,4 +16,24 @@ YARD::Rake::YardocTask.new do |t|
16
16
  t.stats_options = ["--list-undoc"]
17
17
  end
18
18
 
19
+ desc "Version up"
20
+ task :versionup do
21
+ version = ""
22
+ File.open("./lib/mizlab/version.rb") do |f|
23
+ version = f.read[(/(\d+\.\d+\.\d+)/)]
24
+ end
25
+ ver, minor_ver, hotfix = version.split(".")
26
+ hotfix = hotfix.to_i + 1
27
+ new_version = "#{ver}.#{minor_ver}.#{hotfix}"
28
+ cmd = "sed -E -i 's/[0-9]+\\.[0-9]+\\.[0-9]+/#{new_version}/' ./lib/mizlab/version.rb"
29
+ puts(cmd)
30
+ system(cmd)
31
+ cmd = "git add ./lib/mizlab/version.rb && git commit -m ':rocket: Version up'"
32
+ puts(cmd)
33
+ system(cmd)
34
+ cmd = "git tag v#{new_version}"
35
+ puts(cmd)
36
+ system(cmd)
37
+ end
38
+
19
39
  task default: :test
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mizlab
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
data/lib/mizlab.rb CHANGED
@@ -7,22 +7,63 @@ require "stringio"
7
7
 
8
8
  module Mizlab
9
9
  class << self
10
+ # Get entry as String. You can also give a block.
11
+ # @param [String/Array] accessions Accession numbers like ["NC_012920", ...].
12
+ # @return [String] Entry as string.
13
+ # @yield [String] Entry as string.
14
+ def getent(accessions, is_protein = false)
15
+ accessions = accessions.is_a?(String) ? [accessions] : accessions
16
+ accessions.each do |acc|
17
+ ret = is_protein ? fetch_protein(acc) : fetch_nucleotide(acc)
18
+ if block_given?
19
+ yield ret
20
+ else
21
+ return ret
22
+ end
23
+ sleep(0.37) # Using 0.333... seconds, sometimes hit the NCBI rate limit
24
+ end
25
+ end
26
+
10
27
  # Fetch data via genbank. You can also give a block.
11
28
  # @param [String/Array] accessions Accession numbers Like ["NC_012920", ...].
12
29
  # @param [Bool] is_protein wheather the accession is protein. Default to true.
13
30
  # @return [Bio::GenBank] GenBank object.
31
+ # @yield [Bio::GenBank] GenBank object.
14
32
  def getobj(accessions, is_protein = false)
15
- accessions = accessions.is_a?(String) ? [accessions] : accessions
16
- accessions.each do |acc|
17
- ret = is_protein ? fetch_protein(acc) : fetch_nucleotide(acc)
18
- parse(ret) do |o|
33
+ getent(accessions, is_protein) do |entry|
34
+ parse(entry) do |o|
19
35
  if block_given?
20
36
  yield o
21
37
  else
22
38
  return o
23
39
  end
24
40
  end
25
- sleep(0.37) # Using 0.333... seconds, sometimes hit the NCBI rate limit
41
+ end
42
+ end
43
+
44
+ # Save object.
45
+ # @param [String] filename Filepath from executed source.
46
+ # @param [Bio::DB] obj Object which inherits from `Bio::DB`.
47
+ # @return [nil]
48
+ def savefile(filename, obj)
49
+ if File.exists?(filename)
50
+ yes = Set.new(["N", "n", "no"])
51
+ no = Set.new(["Y", "y", "yes"])
52
+ loop do
53
+ print("#{filename} exists already. Overwrite? [y/n] ")
54
+ inputed = gets.rstrip
55
+ if yes.include?(inputed)
56
+ return
57
+ elsif no.include?(inputed)
58
+ break
59
+ end
60
+ puts("You should input 'y' or 'n'")
61
+ end
62
+ end
63
+ File.open(filename, "w") do |f|
64
+ obj.tags.each do |t|
65
+ f.puts(obj.get(t))
66
+ end
26
67
  end
27
68
  end
28
69
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mizlab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omochice