From 5889d0318e9d72a625675ec3e75e11787abf5524 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 14:49:49 -0500 Subject: [PATCH 01/23] additional viz tests --- metaquantome/data/test/cli_bar_viz.png | Bin 0 -> 28479 bytes metaquantome/data/test/test.png | Bin 0 -> 21109 bytes tests/travis/testCLI.py | 14 ++++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 metaquantome/data/test/cli_bar_viz.png create mode 100644 metaquantome/data/test/test.png diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..72e08c0981feb4ee6a3cc3c8f6cc3c324df105ad GIT binary patch literal 28479 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 0.05) self.assertTrue(test_df['corrected_p'][['N','D']].le(0.05).all()) + def testViz(self): + infile = testfile('taxonomy_write_simple.tab') + imgfile = testfile('cli_bar_viz.png') + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m t --plottype bar --infile', + infile, + '--img', + imgfile, + """--samps '{"samp1": ["int"]}'""", + '--nterms 2 --meancol samp1_mean --target_rank genus' + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + if __name__ == '__main__': unittest.main() From c8b32eca7845f016b8cfecfd1c6035a5a647307d Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 15:55:58 -0500 Subject: [PATCH 02/23] fix bar filtering bug --- metaquantome/modules/viz.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 82747fd..b90aad8 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -160,7 +160,7 @@ barplot_cli <- function(args){ df <- read_result(infile) mode <- args[4] meancol <- args[5] - nterms <- args[6] + nterms <- as.numeric(args[6]) width <- as.numeric(args[7]) height <- as.numeric(args[8]) target_rank <- args[9] From 8989d764247fc9a331e2c1fee5482c84e9fb3d50 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 16:29:26 -0500 Subject: [PATCH 03/23] fix filter_to_sig bug and add test --- metaquantome/data/test/cli_heatmap_viz.png | Bin 0 -> 26993 bytes metaquantome/data/test/rudney_samples.tab | 3 + metaquantome/data/test/tax_filt_out.tab | 93 +++++++++++++++++++++ metaquantome/modules/viz.R | 2 +- tests/travis/testCLI.py | 14 ++++ 5 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 metaquantome/data/test/cli_heatmap_viz.png create mode 100644 metaquantome/data/test/rudney_samples.tab create mode 100644 metaquantome/data/test/tax_filt_out.tab diff --git a/metaquantome/data/test/cli_heatmap_viz.png b/metaquantome/data/test/cli_heatmap_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..45a4520941a891848eda3fdb5813aac6faa3f49c GIT binary patch literal 26993 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 literal 0 HcmV?d00001 diff --git a/metaquantome/data/test/rudney_samples.tab b/metaquantome/data/test/rudney_samples.tab new file mode 100644 index 0000000..f3558e7 --- /dev/null +++ b/metaquantome/data/test/rudney_samples.tab @@ -0,0 +1,3 @@ +group colnames +NS X730NS,X733NS,X734NS,X737NS,X760NS,X769NS,X781NS,X795NS,X852NS,X861NS,X866NS,X867NS +WS X730WS,X733WS,X734WS,X737WS,X760WS,X769WS,X781WS,X795WS,X852WS,X861WS,X866WS,X867WS diff --git a/metaquantome/data/test/tax_filt_out.tab b/metaquantome/data/test/tax_filt_out.tab new file mode 100644 index 0000000..987c7d3 --- /dev/null +++ b/metaquantome/data/test/tax_filt_out.tab @@ -0,0 +1,93 @@ +id taxon_name rank NS_mean WS_mean X730NS X730WS X733NS X733WS X734NS X734WS X737NS X737WS X760NS X760WS X769NS X769WS X781NS X781WS X795NS X795WS X852NS X852WS X861NS X861WS X866NS X866WS X867NS X867WS X730NS_n_peptide X730WS_n_peptide X733NS_n_peptide X733WS_n_peptide X734NS_n_peptide X734WS_n_peptide X737NS_n_peptide X737WS_n_peptide X760NS_n_peptide X760WS_n_peptide X769NS_n_peptide X769WS_n_peptide X781NS_n_peptide X781WS_n_peptide X795NS_n_peptide X795WS_n_peptide X852NS_n_peptide X852WS_n_peptide X861NS_n_peptide X861WS_n_peptide X866NS_n_peptide X866WS_n_peptide X867NS_n_peptide X867WS_n_peptide X730NS_n_samp_children X730WS_n_samp_children X733NS_n_samp_children X733WS_n_samp_children X734NS_n_samp_children X734WS_n_samp_children X737NS_n_samp_children X737WS_n_samp_children X760NS_n_samp_children X760WS_n_samp_children X769NS_n_samp_children X769WS_n_samp_children X781NS_n_samp_children X781WS_n_samp_children X795NS_n_samp_children X795WS_n_samp_children X852NS_n_samp_children X852WS_n_samp_children X861NS_n_samp_children X861WS_n_samp_children X866NS_n_samp_children X866WS_n_samp_children X867NS_n_samp_children X867WS_n_samp_children +157 Treponema genus 22.4592368471399 23.251641665456614 21.782210465654984 22.293663201701612 19.506474847066862 18.393389679254238 21.31060467932299 21.728055628093554 20.480986062363687 22.602867980613627 23.203993721974225 23.566696765176243 22.313857374707805 25.335612959036755 24.564206593926965 23.758132985051397 21.865153582932077 21.378622826723475 22.004619704258204 23.01330290131711 21.929889350172612 22.77047366650371 22.145836211855425 22.482730706742693 22.080359413733433 23.436551973678235 9.0 3.0 2.0 2.0 6.0 11.0 8.0 10.0 10.0 10.0 7.0 5.0 15.0 9.0 4.0 6.0 8.0 13.0 12.0 6.0 5.0 5.0 14.0 8.0 5.0 2.0 2.0 1.0 4.0 6.0 4.0 4.0 5.0 5.0 4.0 2.0 4.0 3.0 3.0 1.0 4.0 3.0 5.0 3.0 3.0 2.0 6.0 4.0 +194 Campylobacter genus 22.737726781977898 23.402014527754694 19.374983778535537 20.606446832930114 22.374052312423657 22.175914745445667 20.710711088017703 21.497720060388442 21.935778024142905 21.360868814816588 19.67510328882646 18.442382745355207 21.21818802567592 18.98249372666148 25.95861986611441 24.365465047288765 19.540072068600086 22.271211580494718 17.998259192791753 26.353858284366478 18.911902395646823 20.233239126385538 19.83361162568149 19.261402979800614 20.129527247691183 22.479579021998745 3.0 5.0 2.0 5.0 2.0 7.0 25.0 5.0 7.0 4.0 17.0 3.0 209.0 8.0 4.0 9.0 4.0 8.0 3.0 5.0 7.0 4.0 7.0 6.0 2.0 2.0 2.0 3.0 2.0 4.0 2.0 3.0 2.0 2.0 3.0 2.0 4.0 4.0 2.0 3.0 2.0 4.0 2.0 3.0 2.0 2.0 2.0 4.0 +286 Pseudomonas genus 22.84530963528067 20.941262344966102 19.390653532195216 21.257892314732068 23.40900039680405 21.249447306145736 22.85533086446144 17.189270329854693 21.43373289557238 18.940290665716923 21.2755581152792 21.78465732920301 19.42254043551283 17.888724701002317 22.016714341281943 20.86953224363516 18.685241717022148 22.54333528743205 20.234005329853034 18.807506861121887 23.765290496984004 16.805950901945454 25.39397860675149 22.523625447598253 19.404033335324762 14.425011898222733 2.0 4.0 2.0 7.0 11.0 3.0 4.0 6.0 7.0 4.0 4.0 2.0 16.0 8.0 2.0 7.0 5.0 5.0 6.0 3.0 6.0 4.0 5.0 1.0 1.0 1.0 1.0 2.0 3.0 0.0 2.0 2.0 2.0 2.0 2.0 0.0 3.0 3.0 2.0 3.0 3.0 1.0 2.0 0.0 3.0 0.0 2.0 1.0 +356 Rhizobiales order 24.69225559146653 24.47928415080033 24.213805954712 26.19612910182332 23.852474395772273 20.88389298705434 24.072293206158825 24.6359011866213 23.253772028711925 23.84124611127577 25.211843229277033 23.37465798633904 24.971694694445382 23.732993264497427 25.466853125051237 22.51337324493513 23.333984301104184 22.80206380634942 24.48437767254155 26.428256133544647 25.06992046020705 22.354137707550283 23.963063933116196 23.69000244474017 25.821578844423875 23.678835807279214 18.0 10.0 13.0 10.0 12.0 24.0 14.0 11.0 12.0 15.0 20.0 7.0 21.0 13.0 17.0 17.0 18.0 17.0 16.0 11.0 15.0 10.0 21.0 9.0 5.0 4.0 5.0 4.0 5.0 5.0 4.0 5.0 4.0 5.0 5.0 4.0 4.0 4.0 5.0 5.0 5.0 5.0 3.0 4.0 3.0 4.0 5.0 5.0 +481 Neisseriaceae family 28.278684423613377 23.578683124887306 26.27962488726382 21.380348299519405 20.265011634052573 23.91010523361957 25.25318938906157 23.33599556737296 29.37660244007165 24.118713642422897 29.314496888630167 24.155079469088264 27.84869359057641 23.955877447655148 26.053970602682014 22.206147855022408 26.13696167363647 24.218827734120907 30.53641005463977 21.765106446060415 28.26090482862355 24.25663214471386 27.118776073693013 23.408432498906212 23.31084301358886 23.098763696810842 97.0 4.0 2.0 9.0 49.0 28.0 726.0 27.0 710.0 13.0 373.0 5.0 12.0 14.0 90.0 13.0 1287.0 21.0 213.0 11.0 241.0 7.0 21.0 10.0 3.0 2.0 1.0 1.0 4.0 3.0 4.0 4.0 4.0 3.0 4.0 1.0 3.0 3.0 5.0 2.0 4.0 4.0 3.0 3.0 3.0 3.0 3.0 3.0 +482 Neisseria genus 24.71621468525704 23.337955500492267 25.22309054267125 21.27224809407663 20.265011634052573 23.91010523361957 24.83614617766947 22.69211027879855 25.957369156876148 23.447797104924483 23.198609553932194 24.068317670999303 22.181396494802414 23.955877447655148 22.066815581067022 21.790934894894853 22.16909502782755 23.750883107517165 22.02401378621116 18.976851915575853 27.235996366157107 24.242623237623764 22.149900827393424 23.36408698820687 22.176120891701288 22.922522172295945 8.0 3.0 2.0 9.0 14.0 9.0 17.0 7.0 8.0 5.0 5.0 5.0 10.0 6.0 6.0 11.0 11.0 2.0 14.0 8.0 11.0 3.0 9.0 6.0 5.0 2.0 1.0 2.0 6.0 3.0 6.0 3.0 4.0 2.0 2.0 3.0 5.0 3.0 4.0 5.0 3.0 0.0 6.0 5.0 2.0 3.0 3.0 3.0 +543 Enterobacteriaceae family 24.541968063151693 21.658968255049587 21.19265183166299 18.778936903337087 24.406801994236776 23.28442984893313 23.565360578028603 18.647425082748057 22.52171584507061 21.749320324152237 22.94629599899497 20.370563882738377 23.199160672801856 0.0 21.860089648679182 21.406910140003635 22.45005193311192 18.22017707724 27.46551744983655 23.23134237340219 23.874976207065192 20.725397072832983 23.600296651876587 18.767739575829392 23.159442610674034 22.351852296751414 2.0 1.0 4.0 10.0 7.0 4.0 9.0 4.0 6.0 7.0 5.0 0.0 5.0 5.0 6.0 2.0 105.0 20.0 12.0 3.0 7.0 5.0 6.0 6.0 1.0 0.0 2.0 2.0 3.0 2.0 3.0 3.0 3.0 2.0 3.0 0.0 3.0 2.0 3.0 1.0 6.0 3.0 4.0 2.0 2.0 2.0 3.0 4.0 +712 Pasteurellaceae family 31.441294316475755 27.74864490019109 29.186498614844197 24.175578246391566 20.481583297401627 23.245302539966644 31.583394496968175 21.698805801380452 29.96654214760159 27.07213567688964 31.955129148166925 30.174952383067087 32.27989011421659 22.352338789441013 30.13364856738205 20.78538869183005 31.112307496041588 20.460584339542226 21.458170300521843 22.62062069831925 32.657844295582144 20.198224624491434 32.52950443661703 20.147792757000985 31.98671859933514 30.279393705211056 720.0 6.0 5.0 7.0 2095.0 5.0 1561.0 283.0 3118.0 1510.0 3361.0 22.0 1385.0 7.0 1680.0 4.0 8.0 15.0 3861.0 10.0 3318.0 6.0 2964.0 1458.0 3.0 2.0 3.0 3.0 5.0 2.0 5.0 2.0 5.0 4.0 4.0 3.0 3.0 2.0 4.0 2.0 2.0 3.0 6.0 2.0 4.0 2.0 6.0 3.0 +724 Haemophilus genus 30.633565686404708 26.78504454278037 28.15635491432493 19.097778815906945 19.801043329740427 22.699002230428377 30.696290588311548 19.267556299527367 28.377726580090137 26.090131050046725 31.173798924853052 29.27754849809542 31.587863825191196 20.517951715030623 27.389664555662584 16.623296772427086 30.413699464304038 17.173396989578702 18.253885767449745 20.76344889241335 31.866468235701703 19.273283692091912 31.886296430568155 20.07315915414024 31.195747151301017 29.280733892382198 386.0 2.0 2.0 3.0 1255.0 1.0 547.0 142.0 1933.0 933.0 2106.0 8.0 275.0 1.0 981.0 1.0 3.0 7.0 2401.0 5.0 2049.0 4.0 1815.0 890.0 3.0 2.0 0.0 1.0 5.0 1.0 5.0 1.0 5.0 3.0 3.0 1.0 3.0 1.0 4.0 1.0 2.0 2.0 5.0 3.0 3.0 2.0 4.0 4.0 +729 Haemophilus parainfluenzae species 30.483809499340683 26.88190900155309 27.94881799135177 0.0 0.0 0.0 30.317166206364732 19.267556299527367 28.10194484715981 25.817816232951554 30.951713518290234 28.998574612215805 31.29314277993099 19.727116817995146 26.90531617895009 0.0 30.03412076270724 17.173396989578702 15.925085533858454 19.411511638870753 31.634733122446928 14.273633190572465 31.67387434359899 19.507391925664596 30.852348459049548 28.93838188002522 317.0 0.0 0.0 0.0 874.0 1.0 436.0 114.0 1593.0 769.0 1732.0 4.0 191.0 0.0 796.0 1.0 1.0 4.0 1954.0 1.0 1666.0 1.0 1492.0 730.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 0.0 0.0 0.0 0.0 +836 Porphyromonas genus 22.314663934914797 21.739378366869417 19.457852049351906 12.604829145488758 20.5088584349098 19.75295348466535 21.600795502879297 14.820205941276624 21.015476498022714 24.619548910204955 23.102133944442386 0.0 22.250024774926313 18.094932479000022 22.960257356576573 21.698467805518185 24.00559645561271 21.306319139121296 20.241884890424398 19.721662751642615 22.144145432202716 19.89403848454665 22.030296485101942 21.62401734479089 22.500284934296726 18.84113705921046 2.0 1.0 5.0 4.0 7.0 1.0 11.0 3.0 29.0 0.0 6.0 3.0 14.0 6.0 6.0 2.0 8.0 4.0 7.0 4.0 3.0 8.0 11.0 2.0 2.0 1.0 3.0 1.0 3.0 0.0 3.0 0.0 4.0 0.0 3.0 2.0 5.0 3.0 2.0 1.0 3.0 1.0 3.0 2.0 1.0 3.0 5.0 1.0 +838 Prevotella genus 24.779533700933218 24.224746990564395 24.864924216372472 23.76769396904597 22.83964974374393 23.70571512848364 25.162777195979377 25.87563785905976 24.55749376198101 25.21654545207315 25.67054921628861 24.242857063462967 23.988440808284405 22.65837266342718 25.050085335301286 24.178145950063893 24.98104144218843 23.706176617830877 26.01228536130151 23.28318812598716 24.16407036110283 23.76180551573891 23.477545774310087 23.31368399815167 23.13465667324952 23.603736285902077 27.0 13.0 22.0 29.0 67.0 32.0 48.0 33.0 80.0 25.0 27.0 18.0 46.0 31.0 101.0 15.0 74.0 27.0 23.0 20.0 14.0 21.0 27.0 23.0 13.0 7.0 10.0 17.0 13.0 15.0 14.0 18.0 19.0 10.0 15.0 11.0 22.0 13.0 20.0 9.0 17.0 13.0 13.0 10.0 10.0 12.0 12.0 13.0 +848 Fusobacterium genus 33.260032738456324 28.1393818636283 24.82396969202237 22.223031079414735 18.757365108484112 21.83776603700015 33.49153019943186 21.17155709124576 34.33053784446623 21.76843340276839 34.08178062471965 25.072176549690024 33.59801033231461 22.702945128317232 33.82259561590425 22.13646032418869 33.37214774541592 21.610208297868247 32.16245586391741 31.687010816730698 28.414312391218058 21.690785772577964 33.24879445906351 21.03304706311043 33.973111065586444 24.296925505408158 88.0 6.0 4.0 6.0 5612.0 13.0 9295.0 16.0 8036.0 87.0 6846.0 23.0 7227.0 25.0 4751.0 12.0 3263.0 3268.0 451.0 6.0 5646.0 10.0 7594.0 32.0 3.0 3.0 3.0 4.0 4.0 3.0 4.0 3.0 4.0 3.0 5.0 2.0 5.0 3.0 4.0 4.0 5.0 5.0 2.0 2.0 5.0 2.0 5.0 2.0 +860 Fusobacterium periodonticum species 30.855884675432712 26.293912291406997 19.9171106473506 20.773884580224994 14.313058142651013 12.989974179912885 31.44662403708189 18.406725933432558 30.12281346629577 0.0 31.910273429691294 21.67445651075483 31.568124432243252 21.340478807551477 31.20533304378397 19.023150068983977 31.435646308250114 18.051095238878336 28.75514930662611 29.71272911465278 25.720972710951987 21.458003511442357 30.57477362519476 20.309010341109868 32.072137095025084 23.514992684441772 1.0 2.0 1.0 1.0 1865.0 2.0 1335.0 0.0 2619.0 12.0 2218.0 6.0 1713.0 6.0 1932.0 4.0 577.0 1162.0 45.0 2.0 1546.0 4.0 2946.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +970 Selenomonas genus 22.3724799741853 22.15933658852583 21.963300777441653 17.208137383583722 20.333861429084816 21.270460533882996 22.13788696162601 19.992596292439803 21.933237414122384 22.65212395788333 20.976140144858444 21.638530409325842 23.300038455562106 20.766927720185603 22.967119711570913 19.82187382226865 23.147715738622747 22.41575177124401 21.59776320835864 18.70101141996511 20.42455132913531 24.1302875195938 23.594506080208067 23.493426491146998 21.9305742103157 21.82851483623139 6.0 2.0 8.0 6.0 7.0 7.0 11.0 5.0 8.0 6.0 10.0 2.0 10.0 5.0 6.0 8.0 5.0 5.0 5.0 7.0 8.0 5.0 5.0 5.0 3.0 2.0 4.0 3.0 2.0 2.0 3.0 2.0 3.0 4.0 4.0 2.0 2.0 3.0 3.0 3.0 2.0 4.0 3.0 3.0 4.0 4.0 1.0 3.0 +976 Bacteroidetes phylum 27.338648935196012 24.90021601275218 25.038934253615786 23.91028211523684 24.90559350913217 24.394178592582673 28.133831352020536 26.001199177701398 26.976172022051703 26.00648185969772 28.70480521630881 24.379459248189306 24.71020487342673 23.4181187415076 26.28401895883711 24.869411218257962 26.701627462835578 24.416367670766416 29.53849071584869 23.93435843485798 24.997311829571156 25.894828778684825 25.65586046759748 24.21477788787849 24.41173330591233 24.20871126635878 38.0 21.0 46.0 43.0 428.0 47.0 270.0 48.0 592.0 37.0 52.0 37.0 110.0 62.0 254.0 35.0 677.0 48.0 54.0 47.0 34.0 47.0 61.0 34.0 2.0 2.0 3.0 2.0 3.0 2.0 3.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 +1016 Capnocytophaga genus 22.892465198715726 21.80085731644575 21.053214080296463 19.527095564878568 21.766979280790228 20.762297723012342 19.382691888774904 19.574810959356554 21.416867344273058 20.9705383493245 21.26824221259733 16.642544464854687 21.15750915513545 20.705471084734796 24.75630444764119 20.6627239228348 20.86264466806948 21.61179247491777 22.830053298414956 21.00531691515253 22.31380923223648 24.591113923764237 25.019608905828353 20.55101189639048 21.20096725036955 21.458159275750425 5.0 2.0 8.0 5.0 4.0 4.0 7.0 5.0 12.0 2.0 7.0 4.0 13.0 11.0 3.0 15.0 13.0 7.0 11.0 11.0 10.0 5.0 7.0 3.0 2.0 0.0 4.0 1.0 2.0 3.0 2.0 2.0 1.0 1.0 2.0 2.0 4.0 4.0 1.0 5.0 3.0 3.0 4.0 3.0 4.0 3.0 3.0 1.0 +1224 Proteobacteria phylum 31.892207691960202 28.56258664410351 29.670936602377342 27.07663342666503 26.52476597022835 27.242114998921803 31.848763585965276 27.002544991698574 30.978218832588734 28.01059011342253 32.43664710871743 30.4746846953446 32.55942220175633 26.873410153458856 30.700969244803968 26.068939844784023 31.36234267733518 26.30743275083318 31.854969968535713 28.45389306942968 32.945913414608675 26.227194616146328 32.742403114749884 26.49805476402261 32.19104148297693 30.698790358922995 991.0 60.0 71.0 201.0 2537.0 117.0 2793.0 430.0 4455.0 1796.0 4296.0 82.0 1997.0 107.0 2105.0 89.0 2706.0 299.0 4675.0 78.0 4097.0 76.0 3463.0 1722.0 4.0 4.0 5.0 4.0 5.0 5.0 5.0 5.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +1236 Gammaproteobacteria class 31.609618173469208 28.159745929918355 29.33425368641757 25.19882771954464 25.58779813317346 25.55394547749487 31.714968039121512 24.906182940800477 30.12998147203255 27.64195951583212 32.09913955069973 30.367193307164623 32.41163951065127 26.159178137633727 30.376576452515945 24.53079034470457 31.22515881236659 25.031866115024663 29.901091751542282 26.832191270093784 32.78746681928323 24.40853757880434 32.640388744801506 25.676355685078235 32.08805029750684 30.535136497955218 794.0 23.0 30.0 61.0 2325.0 23.0 1726.0 332.0 3399.0 1668.0 3647.0 39.0 1573.0 41.0 1842.0 25.0 516.0 138.0 4193.0 29.0 3600.0 25.0 3224.0 1584.0 5.0 4.0 7.0 8.0 5.0 5.0 4.0 4.0 6.0 4.0 5.0 5.0 5.0 6.0 7.0 6.0 7.0 5.0 8.0 5.0 8.0 5.0 6.0 6.0 +1239 Firmicutes phylum 32.8736766661338 33.66237853269464 33.69016930460979 32.62624328331352 33.53086660947921 33.488495834215996 31.777665784494186 33.63284455044024 31.96642432948349 34.03395857615676 32.05513030713319 33.90182058360645 33.059269547447016 33.03670248595898 32.904701914721066 33.894717423454765 32.379543903664974 34.04101578601538 32.755337431850826 33.599182734527076 33.4834543670178 33.4951849051602 32.95411124819814 33.309432993241835 32.40021286145452 34.16644627435772 10275.0 6444.0 9446.0 9504.0 3911.0 11964.0 4299.0 12775.0 5154.0 11903.0 6972.0 8330.0 7275.0 13717.0 4671.0 13506.0 5653.0 10288.0 8982.0 10829.0 6534.0 10298.0 5938.0 13047.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +1279 Staphylococcus genus 22.504836217201568 24.2116943040312 20.694710416791846 19.61303285745054 21.971053020451464 23.462151983875426 17.03965560835351 27.31545465303748 16.855670458851733 20.388204940174038 20.245270676492872 23.41799568332818 15.483717670905886 19.939700167610532 20.22959062212996 20.199881619489744 20.703740589815453 24.02758683585195 25.781963293923674 23.52857495811075 21.304721151492323 23.08806752761727 12.73341267074633 18.653546645321935 19.676983223933714 18.76617210937382 3.0 1.0 9.0 7.0 1.0 388.0 2.0 2.0 2.0 2.0 2.0 2.0 4.0 6.0 3.0 6.0 2.0 4.0 7.0 4.0 1.0 2.0 3.0 3.0 0.0 1.0 3.0 2.0 1.0 3.0 1.0 0.0 1.0 1.0 1.0 1.0 2.0 3.0 0.0 4.0 0.0 1.0 3.0 2.0 1.0 1.0 1.0 1.0 +1300 Streptococcaceae family 31.04005087612557 32.68498796725018 32.609862959443326 32.40581955972505 32.88687007914666 33.25844138547374 29.10124143938986 32.2497422774349 29.50735112965809 31.899152761792777 29.753893142654942 32.64771091520379 30.996452852349922 32.18628414077014 30.45778959870371 33.34244970826108 29.295887914446197 33.14250137369812 29.794438742050534 32.60872343467933 31.53910080659905 32.7368262494867 25.84801538224936 32.48955082348738 30.347483581684266 32.49588742623676 4162.0 5424.0 5680.0 7959.0 909.0 5858.0 1058.0 4751.0 1210.0 5664.0 2039.0 4641.0 1834.0 8960.0 1037.0 7751.0 1225.0 5213.0 3137.0 7020.0 165.0 5599.0 1764.0 5387.0 2.0 2.0 3.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 +1301 Streptococcus genus 31.01469481309256 32.64981560319793 32.594628090845504 32.37682293425312 32.85508231820879 33.21733933780535 29.059956722561694 32.21992690208474 29.48224296773229 31.867534112767018 29.738624303435802 32.627366326815284 30.976597527343827 32.162260562575824 30.43200484165762 33.29486634381768 29.270917315380736 33.09629726567616 29.771708351569877 32.59319300504715 31.501701851366764 32.686611907034745 25.758865776771692 32.45361268581817 30.33050572928465 32.468936592641285 4114.0 5346.0 5614.0 7843.0 892.0 5788.0 1034.0 4681.0 1194.0 5576.0 2013.0 4580.0 1807.0 8798.0 1017.0 7605.0 1204.0 5146.0 3100.0 6921.0 161.0 5496.0 1742.0 5318.0 18.0 22.0 23.0 29.0 13.0 25.0 15.0 24.0 10.0 24.0 14.0 17.0 18.0 25.0 15.0 27.0 13.0 19.0 18.0 27.0 10.0 24.0 13.0 26.0 +1302 Streptococcus gordonii species 28.85237968021687 29.760937230244974 28.53827111953495 31.132118535383093 31.305034493857054 24.688124424794022 27.320041572326137 28.526342829550703 27.371729242798853 29.58092479361225 25.92917860441985 23.715443506227075 29.656540776408356 30.783266578966995 23.443382948031502 20.99416729999752 21.022409722612576 21.62670822451487 28.24760457024561 31.13941166466572 29.337710635229158 29.903056268442416 23.759856998951086 20.91000018064953 28.887578612597714 30.973813709441103 428.0 1732.0 1798.0 33.0 235.0 625.0 284.0 900.0 133.0 34.0 812.0 1549.0 19.0 6.0 5.0 4.0 336.0 1675.0 657.0 1017.0 25.0 7.0 618.0 1242.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 0.0 0.0 0.0 0.0 +1303 Streptococcus oralis species 23.103687126641674 26.421123666189605 24.61912812148962 25.4191738117239 22.83741174927149 23.79503117288109 20.511845294481713 27.751809251472487 21.0624171801586 25.592112990576066 18.52948119779141 25.223369787321488 23.071325203393823 27.394474312898854 25.441096830107032 26.185157966366702 21.90206814804163 25.40395342417414 23.076822389819213 25.187581485449915 20.321125468792413 25.43278217204217 20.17130216381177 27.882942315620696 20.208730319953485 26.15945706011016 33.0 105.0 10.0 28.0 5.0 283.0 5.0 92.0 3.0 83.0 12.0 250.0 86.0 134.0 6.0 109.0 20.0 61.0 5.0 71.0 8.0 345.0 6.0 105.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 0.0 0.0 0.0 0.0 +1305 Streptococcus sanguinis species 22.084393557448287 21.543042772459888 21.36579529548786 19.719668114416088 22.320823798040614 22.643663421336278 20.278320984565294 20.664730793226106 19.040350310186206 19.910519920985923 18.956045504304907 21.1468051800558 22.1221162795508 23.276498430748262 24.481868022663427 19.786276995071983 21.926674144905974 19.757490668956915 17.903478336199544 20.28856779076102 22.135070616245613 22.72707804372864 20.203375529145497 17.90055497494011 22.271601627561232 21.88110951058033 10.0 6.0 7.0 3.0 5.0 9.0 2.0 6.0 3.0 8.0 7.0 26.0 51.0 2.0 10.0 2.0 2.0 3.0 13.0 9.0 1.0 1.0 16.0 14.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 0.0 0.0 0.0 0.0 +1311 Streptococcus agalactiae species 18.98609386423588 22.435670696076226 19.705538493060285 19.866724796963357 19.87717613918613 22.052348066539125 15.755434014166319 19.861606748408253 18.3255267827667 22.129846557659008 0.0 23.926224685399628 19.761877246035052 19.07957760080053 18.918800653074136 19.835866407014574 17.19111895834796 24.273366933205637 20.45872207528365 20.463948127484954 18.687251597708613 22.592407061831786 15.964333114404075 23.142858080186855 15.570262626923569 21.246603232299112 4.0 5.0 3.0 11.0 1.0 3.0 2.0 8.0 0.0 8.0 3.0 3.0 2.0 3.0 2.0 8.0 7.0 4.0 3.0 10.0 1.0 12.0 1.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +1318 Streptococcus parasanguinis species 26.962149454581645 29.77347730846411 22.254388267955566 27.519615988057442 29.706934990101185 31.87112960466156 24.137948969614506 30.2850772176896 22.395455813890393 29.091703869523233 25.736852436940907 25.951999594041354 24.013011494597315 22.921984850747556 20.036882766065236 30.76751633867441 22.074454889980803 28.732430133835745 25.022058035369948 28.46671810952836 29.025321974412705 30.675449775538844 18.086861982471326 26.056249100019127 22.10327445512197 28.924519217276195 13.0 363.0 895.0 3259.0 57.0 1653.0 6.0 731.0 81.0 160.0 15.0 7.0 6.0 1844.0 11.0 732.0 104.0 557.0 651.0 1718.0 1.0 145.0 10.0 664.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 0.0 0.0 0.0 0.0 +1350 Enterococcus genus 22.27148764597278 22.60823898801679 23.49244865513987 23.414903433927392 24.37240414458905 24.88758129438443 20.563847819772974 21.23085263188748 15.879527869127314 20.810965529539427 22.253746426035686 20.662757053309605 21.145709716920308 20.89407562036324 21.952434419232212 20.250939714506238 0.0 21.15425215203751 20.38601577727848 19.649999339047973 22.188939012514282 23.466747242375032 18.114370641945392 21.22022652485775 21.388841020817967 22.95889331744693 7.0 5.0 12.0 7.0 3.0 6.0 2.0 5.0 6.0 7.0 3.0 6.0 10.0 8.0 0.0 7.0 4.0 4.0 4.0 10.0 4.0 8.0 3.0 2.0 3.0 1.0 4.0 2.0 1.0 1.0 0.0 2.0 2.0 3.0 0.0 1.0 3.0 2.0 0.0 1.0 0.0 0.0 1.0 2.0 2.0 1.0 0.0 0.0 +1378 Gemella genus 25.6133540618394 21.918625259677697 28.760626448341625 20.41322426632106 23.333333022799266 20.003995828313727 19.90422775729069 20.527718492251754 25.510355546708606 22.163763646723247 25.62404794257861 22.206253337039428 18.903083821154414 19.3596206262398 20.654536912649835 21.268488824221908 22.546789067843555 21.03102362468566 22.54662684659898 24.55047855317897 20.71466040340079 19.562486170931198 24.895473413820802 21.51242864044654 21.42190584800925 18.593800384965746 462.0 7.0 19.0 5.0 2.0 12.0 93.0 11.0 123.0 19.0 5.0 4.0 5.0 5.0 10.0 11.0 24.0 68.0 6.0 2.0 8.0 4.0 6.0 2.0 4.0 3.0 4.0 3.0 2.0 2.0 4.0 1.0 4.0 3.0 2.0 3.0 2.0 2.0 4.0 1.0 4.0 4.0 3.0 1.0 3.0 2.0 4.0 1.0 +1379 Gemella haemolysans species 21.23498138826355 19.888989096460268 24.026460280557217 19.25690088310065 21.461104100412168 16.360685063329587 18.252897360743013 19.320146403281907 20.83444387435928 0.0 21.76639058315259 19.69094212846502 18.71824767235069 14.683182451613526 18.459232347117165 21.204617986474787 18.34889920793565 20.603755493146245 18.207569213169066 19.62422702667547 20.092575562598856 19.562486170931198 19.95234552377314 21.426359854585613 18.343004369723705 14.9377998094599 24.0 3.0 11.0 1.0 1.0 7.0 7.0 0.0 14.0 3.0 3.0 1.0 3.0 4.0 3.0 7.0 2.0 6.0 3.0 2.0 4.0 2.0 2.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.0 0.0 0.0 0.0 0.0 0.0 +1385 Bacillales order 24.31450553153779 25.008734255847454 25.28822550835564 20.707959028359284 24.69387466443483 24.169435697558235 23.61308130075852 27.52273977466577 21.516972851226935 23.243239824850136 22.027154603438888 25.381769739535198 22.673513107849807 22.29612650280037 22.006889052064412 21.66146406832213 25.290120538295522 25.423691851893306 26.19881248016323 25.2849004568186 23.476649782233142 24.8337371022627 22.731337682261547 22.66439917092921 23.794962592968396 22.766617061889285 65.0 8.0 49.0 29.0 20.0 425.0 15.0 11.0 12.0 59.0 18.0 16.0 14.0 18.0 28.0 28.0 18.0 58.0 31.0 16.0 11.0 13.0 30.0 18.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 2.0 4.0 4.0 3.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 3.0 4.0 3.0 4.0 +1386 Bacillus genus 22.390261842416066 22.688987040206488 19.243823494685632 18.494430678443663 23.673701889661785 21.835916713384584 0.0 23.2697701491858 18.66114108601868 22.80835765154499 19.092334115651948 23.176607533078236 13.750619328106772 19.818513947198202 20.206225225812503 19.191061335834554 24.90131846933755 23.367187182139244 22.461385571401912 23.407185537846914 21.892479628979235 24.23550841128039 21.465448535380737 22.485399518658088 18.498578732509923 19.929664638158794 3.0 2.0 14.0 11.0 0.0 5.0 2.0 5.0 3.0 3.0 1.0 3.0 5.0 3.0 2.0 4.0 4.0 3.0 5.0 6.0 7.0 6.0 3.0 6.0 1.0 2.0 3.0 4.0 0.0 1.0 0.0 1.0 1.0 1.0 0.0 0.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 2.0 +1578 Lactobacillus genus 26.071860645382763 25.568096193783536 24.955243331890227 25.48059171062802 26.51058429295185 25.789511042050158 24.879901672467714 25.605625452176 25.126308496781522 24.607981506134767 24.52549336749947 25.09562833236197 24.009828076042034 25.785009663772243 28.18169256677534 25.601076304089087 27.788601953171483 25.598898837645407 24.4281381490314 24.46636261221123 24.614094452157513 26.239658375885387 24.140176750234502 25.22455580361567 22.6771864744845 26.226254629652413 44.0 81.0 40.0 64.0 12.0 88.0 24.0 38.0 29.0 59.0 20.0 95.0 29.0 99.0 23.0 145.0 38.0 60.0 24.0 47.0 22.0 78.0 19.0 41.0 7.0 8.0 10.0 13.0 4.0 9.0 7.0 8.0 8.0 8.0 4.0 5.0 7.0 11.0 10.0 7.0 7.0 8.0 9.0 10.0 5.0 11.0 8.0 5.0 +1654 Actinomyces genus 24.186775167248644 24.046008395481337 21.436497425347827 21.35726464049133 22.727963638349767 24.30393346415453 23.813928692372087 24.46769519564217 24.949064925240656 22.812891079116373 24.178836100997806 26.28469465184751 25.11847738730225 19.567109672861886 24.86658333250393 22.820264718767557 25.84948107081672 22.245288881120327 22.52942087091208 23.512077602775683 23.400161028066968 24.737482903760075 22.990279813841486 23.465078973056322 18.22351279328278 22.83174351327272 9.0 12.0 23.0 12.0 41.0 27.0 105.0 12.0 65.0 173.0 83.0 5.0 15.0 12.0 149.0 22.0 5.0 20.0 27.0 16.0 8.0 16.0 6.0 19.0 2.0 2.0 5.0 5.0 3.0 6.0 5.0 5.0 3.0 8.0 5.0 3.0 3.0 4.0 6.0 6.0 1.0 5.0 5.0 4.0 1.0 3.0 4.0 5.0 +1678 Bifidobacterium genus 22.353720971584988 23.47870967318576 18.3037705453952 16.559828597820207 20.13808650068961 24.528518697911444 19.444983857317137 23.1157327242796 22.27217498859397 22.964407567595124 21.334052855932207 19.895832654670702 20.90924078052963 18.301882165044955 21.03544051153116 18.181828359032984 23.045206384851717 22.65742158570482 20.441309157371585 17.9742582317299 24.964188525311588 25.126513391517218 22.608544369152842 21.17334640664609 20.057970116311285 25.610765120525624 1.0 1.0 5.0 9.0 4.0 9.0 6.0 7.0 9.0 5.0 4.0 2.0 7.0 5.0 3.0 9.0 5.0 3.0 5.0 4.0 7.0 4.0 5.0 7.0 1.0 1.0 4.0 4.0 2.0 3.0 3.0 4.0 4.0 2.0 3.0 1.0 3.0 2.0 1.0 3.0 2.0 2.0 3.0 1.0 3.0 2.0 2.0 2.0 +1716 Corynebacterium genus 19.65185673540829 21.57756655472318 20.929950766889448 23.496112309433205 21.571829845489287 21.965901017966942 17.405922968810152 20.984967900743197 19.42367690731129 16.589308606296402 19.02987659418039 17.341010261039525 19.31911366132168 20.55097487571144 19.991971172983934 20.469521757060512 19.54282728335913 19.25824536387525 17.064073537566106 20.585449285994773 18.326530102735376 22.907350021899205 15.7739178558193 19.305104629281303 18.51844693378233 22.413071916632973 3.0 5.0 5.0 6.0 4.0 4.0 7.0 1.0 3.0 2.0 2.0 2.0 5.0 4.0 3.0 3.0 1.0 5.0 3.0 3.0 3.0 5.0 2.0 3.0 2.0 3.0 4.0 4.0 2.0 3.0 2.0 1.0 2.0 2.0 1.0 1.0 3.0 2.0 1.0 2.0 1.0 4.0 3.0 2.0 3.0 3.0 1.0 2.0 +1760 Actinobacteria class 25.261785195597287 25.45188012740324 23.28392993920096 24.41375518043643 24.193309541685853 25.850402581904234 25.230703099930604 26.25280024321639 25.417953809893014 24.95574655917325 25.416481505087553 26.500601824223498 25.54169295451973 22.85594879057879 25.762026309917736 24.65620397456923 26.336750211406297 24.171710429203305 25.26559006775672 24.664260014651216 25.549934931343433 26.241663865242156 24.928925280995944 24.481334113930515 23.57305628267159 26.220228670890926 26.0 31.0 47.0 40.0 63.0 60.0 144.0 41.0 97.0 199.0 107.0 21.0 55.0 49.0 177.0 57.0 29.0 43.0 52.0 46.0 31.0 47.0 30.0 48.0 5.0 5.0 6.0 5.0 5.0 5.0 6.0 5.0 6.0 5.0 6.0 5.0 5.0 5.0 6.0 5.0 6.0 5.0 6.0 5.0 5.0 5.0 5.0 6.0 +2049 Actinomycetaceae family 24.4052734330324 24.096112449438987 21.436497425347827 21.44879501441038 22.75717010690801 24.30971578168578 23.99081221692431 24.47281775985615 24.988617839823963 22.964877150683268 24.531686245380264 26.29534468302179 25.209065289408844 19.567109672861886 25.001168464523 22.95968198794806 25.914886898293048 22.46881485593529 23.3414391350732 23.563135507044848 23.58141856381032 24.80262263953529 24.35153041772297 23.654072784049703 21.109901727125155 22.95239291241907 9.0 14.0 24.0 14.0 43.0 29.0 109.0 14.0 70.0 179.0 88.0 5.0 18.0 16.0 156.0 27.0 7.0 23.0 31.0 23.0 10.0 19.0 8.0 21.0 1.0 2.0 2.0 3.0 1.0 3.0 2.0 2.0 3.0 3.0 1.0 1.0 3.0 4.0 3.0 4.0 3.0 3.0 4.0 4.0 2.0 3.0 2.0 3.0 +9604 Hominidae family 21.02639081751512 21.47137731428368 19.835687550792173 19.235849842127674 21.21850041695829 20.892304752239557 18.69596105486389 19.529188367382684 20.648681789072462 22.445627656935763 21.34826117846077 20.833283133869745 22.39919220880013 21.310178744271294 21.660591048302393 21.46973933348701 20.54082067870073 20.772858187361773 19.418424856873767 18.14854154719847 18.527321928103238 0.0 21.801556829368792 23.65289994089177 21.201032895763817 18.22327739211902 2.0 4.0 7.0 2.0 1.0 3.0 4.0 2.0 4.0 5.0 5.0 7.0 1.0 5.0 4.0 6.0 4.0 3.0 2.0 0.0 3.0 4.0 7.0 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.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 +9823 Sus scrofa species 24.325530922130195 23.846436743634786 21.525124696076894 22.65820462785136 26.21425713079269 25.805149815707477 16.947161661879772 22.01947510532796 20.78365479618668 21.303934895910462 19.81841381228513 20.68554365150032 19.46849896567394 20.232355441139045 25.102462889204503 25.3378750139005 16.266763617805463 22.63003957537136 20.572544371199964 22.57247809976349 26.35385306312357 25.245774664161292 25.38100421713942 23.057313352935637 19.443524406042066 21.15638321139795 4.0 4.0 4.0 5.0 1.0 4.0 2.0 4.0 2.0 3.0 2.0 3.0 3.0 4.0 1.0 4.0 3.0 4.0 4.0 6.0 3.0 4.0 3.0 3.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 0.0 0.0 0.0 0.0 +28037 Streptococcus mitis species 20.758135554369076 22.342678019707797 21.384789125260035 21.5801508626408 22.590498277612863 20.713498066835786 20.46452424646934 24.47148729929228 21.950858697898717 21.569320555632054 0.0 21.443309371972514 0.0 20.95190185328572 18.196632073302787 20.373402610241357 19.245083908608354 23.48234697022449 15.015716186425506 22.037946814037465 18.676141397081782 21.10454099859288 15.001173060415228 22.406070755226448 0.0 21.265781859281553 9.0 9.0 18.0 8.0 5.0 10.0 4.0 7.0 0.0 11.0 0.0 8.0 3.0 7.0 2.0 32.0 1.0 13.0 3.0 7.0 1.0 21.0 0.0 10.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 0.0 0.0 0.0 0.0 +28211 Alphaproteobacteria class 24.843979801359172 24.687782628609625 24.291366776127358 26.267154227776874 24.193702827431398 23.81830307582273 24.08945601860057 24.69689981823864 23.636747612507733 24.039137016229354 25.365056247247487 23.50528210503187 25.24564421004673 23.833856851886754 25.521092096773014 22.87263924560997 23.717634671415443 23.002667375007128 24.710919072579504 26.44185670736461 25.169515496158496 23.9069485362055 24.316568147124297 24.071684359175038 25.83190224931592 24.00615497515959 21.0 17.0 20.0 15.0 13.0 29.0 21.0 14.0 17.0 20.0 25.0 10.0 27.0 20.0 22.0 22.0 25.0 21.0 21.0 13.0 22.0 19.0 23.0 16.0 3.0 3.0 3.0 3.0 2.0 3.0 3.0 3.0 2.0 3.0 3.0 2.0 3.0 4.0 3.0 3.0 3.0 4.0 2.0 2.0 3.0 4.0 3.0 4.0 +28216 Betaproteobacteria class 28.365589762410174 24.95624435514636 26.70830973075037 23.202543414618894 22.72383229268715 25.107843968543733 25.474667050899097 25.973721821719746 29.422079565055817 24.48036375340046 29.39425057189927 24.37786316114933 27.91539856595919 24.32607138884574 26.20337394589519 23.303154188443393 26.25740784636989 24.780784427485525 30.609906612580446 24.56892111059796 28.3353624874594 25.002599102659353 27.25374731669495 23.84324028856916 23.74780032312052 26.57470318031168 110.0 11.0 11.0 16.0 63.0 47.0 778.0 43.0 767.0 19.0 407.0 13.0 29.0 24.0 111.0 26.0 1362.0 30.0 247.0 20.0 272.0 19.0 32.0 26.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +29465 Veillonella genus 31.51741114236677 32.03608823099034 31.44794850142426 21.920424571143013 22.917137539254288 24.537853786485925 30.867679214255126 32.43249337547586 31.098800056664324 33.32886885646381 30.88073964216912 32.71790402457994 32.240953502706944 31.180921691307464 31.36354351588361 31.31706940539739 31.59517955175147 32.35952816662651 31.782760168227693 31.93593078689545 32.316209587944776 31.517181716768423 32.2491774053091 30.65589677478536 31.209819106380106 33.171337938323944 2012.0 19.0 3.0 6.0 1742.0 4215.0 2066.0 6315.0 1939.0 4297.0 3629.0 2591.0 2158.0 2560.0 2230.0 4066.0 2239.0 3020.0 3244.0 2522.0 3306.0 1853.0 2275.0 5445.0 6.0 1.0 0.0 3.0 6.0 4.0 6.0 6.0 6.0 5.0 5.0 4.0 4.0 3.0 5.0 5.0 3.0 4.0 3.0 4.0 4.0 3.0 5.0 5.0 +29466 Veillonella parvula species 26.64144708468867 26.51699061804681 26.42101398956705 16.280868019741273 0.0 19.051605191158107 23.755386065012196 23.493097904702605 26.246372376404683 27.48253283092882 25.94695331293173 27.983219986741535 28.086910393965677 26.666392770065123 25.78584089878417 22.212091721133838 22.630622638564052 21.53603931322741 26.210609374261985 28.110799028178157 27.69145569383316 25.22320693882585 27.77092978512921 25.018437850375747 24.854075080961515 27.643416490924192 86.0 1.0 0.0 1.0 19.0 12.0 41.0 123.0 75.0 238.0 203.0 127.0 61.0 12.0 12.0 9.0 87.0 202.0 157.0 42.0 144.0 43.0 35.0 127.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 0.0 0.0 0.0 0.0 +31953 Bifidobacteriaceae family 22.64944887784661 23.693497541685996 19.469895667416164 21.73079403254096 20.236411632356184 24.63433760685071 19.773023416140514 23.31077172841877 22.742871702863397 23.13717103620182 22.460207770912675 22.795339978636022 21.52805357248261 20.75725824186385 22.18978687601281 19.24967397617085 23.18389441332737 22.995068621031237 21.048718820118236 20.505393421591148 24.97509221402249 25.152210660399515 23.027340983988672 22.089917125077285 21.111974161261124 25.64208597505785 4.0 3.0 6.0 13.0 6.0 10.0 12.0 11.0 11.0 9.0 8.0 5.0 11.0 8.0 7.0 15.0 8.0 5.0 7.0 6.0 11.0 9.0 8.0 10.0 3.0 2.0 1.0 3.0 3.0 2.0 4.0 3.0 3.0 4.0 3.0 3.0 3.0 4.0 2.0 4.0 2.0 3.0 2.0 2.0 3.0 4.0 4.0 1.0 +31957 Propionibacteriaceae family 21.420117504431342 20.43508681739084 16.212242558279947 20.434819144789536 19.62353400410344 14.34542634734169 22.29921219630499 19.48270199073928 20.90560869703989 19.904567366998325 19.76148318577329 20.147225793065914 21.520664559673087 19.89091200808486 23.917248674937106 20.669185113062465 20.41681446217276 19.905517349525923 20.41046116180066 21.150267373740714 18.32093135349848 21.733535309445653 19.165149549020907 21.475312292293967 21.07928029327072 18.404215135868174 3.0 3.0 4.0 2.0 4.0 3.0 6.0 4.0 3.0 2.0 3.0 2.0 7.0 7.0 2.0 3.0 5.0 2.0 4.0 5.0 1.0 4.0 5.0 3.0 1.0 1.0 1.0 1.0 2.0 2.0 3.0 2.0 2.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 +31977 Veillonellaceae family 31.55422883515936 32.064476957953055 31.475066407636948 21.994981202058398 22.917137539254288 24.894640495397375 30.90576701665552 32.45874804192702 31.14089750696053 33.351668635776385 30.918531332268273 32.74875247294553 32.277121427969306 31.217093840249195 31.39922233336803 31.3399453773558 31.632520444887014 32.388153264905384 31.82280142955675 31.963678498646413 32.34839661710352 31.546331786704307 32.290185218811736 30.68905746899284 31.249914995611444 33.20309380171461 2054.0 21.0 3.0 11.0 1788.0 4315.0 2113.0 6429.0 1990.0 4384.0 3704.0 2656.0 2208.0 2616.0 2290.0 4155.0 2293.0 3088.0 3313.0 2575.0 3373.0 1903.0 2325.0 5552.0 3.0 3.0 1.0 4.0 3.0 3.0 4.0 3.0 3.0 4.0 3.0 4.0 3.0 3.0 3.0 3.0 4.0 4.0 3.0 3.0 3.0 4.0 3.0 3.0 +32067 Leptotrichia genus 26.87632814454778 22.50000190099926 20.41915202655261 22.548175434284307 21.75481704538733 20.889089457754665 24.74362803489037 23.62924081984736 24.78100152146741 23.456139684618698 23.67536814704201 22.28197208537886 22.55474723729297 20.10088270561237 30.07369140951351 22.830757480537898 23.00086594252221 23.53024105479763 23.97688145462492 21.364600296866413 19.127315816790805 21.004873553053635 27.700807217006602 21.651412162634067 24.46957470186582 22.17169927331586 8.0 8.0 16.0 4.0 66.0 13.0 30.0 19.0 26.0 4.0 16.0 5.0 1139.0 13.0 12.0 13.0 29.0 11.0 5.0 8.0 329.0 5.0 70.0 9.0 2.0 3.0 3.0 2.0 3.0 3.0 4.0 4.0 4.0 1.0 3.0 2.0 4.0 3.0 2.0 3.0 3.0 3.0 2.0 1.0 3.0 1.0 4.0 3.0 +39777 Veillonella atypica species 26.002488023033276 28.925868495933823 20.6761998000458 0.0 0.0 18.10802478874329 23.99943043031498 30.239989342660078 19.391663991645192 29.98281433518317 20.97014979705796 24.19409345213768 22.83305259476784 19.302196306310762 26.044295881103878 29.17207273344421 28.963819592958988 30.266802897339016 21.70656157400394 22.13097851384748 26.59247894482648 28.558288280585817 22.85144438487246 21.68586786054605 22.481599166783 29.839341828521427 5.0 0.0 0.0 2.0 39.0 1430.0 3.0 954.0 13.0 57.0 11.0 4.0 88.0 818.0 600.0 1552.0 7.0 10.0 162.0 560.0 12.0 11.0 19.0 1059.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 0.0 0.0 0.0 0.0 +39778 Veillonella dispar species 26.223378701671553 26.11167703484368 26.08278404275275 0.0 0.0 13.029746321026517 27.79440099897028 27.190720163792182 23.143826375099092 28.307297363059238 25.45620183967725 25.854832463254816 27.13709373727579 23.873104445490323 24.660054469635984 24.555019657307234 26.90324847802966 26.470024432946783 23.718629407595586 22.846539316525718 24.486096304662123 23.553245569432804 23.169684521384372 21.714073774277438 27.21978471054919 26.506144982823802 66.0 0.0 0.0 1.0 241.0 219.0 28.0 400.0 44.0 70.0 107.0 29.0 52.0 34.0 161.0 157.0 15.0 12.0 35.0 11.0 18.0 6.0 246.0 149.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 0.0 0.0 0.0 0.0 +39948 Dialister genus 20.475383719921755 20.77423450422444 16.14755331126001 16.679455493489307 0.0 20.34301271768824 20.423622827650842 20.5196389037728 19.602217640058395 19.78818965293884 22.581023552786373 17.5672443240445 20.542989433294977 19.301800789281412 15.167784462058275 19.143864930426513 18.647258818481387 23.572317187805066 17.29914637358995 18.055365450869978 18.684961946691388 20.70252303035901 19.339420927231227 19.86552772695589 22.024319443382158 19.696788689406528 2.0 1.0 0.0 2.0 2.0 5.0 5.0 4.0 5.0 1.0 3.0 2.0 2.0 3.0 2.0 3.0 2.0 4.0 3.0 5.0 1.0 2.0 5.0 3.0 1.0 1.0 0.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +41294 Bradyrhizobiaceae family 22.68855346088776 21.10269427606105 10.335010028729489 0.0 21.586389608802065 19.05512374600289 20.567796728098067 20.425337612916728 22.238123434013144 18.845590947142295 23.689646431081663 18.160633591557065 23.448265712814145 12.069416556937096 21.735823583265613 21.930058232906365 22.5525484038562 21.502669143571964 21.65479240074186 21.734472960448304 23.586109904221345 18.764671934011652 22.847554653730025 23.40615234648123 23.676256620282057 14.944293067625372 1.0 0.0 4.0 3.0 5.0 4.0 6.0 3.0 3.0 2.0 7.0 1.0 12.0 5.0 7.0 5.0 2.0 7.0 8.0 3.0 8.0 3.0 6.0 1.0 1.0 0.0 2.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 +45634 Streptococcus cristatus species 27.623299015583054 27.07666527610429 30.714753250544852 21.796029113454708 25.231322576814772 23.3454071478401 19.655539820774482 21.797907814731666 23.89515170729949 21.295953737528727 27.251139198228298 30.607986765243503 21.021596665959045 19.642196472047246 27.344168383553786 23.374387728967587 26.85239266112148 24.047103674141464 18.193064632425898 22.443462288496534 19.79901201902825 20.60372598840745 0.0 20.302171068543924 20.575094716255347 21.878997811955017 1093.0 13.0 31.0 7.0 2.0 6.0 58.0 14.0 267.0 1175.0 7.0 5.0 183.0 12.0 227.0 35.0 1.0 10.0 5.0 4.0 0.0 6.0 4.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +46124 Granulicatella adiacens species 28.90033745735379 27.24908936658999 29.951873876515926 25.99465838427973 30.197821691688706 24.661915250656772 27.263656180245608 24.353433039731478 25.21713849601449 26.643171410222074 27.163041514598042 26.98336423293744 26.576417364002374 23.562344737306482 28.57719089674505 27.491617296361532 25.978814533902213 21.734151214491764 29.567464165628557 27.854326318023766 29.749622885879802 25.03266495081101 29.06779744846661 29.401977087960486 29.071875930251263 28.46635559698795 1172.0 208.0 1436.0 73.0 295.0 85.0 120.0 288.0 321.0 361.0 281.0 57.0 666.0 492.0 127.0 4.0 1010.0 548.0 1099.0 101.0 825.0 1089.0 842.0 647.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 0.0 0.0 0.0 0.0 +46125 Abiotrophia defectiva species 26.628738819635988 20.78120434644654 28.960416939941336 19.099753613117983 25.80904810850357 15.766197725142465 0.0 17.75070319266804 23.00978221479582 22.58501222334152 26.435273410008215 21.679177775940207 23.942154466879487 21.999260734526796 20.619879008620806 0.0 18.982923663447387 0.0 15.212344916016825 21.25296516854647 21.74248617188093 15.85655431424852 28.697968350500325 18.912552905674037 21.8715538842454 18.13897592327781 722.0 3.0 183.0 2.0 0.0 2.0 27.0 32.0 195.0 7.0 60.0 8.0 4.0 0.0 2.0 0.0 2.0 4.0 10.0 1.0 810.0 5.0 21.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.0 0.0 0.0 0.0 0.0 0.0 +49546 Flavobacteriaceae family 22.95539686895873 22.184635679496104 21.053214080296463 20.256819457174846 21.968078863512183 22.25191177656353 19.382691888774904 19.574810959356554 21.996716066452095 20.9705383493245 21.743454456244287 16.642544464854687 21.215805800141066 20.705471084734796 24.75630444764119 21.945410258424978 20.968432109785596 22.515892940481333 22.891293091222163 21.360360694495203 22.452020117647084 24.67431493599751 25.019608905828353 21.35232726973642 21.300785779193106 21.977375913825426 5.0 3.0 9.0 6.0 4.0 4.0 9.0 5.0 16.0 2.0 8.0 4.0 13.0 12.0 4.0 17.0 14.0 8.0 12.0 12.0 10.0 6.0 8.0 4.0 1.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 3.0 1.0 1.0 1.0 1.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 1.0 2.0 1.0 2.0 +72274 Pseudomonadales order 23.211608816017442 21.436860926993376 20.48333881236893 21.749460929250787 23.448375795796963 22.840239423554333 22.85533086446144 17.565114570883846 23.37942306785249 20.219794253885702 21.70323899989416 21.913338877384447 19.822503627163037 19.01537263574566 22.80237570310143 20.95703577687511 18.685241717022148 22.543994909741286 22.60205366229209 19.862781156775448 24.32846987041285 20.269210935658947 25.421771099001425 22.677675709238283 19.404033335324762 15.850940270882376 3.0 6.0 3.0 11.0 11.0 4.0 7.0 7.0 12.0 6.0 7.0 5.0 21.0 11.0 2.0 8.0 7.0 8.0 8.0 6.0 9.0 6.0 5.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 +80840 Burkholderiales order 23.2347231820503 24.191857549926716 24.640769391475434 22.498925791530908 22.434189871458987 24.28171830712745 22.590903722923898 25.46051458378805 21.70902362673431 22.29227233376329 23.194711590563134 21.508181128805152 21.98737056688548 22.182517037441283 22.731219482073325 22.394046776728832 21.57570877848681 23.148679590417558 24.86081869554077 24.34593780080068 23.66919857279261 23.69406861788015 22.401891846578025 21.900975789308337 21.81162965085725 26.438840101500762 6.0 6.0 9.0 7.0 10.0 14.0 10.0 14.0 12.0 4.0 14.0 8.0 15.0 10.0 7.0 13.0 13.0 9.0 21.0 9.0 13.0 12.0 11.0 16.0 3.0 3.0 3.0 3.0 4.0 3.0 3.0 3.0 3.0 2.0 4.0 3.0 4.0 3.0 3.0 3.0 3.0 3.0 4.0 3.0 4.0 3.0 4.0 3.0 +80864 Comamonadaceae family 22.553357356490967 23.467860526085104 24.55927046776253 22.493776580893535 19.11615478341163 20.472799312518443 22.401483379048962 24.37981662672276 20.209160576645992 22.044405002453605 22.39734668411217 21.156542482345518 19.28393936206647 20.555383962244363 22.53630592221213 19.104938248173816 20.150509117096373 20.741430420533984 24.53833522418264 23.85374233705968 19.61583461514025 23.251330123308914 20.886497842929156 20.641166070602747 20.31308379631421 26.116062785322036 4.0 4.0 5.0 2.0 7.0 7.0 2.0 7.0 8.0 1.0 5.0 2.0 11.0 3.0 5.0 6.0 3.0 2.0 7.0 4.0 6.0 6.0 4.0 6.0 2.0 3.0 3.0 1.0 4.0 4.0 2.0 3.0 4.0 1.0 2.0 1.0 4.0 1.0 3.0 3.0 2.0 2.0 2.0 3.0 2.0 2.0 3.0 2.0 +84998 Coriobacteriia class 23.14508153930618 23.54696035796893 24.93836083009677 21.298333283010308 24.201904039997398 23.98208553086095 21.63561518415503 22.605770793287906 22.806183564218887 22.413373543011737 23.421379463420717 19.904829849577574 22.147839147836102 22.52463460472465 22.058303592263094 24.234078752779546 23.087297488120807 23.80921351196737 22.22172847226572 23.0921237197876 22.63341242005798 24.70456980061807 21.844043109426398 23.39418001078622 22.23900471652377 24.696966219441077 7.0 2.0 8.0 10.0 7.0 6.0 12.0 12.0 8.0 3.0 5.0 4.0 11.0 14.0 4.0 6.0 7.0 9.0 11.0 7.0 2.0 12.0 7.0 10.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +85006 Micrococcales order 22.586370352036727 23.01235790908957 20.455403749519085 21.395321992361687 22.70368156022507 23.183597077544473 23.86818258158437 25.32143056025439 20.521727047091893 23.47473581607291 23.411770581173386 21.776647123518085 19.534027653510265 21.15592617410852 20.073269346152426 22.684610531222248 21.867516921755428 18.60344539049197 24.56836286925435 23.05353705527972 21.247562161917845 19.24809843633105 20.35610867041418 20.79075017585688 22.232191242810305 23.4484323027435 6.0 6.0 7.0 4.0 4.0 8.0 7.0 7.0 5.0 6.0 2.0 5.0 10.0 10.0 4.0 3.0 5.0 6.0 5.0 5.0 6.0 6.0 5.0 7.0 3.0 4.0 4.0 3.0 4.0 4.0 3.0 4.0 3.0 3.0 2.0 2.0 3.0 3.0 3.0 2.0 3.0 3.0 3.0 3.0 3.0 4.0 3.0 3.0 +85007 Corynebacteriales order 20.89621089023022 22.097896007197214 22.292001014110145 23.496112309433205 21.571829845489287 21.97216500741744 20.346391725356156 21.73443663083981 19.67363911626743 21.24760326778989 20.367401416414186 19.090470917630338 20.706195241929745 20.725344988740886 20.603480712987 23.14104831067083 22.646324642159936 21.67683472657033 17.721720997384278 20.6733380100895 19.40835785722902 23.05007269022569 15.7739178558193 19.970945130063374 19.623305864543862 22.432811998629635 4.0 5.0 5.0 7.0 6.0 9.0 9.0 5.0 6.0 3.0 5.0 4.0 9.0 8.0 7.0 9.0 3.0 7.0 4.0 7.0 3.0 9.0 4.0 6.0 2.0 1.0 1.0 2.0 2.0 2.0 3.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +91061 Bacilli class 31.75015107403585 32.86740180321424 33.19818285333216 32.53634809152527 33.471692118380325 33.41776964038733 29.98305074990491 32.487138974885305 29.959726575269407 32.09665407790267 30.485589622086426 32.78364188686572 31.26083442148846 32.33573912230939 31.259381958947355 33.47172572315231 30.06101094376124 33.247528462170834 31.18586962719752 32.85649036482498 32.23201166082143 32.891064480452485 30.723201707236942 32.85009246631836 31.18726288042805 32.76584001137989 7668.0 6139.0 9063.0 9032.0 1634.0 6928.0 1549.0 5576.0 2286.0 6751.0 2794.0 5179.0 2958.0 10240.0 1423.0 8414.0 2899.0 6600.0 5165.0 7616.0 2681.0 7662.0 3167.0 6708.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +91347 Enterobacterales order 25.735637383160963 22.553758899640883 22.53535453950437 19.899831515231558 24.48153523500128 23.753503836758362 24.18118011667176 20.503588102210752 22.96372225617252 21.807045001047527 25.27206194662444 21.54665234946141 23.60251228230516 21.96002814366796 22.612875105764168 21.731078631271604 22.586310160651852 18.811569889016454 28.89480487395267 24.919711698554675 24.31413961529516 21.28560975653187 23.99092218485465 19.108949518935365 23.410538511547088 22.86927944783216 8.0 6.0 7.0 18.0 13.0 6.0 20.0 7.0 15.0 10.0 13.0 4.0 15.0 9.0 9.0 4.0 262.0 51.0 22.0 6.0 12.0 6.0 11.0 13.0 4.0 3.0 2.0 4.0 2.0 1.0 3.0 2.0 3.0 2.0 2.0 1.0 3.0 3.0 1.0 2.0 2.0 3.0 4.0 3.0 2.0 1.0 3.0 3.0 +113107 Streptococcus australis species 21.313924145755745 23.468216671412254 23.205566161747193 22.657433950106007 22.89419209075973 25.88870155756507 0.0 22.053485426955323 16.635360697195402 22.404928834458214 0.0 20.8407876062566 21.216733954492867 20.533499516429316 18.262234492451263 25.28089331395021 19.95540737494885 21.819786733079887 18.058830674971485 19.70254736284236 20.082344291003853 22.528619298505305 0.0 21.0375782448319 19.49837347980613 21.814744251304308 28.0 13.0 16.0 54.0 0.0 11.0 2.0 13.0 0.0 10.0 4.0 6.0 3.0 31.0 2.0 9.0 5.0 5.0 4.0 17.0 0.0 5.0 3.0 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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +117563 Granulicatella genus 29.335914227242107 27.72180497869329 30.413671013930895 26.402636976810626 30.76306729105667 25.421953256163324 27.882411819922943 24.98908586932859 25.823936606464358 27.38105835588175 27.50154555454619 27.506143341493395 27.010923114345573 24.26276372174167 29.095677667905488 28.106579177918892 26.414541209696754 21.94459202170248 29.92256122924555 28.31186104695985 30.10101524918847 25.551148395091968 29.41032584579755 29.813888256032605 29.384890590062646 28.852111899596967 1558.0 266.0 1767.0 116.0 450.0 128.0 172.0 385.0 394.0 455.0 342.0 81.0 818.0 612.0 181.0 5.0 1215.0 682.0 1319.0 138.0 1002.0 1324.0 1018.0 804.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 +119060 Burkholderiaceae family 21.087905416507713 22.111375637395163 15.793389527669685 12.646913477082734 22.26006255927061 24.159881049635114 17.87681942116253 21.744161593253217 18.68483477351511 18.890641837767173 0.0 19.013924712699193 19.151590645786253 21.562509086455336 15.267438886147394 22.23515002669113 20.51472221359305 22.30587219269001 21.14959037862416 19.39032848246721 23.301935168506517 21.624771600007925 21.137724927527515 16.5345809918755 20.681239134180625 23.724270919891786 1.0 1.0 3.0 3.0 1.0 3.0 4.0 6.0 0.0 2.0 4.0 4.0 2.0 6.0 1.0 3.0 5.0 3.0 8.0 3.0 3.0 2.0 4.0 5.0 1.0 1.0 2.0 2.0 1.0 2.0 3.0 3.0 0.0 2.0 3.0 2.0 2.0 3.0 1.0 3.0 3.0 3.0 4.0 2.0 2.0 2.0 2.0 2.0 +128827 Erysipelotrichaceae family 21.94315426172615 21.709017550631188 19.92208376387618 20.79180458919052 22.01052828228756 21.619008605483177 21.482036873726425 21.814440071221927 21.08257769811009 21.96684259871955 20.63054799968411 20.597032608244312 21.67045875135301 18.79330515947873 22.73105738420188 19.32390074994257 22.807729632330858 21.945108925007304 18.670070078065933 20.3262881739165 22.09304111150053 21.378342219120807 22.78076299382864 23.846139867838684 22.66642294492146 21.23020778203639 4.0 4.0 5.0 4.0 5.0 5.0 5.0 4.0 3.0 2.0 4.0 1.0 6.0 4.0 5.0 8.0 2.0 3.0 3.0 2.0 4.0 2.0 10.0 7.0 3.0 2.0 3.0 3.0 2.0 3.0 3.0 3.0 3.0 2.0 2.0 1.0 3.0 1.0 3.0 4.0 1.0 2.0 3.0 2.0 3.0 2.0 4.0 3.0 +133925 Olsenella genus 22.778447659793464 23.07736211214992 24.906706105494145 21.298333283010308 24.187709110179977 23.882132214231657 21.53520950373888 22.477262535564343 21.325607122956495 22.14993174402777 20.954813956948872 19.055577752540145 20.58181447404851 22.433918855758463 21.734296752612934 23.897766281340804 22.118868778176 23.67885542851413 21.90228873450288 22.066757418907887 21.71948293977056 22.293308955715165 0.0 23.185241175030328 21.89195894426266 24.476042613171806 4.0 2.0 7.0 6.0 4.0 3.0 3.0 6.0 5.0 1.0 2.0 2.0 4.0 5.0 2.0 4.0 4.0 3.0 2.0 2.0 0.0 5.0 4.0 3.0 1.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 0.0 1.0 1.0 2.0 1.0 2.0 2.0 1.0 1.0 1.0 0.0 2.0 2.0 1.0 +137732 Granulicatella elegans species 23.567621660240857 21.069264261163763 26.12746056922684 17.536082886512116 25.00426386923168 21.77642443922289 24.433200605234326 21.067083796391746 21.226528810176593 19.90164920954916 19.462942921283013 22.28197188702657 18.465230972198636 16.989546288954333 20.23192536646712 20.276510436197146 17.087148567682984 19.063370423241416 22.127331088963707 20.894636008526767 21.337173636703003 21.69184925621571 20.667521800648856 21.09181854802461 22.46049242706653 22.202117362924714 131.0 1.0 37.0 5.0 64.0 3.0 5.0 6.0 4.0 9.0 3.0 1.0 6.0 7.0 1.0 1.0 10.0 6.0 10.0 2.0 9.0 9.0 8.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +162289 Peptoniphilus genus 20.201838901917675 20.935786611658095 20.095941897291656 17.458018612083613 20.639182095582605 21.557597220761505 18.405701110984637 21.672324817303632 19.049878256302033 16.968073016709972 20.4155104569531 21.464736906507387 18.578789254161453 20.144535679020624 20.98096272404288 20.637384038449788 19.581589510387033 17.894561182473726 19.677388612306245 22.19096496348532 22.32440912099536 22.521627731015897 15.664003208349927 19.129616348039672 15.357538562556995 14.461920484999919 3.0 2.0 1.0 5.0 3.0 5.0 3.0 2.0 6.0 5.0 3.0 3.0 11.0 5.0 7.0 6.0 4.0 4.0 5.0 4.0 1.0 1.0 1.0 3.0 1.0 1.0 0.0 1.0 2.0 0.0 1.0 0.0 2.0 1.0 1.0 0.0 2.0 2.0 1.0 2.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 1.0 +165779 Anaerococcus genus 22.181951893762225 19.524944226849325 18.54040224746611 0.0 18.285627505089998 0.0 24.106357177808448 20.257920789870575 21.904204306905378 19.267195913599103 20.644386305593947 19.452982990155327 18.815359043867304 0.0 24.371298230041628 18.7813338511602 18.6227485074234 18.41930112903463 21.7168574248358 20.102602136175552 21.405867427869996 18.098571010621395 18.952392501270264 19.916949357294648 21.72754217567088 19.916223151096137 1.0 0.0 1.0 0.0 3.0 5.0 6.0 3.0 7.0 3.0 6.0 0.0 7.0 3.0 2.0 6.0 3.0 4.0 2.0 1.0 2.0 4.0 4.0 3.0 0.0 0.0 1.0 0.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 0.0 3.0 1.0 1.0 2.0 1.0 3.0 1.0 0.0 2.0 2.0 2.0 2.0 +171549 Bacteroidales order 27.11246709394449 24.562576614744945 24.944867816434122 23.783485715338426 23.285044823530676 24.013211460431446 28.002512747700592 25.97340627774153 26.704511675639054 25.9576832453008 28.530372960671315 24.25642379523949 24.514976039856144 23.078445408021828 25.646260272992144 24.63036718621397 26.500053600009604 23.96656855958961 29.380793547441627 23.649943761636237 24.64756690751292 24.212398176416677 24.044408009842616 23.976128543073234 24.155765207210003 23.794822508022353 33.0 16.0 32.0 36.0 380.0 41.0 236.0 40.0 510.0 27.0 39.0 30.0 92.0 45.0 228.0 18.0 592.0 39.0 39.0 32.0 21.0 40.0 47.0 27.0 3.0 3.0 3.0 3.0 3.0 4.0 5.0 4.0 4.0 2.0 4.0 4.0 4.0 3.0 3.0 3.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 2.0 +171552 Prevotellaceae family 26.74811884282495 24.292188060169085 24.90968544001194 23.76769396904597 22.945370015330663 23.79478896429173 27.629734899853467 25.941138129936537 26.40961615350691 25.21701343385916 28.20626768810892 24.252308724458054 24.02580279007446 22.7820570283134 25.3125857354077 24.36315856891433 25.931423914832806 23.706176617830877 29.006379178098395 23.332642456861983 24.308142670553316 23.88297855897874 23.62273286904233 23.477906631163297 23.365131128990388 23.74749976140898 30.0 13.0 24.0 31.0 291.0 37.0 174.0 34.0 371.0 26.0 29.0 22.0 65.0 37.0 179.0 15.0 439.0 28.0 28.0 23.0 16.0 26.0 31.0 25.0 3.0 1.0 3.0 3.0 3.0 3.0 3.0 2.0 3.0 2.0 2.0 3.0 2.0 3.0 3.0 1.0 3.0 2.0 3.0 3.0 2.0 3.0 3.0 3.0 +186802 Clostridiales order 27.863271945455107 24.89694791742496 23.952601790078003 23.382612698668204 24.563979662294745 25.66250655802362 26.50537391375444 24.670766652508487 27.47118119328121 25.559307298233794 28.667584600827823 24.211296140306832 24.412590298585897 22.95840329296431 30.663445376840397 24.575240647891196 28.419145515831342 24.903007391501962 24.664174144419366 25.195282096559488 24.819175832430634 25.486779161783137 24.046196276634678 23.435373359029487 24.61998960882041 25.68565349635784 21.0 16.0 28.0 34.0 145.0 38.0 259.0 28.0 478.0 27.0 33.0 20.0 1608.0 31.0 589.0 39.0 45.0 29.0 30.0 29.0 25.0 32.0 35.0 30.0 3.0 3.0 5.0 5.0 5.0 5.0 4.0 5.0 3.0 3.0 4.0 2.0 4.0 5.0 5.0 5.0 4.0 2.0 6.0 4.0 5.0 4.0 4.0 4.0 +186803 Lachnospiraceae family 26.5365208447825 23.631763199191433 22.087311335035402 22.79585491145375 23.53196031781843 24.852435641022282 25.631919926921476 23.90111675045971 26.73789832392785 24.719078596846717 28.15251788974698 23.06461319613091 24.167726655066037 21.90507970150146 28.388958009012644 21.770735402515168 28.0403001951791 22.89168204837938 22.357687385759732 23.915165846870323 23.17971856066495 24.787901815427915 23.057293247201013 21.357847362865826 24.19542896186232 21.77269613118817 7.0 6.0 8.0 14.0 101.0 14.0 171.0 10.0 339.0 13.0 18.0 9.0 555.0 14.0 472.0 12.0 19.0 13.0 10.0 8.0 7.0 14.0 17.0 8.0 5.0 5.0 4.0 4.0 6.0 7.0 6.0 5.0 6.0 5.0 6.0 4.0 5.0 4.0 4.0 5.0 6.0 6.0 4.0 4.0 5.0 5.0 5.0 4.0 +186804 Peptostreptococcaceae family 26.50576303283946 22.77781549088921 19.540792505123356 19.84806419896069 22.819589079970022 21.027723891538827 24.763189566035965 20.999686610342817 24.261955804622158 23.49110450487055 22.999178752845093 23.100496530397194 19.76915852281815 19.385789451266827 29.968447136120105 22.94392931334128 20.913114046987012 23.785806263034466 23.39222819287117 24.000815069824558 22.53339035606349 21.438149419850628 21.396501452612977 21.68498629242661 22.27364441375489 23.750921313716326 5.0 4.0 8.0 8.0 11.0 8.0 13.0 8.0 11.0 8.0 5.0 6.0 823.0 8.0 6.0 11.0 10.0 9.0 4.0 9.0 9.0 10.0 9.0 9.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0 3.0 2.0 3.0 2.0 3.0 3.0 2.0 2.0 2.0 3.0 3.0 2.0 3.0 2.0 2.0 3.0 3.0 +186817 Bacillaceae family 22.570847598578485 22.801452183141325 20.242474851896567 18.681629498806686 23.7103896124936 22.023698162750723 21.75006904563679 23.317915417373953 18.66114108601868 22.80835765154499 19.62130929490416 23.463607424960884 21.016206124745807 20.195501193513103 21.062306668679586 19.654249754211573 24.95959966932345 23.473609382705803 22.5504064210192 23.41637953270925 21.930277730004786 24.25545095666748 22.158404441038705 22.485399518658088 21.64944736627069 21.466926879076667 5.0 3.0 17.0 14.0 3.0 6.0 2.0 5.0 5.0 6.0 2.0 4.0 6.0 4.0 3.0 6.0 7.0 4.0 6.0 8.0 8.0 6.0 5.0 8.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 3.0 4.0 2.0 2.0 2.0 2.0 1.0 2.0 3.0 2.0 1.0 2.0 1.0 1.0 2.0 2.0 +186826 Lactobacillales order 31.624961216626073 32.82607257476154 33.07344056380458 32.51934163852834 33.3198111180399 33.336308791928026 29.896010581156546 32.41815470205883 29.797461167864398 32.07212537828489 30.28704779128689 32.75281095238583 31.205146024163824 32.30220534677862 31.227061976818838 33.44939184500077 29.95188914741597 33.211365393661396 31.06755276937293 32.81533279161321 32.11867686086419 32.83791516782056 30.448900568265948 32.809138485692365 31.118885149069985 32.73506567706285 6966.0 6021.0 8172.0 8408.0 1515.0 6337.0 1365.0 5450.0 2005.0 6477.0 2606.0 5039.0 2881.0 10061.0 1344.0 8170.0 2740.0 6271.0 4767.0 7439.0 2293.0 7387.0 3039.0 6544.0 5.0 5.0 5.0 6.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 4.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +186828 Carnobacteriaceae family 29.370782956946545 27.76291872885829 30.45205190480293 26.44567414063633 30.80052630843073 25.50136840621385 27.949991248719286 25.096514095318927 25.84346609244545 27.411982722456088 27.545877569115024 27.556496957261142 27.039539261526624 24.35368723929883 29.119815327540454 28.148859821091445 26.43892281618993 22.125819946360302 29.958204995434414 28.36165393233391 30.127169817560702 25.60474890363494 29.445113550155025 29.852628216951423 29.417401201065307 28.877877032501136 1589.0 275.0 1801.0 122.0 466.0 139.0 175.0 397.0 408.0 468.0 351.0 86.0 834.0 633.0 189.0 8.0 1241.0 701.0 1342.0 144.0 1022.0 1354.0 1037.0 820.0 4.0 2.0 4.0 2.0 2.0 3.0 1.0 2.0 2.0 3.0 2.0 2.0 2.0 3.0 1.0 3.0 3.0 3.0 4.0 3.0 2.0 3.0 3.0 2.0 +201174 Actinobacteria phylum 25.848277880139772 26.325724303322954 25.44335839169099 24.625460641630102 25.33543024901195 26.38080966473031 25.535504291293343 26.432968311699227 26.05461112945051 25.55469987414196 26.42242309131936 28.360248473709262 26.107375855401784 23.77153256852889 25.92736316146503 25.52368780268969 26.853740005007413 25.03652938829249 25.54138501730898 25.692973874996692 26.004114181742978 26.711928108192282 25.12446117832511 25.147214886514345 24.147582575694734 26.7550700410886 43.0 38.0 67.0 55.0 86.0 79.0 193.0 75.0 213.0 616.0 148.0 28.0 75.0 72.0 244.0 67.0 40.0 106.0 103.0 59.0 37.0 72.0 44.0 68.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +203491 Fusobacteriales order 33.38002013665451 28.295833495799307 24.953765013169388 23.39474377708772 22.158725210149065 22.4400400075868 33.59080400592074 23.888070155521852 34.431519799776396 23.8573320035419 34.1886038452706 25.37554191560617 33.70026130473536 22.995262341376602 34.022783559925536 23.577493557965546 33.47460978598078 23.948908867624336 32.28572696244835 31.819132692586976 28.511733948621806 22.388215025444584 33.39902556861409 22.389636458774675 34.077528430474004 24.655465254846373 104.0 14.0 21.0 10.0 6000.0 27.0 9761.0 36.0 8490.0 101.0 7246.0 30.0 8834.0 40.0 5044.0 27.0 3529.0 3512.0 511.0 14.0 6374.0 16.0 8100.0 44.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +213849 Campylobacterales order 22.877553191845465 23.42651999615718 19.75597554022685 20.606446832930114 22.374052312423657 22.175914745445667 20.754706572915023 21.497720060388442 22.151782833367424 21.424623443460977 20.230148010413348 18.916555043688426 21.418564344944826 20.053670388187925 26.080710859770953 24.38212216239476 20.727427914381174 22.276599643574947 18.169051721776746 26.353858284366478 18.911902395646823 20.233239126385538 19.83361162568149 20.64842005221573 20.26551706334565 22.519209227282648 4.0 5.0 2.0 5.0 3.0 7.0 29.0 6.0 8.0 5.0 20.0 5.0 223.0 9.0 6.0 10.0 5.0 8.0 3.0 5.0 7.0 6.0 9.0 8.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 +265975 Oribacterium genus 22.85370496486701 22.969449265232587 20.101741577180146 22.56398402487284 23.25810957623011 24.35778742523521 17.537402719954088 23.019926560099467 23.64564127296471 24.502619342726426 25.456991203534198 22.64581756693985 20.73947311260018 20.991664986330107 19.27059493275521 21.224731815990502 18.322952255478427 22.452431799569784 19.905251328586328 23.476605187984386 22.92791542377163 23.10492022633954 17.90746229105769 19.411570648409775 23.020270023870978 18.418708679724237 2.0 2.0 2.0 6.0 1.0 4.0 11.0 3.0 10.0 5.0 7.0 3.0 6.0 3.0 2.0 3.0 5.0 5.0 5.0 4.0 1.0 4.0 5.0 1.0 0.0 0.0 0.0 2.0 0.0 1.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 1.0 0.0 0.0 0.0 1.0 2.0 0.0 1.0 1.0 1.0 0.0 +416916 Aggregatibacter genus 26.028143565805202 21.963715511593186 19.071697785619996 24.132215681040503 18.581288524695864 20.644965500038744 23.12659650295228 21.18444264381485 27.65467355347139 21.438699817819206 25.29209629021757 23.74316993948855 23.720591679972035 21.08701566361023 28.85395927826012 16.378181817066846 24.00350903786073 17.7667506724018 20.87439115632514 19.272291498679323 24.40326724487193 0.0 23.155822634831036 15.8378395946466 23.165629190009927 21.236082242783827 3.0 4.0 2.0 2.0 5.0 3.0 364.0 9.0 41.0 12.0 18.0 5.0 493.0 2.0 29.0 2.0 3.0 3.0 27.0 0.0 14.0 2.0 9.0 8.0 1.0 2.0 1.0 1.0 2.0 1.0 3.0 2.0 3.0 3.0 3.0 3.0 3.0 1.0 3.0 1.0 2.0 1.0 3.0 0.0 3.0 2.0 2.0 3.0 +649777 Synergistaceae family 21.34410870483268 20.342481859790933 12.722775191402784 18.92833567189773 20.513630556865273 0.0 21.123541056925603 16.633712993437534 17.439985048901242 19.296406260651942 20.62546717088497 22.722314508599528 18.941545335029307 12.558719922528866 23.26590054186841 18.81660458896966 20.71863709736182 21.23783558474517 20.577158921964482 19.019500051140387 23.284148568284248 21.194625956766988 20.366267968252497 17.258831083285212 19.802895038657333 18.718863384956276 1.0 3.0 3.0 0.0 4.0 2.0 3.0 4.0 3.0 3.0 2.0 1.0 9.0 4.0 1.0 4.0 2.0 4.0 2.0 3.0 4.0 2.0 2.0 1.0 1.0 3.0 2.0 0.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 1.0 3.0 2.0 1.0 2.0 2.0 3.0 2.0 3.0 3.0 2.0 2.0 0.0 +909932 Negativicutes class 31.642194031354713 32.13468762235439 31.544314244694014 22.26107368410749 23.403415372397927 25.274630134164894 30.995174586086407 32.534383226499486 31.221607191441215 33.416289115554946 31.007758003630567 32.812479432123524 32.3657796226359 31.27982807466682 31.50580897261089 31.419980035372852 31.73676675760914 32.46689932493384 31.90335373250952 32.01991155162215 32.440506546087626 31.624366871994567 32.376633329293604 30.77201116376389 31.324387306077984 33.27525557843209 2112.0 24.0 13.0 22.0 1858.0 4415.0 2187.0 6539.0 2047.0 4470.0 3786.0 2718.0 2281.0 2701.0 2355.0 4257.0 2365.0 3164.0 3391.0 2649.0 3465.0 1957.0 2384.0 5655.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 +1570339 Peptoniphilaceae family 23.376192221156746 21.9233285218442 21.530370272488227 18.080746778833426 22.069344119853483 21.69336496273765 24.224440757757648 23.248488219093908 22.70511207327184 20.87440581741395 22.21077750839318 21.90605373227633 20.779175868793548 20.912271401897566 25.86972432971436 21.05424678262083 21.751447218169673 22.82055468109171 22.872969174097605 22.769851569191083 22.94097984639506 22.587358803525447 21.898503869358407 20.8124661881928 22.427603428836107 20.403651221891238 8.0 4.0 5.0 7.0 9.0 15.0 16.0 11.0 20.0 11.0 13.0 8.0 28.0 9.0 16.0 17.0 10.0 13.0 8.0 5.0 7.0 9.0 9.0 8.0 4.0 2.0 4.0 3.0 4.0 4.0 4.0 4.0 4.0 3.0 3.0 3.0 4.0 3.0 4.0 4.0 4.0 3.0 3.0 2.0 4.0 3.0 4.0 3.0 +1643824 Atopobiaceae family 23.095961409992302 23.208563169782163 24.915226695607878 21.298333283010308 24.201904039997398 23.93953836973515 21.588480102781343 22.589064661598893 22.67860039633661 22.386543718617833 23.38407466541362 19.904829849577574 22.032654192647296 22.494976060551032 21.97127765348275 23.91618649632667 23.087297488120807 23.709595883268843 21.94359747287084 22.81282029308393 22.48415692721951 22.29631653248385 21.844043109426398 23.250123815558876 22.211599792157088 24.682377093999648 6.0 2.0 8.0 7.0 5.0 5.0 10.0 10.0 7.0 3.0 3.0 3.0 9.0 8.0 4.0 5.0 5.0 6.0 5.0 3.0 2.0 8.0 6.0 7.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +1843491 Selenomonadaceae family 23.23864639783701 22.8728938280295 22.15215088671252 17.208137383583722 21.598185771677297 22.661543465600804 23.015096873655523 22.531134703617262 22.68649736015477 23.24016576883264 23.96621462793578 21.778565860399933 24.31621982642957 21.414594274785475 23.418189249072828 20.40663564024541 23.612216055685572 22.864012545765014 22.747995432652267 22.521151691407837 22.712049747539854 24.22506609220036 23.83919133820257 24.50800705913742 22.384756810701738 22.106172333873914 9.0 2.0 10.0 10.0 14.0 13.0 15.0 10.0 15.0 7.0 18.0 6.0 16.0 9.0 8.0 12.0 12.0 12.0 13.0 9.0 16.0 9.0 10.0 9.0 2.0 1.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 1.0 3.0 1.0 3.0 3.0 3.0 2.0 2.0 2.0 3.0 2.0 3.0 2.0 2.0 3.0 diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index b90aad8..991408d 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -262,7 +262,7 @@ heatmap_cli <- function(args){ # get color mapping colSideColors <- get_colors_from_groups(args[5], all_intcols) - filter_to_sig <- (args[6] == "True") + filter_to_sig <- (args[6] != "None") alpha <- as.numeric(args[7]) width <- as.numeric(args[8]) height <- as.numeric(args[9]) diff --git a/tests/travis/testCLI.py b/tests/travis/testCLI.py index 5ddd9f8..9123f04 100644 --- a/tests/travis/testCLI.py +++ b/tests/travis/testCLI.py @@ -57,6 +57,20 @@ def testViz(self): test_status = subprocess.call(cmd, shell=True) self.assertEqual(test_status, 0) + def testHeatmapViz(self): + infile = testfile('ec_ttest_tested.tab') + imgfile = testfile('cli_heatmap_viz.png') + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m f --ontology ec --plottype heatmap', + '--infile', infile, + '--img', imgfile, + "--samps '", TTEST_SINFO, "'", + '--filter_to_sig', + '--alpha 0.5' + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + if __name__ == '__main__': unittest.main() From 8449564e8704e53181ea2431d8cfe06e59d1088b Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 16:38:45 -0500 Subject: [PATCH 04/23] column check in heatmap --- metaquantome/modules/viz.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 991408d..bd9ea96 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -199,6 +199,10 @@ mq_heatmap <- function(img, df, all_intcols, colSideColors, filter_to_sig, alpha # colSide colors is a vector of colors for the groups. Must be in the same order as samp_columns # filter to sig if (filter_to_sig){ + pvals <- df$corrected_p + if (is.null(pvals)) { + stop("the dataset does not have a column named 'corrected_p'. did you run metaquantome stat?") + } df <- df[df$corrected_p < alpha, ] if (nrow(df) == 0) { stop("after filtering to provided value of alpha, no rows remain. please increase alpha") From 4d7b61afdec57a845614a0edd59633112195eba7 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 17:04:20 -0500 Subject: [PATCH 05/23] fix heatmap bug introduced in last bugfix --- metaquantome/cli.py | 1 + metaquantome/data/test/cli_heatmap_viz.png | Bin 26993 -> 27778 bytes metaquantome/data/test/cli_pca_viz.png | Bin 0 -> 188818 bytes metaquantome/data/test/test.png | Bin 21109 -> 0 bytes metaquantome/modules/viz.R | 8 +++++--- tests/travis/testCLI.py | 22 +++++++++++++++++++++ tests/travis/testRunViz.py | 7 +++++++ 7 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 metaquantome/data/test/cli_pca_viz.png delete mode 100644 metaquantome/data/test/test.png diff --git a/metaquantome/cli.py b/metaquantome/cli.py index ca802c3..69ec62a 100755 --- a/metaquantome/cli.py +++ b/metaquantome/cli.py @@ -54,6 +54,7 @@ def cli(): flip_fc=args.flip_fc, gosplit=args.gosplit, sinfo=args.samps, + filter_to_sig=args.filter_to_sig, alpha=args.alpha, whichway=args.whichway, name=args.name, diff --git a/metaquantome/data/test/cli_heatmap_viz.png b/metaquantome/data/test/cli_heatmap_viz.png index 45a4520941a891848eda3fdb5813aac6faa3f49c..7dd0cbfb2afff4f26fa003ea1e5c5f66caa9f352 100644 GIT binary patch literal 27778 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 diff --git a/metaquantome/data/test/cli_pca_viz.png b/metaquantome/data/test/cli_pca_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..df1913bc5eda25a7d04c66bfa13afca08a3deecd GIT binary patch literal 188818 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 z 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

+K)E!|~dTZN3m!Ot_80UkPp4Kt7tlTg16cL*$d@ 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 Date: Thu, 28 Mar 2019 17:50:59 -0500 Subject: [PATCH 06/23] update dependencies and fix pca error (coming from r > 3.5?) --- dev_environment.yml | 21 +++++++++++---------- metaquantome/modules/viz.R | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/dev_environment.yml b/dev_environment.yml index 9ec7ec0..37149f8 100644 --- a/dev_environment.yml +++ b/dev_environment.yml @@ -5,14 +5,15 @@ channels: - conda-forge - r dependencies: -- python==3.5.* -- ete3==3.1.1 -- goatools==0.7.11 -- statsmodels==0.8.0 -- biopython==1.70 +- python>=3 +- ete3==3.1.* +- goatools==0.7.* +- statsmodels==0.8.* +- biopython==1.73.* - pandas==0.23.* -- r-gplots==3.0.1 -- r-ggplot2 -- r-base==3.4.* -- r-jsonlite=1.5 -- libiconv +- numpy 1.15.* +- r-gplots==3.0.* +- r-ggplot2==3.0.* +- r-base==3.5.1 +- r-jsonlite=1.5.* +- libiconv 1.15.* diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index b994bf4..8d67b71 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -301,7 +301,7 @@ sep_n <- function(clust){ dists[i] <- sum((means[[comb[1]]] - means[[comb[2]]])^2) } avg_dist <- mean(dists) - within_variance <- sapply(1:nclust, function(i) mean((clust[[i]] - means[[i]])^2)) + within_variance <- sapply(1:nclust, function(i) mean(data.matrix((clust[[i]] - means[[i]])^2))) avg_dist / sum(within_variance) } From 3a9730f7fb39c4e65e636e8b086bd463853b9b38 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:24:49 -0500 Subject: [PATCH 07/23] fix tabfile bug --- .gitignore | 3 +++ metaquantome/cli.py | 3 ++- metaquantome/data/test/cli_bar_viz.png | Bin 28479 -> 28630 bytes metaquantome/data/test/cli_bar_viz2.png | Bin 0 -> 28630 bytes tests/travis/testCLI.py | 19 +++++++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 metaquantome/data/test/cli_bar_viz2.png diff --git a/.gitignore b/.gitignore index dbecdf1..c58362e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ metaquantome/data/test/taxa.sqlite metaquantome/data/test/taxa.sqlite.traverse.pkl +# sometimes ggplot makes empty Rplots.pdf +Rplots.pdf + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/metaquantome/cli.py b/metaquantome/cli.py index 69ec62a..0acc4df 100755 --- a/metaquantome/cli.py +++ b/metaquantome/cli.py @@ -61,7 +61,8 @@ def cli(): id=args.id, target_onto=args.target_onto, width=args.width, - height=args.height) + height=args.height, + tabfile=args.tabfile) else: ValueError('incorrect mode. please provide one of "db", "expand", "filter", "stat", or "viz".') sys.exit(0) diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png index 72e08c0981feb4ee6a3cc3c8f6cc3c324df105ad..57f4dadd3bb2231255280ee9d49b614981333a5f 100644 GIT binary patch literal 28630 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
  • -{~orI)dMD&?Y$L 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 literal 28479 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
  • -{~orI)dMD&?Y$L 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 literal 0 HcmV?d00001 diff --git a/tests/travis/testCLI.py b/tests/travis/testCLI.py index 1fe175c..e060752 100644 --- a/tests/travis/testCLI.py +++ b/tests/travis/testCLI.py @@ -2,6 +2,7 @@ import unittest import pandas as pd import numpy as np +import os from metaquantome.util.utils import TEST_DIR from metaquantome.util.testutils import testfile, TTEST_SINFO @@ -57,6 +58,24 @@ def testViz(self): test_status = subprocess.call(cmd, shell=True) self.assertEqual(test_status, 0) + def testVizTabfile(self): + infile = testfile('taxonomy_write_simple.tab') + imgfile = testfile('cli_bar_viz2.png') + tabfile = testfile("tmp") + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m t --plottype bar --infile', + infile, + '--img', imgfile, + """--samps '{"samp1": ["int"]}'""", + '--nterms 2 --meancol samp1_mean --target_rank genus', + '--tabfile', tabfile, + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + nline = subprocess.run(['wc', '-l', tabfile], stdout=subprocess.PIPE) + self.assertEqual(b'3', nline.stdout.strip().split()[0]) + os.remove(tabfile) + def testHeatmapViz(self): infile = testfile('ec_ttest_tested.tab') imgfile = testfile('cli_heatmap_viz.png') From 3d2c7822d6e1728ee38dd8ed12ad204f8418cdc7 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:25:28 -0500 Subject: [PATCH 08/23] rotate x axis text more --- metaquantome/data/test/cli_bar_viz.png | Bin 28630 -> 29270 bytes metaquantome/data/test/cli_bar_viz2.png | Bin 28630 -> 29270 bytes metaquantome/modules/viz.R | 6 ++++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png index 57f4dadd3bb2231255280ee9d49b614981333a5f..8892ada00d7b162568bc723f74753f82becccadc 100644 GIT binary patch literal 29270 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 EzlKBs-T(jq literal 28630 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
  • -{~orI)dMD&?Y$L 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 diff --git a/metaquantome/data/test/cli_bar_viz2.png b/metaquantome/data/test/cli_bar_viz2.png index 57f4dadd3bb2231255280ee9d49b614981333a5f..8892ada00d7b162568bc723f74753f82becccadc 100644 GIT binary patch literal 29270 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 EzlKBs-T(jq literal 28630 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
  • -{~orI)dMD&?Y$L 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 diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 8d67b71..c3ee093 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -16,6 +16,8 @@ suppressMessages(library(stringr)) grp_color_values <- c("dodgerblue", "darkorange", "yellow2", "red2", "darkviolet", "black") +X_AXIS_ROT <- 60 + ####### ==================== ####### # UTILITY FUNCTIONS # ####### ==================== ####### @@ -133,7 +135,7 @@ mq_barplot <- function(df, img, mode, meancol, y = as.name(meancol)), stat = "identity", fill = barcol, col = "black") + theme_bw() + labs(x = xlab, y = "Total Peptide Intensity") + - theme(axis.text.x = element_text(angle = 45, hjust = 1)) + theme(axis.text.x = element_text(angle = X_AXIS_ROT, hjust = 1)) ggsave(img, height = height, width = width, units = "in") # write tabfile @@ -558,7 +560,7 @@ mq_ft_dist <- function(df, img, whichway, name, id, meancol, y = as.name("props")), stat = "identity", fill = barcol, col = "black") + theme_bw() + labs(x = xlab, y = "Proportion of Peptide Intensity") + - theme(axis.text.x = element_text(angle = 45, hjust = 1)) + theme(axis.text.x = element_text(angle = X_AXIS_ROT, hjust = 1)) ggsave(img, height = height, width = width, units = "in") # write tabular data From 74d8a6175731ad01bef91d723716342dd3b3e993 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:25:42 -0500 Subject: [PATCH 09/23] fix data frame - probably due to new pandas --- tests/travis/testAnnotationHierarchy.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/travis/testAnnotationHierarchy.py b/tests/travis/testAnnotationHierarchy.py index eae3954..f5d86c1 100644 --- a/tests/travis/testAnnotationHierarchy.py +++ b/tests/travis/testAnnotationHierarchy.py @@ -173,8 +173,10 @@ def testToDataframe(self): '1.1.4.1', '1.1.4.2', '6.-.-.-', - '6.5.-.-']).sort_index() - df = ah.to_dataframe().sort_index() + '6.5.-.-']).sort_index(axis=0).sort_index(axis=1) + df = ah.to_dataframe().sort_index(axis=0).sort_index(axis=1) + print(df) + print(exp_df) self.assertTrue(df.equals(exp_df)) From f32107820a9d0f88e63dfe1a713fa5e0a941aa99 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:37:18 -0500 Subject: [PATCH 10/23] pull out obo download links --- metaquantome/databases/GeneOntologyDb.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/metaquantome/databases/GeneOntologyDb.py b/metaquantome/databases/GeneOntologyDb.py index 7ed7492..d89e93b 100644 --- a/metaquantome/databases/GeneOntologyDb.py +++ b/metaquantome/databases/GeneOntologyDb.py @@ -4,6 +4,9 @@ from metaquantome.util.utils import safe_cast_to_list, stream_to_file_from_url +FULL_OBO_URL = 'http://purl.obolibrary.org/obo/go/go-basic.obo' +SLIM_OBO_URL = 'http://current.geneontology.org/ontology/subsets/goslim_metagenomics.obo' + class GeneOntologyDb: # the three "namespaces", or "ontologies" @@ -59,13 +62,11 @@ def download_go(data_dir, overwrite): logging.info('GO files exist in specified directory ' + 'and --update was not provided. Doing nothing.') else: - full_obo_url = 'http://purl.obolibrary.org/obo/go/go-basic.obo' - logging.info('Downloading full GO obo file from ' + full_obo_url + ' to ' + obo_path) - stream_to_file_from_url(full_obo_url, obo_path) + logging.info('Downloading full GO obo file from ' + FULL_OBO_URL + ' to ' + obo_path) + stream_to_file_from_url(FULL_OBO_URL, obo_path) - slim_obo_url = 'http://current.geneontology.org/ontology/subsets/goslim_metagenomics.obo' - logging.info('Downloading generic slim GO obo file from ' + slim_obo_url + ' to ' + slim_path) - stream_to_file_from_url(slim_obo_url, slim_path) + logging.info('Downloading generic slim GO obo file from ' + SLIM_OBO_URL + ' to ' + slim_path) + stream_to_file_from_url(SLIM_OBO_URL, slim_path) @staticmethod def _load_go_db(data_dir, slim_down): From 326139b4c9c165d40cfc47aabc06c645a5d067b1 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 14:49:49 -0500 Subject: [PATCH 11/23] additional viz tests --- metaquantome/data/test/cli_bar_viz.png | Bin 0 -> 28479 bytes metaquantome/data/test/test.png | Bin 0 -> 21109 bytes tests/travis/testCLI.py | 14 ++++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 metaquantome/data/test/cli_bar_viz.png create mode 100644 metaquantome/data/test/test.png diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..72e08c0981feb4ee6a3cc3c8f6cc3c324df105ad GIT binary patch literal 28479 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 0.05) self.assertTrue(test_df['corrected_p'][['N','D']].le(0.05).all()) + def testViz(self): + infile = testfile('taxonomy_write_simple.tab') + imgfile = testfile('cli_bar_viz.png') + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m t --plottype bar --infile', + infile, + '--img', + imgfile, + """--samps '{"samp1": ["int"]}'""", + '--nterms 2 --meancol samp1_mean --target_rank genus' + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + if __name__ == '__main__': unittest.main() From 0f42b72a69277c009a483d05055e946a465787e9 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 15:55:58 -0500 Subject: [PATCH 12/23] fix bar filtering bug --- metaquantome/modules/viz.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 82747fd..b90aad8 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -160,7 +160,7 @@ barplot_cli <- function(args){ df <- read_result(infile) mode <- args[4] meancol <- args[5] - nterms <- args[6] + nterms <- as.numeric(args[6]) width <- as.numeric(args[7]) height <- as.numeric(args[8]) target_rank <- args[9] From 94dddc25cba9b34d845dfb2e7dde412796efcd73 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 16:29:26 -0500 Subject: [PATCH 13/23] fix filter_to_sig bug and add test --- metaquantome/data/test/cli_heatmap_viz.png | Bin 0 -> 26993 bytes metaquantome/data/test/rudney_samples.tab | 3 + metaquantome/data/test/tax_filt_out.tab | 93 +++++++++++++++++++++ metaquantome/modules/viz.R | 2 +- tests/travis/testCLI.py | 14 ++++ 5 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 metaquantome/data/test/cli_heatmap_viz.png create mode 100644 metaquantome/data/test/rudney_samples.tab create mode 100644 metaquantome/data/test/tax_filt_out.tab diff --git a/metaquantome/data/test/cli_heatmap_viz.png b/metaquantome/data/test/cli_heatmap_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..45a4520941a891848eda3fdb5813aac6faa3f49c GIT binary patch literal 26993 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 literal 0 HcmV?d00001 diff --git a/metaquantome/data/test/rudney_samples.tab b/metaquantome/data/test/rudney_samples.tab new file mode 100644 index 0000000..f3558e7 --- /dev/null +++ b/metaquantome/data/test/rudney_samples.tab @@ -0,0 +1,3 @@ +group colnames +NS X730NS,X733NS,X734NS,X737NS,X760NS,X769NS,X781NS,X795NS,X852NS,X861NS,X866NS,X867NS +WS X730WS,X733WS,X734WS,X737WS,X760WS,X769WS,X781WS,X795WS,X852WS,X861WS,X866WS,X867WS diff --git a/metaquantome/data/test/tax_filt_out.tab b/metaquantome/data/test/tax_filt_out.tab new file mode 100644 index 0000000..987c7d3 --- /dev/null +++ b/metaquantome/data/test/tax_filt_out.tab @@ -0,0 +1,93 @@ +id taxon_name rank NS_mean WS_mean X730NS X730WS X733NS X733WS X734NS X734WS X737NS X737WS X760NS X760WS X769NS X769WS X781NS X781WS X795NS X795WS X852NS X852WS X861NS X861WS X866NS X866WS X867NS X867WS X730NS_n_peptide X730WS_n_peptide X733NS_n_peptide X733WS_n_peptide X734NS_n_peptide X734WS_n_peptide X737NS_n_peptide X737WS_n_peptide X760NS_n_peptide X760WS_n_peptide X769NS_n_peptide X769WS_n_peptide X781NS_n_peptide X781WS_n_peptide X795NS_n_peptide X795WS_n_peptide X852NS_n_peptide X852WS_n_peptide X861NS_n_peptide X861WS_n_peptide X866NS_n_peptide X866WS_n_peptide X867NS_n_peptide X867WS_n_peptide X730NS_n_samp_children X730WS_n_samp_children X733NS_n_samp_children X733WS_n_samp_children X734NS_n_samp_children X734WS_n_samp_children X737NS_n_samp_children X737WS_n_samp_children X760NS_n_samp_children X760WS_n_samp_children X769NS_n_samp_children X769WS_n_samp_children X781NS_n_samp_children X781WS_n_samp_children X795NS_n_samp_children X795WS_n_samp_children X852NS_n_samp_children X852WS_n_samp_children X861NS_n_samp_children X861WS_n_samp_children X866NS_n_samp_children X866WS_n_samp_children X867NS_n_samp_children X867WS_n_samp_children +157 Treponema genus 22.4592368471399 23.251641665456614 21.782210465654984 22.293663201701612 19.506474847066862 18.393389679254238 21.31060467932299 21.728055628093554 20.480986062363687 22.602867980613627 23.203993721974225 23.566696765176243 22.313857374707805 25.335612959036755 24.564206593926965 23.758132985051397 21.865153582932077 21.378622826723475 22.004619704258204 23.01330290131711 21.929889350172612 22.77047366650371 22.145836211855425 22.482730706742693 22.080359413733433 23.436551973678235 9.0 3.0 2.0 2.0 6.0 11.0 8.0 10.0 10.0 10.0 7.0 5.0 15.0 9.0 4.0 6.0 8.0 13.0 12.0 6.0 5.0 5.0 14.0 8.0 5.0 2.0 2.0 1.0 4.0 6.0 4.0 4.0 5.0 5.0 4.0 2.0 4.0 3.0 3.0 1.0 4.0 3.0 5.0 3.0 3.0 2.0 6.0 4.0 +194 Campylobacter genus 22.737726781977898 23.402014527754694 19.374983778535537 20.606446832930114 22.374052312423657 22.175914745445667 20.710711088017703 21.497720060388442 21.935778024142905 21.360868814816588 19.67510328882646 18.442382745355207 21.21818802567592 18.98249372666148 25.95861986611441 24.365465047288765 19.540072068600086 22.271211580494718 17.998259192791753 26.353858284366478 18.911902395646823 20.233239126385538 19.83361162568149 19.261402979800614 20.129527247691183 22.479579021998745 3.0 5.0 2.0 5.0 2.0 7.0 25.0 5.0 7.0 4.0 17.0 3.0 209.0 8.0 4.0 9.0 4.0 8.0 3.0 5.0 7.0 4.0 7.0 6.0 2.0 2.0 2.0 3.0 2.0 4.0 2.0 3.0 2.0 2.0 3.0 2.0 4.0 4.0 2.0 3.0 2.0 4.0 2.0 3.0 2.0 2.0 2.0 4.0 +286 Pseudomonas genus 22.84530963528067 20.941262344966102 19.390653532195216 21.257892314732068 23.40900039680405 21.249447306145736 22.85533086446144 17.189270329854693 21.43373289557238 18.940290665716923 21.2755581152792 21.78465732920301 19.42254043551283 17.888724701002317 22.016714341281943 20.86953224363516 18.685241717022148 22.54333528743205 20.234005329853034 18.807506861121887 23.765290496984004 16.805950901945454 25.39397860675149 22.523625447598253 19.404033335324762 14.425011898222733 2.0 4.0 2.0 7.0 11.0 3.0 4.0 6.0 7.0 4.0 4.0 2.0 16.0 8.0 2.0 7.0 5.0 5.0 6.0 3.0 6.0 4.0 5.0 1.0 1.0 1.0 1.0 2.0 3.0 0.0 2.0 2.0 2.0 2.0 2.0 0.0 3.0 3.0 2.0 3.0 3.0 1.0 2.0 0.0 3.0 0.0 2.0 1.0 +356 Rhizobiales order 24.69225559146653 24.47928415080033 24.213805954712 26.19612910182332 23.852474395772273 20.88389298705434 24.072293206158825 24.6359011866213 23.253772028711925 23.84124611127577 25.211843229277033 23.37465798633904 24.971694694445382 23.732993264497427 25.466853125051237 22.51337324493513 23.333984301104184 22.80206380634942 24.48437767254155 26.428256133544647 25.06992046020705 22.354137707550283 23.963063933116196 23.69000244474017 25.821578844423875 23.678835807279214 18.0 10.0 13.0 10.0 12.0 24.0 14.0 11.0 12.0 15.0 20.0 7.0 21.0 13.0 17.0 17.0 18.0 17.0 16.0 11.0 15.0 10.0 21.0 9.0 5.0 4.0 5.0 4.0 5.0 5.0 4.0 5.0 4.0 5.0 5.0 4.0 4.0 4.0 5.0 5.0 5.0 5.0 3.0 4.0 3.0 4.0 5.0 5.0 +481 Neisseriaceae family 28.278684423613377 23.578683124887306 26.27962488726382 21.380348299519405 20.265011634052573 23.91010523361957 25.25318938906157 23.33599556737296 29.37660244007165 24.118713642422897 29.314496888630167 24.155079469088264 27.84869359057641 23.955877447655148 26.053970602682014 22.206147855022408 26.13696167363647 24.218827734120907 30.53641005463977 21.765106446060415 28.26090482862355 24.25663214471386 27.118776073693013 23.408432498906212 23.31084301358886 23.098763696810842 97.0 4.0 2.0 9.0 49.0 28.0 726.0 27.0 710.0 13.0 373.0 5.0 12.0 14.0 90.0 13.0 1287.0 21.0 213.0 11.0 241.0 7.0 21.0 10.0 3.0 2.0 1.0 1.0 4.0 3.0 4.0 4.0 4.0 3.0 4.0 1.0 3.0 3.0 5.0 2.0 4.0 4.0 3.0 3.0 3.0 3.0 3.0 3.0 +482 Neisseria genus 24.71621468525704 23.337955500492267 25.22309054267125 21.27224809407663 20.265011634052573 23.91010523361957 24.83614617766947 22.69211027879855 25.957369156876148 23.447797104924483 23.198609553932194 24.068317670999303 22.181396494802414 23.955877447655148 22.066815581067022 21.790934894894853 22.16909502782755 23.750883107517165 22.02401378621116 18.976851915575853 27.235996366157107 24.242623237623764 22.149900827393424 23.36408698820687 22.176120891701288 22.922522172295945 8.0 3.0 2.0 9.0 14.0 9.0 17.0 7.0 8.0 5.0 5.0 5.0 10.0 6.0 6.0 11.0 11.0 2.0 14.0 8.0 11.0 3.0 9.0 6.0 5.0 2.0 1.0 2.0 6.0 3.0 6.0 3.0 4.0 2.0 2.0 3.0 5.0 3.0 4.0 5.0 3.0 0.0 6.0 5.0 2.0 3.0 3.0 3.0 +543 Enterobacteriaceae family 24.541968063151693 21.658968255049587 21.19265183166299 18.778936903337087 24.406801994236776 23.28442984893313 23.565360578028603 18.647425082748057 22.52171584507061 21.749320324152237 22.94629599899497 20.370563882738377 23.199160672801856 0.0 21.860089648679182 21.406910140003635 22.45005193311192 18.22017707724 27.46551744983655 23.23134237340219 23.874976207065192 20.725397072832983 23.600296651876587 18.767739575829392 23.159442610674034 22.351852296751414 2.0 1.0 4.0 10.0 7.0 4.0 9.0 4.0 6.0 7.0 5.0 0.0 5.0 5.0 6.0 2.0 105.0 20.0 12.0 3.0 7.0 5.0 6.0 6.0 1.0 0.0 2.0 2.0 3.0 2.0 3.0 3.0 3.0 2.0 3.0 0.0 3.0 2.0 3.0 1.0 6.0 3.0 4.0 2.0 2.0 2.0 3.0 4.0 +712 Pasteurellaceae family 31.441294316475755 27.74864490019109 29.186498614844197 24.175578246391566 20.481583297401627 23.245302539966644 31.583394496968175 21.698805801380452 29.96654214760159 27.07213567688964 31.955129148166925 30.174952383067087 32.27989011421659 22.352338789441013 30.13364856738205 20.78538869183005 31.112307496041588 20.460584339542226 21.458170300521843 22.62062069831925 32.657844295582144 20.198224624491434 32.52950443661703 20.147792757000985 31.98671859933514 30.279393705211056 720.0 6.0 5.0 7.0 2095.0 5.0 1561.0 283.0 3118.0 1510.0 3361.0 22.0 1385.0 7.0 1680.0 4.0 8.0 15.0 3861.0 10.0 3318.0 6.0 2964.0 1458.0 3.0 2.0 3.0 3.0 5.0 2.0 5.0 2.0 5.0 4.0 4.0 3.0 3.0 2.0 4.0 2.0 2.0 3.0 6.0 2.0 4.0 2.0 6.0 3.0 +724 Haemophilus genus 30.633565686404708 26.78504454278037 28.15635491432493 19.097778815906945 19.801043329740427 22.699002230428377 30.696290588311548 19.267556299527367 28.377726580090137 26.090131050046725 31.173798924853052 29.27754849809542 31.587863825191196 20.517951715030623 27.389664555662584 16.623296772427086 30.413699464304038 17.173396989578702 18.253885767449745 20.76344889241335 31.866468235701703 19.273283692091912 31.886296430568155 20.07315915414024 31.195747151301017 29.280733892382198 386.0 2.0 2.0 3.0 1255.0 1.0 547.0 142.0 1933.0 933.0 2106.0 8.0 275.0 1.0 981.0 1.0 3.0 7.0 2401.0 5.0 2049.0 4.0 1815.0 890.0 3.0 2.0 0.0 1.0 5.0 1.0 5.0 1.0 5.0 3.0 3.0 1.0 3.0 1.0 4.0 1.0 2.0 2.0 5.0 3.0 3.0 2.0 4.0 4.0 +729 Haemophilus parainfluenzae species 30.483809499340683 26.88190900155309 27.94881799135177 0.0 0.0 0.0 30.317166206364732 19.267556299527367 28.10194484715981 25.817816232951554 30.951713518290234 28.998574612215805 31.29314277993099 19.727116817995146 26.90531617895009 0.0 30.03412076270724 17.173396989578702 15.925085533858454 19.411511638870753 31.634733122446928 14.273633190572465 31.67387434359899 19.507391925664596 30.852348459049548 28.93838188002522 317.0 0.0 0.0 0.0 874.0 1.0 436.0 114.0 1593.0 769.0 1732.0 4.0 191.0 0.0 796.0 1.0 1.0 4.0 1954.0 1.0 1666.0 1.0 1492.0 730.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 0.0 0.0 0.0 0.0 +836 Porphyromonas genus 22.314663934914797 21.739378366869417 19.457852049351906 12.604829145488758 20.5088584349098 19.75295348466535 21.600795502879297 14.820205941276624 21.015476498022714 24.619548910204955 23.102133944442386 0.0 22.250024774926313 18.094932479000022 22.960257356576573 21.698467805518185 24.00559645561271 21.306319139121296 20.241884890424398 19.721662751642615 22.144145432202716 19.89403848454665 22.030296485101942 21.62401734479089 22.500284934296726 18.84113705921046 2.0 1.0 5.0 4.0 7.0 1.0 11.0 3.0 29.0 0.0 6.0 3.0 14.0 6.0 6.0 2.0 8.0 4.0 7.0 4.0 3.0 8.0 11.0 2.0 2.0 1.0 3.0 1.0 3.0 0.0 3.0 0.0 4.0 0.0 3.0 2.0 5.0 3.0 2.0 1.0 3.0 1.0 3.0 2.0 1.0 3.0 5.0 1.0 +838 Prevotella genus 24.779533700933218 24.224746990564395 24.864924216372472 23.76769396904597 22.83964974374393 23.70571512848364 25.162777195979377 25.87563785905976 24.55749376198101 25.21654545207315 25.67054921628861 24.242857063462967 23.988440808284405 22.65837266342718 25.050085335301286 24.178145950063893 24.98104144218843 23.706176617830877 26.01228536130151 23.28318812598716 24.16407036110283 23.76180551573891 23.477545774310087 23.31368399815167 23.13465667324952 23.603736285902077 27.0 13.0 22.0 29.0 67.0 32.0 48.0 33.0 80.0 25.0 27.0 18.0 46.0 31.0 101.0 15.0 74.0 27.0 23.0 20.0 14.0 21.0 27.0 23.0 13.0 7.0 10.0 17.0 13.0 15.0 14.0 18.0 19.0 10.0 15.0 11.0 22.0 13.0 20.0 9.0 17.0 13.0 13.0 10.0 10.0 12.0 12.0 13.0 +848 Fusobacterium genus 33.260032738456324 28.1393818636283 24.82396969202237 22.223031079414735 18.757365108484112 21.83776603700015 33.49153019943186 21.17155709124576 34.33053784446623 21.76843340276839 34.08178062471965 25.072176549690024 33.59801033231461 22.702945128317232 33.82259561590425 22.13646032418869 33.37214774541592 21.610208297868247 32.16245586391741 31.687010816730698 28.414312391218058 21.690785772577964 33.24879445906351 21.03304706311043 33.973111065586444 24.296925505408158 88.0 6.0 4.0 6.0 5612.0 13.0 9295.0 16.0 8036.0 87.0 6846.0 23.0 7227.0 25.0 4751.0 12.0 3263.0 3268.0 451.0 6.0 5646.0 10.0 7594.0 32.0 3.0 3.0 3.0 4.0 4.0 3.0 4.0 3.0 4.0 3.0 5.0 2.0 5.0 3.0 4.0 4.0 5.0 5.0 2.0 2.0 5.0 2.0 5.0 2.0 +860 Fusobacterium periodonticum species 30.855884675432712 26.293912291406997 19.9171106473506 20.773884580224994 14.313058142651013 12.989974179912885 31.44662403708189 18.406725933432558 30.12281346629577 0.0 31.910273429691294 21.67445651075483 31.568124432243252 21.340478807551477 31.20533304378397 19.023150068983977 31.435646308250114 18.051095238878336 28.75514930662611 29.71272911465278 25.720972710951987 21.458003511442357 30.57477362519476 20.309010341109868 32.072137095025084 23.514992684441772 1.0 2.0 1.0 1.0 1865.0 2.0 1335.0 0.0 2619.0 12.0 2218.0 6.0 1713.0 6.0 1932.0 4.0 577.0 1162.0 45.0 2.0 1546.0 4.0 2946.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +970 Selenomonas genus 22.3724799741853 22.15933658852583 21.963300777441653 17.208137383583722 20.333861429084816 21.270460533882996 22.13788696162601 19.992596292439803 21.933237414122384 22.65212395788333 20.976140144858444 21.638530409325842 23.300038455562106 20.766927720185603 22.967119711570913 19.82187382226865 23.147715738622747 22.41575177124401 21.59776320835864 18.70101141996511 20.42455132913531 24.1302875195938 23.594506080208067 23.493426491146998 21.9305742103157 21.82851483623139 6.0 2.0 8.0 6.0 7.0 7.0 11.0 5.0 8.0 6.0 10.0 2.0 10.0 5.0 6.0 8.0 5.0 5.0 5.0 7.0 8.0 5.0 5.0 5.0 3.0 2.0 4.0 3.0 2.0 2.0 3.0 2.0 3.0 4.0 4.0 2.0 2.0 3.0 3.0 3.0 2.0 4.0 3.0 3.0 4.0 4.0 1.0 3.0 +976 Bacteroidetes phylum 27.338648935196012 24.90021601275218 25.038934253615786 23.91028211523684 24.90559350913217 24.394178592582673 28.133831352020536 26.001199177701398 26.976172022051703 26.00648185969772 28.70480521630881 24.379459248189306 24.71020487342673 23.4181187415076 26.28401895883711 24.869411218257962 26.701627462835578 24.416367670766416 29.53849071584869 23.93435843485798 24.997311829571156 25.894828778684825 25.65586046759748 24.21477788787849 24.41173330591233 24.20871126635878 38.0 21.0 46.0 43.0 428.0 47.0 270.0 48.0 592.0 37.0 52.0 37.0 110.0 62.0 254.0 35.0 677.0 48.0 54.0 47.0 34.0 47.0 61.0 34.0 2.0 2.0 3.0 2.0 3.0 2.0 3.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 +1016 Capnocytophaga genus 22.892465198715726 21.80085731644575 21.053214080296463 19.527095564878568 21.766979280790228 20.762297723012342 19.382691888774904 19.574810959356554 21.416867344273058 20.9705383493245 21.26824221259733 16.642544464854687 21.15750915513545 20.705471084734796 24.75630444764119 20.6627239228348 20.86264466806948 21.61179247491777 22.830053298414956 21.00531691515253 22.31380923223648 24.591113923764237 25.019608905828353 20.55101189639048 21.20096725036955 21.458159275750425 5.0 2.0 8.0 5.0 4.0 4.0 7.0 5.0 12.0 2.0 7.0 4.0 13.0 11.0 3.0 15.0 13.0 7.0 11.0 11.0 10.0 5.0 7.0 3.0 2.0 0.0 4.0 1.0 2.0 3.0 2.0 2.0 1.0 1.0 2.0 2.0 4.0 4.0 1.0 5.0 3.0 3.0 4.0 3.0 4.0 3.0 3.0 1.0 +1224 Proteobacteria phylum 31.892207691960202 28.56258664410351 29.670936602377342 27.07663342666503 26.52476597022835 27.242114998921803 31.848763585965276 27.002544991698574 30.978218832588734 28.01059011342253 32.43664710871743 30.4746846953446 32.55942220175633 26.873410153458856 30.700969244803968 26.068939844784023 31.36234267733518 26.30743275083318 31.854969968535713 28.45389306942968 32.945913414608675 26.227194616146328 32.742403114749884 26.49805476402261 32.19104148297693 30.698790358922995 991.0 60.0 71.0 201.0 2537.0 117.0 2793.0 430.0 4455.0 1796.0 4296.0 82.0 1997.0 107.0 2105.0 89.0 2706.0 299.0 4675.0 78.0 4097.0 76.0 3463.0 1722.0 4.0 4.0 5.0 4.0 5.0 5.0 5.0 5.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +1236 Gammaproteobacteria class 31.609618173469208 28.159745929918355 29.33425368641757 25.19882771954464 25.58779813317346 25.55394547749487 31.714968039121512 24.906182940800477 30.12998147203255 27.64195951583212 32.09913955069973 30.367193307164623 32.41163951065127 26.159178137633727 30.376576452515945 24.53079034470457 31.22515881236659 25.031866115024663 29.901091751542282 26.832191270093784 32.78746681928323 24.40853757880434 32.640388744801506 25.676355685078235 32.08805029750684 30.535136497955218 794.0 23.0 30.0 61.0 2325.0 23.0 1726.0 332.0 3399.0 1668.0 3647.0 39.0 1573.0 41.0 1842.0 25.0 516.0 138.0 4193.0 29.0 3600.0 25.0 3224.0 1584.0 5.0 4.0 7.0 8.0 5.0 5.0 4.0 4.0 6.0 4.0 5.0 5.0 5.0 6.0 7.0 6.0 7.0 5.0 8.0 5.0 8.0 5.0 6.0 6.0 +1239 Firmicutes phylum 32.8736766661338 33.66237853269464 33.69016930460979 32.62624328331352 33.53086660947921 33.488495834215996 31.777665784494186 33.63284455044024 31.96642432948349 34.03395857615676 32.05513030713319 33.90182058360645 33.059269547447016 33.03670248595898 32.904701914721066 33.894717423454765 32.379543903664974 34.04101578601538 32.755337431850826 33.599182734527076 33.4834543670178 33.4951849051602 32.95411124819814 33.309432993241835 32.40021286145452 34.16644627435772 10275.0 6444.0 9446.0 9504.0 3911.0 11964.0 4299.0 12775.0 5154.0 11903.0 6972.0 8330.0 7275.0 13717.0 4671.0 13506.0 5653.0 10288.0 8982.0 10829.0 6534.0 10298.0 5938.0 13047.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +1279 Staphylococcus genus 22.504836217201568 24.2116943040312 20.694710416791846 19.61303285745054 21.971053020451464 23.462151983875426 17.03965560835351 27.31545465303748 16.855670458851733 20.388204940174038 20.245270676492872 23.41799568332818 15.483717670905886 19.939700167610532 20.22959062212996 20.199881619489744 20.703740589815453 24.02758683585195 25.781963293923674 23.52857495811075 21.304721151492323 23.08806752761727 12.73341267074633 18.653546645321935 19.676983223933714 18.76617210937382 3.0 1.0 9.0 7.0 1.0 388.0 2.0 2.0 2.0 2.0 2.0 2.0 4.0 6.0 3.0 6.0 2.0 4.0 7.0 4.0 1.0 2.0 3.0 3.0 0.0 1.0 3.0 2.0 1.0 3.0 1.0 0.0 1.0 1.0 1.0 1.0 2.0 3.0 0.0 4.0 0.0 1.0 3.0 2.0 1.0 1.0 1.0 1.0 +1300 Streptococcaceae family 31.04005087612557 32.68498796725018 32.609862959443326 32.40581955972505 32.88687007914666 33.25844138547374 29.10124143938986 32.2497422774349 29.50735112965809 31.899152761792777 29.753893142654942 32.64771091520379 30.996452852349922 32.18628414077014 30.45778959870371 33.34244970826108 29.295887914446197 33.14250137369812 29.794438742050534 32.60872343467933 31.53910080659905 32.7368262494867 25.84801538224936 32.48955082348738 30.347483581684266 32.49588742623676 4162.0 5424.0 5680.0 7959.0 909.0 5858.0 1058.0 4751.0 1210.0 5664.0 2039.0 4641.0 1834.0 8960.0 1037.0 7751.0 1225.0 5213.0 3137.0 7020.0 165.0 5599.0 1764.0 5387.0 2.0 2.0 3.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 +1301 Streptococcus genus 31.01469481309256 32.64981560319793 32.594628090845504 32.37682293425312 32.85508231820879 33.21733933780535 29.059956722561694 32.21992690208474 29.48224296773229 31.867534112767018 29.738624303435802 32.627366326815284 30.976597527343827 32.162260562575824 30.43200484165762 33.29486634381768 29.270917315380736 33.09629726567616 29.771708351569877 32.59319300504715 31.501701851366764 32.686611907034745 25.758865776771692 32.45361268581817 30.33050572928465 32.468936592641285 4114.0 5346.0 5614.0 7843.0 892.0 5788.0 1034.0 4681.0 1194.0 5576.0 2013.0 4580.0 1807.0 8798.0 1017.0 7605.0 1204.0 5146.0 3100.0 6921.0 161.0 5496.0 1742.0 5318.0 18.0 22.0 23.0 29.0 13.0 25.0 15.0 24.0 10.0 24.0 14.0 17.0 18.0 25.0 15.0 27.0 13.0 19.0 18.0 27.0 10.0 24.0 13.0 26.0 +1302 Streptococcus gordonii species 28.85237968021687 29.760937230244974 28.53827111953495 31.132118535383093 31.305034493857054 24.688124424794022 27.320041572326137 28.526342829550703 27.371729242798853 29.58092479361225 25.92917860441985 23.715443506227075 29.656540776408356 30.783266578966995 23.443382948031502 20.99416729999752 21.022409722612576 21.62670822451487 28.24760457024561 31.13941166466572 29.337710635229158 29.903056268442416 23.759856998951086 20.91000018064953 28.887578612597714 30.973813709441103 428.0 1732.0 1798.0 33.0 235.0 625.0 284.0 900.0 133.0 34.0 812.0 1549.0 19.0 6.0 5.0 4.0 336.0 1675.0 657.0 1017.0 25.0 7.0 618.0 1242.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 0.0 0.0 0.0 0.0 +1303 Streptococcus oralis species 23.103687126641674 26.421123666189605 24.61912812148962 25.4191738117239 22.83741174927149 23.79503117288109 20.511845294481713 27.751809251472487 21.0624171801586 25.592112990576066 18.52948119779141 25.223369787321488 23.071325203393823 27.394474312898854 25.441096830107032 26.185157966366702 21.90206814804163 25.40395342417414 23.076822389819213 25.187581485449915 20.321125468792413 25.43278217204217 20.17130216381177 27.882942315620696 20.208730319953485 26.15945706011016 33.0 105.0 10.0 28.0 5.0 283.0 5.0 92.0 3.0 83.0 12.0 250.0 86.0 134.0 6.0 109.0 20.0 61.0 5.0 71.0 8.0 345.0 6.0 105.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 0.0 0.0 0.0 0.0 +1305 Streptococcus sanguinis species 22.084393557448287 21.543042772459888 21.36579529548786 19.719668114416088 22.320823798040614 22.643663421336278 20.278320984565294 20.664730793226106 19.040350310186206 19.910519920985923 18.956045504304907 21.1468051800558 22.1221162795508 23.276498430748262 24.481868022663427 19.786276995071983 21.926674144905974 19.757490668956915 17.903478336199544 20.28856779076102 22.135070616245613 22.72707804372864 20.203375529145497 17.90055497494011 22.271601627561232 21.88110951058033 10.0 6.0 7.0 3.0 5.0 9.0 2.0 6.0 3.0 8.0 7.0 26.0 51.0 2.0 10.0 2.0 2.0 3.0 13.0 9.0 1.0 1.0 16.0 14.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 0.0 0.0 0.0 0.0 +1311 Streptococcus agalactiae species 18.98609386423588 22.435670696076226 19.705538493060285 19.866724796963357 19.87717613918613 22.052348066539125 15.755434014166319 19.861606748408253 18.3255267827667 22.129846557659008 0.0 23.926224685399628 19.761877246035052 19.07957760080053 18.918800653074136 19.835866407014574 17.19111895834796 24.273366933205637 20.45872207528365 20.463948127484954 18.687251597708613 22.592407061831786 15.964333114404075 23.142858080186855 15.570262626923569 21.246603232299112 4.0 5.0 3.0 11.0 1.0 3.0 2.0 8.0 0.0 8.0 3.0 3.0 2.0 3.0 2.0 8.0 7.0 4.0 3.0 10.0 1.0 12.0 1.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +1318 Streptococcus parasanguinis species 26.962149454581645 29.77347730846411 22.254388267955566 27.519615988057442 29.706934990101185 31.87112960466156 24.137948969614506 30.2850772176896 22.395455813890393 29.091703869523233 25.736852436940907 25.951999594041354 24.013011494597315 22.921984850747556 20.036882766065236 30.76751633867441 22.074454889980803 28.732430133835745 25.022058035369948 28.46671810952836 29.025321974412705 30.675449775538844 18.086861982471326 26.056249100019127 22.10327445512197 28.924519217276195 13.0 363.0 895.0 3259.0 57.0 1653.0 6.0 731.0 81.0 160.0 15.0 7.0 6.0 1844.0 11.0 732.0 104.0 557.0 651.0 1718.0 1.0 145.0 10.0 664.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 0.0 0.0 0.0 0.0 +1350 Enterococcus genus 22.27148764597278 22.60823898801679 23.49244865513987 23.414903433927392 24.37240414458905 24.88758129438443 20.563847819772974 21.23085263188748 15.879527869127314 20.810965529539427 22.253746426035686 20.662757053309605 21.145709716920308 20.89407562036324 21.952434419232212 20.250939714506238 0.0 21.15425215203751 20.38601577727848 19.649999339047973 22.188939012514282 23.466747242375032 18.114370641945392 21.22022652485775 21.388841020817967 22.95889331744693 7.0 5.0 12.0 7.0 3.0 6.0 2.0 5.0 6.0 7.0 3.0 6.0 10.0 8.0 0.0 7.0 4.0 4.0 4.0 10.0 4.0 8.0 3.0 2.0 3.0 1.0 4.0 2.0 1.0 1.0 0.0 2.0 2.0 3.0 0.0 1.0 3.0 2.0 0.0 1.0 0.0 0.0 1.0 2.0 2.0 1.0 0.0 0.0 +1378 Gemella genus 25.6133540618394 21.918625259677697 28.760626448341625 20.41322426632106 23.333333022799266 20.003995828313727 19.90422775729069 20.527718492251754 25.510355546708606 22.163763646723247 25.62404794257861 22.206253337039428 18.903083821154414 19.3596206262398 20.654536912649835 21.268488824221908 22.546789067843555 21.03102362468566 22.54662684659898 24.55047855317897 20.71466040340079 19.562486170931198 24.895473413820802 21.51242864044654 21.42190584800925 18.593800384965746 462.0 7.0 19.0 5.0 2.0 12.0 93.0 11.0 123.0 19.0 5.0 4.0 5.0 5.0 10.0 11.0 24.0 68.0 6.0 2.0 8.0 4.0 6.0 2.0 4.0 3.0 4.0 3.0 2.0 2.0 4.0 1.0 4.0 3.0 2.0 3.0 2.0 2.0 4.0 1.0 4.0 4.0 3.0 1.0 3.0 2.0 4.0 1.0 +1379 Gemella haemolysans species 21.23498138826355 19.888989096460268 24.026460280557217 19.25690088310065 21.461104100412168 16.360685063329587 18.252897360743013 19.320146403281907 20.83444387435928 0.0 21.76639058315259 19.69094212846502 18.71824767235069 14.683182451613526 18.459232347117165 21.204617986474787 18.34889920793565 20.603755493146245 18.207569213169066 19.62422702667547 20.092575562598856 19.562486170931198 19.95234552377314 21.426359854585613 18.343004369723705 14.9377998094599 24.0 3.0 11.0 1.0 1.0 7.0 7.0 0.0 14.0 3.0 3.0 1.0 3.0 4.0 3.0 7.0 2.0 6.0 3.0 2.0 4.0 2.0 2.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.0 0.0 0.0 0.0 0.0 0.0 +1385 Bacillales order 24.31450553153779 25.008734255847454 25.28822550835564 20.707959028359284 24.69387466443483 24.169435697558235 23.61308130075852 27.52273977466577 21.516972851226935 23.243239824850136 22.027154603438888 25.381769739535198 22.673513107849807 22.29612650280037 22.006889052064412 21.66146406832213 25.290120538295522 25.423691851893306 26.19881248016323 25.2849004568186 23.476649782233142 24.8337371022627 22.731337682261547 22.66439917092921 23.794962592968396 22.766617061889285 65.0 8.0 49.0 29.0 20.0 425.0 15.0 11.0 12.0 59.0 18.0 16.0 14.0 18.0 28.0 28.0 18.0 58.0 31.0 16.0 11.0 13.0 30.0 18.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 2.0 4.0 4.0 3.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 3.0 4.0 3.0 4.0 +1386 Bacillus genus 22.390261842416066 22.688987040206488 19.243823494685632 18.494430678443663 23.673701889661785 21.835916713384584 0.0 23.2697701491858 18.66114108601868 22.80835765154499 19.092334115651948 23.176607533078236 13.750619328106772 19.818513947198202 20.206225225812503 19.191061335834554 24.90131846933755 23.367187182139244 22.461385571401912 23.407185537846914 21.892479628979235 24.23550841128039 21.465448535380737 22.485399518658088 18.498578732509923 19.929664638158794 3.0 2.0 14.0 11.0 0.0 5.0 2.0 5.0 3.0 3.0 1.0 3.0 5.0 3.0 2.0 4.0 4.0 3.0 5.0 6.0 7.0 6.0 3.0 6.0 1.0 2.0 3.0 4.0 0.0 1.0 0.0 1.0 1.0 1.0 0.0 0.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 2.0 +1578 Lactobacillus genus 26.071860645382763 25.568096193783536 24.955243331890227 25.48059171062802 26.51058429295185 25.789511042050158 24.879901672467714 25.605625452176 25.126308496781522 24.607981506134767 24.52549336749947 25.09562833236197 24.009828076042034 25.785009663772243 28.18169256677534 25.601076304089087 27.788601953171483 25.598898837645407 24.4281381490314 24.46636261221123 24.614094452157513 26.239658375885387 24.140176750234502 25.22455580361567 22.6771864744845 26.226254629652413 44.0 81.0 40.0 64.0 12.0 88.0 24.0 38.0 29.0 59.0 20.0 95.0 29.0 99.0 23.0 145.0 38.0 60.0 24.0 47.0 22.0 78.0 19.0 41.0 7.0 8.0 10.0 13.0 4.0 9.0 7.0 8.0 8.0 8.0 4.0 5.0 7.0 11.0 10.0 7.0 7.0 8.0 9.0 10.0 5.0 11.0 8.0 5.0 +1654 Actinomyces genus 24.186775167248644 24.046008395481337 21.436497425347827 21.35726464049133 22.727963638349767 24.30393346415453 23.813928692372087 24.46769519564217 24.949064925240656 22.812891079116373 24.178836100997806 26.28469465184751 25.11847738730225 19.567109672861886 24.86658333250393 22.820264718767557 25.84948107081672 22.245288881120327 22.52942087091208 23.512077602775683 23.400161028066968 24.737482903760075 22.990279813841486 23.465078973056322 18.22351279328278 22.83174351327272 9.0 12.0 23.0 12.0 41.0 27.0 105.0 12.0 65.0 173.0 83.0 5.0 15.0 12.0 149.0 22.0 5.0 20.0 27.0 16.0 8.0 16.0 6.0 19.0 2.0 2.0 5.0 5.0 3.0 6.0 5.0 5.0 3.0 8.0 5.0 3.0 3.0 4.0 6.0 6.0 1.0 5.0 5.0 4.0 1.0 3.0 4.0 5.0 +1678 Bifidobacterium genus 22.353720971584988 23.47870967318576 18.3037705453952 16.559828597820207 20.13808650068961 24.528518697911444 19.444983857317137 23.1157327242796 22.27217498859397 22.964407567595124 21.334052855932207 19.895832654670702 20.90924078052963 18.301882165044955 21.03544051153116 18.181828359032984 23.045206384851717 22.65742158570482 20.441309157371585 17.9742582317299 24.964188525311588 25.126513391517218 22.608544369152842 21.17334640664609 20.057970116311285 25.610765120525624 1.0 1.0 5.0 9.0 4.0 9.0 6.0 7.0 9.0 5.0 4.0 2.0 7.0 5.0 3.0 9.0 5.0 3.0 5.0 4.0 7.0 4.0 5.0 7.0 1.0 1.0 4.0 4.0 2.0 3.0 3.0 4.0 4.0 2.0 3.0 1.0 3.0 2.0 1.0 3.0 2.0 2.0 3.0 1.0 3.0 2.0 2.0 2.0 +1716 Corynebacterium genus 19.65185673540829 21.57756655472318 20.929950766889448 23.496112309433205 21.571829845489287 21.965901017966942 17.405922968810152 20.984967900743197 19.42367690731129 16.589308606296402 19.02987659418039 17.341010261039525 19.31911366132168 20.55097487571144 19.991971172983934 20.469521757060512 19.54282728335913 19.25824536387525 17.064073537566106 20.585449285994773 18.326530102735376 22.907350021899205 15.7739178558193 19.305104629281303 18.51844693378233 22.413071916632973 3.0 5.0 5.0 6.0 4.0 4.0 7.0 1.0 3.0 2.0 2.0 2.0 5.0 4.0 3.0 3.0 1.0 5.0 3.0 3.0 3.0 5.0 2.0 3.0 2.0 3.0 4.0 4.0 2.0 3.0 2.0 1.0 2.0 2.0 1.0 1.0 3.0 2.0 1.0 2.0 1.0 4.0 3.0 2.0 3.0 3.0 1.0 2.0 +1760 Actinobacteria class 25.261785195597287 25.45188012740324 23.28392993920096 24.41375518043643 24.193309541685853 25.850402581904234 25.230703099930604 26.25280024321639 25.417953809893014 24.95574655917325 25.416481505087553 26.500601824223498 25.54169295451973 22.85594879057879 25.762026309917736 24.65620397456923 26.336750211406297 24.171710429203305 25.26559006775672 24.664260014651216 25.549934931343433 26.241663865242156 24.928925280995944 24.481334113930515 23.57305628267159 26.220228670890926 26.0 31.0 47.0 40.0 63.0 60.0 144.0 41.0 97.0 199.0 107.0 21.0 55.0 49.0 177.0 57.0 29.0 43.0 52.0 46.0 31.0 47.0 30.0 48.0 5.0 5.0 6.0 5.0 5.0 5.0 6.0 5.0 6.0 5.0 6.0 5.0 5.0 5.0 6.0 5.0 6.0 5.0 6.0 5.0 5.0 5.0 5.0 6.0 +2049 Actinomycetaceae family 24.4052734330324 24.096112449438987 21.436497425347827 21.44879501441038 22.75717010690801 24.30971578168578 23.99081221692431 24.47281775985615 24.988617839823963 22.964877150683268 24.531686245380264 26.29534468302179 25.209065289408844 19.567109672861886 25.001168464523 22.95968198794806 25.914886898293048 22.46881485593529 23.3414391350732 23.563135507044848 23.58141856381032 24.80262263953529 24.35153041772297 23.654072784049703 21.109901727125155 22.95239291241907 9.0 14.0 24.0 14.0 43.0 29.0 109.0 14.0 70.0 179.0 88.0 5.0 18.0 16.0 156.0 27.0 7.0 23.0 31.0 23.0 10.0 19.0 8.0 21.0 1.0 2.0 2.0 3.0 1.0 3.0 2.0 2.0 3.0 3.0 1.0 1.0 3.0 4.0 3.0 4.0 3.0 3.0 4.0 4.0 2.0 3.0 2.0 3.0 +9604 Hominidae family 21.02639081751512 21.47137731428368 19.835687550792173 19.235849842127674 21.21850041695829 20.892304752239557 18.69596105486389 19.529188367382684 20.648681789072462 22.445627656935763 21.34826117846077 20.833283133869745 22.39919220880013 21.310178744271294 21.660591048302393 21.46973933348701 20.54082067870073 20.772858187361773 19.418424856873767 18.14854154719847 18.527321928103238 0.0 21.801556829368792 23.65289994089177 21.201032895763817 18.22327739211902 2.0 4.0 7.0 2.0 1.0 3.0 4.0 2.0 4.0 5.0 5.0 7.0 1.0 5.0 4.0 6.0 4.0 3.0 2.0 0.0 3.0 4.0 7.0 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.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 +9823 Sus scrofa species 24.325530922130195 23.846436743634786 21.525124696076894 22.65820462785136 26.21425713079269 25.805149815707477 16.947161661879772 22.01947510532796 20.78365479618668 21.303934895910462 19.81841381228513 20.68554365150032 19.46849896567394 20.232355441139045 25.102462889204503 25.3378750139005 16.266763617805463 22.63003957537136 20.572544371199964 22.57247809976349 26.35385306312357 25.245774664161292 25.38100421713942 23.057313352935637 19.443524406042066 21.15638321139795 4.0 4.0 4.0 5.0 1.0 4.0 2.0 4.0 2.0 3.0 2.0 3.0 3.0 4.0 1.0 4.0 3.0 4.0 4.0 6.0 3.0 4.0 3.0 3.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 0.0 0.0 0.0 0.0 +28037 Streptococcus mitis species 20.758135554369076 22.342678019707797 21.384789125260035 21.5801508626408 22.590498277612863 20.713498066835786 20.46452424646934 24.47148729929228 21.950858697898717 21.569320555632054 0.0 21.443309371972514 0.0 20.95190185328572 18.196632073302787 20.373402610241357 19.245083908608354 23.48234697022449 15.015716186425506 22.037946814037465 18.676141397081782 21.10454099859288 15.001173060415228 22.406070755226448 0.0 21.265781859281553 9.0 9.0 18.0 8.0 5.0 10.0 4.0 7.0 0.0 11.0 0.0 8.0 3.0 7.0 2.0 32.0 1.0 13.0 3.0 7.0 1.0 21.0 0.0 10.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 0.0 0.0 0.0 0.0 +28211 Alphaproteobacteria class 24.843979801359172 24.687782628609625 24.291366776127358 26.267154227776874 24.193702827431398 23.81830307582273 24.08945601860057 24.69689981823864 23.636747612507733 24.039137016229354 25.365056247247487 23.50528210503187 25.24564421004673 23.833856851886754 25.521092096773014 22.87263924560997 23.717634671415443 23.002667375007128 24.710919072579504 26.44185670736461 25.169515496158496 23.9069485362055 24.316568147124297 24.071684359175038 25.83190224931592 24.00615497515959 21.0 17.0 20.0 15.0 13.0 29.0 21.0 14.0 17.0 20.0 25.0 10.0 27.0 20.0 22.0 22.0 25.0 21.0 21.0 13.0 22.0 19.0 23.0 16.0 3.0 3.0 3.0 3.0 2.0 3.0 3.0 3.0 2.0 3.0 3.0 2.0 3.0 4.0 3.0 3.0 3.0 4.0 2.0 2.0 3.0 4.0 3.0 4.0 +28216 Betaproteobacteria class 28.365589762410174 24.95624435514636 26.70830973075037 23.202543414618894 22.72383229268715 25.107843968543733 25.474667050899097 25.973721821719746 29.422079565055817 24.48036375340046 29.39425057189927 24.37786316114933 27.91539856595919 24.32607138884574 26.20337394589519 23.303154188443393 26.25740784636989 24.780784427485525 30.609906612580446 24.56892111059796 28.3353624874594 25.002599102659353 27.25374731669495 23.84324028856916 23.74780032312052 26.57470318031168 110.0 11.0 11.0 16.0 63.0 47.0 778.0 43.0 767.0 19.0 407.0 13.0 29.0 24.0 111.0 26.0 1362.0 30.0 247.0 20.0 272.0 19.0 32.0 26.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +29465 Veillonella genus 31.51741114236677 32.03608823099034 31.44794850142426 21.920424571143013 22.917137539254288 24.537853786485925 30.867679214255126 32.43249337547586 31.098800056664324 33.32886885646381 30.88073964216912 32.71790402457994 32.240953502706944 31.180921691307464 31.36354351588361 31.31706940539739 31.59517955175147 32.35952816662651 31.782760168227693 31.93593078689545 32.316209587944776 31.517181716768423 32.2491774053091 30.65589677478536 31.209819106380106 33.171337938323944 2012.0 19.0 3.0 6.0 1742.0 4215.0 2066.0 6315.0 1939.0 4297.0 3629.0 2591.0 2158.0 2560.0 2230.0 4066.0 2239.0 3020.0 3244.0 2522.0 3306.0 1853.0 2275.0 5445.0 6.0 1.0 0.0 3.0 6.0 4.0 6.0 6.0 6.0 5.0 5.0 4.0 4.0 3.0 5.0 5.0 3.0 4.0 3.0 4.0 4.0 3.0 5.0 5.0 +29466 Veillonella parvula species 26.64144708468867 26.51699061804681 26.42101398956705 16.280868019741273 0.0 19.051605191158107 23.755386065012196 23.493097904702605 26.246372376404683 27.48253283092882 25.94695331293173 27.983219986741535 28.086910393965677 26.666392770065123 25.78584089878417 22.212091721133838 22.630622638564052 21.53603931322741 26.210609374261985 28.110799028178157 27.69145569383316 25.22320693882585 27.77092978512921 25.018437850375747 24.854075080961515 27.643416490924192 86.0 1.0 0.0 1.0 19.0 12.0 41.0 123.0 75.0 238.0 203.0 127.0 61.0 12.0 12.0 9.0 87.0 202.0 157.0 42.0 144.0 43.0 35.0 127.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 0.0 0.0 0.0 0.0 +31953 Bifidobacteriaceae family 22.64944887784661 23.693497541685996 19.469895667416164 21.73079403254096 20.236411632356184 24.63433760685071 19.773023416140514 23.31077172841877 22.742871702863397 23.13717103620182 22.460207770912675 22.795339978636022 21.52805357248261 20.75725824186385 22.18978687601281 19.24967397617085 23.18389441332737 22.995068621031237 21.048718820118236 20.505393421591148 24.97509221402249 25.152210660399515 23.027340983988672 22.089917125077285 21.111974161261124 25.64208597505785 4.0 3.0 6.0 13.0 6.0 10.0 12.0 11.0 11.0 9.0 8.0 5.0 11.0 8.0 7.0 15.0 8.0 5.0 7.0 6.0 11.0 9.0 8.0 10.0 3.0 2.0 1.0 3.0 3.0 2.0 4.0 3.0 3.0 4.0 3.0 3.0 3.0 4.0 2.0 4.0 2.0 3.0 2.0 2.0 3.0 4.0 4.0 1.0 +31957 Propionibacteriaceae family 21.420117504431342 20.43508681739084 16.212242558279947 20.434819144789536 19.62353400410344 14.34542634734169 22.29921219630499 19.48270199073928 20.90560869703989 19.904567366998325 19.76148318577329 20.147225793065914 21.520664559673087 19.89091200808486 23.917248674937106 20.669185113062465 20.41681446217276 19.905517349525923 20.41046116180066 21.150267373740714 18.32093135349848 21.733535309445653 19.165149549020907 21.475312292293967 21.07928029327072 18.404215135868174 3.0 3.0 4.0 2.0 4.0 3.0 6.0 4.0 3.0 2.0 3.0 2.0 7.0 7.0 2.0 3.0 5.0 2.0 4.0 5.0 1.0 4.0 5.0 3.0 1.0 1.0 1.0 1.0 2.0 2.0 3.0 2.0 2.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 +31977 Veillonellaceae family 31.55422883515936 32.064476957953055 31.475066407636948 21.994981202058398 22.917137539254288 24.894640495397375 30.90576701665552 32.45874804192702 31.14089750696053 33.351668635776385 30.918531332268273 32.74875247294553 32.277121427969306 31.217093840249195 31.39922233336803 31.3399453773558 31.632520444887014 32.388153264905384 31.82280142955675 31.963678498646413 32.34839661710352 31.546331786704307 32.290185218811736 30.68905746899284 31.249914995611444 33.20309380171461 2054.0 21.0 3.0 11.0 1788.0 4315.0 2113.0 6429.0 1990.0 4384.0 3704.0 2656.0 2208.0 2616.0 2290.0 4155.0 2293.0 3088.0 3313.0 2575.0 3373.0 1903.0 2325.0 5552.0 3.0 3.0 1.0 4.0 3.0 3.0 4.0 3.0 3.0 4.0 3.0 4.0 3.0 3.0 3.0 3.0 4.0 4.0 3.0 3.0 3.0 4.0 3.0 3.0 +32067 Leptotrichia genus 26.87632814454778 22.50000190099926 20.41915202655261 22.548175434284307 21.75481704538733 20.889089457754665 24.74362803489037 23.62924081984736 24.78100152146741 23.456139684618698 23.67536814704201 22.28197208537886 22.55474723729297 20.10088270561237 30.07369140951351 22.830757480537898 23.00086594252221 23.53024105479763 23.97688145462492 21.364600296866413 19.127315816790805 21.004873553053635 27.700807217006602 21.651412162634067 24.46957470186582 22.17169927331586 8.0 8.0 16.0 4.0 66.0 13.0 30.0 19.0 26.0 4.0 16.0 5.0 1139.0 13.0 12.0 13.0 29.0 11.0 5.0 8.0 329.0 5.0 70.0 9.0 2.0 3.0 3.0 2.0 3.0 3.0 4.0 4.0 4.0 1.0 3.0 2.0 4.0 3.0 2.0 3.0 3.0 3.0 2.0 1.0 3.0 1.0 4.0 3.0 +39777 Veillonella atypica species 26.002488023033276 28.925868495933823 20.6761998000458 0.0 0.0 18.10802478874329 23.99943043031498 30.239989342660078 19.391663991645192 29.98281433518317 20.97014979705796 24.19409345213768 22.83305259476784 19.302196306310762 26.044295881103878 29.17207273344421 28.963819592958988 30.266802897339016 21.70656157400394 22.13097851384748 26.59247894482648 28.558288280585817 22.85144438487246 21.68586786054605 22.481599166783 29.839341828521427 5.0 0.0 0.0 2.0 39.0 1430.0 3.0 954.0 13.0 57.0 11.0 4.0 88.0 818.0 600.0 1552.0 7.0 10.0 162.0 560.0 12.0 11.0 19.0 1059.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 0.0 0.0 0.0 0.0 +39778 Veillonella dispar species 26.223378701671553 26.11167703484368 26.08278404275275 0.0 0.0 13.029746321026517 27.79440099897028 27.190720163792182 23.143826375099092 28.307297363059238 25.45620183967725 25.854832463254816 27.13709373727579 23.873104445490323 24.660054469635984 24.555019657307234 26.90324847802966 26.470024432946783 23.718629407595586 22.846539316525718 24.486096304662123 23.553245569432804 23.169684521384372 21.714073774277438 27.21978471054919 26.506144982823802 66.0 0.0 0.0 1.0 241.0 219.0 28.0 400.0 44.0 70.0 107.0 29.0 52.0 34.0 161.0 157.0 15.0 12.0 35.0 11.0 18.0 6.0 246.0 149.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 0.0 0.0 0.0 0.0 +39948 Dialister genus 20.475383719921755 20.77423450422444 16.14755331126001 16.679455493489307 0.0 20.34301271768824 20.423622827650842 20.5196389037728 19.602217640058395 19.78818965293884 22.581023552786373 17.5672443240445 20.542989433294977 19.301800789281412 15.167784462058275 19.143864930426513 18.647258818481387 23.572317187805066 17.29914637358995 18.055365450869978 18.684961946691388 20.70252303035901 19.339420927231227 19.86552772695589 22.024319443382158 19.696788689406528 2.0 1.0 0.0 2.0 2.0 5.0 5.0 4.0 5.0 1.0 3.0 2.0 2.0 3.0 2.0 3.0 2.0 4.0 3.0 5.0 1.0 2.0 5.0 3.0 1.0 1.0 0.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +41294 Bradyrhizobiaceae family 22.68855346088776 21.10269427606105 10.335010028729489 0.0 21.586389608802065 19.05512374600289 20.567796728098067 20.425337612916728 22.238123434013144 18.845590947142295 23.689646431081663 18.160633591557065 23.448265712814145 12.069416556937096 21.735823583265613 21.930058232906365 22.5525484038562 21.502669143571964 21.65479240074186 21.734472960448304 23.586109904221345 18.764671934011652 22.847554653730025 23.40615234648123 23.676256620282057 14.944293067625372 1.0 0.0 4.0 3.0 5.0 4.0 6.0 3.0 3.0 2.0 7.0 1.0 12.0 5.0 7.0 5.0 2.0 7.0 8.0 3.0 8.0 3.0 6.0 1.0 1.0 0.0 2.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 +45634 Streptococcus cristatus species 27.623299015583054 27.07666527610429 30.714753250544852 21.796029113454708 25.231322576814772 23.3454071478401 19.655539820774482 21.797907814731666 23.89515170729949 21.295953737528727 27.251139198228298 30.607986765243503 21.021596665959045 19.642196472047246 27.344168383553786 23.374387728967587 26.85239266112148 24.047103674141464 18.193064632425898 22.443462288496534 19.79901201902825 20.60372598840745 0.0 20.302171068543924 20.575094716255347 21.878997811955017 1093.0 13.0 31.0 7.0 2.0 6.0 58.0 14.0 267.0 1175.0 7.0 5.0 183.0 12.0 227.0 35.0 1.0 10.0 5.0 4.0 0.0 6.0 4.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +46124 Granulicatella adiacens species 28.90033745735379 27.24908936658999 29.951873876515926 25.99465838427973 30.197821691688706 24.661915250656772 27.263656180245608 24.353433039731478 25.21713849601449 26.643171410222074 27.163041514598042 26.98336423293744 26.576417364002374 23.562344737306482 28.57719089674505 27.491617296361532 25.978814533902213 21.734151214491764 29.567464165628557 27.854326318023766 29.749622885879802 25.03266495081101 29.06779744846661 29.401977087960486 29.071875930251263 28.46635559698795 1172.0 208.0 1436.0 73.0 295.0 85.0 120.0 288.0 321.0 361.0 281.0 57.0 666.0 492.0 127.0 4.0 1010.0 548.0 1099.0 101.0 825.0 1089.0 842.0 647.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 0.0 0.0 0.0 0.0 +46125 Abiotrophia defectiva species 26.628738819635988 20.78120434644654 28.960416939941336 19.099753613117983 25.80904810850357 15.766197725142465 0.0 17.75070319266804 23.00978221479582 22.58501222334152 26.435273410008215 21.679177775940207 23.942154466879487 21.999260734526796 20.619879008620806 0.0 18.982923663447387 0.0 15.212344916016825 21.25296516854647 21.74248617188093 15.85655431424852 28.697968350500325 18.912552905674037 21.8715538842454 18.13897592327781 722.0 3.0 183.0 2.0 0.0 2.0 27.0 32.0 195.0 7.0 60.0 8.0 4.0 0.0 2.0 0.0 2.0 4.0 10.0 1.0 810.0 5.0 21.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.0 0.0 0.0 0.0 0.0 0.0 +49546 Flavobacteriaceae family 22.95539686895873 22.184635679496104 21.053214080296463 20.256819457174846 21.968078863512183 22.25191177656353 19.382691888774904 19.574810959356554 21.996716066452095 20.9705383493245 21.743454456244287 16.642544464854687 21.215805800141066 20.705471084734796 24.75630444764119 21.945410258424978 20.968432109785596 22.515892940481333 22.891293091222163 21.360360694495203 22.452020117647084 24.67431493599751 25.019608905828353 21.35232726973642 21.300785779193106 21.977375913825426 5.0 3.0 9.0 6.0 4.0 4.0 9.0 5.0 16.0 2.0 8.0 4.0 13.0 12.0 4.0 17.0 14.0 8.0 12.0 12.0 10.0 6.0 8.0 4.0 1.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 3.0 1.0 1.0 1.0 1.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 1.0 2.0 1.0 2.0 +72274 Pseudomonadales order 23.211608816017442 21.436860926993376 20.48333881236893 21.749460929250787 23.448375795796963 22.840239423554333 22.85533086446144 17.565114570883846 23.37942306785249 20.219794253885702 21.70323899989416 21.913338877384447 19.822503627163037 19.01537263574566 22.80237570310143 20.95703577687511 18.685241717022148 22.543994909741286 22.60205366229209 19.862781156775448 24.32846987041285 20.269210935658947 25.421771099001425 22.677675709238283 19.404033335324762 15.850940270882376 3.0 6.0 3.0 11.0 11.0 4.0 7.0 7.0 12.0 6.0 7.0 5.0 21.0 11.0 2.0 8.0 7.0 8.0 8.0 6.0 9.0 6.0 5.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 +80840 Burkholderiales order 23.2347231820503 24.191857549926716 24.640769391475434 22.498925791530908 22.434189871458987 24.28171830712745 22.590903722923898 25.46051458378805 21.70902362673431 22.29227233376329 23.194711590563134 21.508181128805152 21.98737056688548 22.182517037441283 22.731219482073325 22.394046776728832 21.57570877848681 23.148679590417558 24.86081869554077 24.34593780080068 23.66919857279261 23.69406861788015 22.401891846578025 21.900975789308337 21.81162965085725 26.438840101500762 6.0 6.0 9.0 7.0 10.0 14.0 10.0 14.0 12.0 4.0 14.0 8.0 15.0 10.0 7.0 13.0 13.0 9.0 21.0 9.0 13.0 12.0 11.0 16.0 3.0 3.0 3.0 3.0 4.0 3.0 3.0 3.0 3.0 2.0 4.0 3.0 4.0 3.0 3.0 3.0 3.0 3.0 4.0 3.0 4.0 3.0 4.0 3.0 +80864 Comamonadaceae family 22.553357356490967 23.467860526085104 24.55927046776253 22.493776580893535 19.11615478341163 20.472799312518443 22.401483379048962 24.37981662672276 20.209160576645992 22.044405002453605 22.39734668411217 21.156542482345518 19.28393936206647 20.555383962244363 22.53630592221213 19.104938248173816 20.150509117096373 20.741430420533984 24.53833522418264 23.85374233705968 19.61583461514025 23.251330123308914 20.886497842929156 20.641166070602747 20.31308379631421 26.116062785322036 4.0 4.0 5.0 2.0 7.0 7.0 2.0 7.0 8.0 1.0 5.0 2.0 11.0 3.0 5.0 6.0 3.0 2.0 7.0 4.0 6.0 6.0 4.0 6.0 2.0 3.0 3.0 1.0 4.0 4.0 2.0 3.0 4.0 1.0 2.0 1.0 4.0 1.0 3.0 3.0 2.0 2.0 2.0 3.0 2.0 2.0 3.0 2.0 +84998 Coriobacteriia class 23.14508153930618 23.54696035796893 24.93836083009677 21.298333283010308 24.201904039997398 23.98208553086095 21.63561518415503 22.605770793287906 22.806183564218887 22.413373543011737 23.421379463420717 19.904829849577574 22.147839147836102 22.52463460472465 22.058303592263094 24.234078752779546 23.087297488120807 23.80921351196737 22.22172847226572 23.0921237197876 22.63341242005798 24.70456980061807 21.844043109426398 23.39418001078622 22.23900471652377 24.696966219441077 7.0 2.0 8.0 10.0 7.0 6.0 12.0 12.0 8.0 3.0 5.0 4.0 11.0 14.0 4.0 6.0 7.0 9.0 11.0 7.0 2.0 12.0 7.0 10.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +85006 Micrococcales order 22.586370352036727 23.01235790908957 20.455403749519085 21.395321992361687 22.70368156022507 23.183597077544473 23.86818258158437 25.32143056025439 20.521727047091893 23.47473581607291 23.411770581173386 21.776647123518085 19.534027653510265 21.15592617410852 20.073269346152426 22.684610531222248 21.867516921755428 18.60344539049197 24.56836286925435 23.05353705527972 21.247562161917845 19.24809843633105 20.35610867041418 20.79075017585688 22.232191242810305 23.4484323027435 6.0 6.0 7.0 4.0 4.0 8.0 7.0 7.0 5.0 6.0 2.0 5.0 10.0 10.0 4.0 3.0 5.0 6.0 5.0 5.0 6.0 6.0 5.0 7.0 3.0 4.0 4.0 3.0 4.0 4.0 3.0 4.0 3.0 3.0 2.0 2.0 3.0 3.0 3.0 2.0 3.0 3.0 3.0 3.0 3.0 4.0 3.0 3.0 +85007 Corynebacteriales order 20.89621089023022 22.097896007197214 22.292001014110145 23.496112309433205 21.571829845489287 21.97216500741744 20.346391725356156 21.73443663083981 19.67363911626743 21.24760326778989 20.367401416414186 19.090470917630338 20.706195241929745 20.725344988740886 20.603480712987 23.14104831067083 22.646324642159936 21.67683472657033 17.721720997384278 20.6733380100895 19.40835785722902 23.05007269022569 15.7739178558193 19.970945130063374 19.623305864543862 22.432811998629635 4.0 5.0 5.0 7.0 6.0 9.0 9.0 5.0 6.0 3.0 5.0 4.0 9.0 8.0 7.0 9.0 3.0 7.0 4.0 7.0 3.0 9.0 4.0 6.0 2.0 1.0 1.0 2.0 2.0 2.0 3.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +91061 Bacilli class 31.75015107403585 32.86740180321424 33.19818285333216 32.53634809152527 33.471692118380325 33.41776964038733 29.98305074990491 32.487138974885305 29.959726575269407 32.09665407790267 30.485589622086426 32.78364188686572 31.26083442148846 32.33573912230939 31.259381958947355 33.47172572315231 30.06101094376124 33.247528462170834 31.18586962719752 32.85649036482498 32.23201166082143 32.891064480452485 30.723201707236942 32.85009246631836 31.18726288042805 32.76584001137989 7668.0 6139.0 9063.0 9032.0 1634.0 6928.0 1549.0 5576.0 2286.0 6751.0 2794.0 5179.0 2958.0 10240.0 1423.0 8414.0 2899.0 6600.0 5165.0 7616.0 2681.0 7662.0 3167.0 6708.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +91347 Enterobacterales order 25.735637383160963 22.553758899640883 22.53535453950437 19.899831515231558 24.48153523500128 23.753503836758362 24.18118011667176 20.503588102210752 22.96372225617252 21.807045001047527 25.27206194662444 21.54665234946141 23.60251228230516 21.96002814366796 22.612875105764168 21.731078631271604 22.586310160651852 18.811569889016454 28.89480487395267 24.919711698554675 24.31413961529516 21.28560975653187 23.99092218485465 19.108949518935365 23.410538511547088 22.86927944783216 8.0 6.0 7.0 18.0 13.0 6.0 20.0 7.0 15.0 10.0 13.0 4.0 15.0 9.0 9.0 4.0 262.0 51.0 22.0 6.0 12.0 6.0 11.0 13.0 4.0 3.0 2.0 4.0 2.0 1.0 3.0 2.0 3.0 2.0 2.0 1.0 3.0 3.0 1.0 2.0 2.0 3.0 4.0 3.0 2.0 1.0 3.0 3.0 +113107 Streptococcus australis species 21.313924145755745 23.468216671412254 23.205566161747193 22.657433950106007 22.89419209075973 25.88870155756507 0.0 22.053485426955323 16.635360697195402 22.404928834458214 0.0 20.8407876062566 21.216733954492867 20.533499516429316 18.262234492451263 25.28089331395021 19.95540737494885 21.819786733079887 18.058830674971485 19.70254736284236 20.082344291003853 22.528619298505305 0.0 21.0375782448319 19.49837347980613 21.814744251304308 28.0 13.0 16.0 54.0 0.0 11.0 2.0 13.0 0.0 10.0 4.0 6.0 3.0 31.0 2.0 9.0 5.0 5.0 4.0 17.0 0.0 5.0 3.0 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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +117563 Granulicatella genus 29.335914227242107 27.72180497869329 30.413671013930895 26.402636976810626 30.76306729105667 25.421953256163324 27.882411819922943 24.98908586932859 25.823936606464358 27.38105835588175 27.50154555454619 27.506143341493395 27.010923114345573 24.26276372174167 29.095677667905488 28.106579177918892 26.414541209696754 21.94459202170248 29.92256122924555 28.31186104695985 30.10101524918847 25.551148395091968 29.41032584579755 29.813888256032605 29.384890590062646 28.852111899596967 1558.0 266.0 1767.0 116.0 450.0 128.0 172.0 385.0 394.0 455.0 342.0 81.0 818.0 612.0 181.0 5.0 1215.0 682.0 1319.0 138.0 1002.0 1324.0 1018.0 804.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 +119060 Burkholderiaceae family 21.087905416507713 22.111375637395163 15.793389527669685 12.646913477082734 22.26006255927061 24.159881049635114 17.87681942116253 21.744161593253217 18.68483477351511 18.890641837767173 0.0 19.013924712699193 19.151590645786253 21.562509086455336 15.267438886147394 22.23515002669113 20.51472221359305 22.30587219269001 21.14959037862416 19.39032848246721 23.301935168506517 21.624771600007925 21.137724927527515 16.5345809918755 20.681239134180625 23.724270919891786 1.0 1.0 3.0 3.0 1.0 3.0 4.0 6.0 0.0 2.0 4.0 4.0 2.0 6.0 1.0 3.0 5.0 3.0 8.0 3.0 3.0 2.0 4.0 5.0 1.0 1.0 2.0 2.0 1.0 2.0 3.0 3.0 0.0 2.0 3.0 2.0 2.0 3.0 1.0 3.0 3.0 3.0 4.0 2.0 2.0 2.0 2.0 2.0 +128827 Erysipelotrichaceae family 21.94315426172615 21.709017550631188 19.92208376387618 20.79180458919052 22.01052828228756 21.619008605483177 21.482036873726425 21.814440071221927 21.08257769811009 21.96684259871955 20.63054799968411 20.597032608244312 21.67045875135301 18.79330515947873 22.73105738420188 19.32390074994257 22.807729632330858 21.945108925007304 18.670070078065933 20.3262881739165 22.09304111150053 21.378342219120807 22.78076299382864 23.846139867838684 22.66642294492146 21.23020778203639 4.0 4.0 5.0 4.0 5.0 5.0 5.0 4.0 3.0 2.0 4.0 1.0 6.0 4.0 5.0 8.0 2.0 3.0 3.0 2.0 4.0 2.0 10.0 7.0 3.0 2.0 3.0 3.0 2.0 3.0 3.0 3.0 3.0 2.0 2.0 1.0 3.0 1.0 3.0 4.0 1.0 2.0 3.0 2.0 3.0 2.0 4.0 3.0 +133925 Olsenella genus 22.778447659793464 23.07736211214992 24.906706105494145 21.298333283010308 24.187709110179977 23.882132214231657 21.53520950373888 22.477262535564343 21.325607122956495 22.14993174402777 20.954813956948872 19.055577752540145 20.58181447404851 22.433918855758463 21.734296752612934 23.897766281340804 22.118868778176 23.67885542851413 21.90228873450288 22.066757418907887 21.71948293977056 22.293308955715165 0.0 23.185241175030328 21.89195894426266 24.476042613171806 4.0 2.0 7.0 6.0 4.0 3.0 3.0 6.0 5.0 1.0 2.0 2.0 4.0 5.0 2.0 4.0 4.0 3.0 2.0 2.0 0.0 5.0 4.0 3.0 1.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 0.0 1.0 1.0 2.0 1.0 2.0 2.0 1.0 1.0 1.0 0.0 2.0 2.0 1.0 +137732 Granulicatella elegans species 23.567621660240857 21.069264261163763 26.12746056922684 17.536082886512116 25.00426386923168 21.77642443922289 24.433200605234326 21.067083796391746 21.226528810176593 19.90164920954916 19.462942921283013 22.28197188702657 18.465230972198636 16.989546288954333 20.23192536646712 20.276510436197146 17.087148567682984 19.063370423241416 22.127331088963707 20.894636008526767 21.337173636703003 21.69184925621571 20.667521800648856 21.09181854802461 22.46049242706653 22.202117362924714 131.0 1.0 37.0 5.0 64.0 3.0 5.0 6.0 4.0 9.0 3.0 1.0 6.0 7.0 1.0 1.0 10.0 6.0 10.0 2.0 9.0 9.0 8.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 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +162289 Peptoniphilus genus 20.201838901917675 20.935786611658095 20.095941897291656 17.458018612083613 20.639182095582605 21.557597220761505 18.405701110984637 21.672324817303632 19.049878256302033 16.968073016709972 20.4155104569531 21.464736906507387 18.578789254161453 20.144535679020624 20.98096272404288 20.637384038449788 19.581589510387033 17.894561182473726 19.677388612306245 22.19096496348532 22.32440912099536 22.521627731015897 15.664003208349927 19.129616348039672 15.357538562556995 14.461920484999919 3.0 2.0 1.0 5.0 3.0 5.0 3.0 2.0 6.0 5.0 3.0 3.0 11.0 5.0 7.0 6.0 4.0 4.0 5.0 4.0 1.0 1.0 1.0 3.0 1.0 1.0 0.0 1.0 2.0 0.0 1.0 0.0 2.0 1.0 1.0 0.0 2.0 2.0 1.0 2.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 1.0 +165779 Anaerococcus genus 22.181951893762225 19.524944226849325 18.54040224746611 0.0 18.285627505089998 0.0 24.106357177808448 20.257920789870575 21.904204306905378 19.267195913599103 20.644386305593947 19.452982990155327 18.815359043867304 0.0 24.371298230041628 18.7813338511602 18.6227485074234 18.41930112903463 21.7168574248358 20.102602136175552 21.405867427869996 18.098571010621395 18.952392501270264 19.916949357294648 21.72754217567088 19.916223151096137 1.0 0.0 1.0 0.0 3.0 5.0 6.0 3.0 7.0 3.0 6.0 0.0 7.0 3.0 2.0 6.0 3.0 4.0 2.0 1.0 2.0 4.0 4.0 3.0 0.0 0.0 1.0 0.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 0.0 3.0 1.0 1.0 2.0 1.0 3.0 1.0 0.0 2.0 2.0 2.0 2.0 +171549 Bacteroidales order 27.11246709394449 24.562576614744945 24.944867816434122 23.783485715338426 23.285044823530676 24.013211460431446 28.002512747700592 25.97340627774153 26.704511675639054 25.9576832453008 28.530372960671315 24.25642379523949 24.514976039856144 23.078445408021828 25.646260272992144 24.63036718621397 26.500053600009604 23.96656855958961 29.380793547441627 23.649943761636237 24.64756690751292 24.212398176416677 24.044408009842616 23.976128543073234 24.155765207210003 23.794822508022353 33.0 16.0 32.0 36.0 380.0 41.0 236.0 40.0 510.0 27.0 39.0 30.0 92.0 45.0 228.0 18.0 592.0 39.0 39.0 32.0 21.0 40.0 47.0 27.0 3.0 3.0 3.0 3.0 3.0 4.0 5.0 4.0 4.0 2.0 4.0 4.0 4.0 3.0 3.0 3.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 2.0 +171552 Prevotellaceae family 26.74811884282495 24.292188060169085 24.90968544001194 23.76769396904597 22.945370015330663 23.79478896429173 27.629734899853467 25.941138129936537 26.40961615350691 25.21701343385916 28.20626768810892 24.252308724458054 24.02580279007446 22.7820570283134 25.3125857354077 24.36315856891433 25.931423914832806 23.706176617830877 29.006379178098395 23.332642456861983 24.308142670553316 23.88297855897874 23.62273286904233 23.477906631163297 23.365131128990388 23.74749976140898 30.0 13.0 24.0 31.0 291.0 37.0 174.0 34.0 371.0 26.0 29.0 22.0 65.0 37.0 179.0 15.0 439.0 28.0 28.0 23.0 16.0 26.0 31.0 25.0 3.0 1.0 3.0 3.0 3.0 3.0 3.0 2.0 3.0 2.0 2.0 3.0 2.0 3.0 3.0 1.0 3.0 2.0 3.0 3.0 2.0 3.0 3.0 3.0 +186802 Clostridiales order 27.863271945455107 24.89694791742496 23.952601790078003 23.382612698668204 24.563979662294745 25.66250655802362 26.50537391375444 24.670766652508487 27.47118119328121 25.559307298233794 28.667584600827823 24.211296140306832 24.412590298585897 22.95840329296431 30.663445376840397 24.575240647891196 28.419145515831342 24.903007391501962 24.664174144419366 25.195282096559488 24.819175832430634 25.486779161783137 24.046196276634678 23.435373359029487 24.61998960882041 25.68565349635784 21.0 16.0 28.0 34.0 145.0 38.0 259.0 28.0 478.0 27.0 33.0 20.0 1608.0 31.0 589.0 39.0 45.0 29.0 30.0 29.0 25.0 32.0 35.0 30.0 3.0 3.0 5.0 5.0 5.0 5.0 4.0 5.0 3.0 3.0 4.0 2.0 4.0 5.0 5.0 5.0 4.0 2.0 6.0 4.0 5.0 4.0 4.0 4.0 +186803 Lachnospiraceae family 26.5365208447825 23.631763199191433 22.087311335035402 22.79585491145375 23.53196031781843 24.852435641022282 25.631919926921476 23.90111675045971 26.73789832392785 24.719078596846717 28.15251788974698 23.06461319613091 24.167726655066037 21.90507970150146 28.388958009012644 21.770735402515168 28.0403001951791 22.89168204837938 22.357687385759732 23.915165846870323 23.17971856066495 24.787901815427915 23.057293247201013 21.357847362865826 24.19542896186232 21.77269613118817 7.0 6.0 8.0 14.0 101.0 14.0 171.0 10.0 339.0 13.0 18.0 9.0 555.0 14.0 472.0 12.0 19.0 13.0 10.0 8.0 7.0 14.0 17.0 8.0 5.0 5.0 4.0 4.0 6.0 7.0 6.0 5.0 6.0 5.0 6.0 4.0 5.0 4.0 4.0 5.0 6.0 6.0 4.0 4.0 5.0 5.0 5.0 4.0 +186804 Peptostreptococcaceae family 26.50576303283946 22.77781549088921 19.540792505123356 19.84806419896069 22.819589079970022 21.027723891538827 24.763189566035965 20.999686610342817 24.261955804622158 23.49110450487055 22.999178752845093 23.100496530397194 19.76915852281815 19.385789451266827 29.968447136120105 22.94392931334128 20.913114046987012 23.785806263034466 23.39222819287117 24.000815069824558 22.53339035606349 21.438149419850628 21.396501452612977 21.68498629242661 22.27364441375489 23.750921313716326 5.0 4.0 8.0 8.0 11.0 8.0 13.0 8.0 11.0 8.0 5.0 6.0 823.0 8.0 6.0 11.0 10.0 9.0 4.0 9.0 9.0 10.0 9.0 9.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0 3.0 2.0 3.0 2.0 3.0 3.0 2.0 2.0 2.0 3.0 3.0 2.0 3.0 2.0 2.0 3.0 3.0 +186817 Bacillaceae family 22.570847598578485 22.801452183141325 20.242474851896567 18.681629498806686 23.7103896124936 22.023698162750723 21.75006904563679 23.317915417373953 18.66114108601868 22.80835765154499 19.62130929490416 23.463607424960884 21.016206124745807 20.195501193513103 21.062306668679586 19.654249754211573 24.95959966932345 23.473609382705803 22.5504064210192 23.41637953270925 21.930277730004786 24.25545095666748 22.158404441038705 22.485399518658088 21.64944736627069 21.466926879076667 5.0 3.0 17.0 14.0 3.0 6.0 2.0 5.0 5.0 6.0 2.0 4.0 6.0 4.0 3.0 6.0 7.0 4.0 6.0 8.0 8.0 6.0 5.0 8.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 3.0 4.0 2.0 2.0 2.0 2.0 1.0 2.0 3.0 2.0 1.0 2.0 1.0 1.0 2.0 2.0 +186826 Lactobacillales order 31.624961216626073 32.82607257476154 33.07344056380458 32.51934163852834 33.3198111180399 33.336308791928026 29.896010581156546 32.41815470205883 29.797461167864398 32.07212537828489 30.28704779128689 32.75281095238583 31.205146024163824 32.30220534677862 31.227061976818838 33.44939184500077 29.95188914741597 33.211365393661396 31.06755276937293 32.81533279161321 32.11867686086419 32.83791516782056 30.448900568265948 32.809138485692365 31.118885149069985 32.73506567706285 6966.0 6021.0 8172.0 8408.0 1515.0 6337.0 1365.0 5450.0 2005.0 6477.0 2606.0 5039.0 2881.0 10061.0 1344.0 8170.0 2740.0 6271.0 4767.0 7439.0 2293.0 7387.0 3039.0 6544.0 5.0 5.0 5.0 6.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 4.0 4.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 +186828 Carnobacteriaceae family 29.370782956946545 27.76291872885829 30.45205190480293 26.44567414063633 30.80052630843073 25.50136840621385 27.949991248719286 25.096514095318927 25.84346609244545 27.411982722456088 27.545877569115024 27.556496957261142 27.039539261526624 24.35368723929883 29.119815327540454 28.148859821091445 26.43892281618993 22.125819946360302 29.958204995434414 28.36165393233391 30.127169817560702 25.60474890363494 29.445113550155025 29.852628216951423 29.417401201065307 28.877877032501136 1589.0 275.0 1801.0 122.0 466.0 139.0 175.0 397.0 408.0 468.0 351.0 86.0 834.0 633.0 189.0 8.0 1241.0 701.0 1342.0 144.0 1022.0 1354.0 1037.0 820.0 4.0 2.0 4.0 2.0 2.0 3.0 1.0 2.0 2.0 3.0 2.0 2.0 2.0 3.0 1.0 3.0 3.0 3.0 4.0 3.0 2.0 3.0 3.0 2.0 +201174 Actinobacteria phylum 25.848277880139772 26.325724303322954 25.44335839169099 24.625460641630102 25.33543024901195 26.38080966473031 25.535504291293343 26.432968311699227 26.05461112945051 25.55469987414196 26.42242309131936 28.360248473709262 26.107375855401784 23.77153256852889 25.92736316146503 25.52368780268969 26.853740005007413 25.03652938829249 25.54138501730898 25.692973874996692 26.004114181742978 26.711928108192282 25.12446117832511 25.147214886514345 24.147582575694734 26.7550700410886 43.0 38.0 67.0 55.0 86.0 79.0 193.0 75.0 213.0 616.0 148.0 28.0 75.0 72.0 244.0 67.0 40.0 106.0 103.0 59.0 37.0 72.0 44.0 68.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +203491 Fusobacteriales order 33.38002013665451 28.295833495799307 24.953765013169388 23.39474377708772 22.158725210149065 22.4400400075868 33.59080400592074 23.888070155521852 34.431519799776396 23.8573320035419 34.1886038452706 25.37554191560617 33.70026130473536 22.995262341376602 34.022783559925536 23.577493557965546 33.47460978598078 23.948908867624336 32.28572696244835 31.819132692586976 28.511733948621806 22.388215025444584 33.39902556861409 22.389636458774675 34.077528430474004 24.655465254846373 104.0 14.0 21.0 10.0 6000.0 27.0 9761.0 36.0 8490.0 101.0 7246.0 30.0 8834.0 40.0 5044.0 27.0 3529.0 3512.0 511.0 14.0 6374.0 16.0 8100.0 44.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 +213849 Campylobacterales order 22.877553191845465 23.42651999615718 19.75597554022685 20.606446832930114 22.374052312423657 22.175914745445667 20.754706572915023 21.497720060388442 22.151782833367424 21.424623443460977 20.230148010413348 18.916555043688426 21.418564344944826 20.053670388187925 26.080710859770953 24.38212216239476 20.727427914381174 22.276599643574947 18.169051721776746 26.353858284366478 18.911902395646823 20.233239126385538 19.83361162568149 20.64842005221573 20.26551706334565 22.519209227282648 4.0 5.0 2.0 5.0 3.0 7.0 29.0 6.0 8.0 5.0 20.0 5.0 223.0 9.0 6.0 10.0 5.0 8.0 3.0 5.0 7.0 6.0 9.0 8.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 +265975 Oribacterium genus 22.85370496486701 22.969449265232587 20.101741577180146 22.56398402487284 23.25810957623011 24.35778742523521 17.537402719954088 23.019926560099467 23.64564127296471 24.502619342726426 25.456991203534198 22.64581756693985 20.73947311260018 20.991664986330107 19.27059493275521 21.224731815990502 18.322952255478427 22.452431799569784 19.905251328586328 23.476605187984386 22.92791542377163 23.10492022633954 17.90746229105769 19.411570648409775 23.020270023870978 18.418708679724237 2.0 2.0 2.0 6.0 1.0 4.0 11.0 3.0 10.0 5.0 7.0 3.0 6.0 3.0 2.0 3.0 5.0 5.0 5.0 4.0 1.0 4.0 5.0 1.0 0.0 0.0 0.0 2.0 0.0 1.0 2.0 1.0 1.0 1.0 2.0 1.0 2.0 1.0 0.0 0.0 0.0 1.0 2.0 0.0 1.0 1.0 1.0 0.0 +416916 Aggregatibacter genus 26.028143565805202 21.963715511593186 19.071697785619996 24.132215681040503 18.581288524695864 20.644965500038744 23.12659650295228 21.18444264381485 27.65467355347139 21.438699817819206 25.29209629021757 23.74316993948855 23.720591679972035 21.08701566361023 28.85395927826012 16.378181817066846 24.00350903786073 17.7667506724018 20.87439115632514 19.272291498679323 24.40326724487193 0.0 23.155822634831036 15.8378395946466 23.165629190009927 21.236082242783827 3.0 4.0 2.0 2.0 5.0 3.0 364.0 9.0 41.0 12.0 18.0 5.0 493.0 2.0 29.0 2.0 3.0 3.0 27.0 0.0 14.0 2.0 9.0 8.0 1.0 2.0 1.0 1.0 2.0 1.0 3.0 2.0 3.0 3.0 3.0 3.0 3.0 1.0 3.0 1.0 2.0 1.0 3.0 0.0 3.0 2.0 2.0 3.0 +649777 Synergistaceae family 21.34410870483268 20.342481859790933 12.722775191402784 18.92833567189773 20.513630556865273 0.0 21.123541056925603 16.633712993437534 17.439985048901242 19.296406260651942 20.62546717088497 22.722314508599528 18.941545335029307 12.558719922528866 23.26590054186841 18.81660458896966 20.71863709736182 21.23783558474517 20.577158921964482 19.019500051140387 23.284148568284248 21.194625956766988 20.366267968252497 17.258831083285212 19.802895038657333 18.718863384956276 1.0 3.0 3.0 0.0 4.0 2.0 3.0 4.0 3.0 3.0 2.0 1.0 9.0 4.0 1.0 4.0 2.0 4.0 2.0 3.0 4.0 2.0 2.0 1.0 1.0 3.0 2.0 0.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 1.0 3.0 2.0 1.0 2.0 2.0 3.0 2.0 3.0 3.0 2.0 2.0 0.0 +909932 Negativicutes class 31.642194031354713 32.13468762235439 31.544314244694014 22.26107368410749 23.403415372397927 25.274630134164894 30.995174586086407 32.534383226499486 31.221607191441215 33.416289115554946 31.007758003630567 32.812479432123524 32.3657796226359 31.27982807466682 31.50580897261089 31.419980035372852 31.73676675760914 32.46689932493384 31.90335373250952 32.01991155162215 32.440506546087626 31.624366871994567 32.376633329293604 30.77201116376389 31.324387306077984 33.27525557843209 2112.0 24.0 13.0 22.0 1858.0 4415.0 2187.0 6539.0 2047.0 4470.0 3786.0 2718.0 2281.0 2701.0 2355.0 4257.0 2365.0 3164.0 3391.0 2649.0 3465.0 1957.0 2384.0 5655.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 +1570339 Peptoniphilaceae family 23.376192221156746 21.9233285218442 21.530370272488227 18.080746778833426 22.069344119853483 21.69336496273765 24.224440757757648 23.248488219093908 22.70511207327184 20.87440581741395 22.21077750839318 21.90605373227633 20.779175868793548 20.912271401897566 25.86972432971436 21.05424678262083 21.751447218169673 22.82055468109171 22.872969174097605 22.769851569191083 22.94097984639506 22.587358803525447 21.898503869358407 20.8124661881928 22.427603428836107 20.403651221891238 8.0 4.0 5.0 7.0 9.0 15.0 16.0 11.0 20.0 11.0 13.0 8.0 28.0 9.0 16.0 17.0 10.0 13.0 8.0 5.0 7.0 9.0 9.0 8.0 4.0 2.0 4.0 3.0 4.0 4.0 4.0 4.0 4.0 3.0 3.0 3.0 4.0 3.0 4.0 4.0 4.0 3.0 3.0 2.0 4.0 3.0 4.0 3.0 +1643824 Atopobiaceae family 23.095961409992302 23.208563169782163 24.915226695607878 21.298333283010308 24.201904039997398 23.93953836973515 21.588480102781343 22.589064661598893 22.67860039633661 22.386543718617833 23.38407466541362 19.904829849577574 22.032654192647296 22.494976060551032 21.97127765348275 23.91618649632667 23.087297488120807 23.709595883268843 21.94359747287084 22.81282029308393 22.48415692721951 22.29631653248385 21.844043109426398 23.250123815558876 22.211599792157088 24.682377093999648 6.0 2.0 8.0 7.0 5.0 5.0 10.0 10.0 7.0 3.0 3.0 3.0 9.0 8.0 4.0 5.0 5.0 6.0 5.0 3.0 2.0 8.0 6.0 7.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 2.0 2.0 2.0 +1843491 Selenomonadaceae family 23.23864639783701 22.8728938280295 22.15215088671252 17.208137383583722 21.598185771677297 22.661543465600804 23.015096873655523 22.531134703617262 22.68649736015477 23.24016576883264 23.96621462793578 21.778565860399933 24.31621982642957 21.414594274785475 23.418189249072828 20.40663564024541 23.612216055685572 22.864012545765014 22.747995432652267 22.521151691407837 22.712049747539854 24.22506609220036 23.83919133820257 24.50800705913742 22.384756810701738 22.106172333873914 9.0 2.0 10.0 10.0 14.0 13.0 15.0 10.0 15.0 7.0 18.0 6.0 16.0 9.0 8.0 12.0 12.0 12.0 13.0 9.0 16.0 9.0 10.0 9.0 2.0 1.0 2.0 3.0 2.0 2.0 2.0 2.0 2.0 1.0 3.0 1.0 3.0 3.0 3.0 2.0 2.0 2.0 3.0 2.0 3.0 2.0 2.0 3.0 diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index b90aad8..991408d 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -262,7 +262,7 @@ heatmap_cli <- function(args){ # get color mapping colSideColors <- get_colors_from_groups(args[5], all_intcols) - filter_to_sig <- (args[6] == "True") + filter_to_sig <- (args[6] != "None") alpha <- as.numeric(args[7]) width <- as.numeric(args[8]) height <- as.numeric(args[9]) diff --git a/tests/travis/testCLI.py b/tests/travis/testCLI.py index 5ddd9f8..9123f04 100644 --- a/tests/travis/testCLI.py +++ b/tests/travis/testCLI.py @@ -57,6 +57,20 @@ def testViz(self): test_status = subprocess.call(cmd, shell=True) self.assertEqual(test_status, 0) + def testHeatmapViz(self): + infile = testfile('ec_ttest_tested.tab') + imgfile = testfile('cli_heatmap_viz.png') + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m f --ontology ec --plottype heatmap', + '--infile', infile, + '--img', imgfile, + "--samps '", TTEST_SINFO, "'", + '--filter_to_sig', + '--alpha 0.5' + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + if __name__ == '__main__': unittest.main() From 1ad4685ceaec03a3eb1bfb951d759ed6b88c4823 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 16:38:45 -0500 Subject: [PATCH 14/23] column check in heatmap --- metaquantome/modules/viz.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 991408d..bd9ea96 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -199,6 +199,10 @@ mq_heatmap <- function(img, df, all_intcols, colSideColors, filter_to_sig, alpha # colSide colors is a vector of colors for the groups. Must be in the same order as samp_columns # filter to sig if (filter_to_sig){ + pvals <- df$corrected_p + if (is.null(pvals)) { + stop("the dataset does not have a column named 'corrected_p'. did you run metaquantome stat?") + } df <- df[df$corrected_p < alpha, ] if (nrow(df) == 0) { stop("after filtering to provided value of alpha, no rows remain. please increase alpha") From e0076c49c456a4acb876835793a2fda8da74f903 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Thu, 28 Mar 2019 17:04:20 -0500 Subject: [PATCH 15/23] fix heatmap bug introduced in last bugfix --- metaquantome/cli.py | 1 + metaquantome/data/test/cli_heatmap_viz.png | Bin 26993 -> 27778 bytes metaquantome/data/test/cli_pca_viz.png | Bin 0 -> 188818 bytes metaquantome/data/test/test.png | Bin 21109 -> 0 bytes metaquantome/modules/viz.R | 8 +++++--- tests/travis/testCLI.py | 22 +++++++++++++++++++++ tests/travis/testRunViz.py | 7 +++++++ 7 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 metaquantome/data/test/cli_pca_viz.png delete mode 100644 metaquantome/data/test/test.png diff --git a/metaquantome/cli.py b/metaquantome/cli.py index ca802c3..69ec62a 100755 --- a/metaquantome/cli.py +++ b/metaquantome/cli.py @@ -54,6 +54,7 @@ def cli(): flip_fc=args.flip_fc, gosplit=args.gosplit, sinfo=args.samps, + filter_to_sig=args.filter_to_sig, alpha=args.alpha, whichway=args.whichway, name=args.name, diff --git a/metaquantome/data/test/cli_heatmap_viz.png b/metaquantome/data/test/cli_heatmap_viz.png index 45a4520941a891848eda3fdb5813aac6faa3f49c..7dd0cbfb2afff4f26fa003ea1e5c5f66caa9f352 100644 GIT binary patch literal 27778 zcmeHw2|U&7`tMS^?B)`c617Vfg(4vtQc}v8qD+<0AVSEjQK_hqWR{u8JX;MULu8(* zWXe?LajpA(Yu|IuK6n5B_uMnweeV67{b{pft>60n-uHQ*=lgu0@AK^2DoXN;=C7Vl zp->hb*uPheLYdP<{{49tev+oqD2#9OF77{OL7@n2ApbI54wJT`P}Wfn?A@(?*{`?R z#;>-GE={l9qS(0qc=G+w(%rW_`|4IpaI5ktY}6WEY@TNp8@$o2l*g0x*b@0;eDW+6 zXSqY}C%=zNethO!xKAtBz<{aLkWJZk!*hmlh8>QK9$USE9$THVv1}JD$xPka&Fgu1 zc*y+(8FSwhz;{ZJ5K9sH{?j^7CVcx@hB_PHmO87<#kX~o;Dz`mLy=|2H)qOqA$+4S z{cJ$K&06|Ap^XJc@;o+M$ZoDqwaw65F`N@L^s$mLVt3}RT zkGpZ-ab~2puQ5%}y4iBi&4u%H7EnA>uKW4MO^OW7pm)M!}<94DLz(mc45O^gKsyim9Qe; za3h%ooObF_YGF$LJKsGKkr=5uJT=@sggd^_k}ZBIj7{F$++4fj(m>AG3WHBq=Pba2 zdfqRa8Ee%m;>P}|2tC}h@`cICwm0|oxGZ+~bepFpPREzgylBl1o% zut9zYHYP5spKt4fLct9i^oP63nb%%=?=aTv?eDMC(7w#*FY~o zZeld;w^YK_ic3ne`!jpu(m%QCIZlM7TO=hW_UDYXjP^B}HfN@6KlfAyE2MDnpjL*t zfi~my5^4KRf9tut^I&`a8$6?`$j(Is*q+mf`x?lYj?hXo5f>NdKEiTCGyAgH@#77y zY@0t#GB4(+i`S#AhgRr~zp>j1m{j9INa`;sf^-`t&u6@2@Yf4(+OC;j5b zMpK$YrJ`tcjD{fNLxO%m|Ea`1s#}gFZp1RwCmNW|T${USvPX}x`uj3i-B1aCcs${h zT%eT0;24+v*O!&yigt{dG3=1VaJjtb`I=bW99#b5$zo$o7J-*P-R3^{sL87F!n}F& z%#!-k+uSUBYP=47^s1@|J6Ks!;W+)RAf5j58uM6Rqv-wvSgYP&f)8koD+URBS zg+{9{RZ#_Nt()8o!@|R*U>}0nUu92yVobc7X!q9JcXyTQxa($(IF4e+1H(P z5iw~>KUW=%&24aE%(#npJeG2pyvr`U3ELGRt2w^%=|@^7yftB|rma$r)8oFT zxf5Ma-CIm)Gv}%zA3S+t`+|wt&%B6t_S}V<&rj^WlEmpW{Vko@RO8ukOPJz~c+0oz zUGm;#;^^Hu!VkYP$9qqE(#h91tE#HfTdzM6IWKTLIr5gqTi-bwH*Vy>$GS^RcDc=E zjJLUK=s8#_C@6fSxh`70{W5MySV+j~lK-^w2Tlnq5re0+S2 z0v)Vc=zA86hn|tnW^CZ)<&7g&z%$^?z+H+pOvL+^zjkD)}u#{Qco8?Os6~1hXO^LFC8wA_we$vY__b`xl}F(uc)*B zbz)Ldpu=c=o126Q&cDr6PgPW9*g@~~m+?8H$JcwW#wu!;y=3OHhYhdHF~pIZuS~^L z_y}>w@od}nEjlKSZ;}nRDC|U^{`lHO@AAhRBR#dP<unGwyzh7vi7Lu*o~Ds zt+G&4tB{)N^tk%$5D{2e}O`KP`>%<-(951$*Ki#3jU?Gp0qzi}n zTgRzBjl>xHslGHxyV0gx2Rm)22qpi0?wpbaMV@1=PKV0*FCWOszzofSCJ`~%Kd&Nq_f-Ju>zu2Z)S3=KP!bx+mcL|Jr{WJ?}6 zaKKyJ{6Inx0&C<~xTSL35m&86m8!hgIG@Ah@a@J64<0@o9BnjpUn?>C@SuSBx4h-b z5`D>9ra6}VO&K`bW=&0n9z3*(4&SW8Oe_SBj-0AGVjb3J|CA6uIXJ=RFnxT__R~cwmXbmyG(NIZqBX`&a-tLC)$ez zvbGF7#)b1QR20&V8OmF4&4GQI)z=&|@~?&`J#}O;0?fyG27LY(8dGO*yJr4!(u(1? zq-KUIZ!hP0V<|QL^>qfbeTTw<1ME1HSC~0h)k>du;oNN1EONf4H>pet3zE_PNNch5 z^w-&o#Xi88OKEwf$8u~fj~_oyf30_}Cbm9KC+m}LUrMd6R<6BGOF)~uv=oDBn<^`g ze$3j- z^pXh8TP~i?u^my8n)sY88Be3zws>29sp@XZuxJU0jg6h2IB07-`MJlIq|+F0uhiIv;j;Of$0#Z0hN!G3eYWg5jFE*wurA zIoo-7BDxOKr&<|rMv~8zpOU|}L~{6jw%|$u?ew#i;n|WnCvLtE8H>Z`E#H(U`7PRR zte-Y@!W`#SVL$b7cV6=qmcvamD{oAV)arGX1#;Eee10ImLMUwawYiAtcY3A)kgUrr z%f#C5o?=U_gpIJ(4t4mNjt;caZdKMIa-Pa}O)o9=m*DAr@!{pQA-9sk!ii6J1P4by zOZSh#wzShsbXqva0J|ux4^+Y{qI9yX=%x48h(7wjf{^--=KB=q{YKe2oLOzSOUSgaY^S=SJscn?|r77Ar!}h-Nbrs(|_|h zw<+~PW7a^fueA*P@cgoT>?$9B@S(87`0MnPAXzdN?T{Dx=LcODn2pxyyQc?yGMsOa zYC?Y}!W{!3R~ey98!Xz4PoIF@y~#n~bHF+2l%6L>0~qQ(#ch@*C^u*AnD5x)aCd3? zxVN5T;Z)oO0$C&;a%56woq@YX=o}m^36RYCDL(N2{rj{bYh~HncDDxI;*um{wVv*~ zcZ%)kmcE7*yP z1orqj=^g1!Z^cK7r*%F>sOydhBuJI&3NOz1yjB~AI$gGw8900&Jn>qKl5Ge854jI^ zl=|Bt0D#wm4Jqg8w6xl1TB3~cR>{;&jCpx;bR(8xA!I8lAgS=O&_F3P&pJy@e< zN*rLW7R_;H`oK%v^n6+e08g9k>g{J#h9Ay~(`tC=;lUV*cLG`wi*xF&OTZaEv3~i2 zL*7<10pZgHGr4dss;titF#3bq;q&`G9mlq?Jyr=90!A!mh)yrtu#a_SQ@G>Iq+^f(IyK5rlsSO_LeSj?YmPrg1~tC^y$3jEOk7PMX9(^Ey6q{ zG7^4V)!cmWo@mRe+6*kg9f3?LBlW@b%_Us)&mPKeECT=l5hlwVd>%boA$nqZ{97Z8 zx?H67a@)Q1fV{jsgqR8IJGYmgYZm$%Aw9#}|Dalx)xgLI+u#5sE%C&%$*drM?B+fL~gHg*P^EK96TqC;;O(EHd||H;h@a+8KlRZ%G_r zE;uVBLkJ*C)`*&D=h{!eqcTR*XenpPKRuA=EObhl8lW-m?^#^f2(0BRT((Qtqz)+Q zfs^k(_}@7zwV&ILd`YL1dzAQ=A^S|r5L@90P@HdB8YoSJ&CiiCiazKqV3rn*RUSk5 zU?jx>5q^Zb;MaWqf$YZ^jUkDJffr*-tZoNVE1fb22JESMR_s9BX)3(tEiPpGLFR+Q zVMRTjhm~vq(*|1$Smnxb^o>gWj^*`CPn0?3A`u-NlSU+$Uu&t};=*;IIdh~$xGekg z!-J=c-WxY0pPd};2IkX4M$yy+NSy&JAxEcXupTh8$iQRdzl&FG4Z5#D zLf18H7V@2YId|=fyf!%EFgto9Gt2sTbIrqt4^6Vay}_{_XktTFI9YK}u)Wo6xm-CS zxR~v5mw-;@=bXz{R-;2@1pSn)G=B%2>;PaVp`rZ3viK0-2f$V{++F&!ZPu+0)>yEi zz-Nsy8u0`e7zkk5?=^m5=}ai#1PnI#=%sC0eI%{L_B@^L>FL?uoV8MFB`gHq#i~}< zuFsSAFnzp0dWH2VL@t+w?1S-6Gn>V2T*`F;>)yC?(eNU+nM4g;oAz|GHr&6fR$2dZ z6QAz7gf`g3vRa=X?jA|d*hB%jXGz;(>ZknW%a=1RT73z?Zl?cjdYj|WBMn^e7Xf%$ zm9z5fF`wfobZH&ZXfhn8_f2Sg(MrMWF-gj{} z5!(@5^^l`Xj`TdGMgs$2``wVQ5$m|VTxtLQ{Zw1_wL33e#?20mZa-Jm6`NGr5LNaQ zRykuM>v-M@=a8k?v9&!fuFT$3y(i;65(?`U8+h;adv3BCyk4tvg`^Y+ zuy;Ztfq`H}i?kO}JjK%lnIz7V3|-3{n;)0a@kC_==Hn?S%YK3fPFGM^SlCn<$HQ0T z{EBE!c*#LI>TFgmC8biyv8LtLPYxm7Bm71*_zh?Cg55Nk2Mf8R>vKU=Y_fMa>)Qu2v!`VPuGNH(rF2fUXCd`2o4LX8HkfrCTN z7^kGIdc3aWB};M%ca^!+hs66KQCy-k2kCSE$5C$l=5ONV{!ByR9sehU-tWJW@Js#F z&6|6oA_52*(j`k}{!;VI4!PX-JO2LAcU5lA+6C}|HZ=)$Ch-1h)w~<*&(H}8QbP~2}w~z?H<>h;ioH8`={c;>ODz3R~ffu zW}@OAe%Tozmz8*F^i#crwDp^q1ie+bsB6BD(DN7*+RP{zJeV2%XM+YjzLVx>17 zXL{mQWo13pgptMd50mIq^abna<$*I~4-cx!>M%Ot=kH4&No(~yBTj3BC*Ut`PoG{8q`SdTdh6ywt6>Gi)ZlOloS&(T`m8uP%$%?(`fr zCy)#L7poirB8ZN<4aJH9yKLaSR9RENN`bG~($~J}&|`$Dt5jDdv5(iEy6ueCv~UNn z4QJ-5q=OG<^HI5Z6}dBTf>QnyAwWS*YGsJr9dO>Um%dEuU1MJ2c0=gd@f5ym?R5GW ztw7dC-(50w;iD}2WRHGu32%g-(8UigDs)Y%qmLx0gadZZOpa{sYsa;3HRU3{P?lc* zd+QhfJQGzogoveo50NJ66Tf$sLcXrRSOhSm%-Mr5I5v5#X9~%%WDu+Uun`!8IT;Qw@qiyJm#p6_pWXX|0Z0$O{RTg9QPP^GHxn7muln!r z`?cO7`wtd?{&@?ChxuoOHmaOOXQ?Fe6tH0U2f6afOh5na*8NRDKsf+PAOd2+C?Q=U zR5{L-6WGb%gPYme+Rh`%qgr1V@^tO(?PZ!hmjj6xINb$0#ihV-t#LH^BnVk)069=v zz*X;XoIs-km&Jl=j=;{%W?l^bWS&k(Y0N6U<=B03FVG5nK`084Bn(Gjk z3kB|6Tz1D``M69?jD{%yL!jg2StQcfkTGwZZ)YlJI(?Umud zS5k{(qvANvfO;T4dyoLV2gnKK%8}TL;bB(rAHObe&WNC1@Dyiao6}5Naa@g&F_$=` zA^#@yDClx7J0v02hDJurk>*B69)G_@?d3%(4@s$y>iVTNUK(%|uudI|L~auAaW_~2 zc;C}XbGo8`b0PafPfsLK#2YC-Q4b&Kdoq7W1Zj%rdDwLwd=4E&k4IyTCtL7Inr)y- z>s1XCP_zm#d&8bE3O@75J}1S{0!=CjvhTQv1y9PI4u zVYkS6&BD!Mh)qOocn-xG9gF_>)kqEtV%H0);H>Wr~%efwLq9+?~A>N2W78;m>PQL+EL zU!NfgdYNrASU2XQfPAh61`Dd*ZJ&Tv>Xx(|1PV`E68P2Endn`;j4Hy#*au!-DfSbC zvik&3N~?)f3o9alL@ge7={!GAiQQ4pTR_L$J?YuPKSvBnp8h>} zPHsuboEO`0Dt#pFtYVupEINgv$tSzQzs>2waq9ihGCVvCdl6wcBbPcKpR=Pzs@?N2 zGV;UWBY1ul`aFXm3POw>D3eotMgcbA;ABwcD08re4dCw`sB45!6_k`5!3n%l$9a^o z={TdNP=dk$NHCV#37pEj)wl_9q>ybb{z3*QVJRGA)v(9o5~dz>a|m^{l>PV+BQ)~l z|I`AMNw*@Zq{2!{N?m*kEg%QRQ7;5Z zy(f49FFV`F51+{~Oib?Y*Ae{Ng%Lar1*ld=mE;rf4nNAIiy&G+ZWf?&(>w^=Qo{C7 zoD*ynwWbM?r8-h|!;TsFDBiI7Xxf1<$baH1K?mt2{_*;9g>*tr*Bz5(FLG&86d)8(Z++4o zu^t%8V__quSpTeMl$a=1%;Xh-1y!g()d)-)`ZPU&Yq=OiyhIioK4K4I1-Oe9=LtoQ zNY*o;1dAf+x_%#c%rkKATkY&HC?==}?TwxIrG!$=X5_H6cw+`xun{p0<@h91N znRut4;kzd&QE%em89>>FTpZVxhKKpIV$_>9%{_W4!m6*K?@S4*E6eFlH@18O#h~jn zGvcz=N)rb{O-+r^-y1-WgUEaW64xvS@%MzNHzFoA8lek#r32-oJ0WMVD0l~-{WSi% z=6teA^JL^xx1v50<`|Q;v^RYz^`L~1aMC8f#1IgL;0Ll?pv_+dwQ|C~Z6b`M1t1z8 zz+b|;Uz#ydhKt!j&j3fgxi}gRPL;$OdH`#6p!(?=at1emTJAeU*6gPbKz9^1-+yTB zTk<}5k7@eHo0?!?8VKnFgn$ACD6|F;FHQ)ts;oKSvhgX7V4~o_6$X+%r(Ei;0RKYx z3sqL`jT`+CzffYg#~p#lA1mYuvN>FwC^hDQJuquL$qBwwVjx@CHH47v zC6Bk^-UPyyJgkKj1BS?X@boC00(ck%j~xTfK&#;eW~OvHWIEI8G;UI-SdnFUC9<8Ci(B6b_f&Oc&PMdu;*qQI6MyMq2P8`uEY z`2tvk;6N6FE4#F#eeBw?jlE(hqk!E%2yg!O?X9&kpkBe`>fZw;>uujXVGsXIz{u!s z=C$f?-!>_3hoM1J6RQ@c5VaEIrOa8DA{Dwewtz?uZZ2Abn!h}RSSa6gIE<0q$mg)@ zOVI$*98zYWavO-e5KNm91OXYx4pH&oMHd**$80I`L~Zw(9xWHVR@hNiERDg-zJs39 zh=x7&Nk*}fNZNpivj^Nb#D!|ohbs;O6L5-JfBo9?r(T;&l`WhIfM#1I?z zTr1)5P4g&tIR-f05bET&0xl$+mr+;FpOgkmM1)7yhniwh=T0zf%}uZZR6Re%$jISUbKHS8{MS;NXT4vKvJh zI^-iysjIi0+G|4fu*(}bz~g@jx};A3hoFaHmYqt02+T+!hxEivS``n}m(LS{S17&E zYF^9_fehchYTSR_q6~-IgM8K-N=Vv(;7D~Ppw@{o)tXQ`Ek9lQL}c@rcs;Z))U6M0 zhoEj~AfcnSer(T$ru2jtbkOlUX*s|{{<^CXMa|`@du*zKN;IE8^zjk5>aC-?g3)H+ z+NkKq>*kng z51PjQ>xPAfYFpJCB#Z*mtdJ}3iKlVe)nj{_LN{m_8XB5pAtjunYk{&ug3E=K2m9v< z-Y~YbX}c#nzZdnPLd9D|1|WMBwN+D6$fGvY zBW{TRlC*z{nrvUs~E;!%f`?)*P}Vz$lDVP#1X*ASqYn7B+ntAUEM5&kv! z@$@x!RE)rO=Qog2!_lKhTdWC(ibAR_>=}&1{#YYaPH;vxE3otUT_l>RDdp~)YfS3k zhFYva`P-I?cM?4UarhTW@#uR6uBIO*Zd|LZTkI`3@ILr8%D*90NJZQnP7@y?p{y5T zpVjf?JYYUD70|%?l59^2-lL{|gXa4+P{3uh+8 zt}l&groHTkP!aeDg-Z_bw>H-OM%8;PBiZ~N8Hap?!jMw}Xc{7ghkA0S-DoeWV;gyR z2nkH+0W4RDeJ2wSH+K%sAndv#(V!Tf$o%7tl~6=ni|{iihD`zrd?YC%B>c>~ZJQZH zfbe6@?Obc{M9^|jTj4dcVHh~Qe4~k~Pxm2>YjK;qWYyLaaN1yPceBb7Z z6N8>$WT=ObkPso}Ku*C#vECC=Q{Br{_$;`-m0L8w5^*uX+?Oes@!@w0n8j1WsK`0RiC2dycKCD(qK{J zy04_R+bl#>eHdya2Ql~mQVem6lb;SzpQ68p=1zT%p^Mr zr_=~4LQWN=8WN$^>8mMJi^Y?3up$3M%_*+-kCXlXDDAz`1ybXnhghR3=&TmQFk${T z;<)bu_vWwu6`s_cnng+`X$YgI@@~O1+>D#!EX0jG_vaHZVN{-wag+iD$=0&yqSQ-@ zMHuH4z40baDCqL5b8N(H(kdmR8S5S=NBZG`h41nFD4Y{gKdGq^kRy- ztk-ZWaR!uE|6KL-KRN3`l?F;`lw6omhkIL6a!6585f7hm+1A!J){G!Bl-*C>nP-6W z2#riVlE0Pw$JOC&-h)hCdQ)X?P;V1zh#&#JM{?dv{2z%V79b@!=I66G%4NHT4nYVj zyK)vqW)&9YEYsCGoGDrF7yV(t-@ylw)2_nu7b%%gE8!eLWO5sCW8&AzOoq2aS~^c> z|5nrvbs*pc^>MytAxWrSLSa6u4tLX-e0F)J>j}OgBX`1nbg|%Yl=b1F6bjRyRp=_q znh*kR-@ZMsJrD6`?dB{{!olZxqe=O5^XARHX$vVTvhb-{?h1o3ArRCZkhXgQ8AFVN)7n zJz0%!Q$=zQwgD6cA9VgipWw^qx zDA4k3+LY-Kb-EhWW1I?XFSgRd-YXV7`;MA3(9VFIezoE-E73*ZUXdheAh~&;GVL~J z!3ukTS5?-qu&^6(bAo2# ztS2@JPsoz_Xg;@y$Or^#P9xPC@tI$ufg#?vt5fAUZGhLL!~u!{u-0Dwa3#1nN(DK{ z=!@A)pj`j>z4W<2M(+NHV{F6-49Yenz}1q(oc#5l+QgtB<7*URNxLC1tM0<|eXpgN zKb=T3JFnC=pJMe^>2L0b_$Qy}f7BKK`Oy4tmusH5xOnh+vaFGpdjC1iA%FK`eD5kz zc+n@QJOO<3{)qY^@t#LF1%h8GM5Z})vGB#pGwfx%Sb{E}JE}ZSM>hXRK5ftJEWzM~ zD$BCBkMxN6Ixf(W%lCwOg}gX#w%dFi*&EfgnQi3gMEQJjZx7o?o!$FpnuvNRe@ENP z-~D9&AH4BJe;1B&AlO*qODPHupmpfeMxqJ7E(ui(lshb$D*)*$e(_|ok~kcG=(b1; zT=R1;yxNm9c;WL#!h*z_f$wm62C_G3_-6y>W+iykSXBVhKfMkw|Kq{T@0=jI^l1OC zlA^&~AHK4$swv;P?oQ;E{GWC|3c0ElHf!}l)fg&usps~6c^7x#k^|j0F zyk|u2AKm7--HvZCaF{*ZuHyO9|gjnRScMffS~_KRi+hVfSPxs)PYt=lr9TC-dX*{tMn#Up|{s zeFA6+sR4?U$^Z@_Mp1L&zHf8FEw3{RSy*L@2si@;-&#qzUsed}a!4Yblu^^p{V7G) z(a~}E=L7Z6PwpB18TWg@EF3Q<9GGo65Dewj&kH^ zJv9kA8sLQuSkc=`vpHNLvD#%zZj~=4(OVD+vEqX(t4n!Fqh`u}gQtg(ma+KH7Q2K% zSdNZOipnvs9D80-QPG_74pAEEecH5RiHZSZrj;RyoJF0_vSeGqUb2KT21ok#(O{6s zq=DcLonrm)fdkDwKQ3dyd3zBq_s1;IZ{5IY`6U#UMFBpSRn5!}46|BR7PhtC;tVd$ z9DS7(A|IL5pnK`a@XwZ&T4OEjlCu7m>Ly8D%P2p8IP^!joBw9pfBRH_q)+_4n_MSh zO9^VQ2QNX$iec934rKp?Xl;UYuxmGLfn|M>%(F4nL&8@g7xR^{HtF439Rt3I^t}xe z0`~UB36?5b(kH~Zo)=llo$nr&x772>@p$ktC^Fih_(94SAdtGuqUAxKf-e$>pZxv_ z4}U3=(b)>V1d?%iWgKZ4wsdf7$X!8hi5c^D7Fv zy1KHgA&4U=7e6|NN{np+7@oYFurf-dAm17TP(Ntqe*c0^89$-8L?_;8heWuJ$P6ei zcE=2!6$A%!=oC83D9*O|Df`K*{!bu{^Xg70Nf-^axiz3fK_h(k!uMH8SR>^sR5L)s ze*^b>D*z#C9dF1&m9}J53v$kYe(T+ck1PBh^dJ@LmP7I@%ZyvwfB#<%pniXAnqEXO zaFgHX0+1E@H$r^Bf5X4MN$1r@6NByD`H-id`i>pksI#lYe5gZUSM!w+9q)6HeF2E5 zxP#pO&7Xe+F2YNfIB%J?oBnM;?%(pr#9sd>Bp&pJcgvPTf>!-a>=HzRVom@V5tP{` zKrCN(0JrvVLlH$p2`a&gJHn-68>~R1Ie)$-By(@*o~iwY95IkwKTsZa3NQb604D!# zA^g{Pbzi5NOGQQHIg0li_c84UKY93j?s7ZE*pnnOw%?$!97ZR9f(?a!8WiJq#J4dl zQMCie^T4IW&hf|5&&n-bpD0(Uel{ejN^ebCuPce=U&4#_`H-G^bSXE3k3|vR%F0X7 zc2;CI3cxGb*uvDJK&{CUe0krqsKX1xAwb4*m#b1L1W^5e=xVE%0#X0{NRlp3Vw)-d z*K)ys_hW*!aHjkhH+jxawB_=KoVR6V?*7OJ)`^qw5UWR%%7HG$@-M;zTD`mFz=ZyV zUqk7qfy6PDv42yO{l`Ghzl3FoG=maQI&>xa7*)I0VQ1#Ckc=}uT`Y&XWy{?^@4-S2 zv8_2oUhpUPR3(PPpe$%^VezLQ;r;*dSXhMr@~Dd_VIIp5H?9~_ zL6C6sKSD_2Q)WtC?FRQhpB^EJhi*N}YXC zjLg50mX^+;&kQ(mNgPsCQCClfLJxTdSTL)u_ra(cE?Uj;xzM+*z+Er%(plRXC}57Z z-c31j_G~wbU^`5j9(#CHqGZ9`OS`LMYCk?%8Prn9$IpK+ zfGMbd&Gs|zA-}5Vv8CS_Lw{Z-WFIR9b+aLXEb+yln&Gb>U!&8&X{pn2S{gfq>yIHI z($#GN7OxoCZrWlGfeLD#>0e(h7@PQte2O%)qcqRebp{hm3bBxGJHJH!#1r>Y7aa`4 zc)Ar{69yU3HlgBc(9m-Qk1vjyUK-%pVov5w_CchVgYqW1p*2o4*E@Ge6C*Shov05M z`KcwlW5!Tcf9CljPhLEx!G!!82*}DDN0acB8@KYxIPervI2OO!&F3`<&8$Gi=Z8c! zBg2K6MK7&sQ_YZKB*QWWT~gAb)JY!)cxYQ(e(~^?1p?_Gf?YUwe!8`xLJ%OS7~QUY zP-SmnJclIc75c|3A#VKQm-6UsQIUe++{GN}m%n`)l-`ALSObn@Sq2jN;%;bOVoaAY zI52-^y^?0xZK3wdkkiQDU6lYrvFeHw6Q);mi$~{v~nrAoe z)V!C1%I_ZOw~!QV-gN?H=p{3Z$eM}f0Y_`x?Fv@bP(1;?-07G=UOv9e@lSV%JgbPy z3R{OhFj$m7D$*kh=gaVUu^3Rq7Gm&1f!kUw#|MR)u zI}3Zx=w>Q)6=qpU$r*llaRu|0Am%DwCeM)oZXX(;4>wlol4)NZ*WJ(!0D3hCf={R$ zZavvvGMWswS(%5sQ;#Nc*o)K!l6LJ>J2Y)KB%Bz z0);a{$rcV=AaGcnKNEF>l+#B^6!nFqXV8h(4?PL}ixJLugmPd&M)!dR2+p)VzU-N3 zd6Xk^0J~EWq2H@t>L>2ggk=rf^<~BO9h^TgSN}!ls<-C!olTJQ*Y*=~t;$~jn!s&jc zFg4t3o1?T9TImd=NZ%sVUmBM`V|rY)@uPRe#WDT$Okd)!+0&^M^$NGO5<*7ju#2Qi zp634b45S870-+rnitDrzU+M9eOGd>PT~D;a&0q}Ja3&HlF2 z2nZz(N2%jQ#p27NFqy|ED>7UyiYQulcE)XPvF&+Q(tHTS2az+=lUxu8!j=3d-UTJ)MKx&eDiQ>gLSK(sQ0V+Ctn}(V2r18qNzef(P2| z(@~Wpjb4N`L&h4a7KPJ9X704Nqrc(9#ggNV**I7rkPpNQW_E=j_RPox;tiXzx4Fjk zi8%Q?W=cUdk7k@Z%Y`v9)$WeNPlst)<^g^>fjKaJpONps-G7>vh{rtS^Uy}A26E_w{e7$bV#@9YtE{e=vQFlZ>|()~nbJw5?}xYCJp&l0V#J%NP#O59dk$d@bb zK(nn4y`k5xanzcnA*@CkfCn=g%(!5n$d~LoJOy@>4{tzfh}o7+*sp#H9lc19k?=_ahfPw27h@8a&_HryQ%#=>v&B!6jhFsfdm#Hz?TWy9e6r zcn^bJeD1~0xZe1}07<)}bY{c24~^+&`XXiOYfc*&kco6)<_x&z(=oPZq_^JU&0Y4e zk%0#Xs>6EqU(rTW;@5WR`&9NsKY1afx3s9GX|?m7jYX9Ev9DgeD#`54(J!urb8DrK zrjeo+%^pg27l<`S3u9qG!?)+2ZMR?Y=xFLIqWYXZ?_D8ey}uqx>fMVp3q&q7Y)>kk zKK|@3032UVWLZ=KxK{Ly^2DuybE9JBn z@Oy0-VoT?2iDzCXE}%DS{ONM#UE3@=y~)fLLHZ}b=x-kmKH5^)v@|)l@ZGz2v5rm6?$is#qtUx3mh}eSVew}kqeNt4LZ)Zh1+CGn z5rs~oD3)|@(WZ-OTRLAGFwC^wD+9Ac%8~SiD9uV zI}sE+;Pf!C23;|1KY(8luxqiwGfrVgI7Bpb6tI{*bXXCIG{>H-)CqVv%uJtJ&VHV%yp zJ2+pyUE_c{KF2WPb4;ZpHU{hkX^R=2#P)3FruLDE zV7{%>9Vjy^(O?+?qzPP)=IC=*Zi0@c{Pjs>xDXlH6HiYxhWf7K>?fj~C3=aG##Vli}hn7|d%urJmh?Ji>I`xv%Gq{74^Yk>r#-%Ec986`QVMfj!K)h!2-+IX)QH!Gb7pg7)(TD>^Nhj-OANhjLV(9! z{4%5jJPQf9C8%7pAH-3o^>!abBQKUUAKetAS*<(4XZBy~~%rR93rHexgw>~;WBX9xe z*i#`4T{_-dj;W27w@qnc9BnJTuho!~rwLn#Jom`RJh71iqJ_c9gPVhaV=cHKjigP+ z&=kVd$oQm=OYXMgYiJy38J0qlF*>p429%tmTCI~c_t)j z8%35xy2ehwy-$!R@{ypR6EGv#bq7WY1Nmr-ip@-o>A}HuL`zblck@#8wwLnWjJPkBwr42Ge4PR)#rbGH1JLH`+8lqO8-#$1ZS&D{kw5)tV z6JM`IG64^_6V9jeF>WK94O0U`Z5b#BC?c!xAhip^{MXYS(Uzp=0gs({B^G##;AA~b zP0i7xhs*VA#E>t`?bPYh07pP%_n2Z_ae&9m;i~41N&FR_qAQR?MyCx>XlA^=%&`V1 z==*uIL$B_s&ZyaBJaoKnQ#sr*pXA^UjIzP>wQe{_&3jAUM9-#=0HB~ZL|{tE%=lN9Ca{{QP8MHHJP6p&u)P%lb$#`l=wk$w4k=5I8QYmtO0=^e0gXp%GI{|`kbsCN{VemO_%YMy0EQc*ajq@8 z=M3_UW*`~Mwa-RZV-6J(MM+2(^yq`$NYvl$(hrN?Y28m+=gNG9JHZb)0OUnmzio&_ zmIquwI!ZBCcyxMtTAlAmSPV-=5xwVaVWAJ8BHUK7uDDt}>xvcq=%|Ah9YBwlN~LB| zr)UOxCUBiH@;!A4`nKh`Rj%m|%ow8UGGH1Lifbbi$O4@lpZ;k+t$p(V27Be;o^j&n z{DOi5KIpaS4)Z>WA+_+g^PN7BQVd2NAcY1`RC2+AiKTrXjgmKx$h2Vod>kwXDlvGQ z-h=|7wBQ{0<7oZl1~NPw-r_hSdW@}5IVOM%xg*S>qjM13Kzttld4JvV2o52P%W>dJ zCURt7lgw@)Ml>$UcFg<6aUEO_<1>$R2JR0jm9Xh#rExnO8=C`mg}7CuZNP)cAaz1Q zLU4QGfyGuZZNg;9yK`bq?gp?1<-&NJ)%m=LfE)R|_TfG6#<1G3fNr=HMcOoii);at z^EEIm_~)mK%Iwas*MlZ=pxs`sB=+*cwHWUlMYkNqTldIUx12fquR_tlci(2mDB|AY z$+=YGz2RaHM^%Z`Y7bTO?5Win-61}@WBm^DReW?s&>Qpcg)(!XF7wgtZORx5T2cW_ zI2>p|T4}$q$0$8dD@;h6mym$3_(KtS$IFV zqRis*8eMGxy2coWZuKy;pk)*OzZ3tDDvdLUjxgGH6U&i z$=J3TB_xsS-)Z>%)wPf3-E(B3AA(B>DHwoapUfWZV#wVyF!j(kU4BX*U-5_O+%j)L zCXS;piaU@>CI0sItKWjvbqdF1he93xRzw#vg%6ss;I`U}f3+|xmH}=Y0=r12dQCE5 z#>Y;c{20uY3P#Oa$EqH)54GYJ7~i5$7A__KkAPHTn=bj7u-*&iy%%JSjq%mImtThe z7bx%}A|oRSIvPQnS2K`TG-oiJ2pQ1(Ml`oP=*s4OjJv^9#PH2Fqr&!XRBNR4>|k^-H3PnL;Jt))n9I!-LDpe zB!-kC$O?rbZ9tyHkvDOZOd>cHkeT<}t-8J(wsanx5NYK@%po)o`f<}EBfCDhwPlva z|JB-x+@sD`;YGC1BNMbqgV_=_=D*s*)%!h}BI^Jd(D~XeIM?IEU+vu{WxZLEGP`&0 z#_2>w{J0MD@D0(|zrC+2%~D(hJqNo~MwcW46mah7Wi({zS4URNb$cybZ~9zCsIud)~l{n&RiFs&*1<5|$Y!KYzY-3yanT)|ad%%l4;az3%U5w-%b( zRlQ*L;Gp2u=?{KGjGUYtjA8HV>&rj2tfenGsZT6*ZQk>?IxCLGS%)4`XFq>)XQiN9 z8K4}p@cRCKlgojMry9+SC2pN8NWhEdJl^6i$P{aaSrpf?*UffSX zD#e4lh!UG{{F&Qg?9=(*{jC`aN>5*-Bc{>Un6nWdyL%z7P>{g?;xsbz^Jph&>-q}p zF}lgO;J3GyoBPxAH*`83cxuU#CBT(aKvjT}wW19iTwJE6rT}hy%Q{EGc3j6N_N}{#ceT~6IFY!Q-FYMqaQWiJui%X^=?ZiF zCIB(+y391^!m*v<@ij!^7QP#x-eD53~j1`tFFP!UNcL=ZthL;SueJNyIp>{sUsY>W9C7Wn*P3(8G5YAEk8y4v zQ<7V z@UK!!U-y50DIg`4b-Aaaqd0&~YSD(-(Mn~9@&5G5&LG#toXhQ3QTQ${z(*b#QXc+t z;lsn%^kyoL{lYIps*e=|M@L6Ls8RN+j7%)2$i^P>So27ZvQ$F9$ajI%9Lg_WzHX+t zRS8iii_2x0l5XM6Oa@&;+fKjR{MQQupI_!ox z_bIHs%6ykUdTSDzUs?6x8#Wj>XG@L#N?CR+z*)`*z|4^gx5x{qA3 z2QIUliiViy&YdfHu=CQF+$-xOtR;IQeb($ae=J5dsv_!$MuK+M*|#^lLLCN;Qya&p z`VvgZvqj2zMn*=aRgC7&Wn=HmHO-!UY|{8@ft}>Umus%J=kT;kJtIHNH9J|GX*crW z(E(OA?qGj^e|qK7pk2nFUtE|R?x=ixbgjs_!*xme32CivGR(JQd>2TUHfmc^I>kQf74fZap%sRAUy7?zW919b~blV zVBjQPLd&9XbB6W69`@wB37e1j>7O5S2Jo0!j?LCc=Ldgm7kC6_^Nu+}84CD1Tb z+*>r0-sI5u%Br}mO#0+T6_=CFQv}vj#9X?6LwUo*srZBE0%p{Y=3`*hl} zZ8NYyL1L!cCr+0>*y%3O`#8wtbMyrk3dPf`&Q}s<8GABOx50EjzTJP@Db)heb`zEb z3l<1!rZ~3V<{eKNfhVB8T_U!LmzQHE?j(#QpW9)Zl$4WcSK;)M25g$pp9R;f8izZI zyP9(FW$+@LoSYnIE~^ZV8I(R)Impw*ynFxtYO(TJdUKeAE49)qtk_Tnx8lfBa~h`IG*TWa<)CBOd8_Kt z0oU4ucitNg>@T15%lJn*o;(KIBOH%MhAb|WhOKJLkA_OxO^*+lyQelgPs5xw3q)sH z*r?|}zvvmO(P8$+CB*CGFx-W*(?-f9Mj9=Pe7Ew3+O`h0ytSby6y-g8s*~gV;o&}3k+WyXF~!;HsfbGF zz_GZwbe(;%U}}G5jH;U2NcJ6ZVd1Y&B0P(x6NJW})z_yO7iZaG@81pVvg)mZ4;vV8 zvx`s+lXe=vV1VPYF_cejxzlhVuekt>O9IBoHmIJ>nCffFa-h{E^O|I-MJq+fd4);|H&0 z7p62;aYP6XP=u~vVKKZyS@LU}mrVTWm%T8RlS${~agr=(&mAX+(@Zb#>3f>o%DAn6 z?p(W|kZ@m3LYS0;^`PIocki^b><21q;ZNlxRUU7e8qA=zo=_6+@V(~jS8tLbIB4SD z-rl}o#g;ofGTAuC#(4kc?AZ{TCUGibhFi-1-8u=JIh?K$^3;5yMzzoR+%8r<`P%NI z?EE#4+ri2pT31I4M*mlA)I5+Vd>6$?cLRhqmq6kUdu8 z7c71(d}}{eIp1@gx%&-jkm3fX@j62vUS&^B$Nt283+X&smaUNe_;BB~B7ec45j|^b>xS8#Sq^khhejGJkK+)wq*F@0N#cB~8ygn+ zE}z<*j_K6y;Giu_{Z%3k5&pq*4Zlw z_Yp2Srax8Hr<&5LV$>Rr?v+7!XmZo+sZG?&c0imM=}#^%%Nl;a*0i0GXg}7AdlhEg zgA+~7F~WW!#-?jvOA=Gv5$1i*g)83np*sYG&ot>fxL9Pjh~!5FXrInaRqJvHl5gTz z&a2vVG8ahr^c(E3?Nu1?%sTJ_tSp$x57Vx$+%)hqgX{H$A+a5ev zV{^EP_kNRIS4f&^W^Ys0bh)#zH~`%O#E;$P$`9Z5_sw$5n?~qZwOwm%&(AyB-2g|S^eI+-WV=aI=HznM3I&a4qEfj-?pYQ5hp)qK0KpiSL(VlN`#8l=oR^d2cS$?Fr)9 zyJzpR2E{~0EgRCz#bpNZevLNGrCA5uR|zg0)WzOz_UBV;Jsz(mPMhVxFZbLED4@UG zY1g(t7``g+S^p(9zNEg+tn|(=*o%)Pfuiul^)D_|!Ub+0tb{MbX=-;`VWy4vvnN-+ zm0QPc*rCyMkoUecW1{VuW@;y+%2)(n>*k37RPid%>gsDoA zAT7X7PUSMf+bTv@nH??8Eo+eOr=eYVYO*`R%Xy;3RcEG^LxnvHkRjb>J4~#JwvH9K z!Xe+Sx0R&Es?zw9jp~vnN4iq+V~Cei%Koyw{nSbgt-EyEz|Ml$$#9l{wQT!$X}hAIy_=Uo|$^=+IxAIB&5JE#e}90`NIk z6z@NH@Ia!dzb?58_WuelHG7|>n_3C*x5P8Y%WZ-u|B<_Yk@=K@5iuh@QxA4Pt5y(H<%K%%;eMvzyS-OsCRgB(G=F6|%3%A0kJKK8wmC0`tV+quCbiYq3?E3opRfYy;s;)&|fu&NZ2@!ew2gDEz42{EEzem343C3OJs8ucI*K??jc^& z9}W$!ClgNdOQJfoMUR+`yaT2t1@ zY-kKD^u1K9zn|Zy3>#Wzv(;>^o|oXs=U+&of{@CYv{EA4ryn6h3jm7 ze)d3_7jMXARpO5(Nj}FH=s2xfXjLZO1=zovW~r#cj90 zyVGELmo~P!VHyC)AlHRuo}vXJHQB7bgdES=)pS7(?XQa{l%eEPMLldgvV~8#cQ71W8H5H2>o8rKwp2X`(qn2%Hj;>6O{=2@%~cs1y{f^r!^*t`Y4l|*PM#n_V>-a7oz7HHaPUm4 zyO8H<;Z}J2?GrCxNfp46wK-Jgn-XujRgUnt4LP=&TjzJT@F#FeG2i|nj{+BrLpWV3 z)(j+V-&g$%?sX;q@h5=d5r;fZBeKG%7YSuPM_{-iV+VJB$dhX_AZJFu_1$eOwI0gEe8ub|0RTFQBj0q%4eZpbzT3zf+iHQFF#d3IX_0=cAL| zwTW#=UDnBdM3S}8^6fgaU#5|t)W5vMA*+J-@)y$Kwp~Nvv*6a5GhT@-sLiAhrknZo z{n`Vi*ui6&w?uNCNl*|G5wS?XDn$Xv4KA&%)53d*K z8`H3ABy2DzS#f~Rz2;qCH-Fiy{`BNm53we)JKg)pCswG;-@P6;42Bzzi4I+3zYJhn z_kG)uy^nSnf4tdaH#KR@+Zkkz86JixSxrk6}TX|X<_?DQTRrdP<= z#eNPXt}afkAtGiE2eYRKKY(ea9Gkg?Kh9sgdYL_0CN~}xTtp$<-(NreuU`Te!j|s- zoTw+qF6(zuT|g&ZYgVVaImhSRVBu#Pi--ubIZ=jjKgFugAI?%eUMuR4{K1k2X5S%| z7aJ{=v-?h+a!7gn%p)mT;L}r|`^Wdt<&^2CRAQ8_@wufKwo{EZ=nwKYv}D*AFkcAs zpV{?D*Q0@zrywfXW}r6gtu^h=_&I=Er|I#z>3iTd3O5ybdkN*th`5ChAO{5!cYX2V zL)$?Wc7)L1M}K8rs-ZV`oM}kBtfEqW_ikvGo~4S;Wg$X&e6w|S8N>`8_&k&D-}sc2 zWM)Ty{Cd!L0}mT~%Y9)z|Ltei$f~$5T?bB@>*785YflisZa?trjWrwH!a-}6AXRY- zUja4{6v3k1g#~vvBH36jt5Oqxrmv>C+_iXV1GsB#hk=)TZU}v=rfqP#a;0(Hb^Q35 z({ln4?Jo~Dh*zx!N^+aMkpmA*;{6lha6Z5?2D`fm0pPXrBwsq|ODX}t#``^l5eZKE zZqrO8rcxB2zs7CR>Ug_}8!CSsJ{zWB9!4FaGi{85}x9flH_+wJT^8Ot> z;W5X}H@IEiR^?uqO9N%>qqL_7n11Q*Lx6ap;9-IEo2+Wiu;kwge}at#Dxz8sHrVB_ zv$-D9Zc3f54`Yl*gR%jZ;s3H4T$d9d`WEHT8L;HPaKW=boKPqzD_bfxm$LaVXcw@G z1AJ~b7jsqspMPkhY;cdQ4Y0A>Q|{FD)rbQvJa>YE#ca2hTDU?YX-lBe6p(~&=Sx~%=q&tN(|*>8w^wg z3UfezP*_z+9DEAGx*w!218Ld;w&l5i&+(|QfGW>(Muh7Ji=vfmP&(FELj{}!YQs|# zZ~`Q@rhBr)VcBydVc}6@1=nhb@~nwL6OW5cEd;=Xz}rfJPC2&|Wr1 zhv4G%uDB7(Kdb9&(=82OI~W)mB0-WEQI_cgg5ler(EAZu4PgJ{V4;dJAV#^oSTB5R*=z*1EmNRF{H-s%FFMLZvU%?;g zM`z}J|Evp0QvsfJg?s~HZNTf}DL6!;dTUWuaa6s>+=(}P&epJX?pG9Nu`oRKp)d~? z2PGtkDdvTn1Gt70iIpVX67lu|AkN?Q{tjm{(ppD)pqObBEK{!@w8GZ#LUNTVxeD8n zr`?c&Ye3(K(w5?oi8WqUGnz(OioD?6GH_^nzw#FCl?H=6{ow#xUJ7x;j~_oaX-E_9 zszfDG8#%dUXUXkwzO7p?pfG#(F#)l=M=q)kCnCAQ+r1ZzM@p0;4F6N9Bq2ChiS!Ri zD@UH0Y?N}CG_X4NE~As|vY>u=c3wP=6b;Zg8-*yaMZe=5rPMz^`&QwNv551x^9h4? zjErtG+&u6%EkHD>F`0&$)Tap2qQ&pF9u~RW{Q*8m2IUR#%rLMA!g_}Wm2q2!7j-5= zGu7nLdjW;N-ERIkKZ+ADJ1Gl$V`6(koQM8RDg z)4DCv9)Z-Al;5LwYjN2$d?OelyrkFILsIbl$RjDjLjTKijDK!Ub7Lo5FM>J#0n*tp zx{aI>hw#ODdvU__c1B{^KoEb9)&ulW1qoBzf?&Sq;0ml-ZuWA0zWF9dH){`pdp#nQ z^+GwHB)JkcgLjOhA3x@9Czkmq^|lE6+~_c8d!QiQ`i+O~)JE%Bj+>%PjAFK(H!lvo z%k1W&W0LI+?ZX`bIxzKAZ#gHBtVopHjk_95a0SJ6uFB2UM<~4_*S}@V!7vC6mO_Z9 z-5?w_*NKCiZm!6HZThMOQ>2i$ld`cPo4m3zwZl(Cw_f9nl{&bKr7e!Q`neab_6Y9s z0$EFR1AVi>bR*4~ zW7?X4l>y^0;8flj=EAghpfD!tn;9u~Bb}h|!GSRHgq+PmayQxcJtI$)tpwsW_w4qq zqm*MO!Q0`yj*&V5pBu_=AETASuF|Pst8~`_>+b3BRkNrjpUN0~B`~NR1nv$eZjzMK zEz6~95UW8kaeNKIS3T|d6juXs-$Lkd6#1t#OomCLGN)xZ&g`%s?FLF+)p4Ax(;n<> zA@Xrs6f@;ib^vIC{$2+@+@anQB|mYo$oA}`2B1Py8!V0(W#GJbh1h6=S3zyo$KM~8 z@B#&?J#OKkq!AeaF}9*o?K)U~uO8Lsauojj1T+q*_v2?GL`(S3OWBL2Gzrb%|XTW@3w~COxGKusb<98EnAu z7*(8SJ$JAxnSc$t_0ho=_j$ot%be!!VfgrVM?AiDy4IRO&F<7JBRheoxTO(182mN=)IA@~O9d2}T zFa@@U3gCv6MwC*fibx^sqCp z`jd*KQM0pP!bi-itLq-x^XHX5J zuwTN4E8^ghM5uQB)^8h!8+i?9UsNhxLi{STCx)GB;`C9LqocvZM+1>ucP+wP+v~uz zy*S3faI;1kKpFG;?Z9BY-}P8I%();RhyTlm5hYHyF!IM^b3I#3IgkwOdI z`g3ig*z_iGaq$#Vw8$D5L6JbLd2E&7>2@w@e6>^74!n0>0N(*~zu;iU(w#N$Qgo=Z zV|;EzUsvnpG&Nedb)7h&H&YM{!f4|75a)E#fYZH^n*no7tT-jCjk5c20L5=~qrABF z3qQ`n)X-ZtOXgPGnXeiToQUm1_~UbXd^BhrsG6|wD(ss9NuBac*=4_hS_bl(;lbyy zKOmDWn`de6{tMFvHY=5BoQjT$>Tr-N=?bGV0OL7^qHh_O+!x*$Es$4OP>=?izFfR3 z7|cn#V-_*Gya#*-gsb8D;KRk-!cjN^?=L;xuL_e`yYr&2O&2iLGjP|51Eg*MxRWk3 zi!>T#^<=0kQ2Tj*!Wyyp&(~Mq+%fMAH1y{m%VDa$>hRZ0F>MZ=2GKY>3UZyGSHRmq zS_>TAWCD2WTJkYHo7wghxOGJ9%K*RM3T%0d0%Bb@*-p1x2T;~0Sqi%>Q8GMhcL-7h zEhM0Us@Xb8TQmH6%Tat>9Xr`u6_bp#i=29VsYm#Elvc1I#Ju|@?#DwN1HsxO)hLA; zZ3kl((JG)dRAUl@wBSUV5E2$`PkV>}NYETy4N6(}?%hKQRe>mr$a~PPi8c8C{RymT zm{s*DAaVfSF6`kXQb532ak#F}xC`;$@ICp0}==!ER4 zUYnfhGYEeRJ#p+&2^%GaF+5TPAHMs*psQa|fDrS|BB2+TYEYN4Nc4jz$zSJ;k||`3 zeJ~o&QgXNVN`9K~M6OHLp2!Wuv2$sa^?hV}L_y&d>;o#nyR}~6{m+ygIXldcOxb~! zC5Es~A{6*=z=UV0bRcULdet2cc}gdWbRGjF1b~ThKvjbvY&dBUTF%yY;0=*`_N8}) zB2YE}1T+IUXkc+rnnfwEyFQf$t=2kOl{~kVdJ_5E$!=;W`JjxUgc=i|!F{k+h&{VZ zn}UObwXk$JjYOk}^r60f`ZhV{p37T9BPlKiVgZ{-&dM%(;O62U$hEr7UA&2W0Jun2 zr3yQNvNLPwe2QBz$1L3CKaT&vz5cq{zsnL3)w9dJ4ruF6Wmp@d@&)#%1Vn+}S{PL$ zaO&$l1Bku6M;`ze9s{(!W>t2;5Vi~bUZXkaKS17_p&eZVkSw6k4@2vNaJT!E=MKW4 ze0hB>Xy+wThWe0vJrSU@_B~4N&~ALaX4^@GiO>uosv>chycI2V5JjslVbSWqJ-NDjOAd2%5g zPk`q-apFYxzCWp2NQnXNv{A8flLDQ{9s+lAlbdB+4VobMoc+q?2kR2`Tz^0C)z9C5 zmHjU+8?Q*{Q{2kHH=7}mH)?$K647t-csvap89YNA{5t}kpnC7a+0-i_;7}^h0KP?v zvgc%%xe+b>suM<1c22UoaI>c}5J z1*cA*K8-ZD57NeE$`VKnz-^xZay~f|Hh>33HQo|cHxxC+ureDV{)k{)3)lA0thUc6l(>3SFeG-E{f%eO zy%K9v=+P%;vOsE{Sz7H#i#yq|wfeI*=f4bXUQ6=w|Ls)?Ji~wQhj0x6r~sWpYA26a zVK=+4-`medSw9yQ$%qMfyaBl3t42wb07SY7{|9SeBRYx?N@s9 zrLnO5=KIh{;kf_4@hgFJFP~8QFK1WX&!+_jPBY&2*?7A0%4FZWGC2g&Y}t>a{G+<| zqiyCEA*U!T2T2*vg%S>qn6mdr)%^#p_s{&8w=PCirVV&5WX+3T6+&JSTp2FwJ{pd|^k^+i<*@hnxbV+>*njQP z{JVXdOE3tL&{17*Rf!U0#Xb4vwg*F06UhPA&$Dp>49DUi=lZT-@PR$DgwnDBp!Vic znO`6d{!v+|YUp<@!LQFXw=m^1>hF}*82j;K$ zQ+ReJW0yUt3)~hk^#xy3w6jLbr~3qDX_8sXn{Gk;#ipoC6$1dT+ko&Ofv~{PctSPoTHhTC_Ab68V4&XIu$Um3Yv+eC=qfQV#v1&{elGasO9PlBL zzG6k~UCbUILN}n8w1Qj*3Y$o5)nbk#Qw^sRyI@z=A^Fy?e;EP%-appW;;2HNIjRdf z?>`+?&|y&=VBEa^XU4OJMoA?h6lr|k?V9VY5TyzdOHl|ohCO2i{9il#A8DY=nrP!; z-mf*FsKy-c1^akZ2-;Jg|8WUXU1gmI6QSzBaySYO6jkCj&Gt7Oo}K59}d@~()5dNj?+JuCj5EBMDc_PaU8V%|A3TS zw?yQ>>cnyVzdnKbKlCBj=LCmA$|q<46)n3R9UYrfcwCsKs2|`AA+=DjEB8H>ZlNDO zO__*A?c*RppzF87_oC@FPQCc0Qf^Hz+L+v$03qQe9VS&V<{$+Q5!IfnSFauv`^5~q z4u#=PKLse!HrNZ{w(?s|edVK6!R9ug-sRJ9f>ME^7kd_5sLQ+b-;u!lqk$Oi_!nMc zu_!~arox@nxBhmvye$_lT2$!{eaV0N)q9V%HfW+HBNb4!@%SDAhaTOX zM+cTCjDwsm5h5sx;F>Jx)S#`p&{>+9nF)P@Hs&{wIyF4qoK%evN62bO#bAF*fA%3|^@@H&YZXlyNl5lB4 zs1tHf84OcE6|NC--Of@Bi!g^a0CG^7tGmyq5b4+b-R7<6n#-OUE*_OY-()wI7Fre} z8n`B%iI--XJ3o_5Mw0jpVb(0V1VhcAJG6*CS?+8~MUy?Pa%67ZXoF~uGwXTDv5m{N;j+q%e zhBzdcC=X&uc|Uq|JcUZOwVN#oh)aa67NWigCQqz|GwS#{C_~=3aib>y`#9Ze=;r2z z*(R|ND!rU>MTvk0Q3+~!SO9hLwKtf_I4-2`7WTfiLo_chZw0TCBg_O16^^gxaX1<~ z#P#Bv+#$pG0@aI9hbZzTqW6cHS89khn!R13zbf!JKZ=X7WH-=Nh%#%;ivhew_~N~J zIB)1t9(wqDB@7&zffo={LYP3Rw}?n+MUcTsC~2--#leB4vW2=3CVi*Y>N$kKPExE- zuTX`v@s3a>=({QM`+dfVfJo2+YAZvk(P;Na)|G)i%F^j*6d}z#-=9tAY8D>;75@D=$HB274^XY=*EILx@uGp(jty11yp8F6eU=VUA<`NIKddsiP4*o0F_u z*2w#^Jh|`6ZO=FD%mu|9I$NU4r05L^&co=*P8&$6N0l~ew3xgux6~B6C72I(DU|+! zFN9|@(1!ile1AXi>mKVQc8w%GeE0=8I}`FXHoM|-@SDvmaTAC?4>#xR%)rVwp`s4|U{d>h!|avWX*x9grLc@_ zJk-?`EqySCU1B+tN5>_gTg-xCVj_eZRM0Y*%Y#~dsaBH}YVw%!GK^+p^(lSWJ~f1pubij3K>CAh&JH|6Wt2ugopNoRpoV^%eP|dlDD1#deVHDm@R}|q$@xm%a z!th$qh>VwXL8X!bX=YKgec4FR>HTi*?r8A#o9t=E3=h|tTDX_sNkue>p!-C<^De}& zp|eM8;3W7RXgg0sqH?ic=rbIn`}S9SBb72^RcahU+B2WZ`=K|QnfMwQ6dEZ71Jviv zyji|$x>KL9IbqN3yy5Ki<7F`3$k}gljR>CU?K*2nU*L2Kxa^=Gm1k_CT=d`Q*sy+Y zDG{d{3>s8GR|G+fKcl||(E$PmZRlTm0-(^E9x$Z_O>DQ+9@uzqHXzk?TJeiA|2xR| zP*M-j1}`{^nwvy>K5X3YlnkVrQ2hvu6p$WrLP3-iqZNR=QK>~4jZcB%Y8z!_sHp6_ zIu>Z)LOG1!fxZFuVc3)jJ=fAbORgIs_La`)yu_lwFX&o_7ZFJrhD3yE%b@49Ct(9= z0q8gw2}gczFga8qiu9uuHHhsk?Hu0hvJf&kF_Atv)ODBd7HmK=fKHe#BkXserCN&V zBr&rcu{n&soHE7%M+h?V?{HSaTo$g|G~IIqQ6QmYR{c~R-F~&O?z@)wKTacSu>Xkl zz!~%#`9eDS@rh*M$>aR$MH?+*<6d85<+T|awM@GBIJL=Mz)4?=-*1hi?GVD|nIc!1 z=`_e{G8Y6YVtal+{_WejMa~sqlMy^8t@>Zao=Q4bh%WYuKGKIoNbVMCJG_D?kBl?g zmr*29${|C4uEn3;Q*czQ5l3>CZ?-w!m)CIaF%`I_c{5+Vs3lK}nWe^fA7WsP`U0p) zw6U;z4Oh2iPxmM!#i$1B1&pHt&AtKWZ^(r=&XvRq#hciQLMgZd2u4ViA zLiFae;@GV|I%@i*yM%;jG$wtSVU~9sp{#t4 zGHuB#oXHO6mB5h^q6R5+h+Q~5JdAGkbjU~gU9Y0of=qWJl63h}hjXg>h0cl-L{F3E zrOz173}3Kq(|^3D3+`|hC^6F#@*qWc!SOM+pGBG+y%>4iiknx zaRDzxHxqRn4EZC>2&1y{2cNkWWk-D^o*hp$sN__TFX;FCh*AF<+Z^uYNho@i?3r## zjJkxiC0kyi(FoDZb1IWjS8l=!Y^5x#C=gZgSYP8luC!436=!{NNMrUV`DJEapPlbS=hbCMfeiwp42fJ+H z^%3yCfn#L0Re@Y`v}z1?!3kBA7}d9>8}v<_DlnmGV}q`r6(p7h&Qo2G9O}&E=^Sr; z-BlVCkgjigRPER??^9GHP8~T5V=&A@D0AoyTE-qokMzB)(awM~4|5n4*V!SG#B<^$ zz)*!u@a;C%*<4jb&c_`3t9U3y%7`Q`{n6JUetbNm(usZ(1)(G+mzEwGbb*i;1Zt9u zGGSC-2Btt)N2KSJIr6rx68YL%L@-^kjU;WPwKfzjshJ%vjhp^xoFU%@2R z2)m80D%(b@ny3W3U=e+VefwTxu$Fb2rdG`k(!*qsg&y~unc|#n9dGNRbNob&vJfVF zWN#?3&wF^8VZ!ooP8mAb5SAX-1hVq`UBJUZW2KaktZe+GC3_@<~n4r2(O z4S!B>74WOv8XbHO(^$|pMnV(YWFm&mJx*9*hqeVG8XM-C1XEk*wV*hg^VpJ)IN#H> z9GNU_U=^T9UAmg_xd1ff@tzoUrFKa)lj%U69aKga6(c9!IK@;z^l(Ua*`5Ex0&`-u>3TkjNhuD}OAb=g6$^l3T1GM-saC`;eW0}^X6vPHH6=|i^ z8&VluYnmxMV)5qs0(6$~k6a9S@DMhJ*#im*@S2k%VVR5$rX5g2k>mtm$^BE9Su%Eh ze8JvbD)S%eIuBjriKHzW0XQM!7WAE+vDEYiOXW`eK(BSru4F^bj=2}Q=mZJ0!B9dA zG#|`XUlF8S7J>9dp?vKj7K6sy#-x==y0r(xQNUQH!ZUUmOBgNP6ht zdLT~{xzKW@1OHeO1S^)COsI-ef-fUo!6hBLHp+RHXl1|tnAY<+NTiQ6cOsy#l=`HP zwixw_K)3;**l}v0v4+g3OlarH3U5cHbckeSO3!b#0(rp6s z7o?v5sEg}YI?YikB|O>^9%)CQ!ay5HXotvXoKHHl>im9Wrln}K!$he-Js?2NWT`24 z)gm&{&eW+-lc=Gw5(s-lkcSimfU^&<4q-1Ic^j5$8q)=F%#lHGtXc)s)`HfBQ1pL8 ztC!?eiAEFnE&ceQdT?4GE{o=ezVDoGLt<#|*JBK(%@Ws$8G7)3-n|i9B zk?uM&-i6Vp3yhUR&!XvvW&4JOkr9&Hw90++$OCYM>>_tS-OW6A4sBvR^n&v@%$auXtBf z1!#1L}%Zn1{pE7ALG85|g2Cb6i%V-AN42V?@AkQOm} z|72aV=J>}pMNCJ8!#6=^**>`-j2v8EKmSRhR`xI6x5ylup5zN6_ApAP3Tao!JR{J; zl!?ig&|x0UQPa|r1T+N43CPQDZJG{`Y=9PPW{)z}zQAWU@+xUGMnEtACuEo%j>|29 zw{Z^ww)(r$t4<;nF2_U@Uv1JoL!|SK$~(=_dgeSfTuw%Abx&4)4>K?BWHkAmYL zCw2~*GRI9p2bhmb0BSX7J2}XDiJpbYuh?>~Y*aA=3D>1B#yKp@Hy2T63Wf8z)NadN zLV7h`jMf1g)FZE?C z5uw9ak2D|PZ;Rv2^zDgbijy%_c;txBToj#_?D-TbiRfq;N5c=+)fi#9&b^;%kb_i1 zh|T5&P;3+j9wi&-7W!3|=H?TJ;l8--yB`r<`^~i`Cjl`>tz++~;S612<({BZnRH}3 zB#FjpJ&6uPpu?h>EAYm;0C;5K(6;@+PP4fpgd}32_80Zn8KYo9RP#?G)X(7duaM=E zv1-LS3=6DZVDxkK<7jFmGob)x8nGtXS}6X_U$TZwvcB&!?JV9loCpvxyT2pZ*q53gG1J$Tf z%*Sd#*pnw~5#J)j51X5Rg;+T(eaQeKpa!RA+-EH3OUO(}!Zdm={M+ay8RiJ+cTvpA zMZ{di&c5lz0hcvOzAO(H+F~*Qnqgn!ve9C|&fS+KD4!Y#k`nJ+t0jO2d!`ZMD7v8zhR zt(RRp>RE?Ruvqvz*swURyI2z+qMdfYI7;;IzMgOHkd^I7sn`#WJ90|+?=Ao=WRw8W zE~O`+>E%pOj#MO);RLjQU&2g`n5fG7LmREA!X7Ol}$v4TI}LZMxe(?!OTOck(s>4*r`j2sMQ zlk1*gZ9l(e>@t=4U&=vPIAY$RDI*NqOeW`bvyoH)Q+Q2)R*yc|AwCtMuJZGGs^8+9 zd+Y&l$v138h6$m-#&3UJ&r|#{A_i%;eRev2^{nX6A4@N(44^0=We6#Gh4Ue0Kl*Ef z;!g7B_19M$S&*k&1J#R7@&WVu=SkQH8VZHB&!7mW5#euOXS+(9U-EqOg#W?8= z=ojMmyV#KS6`~U<))&hIe}0Cir$4Tx6j*`vl@|gHszCLAruFmgi60?5LXzYEza0TJ zT67Fqi8i4k6D4At|86z?v6?rr2+Z&f zfbOH}EB-&;u^waPfMIUtAz9FoDfFPhx|rnuBOu!m$tyq=X;vD29J}D>?`yy)e_uf% zA;3OoF#d?%RQL$wVCiUydTG-5S#O(X=+D+@0vmP_A(MfTAT@y4fIGz4ok<;LLYBnt zqnkY6{vmmDrRn=Q2cIvJSf(n!=deJi+5!8+nhqnrjho$Nv^SSqu37EfB4KNLmNCL` z&a&FgH9kE%GBSb&jh5Nbc%Mt~18!aAx6BX~> zg24`yUw=p%zu)19_V2s+*hN`)?zZBj%ZSC3-{gcS3W%v*EiPH)zx!(YPkC7%nKQ9eBr>dxA+fN{T#{P6TZ(R`f+yz1b_Wg zWnCj<_Nn!=J*$|nQ!I@n-aW^E@>3{Y1#ti5)qeiacTw>V1>1LV^be8E|KvUX`p}Oh x|7#)sT8N*I_+J+Bmqq+#5kKPRf2)PK((I=YVJR%x_)VK5FROGge*d3W{~tN=7qtKY diff --git a/metaquantome/data/test/cli_pca_viz.png b/metaquantome/data/test/cli_pca_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..df1913bc5eda25a7d04c66bfa13afca08a3deecd GIT binary patch literal 188818 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 z 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

    +K)E!|~dTZN3m!Ot_80UkPp4Kt7tlTg16cL*$d@ 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 Date: Thu, 28 Mar 2019 17:50:59 -0500 Subject: [PATCH 16/23] update dependencies and fix pca error (coming from r > 3.5?) --- dev_environment.yml | 21 +++++++++++---------- metaquantome/modules/viz.R | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/dev_environment.yml b/dev_environment.yml index 9ec7ec0..37149f8 100644 --- a/dev_environment.yml +++ b/dev_environment.yml @@ -5,14 +5,15 @@ channels: - conda-forge - r dependencies: -- python==3.5.* -- ete3==3.1.1 -- goatools==0.7.11 -- statsmodels==0.8.0 -- biopython==1.70 +- python>=3 +- ete3==3.1.* +- goatools==0.7.* +- statsmodels==0.8.* +- biopython==1.73.* - pandas==0.23.* -- r-gplots==3.0.1 -- r-ggplot2 -- r-base==3.4.* -- r-jsonlite=1.5 -- libiconv +- numpy 1.15.* +- r-gplots==3.0.* +- r-ggplot2==3.0.* +- r-base==3.5.1 +- r-jsonlite=1.5.* +- libiconv 1.15.* diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index b994bf4..8d67b71 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -301,7 +301,7 @@ sep_n <- function(clust){ dists[i] <- sum((means[[comb[1]]] - means[[comb[2]]])^2) } avg_dist <- mean(dists) - within_variance <- sapply(1:nclust, function(i) mean((clust[[i]] - means[[i]])^2)) + within_variance <- sapply(1:nclust, function(i) mean(data.matrix((clust[[i]] - means[[i]])^2))) avg_dist / sum(within_variance) } From ad0ff99b63d0ba570ac097fba4544fa0d0b4d79b Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:24:49 -0500 Subject: [PATCH 17/23] fix tabfile bug --- .gitignore | 3 +++ metaquantome/cli.py | 3 ++- metaquantome/data/test/cli_bar_viz.png | Bin 28479 -> 28630 bytes metaquantome/data/test/cli_bar_viz2.png | Bin 0 -> 28630 bytes tests/travis/testCLI.py | 19 +++++++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 metaquantome/data/test/cli_bar_viz2.png diff --git a/.gitignore b/.gitignore index dbecdf1..c58362e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ metaquantome/data/test/taxa.sqlite metaquantome/data/test/taxa.sqlite.traverse.pkl +# sometimes ggplot makes empty Rplots.pdf +Rplots.pdf + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/metaquantome/cli.py b/metaquantome/cli.py index 69ec62a..0acc4df 100755 --- a/metaquantome/cli.py +++ b/metaquantome/cli.py @@ -61,7 +61,8 @@ def cli(): id=args.id, target_onto=args.target_onto, width=args.width, - height=args.height) + height=args.height, + tabfile=args.tabfile) else: ValueError('incorrect mode. please provide one of "db", "expand", "filter", "stat", or "viz".') sys.exit(0) diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png index 72e08c0981feb4ee6a3cc3c8f6cc3c324df105ad..57f4dadd3bb2231255280ee9d49b614981333a5f 100644 GIT binary patch literal 28630 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
  • -{~orI)dMD&?Y$L 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 literal 28479 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
  • -{~orI)dMD&?Y$L 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 literal 0 HcmV?d00001 diff --git a/tests/travis/testCLI.py b/tests/travis/testCLI.py index 1fe175c..e060752 100644 --- a/tests/travis/testCLI.py +++ b/tests/travis/testCLI.py @@ -2,6 +2,7 @@ import unittest import pandas as pd import numpy as np +import os from metaquantome.util.utils import TEST_DIR from metaquantome.util.testutils import testfile, TTEST_SINFO @@ -57,6 +58,24 @@ def testViz(self): test_status = subprocess.call(cmd, shell=True) self.assertEqual(test_status, 0) + def testVizTabfile(self): + infile = testfile('taxonomy_write_simple.tab') + imgfile = testfile('cli_bar_viz2.png') + tabfile = testfile("tmp") + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m t --plottype bar --infile', + infile, + '--img', imgfile, + """--samps '{"samp1": ["int"]}'""", + '--nterms 2 --meancol samp1_mean --target_rank genus', + '--tabfile', tabfile, + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + nline = subprocess.run(['wc', '-l', tabfile], stdout=subprocess.PIPE) + self.assertEqual(b'3', nline.stdout.strip().split()[0]) + os.remove(tabfile) + def testHeatmapViz(self): infile = testfile('ec_ttest_tested.tab') imgfile = testfile('cli_heatmap_viz.png') From f1cdacd980fe6fb7c6c9aff5742831cf29247e82 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:25:28 -0500 Subject: [PATCH 18/23] rotate x axis text more --- metaquantome/data/test/cli_bar_viz.png | Bin 28630 -> 29270 bytes metaquantome/data/test/cli_bar_viz2.png | Bin 28630 -> 29270 bytes metaquantome/modules/viz.R | 6 ++++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/metaquantome/data/test/cli_bar_viz.png b/metaquantome/data/test/cli_bar_viz.png index 57f4dadd3bb2231255280ee9d49b614981333a5f..8892ada00d7b162568bc723f74753f82becccadc 100644 GIT binary patch literal 29270 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 EzlKBs-T(jq literal 28630 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
  • -{~orI)dMD&?Y$L zKcshP_kcQ8ua^t#iRPB>Y0;8{IeX0Pyx2wlLpELS`Q_bT2Qfd7>moxfs-F1PN@{GS zkLri*(M=Gi-MgI|v-GE7#Kjobwy(13_ogM%1X8Vo%C>jQexO}(BXCOkm*9h4)ynU6 zLsGQ&_WU6*Z~dvzfUJ6Rw>H4Bho7JLl63Dqg?lDukHhG&@=5l^h?#|V$oC|ivN>5$m_qJO z83I*F$?=hU+cjx8dnxoAydP@t2{WjD>6-nUV?nonN&1JMJ@qw>NPRVn6-*j#_z;s> zN7MiEE2MRa?*%Z&_yun6=y!0xbEwkZ9Zo4O*4qxKQ~Eh5*~Lkcu%s(7ZLm?%WL34s z!&;pEbA=J~h;rxBi;3L5VvZ(lG}-6m$%HGkL6V;HcmYwz=1NxOR=#U>fgIjp6 z6eP>Ynhea7v7HX_h9OQhBfvO|4xB43BfX9G3Y8Quy`5hqD#t4^@D`q2Fy~01SlQNGl1JVIBxoq9_&4z?mG!Z)8c!?IILp^^kv5dnZ(yjQj z_17PuVHH&z!bh`N>3qMi^}ws^9JE}GrI{)l*c0+FpKEChXJXi4zT1%OeI9JRVy+D_ zJ`bbM!Dd)gaq08o>64NWAzAjMlgLnGo!BpO354uhe;SlZJ>#yJs#@BMb8Gc4g^dO5 zzu?;U!0{|EIrUw@0Rwl6u9gbgrBpPFv-hU99&_)$B0WSA)7y zvNh=-wb`as_YwF?4BWM&;FhzO)rk2~ug)*Qz>W-6(np3~sPg^5H7X-`%kzWfo6EF^ zdZQ1NllfnYX!+U4rw;}Gyf9Tdg8u1jHY{7Eb@u`3tvai2@~*KSVsu!4(G3rs@sq-0 z77ulrSYPHKb^$Fb@7x~NtkQDcN_sn5d5m$HZ8oZPMEg!kZ0Vg)IZ4uDmcS^h@=ZkN zjMY(@NP*z&{n+Y1ip(<#jQpvG*z}rY<8*I_vrnHK`hGT1)Arp$80xiXD7$;C_FWDd z@1vZ!(Tj!_sFI~M#Z_j&HuqK|aFwyBVS4PTP=^ju2x46sM8_@Qp3+lD#HMN|HG zGL$4WIQn4w`7>fWT`Ttgi0etx33ua>LWBf<(`<|97uCKlF=dqIDY4id(a#ogN9~fo zuJ*B;T&00-JW1{Rl^!s`i>Mwg(;TrsRH2c<MG|Y|XrH&-$>#Wb^<8)i@24NNY#E3b&$H(5}P6!y*s83UG zw1>G+byP33dleL>W^&Muen=^Qd)VS~P0_7qtRGqyL}M#6yBq@*P6&`HAYBp?!`PyZlf7AmIIY|oP722h? z&!FslXQO>`KsAM{kC*u240Ty@EK(2$*7LG&swj1u>_scvCa zZSB=TrlYQJKQ?@lvF&hknx&&2Y0`0N>cYpkNAhQHP1lwf+=aMN2z9t-?2z3=FMeul+RueJE>a6*6IdwXxE5$uBVbBiF+-sGit>Xc8ObIe=1R-lI+ z>V}88TSMFm=Al12bN-PS$Hz=7(QM>Trlh+hv_rIfvMcU z(#KXo@P$?<_pn`(xY(UQgQa+dx8Y7`=e_euu|FPP18Pm=kA-;XJI=A%EGk=wxL$lA z;~amsc>j*xhHOX1O zd^znHD64#1@U((YY4wpHxJZKhwM1mV+siQF{ZFpDygzX3fk&}; zZ!%gX(;1@C4Lvs#FBn(eeCbUYm4o)F%`M4P9PCOc^TSA$d0MZaUw6aGy>H6Kfm-V8 zFG_iX78qn5>EOcNDydAPd~NR1v7dpXop0y7MqKk{--z`l7oFE#>QlidjYXYIc0e8o z!X@aA##uB5fyjCZ9(MLwHUOo<8+S{6=e(iO3p-~MX1_FyTE>jL=CzgM%(n{Np<6fO zb-MKFc##CQ_2$duJ9nxVmqsNJK3T-$mv=Q{**$I&_rzku50cf;TOgy!Crb+kBRn~1 zGs<`k(dk$47Xvr+cm@Kq4~K*D#G6w-mLJ0joP~9UxEWZ8GrmR5TEL4R8Wk)Em-g~V zw!XgJP#DcW(b6Ks!m{hu^8XPa?APq_ggh&WZEfx~GVjc(2#yj>$5nhff=As5`f#ho zkn5q1w{zn64DTZNi0j8AGyAHv#{VoEIun}Z;M{7FByAnJXPeAeq``pb_gVW=cf~fn zAb7k(GAYSH;p6#E=-oe_a=&VIjPcH@#q(6uICqR(E;0#sGf-H^l^#t!Vx3o&&-ANV z+eo}|qzHMPXipRAR(0jQ8B@D?V8b48nLBa(eWiZq?L^Eki%ebw$FT9}4|i)qI=m z7@6lmICAV4rPBRa&za<-w?utKdR>j(?+6)>f1bO~M&rFOMet0l!#Y=Z=7jh0-V5}| zAxYmuO!(0c#YVAR0FKdNxtx+kgzlE>-c71-3SKY=?jgk&T}(MaJlI~PXSD5y{|ES= zzbq~!9hyomscI&2zzX8i*&q@xCGs_L-QO+9qpe>3ajV9F79vVDT&VET$jG;OR9U*x z@bV$-{#&y7Qn>}@~Zc(hkIIR71%p7;&?*XABd?)V!19L8D(esQ-3uIo>{nO zccQe;fM!I0-)>JEZ9w-*CU6OcBB}+nC>G3~P+x2a~J?d-03xom!D@stS+E z(}qsb73qZ)d*U;8&UQYR0{qAv7$o7#5$(C~oYP2f2;FFxiz7jenNIFW zdUo)Xxv($o-?$81=0BeSG(51^CtCd>XxG|9L7Lh(*c2)3>K|sKp9FbybZPhA`ekl- zm#s=mZf*p9f%!me{4$5nuQv4=o}u8FK?K04h5AU26vs;Ag7pD~Zq# z;AWqJN{<*jjge$12TUjaLV*?ElHaFl0~$u)Ar?f;xJ+Ze&%N!3*5mOv@OKi}hW9ep z2nE_S?fLIN=qTuTAYW{hjZ9n?yzY(O_TzRJS8W>! z-#2GvaXoj-63CHR4MIU>JF;pe8Rjk>fWxJW^Vq>UA$g*O|*Lk6(^@A9eIPb{u$VzbgR%Qq^R2! zQ0Wjlwz*CH>fPwndn~uY+*B=t)jcQ`(wzlY?y|6xS+0e+sit~9GS9HS;8!+TEO}c& zSeE0y3kOVU6idA>jd{nwy*0XIW?dx7;xjPvB;i5vfdBofU)HA_HwiAmBeoOd^$*Dd8q$CHad2Fyl+ef>|R+hLwMEwHumhB z6X^8$uAc1Du?G=3+8%R&Y^&X%#sLEYli3O+gNp`PsNo4gWB$_ z9?If;oPzq0Qk;cG-p5b^S2K5SbmXUzM`ynmN+<579>w)c&lHzy#TKxM&G@#pGQUE_ zD!%kk3oG>K2K?llr4xPhc@xw$nuVt~`r^!(PXIY!x_J+k(3Ph}JM%yuF4fMUp6%ai zXL+YdkN~4=aMQp6>b(m7MddU+=oc^f%UR0EFD*)u3k8IG0SfC#nY1vQazrcoQ-$Go3Z(FOeH4`iO1r>;=C#x7cX{SDF-y$J0&(MIhcu`bDo zf?f&ok-wbm$jn8#!9St;6TdujbWbjuT$s;LD^V^TYBqFC+uz+j7S;r@@Fj}P8sm-10rN*x^XqJ2|i?1SkmJX zU;<9hDJG5=Py@?dJ%z}uH;5zNG;QjG#AF|(llOu&jy2sAD35E0n=}x@Lg`zcRiPoQlQl$>GIYJ%Zfy2TRUvr<_E%+iGI% zfWw&PtwY~%&$(%Sh`RlS^RHYzgvdS_dGFKlEE8WjV0V*K*qXkbxNM_|rDtLueC9U+ zXR2QwZ7*hJb^No3`oRY`d=yK4pK!r~oL9`^x4R1Ta)|SYw<=pvMSn28!;m=tO9}Bt zy=W9u%x`h8xI6KcC@6&9!f8nQSl*`0eP>&5^mljjMRkXt2IX!{(*xnsR51`akT_w$ z4YR|kku#gP*HCB7`0SZ+Lc$M zwRZFFYvmR ze`Nctbv^CB6>ZII4d(2%{BOSAJsKG5_N%Y8Rs7eD+Yzp(wP%^)2Y;_euN&pufl2Yr zRY95k_rElH*xZ?$b9L7({?xzqjnQ|*+8@@f&FcNIt9;(;*55}w4wbO_#&@}#v%037 z&*srr;LdjGaQHr=lWdEb*@`*C2@y;;M&hg?7yw` zdjCZ0+_@jJpYdG$L)*Pi!><0_ELZF8APw~21^F+G-=4qIwJ)qGu2U&`{Gnopdw9~W zH~Z$km#wVbXWdj-v}OO{g7W2M`wPBoPEB3SHb++Tg8Q57lKO>pAM4NF*!6y{`F5KH z@wMN!#npD7r~sOIac-k^Kz*5(z`JvMC$g9y4@-SzaObY&ecStgJ^a~T`ng>$@O>n2 zRXvaSiyAOOR+OIlx$%PS>tn%w26yJB?|-cRDO~P*6|hKocJZSnTV3HD%|QPB#lL5F z>2am}{@(ofRb!mP4rSv|-(A1DpU2f)m9VvbVlZ_d_v7j)v%a0bPX90Xr)n>?@!I@z z8y^>x&oOuV`{48QxF5ZWvqP#AkIWbR_hge|c>J%GoArO4GELt8{ljj?TZ(rYZQjRl zCGa1T{oybAZnm#D;}S7o;=BGuQuH0WZ#bBD=JKuw-~Ru7HSfo>&04qj=WLK!pbpF% z4pq-KIOQ*XdORz8%E_VzIiTa1ZACsFKW=h&f&0SnnYtVvmWN~|R~(c*{qKJN`xW;r zU(enZnX*es;VLkfFWRo>zoWLqq5EZ1Lx}R7i4*yr|GrpvQs?qjhLyks;{0}A#o5&P rR^KP(^XjcNjpe$)OuriH%l}u}tA6e3&JhG&PR8Kr>gTe~DWM4fxz4s5 diff --git a/metaquantome/data/test/cli_bar_viz2.png b/metaquantome/data/test/cli_bar_viz2.png index 57f4dadd3bb2231255280ee9d49b614981333a5f..8892ada00d7b162568bc723f74753f82becccadc 100644 GIT binary patch literal 29270 zcmeFac{tQ<|39o$q-+UAwj`BMku^q1u2LkVh#{4I8QWmY3@K}9C0WLjwAr_@j_f6S z_F)(?)*1U?%*^w#UatGTzsL9fKF@tT-{12b*B>26&d>Qdm-qQzU+?$loS>W9nyf5* zEDQ_`tXKcIe2al$H+J7y;Lja9cI@1_laY~e*REZ=ckkY_ zXAct-6EidO-o1NSSXlP$+qZxJepXgiHa0ePc6JU94o*(a0|yRpad90yc#xZ$n}>&o zmzVd@p+kocALirZ;hj5o z?%us?WMpJ)Y<%zDJrffXQ&Uqg7;I){W^QhN|Neao3yTL29z1;b@X@13mX?-QR#w*5 z);2aawzjr*c6Rpm_6`mXj*gB_PEHUA#M#-|#l^+d)z!_-&E4G{3Wa)jczAkxdU<)l zU@&iQZ#W!|Kp>Dvq>qn}udnap$B+H|{GL2{^7QFbe}DggfPlcjz@VU@;NakpkdSB3 zo`r^nhJ}TNhlf9Z{`|#@7cXDFeD&(p>({T}ym=E55fK>~`S$JGsHmuS@7_g6N5{m( z#Ky+P#l@jesQCE!goK2|#Kfeer1$UNCnqO=`0ybmCFSGCkDoq$`uzFxmoHzwe*K!7 znwplDmY$xTk&%&^nVFT9m7SfPlarI1o12%Hm!F@HMxzS~3JMDgi;9Yhi;GK2N=i#h zF&Io)S=qO5-^$C&D=I1~D=Vw2s;aB2Yieq0YiqxM|Ni60kGi_LpFe-r*Vi{RG&D9g zHZ?UhH#fJmw6wOi{`&Q+t*x!Sy}hHOqqDQKtE;QKySt~S2aCn__V)Jm_2F>1{{H@f zfdM=oKR7t}`}gmmp`qd7VFH0LGBPqcIyyEsHaTwGdOT3%kJP$(-aD^x0#Mx)W`bbN*h9FT#%PJi5WVPKFF zUH!MiBN^n*z#zaWr`t11Dbm!foHbNlYfc&eiA&W=B7?6xi9V~8JA7~jFbFcYZE z;3|w~V-N^LGpaEiB{DSm{wJGG36LWZyW#A#EHjl|O4@_PUQJ%X#EgU-)SEDhp9+Id zj^;JWRqPJ4>^#qEY8P+(#3+s@E<0{#>~PnzXKuGwa6`Uxb|^)nUBRFKH?64Fq)u-P4Gn%UPu$!8&5c^SoD2z5$6#Cwf5ZU@zBpyap_wrs0#R0 zXCv9+FS0dM2*qEqk5qs*{Vg6Ykp(xln7&U+xkq-+obFLC#zEEVa?Jx_Y?T6hfiS@? zJi?F6g>23*7%(G+r#XI&!&B?wwvCN5w0E~{D>%tV);S=nih78o)goJm@fn{4QGs#SE(%%Sg zlIBn)e7>{~d0su&ML#L6<;%B7PfdAWe6-d;;a zdj4pXg$cWUk0hU^K)eVPi@&5_ISidBv z$dY~+)l!o7z<*HufIbljc$tQZiY@ro)Wg-j#9s>Ih4mrxGapxI_cPiQ2m4?_WW=|! zA>MoqC@;F4;yGk1mXj7yP^%>PF%M-O5@NXYS80;3)*2)tqil5)ZhHGH}JL z5<6foUdjjHth2-tOE1uT+QohR$6@qn-x9?>oPO!;$LNY(5MDsyYY&m@ig7Xs+vLF# zy0#1DB#HW&2Ve~7TVdi(fPt3qh!pZGQg|efC(>#5%DG4~ZYRcXQiX%sca zqHwUL5^qXstg2H-4YytirlhUgsZ!v0U=ag8PBRY;<}(@WbW9+>;%P_zAlEO@rurgm zD>yc1D8QF~@HkjXf8loz44#a|d9+UG4IdPG1nPx8=;}VRHBcHFL=0H8vGAW{9gOwA?x8Jpw*vUlbpb~m8iuJ?Vlm%As`La! zh<_Yi+gqi|CG3mKYkdM?Ptc-4=zV~wa*&xJng`a1BTVGPhaFoZoBWwt%=+ z2y9#z2vR-->}={%wB#w#0w?4uAU&+dN9mVKh#qj`GwTnk6(rsUKpJ zy5Kr2$P|;~0k0#eW6dA0`KS*4}HkbpPsV>9-$9Xw$rJb-f*}#ghXvT*@tqk?MF+K5z85aQVWP5ZqmH` z7|F0+sQQxpmK!}&MJ+tqjY}0!R3Ktz5cGtAR4E#`tR5b{7ER7LUfEpT?-0r*5Fx?n z2pQ!Cf{vIQdLi$)P?ldVl0`Ok|G8@FPq$nV2&SH55g_P}CdAg%6;_p=cNzq8gJ=+Rjs7F7XAnq#x!D;Z zwHjU`_%}nH3R$A%73rH)BlsteuZa5!g&s#h$`i55kg}M#xVFYq3N@<+(fE8rVVYhz zMW$WdwN(7{Ai|lN`_WJ(3o$t3SbsteV|dzxhZ^eki41#Mq6gb^eSFl@Ciijn*Fj$! z<3vdN4!#KEYU+eKI~Dt`wEhjn6Es-$63yf4X(IvG8efTGl%dxd!@9CvhIP#SHc=O@r$+=G6al@z4eO+Q7wNHV zlYSz-#eVwYL|!lC_0&A`EHdWso#;X8jbtXS&44Zf0wy=b=3hZ6rYt%YlX2EkDnlh; zgKfmFLrYI1@Lct=+*~De^VDhHHos{3$O7-CNu%g8#TU538HQVe_GgOaOs7=@QJIjdGao-DHh$I|#D2hVLY9aVV&s zs>0Ow#sY{ybAbqSeyb0A54yufLJH*G{@a=oTWB>IZxJb}@Syq^qYk*c5VyG}O(FsN zbSv=vJN*0)M&g=15FBOLkh}V@3Q9iRR8)t?-H7}=^__Y2VjL}ANJ~57^5#s;#evqnZF*oF za*U)zKb!geQIGT4OOXlS#hh)lAG`x>)-Ahb$?) zV8w!3DjLijddGi@0D4#<`a~Jmq%vZr^czYMb4TgsgEHsMrD;+iU}T%-ayr~~5VSm* z0QwxRK-PY-qi$=zlQ?eYfZ-(?VOB_pHtMKM_VS%J+A=8BULdmlquv(dg;A7Z{`}hj z+t96<2bIs7%v}o6!3|)ALhZATZ8C_(eh6}wlRb|%=cui^^z!Vp^9ME`0lb5p07>?l zrUz{f!%>`neIQOt>icX2Y;)B$hvFi-Y!>li4U?j0e${T#vkQ%zz!vTH=R3R!P>Jx9 zZDV?_ntgn+wV^BsY8cD2Q$2LcnpuewwX{FFIF#>I{|R@5EMRo)e|_5=G+YjkaGsf< zf9(F~w>3r!LFuboQqEsRip93G3CK9zeFK&>`_xM<`}6PVU_7ovD9wPgO3I-BMu z1J;^KzGB^6=r*7WAcC}!YizkflEzloK84d;x_6t~QezuR`SC^q<>2sIkKgUgCK(5F zt4kCx^o#;s?QM(vFEBV$TWmfKLBUx4bqv2R50C!)(A#|oa;1j6Vrmwrdvw#;s6Ifx z0glF=o|q?{)LxkuTFLBxaCMU|HHYvB5=uG0*l|{dnnGLDy1b2btUyFeSDHeHqobWE z$cdIpWK>j4kN0*&Q1Wb)cjy%aKoOFB^~Zr_*v>YOZN_9N0V(pa(tD#br59 zuH;(*`<#8;0G7^kB<=hrm4S1@)EA6X@*E@@mZazGX-x(B``9}8w!NPZA@-G~z6y4s z(Ms#-<5>5{6}eji4yd~629>`2dC0C z|82l%`woT9gTJ}DL4F`hkkjo`!lu02CZ>NYXq1;bt|*UqNXIKSP*eMzQn$F*zJ|(7 zaQDny^dKk@Xr%>K8!UTqG7!|6+X#azDw#+6Yo1k!=@*E)D@v7hWh zA28-mq2y7e^;6-AolCe=-vz=pUp`c)e70ojO_WgFa#Tum5g5Y7RzJ_Rwe?*%VM>R% z6#wit0b#CI5#Jnsn|y3TN5jun!7F+r;RElv{5b?Oj%*U^tUo$k$)hN%73^JkZX1tb zkc635FrxavRvTdI&{`p_VDs96?Ub^n>Z7J;a8=PswmZI-6h{E0h>Fs zQYJb=9mqFW7(>}M7XYvsz$W*fdS2Pmc|f;x7b4p~G$|`WG36JMwhS0B1G^Hm=pULI zm7xCr&}4w@cOSAj?0R?&CTpfmGL;gs_m;Lzc&H+@LaMubGWVKyeDj~m-MJ1|1a&dK zq3k%VgW!9yU3zE|`Z%<~(rEgb-+v|@dLWLT%M$w)u>g|AZ+hFwyjt5##x=kCZil^G z`ylP*{J~h#5&%t+$#WNSjlSJItn6FgbYL~xlTqA@Cat6tm5!&=3ZGp1v2Nlry8ue$ z2~Lc978ripxt6bKUd`9k&Cl3n0I*nUuiapSkp2rHAeHntYLRJB{*NMVPO(SS|054I6}WMy4{l2z^_0)J3@b! zl+5#U%HnB1q6TAOusHcC;Z2nZ=qk-ZP0Q`a&<`Aj4vN?*3KJ zV7?VtF0=24fJd>nowLQZ94q@8xE8^5477(QC~LD8;7ld;Dj_c-TGDqrPrDH_X^iSv zk~2}~_am+C+o8lzuF!o&h_kUhCV!o^Q2>3WnzfSp6hE-S`44)LKUjwPtCTSsf}6^` z?~*yl;xP^-7;w)B9wL`Gq>kU3s=OJ-RZ{U|D2z9f%lYPoL!~|x_i=< z-1DoyBVVlqKHOxE@Uz$%a?VQ^dNzKW*{Gg*Bw*>F`1>br=KAQibFH3}gORCqix&yh zCs&K>1(lAh<*5!0@;?AARE-u9&-B@64i=GB=vSM+wfs3pbx8uWiz?!(wuQh)#MqU+}BGHs3Veoz$=^w&=C zs$?djTxnGSX3)Uq)s?N4%F*Ks7b0E~usTWvcX(i%1X%=9KKtcMC{wF6Pj5xVIYML#R0>2LvOIlp8@q=VF@Qwy6Qpjx{mY5blnBI| ze{Cv#Dh%ADh0qSf2Q6FYr8*gJD|4#YmC0ROuuR(Ldf${|2>f z!n0U~i9|`P>6c0-K7mbsusEH+QUa6DZ_AnGq5n?d9Nnw6W$q_2m*zu_-=JvQ&C|01 z)-2C7* z%oWPAsV&atq3JVIAlsN3_VWvDC19rv+0Ct6oQ8nUr+Tg$r1WT~Tj>+7l3QmFNDNh( zHD)FhjWV_KzT{DSdyBsp221g&q1kW>xrm0A7py_*dHp3WMCrzi^$55)I@ZtEP~XVZ zD3cd%{6)?FA8D)pwom^l`}D7+dNtyF{C;1f^7yacASn4XiT8>G`#q15pDJt$*3-+J z?e{lz-fGX<6eM1#$0LCZ!FI$9Pz0vbZ0t{L@-0xrC8Su%9z>~53Z_QQ4mV1wUN>p? zvOl!d0gQ#wU4qFe0tc$7Tg6uQ;W*Z{!mN!t6Ci#i3rsmOO_*S)W&B>Ma`5)o?4)xE zoqf|Ijozcdx9Kfz8aWtaWoIX>A#VYuz;SlzZXdYS=Fe&xi~WXmr>PeCy~QYY?<8CD zA%gpj7|K3sOn?mp3)Dho3@^<0k#O7INTQkcgXSMCvAucpl%eT;jrR=s50EQL zFbM@E?k~yVd3X4?8y|jJ<>boG=eb44(I!S0u9|*P=~={mgMj6mDK&dkk#ET%KRT{$ zcXMnAs`7Tz;8=>$a^0R9cobRBi%HcbjZ9dpz1rA4;4um|^aA}(5soKg?3}QxF#A*# zP)U}ytsV)8F>piJ>#?>Wn)$&Q=z>jDgI`=wGu16ECT{Cs|d!Lv%P` z^WBNO6+FBEA~Z6Hh$5#vZ9F}XNC$@aN9et!&okFseEgg4Lu2Z_JPWF&Nf88D$ z95abkuI3<*4go;BLGvRl#!*H7^W^=muz71`qL7*R5OFmD-hXXAjMhD0ly3IeddN5Z!GN`QGy4B zTrL&`!K;(CP;ZXd9@}^#O(g%MCS3#$F-QE#2J8kbxQf~ZuV#&!nisb_AhZsUu(5K7 zP+CbRqoz^q-^15Y;R;`RcatJlvTU1uL) z5h%ruR%KTRJAue`c#CQh#9Y5vW$W6O{Fol_gU_66K33DsOf;rA-=%dAa`fG+W}Vdg%q@2}A7k`_rDSef_4$2`(Mg=|zTVbH=SH^X--KWh{eo z8>6P8!|$6tg+#A2urP7Q*7nf$?wzCc$hYs$IB;z?7F{#eT*KW1{B5dwdDfdNRn|FY zOMdiah>gAO^T~t@;tI_lH_qzYx?A~d;id(tiL#q%J)4n`;JoTnDgt;Txp1#IYmv_T zHH;oOA|4>x;yaYeNp1}Z)nN|rSo2WV_ymAHK6KNlKu{i9GmU$_fw8SUdUpT)WLQCd zK0@^I6)afMrP#$0cTC0nPqOF zD=KAV!khN=7WnPj;#uHPMFYHW71r3@09V@p7}gl+U%(w}?eYrb>#Kl-L~PHs?foTV zVV_pV5s&RL+TNb8M831yAF4)%1-9b_yZ~X zsw$R5|FTm5`-yrKHoIzgMNM#hRpMaoT9C6Q4nK;5Ukv|}ehZ;OFtd)qslBFeHo&%3 zmWE9(FJJE=Qr|>}uy^z!+A@pI`xjqDtizRnCOJ*aZN2tr$s}`-zi>lH=KSB(d5l_d|D1R0>E~BpLxkflbO=mIJbalhY$f=328|um@Q%r zuTWR#9_(u>GPQZ9yJ17JAoBm9S+^JyP!lfUE2V~r4g5bL;SvP7l!fg3@YbphsX)*O zO}Mf#sv90bR%Y_|s=E~W>B@#ic!)=g3+;brgH`0S2z|1yx%m~cLQ68`hYJ`HiqBqx@9@H&i8+?#{bA5r#Q(qn(zNKmPd)A;h(nt+(w{-5acR0 zOcfH9vn1z0O{ul3u3X1M<#x+S+h-J^us^a#8HuEgY7b;BP&zpoYxt*+7~vRaxM8={ zuzpNlUUH?0{g=jt&V8Ot0XjnO0L~=kon6gxu`nMwca}i+uxk?(qs6mutz6{hJ2lPJ zmUCke`#!UN9qdt-wc7(hmKT5odp3}Ib@ll{1YI+x$NAX?=nsf=2*o~tnh!$Om7RaC zj7d`+3M=1$Arlg8Ajq+bhk8U2)%%CHEJ<6@Yu2R?;O~uh);=Lvv%%p5Tn_U@QPgXp z%#9-jte@Zf3)*yI4~dfOf?TSjVCYr7*e8vcuV>7c)=}g&%bEUmLqTZrPh>@2;sxLP^S>NyF$4L<8{SpJtwuMJVEZncQgQ&O@||6dbAvJ4sI!M``B^J znd6lu3!DUml$_CqRR9*Wiy$}-YN8srOe;4Ch-`o2-k{Q%pL+w1`kB-)`ImQq@T0dh zRlaC1|1vLFkkoff-WV_h8}_{>MmfWAobKXaO~>ycn2K+IMu_Rbw^z4cCoD{Wi`xq1 zHzDw~eKn!+y30E{xQ)Ti4%iNUTYh?g3sU5Qnc~(ax}PmyFFMGt^9<^+@{GBfIX=`+`Mfezd-yn*Nyjr_?n&~72;RZkvSVrrg62ctII^nKzD#*bZW!2HbcdV? z?L`GYKW3?J_?b*c$VQ5hjrC0kEW`R6z581zeekf>gAL>sFqmPm-Vc45Ix;pJYVQK^ z?z&%)ak!ESw0S3Ke% zTQ}H?Y-Y}_K3?076W{+KZ?mN&41y@%zn=ts-V!}K9*7W%pz(Q2A^-PI>~%7$C^2I- z{Q1A(!;X_mC-$LKXMRf~W_=CCwsbKdLRyC2BW{d?_R52D16>C;4&olxvG-x^6Z+zl zxs9Yj)6HBo_^d-`pkpD}dmZ6gvzego#ItSVv=KGbn}jDLdq}@GfMs>{Dm)Dw z@*E071tJeYjZ zp$rZCc~5l1fj5HCl?mEHc^>aw=ts|PnS|R|pgy7mh|GUu(+=o`2Cf@Fz_DSE;a~m= z6nnkQ?^4$kC9Y2CIEoFa;OUs&(=}qXcKqag1^Jb6K^LOr_E+KgS-xqm4)Q@;_B9t@ zigKZsKx>Tv^xKPj%W;HF3-{IwWi5=}pS0QTY?l%xtNwt2@HRMePDXWHnNIGLGvGMX* zB5QP9k3Qm~;D(Cihcd1|+GZR6!Fc}HhN&%xQX{0(v=yp-<{}^auj9`x6MHijEi`rW zarNuZ0zHl|gc2Kg=>554OPGyX#r7zb7ts#U$ zDnWT%cY<0#26Z*sEgPai`HN@V?uMivTgPl>@ugVGXa$e-W`(XwB?T`38Y#AJkz#qt zU{4IaDYs3pcoSRHqrKUh6gfu4CfNQ%Ep9@>EFKX}u3WWb<${EmAG!XIUO42TRcpdG^C?dGAYR$F8itL|A>v8F=X)QgX~7{3{N27?X?WmqHV8X~=KWW7x9aKvHPlO_@K0@W*B5B=jJ7Vtm``(N z>sm)iia0JXTD|k94nLUazxPSP10+NnEuVd-rTJMW~$*sjGta zbcw2C>ZQqV#6vYz)Tf{NP*~i^4NVwmHu=8A6rW9Q7!0i zBvFkX>U?O`(>@&|bY>^oF^?QTj@ZVHH);-EMJ-P2pqy_~`_572$&;~QyT-TBA2Ilf zi4K1fCrw{-Ly*rvYMc2r@p! zl6rhM?;ZMcU3+LQ)U@}}YQEkpUWfDiGMHZpHgYZV1w z8)M{=4%6miSv*YZ;7OAh1k*`5*->)OZe@XkMDD$b;8=HddO6A4y?4Y~kvJPG&LJK*q;hr*49Op<%Jf=dOy%7ex9% z4yb#F)d1#R7twQm9+Vv?&^Djfs3m7t77XMDR}<_d(ZwM2+?mub56^V^FViW=HZK;} zcZOqxwkzW&mB4MljVh9bgKL>|fG!*N@#yBFK@-&9&nL5s!8g4QZQfjyWCOvS>7wBF zPt*f>a)4x;x9k{%z$QINm{u&}2ap<{JF$6}jph)(w3f2%+qR8sY{Gw3!Pk9j;0w3O zAf)Rcvd?~&-*RaHN}48}Ln99nX<-7Gu6C()PWMTdNWqR6V!(2NOh7Yb{kRSSbKhYpvc@!~xB@ zyml?oMQk&Wr3UWg`McAGVYBZ!aw~M+;;KRzjNd#|7cU!wfe5?1QFX0izR}WR=4L&j}Vrg|0|cEJ=Z5xL3yaI zMiQy|E(>Yw(z(mt0<6oX!;3y!np(p?$0~!$h-Ho)c=3uqr4_*rJbnW_4p^?B$O*<8 ztQ;p6fu}*UcH);((4<%Mg*pY!ujYkK0?~uyK5%d6ol@xZTWW*RWP?gEvfbl^YhYj1 zyykvHgU(l`QPoNTG7PCl9h`v&(|sH+2)RU&**hDaG-MK6zRwq<7T?Yb_xhs;4f}*< zuca=G;~^A;1iu7mibm&Sf66vfc@mhfFfjV(0}X5@;vJbzn{+wOZBN2n8y-jCm3pF@ zcC`1pjGO2z*!Q_O4U*>Mi*1y3p(4bOCSA~=XP}Stm$`=QQ#D=MPwH_lmO9oKx)2(J zjq>TI-B?Q_cfxx$h}od z?JjPdzOux9isnYcC3#Li$_#q^lX>QisZv1i| zZK!BL|zU9O1^m$5}%84`S@Zeg1ibB+muR z)1mz}RL&1vZld_U5_IB@YlvZLjeNTe!Gm5``qXe?4xA(KX&)zmkw~+Q>C@xqH8*L- z+|Hr#)kPI@K}bgTni$>r)Ef8k7=NAAvX7PC9(7e5vUK^FYz&`F$pDs(|DqZ3}k(@LbFAI=# z!1Q^QF~YBA_IYVYxULMKD5_8BXBvG$U~#aT4cK)z+-2PImnqJ(;I{GkD)2)UZ9t{;jud3`tDwkM7U2?n z!V_)$kJ@!I7)xQ6FP3UjQ$}xBmQYsgOlPCsUga${Q`xUnJGifrI+IA?kG7S1_Y3(F zf;lPytm*U|t>2c29(Y!5U@Mb0B=A<)qE~TVd~w09)Zcn3C^V0hiFN(Bs>kbN`;ZBo zb8fhIy7VE+F4DJMdu{o2a>%_Zg^eZw0Qlxm6jUexA)Vu2n5NU5=?m{%_%LB9s^&_Z zN|zj`)!+-Bk*MW~{;Ia{sg}LUl_hoeNK~DQz7`e!jsoypaj)9Qeyw7Z{9>YJnxniX zw&*7WG1hO{6?uM)$c{JUv}l24pmHBgl`DcW_;ynRVUbY-DVmi0WgX%;^+1w!(@DW8 znzA36H1jI*ZvA6bV1l1>v;?bxL6~Zhl`1>-tQ;;l-I5eLNDX>a5$}tJM(MziuCDWg zU9{Utx=j~(Rxk_1-KRcN8W~&dK z*~7u%$2{%Jt`;<}@%rOpu>KV1w1ECIk|qaO zebYQRj{`dsPEvfi*23&S^WlrRK6?fPccp1o3!Uw5IC#ESvjB5ZUQ;jbd7|2>r^~)}LaZ=a=n9_A*14 z6pz1JD)g$i^$rP(h2A0PD~K_l+V?)|D)pwA0lKiBdh)8-`FLThpE_huG~25JJ&IVa zwFs)GPhJHIePq?6mCV3isn|8hZ_d{2kTB0suHtb-^xDd0+c>^~?nFPHz*Lq8&9yDD zdy4CL_}qvYt!KVo5I$6{a!0{4UZ$(n2>ci2comTaIZFTLD zIl+=Fhn~Qk3L?@>tkXG7m}>`Ya>lRy)VGV^yTd{J_TdSbH?*?}yQH^6Y2b)vPDZg8 z2m?Lpy8HI4y~miz!jQAj`aBEo16eXCRm#@=xFH&x}jn6COJ? z%nABaH^NGl-pT}3e?d01X2EYJjTHJ^MAtPc`c8P-IZz5bMJ76pe-H|kXJ&SH?2eF+ z4osCRlPbxs>WSV{^P$_CLyEk6&y%8+g(8f&p?1a4p(zxG6UQ3wb|QJ2R^&=_7vsrc z=3s`7Dsox9r^Nm8o0y>>e2084=N*_odHeOz#9MvR6+!9@7tvaznCYa*4@bkS&S!ifn4?qoMr&WL5!Bg|06H-%({FCoHwJ!W2C zpEDQz_6a{_s1vo)PU(g_^#q5$S49ru=G z&}Vz}+%T_A&5IA|${Yq_g;GxHXswfeCmK2fOd;3JGzW~5kUmzC@mXp-{P(_~dvITM zUq`fE7`M2l(XsnDGxV_HaW3w{qWr~o&l#P^?-HC8#LOh2Q{SUF5}QK^tgW{tx>LjS z9b@A1c7$;6KKP_4CRnEPP2|tm?%r$A$f;P#id#I=+P8J^b(QUVBILs+c2AIIXO|Ac z_B8P9@AU-nCc`iYswae1xR!GLXGKnWe-p_*0 zHE>R#qY(z2-+%dJ9ftw8$5W@s2L1_-XFVxHo~=ry*+V0ZyLoq?Q}~W7 z2>S7b7y2R|6mpd*iJS*+$^B~5LN1z?dZxaN(^77f$x4Js75w>>&IsIa9E77 z`bi`GtNq;NCYR2;ERqQYVC&wO586XJeU@zcvzL>-zg!8X|B&tE(;j?cu&WQ?6n&+4 z0zNOIb1y)LYo_2K?0eH#9^8!koLppmG2}pED4u1fGzZbynWr*K)TuVWC|@KRXZP}P zYREUJCVt8A8}@byDdzHv`AZUy!-TO9-9%rZ%x)BabdzY!I4`$&weEHvm$aBbTcK@` zd!Qt<62SMZ(?Qj&pF~2&=Mr`Wm*a){d2?r%9`lIGy}75V8f#TL;uX)x3_WQt!dE)k zl;*0+o&}D}D}N>`4R*RK9G(S9+bxOD8&nNed*T$S%h`NHaD zchI!5)2-E0UQNls<1eALJ_>1g&h4{)aHLuFVw=zD&xwKl?;C$f<&xWwu~56-lX<7s z#<4ouSRdi9(LStQ6QsOYxvH8b^jsYT!H>;Os_Oc(0#nHcR(t+5tCb~vWSLT1;IeOx ze$(otb+2C?U6(kQ_QmtLec1!k<90muBTJ9fq#Abdjj9@gYNaqF-aBlrECW(O<1eN) zpXI%(w?5?7HGjuNc4+TOmSfIgBXGU^RgLrr&2;Wb(Xn%Z_;=45>J#i>C2m)c%FTDB zr5Q&OQ!jH5BRmy29m4iK0Ca`IhMAmrXEmW+3LE?6bd5uwr`F=|3qq_DiNl^pf1m5_ zauc4a!xN9KhP5Z7om(&2ml}Byi9c^9h6Cbx;Er}qjYa&k5rK=jYK8#EIX^ow&6VnD z^TgI%+(sp7D=Q80w#G+RY4&TD6gwAIhn)fblL>CJfBCaqMVdwcOi1 zEYo`0W`M3qw!5%zHp2j#&X_1%wocQ&Gfo@lf1KiYh zuqjW;)a=S*=ryunYu}M*a%tRG8{pN}oUrr?rDd1qr#`@)5a&ghe$R*@*aP$~xmcz% zyx<_tIB6S~vlrQpcE4HRYu@d9TFUWm#u@SlXXswsJ?YaAr|}QwkClF%<$bKi4E6ko zdu8D`d;97+TpWV2;cFQ?-*DFT@CTM`fD+QnD4#Oc_5qI1g0GpUWb|jac?~XJ{nEaj zCx3~*fN8N263!asiKDpg@wfu47Jl~Nkg9=WE!)EYvmc(my8*-hX-vL6-?_ym)OYN0 z40m*6KQF~6z$sEwE>s2zh}vn1MF*kg%d>Ot?+Xoptz~}xePvF#F=23T=T27d-$%61 z3M!j5N^%&mV1-)lX~9|;K6_4C4^2NF|<5oe#`OZ9El&~@LU%G@Qxo>6bP ziU>!AUXHwBVtGOLbH@FCgfLbNf?z>aoZ)Z@|CS!X(R+s6mL9m!lNjtv@pX#4r12#& z=E!$Tp>#~oQtOUF8_%BIN#dNbocjB)yibbS+CI^XdXW#JY@Lf>MJfy^?gL_;*!__= zo+L}2-Z9_+Ayj1Zzs^7Tn&i_yC5OVsd40+@+<^_T&Yw5dy{z}{dU(CqXL~ve^95#T zNZqmEu7lU=<{XCfBZwke`TS86slZY_=e?;5Q@NpOFQV_dpT5ALI)%0GeNk_?%qoDI zk66wy82VrI4LW-KaX>2MmABT@Qe)$T$x6@U0;QNve?ESH$~-Bw zw_Os@E}`uv%@a3|6qlU%?vg6*lNOzX@IP+aqzp{?gM)b6u+*Ye1kUD6ZQ-CArjOpY z-C5^s)j{TI8--8gIhZg*ZEb6Bh8NS)azQ`zmJ&Ks?mf6+W-Y!X*h!r^;w4m+YRp~U z+roDxo6#}X`u!b&Ak|Y}g)>wG+~JOu77y%!AJJgzT>XszNC`lFNtOWz>((H={E#Q& zVVYvNGV?d_<@u7FYikep4mdod1b#S-i?C$@m1Qy^5>0UX+-`iTav0}%;*_89;SOIK zJ;KX&M^Vj#6@$#(z8AtOvlYU>%YV3dKi{qHBHH+lVDsKoH_t#ht>c9=ed!D%pCeM? zU7Dx5&|=)cN?FT$%MV!Rw4-Yg)4>+dnCl0PIcwj$mzLBACz**cL&poXbE4#bP`(f* zG=gvaVv7Fl19}tMdi#j|*vcmkCk|q}Td);7rO2D1Sq-7`NQ|@HZ71ry_q{vb8n!$$ z+{}A;SW=k;nag_%RmJ&8H(%eHFNT|O3!N;hp6k!%k23d8nm@l{Y}VTC6wa;r?Hn*( z+o6lHHmz8W^F8x-&wcqGHYEH_o_CpFD?cE;pTA7M@lmWs;`n3AQ(*V=%NG^qv{G?O zZ*NuJ-W6dekQ#UTeadVVmTOLo`P$1*;NBAO9$%&b2lIx97kX0oiY$0JCb^9`?!>tq z?aI&4=#duZ5P*gbBZV`Ldz@j0YDt(pe>eZB`BQj;M@>l_Yg3fpWn+)QTg*4O?(JIy z)KX~CtH59l-W@!Vmy>c}x5RZ%pnTmP9*sDab>c~phRIKp?8&#V<>}Oj#_9tPSxz%Q zxT!s->UfazVKyec^cwo8g)T73=j#K8J)$yFHdL=t8?bXyQ)1cj0>^X-1F>3fKgz@4 zSuFVUz5xdf%Voaowu$WYOkeNPqqcC%bVhVOs~6hwc#Gl7Q7usoo?Yy00}dArbT6y7 zSkAzhK1nMx%d>^S1$qwoHRf3*nDSr!zFcE{h-zS^F;xaob}&Y5;ez`}Y;+A-|4y(z z6G%~8_Um2U;RCVldyc%2)v>!e6%TaFMp;GoeU0%~Ian4>tUgfh9FyB>2k$?`nb(mG zY;#Cq)$zYa6)svS1)C`fzY!R#v7WGEk&jr4Rcr1%+>;21s!PM$)DNEmMfsk=BFmTz zz7t`(O9-!=D2fG-+bzU5SD%9&PltmHx|*cFP+$5 z8320A60ot4yhw+l-5D+f>Zr(7xPR@ZNIwnx{#McF#Ll8LW1jL}=ZJBbEBZBOiRee3 z=igF?5(J~okr8&-D;GIaDkJu&s-caweV3D$HqEQ>Qx=3|b?)K3>=8G_g7zoF%J$u* zK&J{z;>mq(oR=-?Va^8+#7-^+tDVvecvbVLGdDmkwHIz+b+upgNs-tuz%`y2`~8t= zU`mU~q-Vw9V6jt3(K#vOaNa#&>t{4oCRUY6*xm`URL4aRAPD$asCHDIw>$H2-gQ8| z^uPVayVv-=qnmq3`d&rhNa=&_3NZ(qqW3OVh}kXh=2t#CFE`Gj*2 zd2YpxK_txGE;a<$Tb|L~voffjXt>y@kc=EkVGYsX-Bk*l-H#U@;l_J+tbFifZq`m6 z#qxha{L~IkW%34uG6GO9_4x;OF2=WEyDq=(H!{hAxS^s{!0d~FR^&SpsU6dz-C;}U zQE?F4<#CfM5}n^mJ@sHTmXinllOOzk?8NRNnVq8;KKw=~y4`>9 z_NA%jQQZ~4^OM1e3N;+52Tj-)dCOJ$Gu3z#oUY-;7XT+U}M81A_gZ%Y)o= z1d1!f8x&?C7apgdO0hAd9&jQ(vEv}_kP011&9e}n(mS=-SR=~(%J$(CCw4o_U+F*X z)1MMW_&U1>vUdpjSinHn)825Dt7K3^t+aYFB@!;*Y1_N<(SZ|XuRP^5a;XeBpB<@Z zV=ndR+<$u`M@{XlaOOU)Or3z$NhWtSFD@h@#jlMl8L2r0FwMf1c(5EM%!_-=RpLvu zUbi9U_;fLG>AR106bF%7o6}2YQyy~*V;PO)nr9Z0BrkKSfcO1DlE~B1WU}NkyUI-V z`QT6ax{$)^(?@#)Fy!D47gV|wba#^0Kid&wtCYRT5WA}x2W5{5K4x?@O^_jD&l6ZY<#{r! z7R!|h@dTr6$L*K1XTJ0#6MGv;{V9vG4NA4yUTmez57yHc@_9SXSo1_ z+9hTv@GCze*c}YVo;WcvJm>h|ZhWj)@#8t6bh;BW*OQcI*kzX|+aVg(D+=})&J;(% zJQoPW6p($k$`_h}3aSNjN}5B$p^t>?@8Cb`QptXhl^V%QqmVG%YD8yj2O{W|CV z4fog2Ij_&_^?5(M&inKE<>S}#7#<&NuDaX5Ui6YL?Z!8*#4QOr)C*?nPfiHYYrGEl zrf7Kx6ZTfo-OWPRNj#!Xm^7{%Mdm7Vv{#mH*f{*5p35O$prC>xr`5Hua$T<|dMG-s z@E3BYMW2Im`WUW}d^#Eqlf2nmh*~s$kCc}&>Hw)lI&53H+x2l*>@yk~agB%+*$7G= z<<|E1AVqmcZL3SpH1tzB%1;I3eK5R_2+n<9jAfBBcyd`XNqR(4_*>!HQk4=IgH0 zbaL-#YX72vk+@Q_{E>y}A!ac*^AJeaET0D!0H_>k2%UgdYB0>iA16&S6rUFlTk~^Y zhYn@n&??oz=}^LfU-mL9-BBKNkHMO-RAQ%teqAQhi*sT;(|Y z*zPCZV1dl>!y|}24ufpEHH$hnlTQuU3x@G9!N_l=-bR92y+7FTaO0z3x6%wE_#v(0|8s}=)L82eE;%b+j zC6DM0dVxLTO5!{-{U)}F%ODo;4;``A=7H<^>rOVOA!27&sNj#VuZ zw0#lVo+8>Q3tT+no7Hsf&AZ7HpFMbbXTj31~4I9}YK=X}n8N=Wq%mUuJe z-^m1N%~WSB-gb5l&fg=HR!`kh2-sv3St<`36W<6SU-jqTLy;R~h6qB$tpF$H{@XY8 z#ekrT_9KvF!Pig)>dG{SyZ~^5FipeuI*s6%)~!1MwL91?aW+H|nJj-@#|Y_PUxHfe zJb`V+uqmIlI~%#M#F;#lCj=6-wtOn%giKjfU>RkU{CGSKQ0fWv+^QcBgsGQkowK<% z@_ms=1B}6KrX}Cfn6y&Q7F7&2JcVj5JAv5ewGjM22->LxM?eMIfJM;5%}@5BM0rga zn|fUzv-6bGDY_PL1|rY{EG*Mu!0mKUKd{^Ve^^wRrw@HJ5?O~sz|ZjjA1|aQ)%{Z1 EzlKBs-T(jq literal 28630 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
  • -{~orI)dMD&?Y$L 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 diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index 8d67b71..c3ee093 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -16,6 +16,8 @@ suppressMessages(library(stringr)) grp_color_values <- c("dodgerblue", "darkorange", "yellow2", "red2", "darkviolet", "black") +X_AXIS_ROT <- 60 + ####### ==================== ####### # UTILITY FUNCTIONS # ####### ==================== ####### @@ -133,7 +135,7 @@ mq_barplot <- function(df, img, mode, meancol, y = as.name(meancol)), stat = "identity", fill = barcol, col = "black") + theme_bw() + labs(x = xlab, y = "Total Peptide Intensity") + - theme(axis.text.x = element_text(angle = 45, hjust = 1)) + theme(axis.text.x = element_text(angle = X_AXIS_ROT, hjust = 1)) ggsave(img, height = height, width = width, units = "in") # write tabfile @@ -558,7 +560,7 @@ mq_ft_dist <- function(df, img, whichway, name, id, meancol, y = as.name("props")), stat = "identity", fill = barcol, col = "black") + theme_bw() + labs(x = xlab, y = "Proportion of Peptide Intensity") + - theme(axis.text.x = element_text(angle = 45, hjust = 1)) + theme(axis.text.x = element_text(angle = X_AXIS_ROT, hjust = 1)) ggsave(img, height = height, width = width, units = "in") # write tabular data From 2d98185e246bb0347b430af14f642523d1c01fba Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:25:42 -0500 Subject: [PATCH 19/23] fix data frame - probably due to new pandas --- tests/travis/testAnnotationHierarchy.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/travis/testAnnotationHierarchy.py b/tests/travis/testAnnotationHierarchy.py index eae3954..f5d86c1 100644 --- a/tests/travis/testAnnotationHierarchy.py +++ b/tests/travis/testAnnotationHierarchy.py @@ -173,8 +173,10 @@ def testToDataframe(self): '1.1.4.1', '1.1.4.2', '6.-.-.-', - '6.5.-.-']).sort_index() - df = ah.to_dataframe().sort_index() + '6.5.-.-']).sort_index(axis=0).sort_index(axis=1) + df = ah.to_dataframe().sort_index(axis=0).sort_index(axis=1) + print(df) + print(exp_df) self.assertTrue(df.equals(exp_df)) From 48f22a6f767e205fdabbc6e30a8f1762a80046fe Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Fri, 29 Mar 2019 16:37:18 -0500 Subject: [PATCH 20/23] pull out obo download links --- metaquantome/databases/GeneOntologyDb.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/metaquantome/databases/GeneOntologyDb.py b/metaquantome/databases/GeneOntologyDb.py index 016a253..3790e4a 100644 --- a/metaquantome/databases/GeneOntologyDb.py +++ b/metaquantome/databases/GeneOntologyDb.py @@ -4,6 +4,9 @@ from metaquantome.util.utils import safe_cast_to_list, stream_to_file_from_url +FULL_OBO_URL = 'http://purl.obolibrary.org/obo/go/go-basic.obo' +SLIM_OBO_URL = 'http://current.geneontology.org/ontology/subsets/goslim_metagenomics.obo' + class GeneOntologyDb: # the three "namespaces", or "ontologies" @@ -59,13 +62,11 @@ def download_go(data_dir, overwrite): logging.info('GO files exist in specified directory ' + 'and --update was not provided. Doing nothing.') else: - full_obo_url = 'http://purl.obolibrary.org/obo/go/go-basic.obo' - logging.info('Downloading full GO obo file from ' + full_obo_url + ' to ' + obo_path) - stream_to_file_from_url(full_obo_url, obo_path) + logging.info('Downloading full GO obo file from ' + FULL_OBO_URL + ' to ' + obo_path) + stream_to_file_from_url(FULL_OBO_URL, obo_path) - slim_obo_url = 'http://current.geneontology.org/ontology/subsets/goslim_metagenomics.obo' - logging.info('Downloading generic slim GO obo file from ' + slim_obo_url + ' to ' + slim_path) - stream_to_file_from_url(slim_obo_url, slim_path) + logging.info('Downloading generic slim GO obo file from ' + SLIM_OBO_URL + ' to ' + slim_path) + stream_to_file_from_url(SLIM_OBO_URL, slim_path) @staticmethod def _load_go_db(data_dir, slim_down): From 53f705d94c0c8e8861c2225a2600b91295eb3040 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Sun, 31 Mar 2019 19:23:43 -0500 Subject: [PATCH 21/23] filter ontology in barplot --- metaquantome/cli.py | 6 +- metaquantome/data/test/eggnog_out.tab | 86 +++++++++++++++++++++ metaquantome/data/test/eggnog_viz_file.tab | 21 +++++ metaquantome/data/test/test_eggnog_viz.png | Bin 0 -> 70039 bytes metaquantome/data/test/viz_f_filt.tab | 3 + metaquantome/modules/run_viz.py | 2 +- metaquantome/modules/viz.R | 51 ++++++++---- tests/travis/testCLI.py | 16 ++++ tests/travis/testExpand.py | 7 +- tests/travis/testRunViz.py | 35 +++++++++ 10 files changed, 203 insertions(+), 24 deletions(-) create mode 100644 metaquantome/data/test/eggnog_out.tab create mode 100644 metaquantome/data/test/eggnog_viz_file.tab create mode 100644 metaquantome/data/test/test_eggnog_viz.png create mode 100644 metaquantome/data/test/viz_f_filt.tab diff --git a/metaquantome/cli.py b/metaquantome/cli.py index 0acc4df..ede63a0 100755 --- a/metaquantome/cli.py +++ b/metaquantome/cli.py @@ -244,6 +244,9 @@ def parse_args_cli(): ' heatmap and PCA plot, so the colors can be tweaked to match. ') bar.add_argument('--target_rank', help="(Tax bar and FT dist). Taxonomic rank to restrict to in the plot. ") + bar.add_argument('--target_onto', choices=["mf", "bp", "cc"], + help="(Function and FT dist bar only) " + + "Ontology to restrict to, for function distribution.") bar.add_argument("--whichway", choices=["f_dist", "t_dist"], help="(FT dist only) " + "Which distribution - functional distribution for a taxon (f_dist) or " + @@ -254,9 +257,6 @@ def parse_args_cli(): bar.add_argument("--id", help="(FT dist bar only) " + "Taxonomic or functional term id - either a NCBI taxID or a GO term id (GO:XXXXXXX)") - bar.add_argument('--target_onto', choices=["mf", "bp", "cc"], - help="(FT dist bar only) " + - "Ontology to restrict to, for function distribution.") volc = parser_viz.add_argument_group('Volcano Plot') volc.add_argument('--fc_name', diff --git a/metaquantome/data/test/eggnog_out.tab b/metaquantome/data/test/eggnog_out.tab new file mode 100644 index 0000000..aacf1f2 --- /dev/null +++ b/metaquantome/data/test/eggnog_out.tab @@ -0,0 +1,86 @@ +id name namespace NS_mean WS_mean int737NS int737WS int852NS int852WS int867NS int867WS int737NS_n_peptide int737WS_n_peptide int852NS_n_peptide int852WS_n_peptide int867NS_n_peptide int867WS_n_peptide int737NS_n_samp_children int737WS_n_samp_children int852NS_n_samp_children int852WS_n_samp_children int867NS_n_samp_children int867WS_n_samp_children +GO:0000166 nucleotide binding molecular_function 20.812938951673548 22.45576157929862 20.7650729122137 22.987499842675113 20.79350773000872 22.49560727401568 20.87783869875859 21.529790522301813 4 4 4 4 4 4 NA NA NA NA NA NA +GO:0001071 DNA-binding transcription factor activity molecular_function 22.565242606742277 24.167311075268568 21.893089268686143 23.599025698102558 22.84594388203524 24.924585501706133 22.776436110275178 23.512793496613728 6 6 6 6 6 6 NA NA NA NA NA NA +GO:0003674 molecular_function molecular_function 32.202118570885766 33.625692028529976 31.840686918838195 32.8424909281718 32.83180714112942 34.480023854232606 31.633746398450782 32.91494272300005 1266 1266 1266 1266 1266 1266 3.0 3.0 3.0 3.0 3.0 3.0 +GO:0003676 nucleic acid binding molecular_function 30.25093037698607 31.43085103072104 29.937913472980792 30.59335383256552 30.845161857814094 32.36150316005401 29.705896099653934 30.526435326561593 157 157 157 157 157 157 NA NA NA NA NA NA +GO:0003700 DNA-binding transcription factor activity molecular_function 22.565242606742277 24.167311075268568 21.893089268686143 23.599025698102558 22.84594388203524 24.924585501706133 22.776436110275178 23.512793496613728 6 6 6 6 6 6 NA NA NA NA NA NA +GO:0003735 structural constituent of ribosome molecular_function 30.30534557843677 31.821379782899044 29.928587784666206 30.97002607431994 30.99541657507592 32.74954451167988 29.607449636552026 30.940089738787087 223 223 223 223 223 223 NA NA NA NA NA NA +GO:0003824 catalytic activity molecular_function 30.36766333069415 31.4539840896763 29.854935469347254 30.88810790721785 31.069555937411522 32.10624724775867 29.795198215414494 31.04436727161604 460 460 460 460 460 460 6.0 6.0 6.0 6.0 6.0 6.0 +GO:0004601 peroxidase activity molecular_function 22.41409097280114 23.901461621725065 22.759022561288596 24.16798394832492 23.04930475744847 23.179840531166505 19.91380254980753 24.153246946957942 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0005215 transporter activity molecular_function 27.900976591628112 29.479455259637742 27.913015663906158 28.62837273869508 28.279925665427992 30.22500417016912 27.3682059667039 29.100547027284204 122 122 122 122 122 122 NA NA NA NA NA NA +GO:0005515 protein binding molecular_function 26.1164284871433 29.174544348229727 25.799829857039025 28.19021691765738 26.58146220511891 30.16809058912528 25.82428831550019 28.184509229160106 42 42 42 42 42 42 NA NA NA NA NA NA +GO:0005575 cellular_component cellular_component 34.685343266229125 36.184870717575016 34.28493522359086 35.209816612940415 35.29104303132328 37.18584962146884 34.21269263502253 35.15549388487583 4972 4972 4972 4972 4972 4972 2.0 2.0 2.0 2.0 2.0 2.0 +GO:0005576 extracellular region cellular_component 29.03332950734754 31.092404353780708 28.554651647908432 29.860708144615202 29.374500338014407 32.19032609007904 29.055634481080187 29.887247592129683 91 91 91 91 91 91 NA NA NA NA NA NA +GO:0005618 cell wall cellular_component 30.943258616341538 32.22442898652113 30.593210628355216 31.374989233196864 31.59008896736965 33.18563699147242 30.3211431604676 31.21882144634031 318 318 318 318 318 318 NA NA NA NA NA NA +GO:0005622 intracellular cellular_component 32.041521036252846 33.555115603934574 31.60474241557847 32.506476093112035 32.62402858920744 34.595355556376084 31.65272723138963 32.43484173736598 762 762 762 762 762 762 NA NA NA NA NA NA +GO:0005634 nucleus cellular_component 22.353582535939296 24.380376999629544 21.664706395362217 23.935454009615782 22.75137866370085 24.95657311427775 22.440596322683014 24.011646018816556 5 5 5 5 5 5 NA NA NA NA NA NA +GO:0005694 chromosome cellular_component 16.995795337454208 17.88005513895988 16.55843424826055 17.718470028914663 17.158931544013857 14.701501604667767 17.187101801646044 18.876812076278576 1 1 1 1 1 1 NA NA NA NA NA NA +GO:0005737 cytoplasm cellular_component 32.03917354681039 33.55242804585738 31.60223137159634 32.50238582148551 32.622019285756906 34.59343573092026 31.649874720705107 32.43019300455121 757 757 757 757 757 757 NA NA NA NA NA NA +GO:0005840 ribosome cellular_component 29.570282392948826 31.000008462235424 29.178022526885364 30.143967872430075 30.259919567689476 31.9854841239404 28.892642073958093 29.90325438593723 104 104 104 104 104 104 NA NA NA NA NA NA +GO:0005886 plasma membrane cellular_component 31.37639677913559 32.822598505143176 31.016517979118877 31.9269272649713 32.00972169125549 33.77626830325385 30.79784201006799 31.89493732983273 531 531 531 531 531 531 NA NA NA NA NA NA +GO:0005975 carbohydrate metabolic process biological_process 28.50007376638204 30.28237426335552 27.458177755251626 28.938873766012325 29.288913733626693 31.42492355723029 28.153824509241492 28.9540435785897 76 76 76 76 76 76 NA NA NA NA NA NA +GO:0006091 generation of precursor metabolites and energy biological_process 28.476052636208106 27.58441084149612 26.71985404185339 27.21618718127208 29.546258395540857 27.603990048666034 27.749246320597017 27.861324807287556 30 30 30 30 30 30 NA NA NA NA NA NA +GO:0006259 DNA metabolic process biological_process 23.1145956202233 25.466596451556267 23.01220970372323 25.15318401416784 23.19273875671806 25.702826077191503 23.1330166155599 25.491417790794582 23 23 23 23 23 23 NA NA NA NA NA NA +GO:0006351 transcription, DNA-templated biological_process 23.554845685195755 25.327512958044178 22.928742321216284 24.919525696646303 23.86191068024207 25.978151819711787 23.711744117361153 24.76359519354666 12 12 12 12 12 12 NA NA NA NA NA NA +GO:0006412 translation biological_process 31.184249667828244 32.49304733713941 30.810593622954084 31.612821140125074 31.846608199857013 33.44558919393182 30.552756663951858 31.553615983772843 336 336 336 336 336 336 NA NA NA NA NA NA +GO:0006457 protein folding biological_process 26.161909602534724 29.268835134676046 25.70507187486446 28.284518966267495 26.73487273866281 30.274582804205565 25.810545759520373 28.229497749000846 32 32 32 32 32 32 NA NA NA NA NA NA +GO:0006461 protein-containing complex assembly biological_process 26.399585199900322 27.5427325704944 26.273803756270347 27.296793929780126 27.029805994676643 27.979881528506628 25.49905726464827 27.225857601800755 40 40 40 40 40 40 NA NA NA NA NA NA +GO:0006508 proteolysis biological_process 20.98930884741588 23.755898881214637 21.026351936902813 23.30350767005192 20.691215725454587 24.525272851621917 21.204259872069773 22.931300855492854 7 7 7 7 7 7 NA NA NA NA NA NA +GO:0006629 lipid metabolic process biological_process 28.36983482124686 28.430252211795366 27.56806389183547 28.021790131474074 29.170098480464237 28.956158240945065 27.823876046899453 28.12042141110199 37 37 37 37 37 37 NA NA NA NA NA NA +GO:0006807 nitrogen compound metabolic process biological_process 31.634402203873446 33.089118314847966 31.327468260591413 32.26516141567654 32.23937122172059 33.9854328532233 31.058133170258596 32.28774935458524 763 763 763 763 763 763 NA NA NA NA NA NA +GO:0006810 transport biological_process 27.06638108596664 28.7939728267842 27.123487380642253 27.961560677842773 27.41442853866987 29.54089148803661 26.524314216561017 28.398434861723516 88 88 88 88 88 88 NA NA NA NA NA NA +GO:0006950 response to stress biological_process 29.97169400936766 31.398140549294745 29.609540409209433 30.439676321523997 30.56892837947536 32.39351710338804 29.47592574236141 30.374268850182293 124 124 124 124 124 124 NA NA NA NA NA NA +GO:0008150 biological_process biological_process 34.019738967068655 35.47157315819036 33.63675686280236 34.633142097393 34.65371389442256 36.37922513439361 33.4661316117273 34.64727986352997 3731 3731 3731 3731 3731 3731 2.0 2.0 2.0 2.0 2.0 2.0 +GO:0008152 metabolic process biological_process 33.176511447719406 34.46765273407452 32.72808071923437 33.639915914834006 33.850084632895765 35.36806428713841 32.60334923408266 33.656659298817424 1837 1837 1837 1837 1837 1837 3.0 3.0 3.0 3.0 3.0 3.0 +GO:0008233 peptidase activity molecular_function 21.646175716950484 24.279601953314263 21.41650156143412 23.660307673176547 21.48651165907834 24.759311109615826 21.970339990561765 24.212491890784182 9 9 9 9 9 9 NA NA NA NA NA NA +GO:0009055 electron transfer activity molecular_function 20.225242709505515 21.100600894944694 20.72905594225216 21.628393645486945 19.95934022407602 19.25989794663786 19.810907592531446 21.455721532499105 4 4 4 4 4 4 NA NA NA NA NA NA +GO:0009058 biosynthetic process biological_process 31.889352453115976 33.206858714222314 31.503842669120207 32.334463395813636 32.54570604921448 34.15405195860303 31.286383280759246 32.27901382185692 576 576 576 576 576 576 NA NA NA NA NA NA +GO:0009276 Gram-negative-bacterium-type cell wall cellular_component 21.33190558510762 22.85758463193712 21.883592377405837 22.457216537866476 20.759260278457397 23.72316976344155 21.117361919109083 21.6069267890589 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0009405 pathogenesis biological_process 22.529445393732583 24.20187894950073 22.92172347222969 24.60791100119616 23.088410705552196 23.47601466375357 20.307307545398245 24.299933046990365 5 5 5 5 5 5 NA NA NA NA NA NA +GO:0009579 thylakoid cellular_component 25.353680249931127 27.285297904344894 25.342182315592083 26.424195764528378 25.80292592128707 28.1355809968459 24.715699833869213 26.65627349046008 22 22 22 22 22 22 NA NA NA NA NA NA +GO:0009628 response to abiotic stimulus biological_process 18.8275313018987 21.79054944375181 19.6926653258028 22.680102536611475 17.863667397131824 21.04621131116791 18.240711894572037 20.92924907329018 2 2 2 2 2 2 NA NA NA NA NA NA +GO:0016020 membrane cellular_component 31.528253761182597 32.982999790153386 31.131344506615378 32.06119313899092 32.17948128349856 33.93976546706241 30.950513653247402 32.07032342185347 619 619 619 619 619 619 2.0 2.0 2.0 2.0 2.0 2.0 +GO:0016032 viral process biological_process 26.726751016273404 30.44916450138337 26.3289762021563 29.24870878310248 27.143455870664877 31.53670581145155 26.58448797973924 29.263908857591957 48 48 48 48 48 48 NA NA NA NA NA NA +GO:0016070 RNA metabolic process biological_process 26.45338702174674 28.136904077882768 26.167786605368914 27.693875726078975 26.85197575978054 28.5989127651248 26.238112288760675 27.963833221240176 81 81 81 81 81 81 NA NA NA NA NA NA +GO:0016209 antioxidant activity molecular_function 22.41409097280114 23.901461621725065 22.759022561288596 24.16798394832492 23.04930475744847 23.179840531166505 19.91380254980753 24.153246946957942 3 3 3 3 3 3 1.0 1.0 1.0 1.0 1.0 1.0 +GO:0016226 iron-sulfur cluster assembly biological_process 19.65006504676166 22.07545569833447 18.834101796133126 20.985531681162964 20.345183383938142 22.27903209222981 19.351310089289722 22.538727022340424 2 2 2 2 2 2 NA NA NA NA NA NA +GO:0016301 kinase activity molecular_function 24.93317951093711 26.65441514255475 24.715997432934422 26.625786690219854 25.450562474921217 26.771723165297985 24.43581465302581 26.55735954195167 26 26 26 26 26 26 NA NA NA NA NA NA +GO:0016310 phosphorylation biological_process 23.998863294953946 25.60522022591701 23.71687655928068 25.520121750432512 24.34292143855308 25.79159283223296 23.85997752831331 25.483954571825823 14 14 14 14 14 14 NA NA NA NA NA NA +GO:0016469 proton-transporting two-sector ATPase complex cellular_component 25.28794684788722 27.24587614485443 25.295947686691342 26.356164977102935 25.711155479030335 28.11368716490646 24.674277395923806 26.59158117346957 19 19 19 19 19 19 NA NA NA NA NA NA +GO:0016491 oxidoreductase activity molecular_function 27.58652252995369 28.905603480276074 27.985097180437833 28.365132707194647 27.481399891255478 29.465403446019753 27.175459816058066 28.65129459711376 89 89 89 89 89 89 1.0 1.0 1.0 1.0 1.0 1.0 +GO:0016740 transferase activity molecular_function 28.50837388221859 28.807649479434136 27.39239888384231 28.65241843647481 29.490897995643707 29.07422046729016 27.678815181978777 28.654148722849303 114 114 114 114 114 114 NA NA NA NA NA NA +GO:0016779 nucleotidyltransferase activity molecular_function 24.60664199001104 26.52077938453401 24.552213262179535 26.283698278655795 24.98294371307926 26.787848195702427 24.1703158148389 26.44401130611569 34 34 34 34 34 34 NA NA NA NA NA NA +GO:0016787 hydrolase activity molecular_function 27.025000187725745 29.337867488809646 26.85316498178462 28.507909960324447 27.525195833256763 30.18814481171493 26.506055027911508 28.681802264539737 81 81 81 81 81 81 1.0 1.0 1.0 1.0 1.0 1.0 +GO:0016791 phosphatase activity molecular_function 20.00066771187133 20.78170476021841 20.25008621218474 21.582145270583805 20.397216014586114 19.780064055471357 18.985927380114088 20.38375388573837 2 2 2 2 2 2 NA NA NA NA NA NA +GO:0016829 lyase activity molecular_function 27.478337129041027 28.340600122036214 26.77080076559664 27.63201937985484 28.221034427334097 28.88731436350299 26.99300717635823 28.2317442172665 30 30 30 30 30 30 NA NA NA NA NA NA +GO:0016853 isomerase activity molecular_function 27.556366532632364 28.99593251208595 26.78152635995574 28.345616854001943 28.35467178948097 29.872001724155567 26.992506164257467 28.07315169940884 51 51 51 51 51 51 NA NA NA NA NA NA +GO:0016874 ligase activity molecular_function 27.781274466089975 27.98802808523111 27.041602139846304 27.3667915182792 28.53270147037394 28.494842433005434 27.30266193548093 27.881743420789515 68 68 68 68 68 68 NA NA NA NA NA NA +GO:0017004 cytochrome complex assembly biological_process 20.225242709505515 21.100600894944694 20.72905594225216 21.628393645486945 19.95934022407602 19.25989794663786 19.810907592531446 21.455721532499105 4 4 4 4 4 4 NA NA NA NA NA NA +GO:0017111 nucleoside-triphosphatase activity molecular_function 26.9203560265504 29.258693703014572 26.743480093566824 28.37941725517068 27.436730499780463 30.135982919997865 26.37458938451569 28.56772887744634 62 62 62 62 62 62 NA NA NA NA NA NA +GO:0019222 regulation of metabolic process biological_process 27.36667086498401 28.93890010609648 27.04946294995458 28.27217010077677 27.83628460141301 29.650196973721396 27.067358471035437 28.490375560097092 69 69 69 69 69 69 NA NA NA NA NA NA +GO:0019842 vitamin binding molecular_function 22.806248935836884 22.011490996944747 23.098338690639142 21.915667534529604 23.501586891220448 20.68351222572401 20.12885763271485 22.747824058779926 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0019867 outer membrane cellular_component 25.415082770326695 28.510762440296578 25.231946357349198 27.376792354975464 25.817648488108343 29.530761938164275 25.088380976575902 27.557383851321212 20 20 20 20 20 20 NA NA NA NA NA NA +GO:0019898 extrinsic component of membrane cellular_component 20.36761379810666 23.497751798806537 19.979369149490662 23.258049998983637 20.486639715229668 24.016003721592064 20.569172326391783 23.025544477082565 4 4 4 4 4 4 NA NA NA NA NA NA +GO:0030170 pyridoxal phosphate binding molecular_function 22.806248935836884 22.011490996944747 23.098338690639142 21.915667534529604 23.501586891220448 20.68351222572401 20.12885763271485 22.747824058779926 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0031224 intrinsic component of membrane cellular_component 22.910608016279205 24.128761674782414 23.66002749550621 23.628221897286817 22.24034621379282 23.954781526554825 22.37630278200838 24.621141825491804 10 10 10 10 10 10 NA NA NA NA NA NA +GO:0042221 response to chemical biological_process 29.846732488285266 30.82960964435407 29.48085230420287 29.927861187821655 30.46292013318048 31.815619543137878 29.313877111397073 29.78287638148735 85 85 85 85 85 85 NA NA NA NA NA NA +GO:0042575 DNA polymerase complex cellular_component 21.114278726118705 23.913856044712038 20.42856893793263 23.231729853797603 21.47999905741408 24.394554762978707 21.23830941501284 23.886673070520324 4 4 4 4 4 4 NA NA NA NA NA NA +GO:0042597 periplasmic space cellular_component 25.268958110855497 25.79936559875487 25.139354222645284 25.806381994330984 25.914188957744674 25.258934408385418 24.330881061947682 26.18624206335072 12 12 12 12 12 12 NA NA NA NA NA NA +GO:0043167 ion binding molecular_function 28.382979691819703 29.972241947491415 28.144942866955635 29.043051028939487 28.90574219882466 30.857632792224177 27.899797738312056 29.30011834834939 124 124 124 124 124 124 NA NA NA NA NA NA +GO:0043934 sporulation biological_process 21.819336639176775 24.663630268331595 21.56568762493804 22.642020819197167 22.056876090989284 25.6338796508546 21.79349529775704 24.33181748567803 5 5 5 5 5 5 NA NA NA NA NA NA +GO:0044281 small molecule metabolic process biological_process 25.012842362774183 25.90901402686175 24.72626866007268 26.364077076728655 25.61544115425635 25.596408936715683 24.417099873271656 25.629679099945086 20 20 20 20 20 20 NA NA NA NA NA NA +GO:0044699 biological_process biological_process 27.981891697175033 29.592287291947606 27.975097190061692 29.033750261528397 28.33947283186422 30.287810993491505 27.51480237139821 29.08087932713026 137 137 137 137 137 137 2.0 2.0 2.0 2.0 2.0 2.0 +GO:0044710 metabolic process biological_process 29.790645542410438 30.607298911539157 29.303691676587185 30.034384880231322 30.4615672319471 31.24338378192932 29.264443164263785 30.237026652396988 225 225 225 225 225 225 3.0 3.0 3.0 3.0 3.0 3.0 +GO:0044711 biosynthetic process biological_process 27.717881954337546 28.773955110588112 27.10937233707042 28.400353974007498 28.41048105976747 29.39342808797226 27.259760568857903 28.24245020030836 53 53 53 53 53 53 NA NA NA NA NA NA +GO:0044723 carbohydrate metabolic process biological_process 27.44575267247362 28.93667511454001 26.44839962870397 27.900831567406932 28.239639363598602 29.984375112586857 27.05993073142117 27.76867497616788 34 34 34 34 34 34 NA NA NA NA NA NA +GO:0044765 transport biological_process 26.04906533029382 27.711374637744317 26.034126875808205 26.885308768864174 26.46979009878612 28.474455962693668 25.474956978881448 27.274675747780492 37 37 37 37 37 37 NA NA NA NA NA NA +GO:0045454 cell redox homeostasis biological_process 22.41409097280114 23.901461621725065 22.759022561288596 24.16798394832492 23.04930475744847 23.179840531166505 19.91380254980753 24.153246946957942 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0046872 metal ion binding molecular_function 28.16396046753781 29.82645524100592 27.88823881056204 28.792223868491035 28.682351061807047 30.76380911622295 27.732686255651824 29.08156063426504 101 101 101 101 101 101 NA NA NA NA NA NA +GO:0046906 tetrapyrrole binding molecular_function 24.01179526443486 24.055459707185165 23.912182020709835 24.068709598895403 24.850204325934058 23.786569185138255 22.168267499359477 24.270599026359825 3 3 3 3 3 3 NA NA NA NA NA NA +GO:0050662 coenzyme binding molecular_function 22.806248935836884 22.011490996944747 23.098338690639142 21.915667534529604 23.501586891220448 20.68351222572401 20.12885763271485 22.747824058779926 3 3 3 3 3 3 1.0 1.0 1.0 1.0 1.0 1.0 +GO:0051536 iron-sulfur cluster binding molecular_function 21.21809182854753 22.731273747302957 21.37524455609145 22.427625804542384 21.43747285719024 22.515672677707187 20.745526072448154 23.141193109058133 7 7 7 7 7 7 NA NA NA NA NA NA +GO:0065003 protein-containing complex assembly biological_process 27.734811307556402 29.40675020608573 27.718506635563607 29.019532786299948 28.183537251793837 30.089818898462106 27.10531819329266 28.739820954295137 83 83 83 83 83 83 NA NA NA NA NA NA +GO:0071103 DNA conformation change biological_process 16.995795337454208 17.88005513895988 16.55843424826055 17.718470028914663 17.158931544013857 14.701501604667767 17.187101801646044 18.876812076278576 1 1 1 1 1 1 NA NA NA NA NA NA +GO:0071840 cellular component organization or biogenesis biological_process 29.63412883824579 31.57248431982154 29.55247245548925 31.0024286599174 30.13364702534564 32.346693272011514 28.993169948040034 30.873854598797546 357 357 357 357 357 357 NA NA NA NA NA NA +GO:0098796 membrane protein complex cellular_component 26.28794684788722 28.24587614485443 26.295947686691342 27.356164977102935 26.711155479030335 29.11368716490646 25.67427739592381 27.59158117346957 38 38 38 38 38 38 1.0 1.0 1.0 1.0 1.0 1.0 +GO:1902494 catalytic complex cellular_component 22.384081872043424 24.82912015858508 21.624370963186045 24.243256598150946 22.384594304679887 25.22968557353857 22.87878428049749 24.84878568781543 6 6 6 6 6 6 NA NA NA NA NA NA diff --git a/metaquantome/data/test/eggnog_viz_file.tab b/metaquantome/data/test/eggnog_viz_file.tab new file mode 100644 index 0000000..cacf235 --- /dev/null +++ b/metaquantome/data/test/eggnog_viz_file.tab @@ -0,0 +1,21 @@ +id name namespace NS_mean WS_mean int737NS int737WS int852NS int852WS int867NS int867WS int737NS_n_peptide int737WS_n_peptide int852NS_n_peptide int852WS_n_peptide int867NS_n_peptide int867WS_n_peptide int737NS_n_samp_children int737WS_n_samp_children int852NS_n_samp_children int852WS_n_samp_children int867NS_n_samp_children int867WS_n_samp_children +GO:0008152 metabolic process biological_process 9707895600.63897 34.4676527340745 32.7280807192344 33.639915914834 33.8500846328958 35.3680642871384 32.6033492340827 33.6566592988174 1837 1837 1837 1837 1837 1837 3 3 3 3 3 3 +GO:0009058 biosynthetic process biological_process 3977879569.3907 33.2068587142223 31.5038426691202 32.3344633958136 32.5457060492145 34.154051958603 31.2863832807592 32.2790138218569 576 576 576 576 576 576 NA NA NA NA NA NA +GO:0006807 nitrogen compound metabolic process biological_process 3333526855.75693 33.089118314848 31.3274682605914 32.2651614156765 32.2393712217206 33.9854328532233 31.0581331702586 32.2877493545852 763 763 763 763 763 763 NA NA NA NA NA NA +GO:0006412 translation biological_process 2440026495.81359 32.4930473371394 30.8105936229541 31.6128211401251 31.846608199857 33.4455891939318 30.5527566639519 31.5536159837728 336 336 336 336 336 336 NA NA NA NA NA NA +GO:0006950 response to stress biological_process 1052880100.76931 31.3981405492947 29.6095404092094 30.439676321524 30.5689283794754 32.393517103388 29.4759257423614 30.3742688501823 124 124 124 124 124 124 NA NA NA NA NA NA +GO:0042221 response to chemical biological_process 965521061.018174 30.8296096443541 29.4808523042029 29.9278611878217 30.4629201331805 31.8156195431379 29.3138771113971 29.7828763814873 85 85 85 85 85 85 NA NA NA NA NA NA +GO:0044710 metabolic process biological_process 928705245.346089 30.6072989115392 29.3036916765872 30.0343848802313 30.4615672319471 31.2433837819293 29.2644431642638 30.237026652397 225 225 225 225 225 225 3 3 3 3 3 3 +GO:0071840 cellular component organization or biogenesis biological_process 833223817.553338 31.5724843198215 29.5524724554893 31.0024286599174 30.1336470253456 32.3466932720115 28.99316994804 30.8738545987975 357 357 357 357 357 357 NA NA NA NA NA NA +GO:0005975 carbohydrate metabolic process biological_process 379644473.58704 30.2823742633555 27.4581777552516 28.9388737660123 29.2889137336267 31.4249235572303 28.1538245092415 28.9540435785897 76 76 76 76 76 76 NA NA NA NA NA NA +GO:0006091 generation of precursor metabolites and energy biological_process 373375658.545852 27.5844108414961 26.7198540418534 27.2161871812721 29.5462583955409 27.603990048666 27.749246320597 27.8613248072876 30 30 30 30 30 30 NA NA NA NA NA NA +GO:0006629 lipid metabolic process biological_process 346873604.466979 28.4302522117954 27.5680638918355 28.0217901314741 29.1700984804642 28.9561582409451 27.8238760468995 28.120421411102 37 37 37 37 37 37 NA NA NA NA NA NA +GO:0065003 protein-containing complex assembly biological_process 223362430.986751 29.4067502060857 27.7185066355636 29.0195327862999 28.1835372517938 30.0898188984621 27.1053181932927 28.7398209542951 83 83 83 83 83 83 NA NA NA NA NA NA +GO:0044711 biosynthetic process biological_process 220756695.513963 28.7739551105881 27.1093723370704 28.4003539740075 28.4104810597675 29.3934280879723 27.2597605688579 28.2424502003084 53 53 53 53 53 53 NA NA NA NA NA NA +GO:0044723 carbohydrate metabolic process biological_process 182807836.125096 28.93667511454 26.448399628704 27.9008315674069 28.2396393635986 29.9843751125869 27.0599307314212 27.7686749761679 34 34 34 34 34 34 NA NA NA NA NA NA +GO:0019222 regulation of metabolic process biological_process 173056856.95311 28.9389001060965 27.0494629499546 28.2721701007768 27.836284601413 29.6501969737214 27.0673584710354 28.4903755600971 69 69 69 69 69 69 NA NA NA NA NA NA +GO:0006810 transport biological_process 140537615.614438 28.7939728267842 27.1234873806423 27.9615606778428 27.4144285386699 29.5408914880366 26.524314216561 28.3984348617235 88 88 88 88 88 88 NA NA NA NA NA NA +GO:0016032 viral process biological_process 111058995.875521 30.4491645013834 26.3289762021563 29.2487087831025 27.1434558706649 31.5367058114516 26.5844879797392 29.263908857592 48 48 48 48 48 48 NA NA NA NA NA NA +GO:0016070 RNA metabolic process biological_process 91888884.7293597 28.1369040778828 26.1677866053689 27.693875726079 26.8519757597805 28.5989127651248 26.2381122887607 27.9638332212402 81 81 81 81 81 81 NA NA NA NA NA NA +GO:0006461 protein-containing complex assembly biological_process 88525220.719722 27.5427325704944 26.2738037562703 27.2967939297801 27.0298059946766 27.9798815285066 25.4990572646483 27.2258576018008 40 40 40 40 40 40 NA NA NA NA NA NA +GO:0006457 protein folding biological_process 75079182.3365918 29.268835134676 25.7050718748645 28.2845189662675 26.7348727386628 30.2745828042056 25.8105457595204 28.2294977490008 32 32 32 32 32 32 NA NA NA NA NA NA diff --git a/metaquantome/data/test/test_eggnog_viz.png b/metaquantome/data/test/test_eggnog_viz.png new file mode 100644 index 0000000000000000000000000000000000000000..67e17ab7698eaa6309d8bc6e24482bdb85349f1e GIT binary patch literal 70039 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

    YNh-5dhVT^2&LtfUrm}Ez3 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 PJwX12igbz8tDye{BtoS- literal 0 HcmV?d00001 diff --git a/metaquantome/data/test/viz_f_filt.tab b/metaquantome/data/test/viz_f_filt.tab new file mode 100644 index 0000000..9bde0d9 --- /dev/null +++ b/metaquantome/data/test/viz_f_filt.tab @@ -0,0 +1,3 @@ +id name namespace NS_mean WS_mean int737NS int737WS int852NS int852WS int867NS int867WS int737NS_n_peptide int737WS_n_peptide int852NS_n_peptide int852WS_n_peptide int867NS_n_peptide int867WS_n_peptide int737NS_n_samp_children int737WS_n_samp_children int852NS_n_samp_children int852WS_n_samp_children int867NS_n_samp_children int867WS_n_samp_children +GO:0003824 catalytic activity molecular_function 1385407584.13192 31.4539840896763 29.8549354693473 30.8881079072179 31.0695559374115 32.1062472477587 29.7951982154145 31.044367271616 460 460 460 460 460 460 6 6 6 6 6 6 +GO:0003735 structural constituent of ribosome molecular_function 1326838449.29867 31.821379782899 29.9285877846662 30.9700260743199 30.9954165750759 32.7495445116799 29.607449636552 30.9400897387871 223 223 223 223 223 223 NA NA NA NA NA NA diff --git a/metaquantome/modules/run_viz.py b/metaquantome/modules/run_viz.py index 8bec820..f139a5b 100644 --- a/metaquantome/modules/run_viz.py +++ b/metaquantome/modules/run_viz.py @@ -22,7 +22,7 @@ def run_viz(plottype, img, infile, strip=None, r_script_path = os.path.join(BASE_DIR, 'modules', 'viz.R') cmd = ['Rscript', '--vanilla', r_script_path, plottype, img, infile] if plottype == "bar": - cmd += [mode, meancol, nterms, width, height, target_rank, barcol, tabfile] + cmd += [mode, meancol, nterms, width, height, target_rank, target_onto, barcol, tabfile] elif plottype == "volcano": cmd += [str(textannot), fc_name, flip_fc, gosplit, width, height, tabfile] elif plottype == "heatmap": diff --git a/metaquantome/modules/viz.R b/metaquantome/modules/viz.R index c3ee093..238d57b 100644 --- a/metaquantome/modules/viz.R +++ b/metaquantome/modules/viz.R @@ -98,12 +98,31 @@ check_ranks <- function(df, target_rank) { } } +short_onto_to_long <- c("bp" = "biological_process", + "mf"="molecular_function", + "cc"="cellular_component") + +filter_to_desired_onto <- function(df, target_onto) { + if (is.null(target_onto)) { + stop('must provide target ontology for function or function-taxonomy mode', + call. = FALSE) + } + long_onto <- short_onto_to_long[target_onto] + df <- df[df[, "namespace"] == long_onto, ] + # also, remove any bp, cc, or mf rows + df <- df[!(df[, "name"] %in% short_onto_to_long), ] + if (nrow(df) == 0) { + stop(paste0("No terms in the dataframe come from the desired ontology (", target_onto, ")")) + } + return(df) +} + ####### ==================== ####### # BARPLOT # ####### ==================== ####### mq_barplot <- function(df, img, mode, meancol, - nterms, width, height, target_rank, int_barcol, - tabfile){ + nterms, width, height, target_rank, target_onto, + int_barcol, tabfile){ if (!(meancol %in% names(df))){ stop('Mean column name not found in dataframe. Check spelling and try again.', call. = FALSE) @@ -114,8 +133,12 @@ mq_barplot <- function(df, img, mode, meancol, # filter df <- df[df[, "rank"] == target_rank, ] } + if (mode == "f") { + df <- filter_to_desired_onto(df, target_onto) + } # exponentiate df[, meancol] <- 2^df[, meancol] + # reorder, for taking the top N terms reord <- df[order(df[, meancol], decreasing=TRUE), ] # take top N terms or number of rows, whichever is less @@ -132,7 +155,7 @@ mq_barplot <- function(df, img, mode, meancol, ggplot(sub_reord) + geom_bar(aes_(x = reorder(sub_reord[, barnamecol], -sub_reord[, meancol]), - y = as.name(meancol)), stat = "identity", fill = barcol, col = "black") + + y = as.name(meancol)), stat = "identity", fill = barcol, col = "black", position = "dodge") + theme_bw() + labs(x = xlab, y = "Total Peptide Intensity") + theme(axis.text.x = element_text(angle = X_AXIS_ROT, hjust = 1)) @@ -166,14 +189,18 @@ barplot_cli <- function(args){ width <- as.numeric(args[7]) height <- as.numeric(args[8]) target_rank <- args[9] - barcol <- as.numeric(args[10]) - tabfile <- args[11] + if (target_rank == "None") target_rank <- NULL + target_onto <- args[10] + if (target_onto == "None") target_onto <- NULL + barcol <- as.numeric(args[11]) + tabfile <- args[12] if (tabfile == "None") tabfile <- NULL plt <- mq_barplot(df, img=img, mode=mode, meancol=meancol, nterms=nterms, height=height, width=width, - target_rank=target_rank, int_barcol=barcol, + target_rank=target_rank, target_onto = target_onto, + int_barcol=barcol, tabfile=tabfile) } @@ -475,10 +502,6 @@ volcano_cli <- function(args){ ####### ==================== ####### # FT DIST # ####### ==================== ####### -short_onto_to_long <- c("bp" = "biological_process", - "mf"="molecular_function", - "cc"="cellular_component") - mq_ft_dist <- function(df, img, whichway, name, id, meancol, nterms, width, height, target_rank, target_onto, int_barcol, tabfile){ @@ -515,13 +538,7 @@ mq_ft_dist <- function(df, img, whichway, name, id, meancol, check_ranks(df, target_rank) df <- df[df[, "rank"] == target_rank, ] } else if (whichway == "f_dist"){ - long_onto <- short_onto_to_long[target_onto] - df <- df[df[, "namespace"] == long_onto, ] - # also, remove any bp, cc, or mf rows - df <- df[!(df[, "name"] %in% short_onto_to_long), ] - if (nrow(df) == 0) { - stop(paste0("No terms in the dataframe come from the desired ontology (", target_onto, ")")) - } + df <- filter_to_desired_onto(df, target_onto) } else { stop("Wrong whichway - should be t_dist or f_dist.") } diff --git a/tests/travis/testCLI.py b/tests/travis/testCLI.py index e060752..f512901 100644 --- a/tests/travis/testCLI.py +++ b/tests/travis/testCLI.py @@ -76,6 +76,22 @@ def testVizTabfile(self): self.assertEqual(b'3', nline.stdout.strip().split()[0]) os.remove(tabfile) + def testFuncBar(self): + infile = testfile('eggnog_out.tab') + imgfile = testfile('test_eggnog_viz.png') + samps = testfile('rudney_samples.tab') + tabfile = testfile("eggnog_viz_file.tab") + cmd = ' '.join([ + 'python3 metaquantome/cli.py viz -m f --plottype bar ' + '--infile', infile, + '--img', imgfile, + '--samps', samps, + '--nterms 20 --meancol NS_mean --target_onto bp', + '--tabfile', tabfile + ]) + test_status = subprocess.call(cmd, shell=True) + self.assertEqual(test_status, 0) + def testHeatmapViz(self): infile = testfile('ec_ttest_tested.tab') imgfile = testfile('cli_heatmap_viz.png') diff --git a/tests/travis/testExpand.py b/tests/travis/testExpand.py index ff7be55..bcfda43 100644 --- a/tests/travis/testExpand.py +++ b/tests/travis/testExpand.py @@ -57,8 +57,8 @@ def testSingleInt(self): self.assertEqual(go_df.loc["GO:0008152"]['int'], np.log2(100)) def testMultipleInt(self): - func=testfile('multiple_func.tab') - int=testfile('multiple_int.tab') + func = testfile('multiple_func.tab') + int = testfile('multiple_int.tab') go_df = expand.expand('f', sinfo='{"s1": ["int1", "int2", "int3"]}', int_file=int, pep_colname_int='peptide', pep_colname_func='peptide', pep_colname_tax='peptide', data_dir=TEST_DIR, func_file=func, func_colname='go', ontology='go') @@ -84,10 +84,11 @@ def testNopep(self): def testSlimDown(self): func=testfile('func_eggnog.tab') int=testfile('int_eggnog.tab') + outfile=testfile('eggnog_out.tab') sinfo='{"NS": ["int737NS", "int852NS", "int867NS"], "WS": ["int737WS", "int852WS", "int867WS"]}' go_df = expand.expand('f', sinfo=sinfo, int_file=int, pep_colname_int='peptide', pep_colname_func='peptide', pep_colname_tax='peptide', data_dir=TEST_DIR, func_file=func, func_colname='go', ontology='go', - slim_down=True) + slim_down=True, outfile=outfile) # test that all go terms are in slim # load slim returned_gos = set(go_df['id']) diff --git a/tests/travis/testRunViz.py b/tests/travis/testRunViz.py index eec134d..8755058 100644 --- a/tests/travis/testRunViz.py +++ b/tests/travis/testRunViz.py @@ -1,5 +1,6 @@ import unittest import os +import pandas as pd from metaquantome.util.testutils import testfile, TTEST_SINFO from metaquantome.modules.run_viz import run_viz @@ -21,6 +22,33 @@ def testBasicTaxBar(self): nterms='2', meancol='samp1_mean', target_rank="genus", barcol="6") + def testFuncBar(self): + infile = testfile('eggnog_out.tab') + tabfile = testfile('viz_f_filt.tab') + # bp + run_viz('bar', self.img, infile, mode='f', + nterms='2', meancol='NS_mean', + target_onto='bp', barcol='1', tabfile=tabfile) + df = pd.read_csv(tabfile, sep='\t') + namespace = df.namespace.unique() + self.assertEqual(namespace, ['biological_process']) + + # cc + run_viz('bar', self.img, infile, mode='f', + nterms='2', meancol='NS_mean', + target_onto='cc', barcol='1', tabfile=tabfile) + df = pd.read_csv(tabfile, sep='\t') + namespace = df.namespace.unique() + self.assertEqual(namespace, ['cellular_component']) + + # mf + run_viz('bar', self.img, infile, mode='f', + nterms='2', meancol='NS_mean', + target_onto='mf', barcol='1', tabfile=tabfile) + df = pd.read_csv(tabfile, sep='\t') + namespace = df.namespace.unique() + self.assertEqual(namespace, ['molecular_function']) + def testVolcano(self): infile = testfile('cli_mult_test_out.tab') run_viz('volcano', self.img, infile, @@ -70,6 +98,13 @@ def testFtDist(self): target_rank="genus", nterms="all") + # f dist + run_viz('ft_dist', self.img, infile, + meancol="s1_mean", + whichway='f_dist', + target_onto="bp", + nterms="all", id=209) + # test tabfile tabfile = testfile("tmp") run_viz('ft_dist', self.img, infile, From 47456247ea799570ba7b4ca9f594f45a5f59df89 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Sun, 31 Mar 2019 19:40:02 -0500 Subject: [PATCH 22/23] bump version to 0.99.5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 0f6310b..a9bbc29 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -VERSION = '0.99.4a0' +VERSION = '0.99.5' URL = 'https://github.com/galaxyproteomics/metaquantome' AUTHOR = 'Caleb Easterly' AUTHOR_EMAIL = 'caleb.easterly@gmail.com' From d6d5f582cfdc2d3efd01623094326e45157bdaf4 Mon Sep 17 00:00:00 2001 From: Caleb Easterly Date: Mon, 1 Apr 2019 10:06:59 -0500 Subject: [PATCH 23/23] remove print --- tests/travis/testAnnotationHierarchy.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/travis/testAnnotationHierarchy.py b/tests/travis/testAnnotationHierarchy.py index f5d86c1..d58a26c 100644 --- a/tests/travis/testAnnotationHierarchy.py +++ b/tests/travis/testAnnotationHierarchy.py @@ -175,8 +175,6 @@ def testToDataframe(self): '6.-.-.-', '6.5.-.-']).sort_index(axis=0).sort_index(axis=1) df = ah.to_dataframe().sort_index(axis=0).sort_index(axis=1) - print(df) - print(exp_df) self.assertTrue(df.equals(exp_df))