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,88 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # @author Luis M. Rodriguez-R
4
- # @license Artistic-2.0
5
-
6
- $:.push File.expand_path(File.dirname(__FILE__) + "/lib")
7
- require "enveomics_rb/enveomics"
8
- require "enveomics_rb/vcf"
9
-
10
- o = {min_dp:4, max_dp:Float::INFINITY, min_ref_dp:2, min_alt_dp:2, min_qual:0.0,
11
- indels:false, min_ic:0.0}
12
- OptionParser.new do |opt|
13
- opt.banner = "
14
- Counts the number of Single-Nucleotide Polymorphisms (SNPs) in a VCF file.
15
-
16
- Usage: #{$0} [options]".gsub(/^ +/,"")
17
- opt.separator ""
18
- opt.separator "Mandatory"
19
- opt.on("-i", "--input FILE",
20
- "Input file in Variant Call Format (VCF)."){ |v| o[:file] = v}
21
- opt.separator ""
22
- opt.separator "Parameters"
23
- opt.on("-o", "--out FILE",
24
- "Output (filtered) file in Variant Call Format (VCF)."){ |v| o[:out] = v}
25
- opt.on("-m", "--min-dp INT",
26
- "Minimum number of reads covering the position. By default: #{o[:min_dp]}."
27
- ){ |v| o[:min_dp] = v.to_i }
28
- opt.on("-M", "--max-dp INT",
29
- "Maximum number of reads covering the position. By default: #{o[:max_dp]}."
30
- ){ |v| o[:max_dp] = (v=="Infinity" ? Float::INFINITY : v.to_i) }
31
- opt.on("-r", "--min-ref-dp INT",
32
- "Minimum number of reads supporting allele REF. " +
33
- "By default: #{o[:min_ref_dp]}."
34
- ){ |v| o[:min_ref_dp] = v.to_i }
35
- opt.on("-a", "--min-alt-dp INT",
36
- "Minimum number of reads supporting allele ALT. " +
37
- "By default: #{o[:min_alt_dp]}."
38
- ){ |v| o[:min_alt_dp] = v.to_i }
39
- opt.on("-q", "--min-quality FLOAT",
40
- "Minimum quality of the position mapping. By default: #{o[:min_qual]}."
41
- ){ |v| o[:max_dp] = v.to_f }
42
- opt.on("-s", "--min-shannon FLOAT",
43
- "Minimum information content (in bits, from 0 to 1). " +
44
- "By default: #{o[:min_ic]}"){ |v| o[:min_ic] = v.to_f }
45
- opt.on("--[no-]indels",
46
- "Process (or ignore) indels. By default: ignore."
47
- ){ |v| o[:indels] = v }
48
- opt.on("-h", "--help", "Display this screen.") do
49
- puts opt
50
- exit
51
- end
52
- opt.separator ""
53
- end.parse!
54
-
55
- abort "--input is mandatory" if o[:file].nil?
56
-
57
- vcf = VCF.new(o[:file])
58
- c = 0
59
- dp = 0
60
- ref_dp = 0
61
- alt_dp = 0
62
- h = 0
63
- unless o[:out].nil?
64
- ofh = File.open(o[:out], "w")
65
- vcf.each_header{ |h| ofh.print h }
66
- end
67
- vcf.each_variant do |v|
68
- next if v.indel? and not o[:indels]
69
- next if v.dp < o[:min_dp]
70
- next if v.dp > o[:max_dp]
71
- next if v.ref_dp < o[:min_ref_dp]
72
- next if v.alt_dp < o[:min_alt_dp]
73
- next if v.qual < o[:min_qual]
74
- next if v.shannon < o[:min_ic]
75
- c += 1
76
- dp += v.dp
77
- ref_dp += v.ref_dp
78
- alt_dp += v.alt_dp
79
- h += v.shannon
80
- ofh.print v.to_s unless o[:out].nil?
81
- end
82
- ofh.close unless o[:out].nil?
83
-
84
- puts "SNPs: #{c}", "Information content: #{h}",
85
- "Average SNP depth: #{dp.to_f/c}",
86
- "Average REF allele depth: #{ref_dp.to_f/c}",
87
- "Average ALT allele depth: #{alt_dp.to_f/c}"
88
-
@@ -1,421 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # @author Luis M. Rodriguez-R
4
- # @license Artistic-2.0
5
-
6
- require 'optparse'
7
- require 'tmpdir'
8
- require 'zlib'
9
- has_rest_client = true
10
- has_sqlite3 = true
11
- begin
12
- require 'rubygems'
13
- require 'restclient'
14
- rescue LoadError
15
- has_rest_client = false
16
- end
17
- begin
18
- require 'sqlite3'
19
- rescue LoadError
20
- has_sqlite3 = false
21
- end
22
-
23
- o = {
24
- bits: 0, id: 20, len: 0, hits: 50, q: false, bin: '', program: 'blast+',
25
- thr: 1, dec: 2, auto: false, lookupfirst: false, dbrbm: true, nucl: false,
26
- len_fraction: 0.0, max_actg: 0.95
27
- }
28
- ARGV << '-h' if ARGV.size == 0
29
- OptionParser.new do |opts|
30
- opts.banner = "
31
- Calculates the Average Amino Acid Identity between two genomes
32
-
33
- Usage: #{$0} [options]"
34
- opts.separator ''
35
- opts.separator 'Mandatory'
36
- opts.on(
37
- '-1', '--seq1 FILE',
38
- 'Path to the FastA file (.gz allowed) containing the genome 1 (proteins)'
39
- ) { |v| o[:seq1] = v }
40
- opts.on(
41
- '-2', '--seq2 FILE',
42
- 'Path to the FastA file (.gz allowed) containing the genome 2 (proteins)'
43
- ) { |v| o[:seq2] = v }
44
- if has_rest_client
45
- opts.separator ' Alternatively, you can supply the NCBI-acc of a ' +
46
- 'genome (nucleotides) with the format ncbi:CP014272 instead of files'
47
- else
48
- opts.separator ' Install rest-client to enable NCBI-acc support'
49
- end
50
- opts.separator ''
51
- opts.separator 'Search Options'
52
- opts.on(
53
- '-l', '--len INT', Integer,
54
- "Minimum alignment length (in residues). By default: #{o[:len]}"
55
- ) { |v| o[:len] = v }
56
- opts.on(
57
- '-L', '--len-fraction NUM', Float,
58
- 'Minimum alignment length as a fraction of the shorter sequence',
59
- "(range 0-1). By default: #{o[:len_fraction]}"
60
- ) { |v| o[:len_fraction] = v }
61
- opts.on(
62
- '-i', '--id FLOAT', Float,
63
- "Minimum alignment identity (in %). By default: #{o[:id]}"
64
- ) { |v| o[:id] = v }
65
- opts.on(
66
- '-s', '--bitscore FLOAT', Float,
67
- "Minimum bit score (in bits). By default: #{o[:bits]}"
68
- ) { |v| o[:bits] = v }
69
- opts.on(
70
- '-n', '--hits INT', Integer,
71
- "Minimum number of hits. By default: #{o[:hits]}"
72
- ) { |v| o[:hits] = v }
73
- opts.on(
74
- '-N', '--nucl',
75
- 'The input sequences are nucleotides (genes), not proteins'
76
- ) { |v| o[:nucl] = v }
77
- opts.on(
78
- '--max-actg FLOAT', Float,
79
- 'Maximum fraction of ACTGN in the sequences before assuming nucleotides',
80
- "By default: #{o[:max_actg]}"
81
- ) { |v| o[:max_actg] = v }
82
- opts.separator ''
83
- opts.separator 'Software Options'
84
- opts.on(
85
- '-b', '--bin DIR',
86
- 'Path to the directory containing the binaries of the search program'
87
- ) { |v| o[:bin] = v }
88
- opts.on(
89
- '-p', '--program STR',
90
- 'Search program to be used. One of: blast+ (default), blast, blat, diamond'
91
- ) { |v| o[:program] = v }
92
- opts.on(
93
- '-t', '--threads INT', Integer,
94
- "Number of parallel threads to be used. By default: #{o[:thr]}"
95
- ) { |v| o[:thr] = v }
96
- opts.separator ''
97
- opts.separator 'SQLite3 Options'
98
- unless has_sqlite3
99
- opts.separator ' Install sqlite3 gem to enable database support'
100
- end
101
- opts.on(
102
- '-S', '--sqlite3 FILE',
103
- 'Path to the SQLite3 database to create (or update) with the results'
104
- ) { |v| o[:sqlite3] = v }
105
- opts.on(
106
- '--name1 STR',
107
- 'Name of --seq1 to use in --sqlite3. By default determined by filename'
108
- ) { |v| o[:seq1name] = v }
109
- opts.on(
110
- '--name2 STR',
111
- 'Name of --seq2 to use in --sqlite3. By default determined by filename'
112
- ) { |v| o[:seq2name] = v }
113
- opts.on(
114
- '--[no-]save-rbm',
115
- 'Save (or don\'t save) the reciprocal best matches in the --sqlite3 db',
116
- "By default: #{o[:dbrbm]}"
117
- ) { |v| o[:dbrbm] = v }
118
- opts.on(
119
- '--lookup-first',
120
- 'Indicates if the AAI should be looked up first in the database',
121
- 'Requires --sqlite3, --auto, --name1, and --name2',
122
- 'Incompatible with --res, --tab, --out, and --rbm'
123
- ) { |v| o[:lookupfirst] = v }
124
- opts.separator ''
125
- opts.separator 'Other Output Options'
126
- opts.on(
127
- '-d', '--dec INT', Integer,
128
- "Decimal positions to report. By default: #{o[:dec]}"
129
- ) { |v| o[:dec] = v }
130
- opts.on(
131
- '-R', '--rbm FILE',
132
- 'Saves a file with the reciprocal best matches'
133
- ) { |v| o[:rbm] = v }
134
- opts.on(
135
- '-o', '--out FILE',
136
- 'Saves a file describing the alignments used for two-way AAI'
137
- ) { |v| o[:out] = v }
138
- opts.on(
139
- '-r', '--res FILE', 'Saves a file with the final results'
140
- ) { |v| o[:res] = v }
141
- opts.on(
142
- '-T', '--tab FILE',
143
- 'Saves a file with the final two-way results in a tab-delimited form',
144
- 'The columns are (in that order):',
145
- 'AAI, standard deviation, proteins used, proteins in the smallest genome'
146
- ) { |v| o[:tab] = v }
147
- opts.on(
148
- '-a', '--auto',
149
- 'ONLY outputs the AAI value in STDOUT (or nothing, if calculation fails)'
150
- ) { o[:auto] = true }
151
- opts.on('-q', '--quiet', 'Run quietly (no STDERR output)') { o[:q] = true }
152
- opts.on('-h', '--help', 'Display this screen') do
153
- puts opts
154
- exit
155
- end
156
- opts.separator ''
157
- end.parse!
158
-
159
- # Check input
160
- abort '-1 is mandatory' if o[:seq1].nil?
161
- abort '-2 is mandatory' if o[:seq2].nil?
162
- if o[:program] == 'diamond' && o[:nucl]
163
- abort '-p diamond is incompatible with -N'
164
- end
165
- unless o[:sqlite3].nil? or has_sqlite3
166
- abort 'SQLite3 requested (-S) but sqlite3 not supported: gem install sqlite3'
167
- end
168
- o[:bin] = o[:bin] + '/' if o[:bin].size > 0
169
- if o[:lookupfirst]
170
- abort '--lookup-first requires --name1' if o[:seq1name].nil?
171
- abort '--lookup-first requires --name2' if o[:seq2name].nil?
172
- abort '--lookup-first needs --sqlite3' if o[:sqlite3].nil?
173
- abort '--lookup-first requires --auto' unless o[:auto]
174
- %w[res tab out rbm].each do |k|
175
- abort "--lookup-first conflicts with --#{k}" unless o[k.to_sym].nil?
176
- end
177
- end
178
-
179
- # Create SQLite3 file
180
- unless o[:sqlite3].nil?
181
- $stderr.puts "Accessing SQLite3 file: #{o[:sqlite3]}." unless o[:q]
182
- sqlite_db = SQLite3::Database.new o[:sqlite3]
183
- sqlite_db.execute "create table if not exists rbm( seq1 varchar(256), " +
184
- "seq2 varchar(256), id1 varchar(256), id2 varchar(256), id float, " +
185
- "evalue float, bitscore float )"
186
- sqlite_db.execute "create table if not exists aai( seq1 varchar(256), " +
187
- "seq2 varchar(256), aai float, sd float, n int, omega int )"
188
- end
189
-
190
- # Look-up first
191
- if o[:lookupfirst]
192
- val = sqlite_db.execute "select aai from aai where seq1=? and seq2=?",
193
- [o[:seq1name], o[:seq2name]]
194
- val = sqlite_db.execute "select aai from aai where seq1=? and seq2=?",
195
- [o[:seq2name], o[:seq1name]] if val.empty?
196
- unless val.empty?
197
- puts val.first.first
198
- exit
199
- end
200
- end
201
-
202
- Dir.mktmpdir do |dir|
203
- $stderr.puts "Temporal directory: #{dir}." unless o[:q]
204
-
205
- # Create databases.
206
- $stderr.puts "Creating databases." unless o[:q]
207
- minfrg = nil
208
- seq_names = []
209
- seq_len = {}
210
- actg_cnt = {}
211
- ori_ids = {}
212
- [:seq1, :seq2].each do |seq|
213
- abort "GIs are no longer supported by NCBI. Please use NCBI-acc instead." if
214
- /^gi:/.match(o[seq])
215
- acc = /^ncbi:(\S+)/.match(o[seq])
216
- unless acc.nil?
217
- abort "NCBI-acc requested, but rest-client not supported. First " +
218
- "install gem rest-client." unless has_rest_client
219
- abort "NCBI-acc are currently not supported with --nucl. Please use " +
220
- "ani.rb instead." if o[:nucl]
221
- $stderr.puts " Downloading dataset from NCBI:#{acc[1]}." unless o[:q]
222
- responseLink = RestClient.get(
223
- "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi",
224
- {params:{db:"protein",dbfrom:"nuccore",id:acc[1],idtype:"acc"}})
225
- abort "Unable to reach NCBI EUtils, error code " +
226
- responseLink.code.to_s + "." unless responseLink.code == 200
227
- fromId = true
228
- protIds = []
229
- o[seq] = "#{dir}/ncbi-#{seq.to_s}.fa"
230
- fo = File.open(o[seq], "w")
231
- responseLink.to_str.each_line.grep(/\s<Id>/) do |ln|
232
- idMatch = /<Id>(\S+)<\/Id>/.match(ln)
233
- unless idMatch.nil?
234
- protIds.push(idMatch[1]) unless fromId
235
- fromId = false
236
- end
237
- end
238
- response = RestClient.post(
239
- 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi',
240
- db: 'protein', rettype: 'fasta', id: protIds.join(','), idtype: 'acc'
241
- )
242
- abort "Unable to reach NCBI EUtils, error code " +
243
- response.code.to_s + "." unless response.code == 200
244
- fo.puts response.to_str
245
- fo.close
246
- seq_names << ( o[ "#{seq}name".to_sym ].nil? ?
247
- "ncbi:#{acc[1]}" :
248
- o[ "#{seq}name".to_sym ])
249
- else
250
- seq_names << ( o[ "#{seq}name".to_sym ].nil? ?
251
- File.basename(o[seq], ".*") :
252
- o[ "#{seq}name".to_sym ])
253
- end
254
- $stderr.puts " Reading FastA file: #{o[seq]}" unless o[:q]
255
- unless o[:sqlite3].nil?
256
- sqlite_db.execute "delete from rbm where seq1=? and seq2=?", seq_names
257
- sqlite_db.execute "delete from aai where seq1=? and seq2=?", seq_names
258
- end
259
- ori_ids[seq] = [nil]
260
- seq_len[seq] = [0]
261
- actg_cnt[seq] = 0
262
- seqs = 0
263
- fi = File.extname(o[seq]) == '.gz' ?
264
- Zlib::GzipReader.open(o[seq]) :
265
- File.open(o[seq], 'r')
266
- File.open("#{dir}/#{seq.to_s}.fa", 'w') do |fo|
267
- fi.each_line do |ln|
268
- if ln =~ /^>(\S+)/
269
- seqs += 1
270
- ori_ids[seq] << $1 unless o[:rbm].nil? and o[:sqlite3].nil?
271
- seq_len[seq][seqs] = 0
272
- fo.puts ">#{seqs}"
273
- else
274
- fo.puts ln
275
- seq_len[seq][seqs] += ln.chomp.gsub(/[^A-Za-z]/,"").length
276
- actg_cnt[seq] += ln.chomp.gsub(/[^ACTGNactgn]/,"").length
277
- end
278
- end
279
- end
280
- fi.close
281
- unless o[:nucl]
282
- actg_frx = actg_cnt[seq].to_f/seq_len[seq].inject(:+).to_f
283
- abort "Input sequences appear to be nucleotides " +
284
- "(ACTGN fraction: %.2f%%)." % (actg_frx*100) if actg_frx > o[:max_actg]
285
- end
286
- $stderr.puts " File contains #{seqs} sequences." unless o[:q]
287
- minfrg ||= seqs
288
- minfrg = seqs if minfrg > seqs
289
- case o[:program].downcase
290
- when "blast"
291
- `"#{o[:bin]}formatdb" -i "#{dir}/#{seq}.fa" \
292
- -p #{o[:nucl] ? "F" : "T"}`
293
- when "blast+"
294
- `"#{o[:bin]}makeblastdb" -in "#{dir}/#{seq}.fa" \
295
- -dbtype #{o[:nucl] ? "nucl" : "prot"}`
296
- when "blat"
297
- # Nothing to do
298
- when "diamond"
299
- `"#{o[:bin]}diamond" makedb --in "#{dir}/#{seq}.fa" \
300
- --db "#{dir}/#{seq}.fa.dmnd" --threads "#{o[:thr]}" \
301
- --quiet`
302
- else
303
- abort "Unsupported program: #{o[:program]}."
304
- end
305
- end
306
-
307
- # Best-hits.
308
- $stderr.puts "Running one-way comparisons." unless o[:q]
309
- rbh = []
310
- id2 = 0
311
- sq2 = 0
312
- n2 = 0
313
- unless o[:out].nil?
314
- fo = File.open(o[:out], "w")
315
- fo.puts %w(identity aln.len mismatch gap.open evalue bitscore).join("\t")
316
- end
317
- res = File.open(o[:res], "w") unless o[:res].nil?
318
- rbm = File.open(o[:rbm], "w") unless o[:rbm].nil?
319
- sqlite_db.execute('BEGIN TRANSACTION') unless o[:sqlite3].nil?
320
- [1,2].each do |i|
321
- qry_seen = []
322
- q = "#{dir}/seq#{i}.fa"
323
- s = "#{dir}/seq#{i==1?2:1}.fa"
324
- case o[:program].downcase
325
- when "blast"
326
- `"#{o[:bin]}blastall" -p blast#{o[:nucl] ? "n": "p"} -d "#{s}" \
327
- -i "#{q}" -v 1 -b 1 -a #{o[:thr]} -m 8 -o "#{dir}/#{i}.tab"`
328
- when "blast+"
329
- `"#{o[:bin]}blast#{o[:nucl] ? "n" : "p"}" -db "#{s}" -query "#{q}" \
330
- -max_target_seqs 1 -num_threads #{o[:thr]} -outfmt 6 \
331
- -out "#{dir}/#{i}.tab"`
332
- when "blat"
333
- `"#{o[:bin]}blat" "#{s}" "#{q}" #{"-prot" unless o[:nucl]} -out=blast8 \
334
- "#{dir}/#{i}.tab.uns"`
335
- `sort -k 1 "#{dir}/#{i}.tab.uns" > "#{dir}/#{i}.tab"`
336
- when "diamond"
337
- `"#{o[:bin]}diamond" blastp --threads "#{o[:thr]}" --db "#{s}.dmnd" \
338
- --query "#{q}" --sensitive --daa "#{dir}/#{i}.daa" --quiet \
339
- && "#{o[:bin]}diamond" view --daa "#{dir}/#{i}.daa" --outfmt 6 \
340
- --out "#{dir}/#{i}.tab" --quiet`
341
- else
342
- abort "Unsupported program: #{o[:program]}."
343
- end
344
- fh = File.open("#{dir}/#{i}.tab", "r")
345
- id = 0
346
- sq = 0
347
- n = 0
348
- fh.each_line do |ln|
349
- ln.chomp!
350
- row = ln.split(/\t/)
351
- next unless qry_seen[ row[0].to_i ].nil?
352
- next if row[3].to_i < o[:len] and
353
- next if row[2].to_f < o[:id]
354
- next if row[11].to_f < o[:bits]
355
- next if row[3].to_f/[
356
- seq_len[i==1 ? :seq1 : :seq2][row[0].to_i],
357
- seq_len[i==1 ? :seq2 : :seq1][row[1].to_i]
358
- ].min < o[:len_fraction]
359
- qry_seen[ row[0].to_i ] = 1
360
- id += row[2].to_f
361
- sq += row[2].to_f ** 2
362
- n += 1
363
- if i==1
364
- rbh[ row[0].to_i ] = row[1].to_i
365
- else
366
- if !rbh[ row[1].to_i ].nil? and rbh[ row[1].to_i ]==row[0].to_i
367
- id2 += row[2].to_f
368
- sq2 += row[2].to_f**2
369
- n2 += 1
370
- fo.puts [row[2..5],row[10..11]].join("\t") unless o[:out].nil?
371
- rbm.puts [ori_ids[:seq1][row[1].to_i],
372
- ori_ids[:seq2][row[0].to_i], row[2..5], row[8..9],
373
- row[6..7], row[10..11]].join("\t") unless o[:rbm].nil?
374
- sqlite_db.execute("insert into rbm values(?,?,?,?,?,?,?)",
375
- seq_names + [ori_ids[:seq1][row[1].to_i],
376
- ori_ids[:seq2][row[0].to_i], row[2], row[10], row[11]]
377
- ) if not o[:sqlite3].nil? and o[:dbrbm]
378
- end
379
- end
380
- end
381
- fh.close
382
- if n < o[:hits]
383
- puts "Insuffient hits to estimate one-way AAI: #{n}." unless o[:auto]
384
- res.puts "Insufficient hits to estimate one-way AAI: #{n}" unless
385
- o[:res].nil?
386
- else
387
- printf "! One-way AAI %d: %.#{o[:dec]}f%% (SD: %.#{o[:dec]}f%%), " +
388
- "from %i proteins.\n", i, id/n, (sq/n - (id/n)**2)**0.5, n unless
389
- o[:auto]
390
- res.puts sprintf "<b>One-way AAI %d:</b> %.#{o[:dec]}f%% " +
391
- "(SD: %.#{o[:dec]}f%%), from %i proteins.<br/>", i, id/n,
392
- (sq/n - (id/n)**2)**0.5, n unless o[:res].nil?
393
- end
394
- end
395
- rbm.close unless o[:rbm].nil?
396
- if n2 < o[:hits]
397
- puts "Insufficient hits to estimate two-way AAI: #{n2}" unless o[:auto]
398
- res.puts "Insufficient hits to estimate two-way AAI: #{n2}" unless
399
- o[:res].nil?
400
- else
401
- printf "! Two-way AAI : %.#{o[:dec]}f%% (SD: %.#{o[:dec]}f%%), from %i" +
402
- " proteins.\n", id2/n2, (sq2/n2 - (id2/n2)**2)**0.5, n2 unless o[:auto]
403
- res.puts sprintf "<b>Two-way AAI:</b> %.#{o[:dec]}f%% (SD: " +
404
- "%.#{o[:dec]}f%%), from %i proteins.<br/>", id2/n2,
405
- (sq2/n2 - (id2/n2)**2)**0.5, n2 unless o[:res].nil?
406
- unless o[:tab].nil?
407
- tab = File.open(o[:tab], "w")
408
- tab.printf "%.#{o[:dec]}f\t%.#{o[:dec]}f\t%i\t%i\n", id2/n2,
409
- (sq2/n2 - (id2/n2)**2)**0.5, n2, minfrg
410
- tab.close
411
- end
412
- sqlite_db.execute("insert into aai values(?,?,?,?,?,?)",
413
- seq_names + [id2/n2, (sq2/n2 - (id2/n2)**2)**0.5, n2, minfrg]) unless
414
- o[:sqlite3].nil?
415
- puts id2/n2 if o[:auto]
416
- end
417
- sqlite_db.execute('COMMIT') unless o[:sqlite3].nil?
418
- res.close unless o[:res].nil?
419
- fo.close unless o[:out].nil?
420
- end
421
-