miga-base 1.2.15.2 → 1.2.15.4

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.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/lib/miga/cli/action/download/gtdb.rb +4 -1
  3. data/lib/miga/cli/action/gtdb_get.rb +4 -0
  4. data/lib/miga/daemon.rb +4 -1
  5. data/lib/miga/lair.rb +6 -4
  6. data/lib/miga/remote_dataset/download.rb +3 -2
  7. data/lib/miga/remote_dataset.rb +25 -7
  8. data/lib/miga/taxonomy.rb +6 -0
  9. data/lib/miga/version.rb +2 -2
  10. metadata +6 -302
  11. data/utils/FastAAI/00.Libraries/01.SCG_HMMs/Archaea_SCG.hmm +0 -41964
  12. data/utils/FastAAI/00.Libraries/01.SCG_HMMs/Bacteria_SCG.hmm +0 -32439
  13. data/utils/FastAAI/00.Libraries/01.SCG_HMMs/Complete_SCG_DB.hmm +0 -62056
  14. data/utils/FastAAI/FastAAI +0 -3659
  15. data/utils/FastAAI/FastAAI-legacy/FastAAI +0 -1336
  16. data/utils/FastAAI/FastAAI-legacy/kAAI_v1.0_virus.py +0 -1296
  17. data/utils/FastAAI/README.md +0 -84
  18. data/utils/enveomics/Docs/recplot2.md +0 -244
  19. data/utils/enveomics/Examples/aai-matrix.bash +0 -66
  20. data/utils/enveomics/Examples/ani-matrix.bash +0 -66
  21. data/utils/enveomics/Examples/essential-phylogeny.bash +0 -105
  22. data/utils/enveomics/Examples/unus-genome-phylogeny.bash +0 -100
  23. data/utils/enveomics/LICENSE.txt +0 -73
  24. data/utils/enveomics/Makefile +0 -52
  25. data/utils/enveomics/Manifest/Tasks/aasubs.json +0 -103
  26. data/utils/enveomics/Manifest/Tasks/blasttab.json +0 -790
  27. data/utils/enveomics/Manifest/Tasks/distances.json +0 -161
  28. data/utils/enveomics/Manifest/Tasks/fasta.json +0 -802
  29. data/utils/enveomics/Manifest/Tasks/fastq.json +0 -291
  30. data/utils/enveomics/Manifest/Tasks/graphics.json +0 -126
  31. data/utils/enveomics/Manifest/Tasks/mapping.json +0 -137
  32. data/utils/enveomics/Manifest/Tasks/ogs.json +0 -382
  33. data/utils/enveomics/Manifest/Tasks/other.json +0 -906
  34. data/utils/enveomics/Manifest/Tasks/remote.json +0 -355
  35. data/utils/enveomics/Manifest/Tasks/sequence-identity.json +0 -650
  36. data/utils/enveomics/Manifest/Tasks/tables.json +0 -308
  37. data/utils/enveomics/Manifest/Tasks/trees.json +0 -68
  38. data/utils/enveomics/Manifest/Tasks/variants.json +0 -111
  39. data/utils/enveomics/Manifest/categories.json +0 -165
  40. data/utils/enveomics/Manifest/examples.json +0 -162
  41. data/utils/enveomics/Manifest/tasks.json +0 -4
  42. data/utils/enveomics/Pipelines/assembly.pbs/CONFIG.mock.bash +0 -69
  43. data/utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl +0 -1
  44. data/utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl +0 -1
  45. data/utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl +0 -1
  46. data/utils/enveomics/Pipelines/assembly.pbs/README.md +0 -189
  47. data/utils/enveomics/Pipelines/assembly.pbs/RUNME-2.bash +0 -112
  48. data/utils/enveomics/Pipelines/assembly.pbs/RUNME-3.bash +0 -23
  49. data/utils/enveomics/Pipelines/assembly.pbs/RUNME-4.bash +0 -44
  50. data/utils/enveomics/Pipelines/assembly.pbs/RUNME.bash +0 -50
  51. data/utils/enveomics/Pipelines/assembly.pbs/kSelector.R +0 -37
  52. data/utils/enveomics/Pipelines/assembly.pbs/newbler.pbs +0 -68
  53. data/utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl +0 -49
  54. data/utils/enveomics/Pipelines/assembly.pbs/soap.pbs +0 -80
  55. data/utils/enveomics/Pipelines/assembly.pbs/stats.pbs +0 -57
  56. data/utils/enveomics/Pipelines/assembly.pbs/velvet.pbs +0 -63
  57. data/utils/enveomics/Pipelines/blast.pbs/01.pbs.bash +0 -38
  58. data/utils/enveomics/Pipelines/blast.pbs/02.pbs.bash +0 -73
  59. data/utils/enveomics/Pipelines/blast.pbs/03.pbs.bash +0 -21
  60. data/utils/enveomics/Pipelines/blast.pbs/BlastTab.recover_job.pl +0 -72
  61. data/utils/enveomics/Pipelines/blast.pbs/CONFIG.mock.bash +0 -98
  62. data/utils/enveomics/Pipelines/blast.pbs/FastA.split.pl +0 -1
  63. data/utils/enveomics/Pipelines/blast.pbs/README.md +0 -127
  64. data/utils/enveomics/Pipelines/blast.pbs/RUNME.bash +0 -109
  65. data/utils/enveomics/Pipelines/blast.pbs/TASK.check.bash +0 -128
  66. data/utils/enveomics/Pipelines/blast.pbs/TASK.dry.bash +0 -16
  67. data/utils/enveomics/Pipelines/blast.pbs/TASK.eo.bash +0 -22
  68. data/utils/enveomics/Pipelines/blast.pbs/TASK.pause.bash +0 -26
  69. data/utils/enveomics/Pipelines/blast.pbs/TASK.run.bash +0 -89
  70. data/utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash +0 -29
  71. data/utils/enveomics/Pipelines/idba.pbs/README.md +0 -49
  72. data/utils/enveomics/Pipelines/idba.pbs/RUNME.bash +0 -95
  73. data/utils/enveomics/Pipelines/idba.pbs/run.pbs +0 -56
  74. data/utils/enveomics/Pipelines/trim.pbs/README.md +0 -54
  75. data/utils/enveomics/Pipelines/trim.pbs/RUNME.bash +0 -70
  76. data/utils/enveomics/Pipelines/trim.pbs/run.pbs +0 -130
  77. data/utils/enveomics/README.md +0 -42
  78. data/utils/enveomics/Scripts/AAsubs.log2ratio.rb +0 -171
  79. data/utils/enveomics/Scripts/Aln.cat.rb +0 -221
  80. data/utils/enveomics/Scripts/Aln.convert.pl +0 -35
  81. data/utils/enveomics/Scripts/AlphaDiversity.pl +0 -152
  82. data/utils/enveomics/Scripts/BedGraph.tad.rb +0 -93
  83. data/utils/enveomics/Scripts/BedGraph.window.rb +0 -71
  84. data/utils/enveomics/Scripts/BlastPairwise.AAsubs.pl +0 -102
  85. data/utils/enveomics/Scripts/BlastTab.addlen.rb +0 -63
  86. data/utils/enveomics/Scripts/BlastTab.advance.bash +0 -48
  87. data/utils/enveomics/Scripts/BlastTab.best_hit_sorted.pl +0 -55
  88. data/utils/enveomics/Scripts/BlastTab.catsbj.pl +0 -104
  89. data/utils/enveomics/Scripts/BlastTab.cogCat.rb +0 -76
  90. data/utils/enveomics/Scripts/BlastTab.filter.pl +0 -47
  91. data/utils/enveomics/Scripts/BlastTab.kegg_pep2path_rest.pl +0 -194
  92. data/utils/enveomics/Scripts/BlastTab.metaxaPrep.pl +0 -104
  93. data/utils/enveomics/Scripts/BlastTab.pairedHits.rb +0 -157
  94. data/utils/enveomics/Scripts/BlastTab.recplot2.R +0 -48
  95. data/utils/enveomics/Scripts/BlastTab.seqdepth.pl +0 -86
  96. data/utils/enveomics/Scripts/BlastTab.seqdepth_ZIP.pl +0 -119
  97. data/utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl +0 -86
  98. data/utils/enveomics/Scripts/BlastTab.subsample.pl +0 -47
  99. data/utils/enveomics/Scripts/BlastTab.sumPerHit.pl +0 -114
  100. data/utils/enveomics/Scripts/BlastTab.taxid2taxrank.pl +0 -90
  101. data/utils/enveomics/Scripts/BlastTab.topHits_sorted.rb +0 -123
  102. data/utils/enveomics/Scripts/Chao1.pl +0 -97
  103. data/utils/enveomics/Scripts/CharTable.classify.rb +0 -234
  104. data/utils/enveomics/Scripts/EBIseq2tax.rb +0 -83
  105. data/utils/enveomics/Scripts/FastA.N50.pl +0 -60
  106. data/utils/enveomics/Scripts/FastA.extract.rb +0 -152
  107. data/utils/enveomics/Scripts/FastA.filter.pl +0 -52
  108. data/utils/enveomics/Scripts/FastA.filterLen.pl +0 -28
  109. data/utils/enveomics/Scripts/FastA.filterN.pl +0 -60
  110. data/utils/enveomics/Scripts/FastA.fragment.rb +0 -100
  111. data/utils/enveomics/Scripts/FastA.gc.pl +0 -42
  112. data/utils/enveomics/Scripts/FastA.interpose.pl +0 -93
  113. data/utils/enveomics/Scripts/FastA.length.pl +0 -38
  114. data/utils/enveomics/Scripts/FastA.mask.rb +0 -89
  115. data/utils/enveomics/Scripts/FastA.per_file.pl +0 -36
  116. data/utils/enveomics/Scripts/FastA.qlen.pl +0 -57
  117. data/utils/enveomics/Scripts/FastA.rename.pl +0 -65
  118. data/utils/enveomics/Scripts/FastA.revcom.pl +0 -23
  119. data/utils/enveomics/Scripts/FastA.sample.rb +0 -98
  120. data/utils/enveomics/Scripts/FastA.slider.pl +0 -85
  121. data/utils/enveomics/Scripts/FastA.split.pl +0 -55
  122. data/utils/enveomics/Scripts/FastA.split.rb +0 -79
  123. data/utils/enveomics/Scripts/FastA.subsample.pl +0 -131
  124. data/utils/enveomics/Scripts/FastA.tag.rb +0 -65
  125. data/utils/enveomics/Scripts/FastA.toFastQ.rb +0 -69
  126. data/utils/enveomics/Scripts/FastA.wrap.rb +0 -48
  127. data/utils/enveomics/Scripts/FastQ.filter.pl +0 -54
  128. data/utils/enveomics/Scripts/FastQ.interpose.pl +0 -90
  129. data/utils/enveomics/Scripts/FastQ.maskQual.rb +0 -89
  130. data/utils/enveomics/Scripts/FastQ.offset.pl +0 -90
  131. data/utils/enveomics/Scripts/FastQ.split.pl +0 -53
  132. data/utils/enveomics/Scripts/FastQ.tag.rb +0 -70
  133. data/utils/enveomics/Scripts/FastQ.test-error.rb +0 -81
  134. data/utils/enveomics/Scripts/FastQ.toFastA.awk +0 -24
  135. data/utils/enveomics/Scripts/GFF.catsbj.pl +0 -127
  136. data/utils/enveomics/Scripts/GenBank.add_fields.rb +0 -84
  137. data/utils/enveomics/Scripts/HMM.essential.rb +0 -351
  138. data/utils/enveomics/Scripts/HMM.haai.rb +0 -168
  139. data/utils/enveomics/Scripts/HMMsearch.extractIds.rb +0 -83
  140. data/utils/enveomics/Scripts/JPlace.distances.rb +0 -88
  141. data/utils/enveomics/Scripts/JPlace.to_iToL.rb +0 -320
  142. data/utils/enveomics/Scripts/M5nr.getSequences.rb +0 -81
  143. data/utils/enveomics/Scripts/MeTaxa.distribution.pl +0 -198
  144. data/utils/enveomics/Scripts/MyTaxa.fragsByTax.pl +0 -35
  145. data/utils/enveomics/Scripts/MyTaxa.seq-taxrank.rb +0 -49
  146. data/utils/enveomics/Scripts/NCBIacc2tax.rb +0 -92
  147. data/utils/enveomics/Scripts/Newick.autoprune.R +0 -27
  148. data/utils/enveomics/Scripts/RAxML-EPA.to_iToL.pl +0 -228
  149. data/utils/enveomics/Scripts/RecPlot2.compareIdentities.R +0 -32
  150. data/utils/enveomics/Scripts/RefSeq.download.bash +0 -48
  151. data/utils/enveomics/Scripts/SRA.download.bash +0 -55
  152. data/utils/enveomics/Scripts/TRIBS.plot-test.R +0 -36
  153. data/utils/enveomics/Scripts/TRIBS.test.R +0 -39
  154. data/utils/enveomics/Scripts/Table.barplot.R +0 -31
  155. data/utils/enveomics/Scripts/Table.df2dist.R +0 -30
  156. data/utils/enveomics/Scripts/Table.filter.pl +0 -61
  157. data/utils/enveomics/Scripts/Table.merge.pl +0 -77
  158. data/utils/enveomics/Scripts/Table.prefScore.R +0 -60
  159. data/utils/enveomics/Scripts/Table.replace.rb +0 -69
  160. data/utils/enveomics/Scripts/Table.round.rb +0 -63
  161. data/utils/enveomics/Scripts/Table.split.pl +0 -57
  162. data/utils/enveomics/Scripts/Taxonomy.silva2ncbi.rb +0 -227
  163. data/utils/enveomics/Scripts/VCF.KaKs.rb +0 -147
  164. data/utils/enveomics/Scripts/VCF.SNPs.rb +0 -88
  165. data/utils/enveomics/Scripts/aai.rb +0 -421
  166. data/utils/enveomics/Scripts/ani.rb +0 -362
  167. data/utils/enveomics/Scripts/anir.rb +0 -137
  168. data/utils/enveomics/Scripts/clust.rand.rb +0 -102
  169. data/utils/enveomics/Scripts/gi2tax.rb +0 -103
  170. data/utils/enveomics/Scripts/in_silico_GA_GI.pl +0 -96
  171. data/utils/enveomics/Scripts/lib/data/dupont_2012_essential.hmm.gz +0 -0
  172. data/utils/enveomics/Scripts/lib/data/lee_2019_essential.hmm.gz +0 -0
  173. data/utils/enveomics/Scripts/lib/enveomics.R +0 -1
  174. data/utils/enveomics/Scripts/lib/enveomics_rb/anir.rb +0 -293
  175. data/utils/enveomics/Scripts/lib/enveomics_rb/bm_set.rb +0 -175
  176. data/utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb +0 -24
  177. data/utils/enveomics/Scripts/lib/enveomics_rb/errors.rb +0 -17
  178. data/utils/enveomics/Scripts/lib/enveomics_rb/gmm_em.rb +0 -30
  179. data/utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb +0 -253
  180. data/utils/enveomics/Scripts/lib/enveomics_rb/match.rb +0 -88
  181. data/utils/enveomics/Scripts/lib/enveomics_rb/og.rb +0 -182
  182. data/utils/enveomics/Scripts/lib/enveomics_rb/rbm.rb +0 -49
  183. data/utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb +0 -74
  184. data/utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb +0 -237
  185. data/utils/enveomics/Scripts/lib/enveomics_rb/stats/rand.rb +0 -31
  186. data/utils/enveomics/Scripts/lib/enveomics_rb/stats/sample.rb +0 -152
  187. data/utils/enveomics/Scripts/lib/enveomics_rb/stats.rb +0 -3
  188. data/utils/enveomics/Scripts/lib/enveomics_rb/utils.rb +0 -74
  189. data/utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb +0 -135
  190. data/utils/enveomics/Scripts/ogs.annotate.rb +0 -88
  191. data/utils/enveomics/Scripts/ogs.core-pan.rb +0 -160
  192. data/utils/enveomics/Scripts/ogs.extract.rb +0 -125
  193. data/utils/enveomics/Scripts/ogs.mcl.rb +0 -186
  194. data/utils/enveomics/Scripts/ogs.rb +0 -104
  195. data/utils/enveomics/Scripts/ogs.stats.rb +0 -131
  196. data/utils/enveomics/Scripts/rbm-legacy.rb +0 -172
  197. data/utils/enveomics/Scripts/rbm.rb +0 -108
  198. data/utils/enveomics/Scripts/sam.filter.rb +0 -148
  199. data/utils/enveomics/Tests/Makefile +0 -10
  200. data/utils/enveomics/Tests/Mgen_M2288.faa +0 -3189
  201. data/utils/enveomics/Tests/Mgen_M2288.fna +0 -8282
  202. data/utils/enveomics/Tests/Mgen_M2321.fna +0 -8288
  203. data/utils/enveomics/Tests/Nequ_Kin4M.faa +0 -2970
  204. data/utils/enveomics/Tests/Xanthomonas_oryzae-PilA.tribs.Rdata +0 -0
  205. data/utils/enveomics/Tests/Xanthomonas_oryzae-PilA.txt +0 -7
  206. data/utils/enveomics/Tests/Xanthomonas_oryzae.aai-mat.tsv +0 -17
  207. data/utils/enveomics/Tests/Xanthomonas_oryzae.aai.tsv +0 -137
  208. data/utils/enveomics/Tests/a_mg.cds-go.blast.tsv +0 -123
  209. data/utils/enveomics/Tests/a_mg.reads-cds.blast.tsv +0 -200
  210. data/utils/enveomics/Tests/a_mg.reads-cds.counts.tsv +0 -55
  211. data/utils/enveomics/Tests/alkB.nwk +0 -1
  212. data/utils/enveomics/Tests/anthrax-cansnp-data.tsv +0 -13
  213. data/utils/enveomics/Tests/anthrax-cansnp-key.tsv +0 -17
  214. data/utils/enveomics/Tests/hiv1.faa +0 -59
  215. data/utils/enveomics/Tests/hiv1.fna +0 -134
  216. data/utils/enveomics/Tests/hiv2.faa +0 -70
  217. data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv +0 -233
  218. data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.lim +0 -1
  219. data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.rec +0 -233
  220. data/utils/enveomics/Tests/phyla_counts.tsv +0 -10
  221. data/utils/enveomics/Tests/primate_lentivirus.ogs +0 -11
  222. data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv1.rbm +0 -9
  223. data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv2.rbm +0 -8
  224. data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-siv.rbm +0 -6
  225. data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-hiv2.rbm +0 -9
  226. data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-siv.rbm +0 -6
  227. data/utils/enveomics/Tests/primate_lentivirus.rbm/siv-siv.rbm +0 -6
  228. data/utils/enveomics/build_enveomics_r.bash +0 -45
  229. data/utils/enveomics/enveomics.R/DESCRIPTION +0 -31
  230. data/utils/enveomics/enveomics.R/NAMESPACE +0 -39
  231. data/utils/enveomics/enveomics.R/R/autoprune.R +0 -155
  232. data/utils/enveomics/enveomics.R/R/barplot.R +0 -184
  233. data/utils/enveomics/enveomics.R/R/cliopts.R +0 -135
  234. data/utils/enveomics/enveomics.R/R/df2dist.R +0 -154
  235. data/utils/enveomics/enveomics.R/R/growthcurve.R +0 -331
  236. data/utils/enveomics/enveomics.R/R/prefscore.R +0 -79
  237. data/utils/enveomics/enveomics.R/R/recplot.R +0 -354
  238. data/utils/enveomics/enveomics.R/R/recplot2.R +0 -1631
  239. data/utils/enveomics/enveomics.R/R/tribs.R +0 -583
  240. data/utils/enveomics/enveomics.R/R/utils.R +0 -80
  241. data/utils/enveomics/enveomics.R/README.md +0 -81
  242. data/utils/enveomics/enveomics.R/data/growth.curves.rda +0 -0
  243. data/utils/enveomics/enveomics.R/data/phyla.counts.rda +0 -0
  244. data/utils/enveomics/enveomics.R/man/cash-enve.GrowthCurve-method.Rd +0 -16
  245. data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2-method.Rd +0 -16
  246. data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2.Peak-method.Rd +0 -16
  247. data/utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd +0 -25
  248. data/utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd +0 -46
  249. data/utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd +0 -23
  250. data/utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd +0 -47
  251. data/utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd +0 -23
  252. data/utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd +0 -23
  253. data/utils/enveomics/enveomics.R/man/enve.__tribs.Rd +0 -40
  254. data/utils/enveomics/enveomics.R/man/enve.barplot.Rd +0 -103
  255. data/utils/enveomics/enveomics.R/man/enve.cliopts.Rd +0 -67
  256. data/utils/enveomics/enveomics.R/man/enve.col.alpha.Rd +0 -24
  257. data/utils/enveomics/enveomics.R/man/enve.col2alpha.Rd +0 -19
  258. data/utils/enveomics/enveomics.R/man/enve.df2dist.Rd +0 -45
  259. data/utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd +0 -44
  260. data/utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd +0 -47
  261. data/utils/enveomics/enveomics.R/man/enve.growthcurve.Rd +0 -75
  262. data/utils/enveomics/enveomics.R/man/enve.prefscore.Rd +0 -50
  263. data/utils/enveomics/enveomics.R/man/enve.prune.dist.Rd +0 -44
  264. data/utils/enveomics/enveomics.R/man/enve.recplot.Rd +0 -139
  265. data/utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd +0 -45
  266. data/utils/enveomics/enveomics.R/man/enve.recplot2.ANIr.Rd +0 -24
  267. data/utils/enveomics/enveomics.R/man/enve.recplot2.Rd +0 -77
  268. data/utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd +0 -25
  269. data/utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd +0 -21
  270. data/utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd +0 -19
  271. data/utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd +0 -19
  272. data/utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd +0 -47
  273. data/utils/enveomics/enveomics.R/man/enve.recplot2.coordinates.Rd +0 -29
  274. data/utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd +0 -18
  275. data/utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd +0 -45
  276. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd +0 -36
  277. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_e.Rd +0 -19
  278. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_m.Rd +0 -19
  279. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__emauto_one.Rd +0 -27
  280. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd +0 -52
  281. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mower.Rd +0 -17
  282. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd +0 -51
  283. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd +0 -43
  284. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd +0 -82
  285. data/utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd +0 -59
  286. data/utils/enveomics/enveomics.R/man/enve.recplot2.seqdepth.Rd +0 -27
  287. data/utils/enveomics/enveomics.R/man/enve.recplot2.windowDepthThreshold.Rd +0 -36
  288. data/utils/enveomics/enveomics.R/man/enve.selvector.Rd +0 -23
  289. data/utils/enveomics/enveomics.R/man/enve.tribs.Rd +0 -68
  290. data/utils/enveomics/enveomics.R/man/enve.tribs.test.Rd +0 -28
  291. data/utils/enveomics/enveomics.R/man/enve.truncate.Rd +0 -27
  292. data/utils/enveomics/enveomics.R/man/growth.curves.Rd +0 -14
  293. data/utils/enveomics/enveomics.R/man/phyla.counts.Rd +0 -13
  294. data/utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd +0 -78
  295. data/utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd +0 -46
  296. data/utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd +0 -45
  297. data/utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd +0 -125
  298. data/utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd +0 -19
  299. data/utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd +0 -19
  300. data/utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd +0 -19
  301. data/utils/enveomics/globals.mk +0 -8
  302. data/utils/enveomics/manifest.json +0 -9
  303. data/utils/multitrim/Multitrim How-To.pdf +0 -0
  304. data/utils/multitrim/README.md +0 -67
  305. data/utils/multitrim/multitrim.py +0 -1555
  306. data/utils/multitrim/multitrim.yml +0 -13
