miga-base 0.5.2.1 → 0.5.3.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: 4e63c0be19f4c1deb225b622ffae0d4745484c4e5e9e14433b588986bf6f7a5a
4
- data.tar.gz: 609dfcbd7207f1a2a63dc76f9674357182734d19eaea1e26bb857286b2932e05
3
+ metadata.gz: d51a2778df35e38e9396c342db79907aa8b63019e33d62f08a745664c01fc14b
4
+ data.tar.gz: 2e553ce8b5fc59aee8aa74f5262d34175c19bbf52c41efa6817353e8e20dbff5
5
5
  SHA512:
6
- metadata.gz: fcc03a3382fbc0510773298e708ae42ebf0b16a565e5feedf6f31b732a86d1538cc6545428c69f7dd553aaaa79530b018f130d487091a45db07d6dc242790be3
7
- data.tar.gz: 3bebfccfff429d53b131e8f8716e9af51c61abd686267d496d1e0f71524edc85d91623e1b86d7202257edafaaf8d0089957fd87224524a7ef65e73f604d96173
6
+ metadata.gz: 0c2ebed3117669c8dce789d731dd478a9eaf8dd8ca9a14e89cf1692908264bca6541073407f7d922a3f72e1edd47d5128275a391b5acc798687edb6302d0b66d
7
+ data.tar.gz: 64f0d0fc5af1bca2a3d2fb3ad3a79fdb31a91c95ef346e2cd2b89cc4342a0189ee7a814adae6b7cf5b80b5ce4a80e99cd1196c71afe1138f769fd0f0d91cf3d7
@@ -25,7 +25,6 @@ class MiGA::Cli::Action::QualityWf < MiGA::Cli::Action
25
25
  %w[project_stats haai_distances aai_distances ani_distances clade_finding]
26
26
  .map { |i| ["run_#{i}", false] }
27
27
  ]
28
- p_metadata[:ess_coll] = cli[:ess_coll]
29
28
  d_metadata = { run_distances: false }
30
29
  d_metadata[:run_mytaxa_scan] = false unless cli[:mytaxa]
31
30
  p = create_project(:assembly, p_metadata, d_metadata)
@@ -115,16 +115,18 @@ module MiGA::Cli::Action::Wf
115
115
  call_cli([
116
116
  'new',
117
117
  '-P', cli[:outdir],
118
- '-t', cli[:project_type],
119
- '-m', p_metadata.map{ |k,v| "#{k}=#{v}" }.join(',')
120
- ])
118
+ '-t', cli[:project_type]
119
+ ]) unless MiGA::Project.exist? cli[:outdir]
120
+ # Define project metadata
121
+ p = cli.load_project(:outdir, '-o')
122
+ [:haai_p, :aai_p, :ani_p, :ess_coll].each { |i| p_metadata[i] = cli[i] }
123
+ transfer_metadata(p, p_metadata)
121
124
  # Download datasets
122
125
  call_cli([
123
126
  'ncbi_get',
124
127
  '-P', cli[:outdir],
125
128
  '-T', cli[:ncbi_taxon],
126
- (cli[:ncbi_draft] ? '--all' : '--complete'),
127
- '-m', d_metadata.map{ |k,v| "#{k}=#{v}" }.join(',')
129
+ (cli[:ncbi_draft] ? '--all' : '--complete')
128
130
  ]) unless cli[:ncbi_taxon].nil?
129
131
  # Add datasets
130
132
  call_cli([
@@ -132,15 +134,11 @@ module MiGA::Cli::Action::Wf
132
134
  '-P', cli[:outdir],
133
135
  '-t', cli[:dataset_type],
134
136
  '-i', stage,
135
- '-R', cli[:regexp],
136
- '-m', d_metadata.map{ |k,v| "#{k}=#{v}" }.join(',')
137
+ '-R', cli[:regexp]
137
138
  ] + cli.files) unless cli.files.empty?
138
- p = MiGA::Project.load(cli[:outdir])
139
- raise "Impossible to create project: #{cli[:outdir]}" if p.nil?
140
- [:haai_p, :aai_p, :ani_p].each do |i|
141
- p.metadata[i] = cli[i] unless cli[i].nil?
142
- end
143
- p.save
139
+ # Define datasets metadata
140
+ p.load
141
+ p.each_dataset { |d| transfer_metadata(d, d_metadata) }
144
142
  p
145
143
  end
146
144
 
@@ -159,7 +157,7 @@ module MiGA::Cli::Action::Wf
159
157
 
160
158
  def cleanup
161
159
  return unless cli[:clean]
162
- cli.say "Cleaning up intermediate files"
160
+ cli.say 'Cleaning up intermediate files'
163
161
  %w[data daemon metadata miga.project.json].each do |f|
164
162
  FileUtils.rm_rf(File.expand_path(f, cli[:outdir]))
165
163
  end
@@ -180,4 +178,14 @@ module MiGA::Cli::Action::Wf
180
178
  Dir.chdir(cwd)
181
179
  end
182
180
 
181
+ def transfer_metadata(obj, md)
182
+ # Clear old metadata
183
+ obj.metadata.each do |k,v|
184
+ obj.metadata[k] = nil if k.to_s =~ /^run_/ || k == :ref_project
185
+ end
186
+ # Transfer and save
187
+ md.each { |k, v| obj.metadata[k] = v }
188
+ obj.save
189
+ end
190
+
183
191
  end
@@ -84,7 +84,7 @@ module MiGA::Cli::Base
84
84
 
85
85
  @@EXECS = @@TASK_DESC.keys
86
86
 
87
- @@FILE_REGEXP = %r{^(?:.*/)?(.+?)(?:\..*(?:[12]|Reads|Contigs))?(?:\.f[nastq]+)?$}i
87
+ @@FILE_REGEXP = %r{^(?:.*/)?(.+?)(\.[A-Z]*([12]|Reads|Contigs))?(\.f[nastq]+)?$}i
88
88
 
89
89
  end
90
90
 
@@ -10,7 +10,7 @@ module MiGA
10
10
  # - Float representing the major.minor version.
11
11
  # - Integer representing gem releases of the current version.
12
12
  # - Integer representing minor changes that require new version number.
13
- VERSION = [0.5, 2, 1]
13
+ VERSION = [0.5, 3, 0]
14
14
 
15
15
  ##
16
16
  # Nickname for the current major.minor version.
@@ -18,7 +18,7 @@ module MiGA
18
18
 
19
19
  ##
20
20
  # Date of the current gem release.
21
- VERSION_DATE = Date.new(2020, 1, 8)
21
+ VERSION_DATE = Date.new(2020, 1, 11)
22
22
 
23
23
  ##
24
24
  # Reference 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: 0.5.2.1
4
+ version: 0.5.3.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: 2020-01-08 00:00:00.000000000 Z
11
+ date: 2020-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons