miga-base 0.5.2.1 → 0.5.3.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: 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