@@ -1,354 +0,0 @@
1
- #' Enveomics: Recruitment Plots
2
- #'
3
- #' @description
4
- #' Produces recruitment plots provided that BlastTab.catsbj.pl has
5
- #' been previously executed. Requires the \pkg{gplots} library.
6
- #'
7
- #' @param prefix
8
- #' Path to the prefix of the BlastTab.catsbj.pl output files. At
9
- #' least the files \strong{.rec} and \strong{.lim} must exist with this prefix.
10
- #' @param id.min
11
- #' Minimum identity to be considered. By default, the minimum detected
12
- #' identity. This value is a percentage.
13
- #' @param id.max
14
- #' Maximum identity to be considered. By default, 100\%.
15
- #' @param id.binsize
16
- #' Size of the identity bins (vertical histograms). By default, 0.1 for
17
- #' identity metrics and 5 for bit score.
18
- #' @param id.splines
19
- #' Smoothing parameter for the splines in the identity histogram. Zero (0) for no
20
- #' splines. A generally good value is 1/2. If non-zero, requires the \pkg{stats} package.
21
- #' @param id.metric
22
- #' Metric of identity to be used (Y-axis).
23
- #' It can be any unambiguous prefix of:
24
- #' \itemize{
25
- #' \item "identity"
26
- #' \item "corrected identity"
27
- #' \item "bit score"}
28
- #' @param id.summary
29
- #' Method used to build the identity histogram (Horizontal axis of the right panel).
30
- #' It can be any unambiguous prefix of:
31
- #' \itemize{
32
- #' \item "sum"
33
- #' \item "average"
34
- #' \item "median"
35
- #' \item "90\% lower bound"
36
- #' \item "90\% upper bound"
37
- #' \item "95\% lower bound"
38
- #' \item "95\% upper bound" }
39
- #' The last four options
40
- #' correspond to the upper and lower boundaries of the 90\% and 95\% empirical confidence
41
- #' intervals.
42
- #' @param pos.min
43
- #' Minimum (leftmost) position in the reference (concatenated) genome (in bp).
44
- #' @param pos.max
45
- #' Maximum (rightmost) position in the reference (concatenated) genome (in bp).
46
- #' By default: Length of the genome.
47
- #' @param pos.binsize
48
- #' Size of the position bins (horizontal histograms) in bp.
49
- #' @param pos.splines
50
- #' Smoothing parameter for the splines in the position histogram. Zero (0) for no splines.
51
- #' If non-zero, requires the stats package.
52
- #' @param rec.col1
53
- #' Lightest color in the recruitment plot.
54
- #' @param rec.col2
55
- #' Darkest color in the recruitment plot.
56
- #' @param main
57
- #' Title of the plot.
58
- #' @param contig.col
59
- #' Color of the Contig boundaries. Set to \code{NA} to ignore Contig boundaries.
60
- #' @param ret.recplot
61
- #' Indicates if the matrix of the recruitment plot is to be returned.
62
- #' @param ret.hist
63
- #' Ignored, for backwards compatibility.
64
- #' @param ret.mode
65
- #' Indicates if the mode of the identity is to be computed. It requires the
66
- #' \pkg{modeest} package.
67
- #' @param id.cutoff
68
- #' Minimum identity to consider an alignment as "top". By default, it is 0.95 for the
69
- #' identity metrics and 95\% of the best scoring alignment for bit score.
70
- #' @param verbose
71
- #' Indicates if the function should report the advance.
72
- #' @param ...
73
- #' Any additional graphic parameters to be passed to plot for all panels except the
74
- #' recruitment plot (lower-left).
75
- #'
76
- #' @return
77
- #'
78
- #' Returns a list with the following elements:
79
- #'
80
- #' \describe{
81
- #' \item{\code{pos.marks}}{Midpoints of the position histogram.}
82
- #' \item{\code{id.matrix}}{Midpoints of the identity histogram.}
83
- #' \item{\code{recplot}}{Matrix containing the recruitment plot values
84
- #' (if \code{ret.recplot=TRUE}).}
85
- #' \item{\code{id.mean}}{Mean identity.}
86
- #' \item{\code{id.median}}{Median identity.}
87
- #' \item{\code{id.mode}}{Mode of the identity (if \code{ret.mode=TRUE}). Deprecated.}
88
- #' \item{\code{id.hist}}{Values of the identity histogram (if \code{ret.hist=TRUE}).}
89
- #' \item{\code{pos.hist.low}}{Values of the position histogram (depth) with "low"
90
- #' identity (i.e., below id.cutoff) (if \code{ret.hist=TRUE}).}
91
- #' \item{\code{pos.hist.top}}{Values of the position histogram (depth) with "top"
92
- #' identity (i.e., above id.cutoff) (if \code{ret.hist=TRUE}).}
93
- #' \item{\code{id.max}}{Value of \code{id.max}. This is returned because
94
- #' \code{id.max=NULL} may vary.}
95
- #' \item{\code{id.cutoff}}{Value of \code{id.cutoff}.
96
- #' This is returned because \code{id.cutoff=NULL} may vary.}
97
- #' \item{\code{seqdepth.mean.top}}{Average sequencing depth with identity above
98
- #' \code{id.cutoff}.}
99
- #' \item{\code{seqdepth.mean.low}}{Average sequencing depth with identity below
100
- #' \code{id.cutoff}.}
101
- #' \item{\code{seqdepth.mean.all}}{Average sequencing depth without identity filtering.}
102
- #' \item{\code{seqdepth.median.top}}{Median sequencing depth with identity above
103
- #' \code{id.cutoff}.}
104
- #' \item{\code{seqdepth.median.low}}{Median sequencing depth with identity below
105
- #' \code{id.cutoff}.}
106
- #' \item{\code{seqdepth.median.all}}{Median sequencing depth without identity filtering.}
107
- #' \item{\code{id.metric}}{Full name of the used identity metric.}
108
- #' \item{\code{id.summary}}{Full name of the summary method used to build the identity plot.}}
109
- #'
110
- #' @author Luis M. Rodriguez-R [aut, cre]
111
- #'
112
- #' @export
113
-
114
- enve.recplot <- structure(function(
115
- prefix,
116
-
117
- # Id. hist.
118
- id.min=NULL,
119
- id.max=NULL,
120
- id.binsize=NULL,
121
- id.splines=0,
122
- id.metric='id',
123
- id.summary='sum',
124
-
125
- # Pos. hist.
126
- pos.min=1,
127
- pos.max=NULL,
128
- pos.binsize=1e3,
129
- pos.splines=0,
130
-
131
- # Rec. plot
132
- rec.col1='white',
133
- rec.col2='black',
134
-
135
- # General
136
- main=NULL,
137
- contig.col=grey(0.85),
138
-
139
- # Return
140
- ret.recplot=FALSE,
141
- ret.hist=FALSE,
142
- ret.mode=FALSE,
143
-
144
- # General
145
- id.cutoff=NULL,
146
- verbose=TRUE,
147
- ...
148
- ){
149
-
150
- # Settings
151
- METRICS <- c('identity', 'corrected identity', 'bit score');
152
- SUMMARY <- c('sum', 'average', 'median', '');
153
- if(is.null(prefix)) stop('Parameter prefix is mandatory.');
154
- if(!requireNamespace("gplots", quietly=TRUE)) stop('Unavailable gplots library.');
155
-
156
- # Read files
157
- if(verbose) cat("Reading files.\n")
158
- rec <- read.table(paste(prefix, '.rec', sep=''), sep="\t", comment.char='', quote='');
159
- lim <- read.table(paste(prefix, '.lim', sep=''), sep="\t", comment.char='', quote='');
160
-
161
- # Configure ID summary
162
- id.summary <- pmatch(id.summary, SUMMARY);
163
- if(is.na(id.summary)) stop('Invalid identity summary.');
164
- if(id.summary == -1) stop('Ambiguous identity summary.');
165
- if(id.summary==1){
166
- id.summary.func <- function(x) colSums(x);
167
- id.summary.name <- 'sum'
168
- }else if(id.summary==2){
169
- id.summary.func <- function(x) colMeans(x);
170
- id.summary.name <- 'mean'
171
- }else if(id.summary==3){
172
- id.summary.func <- function(x) apply(x,2,median);
173
- id.summary.name <- 'median'
174
- }else if(id.summary==4){
175
- id.summary.func <- function(x) apply(x,2,quantile,probs=0.05,names=FALSE);
176
- id.summary.name <- '90% LB'
177
- }else if(id.summary==5){
178
- id.summary.func <- function(x) apply(x,2,quantile,probs=0.95,names=FALSE);
179
- id.summary.name <- '90% UB'
180
- }else if(id.summary==6){
181
- id.summary.func <- function(x) apply(x,2,quantile,probs=0.025,names=FALSE);
182
- id.summary.name <- '95% LB'
183
- }else if(id.summary==7){
184
- id.summary.func <- function(x) apply(x,2,quantile,probs=0.975,names=FALSE);
185
- id.summary.name <- '95% UB'
186
- }
187
-
188
- # Configure metrics
189
- id.metric <- pmatch(id.metric, METRICS);
190
- if(is.na(id.metric)) stop('Invalid identity metric.');
191
- if(id.metric == -1) stop('Ambiguous identity metric.');
192
- if(id.metric==1){
193
- id.reccol <- 3
194
- id.shortname <- 'Id.'
195
- id.fullname <- 'Identity'
196
- id.units <- '%'
197
- id.hallmarks <- seq(0, 100, by=5)
198
- if(is.null(id.max)) id.max <- 100
199
- if(is.null(id.cutoff)) id.cutoff <- 95
200
- if(is.null(id.binsize)) id.binsize <- 0.1
201
- }else if(id.metric==2){
202
- if(ncol(rec)<6) stop("Requesting corrected identity, but .rec file doesn't have 6th column")
203
- id.reccol <- 6
204
- id.shortname <- 'cId.'
205
- id.fullname <- 'Corrected identity'
206
- id.units <- '%'
207
- id.hallmarks <- seq(0, 100, by=5)
208
- if(is.null(id.max)) id.max <- 100
209
- if(is.null(id.cutoff)) id.cutoff <- 95
210
- if(is.null(id.binsize)) id.binsize <- 0.1
211
- }else if(id.metric==3){
212
- id.reccol <- 4
213
- id.shortname <- 'BSc.'
214
- id.fullname <- 'Bit score'
215
- id.units <- 'bits'
216
- max.bs <- max(rec[, id.reccol])
217
- id.hallmarks <- seq(0, max.bs*1.2, by=50)
218
- if(is.null(id.max)) id.max <- max.bs
219
- if(is.null(id.cutoff)) id.cutoff <- 0.95 * max.bs
220
- if(is.null(id.binsize)) id.binsize <- 5
221
- }
222
- if(is.null(id.min)) id.min <- min(rec[, id.reccol]);
223
- if(is.null(pos.max)) pos.max <- max(lim[, 3]);
224
- id.lim <- c(id.min, id.max);
225
- pos.lim <- c(pos.min, pos.max)/1e6;
226
- id.breaks <- round((id.max-id.min)/id.binsize);
227
- pos.breaks <- round((pos.max-pos.min)/pos.binsize);
228
- if(is.null(main)) main <- paste('Recruitment plot of ', prefix, sep='');
229
- pos.marks=seq(pos.min, pos.max, length.out=pos.breaks+1)/1e6;
230
- id.marks=seq(id.min, id.max, length.out=id.breaks+1);
231
- id.topclasses <- 0;
232
- for(i in length(id.marks):1) if(id.marks[i]>id.cutoff) id.topclasses <- id.topclasses + 1;
233
-
234
- # Set-up image
235
- layout(matrix(c(3,4,1,2), nrow=2, byrow=TRUE), widths=c(2,1), heights=c(1,2));
236
- out <- list();
237
-
238
- # Recruitment plot
239
- if(verbose) cat("Rec. plot.\n")
240
- par(mar=c(5,4,0,0)+0.1);
241
- rec.hist <- matrix(0, nrow=pos.breaks, ncol=id.breaks);
242
- for(i in 1:nrow(rec)){
243
- id.class <- ceiling((id.breaks)*((rec[i, id.reccol]-id.min)/(id.max-id.min)));
244
- if(id.class<=id.breaks & id.class>0){
245
- for(pos in rec[i, 1]:rec[i, 2]){
246
- pos.class <- ceiling((pos.breaks)*((pos-pos.min)/(pos.max-pos.min)));
247
- if(pos.class<=pos.breaks & pos.class>0) rec.hist[pos.class, id.class] <- rec.hist[pos.class, id.class]+1;
248
- }
249
- }
250
- }
251
- id.top <- c((1-id.topclasses):0) + id.breaks;
252
- rec.col=gplots::colorpanel(256, rec.col1, rec.col2);
253
- image(x=pos.marks, y=id.marks, z=log10(rec.hist),
254
- breaks=seq(0, log10(max(rec.hist)), length.out=1+length(rec.col)), col=rec.col,
255
- xlim=pos.lim, ylim=id.lim, xlab='Position in genome (Mbp)',
256
- ylab=paste(id.fullname, ' (',id.units,')', sep=''), xaxs='i', yaxs='r');
257
- if(!is.na(contig.col)) abline(v=c(lim$V2, lim$V3)/1e6, lty=1, col=contig.col);
258
- abline(h=id.hallmarks, lty=2, col=grey(0.7));
259
- abline(h=id.marks[id.top[1]], lty=3, col=grey(0.5))
260
- legend('bottomleft', 'Rec. plot', bg=rgb(1,1,1,2/3));
261
- out <- c(out, list(pos.marks=pos.marks, id.marks=id.marks));
262
- if(ret.recplot) out <- c(out, list(recplot=rec.hist));
263
-
264
- # Identity histogram
265
- if(verbose) cat(id.shortname, " hist.\n", sep='')
266
- par(mar=c(5,0,0,2)+0.1);
267
- id.hist <- id.summary.func(rec.hist);
268
- plot(1, t='n', xlim=c(1, max(id.hist)), ylim=id.lim, ylab='', yaxt='n', xlab=paste('Sequences (bp),', id.summary.name), log='x', ...);
269
- id.x <- rep(id.marks, each=2)[2:(id.breaks*2+1)]
270
- id.f <- rep(id.hist, each=2)[1:(id.breaks*2)]
271
- if(sum(id.f)>0){
272
- lines(id.f, id.x, lwd=ifelse(id.splines>0, 1/2, 2), type='o', pch='.');
273
- if(id.splines>0){
274
- id.spline <- smooth.spline(id.x[id.f>0], log(id.f[id.f>0]), spar=id.splines)
275
- lines(exp(id.spline$y), id.spline$x, lwd=2)
276
- }
277
- }
278
-
279
- abline(h=id.hallmarks, lty=2, col=grey(0.7));
280
- abline(h=id.marks[id.top[1]], lty=3, col=grey(0.5))
281
- legend('bottomright', paste(id.shortname, 'histogram'), bg=rgb(1,1,1,2/3));
282
- out <- c(out, list(id.mean=mean(rec[, id.reccol])));
283
- out <- c(out, list(id.median=median(rec[, id.reccol])));
284
- if(ret.hist) out <- c(out, list(id.hist=id.hist));
285
-
286
- # Position histogram
287
- if(verbose) cat("Pos. hist.\n")
288
- par(mar=c(0,4,4,0)+0.1);
289
- h1<-rep(0,nrow(rec.hist)) ;
290
- h2<-rep(0,nrow(rec.hist)) ;
291
- pos.winsize <- (pos.max-pos.min+1)/pos.breaks;
292
- if(sum(rec.hist[, id.top])>0) h1 <- rowSums(matrix(rec.hist[, id.top], nrow=nrow(rec.hist)))/pos.winsize;
293
- if(sum(rec.hist[,-id.top])>0) h2 <- rowSums(matrix(rec.hist[,-id.top], nrow=nrow(rec.hist)))/pos.winsize;
294
-
295
- ymin <- min(1, h1[h1>0], h2[h2>0]);
296
- ymax <- max(10, h1, h2);
297
- if(is.na(ymin) || ymin<=0) ymin <- 1e-10;
298
- if(is.na(ymax) || ymax<=0) ymax <- 1;
299
- plot(1, t='n', xlab='', xaxt='n', ylab='Sequencing depth (X)', log='y', xlim=pos.lim,
300
- ylim=c(ymin, ymax), xaxs='i', main=main, ...);
301
- if(!is.na(contig.col)) abline(v=c(lim[,2], lim[,3])/1e6, lty=1, col=contig.col);
302
- abline(h=10^c(0:5), lty=2, col=grey(0.7));
303
- if(sum(h2)>0){
304
- h2.x <- rep(pos.marks, each=2)[2:(pos.breaks*2+1)]
305
- h2.y <- rep(h2, each=2)[1:(pos.breaks*2)]
306
- lines(h2.x, h2.y, lwd=ifelse(pos.splines>0, 1/2, 2), col=grey(0.5));
307
- if(pos.splines>0){
308
- h2.spline <- smooth.spline(h2.x[h2.y>0], log(h2.y[h2.y>0]), spar=pos.splines)
309
- lines(h2.spline$x, exp(h2.spline$y), lwd=2, col=grey(0.5))
310
- }
311
- if(ret.hist) out <- c(out, list(pos.hist.low=h2.y));
312
- }
313
- if(sum(h1)>0){
314
- h1.x <- rep(pos.marks, each=2)[2:(pos.breaks*2+1)]
315
- h1.y <- rep(h1, each=2)[1:(pos.breaks*2)]
316
- lines(h1.x, h1.y, lwd=ifelse(pos.splines>0, 1/2, 2), col=grey(0));
317
- if(pos.splines>0){
318
- h1.spline <- smooth.spline(h1.x[h1.y>0], log(h1.y[h1.y>0]), spar=pos.splines)
319
- lines(h1.spline$x, exp(h1.spline$y), lwd=2, col=grey(0))
320
- }
321
- if(ret.hist) out <- c(out, list(pos.hist.top=h1.y));
322
- }
323
- legend('topleft', 'Pos. histogram', bg=rgb(1,1,1,2/3));
324
- out <- c(out, list(id.max=id.max, id.cutoff=id.marks[id.top[1]]));
325
- out <- c(out, list(seqdepth.mean.top=mean(h1)));
326
- out <- c(out, list(seqdepth.mean.low=mean(h2)));
327
- out <- c(out, list(seqdepth.mean=mean(h1+h2)));
328
- out <- c(out, list(seqdepth.median.top=median(h1)));
329
- out <- c(out, list(seqdepth.median.low=median(h2)));
330
- out <- c(out, list(seqdepth.median=median(h1+h2)));
331
- out <- c(out, list(id.metric=id.fullname));
332
- out <- c(out, list(id.summary=id.summary.name));
333
-
334
- # Legend
335
- par(mar=c(0,0,4,2)+0.1);
336
- plot(1, t='n', xlab='', xaxt='n', ylab='', yaxt='n', xlim=c(0,1), ylim=c(0,1), xaxs='r', yaxs='i', ...);
337
- text(1/2, 5/6, labels=paste('Reads per ', signif((pos.max-pos.min)/pos.breaks, 2), ' bp (rec. plot)', sep=''), pos=3);
338
- leg.col <- gplots::colorpanel(100, rec.col1, rec.col2);
339
- leg.lab <- signif(10^seq(0, log10(max(rec.hist)), length.out=10), 2);
340
- for(i in 1:10){
341
- for(j in 1:10){
342
- k <- (i-1)*10 + j;
343
- polygon(c(k-1, k, k, k-1)/100, c(2/3, 2/3, 5/6, 5/6), border=leg.col[k], col=leg.col[k]);
344
- }
345
- text((i-0.5)/10, 2/3, labels=paste(leg.lab[i], ''), srt=90, pos=2, offset=0, cex=3/4);
346
- }
347
- legend('bottom',
348
- legend=c('Contig boundary', 'Hallmark', paste(id.fullname, 'cutoff'),
349
- paste('Pos. hist.: ',id.shortname,' > ',signif(id.marks[id.top[1]],2),id.units,sep=''),
350
- paste('Pos. hist.: ',id.shortname,' < ',signif(id.marks[id.top[1]],2),id.units,sep='')), ncol=2,
351
- col=grey(c(0.85, 0.7, 0.5, 0, 0.5)), lty=c(1,2,3,1,1), lwd=c(1,1,1,2,2), bty='n', inset=0.05, cex=5/6);
352
- return(out);
353
- });
354
-