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 +4 -4
- data/lib/miga/cli/action/download/base.rb +16 -1
- data/lib/miga/common/errors.rb +10 -0
- data/lib/miga/remote_dataset/download.rb +6 -0
- data/lib/miga/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9de962d747353644dddff05181f74c87a3f401df14e81d1810f125c9d1843351
|
4
|
+
data.tar.gz: 3dd90251f07976c36adfdabaa603e399bc046f68c14ff83680eb6a6de4219159
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/miga/common/errors.rb
CHANGED
@@ -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,
|
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,
|
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.
|
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-
|
11
|
+
date: 2023-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|