miga-base 1.2.14.2 → 1.2.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8a1b62d1125f54550d8cf801c46924abb79085005b8fa4abe732e9347b1fa82
4
- data.tar.gz: baa4a96d604fd649147f47aafeaea038310b8ec588edb8055f7d511842ba3f6b
3
+ metadata.gz: 9de962d747353644dddff05181f74c87a3f401df14e81d1810f125c9d1843351
4
+ data.tar.gz: 3dd90251f07976c36adfdabaa603e399bc046f68c14ff83680eb6a6de4219159
5
5
  SHA512:
6
- metadata.gz: 1ab3bed5edbd0e9ef513c731c9d28999bdb483547376446746157b58bddc92a9ddde7e0cdfd7766351f11e69f1e11df8e2ccf94815ab95108842caa43f6fdd29
7
- data.tar.gz: b3401886ca9139d3ed3a9c19188a1b171254c0d0c1c21d63beffb71b497713dac59ba5fb0176bf2340bc48595640dc6dadfba7881aa7c993cd82894b0679c8a6
6
+ metadata.gz: 68f3c9616c1d2ad0fed1f03fc6b1054d428fa8b61999febcf6394d34c261550e203b108d2399a43077d95980b6c623e40799e0bf233cfcc130ff5ef97fdc4e47
7
+ data.tar.gz: e95d549756ad10f86f4abf1761fb763e8ee218ff81d1cf8f6b597c831227482b6e90871800eb38863a8a12ed622b3222385b5f730e3e4103de06aa24753e8a3a
@@ -17,6 +17,10 @@ module MiGA::Cli::Action::Download::Base
17
17
  '--ignore-until STRING',
18
18
  'Ignores all datasets until a name is found (useful for large reruns)'
19
19
  ) { |v| cli[:ignore_until] = v }
20
+ opt.on(
21
+ '--ignore-removed',
22
+ 'Ignores entries removed from NCBI (by default fails on removed entries)'
23
+ ) { |v| cli[:ignore_removed] = v }
20
24
  cli.opt_flag(
21
25
  opt, 'get-metadata',
22
26
  'Only download and update metadata for existing datasets', :get_md
@@ -84,7 +88,11 @@ module MiGA::Cli::Action::Download::Base
84
88
 
85
89
  downloaded += 1
86
90
  unless cli[:dry]
87
- save_entry(name, body, p)
91
+ unless save_entry(name, body, p)
92
+ downloaded -= 1
93
+ d.pop
94
+ next
95
+ end
88
96
  p.save! if cli[:save_every] > 1 && (downloaded % cli[:save_every]).zero?
89
97
  end
90
98
  end
@@ -93,6 +101,9 @@ module MiGA::Cli::Action::Download::Base
93
101
  [d, downloaded]
94
102
  end
95
103
 
104
+ ##
105
+ # Saves the (generic remote) entry identified by +name+ with +body+ into the
106
+ # project +p+, and returns +true+ on success and +false+ otherwise
96
107
  def save_entry(name, body, p)
97
108
  cli.say ' Locating remote dataset'
98
109
  body[:md][:metadata_only] = true if cli[:only_md]
@@ -105,5 +116,9 @@ module MiGA::Cli::Action::Download::Base
105
116
  rd.save_to(p, name, !cli[:query], body[:md])
106
117
  cli.add_metadata(p.add_dataset(name))
107
118
  end
119
+ true
120
+ rescue MiGA::RemoteDataMissingError => e
121
+ raise(e) unless cli[:ignore_removed]
122
+ false
108
123
  end
109
124
  end
@@ -9,4 +9,14 @@ module MiGA
9
9
  # An error with a system call
10
10
  class SystemCallError < Error
11
11
  end
12
+
13
+ ##
14
+ # An error with remote data
15
+ class RemoteDataError < Error
16
+ end
17
+
18
+ ##
19
+ # An error caused by missing remote data
20
+ class RemoteDataMissingError < RemoteDataError
21
+ end
12
22
  end
@@ -43,6 +43,12 @@ class MiGA::RemoteDataset
43
43
  # +format+: String, passed to download
44
44
  def ncbi_asm_rest(opts)
45
45
  url_dir = opts[:obj].ncbi_asm_json_doc['ftppath_genbank']
46
+ if url_dir.nil? || url_dir.empty?
47
+ raise MiGA::RemoteDataMissingError.new(
48
+ "Missing ftppath_genbank in NCBI Assembly JSON"
49
+ )
50
+ end
51
+
46
52
  url = "#{url_dir}/#{File.basename url_dir}_genomic.fna.gz"
47
53
  download(
48
54
  :web, :assembly_gz, url,
data/lib/miga/version.rb CHANGED
@@ -12,7 +12,7 @@ module MiGA
12
12
  # - String indicating release status:
13
13
  # - rc* release candidate, not released as gem
14
14
  # - [0-9]+ stable release, released as gem
15
- VERSION = [1.2, 14, 2].freeze
15
+ VERSION = [1.2, 15, 0].freeze
16
16
 
17
17
  ##
18
18
  # Nickname for the current major.minor version.
@@ -20,7 +20,7 @@ module MiGA
20
20
 
21
21
  ##
22
22
  # Date of the current gem relese.
23
- VERSION_DATE = Date.new(2023, 1, 16)
23
+ VERSION_DATE = Date.new(2023, 1, 17)
24
24
 
25
25
  ##
26
26
  # References of MiGA
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miga-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.14.2
4
+ version: 1.2.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis M. Rodriguez-R
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-16 00:00:00.000000000 Z
11
+ date: 2023-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons