miga-base 1.3.13.9 → 1.3.13.10

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: 843f35d4fa4d3543cc030db30b32ba87e40e21c967c4ecf3832973857e58dc05
4
- data.tar.gz: e6f121106bce201cba4d6da053c1a07d977b12f5ee4d02d84c63ca204e4afa29
3
+ metadata.gz: 805637216225db5718e2a8a085046a64beae0ec816da3ecc01fda274194b83aa
4
+ data.tar.gz: 7c063bcd35554dd6ac7784ddeb37cf3a8e5b1f3ac3349f3ba4af9c5a7425806b
5
5
  SHA512:
6
- metadata.gz: de88c20be5deffa734c0fc692bde8ecc7f87c1bea571c125915b032232e1c9a54e41eb37f3c666f54a2adfd1be64adfb12ec61000553a3b1ace9ba70c7a3d048
7
- data.tar.gz: d2ff4a70266159ccca8c1cff3dbaf0c52316e5608096014c04523e309f6ce768e1daa4f779275ef0293cb83d14af982d9c8a5412e1d433f25425f76adcac8261
6
+ metadata.gz: 74fe73270087e6ceb32fea09e2a2b13e1f8687c96fe39b42f68c0fdbea5d172b15ab946843ba184667071c34f3080a3e12613b7ecf078d90656514f96654044b
7
+ data.tar.gz: 6d4e2ff50403236cdc90349aa67263590781c7ff4694cafb2bf35b81b57480026f3f59543145181e20f71b4cbee85d5682adf11d9813e86ea25ef1c40291c345
@@ -134,6 +134,15 @@ module MiGA::RemoteDataset::Base
134
134
  end,
135
135
  method: :get
136
136
  },
137
+ ncbi_fetch: {
138
+ dbs: { nuccore: { stage: :metadata, format: :gb } },
139
+ uri: lambda do |opts|
140
+ @@_EUTILS_BUILD[:efetch,
141
+ db: opts[:db], id: opts[:ids], rettype: opts[:format], retmode: :text
142
+ ]
143
+ end,
144
+ method: :get
145
+ },
137
146
  ncbi_search: {
138
147
  dbs: {
139
148
  assembly: { stage: :metadata, format: :json },
@@ -107,9 +107,12 @@ class MiGA::RemoteDataset
107
107
 
108
108
  MiGA::MiGA.DEBUG 'Empty sequence, attempting download as WGS records'
109
109
  a, b = opts[:obj].metadata[:ncbi_wgs].split('-', 2)
110
- pref = longest_common_prefix([a, b])
111
- rang = a[pref.size .. -1].to_i .. b[pref.size .. -1].to_i
112
- ids = rang.map { |k| "%s%0#{a.size - pref.size}i" % [pref, k] }
110
+ ids = [a]
111
+ unless b.nil?
112
+ pref = longest_common_prefix([a, b])
113
+ rang = a[pref.size .. -1].to_i .. b[pref.size .. -1].to_i
114
+ ids = rang.map { |k| "%s%0#{a.size - pref.size}i" % [pref, k] }
115
+ end
113
116
  download_rest(opts.merge(universe: :ncbi, db: :nuccore, ids: ids))
114
117
  end
115
118
 
@@ -300,6 +300,16 @@ class MiGA::RemoteDataset < MiGA::MiGA
300
300
  metadata[:web_assembly_gz] ||=
301
301
  '%s/%s_genomic.fna.gz' % [url_dir, File.basename(url_dir)]
302
302
  end
303
+
304
+ # If all conditions are right, try getting the WGS range
305
+ if @_ncbi_asm_json_doc['wgs'] && !@_ncbi_asm_json_doc['wgs'].empty? &&
306
+ metadata[:ncbi_nuccore] && !metadata[:ncbi_wgs]
307
+ doc = self.class.download(:ncbi_fetch, :nuccore, metadata[:ncbi_nuccore], :gb).split(/\n/)
308
+ ln = doc.grep(/^WGS\s+\S+-\S+/).first
309
+ wgs = ln&.gsub(/^WGS\s+(\S+-\S+).*/, '\1')
310
+ metadata[:ncbi_wgs] = wgs if wgs
311
+ end
312
+
303
313
  @_ncbi_asm_json_doc
304
314
  end
305
315
 
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.3, 13, 9].freeze
15
+ VERSION = [1.3, 13, 10].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(2024, 3, 31)
23
+ VERSION_DATE = Date.new(2024, 4, 1)
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.3.13.9
4
+ version: 1.3.13.10
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: 2024-03-31 00:00:00.000000000 Z
11
+ date: 2024-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons