miga-base 0.7.23.0 → 0.7.25.3
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 +4 -4
- data/Gemfile +3 -0
- data/Rakefile +1 -0
- data/lib/miga/cli/action/add.rb +10 -8
- data/lib/miga/cli/action/classify_wf.rb +12 -11
- data/lib/miga/cli/action/derep_wf.rb +3 -9
- data/lib/miga/cli/action/edit.rb +0 -1
- data/lib/miga/cli/action/find.rb +1 -1
- data/lib/miga/cli/action/generic.rb +1 -1
- data/lib/miga/cli/action/get.rb +7 -2
- data/lib/miga/cli/action/index_wf.rb +4 -2
- data/lib/miga/cli/action/init.rb +60 -59
- data/lib/miga/cli/action/init/files_helper.rb +2 -1
- data/lib/miga/cli/action/ncbi_get.rb +1 -1
- data/lib/miga/cli/action/new.rb +15 -9
- data/lib/miga/cli/action/option.rb +63 -0
- data/lib/miga/cli/action/preproc_wf.rb +7 -5
- data/lib/miga/cli/action/quality_wf.rb +3 -3
- data/lib/miga/cli/action/tax_dist.rb +1 -1
- data/lib/miga/cli/action/tax_test.rb +1 -1
- data/lib/miga/cli/action/wf.rb +72 -54
- data/lib/miga/cli/base.rb +17 -5
- data/lib/miga/cli/objects_helper.rb +23 -18
- data/lib/miga/common.rb +1 -1
- data/lib/miga/common/with_option.rb +83 -0
- data/lib/miga/common/with_result.rb +2 -1
- data/lib/miga/dataset/base.rb +20 -2
- data/lib/miga/dataset/result.rb +3 -2
- data/lib/miga/metadata.rb +25 -13
- data/lib/miga/project/base.rb +82 -2
- data/lib/miga/project/result.rb +4 -4
- data/lib/miga/result.rb +18 -15
- data/lib/miga/result/stats.rb +2 -2
- data/lib/miga/version.rb +2 -2
- data/scripts/essential_genes.bash +18 -3
- data/scripts/miga.bash +8 -2
- data/scripts/ogs.bash +2 -3
- data/test/dataset_test.rb +5 -5
- data/test/lair_test.rb +1 -2
- data/test/result_test.rb +22 -0
- data/test/with_option_test.rb +115 -0
- data/utils/cleanup-databases.rb +1 -2
- data/utils/distance/base.rb +9 -0
- data/utils/distance/commands.rb +183 -81
- data/utils/distance/database.rb +69 -10
- data/utils/distance/pipeline.rb +15 -21
- data/utils/distance/runner.rb +28 -49
- data/utils/distance/temporal.rb +4 -2
- data/utils/distances.rb +2 -2
- data/utils/index_metadata.rb +1 -2
- data/utils/requirements.txt +1 -1
- data/utils/subclade/runner.rb +9 -10
- metadata +9 -273
- data/utils/enveomics/Docs/recplot2.md +0 -244
- data/utils/enveomics/Examples/aai-matrix.bash +0 -66
- data/utils/enveomics/Examples/ani-matrix.bash +0 -66
- data/utils/enveomics/Examples/essential-phylogeny.bash +0 -105
- data/utils/enveomics/Examples/unus-genome-phylogeny.bash +0 -100
- data/utils/enveomics/LICENSE.txt +0 -73
- data/utils/enveomics/Makefile +0 -52
- data/utils/enveomics/Manifest/Tasks/aasubs.json +0 -103
- data/utils/enveomics/Manifest/Tasks/blasttab.json +0 -786
- data/utils/enveomics/Manifest/Tasks/distances.json +0 -161
- data/utils/enveomics/Manifest/Tasks/fasta.json +0 -766
- data/utils/enveomics/Manifest/Tasks/fastq.json +0 -243
- data/utils/enveomics/Manifest/Tasks/graphics.json +0 -126
- data/utils/enveomics/Manifest/Tasks/mapping.json +0 -67
- data/utils/enveomics/Manifest/Tasks/ogs.json +0 -382
- data/utils/enveomics/Manifest/Tasks/other.json +0 -829
- data/utils/enveomics/Manifest/Tasks/remote.json +0 -355
- data/utils/enveomics/Manifest/Tasks/sequence-identity.json +0 -501
- data/utils/enveomics/Manifest/Tasks/tables.json +0 -308
- data/utils/enveomics/Manifest/Tasks/trees.json +0 -68
- data/utils/enveomics/Manifest/Tasks/variants.json +0 -111
- data/utils/enveomics/Manifest/categories.json +0 -156
- data/utils/enveomics/Manifest/examples.json +0 -154
- data/utils/enveomics/Manifest/tasks.json +0 -4
- data/utils/enveomics/Pipelines/assembly.pbs/CONFIG.mock.bash +0 -69
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.N50.pl +0 -1
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.filterN.pl +0 -1
- data/utils/enveomics/Pipelines/assembly.pbs/FastA.length.pl +0 -1
- data/utils/enveomics/Pipelines/assembly.pbs/README.md +0 -189
- data/utils/enveomics/Pipelines/assembly.pbs/RUNME-2.bash +0 -112
- data/utils/enveomics/Pipelines/assembly.pbs/RUNME-3.bash +0 -23
- data/utils/enveomics/Pipelines/assembly.pbs/RUNME-4.bash +0 -44
- data/utils/enveomics/Pipelines/assembly.pbs/RUNME.bash +0 -50
- data/utils/enveomics/Pipelines/assembly.pbs/kSelector.R +0 -37
- data/utils/enveomics/Pipelines/assembly.pbs/newbler.pbs +0 -68
- data/utils/enveomics/Pipelines/assembly.pbs/newbler_preparator.pl +0 -49
- data/utils/enveomics/Pipelines/assembly.pbs/soap.pbs +0 -80
- data/utils/enveomics/Pipelines/assembly.pbs/stats.pbs +0 -57
- data/utils/enveomics/Pipelines/assembly.pbs/velvet.pbs +0 -63
- data/utils/enveomics/Pipelines/blast.pbs/01.pbs.bash +0 -38
- data/utils/enveomics/Pipelines/blast.pbs/02.pbs.bash +0 -73
- data/utils/enveomics/Pipelines/blast.pbs/03.pbs.bash +0 -21
- data/utils/enveomics/Pipelines/blast.pbs/BlastTab.recover_job.pl +0 -72
- data/utils/enveomics/Pipelines/blast.pbs/CONFIG.mock.bash +0 -98
- data/utils/enveomics/Pipelines/blast.pbs/FastA.split.pl +0 -1
- data/utils/enveomics/Pipelines/blast.pbs/README.md +0 -127
- data/utils/enveomics/Pipelines/blast.pbs/RUNME.bash +0 -109
- data/utils/enveomics/Pipelines/blast.pbs/TASK.check.bash +0 -128
- data/utils/enveomics/Pipelines/blast.pbs/TASK.dry.bash +0 -16
- data/utils/enveomics/Pipelines/blast.pbs/TASK.eo.bash +0 -22
- data/utils/enveomics/Pipelines/blast.pbs/TASK.pause.bash +0 -26
- data/utils/enveomics/Pipelines/blast.pbs/TASK.run.bash +0 -89
- data/utils/enveomics/Pipelines/blast.pbs/sentinel.pbs.bash +0 -29
- data/utils/enveomics/Pipelines/idba.pbs/README.md +0 -49
- data/utils/enveomics/Pipelines/idba.pbs/RUNME.bash +0 -95
- data/utils/enveomics/Pipelines/idba.pbs/run.pbs +0 -56
- data/utils/enveomics/Pipelines/trim.pbs/README.md +0 -54
- data/utils/enveomics/Pipelines/trim.pbs/RUNME.bash +0 -70
- data/utils/enveomics/Pipelines/trim.pbs/run.pbs +0 -130
- data/utils/enveomics/README.md +0 -42
- data/utils/enveomics/Scripts/AAsubs.log2ratio.rb +0 -171
- data/utils/enveomics/Scripts/Aln.cat.rb +0 -163
- data/utils/enveomics/Scripts/Aln.convert.pl +0 -35
- data/utils/enveomics/Scripts/AlphaDiversity.pl +0 -152
- data/utils/enveomics/Scripts/BedGraph.tad.rb +0 -93
- data/utils/enveomics/Scripts/BedGraph.window.rb +0 -71
- data/utils/enveomics/Scripts/BlastPairwise.AAsubs.pl +0 -102
- data/utils/enveomics/Scripts/BlastTab.addlen.rb +0 -63
- data/utils/enveomics/Scripts/BlastTab.advance.bash +0 -48
- data/utils/enveomics/Scripts/BlastTab.best_hit_sorted.pl +0 -55
- data/utils/enveomics/Scripts/BlastTab.catsbj.pl +0 -104
- data/utils/enveomics/Scripts/BlastTab.cogCat.rb +0 -76
- data/utils/enveomics/Scripts/BlastTab.filter.pl +0 -47
- data/utils/enveomics/Scripts/BlastTab.kegg_pep2path_rest.pl +0 -194
- data/utils/enveomics/Scripts/BlastTab.metaxaPrep.pl +0 -104
- data/utils/enveomics/Scripts/BlastTab.pairedHits.rb +0 -157
- data/utils/enveomics/Scripts/BlastTab.recplot2.R +0 -48
- data/utils/enveomics/Scripts/BlastTab.seqdepth.pl +0 -86
- data/utils/enveomics/Scripts/BlastTab.seqdepth_ZIP.pl +0 -119
- data/utils/enveomics/Scripts/BlastTab.seqdepth_nomedian.pl +0 -86
- data/utils/enveomics/Scripts/BlastTab.subsample.pl +0 -47
- data/utils/enveomics/Scripts/BlastTab.sumPerHit.pl +0 -114
- data/utils/enveomics/Scripts/BlastTab.taxid2taxrank.pl +0 -90
- data/utils/enveomics/Scripts/BlastTab.topHits_sorted.rb +0 -101
- data/utils/enveomics/Scripts/Chao1.pl +0 -97
- data/utils/enveomics/Scripts/CharTable.classify.rb +0 -234
- data/utils/enveomics/Scripts/EBIseq2tax.rb +0 -83
- data/utils/enveomics/Scripts/FastA.N50.pl +0 -56
- data/utils/enveomics/Scripts/FastA.extract.rb +0 -152
- data/utils/enveomics/Scripts/FastA.filter.pl +0 -52
- data/utils/enveomics/Scripts/FastA.filterLen.pl +0 -28
- data/utils/enveomics/Scripts/FastA.filterN.pl +0 -60
- data/utils/enveomics/Scripts/FastA.fragment.rb +0 -92
- data/utils/enveomics/Scripts/FastA.gc.pl +0 -42
- data/utils/enveomics/Scripts/FastA.interpose.pl +0 -93
- data/utils/enveomics/Scripts/FastA.length.pl +0 -38
- data/utils/enveomics/Scripts/FastA.mask.rb +0 -89
- data/utils/enveomics/Scripts/FastA.per_file.pl +0 -36
- data/utils/enveomics/Scripts/FastA.qlen.pl +0 -57
- data/utils/enveomics/Scripts/FastA.rename.pl +0 -65
- data/utils/enveomics/Scripts/FastA.revcom.pl +0 -23
- data/utils/enveomics/Scripts/FastA.sample.rb +0 -83
- data/utils/enveomics/Scripts/FastA.slider.pl +0 -85
- data/utils/enveomics/Scripts/FastA.split.pl +0 -55
- data/utils/enveomics/Scripts/FastA.split.rb +0 -79
- data/utils/enveomics/Scripts/FastA.subsample.pl +0 -131
- data/utils/enveomics/Scripts/FastA.tag.rb +0 -65
- data/utils/enveomics/Scripts/FastA.wrap.rb +0 -48
- data/utils/enveomics/Scripts/FastQ.filter.pl +0 -54
- data/utils/enveomics/Scripts/FastQ.interpose.pl +0 -90
- data/utils/enveomics/Scripts/FastQ.offset.pl +0 -90
- data/utils/enveomics/Scripts/FastQ.split.pl +0 -53
- data/utils/enveomics/Scripts/FastQ.tag.rb +0 -63
- data/utils/enveomics/Scripts/FastQ.test-error.rb +0 -81
- data/utils/enveomics/Scripts/FastQ.toFastA.awk +0 -24
- data/utils/enveomics/Scripts/GFF.catsbj.pl +0 -127
- data/utils/enveomics/Scripts/GenBank.add_fields.rb +0 -84
- data/utils/enveomics/Scripts/HMM.essential.rb +0 -351
- data/utils/enveomics/Scripts/HMM.haai.rb +0 -168
- data/utils/enveomics/Scripts/HMMsearch.extractIds.rb +0 -83
- data/utils/enveomics/Scripts/JPlace.distances.rb +0 -88
- data/utils/enveomics/Scripts/JPlace.to_iToL.rb +0 -320
- data/utils/enveomics/Scripts/M5nr.getSequences.rb +0 -81
- data/utils/enveomics/Scripts/MeTaxa.distribution.pl +0 -198
- data/utils/enveomics/Scripts/MyTaxa.fragsByTax.pl +0 -35
- data/utils/enveomics/Scripts/MyTaxa.seq-taxrank.rb +0 -49
- data/utils/enveomics/Scripts/NCBIacc2tax.rb +0 -92
- data/utils/enveomics/Scripts/Newick.autoprune.R +0 -27
- data/utils/enveomics/Scripts/RAxML-EPA.to_iToL.pl +0 -228
- data/utils/enveomics/Scripts/RecPlot2.compareIdentities.R +0 -32
- data/utils/enveomics/Scripts/RefSeq.download.bash +0 -48
- data/utils/enveomics/Scripts/SRA.download.bash +0 -57
- data/utils/enveomics/Scripts/TRIBS.plot-test.R +0 -36
- data/utils/enveomics/Scripts/TRIBS.test.R +0 -39
- data/utils/enveomics/Scripts/Table.barplot.R +0 -31
- data/utils/enveomics/Scripts/Table.df2dist.R +0 -30
- data/utils/enveomics/Scripts/Table.filter.pl +0 -61
- data/utils/enveomics/Scripts/Table.merge.pl +0 -77
- data/utils/enveomics/Scripts/Table.replace.rb +0 -69
- data/utils/enveomics/Scripts/Table.round.rb +0 -63
- data/utils/enveomics/Scripts/Table.split.pl +0 -57
- data/utils/enveomics/Scripts/Taxonomy.silva2ncbi.rb +0 -227
- data/utils/enveomics/Scripts/VCF.KaKs.rb +0 -147
- data/utils/enveomics/Scripts/VCF.SNPs.rb +0 -88
- data/utils/enveomics/Scripts/aai.rb +0 -418
- data/utils/enveomics/Scripts/ani.rb +0 -362
- data/utils/enveomics/Scripts/clust.rand.rb +0 -102
- data/utils/enveomics/Scripts/gi2tax.rb +0 -103
- data/utils/enveomics/Scripts/in_silico_GA_GI.pl +0 -96
- data/utils/enveomics/Scripts/lib/data/dupont_2012_essential.hmm.gz +0 -0
- data/utils/enveomics/Scripts/lib/data/lee_2019_essential.hmm.gz +0 -0
- data/utils/enveomics/Scripts/lib/enveomics.R +0 -1
- data/utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb +0 -24
- data/utils/enveomics/Scripts/lib/enveomics_rb/jplace.rb +0 -253
- data/utils/enveomics/Scripts/lib/enveomics_rb/og.rb +0 -182
- data/utils/enveomics/Scripts/lib/enveomics_rb/remote_data.rb +0 -74
- data/utils/enveomics/Scripts/lib/enveomics_rb/seq_range.rb +0 -237
- data/utils/enveomics/Scripts/lib/enveomics_rb/stat.rb +0 -30
- data/utils/enveomics/Scripts/lib/enveomics_rb/vcf.rb +0 -135
- data/utils/enveomics/Scripts/ogs.annotate.rb +0 -88
- data/utils/enveomics/Scripts/ogs.core-pan.rb +0 -160
- data/utils/enveomics/Scripts/ogs.extract.rb +0 -125
- data/utils/enveomics/Scripts/ogs.mcl.rb +0 -186
- data/utils/enveomics/Scripts/ogs.rb +0 -104
- data/utils/enveomics/Scripts/ogs.stats.rb +0 -131
- data/utils/enveomics/Scripts/rbm.rb +0 -146
- data/utils/enveomics/Tests/Makefile +0 -10
- data/utils/enveomics/Tests/Mgen_M2288.faa +0 -3189
- data/utils/enveomics/Tests/Mgen_M2288.fna +0 -8282
- data/utils/enveomics/Tests/Mgen_M2321.fna +0 -8288
- data/utils/enveomics/Tests/Nequ_Kin4M.faa +0 -2970
- data/utils/enveomics/Tests/Xanthomonas_oryzae-PilA.tribs.Rdata +0 -0
- data/utils/enveomics/Tests/Xanthomonas_oryzae-PilA.txt +0 -7
- data/utils/enveomics/Tests/Xanthomonas_oryzae.aai-mat.tsv +0 -17
- data/utils/enveomics/Tests/Xanthomonas_oryzae.aai.tsv +0 -137
- data/utils/enveomics/Tests/a_mg.cds-go.blast.tsv +0 -123
- data/utils/enveomics/Tests/a_mg.reads-cds.blast.tsv +0 -200
- data/utils/enveomics/Tests/a_mg.reads-cds.counts.tsv +0 -55
- data/utils/enveomics/Tests/alkB.nwk +0 -1
- data/utils/enveomics/Tests/anthrax-cansnp-data.tsv +0 -13
- data/utils/enveomics/Tests/anthrax-cansnp-key.tsv +0 -17
- data/utils/enveomics/Tests/hiv1.faa +0 -59
- data/utils/enveomics/Tests/hiv1.fna +0 -134
- data/utils/enveomics/Tests/hiv2.faa +0 -70
- data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv +0 -233
- data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.lim +0 -1
- data/utils/enveomics/Tests/hiv_mix-hiv1.blast.tsv.rec +0 -233
- data/utils/enveomics/Tests/phyla_counts.tsv +0 -10
- data/utils/enveomics/Tests/primate_lentivirus.ogs +0 -11
- data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv1.rbm +0 -9
- data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-hiv2.rbm +0 -8
- data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv1-siv.rbm +0 -6
- data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-hiv2.rbm +0 -9
- data/utils/enveomics/Tests/primate_lentivirus.rbm/hiv2-siv.rbm +0 -6
- data/utils/enveomics/Tests/primate_lentivirus.rbm/siv-siv.rbm +0 -6
- data/utils/enveomics/build_enveomics_r.bash +0 -45
- data/utils/enveomics/enveomics.R/DESCRIPTION +0 -31
- data/utils/enveomics/enveomics.R/NAMESPACE +0 -39
- data/utils/enveomics/enveomics.R/R/autoprune.R +0 -155
- data/utils/enveomics/enveomics.R/R/barplot.R +0 -184
- data/utils/enveomics/enveomics.R/R/cliopts.R +0 -135
- data/utils/enveomics/enveomics.R/R/df2dist.R +0 -154
- data/utils/enveomics/enveomics.R/R/growthcurve.R +0 -331
- data/utils/enveomics/enveomics.R/R/recplot.R +0 -354
- data/utils/enveomics/enveomics.R/R/recplot2.R +0 -1631
- data/utils/enveomics/enveomics.R/R/tribs.R +0 -583
- data/utils/enveomics/enveomics.R/R/utils.R +0 -50
- data/utils/enveomics/enveomics.R/README.md +0 -80
- data/utils/enveomics/enveomics.R/data/growth.curves.rda +0 -0
- data/utils/enveomics/enveomics.R/data/phyla.counts.rda +0 -0
- data/utils/enveomics/enveomics.R/man/cash-enve.GrowthCurve-method.Rd +0 -17
- data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2-method.Rd +0 -17
- data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2.Peak-method.Rd +0 -17
- data/utils/enveomics/enveomics.R/man/enve.GrowthCurve-class.Rd +0 -25
- data/utils/enveomics/enveomics.R/man/enve.TRIBS-class.Rd +0 -46
- data/utils/enveomics/enveomics.R/man/enve.TRIBS.merge.Rd +0 -23
- data/utils/enveomics/enveomics.R/man/enve.TRIBStest-class.Rd +0 -47
- data/utils/enveomics/enveomics.R/man/enve.__prune.iter.Rd +0 -23
- data/utils/enveomics/enveomics.R/man/enve.__prune.reduce.Rd +0 -23
- data/utils/enveomics/enveomics.R/man/enve.__tribs.Rd +0 -32
- data/utils/enveomics/enveomics.R/man/enve.barplot.Rd +0 -91
- data/utils/enveomics/enveomics.R/man/enve.cliopts.Rd +0 -57
- data/utils/enveomics/enveomics.R/man/enve.col.alpha.Rd +0 -24
- data/utils/enveomics/enveomics.R/man/enve.col2alpha.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/enve.df2dist.Rd +0 -39
- data/utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd +0 -38
- data/utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd +0 -40
- data/utils/enveomics/enveomics.R/man/enve.growthcurve.Rd +0 -67
- data/utils/enveomics/enveomics.R/man/enve.prune.dist.Rd +0 -37
- data/utils/enveomics/enveomics.R/man/enve.recplot.Rd +0 -122
- data/utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd +0 -45
- data/utils/enveomics/enveomics.R/man/enve.recplot2.ANIr.Rd +0 -24
- data/utils/enveomics/enveomics.R/man/enve.recplot2.Rd +0 -68
- data/utils/enveomics/enveomics.R/man/enve.recplot2.__counts.Rd +0 -25
- data/utils/enveomics/enveomics.R/man/enve.recplot2.__peakHist.Rd +0 -21
- data/utils/enveomics/enveomics.R/man/enve.recplot2.__whichClosestPeak.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/enve.recplot2.changeCutoff.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd +0 -41
- data/utils/enveomics/enveomics.R/man/enve.recplot2.coordinates.Rd +0 -29
- data/utils/enveomics/enveomics.R/man/enve.recplot2.corePeak.Rd +0 -18
- data/utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd +0 -40
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd +0 -36
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_e.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_m.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__emauto_one.Rd +0 -27
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd +0 -41
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mower.Rd +0 -17
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd +0 -43
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd +0 -37
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd +0 -74
- data/utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd +0 -59
- data/utils/enveomics/enveomics.R/man/enve.recplot2.seqdepth.Rd +0 -27
- data/utils/enveomics/enveomics.R/man/enve.recplot2.windowDepthThreshold.Rd +0 -32
- data/utils/enveomics/enveomics.R/man/enve.tribs.Rd +0 -59
- data/utils/enveomics/enveomics.R/man/enve.tribs.test.Rd +0 -28
- data/utils/enveomics/enveomics.R/man/enve.truncate.Rd +0 -27
- data/utils/enveomics/enveomics.R/man/growth.curves.Rd +0 -14
- data/utils/enveomics/enveomics.R/man/phyla.counts.Rd +0 -13
- data/utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd +0 -63
- data/utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd +0 -38
- data/utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd +0 -38
- data/utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd +0 -111
- data/utils/enveomics/enveomics.R/man/summary.enve.GrowthCurve.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/summary.enve.TRIBS.Rd +0 -19
- data/utils/enveomics/enveomics.R/man/summary.enve.TRIBStest.Rd +0 -19
- data/utils/enveomics/globals.mk +0 -8
- data/utils/enveomics/manifest.json +0 -9
data/lib/miga/dataset/base.rb
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'miga/common/with_option'
|
|
3
4
|
|
|
4
5
|
class MiGA::Dataset < MiGA::MiGA
|
|
6
|
+
include MiGA::Common::WithOption
|
|
7
|
+
|
|
5
8
|
# Class-level
|
|
6
9
|
class << self
|
|
7
10
|
def RESULT_DIRS
|
|
@@ -15,6 +18,10 @@ class MiGA::Dataset < MiGA::MiGA
|
|
|
15
18
|
def PREPROCESSING_TASKS
|
|
16
19
|
@@PREPROCESSING_TASKS
|
|
17
20
|
end
|
|
21
|
+
|
|
22
|
+
def OPTIONS
|
|
23
|
+
@@OPTIONS
|
|
24
|
+
end
|
|
18
25
|
end
|
|
19
26
|
end
|
|
20
27
|
|
|
@@ -85,4 +92,15 @@ module MiGA::Dataset::Base
|
|
|
85
92
|
# tasks are ignored for single-organism datasets or for unknwon types.
|
|
86
93
|
@@ONLY_MULTI_TASKS = [:mytaxa]
|
|
87
94
|
@@_ONLY_MULTI_TASKS_H = Hash[@@ONLY_MULTI_TASKS.map { |i| [i, true] }]
|
|
95
|
+
|
|
96
|
+
##
|
|
97
|
+
# Options supported by datasets
|
|
98
|
+
@@OPTIONS = {
|
|
99
|
+
db_project: {
|
|
100
|
+
desc: 'Project to use as database', type: String
|
|
101
|
+
},
|
|
102
|
+
dist_req: {
|
|
103
|
+
desc: 'Run distances against these datasets', type: Array, default: []
|
|
104
|
+
}
|
|
105
|
+
}
|
|
88
106
|
end
|
data/lib/miga/dataset/result.rb
CHANGED
|
@@ -50,7 +50,7 @@ module MiGA::Dataset::Result
|
|
|
50
50
|
:upstream
|
|
51
51
|
elsif !metadata["run_#{task}"].nil?
|
|
52
52
|
metadata["run_#{task}"] ? :execute : :force
|
|
53
|
-
elsif task == :taxonomy && project.
|
|
53
|
+
elsif task == :taxonomy && project.option(:ref_project).nil?
|
|
54
54
|
:project
|
|
55
55
|
elsif @@_EXCLUDE_NOREF_TASKS_H[task] && !ref?
|
|
56
56
|
:noref
|
|
@@ -276,7 +276,8 @@ module MiGA::Dataset::Result
|
|
|
276
276
|
ess_genes: '.ess.faa',
|
|
277
277
|
collection: '.ess',
|
|
278
278
|
report: '.ess/log',
|
|
279
|
-
alignments: '.ess/proteins.aln'
|
|
279
|
+
alignments: '.ess/proteins.aln',
|
|
280
|
+
fastaai_index: '.faix.db.gz'
|
|
280
281
|
)
|
|
281
282
|
end
|
|
282
283
|
|
data/lib/miga/metadata.rb
CHANGED
|
@@ -56,24 +56,20 @@ class MiGA::Metadata < MiGA::MiGA
|
|
|
56
56
|
##
|
|
57
57
|
# Save the metadata into #path
|
|
58
58
|
def save
|
|
59
|
-
|
|
59
|
+
return if self[:never_save]
|
|
60
|
+
|
|
61
|
+
MiGA::MiGA.DEBUG "Metadata.save #{path}"
|
|
60
62
|
self[:updated] = Time.now.to_s
|
|
61
63
|
json = to_json
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
while File.exist?(lock_file)
|
|
65
|
-
MiGA::MiGA.DEBUG "Waiting for lock: #{lock_file}"
|
|
66
|
-
sleeper += 0.1 if sleeper <= 10.0
|
|
67
|
-
sleep(sleeper.to_i)
|
|
68
|
-
slept += sleeper.to_i
|
|
69
|
-
raise "Lock detected for over 10 minutes: #{lock_file}" if slept > 600
|
|
70
|
-
end
|
|
71
|
-
FileUtils.touch lock_file
|
|
64
|
+
wait_for_lock
|
|
65
|
+
FileUtils.touch(lock_file)
|
|
72
66
|
ofh = File.open("#{path}.tmp", 'w')
|
|
73
67
|
ofh.puts json
|
|
74
68
|
ofh.close
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
|
|
70
|
+
unless File.exist?("#{path}.tmp") && File.exist?(lock_file)
|
|
71
|
+
raise "Lock-racing detected for #{path}"
|
|
72
|
+
end
|
|
77
73
|
|
|
78
74
|
File.rename("#{path}.tmp", path)
|
|
79
75
|
File.unlink(lock_file)
|
|
@@ -154,4 +150,20 @@ class MiGA::Metadata < MiGA::MiGA
|
|
|
154
150
|
def to_json
|
|
155
151
|
MiGA::Json.generate(data)
|
|
156
152
|
end
|
|
153
|
+
|
|
154
|
+
private
|
|
155
|
+
|
|
156
|
+
##
|
|
157
|
+
# Wait for the lock to go away
|
|
158
|
+
def wait_for_lock
|
|
159
|
+
sleeper = 0.0
|
|
160
|
+
slept = 0.0
|
|
161
|
+
while File.exist?(lock_file)
|
|
162
|
+
MiGA::MiGA.DEBUG "Waiting for lock: #{lock_file}"
|
|
163
|
+
sleeper += 0.1 if sleeper <= 10.0
|
|
164
|
+
sleep(sleeper)
|
|
165
|
+
slept += sleeper
|
|
166
|
+
raise "Lock detected for over 10 minutes: #{lock_file}" if slept > 600
|
|
167
|
+
end
|
|
168
|
+
end
|
|
157
169
|
end
|
data/lib/miga/project/base.rb
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'miga/common/with_option'
|
|
3
4
|
|
|
4
5
|
class MiGA::Project < MiGA::MiGA
|
|
6
|
+
include MiGA::Common::WithOption
|
|
7
|
+
|
|
5
8
|
class << self
|
|
6
9
|
##
|
|
7
10
|
# Does the project at +path+ exist?
|
|
@@ -33,6 +36,10 @@ class MiGA::Project < MiGA::MiGA
|
|
|
33
36
|
def RESULT_DIRS
|
|
34
37
|
@@RESULT_DIRS
|
|
35
38
|
end
|
|
39
|
+
|
|
40
|
+
def OPTIONS
|
|
41
|
+
@@OPTIONS
|
|
42
|
+
end
|
|
36
43
|
end
|
|
37
44
|
end
|
|
38
45
|
|
|
@@ -108,4 +115,77 @@ module MiGA::Project::Base
|
|
|
108
115
|
##
|
|
109
116
|
# Project-wide tasks for :clade projects
|
|
110
117
|
@@INCLADE_TASKS = [:subclades, :ogs]
|
|
118
|
+
|
|
119
|
+
##
|
|
120
|
+
# Options supported by projects
|
|
121
|
+
@@OPTIONS = {
|
|
122
|
+
ref_project: {
|
|
123
|
+
desc: 'Project with reference taxonomy', type: String
|
|
124
|
+
},
|
|
125
|
+
db_proj_dir: {
|
|
126
|
+
desc: 'Directory containing database projects', type: String
|
|
127
|
+
},
|
|
128
|
+
tax_pvalue: {
|
|
129
|
+
desc: 'Maximum p-value to transfer taxonomy', default: 0.05, type: Float,
|
|
130
|
+
in: 0.0..1.0
|
|
131
|
+
},
|
|
132
|
+
haai_p: {
|
|
133
|
+
desc: 'Value of aai.rb -p on hAAI', type: String,
|
|
134
|
+
default: proc { |project| project.clade? ? 'no' : 'blast+' },
|
|
135
|
+
in: %w[fastaai blast+ blast blat diamond no]
|
|
136
|
+
},
|
|
137
|
+
aai_p: {
|
|
138
|
+
desc: 'Value of aai.rb -p on AAI', default: 'blast+', type: String,
|
|
139
|
+
in: %w[blast+ blast blat diamond]
|
|
140
|
+
},
|
|
141
|
+
ani_p: {
|
|
142
|
+
desc: 'Value of ani.rb -p on ANI', default: 'blast+', type: String,
|
|
143
|
+
in: %w[blast+ blast blat fastani]
|
|
144
|
+
},
|
|
145
|
+
max_try: {
|
|
146
|
+
desc: 'Maximum number of task attempts', default: 10, type: Integer,
|
|
147
|
+
in: (0..1000)
|
|
148
|
+
},
|
|
149
|
+
aai_save_rbm: {
|
|
150
|
+
desc: 'Should RBMs be saved for OGS analysis?',
|
|
151
|
+
default: proc { |project| project.clade? },
|
|
152
|
+
in: [true, false]
|
|
153
|
+
},
|
|
154
|
+
ogs_identity: {
|
|
155
|
+
desc: 'Min RBM identity for OGS', default: 80.0, type: Float,
|
|
156
|
+
in: (0.0..100.0)
|
|
157
|
+
},
|
|
158
|
+
clean_ogs: {
|
|
159
|
+
desc: 'If false, keeps ABC files (clades only)', default: true,
|
|
160
|
+
in: [true, false]
|
|
161
|
+
},
|
|
162
|
+
run_clades: {
|
|
163
|
+
desc: 'Should clades be estimated from distances?', default: true,
|
|
164
|
+
in: [true, false]
|
|
165
|
+
},
|
|
166
|
+
gsp_ani: {
|
|
167
|
+
desc: 'ANI limit to propose gsp clades', default: 95.0, type: Float,
|
|
168
|
+
in: (0.0..100.0)
|
|
169
|
+
},
|
|
170
|
+
gsp_aai: {
|
|
171
|
+
desc: 'AAI limit to propose gsp clades', default: 90.0, type: Float,
|
|
172
|
+
in: (0.0..100.0)
|
|
173
|
+
},
|
|
174
|
+
gsp_metric: {
|
|
175
|
+
desc: 'Metric to propose clades', default: 'ani', type: String,
|
|
176
|
+
in: %w[ani aai]
|
|
177
|
+
},
|
|
178
|
+
ess_coll: {
|
|
179
|
+
desc: 'Collection of essential genes to use', default: 'dupont_2012',
|
|
180
|
+
type: String, in: %w[dupont_2012 lee_2019]
|
|
181
|
+
},
|
|
182
|
+
min_qual: {
|
|
183
|
+
desc: 'Minimum genome quality', default: 25.0, type: Float,
|
|
184
|
+
in: -Float::INFINITY..100.0, tokens: %w[no]
|
|
185
|
+
},
|
|
186
|
+
distances_checkpoint: {
|
|
187
|
+
desc: 'Number of comparisons before storing data', default: 10,
|
|
188
|
+
type: Integer, in: 1...Float::INFINITY
|
|
189
|
+
}
|
|
190
|
+
}
|
|
111
191
|
end
|
data/lib/miga/project/result.rb
CHANGED
|
@@ -31,9 +31,9 @@ module MiGA::Project::Result
|
|
|
31
31
|
##
|
|
32
32
|
# Is this +task+ to be bypassed?
|
|
33
33
|
def ignore_task?(task)
|
|
34
|
-
metadata["run_#{task}"] == false
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
return true if metadata["run_#{task}"] == false
|
|
35
|
+
|
|
36
|
+
!clade? && @@INCLADE_TASKS.include?(task) && metadata["run_#{task}"] != true
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
##
|
|
@@ -74,7 +74,7 @@ module MiGA::Project::Result
|
|
|
74
74
|
return r
|
|
75
75
|
end
|
|
76
76
|
return nil unless result_files_exist?(base, %w[.proposed-clades])
|
|
77
|
-
unless
|
|
77
|
+
unless clade? ||
|
|
78
78
|
result_files_exist?(
|
|
79
79
|
base, %w[.pdf .classif .medoids .class.tsv .class.nwk]
|
|
80
80
|
)
|
data/lib/miga/result.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
# @license Artistic-2.0
|
|
1
|
+
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
require 'miga/result/dates'
|
|
5
4
|
require 'miga/result/source'
|
|
@@ -29,13 +28,17 @@ class MiGA::Result < MiGA::MiGA
|
|
|
29
28
|
MiGA::Result.new(path)
|
|
30
29
|
end
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
##
|
|
32
|
+
# Check if +path+ describes a result and otherwise create
|
|
33
|
+
# it using the passed block. If +force+, ignore existing
|
|
34
|
+
# JSON in +path+ if any.
|
|
35
|
+
def create(path, force = false)
|
|
33
36
|
FileUtils.rm(path) if force && File.exist?(path)
|
|
34
|
-
r_pre =
|
|
37
|
+
r_pre = load(path)
|
|
35
38
|
return r_pre unless r_pre.nil?
|
|
36
39
|
|
|
37
40
|
yield
|
|
38
|
-
|
|
41
|
+
load(path)
|
|
39
42
|
end
|
|
40
43
|
end
|
|
41
44
|
|
|
@@ -49,7 +52,7 @@ class MiGA::Result < MiGA::MiGA
|
|
|
49
52
|
# Load or create the MiGA::Result described by the JSON file +path+
|
|
50
53
|
def initialize(path)
|
|
51
54
|
@path = File.absolute_path(path)
|
|
52
|
-
MiGA::Result.exist?(@path) ?
|
|
55
|
+
MiGA::Result.exist?(@path) ? load : create
|
|
53
56
|
end
|
|
54
57
|
|
|
55
58
|
##
|
|
@@ -162,7 +165,7 @@ class MiGA::Result < MiGA::MiGA
|
|
|
162
165
|
File.unlink s
|
|
163
166
|
end
|
|
164
167
|
MiGA::Json.generate(data, path)
|
|
165
|
-
|
|
168
|
+
load
|
|
166
169
|
end
|
|
167
170
|
|
|
168
171
|
##
|
|
@@ -182,10 +185,9 @@ class MiGA::Result < MiGA::MiGA
|
|
|
182
185
|
# Unlink result by removing the .done and .start timestamps and the
|
|
183
186
|
# .json descriptor, but don't remove any other associated files
|
|
184
187
|
def unlink
|
|
185
|
-
%i
|
|
186
|
-
f = path(i) and File.
|
|
188
|
+
%i[start done json].each do |i|
|
|
189
|
+
f = path(i) and File.exist?(f) and File.unlink(f)
|
|
187
190
|
end
|
|
188
|
-
File.unlink path
|
|
189
191
|
end
|
|
190
192
|
|
|
191
193
|
##
|
|
@@ -201,13 +203,14 @@ class MiGA::Result < MiGA::MiGA
|
|
|
201
203
|
|
|
202
204
|
@data[:files] ||= {}
|
|
203
205
|
self[:files].each do |k, files|
|
|
204
|
-
files = [files] unless files.
|
|
206
|
+
files = [files] unless files.is_a? Array
|
|
205
207
|
files.each do |file|
|
|
206
208
|
case blk.arity
|
|
207
|
-
when 1
|
|
208
|
-
when 2
|
|
209
|
-
when 3
|
|
210
|
-
else
|
|
209
|
+
when 1 then blk.call(file)
|
|
210
|
+
when 2 then blk.call(k, file)
|
|
211
|
+
when 3 then blk.call(k, file, File.expand_path(file, dir))
|
|
212
|
+
else
|
|
213
|
+
raise "Wrong number of arguments: #{blk.arity} for 1..3"
|
|
211
214
|
end
|
|
212
215
|
end
|
|
213
216
|
end
|
data/lib/miga/result/stats.rb
CHANGED
|
@@ -118,7 +118,7 @@ module MiGA::Result::Stats
|
|
|
118
118
|
|
|
119
119
|
def compute_stats_essential_genes
|
|
120
120
|
stats = {}
|
|
121
|
-
if source.
|
|
121
|
+
if source.multi?
|
|
122
122
|
stats = { median_copies: 0, mean_copies: 0 }
|
|
123
123
|
File.open(file_path(:report), 'r') do |fh|
|
|
124
124
|
fh.each_line do |ln|
|
|
@@ -151,7 +151,7 @@ module MiGA::Result::Stats
|
|
|
151
151
|
source.save
|
|
152
152
|
|
|
153
153
|
# Inactivate low-quality datasets
|
|
154
|
-
min_qual =
|
|
154
|
+
min_qual = project.option(:min_qual)
|
|
155
155
|
if min_qual != 'no' && stats[:quality] < min_qual
|
|
156
156
|
source.inactivate! 'Low quality genome'
|
|
157
157
|
end
|
data/lib/miga/version.rb
CHANGED
|
@@ -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.7,
|
|
13
|
+
VERSION = [0.7, 25, 3].freeze
|
|
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(2021, 2,
|
|
21
|
+
VERSION_DATE = Date.new(2021, 2, 26)
|
|
22
22
|
|
|
23
23
|
##
|
|
24
24
|
# Reference of MiGA.
|
|
@@ -24,18 +24,33 @@ fi
|
|
|
24
24
|
mkdir "${DATASET}.ess"
|
|
25
25
|
TYPE=$(miga ls -P "$PROJECT" -D "$DATASET" \
|
|
26
26
|
--metadata "type" | awk '{print $2}')
|
|
27
|
-
COLL=$(miga
|
|
28
|
-
[[ "$COLL" == "?" ]] && COLL=dupont_2012
|
|
27
|
+
COLL=$(miga option -P "$PROJECT" --key ess_coll)
|
|
29
28
|
if [[ "$TYPE" == "metagenome" || "$TYPE" == "virome" ]] ; then
|
|
30
29
|
FLAGS="--metagenome"
|
|
31
30
|
else
|
|
32
|
-
FLAGS="
|
|
31
|
+
FLAGS=""
|
|
33
32
|
fi
|
|
34
33
|
HMM.essential.rb \
|
|
35
34
|
-i "$FAA" -o "${DATASET}.ess.faa" -m "${DATASET}.ess/" \
|
|
36
35
|
-t "$CORES" -r "$DATASET" --collection "$COLL" $FLAGS \
|
|
37
36
|
> "${DATASET}.ess/log"
|
|
38
37
|
|
|
38
|
+
# Index for FastAAI
|
|
39
|
+
NOMULTI=$(miga list_datasets -P "$PROJECT" -D "$DATASET" --no-multi \
|
|
40
|
+
| wc -l | awk '{print $1}')
|
|
41
|
+
if [[ "$NOMULTI" -eq "1" ]] ; then
|
|
42
|
+
if [[ "$FAA" == *.gz ]] ; then
|
|
43
|
+
gzip -cd "$FAA" > "${DATASET}.faix"
|
|
44
|
+
else
|
|
45
|
+
cp "$FAA" "${DATASET}.faix"
|
|
46
|
+
fi
|
|
47
|
+
FastAAI --qp "${DATASET}.faix" --output "${DATASET}.faix" \
|
|
48
|
+
--ext ".faix" --index --input-paths --all-vs-all --threads "$CORES"
|
|
49
|
+
rm "${DATASET}.faix"
|
|
50
|
+
rm "${DATASET}.faix.hmm"
|
|
51
|
+
rm "${DATASET}.faix.hmm.filt"
|
|
52
|
+
fi
|
|
53
|
+
|
|
39
54
|
# Reduce files
|
|
40
55
|
if exists "$DATASET".ess/*.faa ; then
|
|
41
56
|
( cd "${DATASET}.ess" \
|
data/scripts/miga.bash
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Setup environment
|
|
2
4
|
set -e
|
|
3
|
-
#MIGA=${MIGA:-$(cd "$(dirname "$0")/.."; pwd)}
|
|
4
5
|
MIGA_HOME=${MIGA_HOME:-"$HOME"}
|
|
6
|
+
SCRIPT=${SCRIPT:-$(basename "$0" .bash)}
|
|
5
7
|
# shellcheck source=/dev/null
|
|
6
8
|
. "$MIGA_HOME/.miga_rc"
|
|
9
|
+
|
|
10
|
+
# Ensure submodules are first in PATH
|
|
7
11
|
export PATH="$MIGA/bin:$MIGA/utils/enveomics/Scripts:$PATH"
|
|
8
|
-
|
|
12
|
+
export PATH="$MIGA/utils/FastAAI/FastAAI:$PATH"
|
|
9
13
|
|
|
14
|
+
# Ancillary functions
|
|
10
15
|
function exists { [[ -e "$1" ]] ; }
|
|
11
16
|
function fx_exists { [[ $(type -t "$1") == "function" ]] ; }
|
|
12
17
|
function miga_start_project_step {
|
|
@@ -28,6 +33,7 @@ function miga_end_project_step {
|
|
|
28
33
|
miga add_result -P "$PROJECT" -r "$SCRIPT" -f
|
|
29
34
|
}
|
|
30
35
|
|
|
36
|
+
# Environment header
|
|
31
37
|
if [[ "$SCRIPT" != "d" && "$SCRIPT" != "p" ]] ; then
|
|
32
38
|
echo ""
|
|
33
39
|
echo "######[ $SCRIPT ]######"
|
data/scripts/ogs.bash
CHANGED
|
@@ -12,8 +12,7 @@ miga_start_project_step "$DIR"
|
|
|
12
12
|
DS=$(miga ls -P "$PROJECT" --ref --no-multi)
|
|
13
13
|
|
|
14
14
|
if [[ -n $DS ]] ; then
|
|
15
|
-
MIN_ID=$(miga
|
|
16
|
-
[[ $MIN_ID == "?" ]] && MIN_ID=80
|
|
15
|
+
MIN_ID=$(miga option -P "$PROJECT" --key ogs_identity)
|
|
17
16
|
if [[ ! -s miga-project.ogs ]] ; then
|
|
18
17
|
# Extract RBMs
|
|
19
18
|
if [[ ! -s miga-project.abc ]] ; then
|
|
@@ -34,7 +33,7 @@ if [[ -n $DS ]] ; then
|
|
|
34
33
|
|
|
35
34
|
# Estimate OGs and Clean RBMs
|
|
36
35
|
ogs.mcl.rb -o miga-project.ogs --abc miga-project.abc -t "$CORES"
|
|
37
|
-
if [[ $(miga
|
|
36
|
+
if [[ $(miga option -P "$PROJECT" --key clean_ogs) == "false" ]] ; then
|
|
38
37
|
gzip -9 miga-project.abc
|
|
39
38
|
else
|
|
40
39
|
rm miga-project.abc
|
data/test/dataset_test.rb
CHANGED
|
@@ -29,7 +29,7 @@ class DatasetTest < Test::Unit::TestCase
|
|
|
29
29
|
assert_raise { MiGA::Dataset.new(project, 'dataset-1') }
|
|
30
30
|
assert_equal(project, dataset.project)
|
|
31
31
|
assert_equal('dataset0', dataset.name)
|
|
32
|
-
assert_predicate(dataset, :
|
|
32
|
+
assert_predicate(dataset, :ref?)
|
|
33
33
|
assert_equal(MiGA::Metadata, dataset.metadata.class)
|
|
34
34
|
assert_equal(:incomplete, dataset.status)
|
|
35
35
|
end
|
|
@@ -38,14 +38,14 @@ class DatasetTest < Test::Unit::TestCase
|
|
|
38
38
|
d2 = project.add_dataset('ds_save')
|
|
39
39
|
assert_respond_to(d2, :save)
|
|
40
40
|
d2.save
|
|
41
|
-
assert_not_predicate(d2, :
|
|
42
|
-
assert_not_predicate(d2, :
|
|
41
|
+
assert_not_predicate(d2, :multi?)
|
|
42
|
+
assert_not_predicate(d2, :nonmulti?)
|
|
43
43
|
assert_nil(d2.metadata[:type])
|
|
44
44
|
d2.metadata[:type] = :metagenome
|
|
45
45
|
d2.save
|
|
46
46
|
assert_equal(:metagenome, d2.metadata[:type])
|
|
47
|
-
assert_predicate(d2, :
|
|
48
|
-
assert_not_predicate(d2, :
|
|
47
|
+
assert_predicate(d2, :multi?)
|
|
48
|
+
assert_not_predicate(d2, :nonmulti?)
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def test_remove
|