miga-base 1.3.8.1 → 1.3.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/miga/cli/action/add_result.rb +22 -1
  4. data/lib/miga/cli/action/browse/about.html +4 -2
  5. data/lib/miga/cli/action/doctor.rb +1 -1
  6. data/lib/miga/cli/action/download/gtdb.rb +1 -1
  7. data/lib/miga/cli/action/download/ncbi.rb +43 -68
  8. data/lib/miga/cli/action/download/seqcode.rb +1 -2
  9. data/lib/miga/cli/action/ncbi_get.rb +1 -8
  10. data/lib/miga/cli/action/wf.rb +15 -6
  11. data/lib/miga/cli/objects_helper.rb +3 -0
  12. data/lib/miga/cli/opt_helper.rb +8 -2
  13. data/lib/miga/common/net.rb +100 -18
  14. data/lib/miga/dataset/base.rb +40 -12
  15. data/lib/miga/dataset/hooks.rb +8 -0
  16. data/lib/miga/dataset/result/ignore.rb +14 -2
  17. data/lib/miga/dataset/type.rb +51 -0
  18. data/lib/miga/dataset.rb +3 -22
  19. data/lib/miga/json.rb +9 -0
  20. data/lib/miga/project/base.rb +15 -9
  21. data/lib/miga/project.rb +7 -1
  22. data/lib/miga/remote_dataset/base.rb +117 -36
  23. data/lib/miga/remote_dataset/download.rb +121 -54
  24. data/lib/miga/remote_dataset.rb +34 -13
  25. data/lib/miga/result/stats.rb +2 -0
  26. data/lib/miga/result/versions.rb +23 -0
  27. data/lib/miga/result.rb +7 -1
  28. data/lib/miga/taxonomy/base.rb +3 -2
  29. data/lib/miga/version.rb +2 -2
  30. data/scripts/assembly.bash +15 -1
  31. data/scripts/cds.bash +9 -3
  32. data/scripts/distances.bash +103 -5
  33. data/scripts/essential_genes.bash +14 -1
  34. data/scripts/mytaxa.bash +18 -3
  35. data/scripts/mytaxa_scan.bash +16 -3
  36. data/scripts/read_quality.bash +6 -2
  37. data/scripts/ssu.bash +19 -1
  38. data/scripts/stats.bash +9 -3
  39. data/scripts/taxonomy.bash +98 -2
  40. data/scripts/trimmed_fasta.bash +10 -2
  41. data/scripts/trimmed_reads.bash +26 -6
  42. data/test/dataset_test.rb +17 -2
  43. data/test/hook_test.rb +3 -2
  44. data/test/net_test.rb +21 -5
  45. data/test/project_test.rb +13 -0
  46. data/test/remote_dataset_test.rb +106 -7
  47. data/test/result_test.rb +47 -21
  48. data/test/taxonomy_test.rb +9 -3
  49. data/utils/distance/runner.rb +3 -1
  50. data/utils/distances.rb +1 -1
  51. data/utils/subclades.R +15 -8
  52. metadata +4 -2
data/utils/subclades.R CHANGED
@@ -116,7 +116,8 @@ subclade_clustering <- function (out_base, thr, ani.d, dist_rds) {
116
116
  say("Subsampling large collection")
117
117
  ids <- sample(labels(ani.d), nMax)
118
118
  ani.d.ori <- ani.d
119
- ani.d <- as.dist(as.matrix(ani.d)[ids, ids])
119
+ ani.d.m <- as.matrix(ani.d)
120
+ ani.d <- as.dist(ani.d.m[ids, ids])
120
121
  }
121
122
 
122
123
  # Silhouette
@@ -157,9 +158,10 @@ subclade_clustering <- function (out_base, thr, ani.d, dist_rds) {
157
158
  ani.d <- ani.d.ori
158
159
  # Find closest medoid for missing genomes
159
160
  missing <- labels(ani.d)[!labels(ani.d) %in% names(ani.types)]
160
- for (i in missing)
161
- ani.types[i] <- which.min(as.matrix(ani.d)[ani.medoids, i])
161
+ say("- Classify:", length(missing))
162
+ for (i in missing) ani.types[i] <- which.min(ani.d.m[ani.medoids, i])
162
163
  # Reorder
164
+ say("- Reorder and save")
163
165
  ani.types <- ani.types[labels(ani.d)]
164
166
  # Save missing genomes for inspection
165
167
  write.table(
@@ -190,11 +192,16 @@ subclade_clustering <- function (out_base, thr, ani.d, dist_rds) {
190
192
  # Generate graphic report
191
193
  say("Graphic report")
192
194
  pdf(paste(out_base, ".pdf", sep = ""), 7, 12)
193
- layout(matrix(c(rep(1:3, each = 2), 4:5), byrow = TRUE, ncol = 2))
194
- plot_distances(ani.d)
195
- plot_silhouette(k, s[1, ], s[2, ], ds, top.n)
196
- if (!is.huge) plot_clustering(ani.cl, ani.d, ani.types)
197
- if (!is.large) plot_tree(ani.ph, ani.types, ani.medoids)
195
+ if (is.huge) {
196
+ plot(NULL, axes = FALSE, xlab = '', ylab = '', xlim = 0:1, ylim = 0:1)
197
+ legend('center', legend = 'Dataset too large for graphical representation')
198
+ } else {
199
+ layout(matrix(c(rep(1:3, each = 2), 4:5), byrow = TRUE, ncol = 2))
200
+ plot_distances(ani.d)
201
+ plot_silhouette(k, s[1, ], s[2, ], ds, top.n)
202
+ plot_clustering(ani.cl, ani.d, ani.types)
203
+ if (!is.large) plot_tree(ani.ph, ani.types, ani.medoids)
204
+ }
198
205
  dev.off()
199
206
 
200
207
  # Save results
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.8.1
4
+ version: 1.3.9.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-07-05 00:00:00.000000000 Z
11
+ date: 2024-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
@@ -218,6 +218,7 @@ files:
218
218
  - lib/miga/dataset/result/add.rb
219
219
  - lib/miga/dataset/result/ignore.rb
220
220
  - lib/miga/dataset/status.rb
221
+ - lib/miga/dataset/type.rb
221
222
  - lib/miga/json.rb
222
223
  - lib/miga/lair.rb
223
224
  - lib/miga/metadata.rb
@@ -235,6 +236,7 @@ files:
235
236
  - lib/miga/result/dates.rb
236
237
  - lib/miga/result/source.rb
237
238
  - lib/miga/result/stats.rb
239
+ - lib/miga/result/versions.rb
238
240
  - lib/miga/sqlite.rb
239
241
  - lib/miga/tax_dist.rb
240
242
  - lib/miga/tax_index.rb