Repository 'metadegalaxy_phyloseq_richness'
hg clone https://toolshed.g2.bx.psu.edu/repos/qfabrepo/metadegalaxy_phyloseq_richness

Changeset 0:0ab4501d805b (2020-09-14)
Next changeset 1:e0225f3e8ef6 (2020-09-15)
Commit message:
"planemo upload for repository https://github.com/QFAB-Bioinformatics/metaDEGalaxy/tree/master/phyloseq_richness commit a8245efa0d80103939285565948beaf8dfb88a73"
added:
phyloseq_richness.r
phyloseq_richness.xml
test-data/GP.biom
test-data/biom_out.html
test-data/count.txt
test-data/metadata.txt
test-data/observation.txt
test-data/test.biom
b
diff -r 000000000000 -r 0ab4501d805b phyloseq_richness.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phyloseq_richness.r Mon Sep 14 07:38:57 2020 +0000
[
@@ -0,0 +1,83 @@
+library('getopt')
+suppressPackageStartupMessages(library('phyloseq'))
+Sys.setenv("DISPLAY"=":1")
+
+options(warn=-1)
+option_specification = matrix(c(
+   'biomfile','b',2,'character',
+   'metafile','m',2,'character',
+     'xcolumn','x',2,'numeric',
+     'lcolumn','l',2,'numeric',
+     'outdir','o',2,'character',
+   'htmlfile','h',2,'character'
+),byrow=TRUE,ncol=4);
+
+
+options <- getopt(option_specification);
+options(bitmapType="cairo")

+
+if (!is.null(options$outdir)) {
+  # Create the directory
+  dir.create(options$outdir,FALSE)
+}
+
+
+galaxy_biom <- import_biom(options$biomfile)
+galaxy_map <- import_qiime_sample_data(options$metafile)
+tax_col_norm <- c("Kingdom","Phylum","Class","Order","Family","Genus","Species")
+tax_col_extra <- c("None","Kingdom","Phylum","Class","Order","Family","Genus","Species")
+
+number.of.tax.rank<-length(colnames(tax_table(galaxy_biom)))
+
+if( number.of.tax.rank == 7){
+colnames(tax_table(galaxy_biom)) <- tax_col_norm
+}else{
+colnames(tax_table(galaxy_biom)) <- tax_col_extra
+}
+
+
+AIP_galaxy <- merge_phyloseq(galaxy_biom,galaxy_map)
+
+
+x.selectedColumn<-colnames(galaxy_map)[options$xcolumn]
+l.selectedColumn<-colnames(galaxy_map)[options$lcolumn]
+
+
+
+
+pdffile <- gsub("[ ]+", "", paste(options$outdir,"/pdffile.pdf"))
+pngfile_richness <- gsub("[ ]+", "", paste(options$outdir,"/richness.png"))
+htmlfile <- gsub("[ ]+", "", paste(options$htmlfile))
+
+
+# Produce PDF file
+pdf(pdffile);
+plot_richness(AIP_galaxy,measures=c("Observed"),color=l.selectedColumn,x=x.selectedColumn)
+garbage<-dev.off();
+
+#png('richness.png')
+bitmap(pngfile_richness,"png16m")
+plot_richness(AIP_galaxy,measures=c("Observed"),color=l.selectedColumn,x=x.selectedColumn)
+garbage<-dev.off()
+
+# Produce the HTML file
+htmlfile_handle <- file(htmlfile)
+html_output = c('<html><body>',
+             '<table align="center">',
+         '<tr>',
+         '<td valign="middle" style="vertical-align:middle;">',
+                '<a href="pdffile.pdf"><img src="richness.png"/></a>',
+         '</td>',
+         '</tr>',
+         '</table>',
+         '<table align="center>',
+ '<tr>',
+ '<td valign="middle" style="vertical-align:middle;">',
+                '<a href="pdffile.pdf"><img src="richness.png"/></a>',
+ '</td>',
+ '</tr>',
+ '</table>',
+                '</html></body>');
+writeLines(html_output, htmlfile_handle);
+close(htmlfile_handle);
b
diff -r 000000000000 -r 0ab4501d805b phyloseq_richness.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phyloseq_richness.xml Mon Sep 14 07:38:57 2020 +0000
[
@@ -0,0 +1,79 @@
+<tool id="phyloseq_richness" name="Phyloseq Richness" version="1.22.3.2" hidden="false">
+  <description>Phyloseq Richness Plot</description>
+     <requirements>
+          <requirement type="package" version="1.22.3">bioconductor-phyloseq</requirement>
+  <requirement type="package" version="1.20.0">r-getopt</requirement>
+  <requirement type="package" version="9.18">ghostscript</requirement>
+ </requirements>
+ <version_command><![CDATA[
+ echo $(R --version | grep version | grep -v GNU)", phyloseq version" $(R --vanilla --slave -e "library(phyloseq); cat(sessionInfo()\$otherPkgs\$phyloseq\$Version)" 2> /dev/null | grep -v -i "WARNING: ")
+ ]]></version_command>
+  <command detect_errors="exit_code"><![CDATA[
+        Rscript '${__tool_directory__}/phyloseq_richness.r' 
+ --biomfile='$biom_input' 
+ --metafile='$metadata_input' 
+ --xcolumn="${xaxis_column}" 
+ --lcolumn="${legend_column}" 
+ --outdir="$htmlfile.files_path" 
+ --htmlfile='$htmlfile'
+  ]]></command>

+  <inputs>
+    <param format="biom1" name="biom_input" type="data" label="BIOM file"/>
+    <param format="tabular" name="metadata_input" type="data" label="Metadata file"/>
+    <param name="xaxis_column" type="data_column" data_ref="metadata_input" use_header_names="TRUE" label="Column used for X-axis"/>
+    <param name="legend_column" type="data_column" data_ref="metadata_input" use_header_names="TRUE" label="Column used as legend"/>
+  </inputs>

+  <outputs>
+        <data format="html" name="htmlfile" label="${tool.name}.html"/>
+  </outputs>
+
+ <tests>
+  <test>
+ <param name="biom_input" value="test.biom" ftype="biom1" />
+ <param name="metadata_input" value="metadata.txt"  />
+ <param name="xaxis_column" value="5" />
+ <param name="legend_column" value="4" />
+ <output name="htmlfile" ftype="html" file="biom_out.html" />
+ </test>
+ </tests>
+
+
+  <help>
+**What it does**
+Creates an alpha biodivesrsity abundance plot using an R package called phyloseq_.
+
+.. _phyloseq: https://joey711.github.io/phyloseq/plot_richness-examples.html
+
+-----
+
+**Input**
+
+
+- **BIOM file** - this is a BIOM_ file format
+- **Metadata file** - this is a metadata file of the experiment design
+- **Column used for X-axis** - The horizontal x-axis display on the barplot.
+- **Column used as legend** - select a group from the metadata to fill color to represent the group it belongs to.
+
+.. _BIOM: http://biom-format.org/
+
+-----
+
+=========
+Resources
+=========
+
+**Wrapper Authors**
+
+QFAB Bioinformatics (support@qfab.org)

+  </help>
+    <citations>
+     <citation type="doi">10.18129/B9.bioc.phyloseq</citation>
+ <citation type="doi">doi:10.1186/2047-217X-1-7</citation>
+ </citations>
+ -----

+  </help>
+</tool>
b
diff -r 000000000000 -r 0ab4501d805b test-data/GP.biom
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/GP.biom Mon Sep 14 07:38:57 2020 +0000
[
b'@@ -0,0 +1,1 @@\n+{"id":{},"format":["Biological Observation Matrix 1.0.0-dev"],"format_url":["http://biom-format.org/documentation/format_versions/biom-1.0.html"],"type":["OTU table"],"generated_by":["metagenomeSeq 1.20.1"],"date":["2018-06-01 01:30:56"],"matrix_type":["dense"],"matrix_element_type":["int"],"shape":[19216,26],"rows":[{"id":["549322"],"metadata":{"taxonomy":["549322","Archaea","Crenarchaeota","Thermoprotei"]}},{"id":["522457"],"metadata":{"taxonomy":["522457","Archaea","Crenarchaeota","Thermoprotei"]}},{"id":["951"],"metadata":{"taxonomy":["951","Archaea","Crenarchaeota","Thermoprotei","Sulfolobales","Sulfolobaceae","Sulfolobus","Sulfolobusacidocaldarius"]}},{"id":["244423"],"metadata":{"taxonomy":["244423","Archaea","Crenarchaeota"]}},{"id":["586076"],"metadata":{"taxonomy":["586076","Archaea","Crenarchaeota"]}},{"id":["246140"],"metadata":{"taxonomy":["246140","Archaea","Crenarchaeota"]}},{"id":["143239"],"metadata":{"taxonomy":["143239","Archaea","Crenarchaeota"]}},{"id":["244960"],"metadata":{"taxonomy":["244960","Archaea","Crenarchaeota"]}},{"id":["255340"],"metadata":{"taxonomy":["255340","Archaea","Crenarchaeota"]}},{"id":["144887"],"metadata":{"taxonomy":["144887","Archaea","Crenarchaeota"]}},{"id":["141782"],"metadata":{"taxonomy":["141782","Archaea","Crenarchaeota"]}},{"id":["215972"],"metadata":{"taxonomy":["215972","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","SAGMA-X"]}},{"id":["31759"],"metadata":{"taxonomy":["31759","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","SAGMA-X"]}},{"id":["30678"],"metadata":{"taxonomy":["30678","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","SAGMA-X"]}},{"id":["138353"],"metadata":{"taxonomy":["138353","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["406058"],"metadata":{"taxonomy":["406058","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["30405"],"metadata":{"taxonomy":["30405","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["1126"],"metadata":{"taxonomy":["1126","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["46043"],"metadata":{"taxonomy":["46043","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["512519"],"metadata":{"taxonomy":["512519","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["554594"],"metadata":{"taxonomy":["554594","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["210741"],"metadata":{"taxonomy":["210741","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["550229"],"metadata":{"taxonomy":["550229","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["105798"],"metadata":{"taxonomy":["105798","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["183473"],"metadata":{"taxonomy":["183473","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["541313"],"metadata":{"taxonomy":["541313","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["540305"],"metadata":{"taxonomy":["540305","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["511243"],"metadata":{"taxonomy":["511243","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["568829"],"metadata":{"taxonomy":["568829","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["185612"],"metadata":{"taxonomy":["185612","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["321018"],"metadata":{"taxonomy":["321018","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae"]}},{"id":["549041"],"metadata":{"taxonomy":["549041","Archaea","Crenarchaeota","Thaumarchaeota","Cenarchaeales","Cenarchaeaceae","Cenarchaeu'..b',0,0,0,0,0,0,0],[0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1],[14,18,6,2,2,0,0,0,8,0,3,2,26,4,1,0,5,5,20,3,68,10,1,8414,7078,7436],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,17,12,6],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,2],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,5,8],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,6,4,2],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,11,8,6],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,0,0,0,0,0],[0,3,0,0,0,1,0,0,0,0,0,0,3,6,12,0,0,0,0,1,3,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[1,10,0,0,0,0,0,0,0,0,0,1,14,37,58,0,0,0,0,3,4,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0],[1,0,0,11,56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],[0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,395,243,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,128,4,180,119,7,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1],[0,0,0,89,2,0,7,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,3,14,5,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,3,0,0,0,0,0,0,0,0,0,0,6,10,9,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],[0,2,0,0,0,0,0,0,0,0,0,0,5,3,5,0,0,0,0,0,3,0,0,0,0,0],[0,1,0,0,0,0,11,6,0,0,0,0,4,10,5,0,0,0,0,3,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,5,8,4,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,11,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0],[0,0,0,0,0,72,12,0,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,129,1,75,4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,1,13,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,76,2,1,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,5,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,169,7,3,0,0,0,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,272,85,5,15,279,5,3,0,1,2,0,0,1,0,0,0,0,0,1,0,0],[12,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 0ab4501d805b test-data/biom_out.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/biom_out.html Mon Sep 14 07:38:57 2020 +0000
b
@@ -0,0 +1,9 @@
+<html><body>
+<table align="center">
+<tr>
+<td valign="middle" style="vertical-align:middle;">
+<a href="pdffile.pdf"><img src="richness.png"/></a>
+</td>
+</tr>
+</table>
+</html></body>
b
diff -r 000000000000 -r 0ab4501d805b test-data/count.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/count.txt Mon Sep 14 07:38:57 2020 +0000
b
b'@@ -0,0 +1,3359 @@\n+OTUID\tF3D147\tF3D0\tF3D7\tF3D6\tF3D1\tF3D144\tF3D148\tF3D149\tF3D2\tF3D141\tF3D146\tF3D9\tF3D142\tF3D145\tF3D8\tF3D3\tF3D143\tF3D5\n+297768\t1314\t354\t519\t707\t359\t300\t794\t832\t1721\t379\t236\t431\t327.366656200031\t525\t355\t651\t176\t274\n+794170\t297\t107\t69\t104\t30\t80\t199\t169\t100\t64\t54\t67\t65.4733312400061\t126\t62\t59\t58\t35\n+345662\t806\t44\t176\t201\t71\t159\t415\t448\t437\t164\t114\t143\t88.3370342127067\t198\t109\t313\t99\t170\n+182733\t13\t3\t6\t8\t3\t6\t7\t17\t14\t3\t2\t6\t4.15703690412737\t12\t1\t14\t5\t3\n+328698\t872\t424\t415\t551\t220\t273\t584\t702\t1143\t313\t235\t472\t156.928143130808\t487\t332\t442\t192\t264\n+789537\t515\t55\t9\t13\t10\t57\t263\t209\t38\t84\t61\t9\t29.0992583288916\t105\t5\t16\t36\t19\n+835517\t2\t0\t0\t0\t0\t1\t2\t1\t0\t0\t0\t0\t0\t3\t0\t0\t2\t0\n+768418\t121\t26\t35\t39\t5\t36\t53\t68\t73\t28\t27\t29\t20.7851845206369\t64\t16\t42\t22\t19\n+271934\t21\t116\t0\t0\t0\t5\t29\t8\t2\t5\t1\t0\t4.15703690412737\t14\t0\t0\t2\t1\n+4484676\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t1\t0\t0\t0\n+263472\t1344\t517\t597\t931\t363\t368\t772\t805\t3225\t397\t284\t457\t255.657769603833\t563\t235\t890\t194\t283\n+715297\t5\t0\t0\t1\t0\t1\t1\t2\t2\t0\t0\t1\t3.11777767809553\t0\t1\t2\t1\t1\n+335523\t573\t176\t545\t531\t139\t146\t532\t484\t382\t208\t202\t649\t227.597770500974\t380\t580\t471\t127\t151\n+802273\t0\t5\t2\t13\t30\t3\t8\t11\t76\t3\t8\t25\t1.03925922603184\t7\t29\t6\t4\t10\n+231806\t1173\t468\t6\t12\t36\t354\t866\t648\t113\t320\t269\t2\t180.831105329541\t463\t1\t22\t222\t19\n+262166\t94\t11\t12\t16\t1\t19\t54\t45\t21\t11\t26\t4\t4.15703690412737\t22\t2\t14\t11\t6\n+201490\t319\t81\t1\t1\t0\t113\t283\t180\t17\t107\t37\t1\t53.002220527624\t120\t6\t25\t36\t36\n+784569\t140\t49\t98\t366\t109\t12\t12\t73\t290\t10\t4\t148\t98.7296264730251\t24\t126\t85\t37\t46\n+1051764\t301\t168\t309\t263\t110\t180\t228\t318\t688\t145\t103\t229\t84.1799973085793\t262\t213\t335\t80\t231\n+641881\t0\t21\t13\t14\t93\t0\t0\t1\t173\t0\t1\t67\t0\t0\t66\t5\t0\t8\n+764495\t0\t0\t0\t0\t2\t0\t0\t0\t1\t0\t0\t1\t0\t0\t1\t0\t0\t0\n+611419\t15\t54\t13\t40\t147\t4\t19\t25\t285\t8\t17\t57\t1.03925922603184\t3\t25\t13\t1\t35\n+1116652\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\n+794112\t1112\t437\t292\t391\t66\t343\t906\t913\t460\t510\t397\t199\t164.202957713031\t561\t146\t191\t230\t158\n+793544\t26\t26\t11\t45\t43\t14\t13\t42\t131\t8\t36\t62\t3.11777767809553\t13\t41\t17\t11\t40\n+608864\t20\t29\t7\t39\t31\t1\t2\t8\t100\t2\t4\t79\t4.15703690412737\t0\t37\t7\t1\t30\n+793598\t14\t20\t2\t9\t17\t2\t20\t55\t48\t13\t15\t6\t2.07851845206369\t5\t12\t5\t4\t5\n+229622\t98\t179\t249\t268\t197\t44\t590\t600\t1347\t346\t73\t458\t88.3370342127067\t145\t303\t434\t102\t210\n+752203\t2\t10\t0\t5\t6\t1\t1\t4\t7\t0\t5\t4\t0\t1\t3\t3\t0\t2\n+768762\t17\t29\t6\t17\t30\t2\t46\t31\t21\t43\t27\t26\t3.11777767809553\t11\t23\t3\t26\t16\n+803937\t10\t5\t5\t22\t70\t1\t14\t31\t48\t7\t8\t25\t0\t1\t16\t10\t1\t46\n+194043\t89\t14\t0\t1\t0\t29\t45\t33\t2\t17\t19\t0\t11.4318514863503\t44\t0\t2\t15\t0\n+126968\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+636535\t58\t69\t29\t46\t259\t11\t37\t31\t312\t26\t23\t75\t9.35333303428659\t11\t31\t44\t7\t68\n+783396\t764\t248\t160\t250\t83\t207\t507\t492\t297\t214\t199\t197\t138.221477062235\t352\t113\t144\t135\t106\n+315669\t1\t1\t0\t0\t2\t0\t3\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+795920\t31\t66\t47\t101\t93\t2\t6\t5\t181\t2\t31\t49\t4.15703690412737\t6\t39\t13\t1\t47\n+565140\t445\t17\t9\t43\t103\t244\t386\t475\t51\t159\t170\t24\t39.49185058921\t312\t16\t155\t70\t53\n+2096434\t32\t26\t0\t0\t0\t21\t82\t28\t5\t16\t3\t0\t28.0599991028598\t6\t0\t16\t11\t0\n+732155\t1\t89\t8\t16\t12\t9\t9\t10\t40\t22\t3\t13\t3.11777767809553\t4\t17\t6\t5\t10\n+216524\t45\t13\t0\t0\t2\t18\t32\t29\t2\t15\t17\t0\t3.11777767809553\t25\t0\t0\t11\t0\n+781109\t0\t1\t1\t1\t2\t0\t0\t0\t1\t0\t0\t2\t0\t0\t2\t0\t0\t1\n+790211\t3\t54\t11\t38\t46\t0\t1\t8\t83\t3\t5\t11\t2.07851845206369\t3\t7\t12\t0\t19\n+453937\t530\t211\t4\t4\t36\t142\t410\t294\t38\t140\t144\t3\t98.7296264730251\t241\t0\t5\t103\t4\n+214906\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+273631\t12\t70\t9\t48\t69\t15\t8\t41\t78\t20\t21\t41\t6.23555535619106\t13\t30\t6\t11\t40\n+795350\t5\t14\t1\t12\t7\t0\t2\t13\t21\t1\t3\t3\t2.07851845206369\t1\t9\t5\t3\t4\n+208402\t71\t16\t24\t30\t9\t20\t43\t33\t92\t17\t15\t12\t20.7851845206369\t24\t7\t26\t14\t11\n+367519\t0\t9\t0\t0\t0\t0\t0\t0\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+796269\t7\t4\t1\t2\t3\t1\t0\t7\t5\t0\t3\t4\t0\t0\t0\t1\t0\t3\n+724472\t33\t5\t1\t10\t9\t4\t16\t15\t22\t9\t1\t7\t7.2748145822229\t10\t5\t4\t6\t4\n+190916\t663\t156\t64\t80\t49\t136\t359\t229\t210\t147\t102\t35\t114.318514863503\t271\t20\t87\t62\t91\n+4406374\t6\t1\t0\t3\t0\t0\t16\t9\t0\t3\t2\t1\t4.15703690412737\t4\t1\t0\t2\t0\n+4444771\t42\t68\t39\t76\t110\t6\t56\t4\t441\t6\t3\t43\t7.2748145822229\t5\t21\t414\t4\t19\n+289443\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+744185\t40\t8\t5\t6\t20\t4\t28\t46\t61\t12\t9\t14\t2.07851845206369\t3\t11\t2\t11\t6\n+309960\t0\t0\t0\t0\t0\t0\t1'..b'\t0\t0\t0\t0\n+236514\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\n+846319\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+258852\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t1\n+769488\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+275657\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1075919\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+348748\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+331965\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+306201\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\n+695966\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+227787\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1101746\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+275931\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+261212\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+449877\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\n+702183\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\n+183578\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+453377\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+4049151\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+683171\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+374831\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+306860\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+214711\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1036956\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+776532\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+162367\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+330353\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+232822\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+953889\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+326578\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+187214\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+4243544\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+277583\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+194906\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+445648\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+314496\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+657218\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+643245\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\n+4326814\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+321821\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+4115286\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1.03925922603184\t0\t0\t0\t0\t0\n+233515\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+608625\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+4307862\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+3314541\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+795663\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+665674\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\n+292398\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+187233\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+284339\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+198882\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+230744\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+203970\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+178503\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+4432047\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+259382\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+268059\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+433422\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+510131\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+314903\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+697920\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+3449658\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+729082\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+716470\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+272188\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+341504\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+270993\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+659748\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+626489\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+4432504\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+349748\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+274521\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+342570\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+612337\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+339622\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\n+674982\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+188345\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+277533\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+724250\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1085592\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+534772\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+333049\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+298785\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1080675\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+272488\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+550699\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+182712\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+343331\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+1044577\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+511768\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n'
b
diff -r 000000000000 -r 0ab4501d805b test-data/metadata.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/metadata.txt Mon Sep 14 07:38:57 2020 +0000
b
@@ -0,0 +1,19 @@
+#SampleID dpw time Food Replicate_Group
+F3D0 0 Early None Group1
+F3D1 1 Early None Group1
+F3D2 2 Early None Group1
+F3D3 3 Early Cheddar Group2
+F3D5 5 Early Cheddar Group2
+F3D6 6 Early Cheddar Group2
+F3D7 7 Early Swiss Group3
+F3D8 8 Early Swiss Group3
+F3D9 9 Early Swiss Group3
+F3D141 141 Late Cheddar Group4
+F3D142 142 Late Cheddar Group4
+F3D143 143 Late Cheddar Group4
+F3D144 144 Late None Group5
+F3D145 145 Late None Group5
+F3D146 146 Late None Group5
+F3D147 147 Late Swiss Group6
+F3D148 148 Late Swiss Group6
+F3D149 149 Late Swiss Group6
b
diff -r 000000000000 -r 0ab4501d805b test-data/observation.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/observation.txt Mon Sep 14 07:38:57 2020 +0000
[
b'@@ -0,0 +1,3359 @@\n+OTUID\ttaxonomy\n+775126\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+228502\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Ruminococcus; s__\n+314713\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Ruminococcus; s__\n+314425\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Ruminococcus; s__\n+316122\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+432015\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+4374047\tk__Bacteria; p__Actinobacteria; c__Coriobacteriia; o__Coriobacteriales; f__Coriobacteriaceae; g__Adlercreutzia; s__\n+344726\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+1078157\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Bacillales; f__Staphylococcaceae; g__Staphylococcus; s__\n+974097\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Bacillales; f__Staphylococcaceae; g__Staphylococcus; s__\n+323154\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+266555\tk__Bacteria; p__Actinobacteria; c__Coriobacteriia; o__Coriobacteriales; f__Coriobacteriaceae; g__Adlercreutzia; s__\n+4316029\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Bacillales; f__Bacillaceae; g__; s__\n+317867\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+190425\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+323592\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+258628\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+277152\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+271499\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+338644\tk__Bacteria; p__Actinobacteria; c__Coriobacteriia; o__Coriobacteriales; f__Coriobacteriaceae; g__Adlercreutzia; s__\n+338640\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Ruminococcus; s__\n+313804\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+344723\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+188785\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+182836\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+350381\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+338004\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+646532\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+131618\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+351343\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__[Ruminococcus]; s__gnavus\n+309703\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Ruminococcus; s__\n+339092\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__[Ruminococcus]; s__gnavus\n+468933\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Bacillales; f__Staphylococcaceae; g__Staphylococcus; s__\n+277588\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+4372373\tk__Bacteria; p__Proteobacteria; c__Betaproteobacteria; o__Neisseriales; f__Neisseriaceae; g__Neisseria; s__cinerea\n+4432700\tk__Bacteria; p__Proteobacteria; c__Betaproteobacteria; o__Neisseriales; f__Neisseriaceae; g__Neisseria; s__cinerea\n+4429481\tk__Bacteria; p__Proteobacteria; c__Betaproteobacteria; o__Neisseriales; f__Neisseriaceae; g__Neisseria; s__cinerea\n+4323499\tk__Bacteria; p__Proteobacteria; c__Betaproteobacteria; o__Neisseriales; f__Neisseriaceae; g__Neisseria; s__cinerea\n+140239\tk__Bacteria; p__Proteobacteria; c__Betaproteobacteria; o__Neisseriales; f__Neisseriaceae; g__Neisseria; s__cinere'..b'iraceae; g__; s__\n+307193\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Lactobacillales; f__Lactobacillaceae; g__Lactobacillus; s__\n+183927\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+329268\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+313274\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+258750\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+272646\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+269427\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+3697034\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Lactobacillales; f__Enterococcaceae; g__Enterococcus; s__\n+2632775\tk__Bacteria; p__Proteobacteria; c__Gammaproteobacteria; o__Aeromonadales; f__Aeromonadaceae; g__; s__\n+349874\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+232276\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__Dorea; s__\n+341448\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+273479\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+553352\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Lactobacillales; f__Lactobacillaceae; g__Lactobacillus; s__\n+172503\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+290844\tk__Bacteria; p__Proteobacteria; c__Gammaproteobacteria; o__Enterobacteriales; f__Enterobacteriaceae; g__; s__\n+788402\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__Coprococcus; s__\n+752420\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+706077\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+189184\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+204126\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Ruminococcaceae; g__Oscillospira; s__\n+204125\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+1918929\tk__Bacteria; p__Proteobacteria; c__Alphaproteobacteria; o__Rickettsiales; f__mitochondria; g__; s__\n+1058958\tk__Bacteria; p__Firmicutes; c__Bacilli; o__Bacillales; f__Staphylococcaceae; g__Staphylococcus; s__\n+266697\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+273308\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+356148\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+314903\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+267671\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+275619\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+272256\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+274237\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+188092\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+180535\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+273631\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__; g__; s__\n+288344\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+212201\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+1961361\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+665761\tk__Bacteria; p__Firmicutes; c__Clostridia; o__Clostridiales; f__Lachnospiraceae; g__; s__\n+131558\tk__Bacteria; p__Bacteroidetes; c__Bacteroidia; o__Bacteroidales; f__S24-7; g__; s__\n+247570\tk__Bacteria; p__Cyanobacteria; c__Chloroplast; o__Streptophyta; f__; g__; s__\n'
b
diff -r 000000000000 -r 0ab4501d805b test-data/test.biom
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test.biom Mon Sep 14 07:38:57 2020 +0000
[
b'@@ -0,0 +1,1 @@\n+{"id": "None","format": "Biological Observation Matrix 1.0.0","format_url": "http://biom-format.org","matrix_type": "sparse","generated_by": "BIOM-Format 2.1.5","date": "2017-09-08T01:49:15.647451","type": "OTU table","matrix_element_type": "float","shape": [5339, 18],"data": [[0,0,1313.0],[0,1,354.0],[0,2,519.0],[0,3,707.0],[0,4,359.0],[0,5,300.0],[0,6,793.0],[0,7,832.0],[0,8,1719.0],[0,9,379.0],[0,10,236.0],[0,11,430.0],[0,12,315.0],[0,13,525.0],[0,14,355.0],[0,15,651.0],[0,16,176.0],[0,17,274.0],[1,0,297.0],[1,1,107.0],[1,2,69.0],[1,3,104.0],[1,4,30.0],[1,5,80.0],[1,6,199.0],[1,7,169.0],[1,8,100.0],[1,9,64.0],[1,10,54.0],[1,11,67.0],[1,12,63.0],[1,13,126.0],[1,14,62.0],[1,15,59.0],[1,16,58.0],[1,17,35.0],[2,0,806.0],[2,1,44.0],[2,2,176.0],[2,3,201.0],[2,4,71.0],[2,5,159.0],[2,6,415.0],[2,7,448.0],[2,8,437.0],[2,9,164.0],[2,10,114.0],[2,11,142.0],[2,12,85.0],[2,13,198.0],[2,14,109.0],[2,15,313.0],[2,16,99.0],[2,17,170.0],[3,0,13.0],[3,1,3.0],[3,2,6.0],[3,3,8.0],[3,4,3.0],[3,5,6.0],[3,6,7.0],[3,7,17.0],[3,8,14.0],[3,9,3.0],[3,10,2.0],[3,11,6.0],[3,12,4.0],[3,13,12.0],[3,14,1.0],[3,15,14.0],[3,16,5.0],[3,17,3.0],[4,0,872.0],[4,1,424.0],[4,2,415.0],[4,3,551.0],[4,4,220.0],[4,5,273.0],[4,6,584.0],[4,7,702.0],[4,8,1143.0],[4,9,313.0],[4,10,235.0],[4,11,472.0],[4,12,151.0],[4,13,487.0],[4,14,332.0],[4,15,442.0],[4,16,192.0],[4,17,264.0],[5,0,515.0],[5,1,55.0],[5,2,9.0],[5,3,13.0],[5,4,10.0],[5,5,57.0],[5,6,263.0],[5,7,209.0],[5,8,38.0],[5,9,84.0],[5,10,61.0],[5,11,9.0],[5,12,28.0],[5,13,105.0],[5,14,5.0],[5,15,16.0],[5,16,36.0],[5,17,19.0],[6,0,121.0],[6,1,26.0],[6,2,35.0],[6,3,39.0],[6,4,5.0],[6,5,36.0],[6,6,53.0],[6,7,68.0],[6,8,73.0],[6,9,28.0],[6,10,27.0],[6,11,29.0],[6,12,20.0],[6,13,64.0],[6,14,16.0],[6,15,42.0],[6,16,22.0],[6,17,19.0],[7,0,2.0],[7,5,1.0],[7,6,2.0],[7,7,1.0],[7,13,3.0],[7,16,2.0],[8,0,1344.0],[8,1,517.0],[8,2,597.0],[8,3,931.0],[8,4,363.0],[8,5,368.0],[8,6,772.0],[8,7,805.0],[8,8,3225.0],[8,9,397.0],[8,10,284.0],[8,11,457.0],[8,12,246.0],[8,13,563.0],[8,14,235.0],[8,15,890.0],[8,16,194.0],[8,17,283.0],[9,0,21.0],[9,1,116.0],[9,5,5.0],[9,6,29.0],[9,7,8.0],[9,8,2.0],[9,9,5.0],[9,10,1.0],[9,12,4.0],[9,13,14.0],[9,16,2.0],[9,17,1.0],[10,0,5.0],[10,3,1.0],[10,5,1.0],[10,6,1.0],[10,7,2.0],[10,8,2.0],[10,11,1.0],[10,12,3.0],[10,14,1.0],[10,15,2.0],[10,16,1.0],[10,17,1.0],[11,1,5.0],[11,2,2.0],[11,3,13.0],[11,4,30.0],[11,5,3.0],[11,6,8.0],[11,7,11.0],[11,8,76.0],[11,9,3.0],[11,10,8.0],[11,11,25.0],[11,12,1.0],[11,13,7.0],[11,14,29.0],[11,15,6.0],[11,16,4.0],[11,17,10.0],[12,0,573.0],[12,1,176.0],[12,2,545.0],[12,3,531.0],[12,4,139.0],[12,5,146.0],[12,6,532.0],[12,7,484.0],[12,8,382.0],[12,9,208.0],[12,10,202.0],[12,11,649.0],[12,12,219.0],[12,13,380.0],[12,14,580.0],[12,15,471.0],[12,16,127.0],[12,17,151.0],[13,0,1173.0],[13,1,467.0],[13,2,6.0],[13,3,12.0],[13,4,36.0],[13,5,354.0],[13,6,866.0],[13,7,648.0],[13,8,113.0],[13,9,320.0],[13,10,269.0],[13,11,2.0],[13,12,174.0],[13,13,463.0],[13,14,1.0],[13,15,22.0],[13,16,222.0],[13,17,19.0],[14,0,319.0],[14,1,81.0],[14,2,1.0],[14,3,1.0],[14,5,112.0],[14,6,283.0],[14,7,180.0],[14,8,17.0],[14,9,107.0],[14,10,37.0],[14,11,1.0],[14,12,51.0],[14,13,120.0],[14,14,6.0],[14,15,25.0],[14,16,36.0],[14,17,36.0],[15,0,301.0],[15,1,168.0],[15,2,309.0],[15,3,263.0],[15,4,109.0],[15,5,180.0],[15,6,228.0],[15,7,318.0],[15,8,688.0],[15,9,145.0],[15,10,103.0],[15,11,229.0],[15,12,81.0],[15,13,262.0],[15,14,213.0],[15,15,335.0],[15,16,80.0],[15,17,231.0],[16,1,21.0],[16,2,13.0],[16,3,14.0],[16,4,93.0],[16,7,1.0],[16,8,173.0],[16,10,1.0],[16,11,67.0],[16,14,66.0],[16,15,5.0],[16,17,8.0],[17,4,2.0],[17,8,1.0],[17,11,1.0],[17,14,1.0],[18,0,15.0],[18,1,54.0],[18,2,13.0],[18,3,40.0],[18,4,147.0],[18,5,4.0],[18,6,19.0],[18,7,25.0],[18,8,285.0],[18,9,8.0],[18,10,17.0],[18,11,57.0],[18,12,1.0],[18,13,3.0],[18,14,25.0],[18,15,13.0],[18,16,1.0],[18,17,35.0],[19,0,1112.0],[19,1,437.0],[19,2,292.0],[19,3,391.0],[19,4,66.0],[19,5,343.0],[19,6,906.0],[19,7,913.0],[19,8,460.0],[19,9,510'..b'"NewOTU.Ref-2369", "metadata": {}},{"id": "NewOTU.Ref-2370", "metadata": {}},{"id": "NewOTU.Ref-2371", "metadata": {}},{"id": "NewOTU.Ref-2372", "metadata": {}},{"id": "NewOTU.Ref-2373", "metadata": {}},{"id": "NewOTU.Ref-2374", "metadata": {}},{"id": "NewOTU.Ref-2375", "metadata": {}},{"id": "NewOTU.Ref-2376", "metadata": {}},{"id": "NewOTU.Ref-2377", "metadata": {}},{"id": "NewOTU.Ref-2378", "metadata": {}},{"id": "NewOTU.Ref-2379", "metadata": {}},{"id": "NewOTU.Ref-2380", "metadata": {}},{"id": "NewOTU.Ref-2381", "metadata": {}},{"id": "NewOTU.Ref-2382", "metadata": {}},{"id": "NewOTU.Ref-2383", "metadata": {}},{"id": "NewOTU.Ref-2384", "metadata": {}},{"id": "NewOTU.Ref-2385", "metadata": {}},{"id": "NewOTU.Ref-2386", "metadata": {}},{"id": "NewOTU.Ref-2387", "metadata": {}},{"id": "NewOTU.Ref-2388", "metadata": {}},{"id": "NewOTU.Ref-2389", "metadata": {}},{"id": "NewOTU.Ref-2390", "metadata": {}},{"id": "NewOTU.Ref-2391", "metadata": {}},{"id": "NewOTU.Ref-2392", "metadata": {}},{"id": "NewOTU.Ref-2393", "metadata": {}},{"id": "NewOTU.Ref-2394", "metadata": {}},{"id": "NewOTU.Ref-2395", "metadata": {}},{"id": "NewOTU.Ref-2396", "metadata": {}},{"id": "NewOTU.Ref-2397", "metadata": {}},{"id": "NewOTU.Ref-2398", "metadata": {}},{"id": "NewOTU.Ref-2399", "metadata": {}},{"id": "NewOTU.Ref-2400", "metadata": {}},{"id": "NewOTU.Ref-2401", "metadata": {}},{"id": "NewOTU.Ref-2402", "metadata": {}},{"id": "NewOTU.Ref-2403", "metadata": {}},{"id": "NewOTU.Ref-2404", "metadata": {}},{"id": "NewOTU.Ref-2405", "metadata": {}},{"id": "NewOTU.Ref-2406", "metadata": {}},{"id": "NewOTU.Ref-2407", "metadata": {}},{"id": "NewOTU.Ref-2408", "metadata": {}},{"id": "NewOTU.Ref-2409", "metadata": {}},{"id": "NewOTU.Ref-2410", "metadata": {}},{"id": "NewOTU.Ref-2411", "metadata": {}},{"id": "NewOTU.Ref-2412", "metadata": {}},{"id": "NewOTU.Ref-2413", "metadata": {}},{"id": "NewOTU.Ref-2414", "metadata": {}},{"id": "NewOTU.Ref-2415", "metadata": {}},{"id": "NewOTU.Ref-2416", "metadata": {}},{"id": "NewOTU.Ref-2417", "metadata": {}}],"columns": [{"id": "F3D147", "metadata": {"Food": "Swiss", "dpw": "147", "Replicate_Group": "Group6", "time": "Late"}},{"id": "F3D0", "metadata": {"Food": "None", "dpw": "0", "Replicate_Group": "Group1", "time": "Early"}},{"id": "F3D7", "metadata": {"Food": "Swiss", "dpw": "7", "Replicate_Group": "Group3", "time": "Early"}},{"id": "F3D6", "metadata": {"Food": "Cheddar", "dpw": "6", "Replicate_Group": "Group2", "time": "Early"}},{"id": "F3D1", "metadata": {"Food": "None", "dpw": "1", "Replicate_Group": "Group1", "time": "Early"}},{"id": "F3D144", "metadata": {"Food": "None", "dpw": "144", "Replicate_Group": "Group5", "time": "Late"}},{"id": "F3D148", "metadata": {"Food": "Swiss", "dpw": "148", "Replicate_Group": "Group6", "time": "Late"}},{"id": "F3D149", "metadata": {"Food": "Swiss", "dpw": "149", "Replicate_Group": "Group6", "time": "Late"}},{"id": "F3D2", "metadata": {"Food": "None", "dpw": "2", "Replicate_Group": "Group1", "time": "Early"}},{"id": "F3D141", "metadata": {"Food": "Cheddar", "dpw": "141", "Replicate_Group": "Group4", "time": "Late"}},{"id": "F3D146", "metadata": {"Food": "None", "dpw": "146", "Replicate_Group": "Group5", "time": "Late"}},{"id": "F3D9", "metadata": {"Food": "Swiss", "dpw": "9", "Replicate_Group": "Group3", "time": "Early"}},{"id": "F3D142", "metadata": {"Food": "Cheddar", "dpw": "142", "Replicate_Group": "Group4", "time": "Late"}},{"id": "F3D145", "metadata": {"Food": "None", "dpw": "145", "Replicate_Group": "Group5", "time": "Late"}},{"id": "F3D8", "metadata": {"Food": "Swiss", "dpw": "8", "Replicate_Group": "Group3", "time": "Early"}},{"id": "F3D3", "metadata": {"Food": "Cheddar", "dpw": "3", "Replicate_Group": "Group2", "time": "Early"}},{"id": "F3D143", "metadata": {"Food": "Cheddar", "dpw": "143", "Replicate_Group": "Group4", "time": "Late"}},{"id": "F3D5", "metadata": {"Food": "Cheddar", "dpw": "5", "Replicate_Group": "Group2", "time": "Early"}}]}\n\\ No newline at end of file\n'