miga-base 1.2.14.2 → 1.2.15.0

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: 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