diff --git a/.github/workflows/sepp_tests.yml b/.github/workflows/sepp_tests.yml index 5ea87a99..c4fdfdab 100644 --- a/.github/workflows/sepp_tests.yml +++ b/.github/workflows/sepp_tests.yml @@ -40,6 +40,43 @@ jobs: run: | conda list nosetests -w test/unittest --with-doctest --with-coverage + - name: functional test + shell: bash -el {0} + run: | + mkdir -p sepp-package/sepp/.sepp/ functional_tests/ + cp ./.sepp/main.config sepp-package/sepp/.sepp/main.config + cd functional_tests + ../sepp-package/run-sepp.sh ../test/unittest/data/q2-fragment-insertion/input_fragments.fasta funcTest -x 2 -a ../test/unittest/data/q2-fragment-insertion/reference_alignment_tiny.fasta -t ../test/unittest/data/q2-fragment-insertion/reference_phylogeny_tiny.nwk -r ../test/unittest/data/q2-fragment-insertion/RAxML_info-reference-gg-raxml-bl.info -b 1 + diff funcTest_placement.tog.relabelled.tre ../test/functionaltest/funcTest_q2-tiny_placement.tog.relabelled.tre + cd .. + - name: Archive functional test results for local debugging + uses: actions/upload-artifact@v4 + with: + name: SEPP_functional_tests_${{ matrix.python-version }} + path: functional_tests + - name: functional test pplacer 1.1.alpha17 + shell: bash -el {0} + run: | + rm -rf functional_tests/ + mkdir -p sepp-package/sepp/.sepp/ functional_tests/ + cp ./.sepp/main.config sepp-package/sepp/.sepp/main.config + cd functional_tests + rm -v `find ~/ -type f -name pplacer` + rm -v `find ~/ -type f -name guppy` + wget "https://github.com/matsen/pplacer/releases/download/v1.1.alpha17/pplacer-Linux-v1.1.alpha17.zip" + unzip pplacer-Linux-v1.1.alpha17.zip + mv -v pplacer-Linux-v1.1.alpha17/pplacer ../.sepp/bundled-v4.5.5/pplacer + mv -v pplacer-Linux-v1.1.alpha17/guppy ../.sepp/bundled-v4.5.5/guppy + rm -rf pplacer-Linux-v1.1.alpha17* + ../sepp-package/run-sepp.sh ../test/unittest/data/q2-fragment-insertion/input_fragments.fasta funcTest -x 2 -a ../test/unittest/data/q2-fragment-insertion/reference_alignment_tiny.fasta -t ../test/unittest/data/q2-fragment-insertion/reference_phylogeny_tiny.nwk -r ../test/unittest/data/q2-fragment-insertion/RAxML_info-reference-gg-raxml-bl.info -b 1 + cat ../test/functionaltest/funcTest_q2-tiny_placement.tog.relabelled.tre | sed "s/((163164:0.0792419/((163164:0.079242/" | sed "s/1024637:0.0283109)'nodeid_321248':0.0224664/1024637:0.0283109)'nodeid_321248':0.0224708/" | sed "s/testseqe:0.0964783):0.195875)'nodeid_320633':0.0493007/testseqe:0.096466):0.195871)'nodeid_320633':0.0493007/" | sed "s/(272555:0.0600304/(272555:0.0600251/" | sed "s/testseqg:0.0321409):0.0609292)'nodeid_335817':0.281379)'nodeid_335169':0.00443657/testseqg:0.032141):0.0609345)'nodeid_335817':0.281379)'nodeid_335169':0.00443657/" > funcTest_q2-tiny_placement.tog.relabelled.tre + diff funcTest_placement.tog.relabelled.tre funcTest_q2-tiny_placement.tog.relabelled.tre + cd .. + - name: Archive functional test results (pplacer 1.1.alpha17) for local debugging + uses: actions/upload-artifact@v4 + with: + name: SEPP_functional_tests_${{ matrix.python-version }}_pplacer1.1.alpha17 + path: functional_tests - name: convert coverage shell: bash -el {0} run: | diff --git a/test/functionaltest/funcTest_q2-tiny_placement.json b/test/functionaltest/funcTest_q2-tiny_placement.json new file mode 100644 index 00000000..34578e66 --- /dev/null +++ b/test/functionaltest/funcTest_q2-tiny_placement.json @@ -0,0 +1,86 @@ +{ + "tree": "((151811:0.20653787715778515[0],(((((710602:0.09100532563217292[1],3089071:0.11124978442050712[2])UQrYOlnDN000007nodeid_806:0.006558851984076742[3],2440443:0.07120595687304473[4])UQrYOlnDN0000060_715:0.1751004600775757[5],103219:0.372683368794026[6])UQrYOlnDN000005nodeid_780:0.011982208072787617[7],194137:0.22249685575194408[8])UQrYOlnDN000004nodeid_384:0.03524791620035228[9],(2963554:0.2587963905311423[10],(1127869:0.05741101455589681[11],(2898544:0.03764552361833535[12],780370:0.052036109124796656[13])UQrYOlnDN000010nodeid_8761:0.017035353105611422[14])UQrYOlnDN000009f__Cenarchaeaceae:0.3565758655531652[15])UQrYOlnDN000008nodeid_6411:0.05678460204141941[16])UQrYOlnDN000003nodeid_381:0.038352869228435935[17])UQrYOlnDN000002k__Archaea:0.3473851867729237[18],(166691:0.32458979367976254[19],((4178573:0.3634398834634664[20],4477350:0.42052353857120484[21])UQrYOlnDN000013nodeid_10635:0.04591821733279154[22],(3181267:0.5747547996777541[23],((819809:0.17312299046573232[24],(4370980:0.02982546420600712[25],4303043:0.06374986964964767[26])UQrYOlnDN000017nodeid_13268:0.1292742775387144[27])UQrYOlnDN000016nodeid_12597:0.16870357667443764[28],((((((((4435515:0.2915542539657086[29],(262181:0.03385841192169293[30],323318:0.06790742821992368[31])UQrYOlnDN000026nodeid_118854:0.11259065764603725[32])UQrYOlnDN000025nodeid_117355:0.015268793172645496[33],(667055:0.2060804244187105[34],((((219387:0.20578016495759152[35],((4473462:0.09334217586775273[36],((159572:0.02331085970168164[37],168400:0.0209656939379384[38])UQrYOlnDN000035nodeid_127392:0.0481120559450359[39],258814:0.10096320862586955[40])UQrYOlnDN000034nodeid_127204:0.11018550936838756[41])UQrYOlnDN000033nodeid_127160:0.007544355236325969[42],(79653:0.07072215921100583[43],73433:0.0576012750675252[44])UQrYOlnDN000036f__Nannocystaceae:0.1393936826267861[45])UQrYOlnDN000032o__Myxococcales:0.012820997329795669[46])UQrYOlnDN000031nodeid_126247:0.015242760005715268[47],4331243:0.14742619871671958[48])UQrYOlnDN000030nodeid_126246:0.013618187759531181[49],3825887:0.1231447558539645[50])UQrYOlnDN000029nodeid_126235:0.007421928542722767[51],((231749:0.15319773377933943[52],(235202:0.11600396786615262[53],(534419:0.08256846340371887[54],537118:0.04448104501194142[55])UQrYOlnDN000040nodeid_125606:0.0530977481035161[56])UQrYOlnDN000039nodeid_123291:0.025816974864036377[57])UQrYOlnDN000038nodeid_120848:0.0032447866341778343[58],(652375:0.045809861842248355[59],77432:0.05107622445447596[60])UQrYOlnDN000041nodeid_120331:0.05843016954960361[61])UQrYOlnDN000037nodeid_120228:0.020403031528005974[62])UQrYOlnDN000028nodeid_120015:0.029157418254952584[63])UQrYOlnDN000027nodeid_119160:0.0022659513936872247[64])UQrYOlnDN000024nodeid_117354:0.015324740887687184[65],265578:0.30087059665594107[66])UQrYOlnDN000023p__Proteobacteria__c__Deltaproteobacteria:0.016433861350767506[67],(664993:0.09552255065344753[68],249933:0.12464532388650541[69])UQrYOlnDN000042nodeid_130736:0.034822687061307304[70])UQrYOlnDN000022nodeid_117038:0.005758554355938044[71],((((((((((((((226299:0.028945971812082947[72],112159:0.01623899814548481[73])UQrYOlnDN000056nodeid_47995:0.020840867958362864[74],(237915:0.004788715522433945[75],3290369:0.009628471052720449[76])UQrYOlnDN000057nodeid_50022:0.0158460454760279[77])UQrYOlnDN000055g__Pseudomonas:0.0971596827347662[78],150972:0.10413181373463387[79])UQrYOlnDN000054nodeid_46622:0.008097858779601709[80],379603:0.14045738918325704[81])UQrYOlnDN000053nodeid_44720:0.00580279958629445[82],1041895:0.07509615191852385[83])UQrYOlnDN000052nodeid_44490:0.0018464389099057846[84],((4456245:0.056639488635312006[85],805300:0.049485688084155856[86])UQrYOlnDN000059f__Halomonadaceae:0.023581007181695743[87],4458382:0.09083371692077007[88])UQrYOlnDN000058o__Oceanospirillales:0.006212880000530631[89])UQrYOlnDN000051nodeid_44489:0.0024043514097630467[90],((235556:0.10577812831909586[91],((((((((111052:0.0007809632389138907[92],895077:0.0008662133969080297[93])UQrYOlnDN000069nodeid_58307:0.015673998609353874[94],4482972:0.021851700914077756[95])UQrYOlnDN000068nodeid_58280:0.008211406093672352[96],222814:0.023191666411955483[97])UQrYOlnDN000067nodeid_58273:0.0057340418365633[98],4453457:0.04964474128294777[99])UQrYOlnDN000066nodeid_57465:0.005793577871124276[100],108732:0.044003982389095704[101])UQrYOlnDN000065nodeid_57021:0.09447129020851947[102],(4099203:0.03658334197467937[103],((667818:0.002373471459802654[104],4397048:0.012888423831786249[105])UQrYOlnDN000072nodeid_62962:0.01888621361550539[106],(1085151:0.0072912573523068284[107],(4368600:0.040068278990259165[108],877038:0.0031870632043542236[109])UQrYOlnDN000074nodeid_65005:0.0031528903848077865[110])UQrYOlnDN000073nodeid_63748:0.006720180127189123[111])UQrYOlnDN000071nodeid_62432:0.0709172929839776[112])UQrYOlnDN000070nodeid_60207:0.04147284221295678[113])UQrYOlnDN000064nodeid_56912:0.01720406914055847[114],524222:0.1516017176285506[115])UQrYOlnDN000063nodeid_56911:0.022521544544348716[116],(((93679:0.003170691956772387[117],4337084:0.014043435323707793[118])UQrYOlnDN000077nodeid_66824:0.008691457430862408[119],4328035:0.03278188447798498[120])UQrYOlnDN000076nodeid_66801:0.006497215071929638[121],(827487:0.003182153224933936[122],4460293:0.01763868776278675[123])UQrYOlnDN000078nodeid_68720:0.09379564505338657[124])UQrYOlnDN000075nodeid_66798:0.07441723647975801[125])UQrYOlnDN000062nodeid_56909:0.057034107018252574[126])UQrYOlnDN000061nodeid_55422:0.02502640901952565[127],1137616:0.10142921283239269[128])UQrYOlnDN000060nodeid_54836:0.04394310553852275[129])UQrYOlnDN000050nodeid_44488:0.006079132762366989[130],(((560935:0.017057022742479683[131],94043:0.011703971396476892[132])UQrYOlnDN000081nodeid_70576:0.0015588264921300567[133],2660003:0.038189693057044984[134])UQrYOlnDN000080nodeid_70574:0.09454949268265196[135],8297:0.09847865924785054[136])UQrYOlnDN000079nodeid_70379:0.05474644068420398[137])UQrYOlnDN000049nodeid_44487:0.01908179455710282[138],(579424:0.1251470489709186[139],833898:0.22758549386524357[140])UQrYOlnDN000082nodeid_73302:0.010596432651687799[141])UQrYOlnDN000048nodeid_44486:0.004713438865122745[142],((270104:0.06785525152108976[143],1111951:0.08076361434464559[144])UQrYOlnDN000084nodeid_77078:0.004137210617775521[145],(817082:0.033454166564808284[146],263758:0.05131333556197702[147])UQrYOlnDN000085nodeid_78388:0.019061186092478366[148])UQrYOlnDN000083nodeid_77077:0.0054246875875958896[149])UQrYOlnDN000047nodeid_44485:0.006268505722548297[150],(((918237:0.1307908019398238[151],542561:0.05851390930461994[152])UQrYOlnDN000088nodeid_79872:0.00835995163410181[153],4327924:0.11165124829648576[154])UQrYOlnDN000087nodeid_79871:0.035913242179102224[155],845691:0.16291352690208877[156])UQrYOlnDN000086nodeid_79054:0.0035444200737492523[157])UQrYOlnDN000046nodeid_44484:0.0026442296983094655[158],73060:0.07171140142993801[159])UQrYOlnDN000045c__Gammaproteobacteria:0.006124603192402527[160],((4288303:0.06603673827285061[161],941498:0.05138551059817267[162])UQrYOlnDN000090nodeid_19793:0.06765838768321122[163],((((712440:0.022506126221535142[164],2026695:0.015681736220241722[165])UQrYOlnDN000094nodeid_23153:0.028049870520689385[166],74685:0.04301820242535084[167])UQrYOlnDN000093nodeid_22985:0.005733852416195385[168],108777:0.03612916294142215[169])UQrYOlnDN000092nodeid_22497:0.08956960016462734[170],(((((((832355:0.04940954253039712[171],189163:0.11481566639807408[172])UQrYOlnDN000101nodeid_31749:0.003196693165468567[173],(((111512:0.029566400171801656[174],792198:0.005385925637608033[175])UQrYOlnDN000104nodeid_34041:0.024893352093967844[176],(322045:0.07012338181390604[177],7346:0.023596490125565202[178])UQrYOlnDN000105nodeid_34366:0.015884664699841254[179])UQrYOlnDN000103f__Oxalobacteraceae:0.016643459846801486[180],(547828:0.02925080564069289[181],(171851:0.011899328467137798[182],4393104:3.00000150008727e-06[183])UQrYOlnDN000107nodeid_37473:0.024689056863847873[184])UQrYOlnDN000106nodeid_36709:0.03926993352803827[185])UQrYOlnDN000102nodeid_33657:0.006617921188806781[186])UQrYOlnDN000100nodeid_31748:0.009082985981155096[187],(4298880:0.0051099258996105245[188],4437353:0.09481200520726896[189])UQrYOlnDN000108nodeid_30457:0.1518797152253902[190])UQrYOlnDN000099nodeid_30126:0.009104531656366988[191],((342262:0.020893587906191224[192],749476:0.00733946480916639[193])UQrYOlnDN000110nodeid_38450:0.05353768143327978[194],360426:0.07601111570297024[195])UQrYOlnDN000109nodeid_38073:0.00206348570934642[196])UQrYOlnDN000098nodeid_30125:0.005509623929184219[197],742152:0.09206494865526285[198])UQrYOlnDN000097nodeid_26161:0.003833015765851499[199],4425801:0.15650622784342347[200])UQrYOlnDN000096nodeid_26160:0.005974498079791249[201],(578790:0.03387624556712338[202],208009:0.06487463904097565[203])UQrYOlnDN000111nodeid_42528:0.02994848441536191[204])UQrYOlnDN000095nodeid_26159:0.022097518954308545[205])UQrYOlnDN000091nodeid_21962:0.06379816046254533[206])UQrYOlnDN000089nodeid_18975:0.03255414885661825[207])UQrYOlnDN000044nodeid_17908:0.0707650711590816[208],((((159606:0.13462716837987102[209],((832001:0.2417766529801173[210],(138221:0.08593621103805013[211],4425:0.10944911983273821[212])UQrYOlnDN000118nodeid_84780:0.14573103081063007[213])UQrYOlnDN000117nodeid_84015:0.004599075520620933[214],(775673:0.1572376714361142[215],1045015:0.06719675483566467[216])UQrYOlnDN000119o__Rhodospirillales__f__Rhodospirillaceae:0.010494209513210243[217])UQrYOlnDN000116nodeid_84014:0.013583927817092424[218])UQrYOlnDN000115nodeid_83315:0.011497172866620633[219],((318128:0.11346114698911508[220],(1146004:0.17917518568995483[221],2912147:0.1273700792916353[222])UQrYOlnDN000122nodeid_88787:0.032424807717006086[223])UQrYOlnDN000121nodeid_88458:0.01245341242173717[224],((350253:0.12164002022873306[225],341634:0.029166640159525466[226])UQrYOlnDN000124nodeid_91095:0.008901255711017127[227],827048:0.06789265209200894[228])UQrYOlnDN000123f__Pelagibacteraceae:0.24249525657626553[229])UQrYOlnDN000120nodeid_88457:0.03436087319567237[230])UQrYOlnDN000114nodeid_83314:0.023433854622283902[231],(4335822:0.10002459886953664[232],(690953:0.041717596557599976[233],353933:0.07539869241766116[234])UQrYOlnDN000126nodeid_96402:0.09092794949472104[235])UQrYOlnDN000125nodeid_93849:0.07851721133921155[236])UQrYOlnDN000113nodeid_83312:0.0066573331468036375[237],((211113:0.12094318423845565[238],(4418695:0.12819872171403912[239],168212:0.06173285306710744[240])UQrYOlnDN000129nodeid_100214:0.14504453575830076[241])UQrYOlnDN000128nodeid_99335:0.006965597490460004[242],(((((323927:0.029167286043878773[243],(590731:0.02699039272428886[244],(615557:0.07169349015506762[245],79810:0.06917448829705465[246])UQrYOlnDN000136nodeid_111951:0.019825623162516903[247])UQrYOlnDN000135nodeid_111264:0.025506634437398035[248])UQrYOlnDN000134nodeid_111155:0.019592835469967502[249],3848077:0.09892552112289912[250])UQrYOlnDN000133nodeid_110716:0.08368726300233974[251],(364336:0.06697256035980724[252],4446822:0.1052409305327859[253])UQrYOlnDN000137nodeid_114796:0.07004924738095024[254])UQrYOlnDN000132nodeid_110349:0.10476625286357227[255],94143:0.13259793314924814[256])UQrYOlnDN000131nodeid_110054:0.00736503714716924[257],((41463:0.028630191844754724[258],4298100:0.04760121706993303[259])UQrYOlnDN000139nodeid_101150:0.050141178842265745[260],((4474263:0.05917476913657678[261],(164464:0.03658979727359679[262],(3420269:0.01085638876503219[263],4434021:0.006873880441179969[264])UQrYOlnDN000143nodeid_104970:0.028253824426573794[265])UQrYOlnDN000142f__Phyllobacteriaceae:0.041848275706389215[266])UQrYOlnDN000141nodeid_102182:0.010715693753324013[267],((582090:0.14052516627693556[268],226373:0.04968473558831687[269])UQrYOlnDN000145nodeid_106645:0.03066069755093634[270],280453:0.09651988586195295[271])UQrYOlnDN000144nodeid_106018:0.019079479963167997[272])UQrYOlnDN000140nodeid_102180:0.010365522759585931[273])UQrYOlnDN000138nodeid_100792:0.008038103283423848[274])UQrYOlnDN000130nodeid_100762:0.005678262679271758[275])UQrYOlnDN000127nodeid_99334:0.018521043140665706[276])UQrYOlnDN000112nodeid_83311:0.0807201879060741[277])UQrYOlnDN000043nodeid_17888:0.026270468099000483[278])UQrYOlnDN000021nodeid_17886:0.009282905392939323[279],(830011:0.15298978581445055[280],(307048:0.04928611065996413[281],754705:0.058969328851123964[282])UQrYOlnDN000147nodeid_16370:0.06333207998472248[283])UQrYOlnDN000146nodeid_14316:0.23365512980528833[284])UQrYOlnDN000020nodeid_13550:0.0038402893709385513[285],(((4401161:0.0700067401383137[286],876085:0.09750564749043467[287])UQrYOlnDN000150nodeid_131927:0.15621997373964833[288],(((((53218:0.31399905264121974[289],(4348413:0.10608231069247463[290],281512:0.07698836641725143[291])UQrYOlnDN000156nodeid_135823:0.022847949116094272[292])UQrYOlnDN000155nodeid_133851:0.03383870519938471[293],(((2450005:0.06459766816562397[294],((889549:0.03464792418463165[295],4440636:0.07320299730761713[296])UQrYOlnDN000161nodeid_138621:0.014091202661317331[297],583688:0.061623939253569744[298])UQrYOlnDN000160nodeid_138579:0.020050622268757985[299])UQrYOlnDN000159nodeid_138107:0.0045789191306680275[300],1105324:0.15318034125069324[301])UQrYOlnDN000158nodeid_138106:0.16763640263833587[302],(3920690:0.11692083766206836[303],268688:0.06887656562301285[304])UQrYOlnDN000162nodeid_141756:0.16632783054971828[305])UQrYOlnDN000157o___Saprospirales_:0.03141863259162156[306])UQrYOlnDN000154nodeid_133848:0.008987474627597693[307],((((((((592429:0.15274370288142092[308],4470216:0.09741714620062977[309])UQrYOlnDN000170nodeid_146568:0.025488562269110338[310],(((((((295797:0.009716670236681664[311],574176:0.034633862141028975[312])UQrYOlnDN000177nodeid_149494:2.00000100005818e-06[313],2277614:0.04157406750155681[314])UQrYOlnDN000176nodeid_149491:0.20760306355566754[315],196596:0.02370091834640227[316])UQrYOlnDN000175nodeid_149203:1.00000050002909e-06[317],366744:0.05096416728044721[318])UQrYOlnDN000174nodeid_148907:0.0009437496128607473[319],((3594388:0.017907511756256475[320],((4439466:0.01286124197368849[321],2855170:0.001626653777060221[322])UQrYOlnDN000181nodeid_152361:0.0038913321646830952[323],3489863:0.01084660448230607[324])UQrYOlnDN000180nodeid_152156:0.009181411056434592[325])UQrYOlnDN000179nodeid_151472:0.03400912774450888[326],4405368:0.05557248865500848[327])UQrYOlnDN000178nodeid_151382:0.00783331671937698[328])UQrYOlnDN000173nodeid_148906:0.11093399402990332[329],(((157371:0.11071867645053494[330],(((530242:0.06240023750467439[331],548730:0.07482831725003401[332])UQrYOlnDN000187nodeid_154690:0.010719267274989784[333],((4404356:0.11003949517121245[334],(4331006:0.07371665106826358[335],(((196481:0.012897755220603756[336],198502:0.029282269761810795[337])UQrYOlnDN000193nodeid_156474:1.00000050002909e-06[338],((122608:0.0049599634638014915[339],297113:0.0017091757404828023[340])UQrYOlnDN000195nodeid_156424:0.00168904460088769[341],527203:0.060654859187926485[342])UQrYOlnDN000194nodeid_156059:0.003794283721224543[343])UQrYOlnDN000192nodeid_155860:0.03222128307992646[344],4346760:0.04237955046572944[345])UQrYOlnDN000191nodeid_155837:0.011257639187503866[346])UQrYOlnDN000190nodeid_155535:0.018610657160334415[347])UQrYOlnDN000189nodeid_154964:0.022309807874489437[348],(299494:0.005351106393205403[349],513664:0.05996821885914864[350])UQrYOlnDN000196nodeid_157699:0.064660855320323[351])UQrYOlnDN000188nodeid_154962:0.009104912853445894[352])UQrYOlnDN000186nodeid_154689:0.02879956836053512[353],344036:0.14264748726497306[354])UQrYOlnDN000185nodeid_154683:0.008345580719938428[355])UQrYOlnDN000184nodeid_154501:0.022934941182990356[356],572825:0.0985043400532[357])UQrYOlnDN000183nodeid_154472:0.05446466022920626[358],4340247:0.14859886775543285[359])UQrYOlnDN000182nodeid_154465:0.020063835020416396[360])UQrYOlnDN000172nodeid_148784:0.09229898398042082[361],((((204144:0.06372745476697805[362],(179343:0.09351756748680781[363],378841:0.04218811954682218[364])UQrYOlnDN000201nodeid_164395:0.021433655792572167[365])UQrYOlnDN000200nodeid_164097:0.003178702766061936[366],180397:0.07882878061505835[367])UQrYOlnDN000199nodeid_163395:0.0066183261862059195[368],191994:0.057999006556979114[369])UQrYOlnDN000198nodeid_163393:0.004497009914583751[370],(269673:0.08357106896897838[371],196489:0.08718208742266557[372])UQrYOlnDN000202nodeid_162741:0.02309010043646874[373])UQrYOlnDN000197nodeid_162629:0.10545278033091914[374])UQrYOlnDN000171nodeid_148704:0.020695180682574338[375])UQrYOlnDN000169nodeid_146565:0.03903574490124538[376],1120939:0.18034789314506844[377])UQrYOlnDN000168nodeid_146563:0.031740270094624476[378],4304667:0.20316997380626733[379])UQrYOlnDN000167nodeid_146561:0.01848701921060616[380],(3506243:0.11298338350633044[381],(1114566:0.06853883651269127[382],1780471:0.13390767100466738[383])UQrYOlnDN000204nodeid_144343:0.029191532018201148[384])UQrYOlnDN000203nodeid_143285:0.06263686210490249[385])UQrYOlnDN000166nodeid_143221:0.014130498743013331[386],156292:0.17426463149947805[387])UQrYOlnDN000165c__Bacteroidia__o__Bacteroidales:0.005555555915038314[388],(((233682:0.06989754617847244[389],613128:0.13896176694686993[390])UQrYOlnDN000207nodeid_171417:0.02912168678310579[391],((539572:0.09755300839797978[392],((4376858:0.001699342673225004[393],4473225:0.0010474882105280193[394])UQrYOlnDN000211nodeid_172715:0.10909461852143582[395],((2217350:0.07798682243512342[396],(161450:0.10239111262425564[397],4046531:0.0360023485140799[398])UQrYOlnDN000214nodeid_174130:0.028325550332330487[399])UQrYOlnDN000213nodeid_173149:0.0035545946206687147[400],(20785:0.04099281885579607[401],(4429121:0.030214651061962628[402],705048:0.009295812101171988[403])UQrYOlnDN000216nodeid_176121:0.03300372074394299[404])UQrYOlnDN000215nodeid_175710:0.07143086137101769[405])UQrYOlnDN000212nodeid_173148:0.012809312579589312[406])UQrYOlnDN000210nodeid_172533:0.021345700627447593[407])UQrYOlnDN000209nodeid_171804:0.034131095701408674[408],(257175:0.08310114798459926[409],4393789:0.10318927611702707[410])UQrYOlnDN000217f___Weeksellaceae_:0.05130951067556079[411])UQrYOlnDN000208nodeid_171789:0.032176781940833704[412])UQrYOlnDN000206o__Flavobacteriales:0.027585187131009645[413],4405277:0.278259029113507[414])UQrYOlnDN000205nodeid_170792:0.004264208059790484[415])UQrYOlnDN000164nodeid_142578:0.02742326872885472[416],(536155:0.17282727749236385[417],(366394:0.02097507162570835[418],17550:0.09835417947507108[419])UQrYOlnDN000219nodeid_183760:0.11316478604269695[420])UQrYOlnDN000218nodeid_182110:0.01943601378189341[421])UQrYOlnDN000163nodeid_142576:0.024365825484122944[422])UQrYOlnDN000153nodeid_133847:0.16678550589848484[423],(676041:0.1951393342780253[424],(817380:0.10709123118436592[425],650264:0.07680655198154901[426])UQrYOlnDN000221o__Ignavibacteriales:0.0557285760510329[427])UQrYOlnDN000220nodeid_185259:0.03370130279249181[428])UQrYOlnDN000152nodeid_133636:0.08032236984850481[429],(1547652:0.24764634481989567[430],(((325972:0.09667207958391516[431],1813677:0.17369718688422903[432])UQrYOlnDN000225nodeid_188270:0.03678215359018498[433],4320290:0.13810772223582946[434])UQrYOlnDN000224nodeid_188269:0.1450219144961817[435],((((661024:0.1866070629886875[436],4369491:0.23097060817590576[437])UQrYOlnDN000229nodeid_190751:0.026878475683417734[438],3183138:0.2655187396837969[439])UQrYOlnDN000228nodeid_190749:0.04032947070325506[440],1660700:0.11949670042472693[441])UQrYOlnDN000227nodeid_190704:0.028903138591253152[442],260950:0.11226085991471105[443])UQrYOlnDN000226nodeid_190699:0.03307552723013722[444])UQrYOlnDN000223nodeid_188061:0.012988614821241471[445])UQrYOlnDN000222nodeid_187057:0.017641884276248583[446])UQrYOlnDN000151nodeid_133147:0.04012517471827109[447])UQrYOlnDN000149nodeid_131906:0.011062350951363927[448],((((((((4341168:0.11545994256340597[449],4467342:0.2091769714575423[450])UQrYOlnDN000237nodeid_199630:0.01593921381202717[451],((225818:0.05058065031829163[452],3040801:0.04058068841969613[453])UQrYOlnDN000239nodeid_200524:0.005544363841175668[454],4424904:0.027638348457037207[455])UQrYOlnDN000238g__Geobacter:0.09143856786670397[456])UQrYOlnDN000236nodeid_199628:0.037665177938824075[457],(163164:0.12386631488425683[458],(1989885:0.0863744398761645[459],3525686:0.1019105133099947[460])UQrYOlnDN000241nodeid_202152:0.02215736761369172[461])UQrYOlnDN000240f__Desulfovibrionaceae:0.13016828418917248[462])UQrYOlnDN000235nodeid_199625:0.02576893210572173[463],(788072:0.23712963270502427[464],(3842048:0.12732503254674338[465],1109019:0.21679313050263543[466])UQrYOlnDN000243nodeid_204801:0.0837539445375949[467])UQrYOlnDN000242nodeid_204243:0.057054165858491206[468])UQrYOlnDN000234nodeid_199238:0.011646566934742458[469],((((((4448087:0.028826094300274642[470],1071854:0.009650223632876067[471])UQrYOlnDN000249nodeid_206566:0.29228136593196785[472],((224768:0.26167604078453827[473],(544081:0.04233956575654166[474],(935392:0.05124859318294473[475],864369:0.030231435765905517[476])UQrYOlnDN000253nodeid_209957:0.049583287835793195[477])UQrYOlnDN000252nodeid_209046:0.12400162062663331[478])UQrYOlnDN000251nodeid_208309:0.03173351454367304[479],((4307557:0.01787554308377958[480],898983:0.040428435342788345[481])UQrYOlnDN000255nodeid_211697:0.020180144268726483[482],253054:0.07802283131402771[483])UQrYOlnDN000254nodeid_210987:0.03827202075328094[484])UQrYOlnDN000250nodeid_208306:0.03606918093384427[485])UQrYOlnDN000248nodeid_206117:0.040672588699579765[486],142591:0.10102141940151456[487])UQrYOlnDN000247nodeid_206111:0.007819074504607006[488],(((561393:0.02278021946129266[489],((238873:0.01317550711195705[490],580232:0.019553235853795675[491])UQrYOlnDN000260nodeid_214608:0.001617747813191014[492],4359350:0.031026899767071514[493])UQrYOlnDN000259nodeid_214607:0.005936158555927422[494])UQrYOlnDN000258nodeid_214599:0.019735478815416[495],(225798:0.016411689461535376[496],593203:0.11595356965455512[497])UQrYOlnDN000261nodeid_215727:0.03987158474241244[498])UQrYOlnDN000257nodeid_214595:0.011181138384700156[499],590178:0.03271127576805261[500])UQrYOlnDN000256nodeid_214559:0.11435163936923001[501])UQrYOlnDN000246nodeid_206110:0.033205016165230264[502],2592673:0.08568909303201634[503])UQrYOlnDN000245nodeid_205859:0.010860510901699287[504],(149184:0.025459559655559495[505],1124077:0.015565396528804103[506])UQrYOlnDN000262nodeid_219991:0.20301914025706572[507])UQrYOlnDN000244nodeid_205774:0.03975720182448514[508])UQrYOlnDN000233nodeid_199237:0.009164998230994032[509],((((4399059:0.050256348258041816[510],4340237:0.11248547225416164[511])UQrYOlnDN000266nodeid_196891:0.010696109888666254[512],60167:0.10209307243061691[513])UQrYOlnDN000265nodeid_196647:0.006450774464232629[514],((221332:0.05972002160321854[515],((217377:0.03983497170886584[516],580986:0.04761762211672157[517])UQrYOlnDN000270nodeid_194841:0.01071034517900043[518],533519:0.06666225583085893[519])UQrYOlnDN000269nodeid_194836:0.0718392459227856[520])UQrYOlnDN000268nodeid_194436:0.05383258527242978[521],(2224797:0.08334099217885788[522],(114660:0.049325508447424386[523],565720:0.13056197026491456[524])UQrYOlnDN000272nodeid_195882:0.03859413094948076[525])UQrYOlnDN000271nodeid_195575:0.017892642449837105[526])UQrYOlnDN000267g__Treponema:0.08058909170136681[527])UQrYOlnDN000264nodeid_194295:0.06415303690923128[528],(1665650:0.15495962280755313[529],4404755:0.22290820417448207[530])UQrYOlnDN000273nodeid_198223:0.08693807500212265[531])UQrYOlnDN000263nodeid_194249:0.09735776402016302[532])UQrYOlnDN000232nodeid_194077:0.0035753869531726635[533],((304435:0.1691814956533722[534],(((((((1127826:0.11294317087259126[535],4307743:0.10616579751644822[536])UQrYOlnDN000282nodeid_222600:0.011437303835397976[537],((154804:0.06895749894582003[538],1101476:0.10705115532093955[539])UQrYOlnDN000284nodeid_223574:0.027998010706331455[540],(((((((238031:0.01686538707878874[541],4388081:0.02349154636235587[542])UQrYOlnDN000291nodeid_227264:0.012873002201227958[543],((1106211:0.008021253329965708[544],((543962:0.0016507808054471856[545],733304:0.000821149084955784[546])UQrYOlnDN000295nodeid_227930:1.00000050002909e-06[547],731897:0.006574312826535469[548])UQrYOlnDN000294nodeid_227929:0.00338726195174185[549])UQrYOlnDN000293nodeid_227797:0.010454525808952795[550],(582591:0.007676972718492513[551],4367303:0.004041855995472941[552])UQrYOlnDN000296nodeid_228328:0.01453117280215321[553])UQrYOlnDN000292nodeid_227759:0.022497793772115804[554])UQrYOlnDN000290nodeid_226836:0.0016097326878544837[555],35160:0.01382193734865153[556])UQrYOlnDN000289nodeid_226834:0.0007976511460258795[557],2956782:0.011984290363904177[558])UQrYOlnDN000288nodeid_226833:0.07234891801266059[559],575032:0.055775183428328004[560])UQrYOlnDN000287o__Actinomycetales:0.002206534171076091[561],(((((272974:0.08254652105181771[562],(12542:0.03032939870307661[563],(4394061:0.01647574676263286[564],141582:0.015687259956088197[565])UQrYOlnDN000303f__Promicromonosporaceae:0.01841346786069271[566])UQrYOlnDN000302nodeid_235961:0.008414150923884832[567])UQrYOlnDN000301nodeid_233269:0.0024047484462297423[568],(1013803:0.014347658494750566[569],(821817:0.01865533163422425[570],296002:0.007865644345131801[571])UQrYOlnDN000305nodeid_233120:0.011001464175209107[572])UQrYOlnDN000304nodeid_233045:0.026978683780436174[573])UQrYOlnDN000300o__Actinomycetales:0.002544583038476419[574],4439152:0.07913758078485991[575])UQrYOlnDN000299nodeid_230265:0.013595500901185593[576],(((((926007:0.0029693833817605623[577],930350:0.003986388905180624[578])UQrYOlnDN000310nodeid_238313:0.04429792556679149[579],976604:0.04509843952843254[580])UQrYOlnDN000309nodeid_238139:0.019022724284317144[581],(826135:0.00970634592980633[582],(1724941:0.10318181238895[583],4304057:3.00000150008727e-06[584])UQrYOlnDN000312nodeid_239193:0.011327364219152349[585])UQrYOlnDN000311nodeid_239111:0.014470702766750485[586])UQrYOlnDN000308nodeid_238136:0.020788359032965713[587],(448465:0.021500514582961813[588],932132:0.027725082333980744[589])UQrYOlnDN000313nodeid_241578:0.07813810181822545[590])UQrYOlnDN000307nodeid_238131:0.03567479324791531[591],(522973:0.07338801699331488[592],325253:0.04067045611555088[593])UQrYOlnDN000314nodeid_243333:0.06865078995279203[594])UQrYOlnDN000306nodeid_238105:0.013884001053176321[595])UQrYOlnDN000298nodeid_230091:0.007000718431508274[596],((711043:0.04434611143292306[597],264463:0.0810936864335787[598])UQrYOlnDN000316nodeid_246454:0.006170362560038824[599],1132029:0.08438256494802938[600])UQrYOlnDN000315nodeid_245158:0.014399211679054415[601])UQrYOlnDN000297nodeid_230090:0.0026184044258968104[602])UQrYOlnDN000286nodeid_226310:0.01322573144990359[603],792820:0.033555344509982224[604])UQrYOlnDN000285nodeid_226306:0.05918546256762479[605])UQrYOlnDN000283nodeid_223565:0.01707581320956183[606])UQrYOlnDN000281nodeid_222599:0.013187058826826126[607],((356779:0.05230713480107721[608],796966:0.02113098416706681[609])UQrYOlnDN000318nodeid_250831:0.07329083613059288[610],1027924:0.15568372761106836[611])UQrYOlnDN000317c__Thermoleophilia:0.016812243577037846[612])UQrYOlnDN000280nodeid_222598:0.08647158891470223[613],(241728:0.2878519524129912[614],13785:0.15486132215780218[615])UQrYOlnDN000319nodeid_253027:0.027834446782677442[616])UQrYOlnDN000279nodeid_222574:0.00595727102721055[617],(4311457:0.2763295682813213[618],259198:0.22606608225865588[619])UQrYOlnDN000320nodeid_254743:0.08502298140785038[620])UQrYOlnDN000278nodeid_222573:0.019745659813929155[621],((((((4430602:0.06499575647568047[622],1030543:0.14801802749278672[623])UQrYOlnDN000326nodeid_256842:0.03598951613011833[624],(3772086:0.07044496183107644[625],583343:0.03641911599837647[626])UQrYOlnDN000327nodeid_257400:0.07950880689667064[627])UQrYOlnDN000325nodeid_256669:0.05544062978508946[628],278452:0.12948162873334973[629])UQrYOlnDN000324nodeid_256289:0.034493434231303424[630],218719:0.333780535215924[631])UQrYOlnDN000323nodeid_256264:0.13353541432291835[632],((3599374:0.18890446691010745[633],249547:0.16284055794494617[634])UQrYOlnDN000329nodeid_262967:0.009626012906821508[635],(4325484:0.23158551924888815[636],1008551:0.23664861236676737[637])UQrYOlnDN000330nodeid_261637:0.05488771948736988[638])UQrYOlnDN000328c__Phycisphaerae:0.134763079924075[639])UQrYOlnDN000322nodeid_256258:0.023498482544931497[640],816759:0.27268369288332256[641])UQrYOlnDN000321p__Planctomycetes:0.14418399597308104[642])UQrYOlnDN000277nodeid_222571:0.011081495491701414[643],((((824617:0.16522733484584082[644],(4346429:0.10637257389408622[645],3576141:0.201515162635684[646])UQrYOlnDN000335nodeid_276534:0.11239054296251234[647])UQrYOlnDN000334nodeid_275506:0.006507898268485016[648],((544465:0.10939367007471608[649],221334:0.08355968008387245[650])UQrYOlnDN000337c___Spartobacteria___o___Chthoniobacterales___f___Chthoniobacteraceae_:0.010045671199120962[651],(562639:0.11846203809681298[652],1601703:0.09281715826521464[653])UQrYOlnDN000338nodeid_277622:0.1416074066210923[654])UQrYOlnDN000336nodeid_277589:0.053082358582264004[655])UQrYOlnDN000333nodeid_275505:0.10317820939313704[656],(272627:0.08361820870858529[657],2203170:0.08577478830568278[658])UQrYOlnDN000339nodeid_280641:0.2614594688427945[659])UQrYOlnDN000332nodeid_275498:0.040887569236779525[660],(((((354228:0.07877438292505898[661],((1114553:0.2808294811563355[662],(4440902:0.042263107310599825[663],2313587:0.08277614876354097[664])UQrYOlnDN000347f__SHA_31:0.05604922191787143[665])UQrYOlnDN000346o__SBR1031:0.012287276455992197[666],1142858:0.2040076943912523[667])UQrYOlnDN000345nodeid_269549:0.02489772733716749[668])UQrYOlnDN000344nodeid_269152:0.016863901446383223[669],((4313640:0.06304211730672613[670],3843797:0.20662866373219962[671])UQrYOlnDN000349nodeid_266104:0.028947557263211694[672],(4324260:0.12154463681320538[673],1132368:0.10488533154128914[674])UQrYOlnDN000350nodeid_267472:0.06208302770996778[675])UQrYOlnDN000348nodeid_266079:0.01618312107756399[676])UQrYOlnDN000343nodeid_266076:0.022194940778498585[677],(558101:0.07072017626157626[678],(169619:0.05100463412610862[679],65433:0.12268213223217607[680])UQrYOlnDN000352nodeid_271087:0.026789990557432673[681])UQrYOlnDN000351o__SHA_20:0.017239247828099234[682])UQrYOlnDN000342nodeid_265569:0.02874826701366531[683],(4156151:0.12227935192978441[684],159429:0.07205528393196532[685])UQrYOlnDN000353o__Chloroflexales:0.19656619638116046[686])UQrYOlnDN000341p__Chloroflexi:0.013784455816882169[687],((((534610:0.06954143569679133[688],803483:0.040957258226995155[689])UQrYOlnDN000357nodeid_272468:0.11669111900537203[690],4329303:0.13166006682864814[691])UQrYOlnDN000356nodeid_272154:0.011322807466046952[692],(518417:0.09911037538387787[693],213308:0.050618837966446666[694])UQrYOlnDN000358o__JG30_KF_CM45:0.15953277850838474[695])UQrYOlnDN000355p__Chloroflexi:0.011106007962038127[696],4393618:0.26656986691943263[697])UQrYOlnDN000354nodeid_271753:0.01133257290432826[698])UQrYOlnDN000340nodeid_265497:0.08851614761386747[699])UQrYOlnDN000331nodeid_265492:0.017755133620034967[700])UQrYOlnDN000276nodeid_222570:0.006998707522357956[701])UQrYOlnDN000275nodeid_221898:0.01241830337799565[702],(827054:0.40115107863897737[703],791815:0.15252619372321122[704])UQrYOlnDN000359nodeid_221359:0.009708262020698813[705])UQrYOlnDN000274nodeid_221242:0.014336946756296147[706])UQrYOlnDN000231nodeid_194076:0.005237077006583746[707],(((((((((4321798:0.06977418912199228[708],166132:0.03277546343926908[709])UQrYOlnDN000368nodeid_284627:0.09264599330510931[710],(((((((111121:0.028874633647677155[711],(1111213:0.01575803395152464[712],276903:0.09025822199490852[713])UQrYOlnDN000376nodeid_286881:0.01709839714927999[714])UQrYOlnDN000375nodeid_286733:0.0017702879048122641[715],4314398:0.013493759775254638[716])UQrYOlnDN000374nodeid_286732:0.003974677682013571[717],4365717:0.02532585008742449[718])UQrYOlnDN000373nodeid_285976:0.0009284694868468012[719],(1082215:0.0025511982025570013[720],(173447:0.022819211275494227[721],(((870395:0.009385259227991006[722],953986:0.015862168746081744[723])UQrYOlnDN000381nodeid_291942:0.0022610786795973174[724],911045:0.007421273659448277[725])UQrYOlnDN000380nodeid_291860:1.00000050002909e-06[726],(910657:0.011929917716405667[727],1013472:0.005950162611201926[728])UQrYOlnDN000382nodeid_293351:0.0015527054475715856[729])UQrYOlnDN000379nodeid_291859:0.004630559338787121[730])UQrYOlnDN000378nodeid_291025:0.0007725497788309613[731])UQrYOlnDN000377nodeid_291021:0.08514158009722819[732])UQrYOlnDN000372nodeid_285973:0.0035808022663135013[733],657577:0.029129784257782475[734])UQrYOlnDN000371nodeid_285821:0.037536602345354074[735],(2686629:0.010612775623597547[736],336248:0.008147132995937115[737])UQrYOlnDN000383nodeid_297526:0.04401845277208136[738])UQrYOlnDN000370nodeid_284865:0.0025821787215626014[739],(664827:0.06693324926682997[740],(4452486:0.09296285237117648[741],1130770:0.07736015931521244[742])UQrYOlnDN000385nodeid_299361:0.026250421369697487[743])UQrYOlnDN000384o__Bacillales:0.006917279495464201[744])UQrYOlnDN000369nodeid_284864:0.03306235266487626[745])UQrYOlnDN000367p__Firmicutes__c__Bacilli:0.010379005496025192[746],((152220:0.11445265171043582[747],4308127:0.2564415451097297[748])UQrYOlnDN000387nodeid_301930:0.01570735704815775[749],(((298344:0.023680946399561476[750],4339160:0.04855975896532667[751])UQrYOlnDN000390nodeid_307540:0.011480221539685692[752],((4337142:0.015279381718904035[753],1054176:0.00450771441042299[754])UQrYOlnDN000392nodeid_308598:0.011480281763190324[755],(519493:0.011358964169324883[756],((863124:0.02055225899689723[757],853821:0.005140045594002189[758])UQrYOlnDN000395nodeid_309452:5.00000250014545e-06[759],3384042:0.003941402034418152[760])UQrYOlnDN000394nodeid_309438:0.016195551944981994[761])UQrYOlnDN000393nodeid_308959:0.006420459220035867[762])UQrYOlnDN000391nodeid_308502:0.11627786637280188[763])UQrYOlnDN000389nodeid_307521:0.06399187179341868[764],966539:0.09189220708459192[765])UQrYOlnDN000388p__Firmicutes__c__Bacilli:0.01574822848424505[766])UQrYOlnDN000386nodeid_301929:0.04925451686908404[767])UQrYOlnDN000366nodeid_284336:0.011364674205169007[768],625275:0.08947020045183482[769])UQrYOlnDN000365nodeid_284130:0.042628410860939[770],((4374888:0.15867210948713545[771],2494386:0.0723954176011557[772])UQrYOlnDN000397nodeid_315979:0.045180907279662307[773],4477488:0.09667846541829464[774])UQrYOlnDN000396o__Thermoanaerobacterales:0.03508447020532457[775])UQrYOlnDN000364nodeid_284126:0.0032725395043514804[776],(3694342:0.09161676916080379[777],(((((19304:0.06642952116683717[778],(890678:0.03858259340567133[779],1024637:0.028310923726193385[780])UQrYOlnDN000404nodeid_321248:0.21834162880334268[781])UQrYOlnDN000403nodeid_320633:0.0493006917256686[782],((4336569:0.07953431531264618[783],1125811:0.08514269730805998[784])UQrYOlnDN000406nodeid_324225:0.008376516186800659[785],109624:0.22135018736175213[786])UQrYOlnDN000405nodeid_322957:0.06533719132363613[787])UQrYOlnDN000402f__Clostridiaceae:0.048329245401992835[788],4423776:0.1669048192554618[789])UQrYOlnDN000401nodeid_319856:0.010672100991138422[790],196592:0.23125881802288756[791])UQrYOlnDN000400nodeid_319855:0.02009149523016457[792],((((((186876:0.10437695216706608[793],(438128:0.11423894753256884[794],(((4477878:0.017368402768704695[795],1110988:0.05030929435426334[796])UQrYOlnDN000416nodeid_337936:0.008025598702292315[797],(4401548:0.060487561492825484[798],189652:0.028502064733775825[799])UQrYOlnDN000417nodeid_338207:0.008842255258695642[800])UQrYOlnDN000415nodeid_337935:0.01711389004499108[801],215193:0.12235086254390966[802])UQrYOlnDN000414nodeid_337932:0.05838548411069256[803])UQrYOlnDN000413nodeid_337357:0.03061154852609574[804])UQrYOlnDN000412nodeid_336466:0.01267717965070286[805],((((((3691146:0.03526550606530349[806],(347015:0.06865816359777459[807],181193:0.07477004748212164[808])UQrYOlnDN000424nodeid_352885:0.01099261236436741[809])UQrYOlnDN000423nodeid_352625:0.005854705133447859[810],(((4396297:0.037935554415016455[811],845273:0.039992263329643354[812])UQrYOlnDN000427nodeid_355230:0.0012666842425296937[813],4115285:0.040138168429353624[814])UQrYOlnDN000426nodeid_353958:0.001598892417978356[815],4270208:0.05841248746392777[816])UQrYOlnDN000425nodeid_353422:0.006566233675378826[817])UQrYOlnDN000422nodeid_352623:0.006924347484982536[818],(4300305:0.10543218576578615[819],328972:0.05721009665860317[820])UQrYOlnDN000428nodeid_355602:0.001502760910441911[821])UQrYOlnDN000421c__Clostridia__o__Clostridiales__f__Lachnospiraceae:0.0035210659047694983[822],((((((311637:0.09287459097226283[823],301361:0.1503454478364625[824])UQrYOlnDN000434nodeid_358790:0.0610851217742298[825],967765:0.1494882811786502[826])UQrYOlnDN000433c__Clostridia__o__Clostridiales:0.0006446879400051927[827],((((194297:0.20621082289731485[828],382124:0.2140483055320737[829])UQrYOlnDN000438f__Ruminococcaceae__g__Ruminococcus:0.009813424619424624[830],((((3261136:0.009531713580903258[831],((322847:0.10470399361249974[832],169629:0.03026948679232618[833])UQrYOlnDN000444nodeid_372066:0.009081113802971611[834],167430:0.04991286192224382[835])UQrYOlnDN000443nodeid_372065:0.039878015599904955[836])UQrYOlnDN000442nodeid_370964:0.1306456939502136[837],((3805518:0.034839979255546[838],3861782:0.028637357622663843[839])UQrYOlnDN000446nodeid_373430:0.13962953555438623[840],(1144996:0.0943849826279351[841],708285:0.18973576967941316[842])UQrYOlnDN000447nodeid_373623:0.04683677084559271[843])UQrYOlnDN000445nodeid_373315:0.032768341276510855[844])UQrYOlnDN000441f__Clostridiaceae:0.00971196309736972[845],(253542:0.2110313565559723[846],589931:0.10472300890033504[847])UQrYOlnDN000448nodeid_368715:0.14318380382196438[848])UQrYOlnDN000440nodeid_368126:0.012189401051399637[849],(((315555:0.08476602993546001[850],552448:0.05168329861574225[851])UQrYOlnDN000451nodeid_362905:0.15200940378749328[852],(4460784:0.14878096171630092[853],526225:0.1508868489528928[854])UQrYOlnDN000452g__Oscillospira:0.0339732259813042[855])UQrYOlnDN000450nodeid_362444:0.027644202532016604[856],(312458:0.01901197701090574[857],4359039:0.009516375636767313[858])UQrYOlnDN000453nodeid_366934:0.2094214809891058[859])UQrYOlnDN000449nodeid_362381:0.007872254143825955[860])UQrYOlnDN000439nodeid_362366:0.01547460244764585[861])UQrYOlnDN000437nodeid_360483:0.020675999433742653[862],(355615:0.04338527473256782[863],345301:0.07165174682245129[864])UQrYOlnDN000454nodeid_375413:0.015016575937655686[865])UQrYOlnDN000436c__Clostridia__o__Clostridiales:0.002415188592047982[866],(((277395:0.008721690503215262[867],275658:0.008019206704799256[868])UQrYOlnDN000457nodeid_376097:0.24537373538277052[869],297845:0.21687933970420478[870])UQrYOlnDN000456c__Erysipelotrichi:0.10211936804517269[871],(((922151:0.018420842359568392[872],502919:0.028046127148728624[873])UQrYOlnDN000460g__Selenomonas:0.06699457860621098[874],4397688:0.04404560235558964[875])UQrYOlnDN000459nodeid_378350:0.012871733516959472[876],2679736:0.18693967832971328[877])UQrYOlnDN000458nodeid_378349:0.2632900986306359[878])UQrYOlnDN000455nodeid_375682:0.020365679824510118[879])UQrYOlnDN000435nodeid_360410:0.01892380946705899[880])UQrYOlnDN000432nodeid_358763:0.009421003507448096[881],331413:0.09440157728085705[882])UQrYOlnDN000431nodeid_358732:1.00000050002909e-06[883],4445673:0.21575330005638482[884])UQrYOlnDN000430nodeid_358232:0.008253743433561687[885],(((1064925:0.043646437054468794[886],((259087:0.04919871858614254[887],194780:0.10667738946337874[888])UQrYOlnDN000465nodeid_385548:0.025237633213865254[889],(197443:0.008997083562201065[890],192396:0.008741916538401407[891])UQrYOlnDN000466nodeid_386304:0.053479424126728466[892])UQrYOlnDN000464nodeid_384935:0.003088010251931714[893])UQrYOlnDN000463nodeid_383082:0.011999693884459029[894],(((((180556:0.0966058341761994[895],(342468:0.03585991483494675[896],((177594:0.022548052738021518[897],4429302:0.012822757876453442[898])UQrYOlnDN000474nodeid_393636:0.018928688170883782[899],(197481:0.014365881977674154[900],364274:0.020714722820093092[901])UQrYOlnDN000475nodeid_394198:0.01924201730049186[902])UQrYOlnDN000473nodeid_393455:0.01121040325633466[903])UQrYOlnDN000472nodeid_391329:0.03351498052503932[904])UQrYOlnDN000471nodeid_390375:0.001548128555223214[905],(358483:0.03332494645712612[906],189548:0.03267823846393422[907])UQrYOlnDN000476nodeid_395105:0.019804892865485802[908])UQrYOlnDN000470nodeid_390374:0.007440873738319307[909],167727:0.07629214406824608[910])UQrYOlnDN000469nodeid_390373:0.007531383717440136[911],185097:0.044449145510823386[912])UQrYOlnDN000468nodeid_390363:0.003986692067426808[913],(((361371:0.0651857348230608[914],(4483379:0.010957942125497298[915],213810:0.017871577096033618[916])UQrYOlnDN000480nodeid_387980:0.030797314448154662[917])UQrYOlnDN000479nodeid_387163:0.024771613102506793[918],(270111:0.05356893499663251[919],261466:0.08833396772029806[920])UQrYOlnDN000481nodeid_389440:0.04299875162403084[921])UQrYOlnDN000478nodeid_387058:0.00831465396242834[922],291462:0.05297778399563395[923])UQrYOlnDN000477nodeid_386967:0.011841732494243022[924])UQrYOlnDN000467nodeid_386965:0.0046951504577844765[925])UQrYOlnDN000462nodeid_382409:0.002923511256401343[926],2078043:0.05679303816219637[927])UQrYOlnDN000461c__Clostridia__o__Clostridiales__f__Lachnospiraceae:0.005852272863488605[928])UQrYOlnDN000429nodeid_358231:1.00000050002909e-06[929])UQrYOlnDN000420nodeid_352621:0.0018248282606965166[930],(515464:0.08668579922063438[931],((191792:0.2703842144685553[932],297502:0.12499042662537072[933])UQrYOlnDN000484nodeid_348522:0.020559598497369106[934],(206151:0.041250799954051925[935],516191:0.043266557536276264[936])UQrYOlnDN000485nodeid_351196:0.02038063909404424[937])UQrYOlnDN000483nodeid_347771:0.008206937849245614[938])UQrYOlnDN000482nodeid_346761:0.008062185031853913[939])UQrYOlnDN000419nodeid_346691:0.003683397095187706[940],(((196830:0.06626705996240126[941],(230823:0.07771156625157852[942],271427:0.03112503214279133[943])UQrYOlnDN000489nodeid_341624:0.010493487564299946[944])UQrYOlnDN000488nodeid_341514:0.021864932233602398[945],((197790:0.11682934323300777[946],272806:0.1826016912256196[947])UQrYOlnDN000491nodeid_342843:0.01830302896844808[948],4361731:0.10158253301639122[949])UQrYOlnDN000490nodeid_342802:0.007872852227388493[950])UQrYOlnDN000487nodeid_341249:0.003812420275211804[951],229989:0.09615134953020364[952])UQrYOlnDN000486nodeid_341248:0.013109600599755605[953])UQrYOlnDN000418nodeid_340397:0.06398229144013574[954])UQrYOlnDN000411nodeid_336225:0.01349297560155089[955],(3720783:0.05687548592322624[956],272555:0.12095960882102484[957])UQrYOlnDN000492nodeid_335817:0.2813793223032973[958])UQrYOlnDN000410nodeid_335169:0.004436570609331216[959],535311:0.1713520223781646[960])UQrYOlnDN000409nodeid_335063:0.009151691262227021[961],354920:0.18868711702036697[962])UQrYOlnDN000408nodeid_334973:0.01843240548021557[963],((314053:0.0931394373279536[964],822387:0.11893232600660532[965])UQrYOlnDN000494f__Clostridiaceae__g__Clostridium:0.003645016547775259[966],((341746:0.0674621752830897[967],(790155:0.08109666164771155[968],188192:0.07265942603736453[969])UQrYOlnDN000497nodeid_329788:0.021264180078190885[970])UQrYOlnDN000496nodeid_327617:0.02386764010873489[971],(538302:0.2082367338789582[972],183633:0.2002490411475771[973])UQrYOlnDN000498nodeid_331840:0.023949212354058336[974])UQrYOlnDN000495nodeid_327611:0.01015446529725366[975])UQrYOlnDN000493nodeid_327602:0.026163877551990865[976])UQrYOlnDN000407nodeid_327139:0.03361342579100248[977])UQrYOlnDN000399nodeid_319853:0.03306235151081115[978])UQrYOlnDN000398p__Firmicutes:0.0067645402227419086[979])UQrYOlnDN000363nodeid_284125:0.019165971284648108[980],(585790:0.22488227265933988[981],649393:0.09172345358507905[982])UQrYOlnDN000499nodeid_283225:0.13776382693445122[983])UQrYOlnDN000362nodeid_283217:0.011514809984882362[984],4473295:0.42329310252759034[985])UQrYOlnDN000361nodeid_281391:0.021024528315903106[986],1866:0.20432324710773792[987])UQrYOlnDN000360nodeid_281253:0.027242465760221407[988])UQrYOlnDN000230nodeid_194075:0.011286416230032107[989])UQrYOlnDN000148nodeid_131905:0.024011936954825064[990])UQrYOlnDN000019nodeid_13549:0.02379218672494081[991],(1618938:0.18540637155803996[992],(1859509:0.055678798265249366[993],(((167334:0.11054986131410442[994],4436426:0.12300438632801486[995])UQrYOlnDN000504nodeid_399524:0.05765009419117677[996],4299648:0.12437059022243009[997])UQrYOlnDN000503nodeid_399479:0.0007723790586446585[998],(((959064:0.06343823785945688[999],4411706:0.05949480156523667[1000])UQrYOlnDN000507nodeid_404623:0.06424394867920576[1001],350661:0.08902296102741558[1002])UQrYOlnDN000506nodeid_404511:0.12368505224614107[1003],637459:0.0653289610868014[1004])UQrYOlnDN000505nodeid_402826:0.009112119966961336[1005])UQrYOlnDN000502nodeid_399478:0.03901730423248159[1006])UQrYOlnDN000501nodeid_399006:0.11421287842229258[1007])UQrYOlnDN000500p__Cyanobacteria:0.024809119440223206[1008])UQrYOlnDN000018nodeid_13548:0.06715938348281028[1009])UQrYOlnDN000015nodeid_12568:0.03703464253958397[1010])UQrYOlnDN000014nodeid_11636:0.01923806841353458[1011])UQrYOlnDN000012nodeid_10626:0.037639243316696915[1012])UQrYOlnDN000011nodeid_9998:0.0965499465590565[1013])UQrYOlnDN000001nodeid_0;", + "placements": [{ + "p": [[781, -24898.662, 0.40177065, 0.022466354, 0.096478306], + [780, -24898.957, 0.2992006, 0.028304012, 0.11486658], + [779, -24898.957, 0.29902875, 0.038573176, 0.11486842]], + "nm": [["testseqe", + 1]] + }, + { + "p": [[964, -25330.373, 0.28328982, 0.052007545, 0.15232158], + [805, -25330.59, 0.22800335, 0.000006190029, 0.19001018], + [804, -25330.59, 0.22790368, 0.030604076, 0.1900029], + [955, -25330.838, 0.177996, 0.000006588367, 0.19621426], + [823, -25332.365, 0.038650226, 0.044555224, 0.18255654], + [962, -25332.752, 0.02623141, 0.14301622, 0.16091308], + [932, -25333.133, 0.017925516, 0.17963046, 0.16220896]], + "nm": [["testseqa", + 1]] + }, + { + "p": [[967, -25336.166, 0.81720763, 0.000008235129, 0.22352734], + [804, -25338.336, 0.09330978, 0.018047476, 0.2054955], + [794, -25339.684, 0.024266021, 0.087570414, 0.19646433], + [965, -25339.695, 0.023959905, 0.071342826, 0.2269426], + [802, -25340.07, 0.016466064, 0.07623818, 0.21268782], + [962, -25340.195, 0.014542027, 0.15002388, 0.21349123], + [975, -25340.545, 0.010248571, 0.004942888, 0.22604735]], + "nm": [["testseqi", + 1]] + }, + { + "p": [[756, -25374.973, 0.9637653, 0.0000055463693, 0.008664635], + [761, -25379.564, 0.009759569, 0.016187644, 0.01309992], + [757, -25379.879, 0.0071310354, 0.0000050176413, 0.017295655], + [758, -25379.967, 0.0065307072, 0.000005019576, 0.017373659], + [760, -25379.975, 0.0064835623, 0.0000076980505, 0.017384922], + [759, -25379.998, 0.006329803, 0.0000025000013, 0.01740473]], + "nm": [["testseqc", + 1]] + }, + { + "p": [[795, -25287.547, 0.76562905, 0.0036086612, 0.02935211], + [796, -25289.215, 0.14446084, 0.04416296, 0.02090377], + [797, -25289.69, 0.089910105, 0.000007837499, 0.02483988]], + "nm": [["testseqd", + 1]] + }, + { + "p": [[414, -25326.35, 0.9521992, 0.12123759, 0.11371933], + [379, -25329.64, 0.035452154, 0.09661898, 0.15217614], + [377, -25330.695, 0.012348609, 0.13954082, 0.1661857]], + "nm": [["testseqh", + 1]] + }, + { + "p": [[458, -25315.588, 0.91818565, 0.07924193, 0.0701725], + [462, -25318.62, 0.04435069, 0.0167353, 0.092968106], + [461, -25318.787, 0.03746365, 0.022151958, 0.097728774]], + "nm": [["testseqj", + 1]] + }, + { + "p": [[765, -25280.664, 1, 0.038505234, 0.000006113515]], + "nm": [["testseqb", + 1]] + }, + { + "p": [[957, -25552.186, 1, 0.06003037, 0.032140907]], + "nm": [["testseqg", + 1]] + }, + { + "p": [[896, -25279.383, 1, 0.000008754862, 0.008639097]], + "nm": [["testseqf", + 1]] + }], + "metadata": { + "invocation": "SEPP-generated json file (sepp 2)." + }, + "version": 1, "fields": ["edge_num", + "likelihood", + "like_weight_ratio", + "distal_length", + "pendant_length"] +} \ No newline at end of file diff --git a/test/functionaltest/funcTest_q2-tiny_placement.tog.relabelled.tre b/test/functionaltest/funcTest_q2-tiny_placement.tog.relabelled.tre new file mode 100644 index 00000000..1ae1b575 --- /dev/null +++ b/test/functionaltest/funcTest_q2-tiny_placement.tog.relabelled.tre @@ -0,0 +1 @@ +((151811:0.206538,(((((710602:0.0910053,3089071:0.11125)'nodeid_806':0.00655885,2440443:0.071206)'0.715':0.1751,103219:0.372683)'nodeid_780':0.0119822,194137:0.222497)'nodeid_384':0.0352479,(2963554:0.258796,(1127869:0.057411,(2898544:0.0376455,780370:0.0520361)'nodeid_8761':0.0170354)'f__Cenarchaeaceae':0.356576)'nodeid_6411':0.0567846)'nodeid_381':0.0383529)'k__Archaea':0.347385,(166691:0.32459,((4178573:0.36344,4477350:0.420524)'nodeid_10635':0.0459182,(3181267:0.574755,((819809:0.173123,(4370980:0.0298255,4303043:0.0637499)'nodeid_13268':0.129274)'nodeid_12597':0.168704,((((((((4435515:0.291554,(262181:0.0338584,323318:0.0679074)'nodeid_118854':0.112591)'nodeid_117355':0.0152688,(667055:0.20608,((((219387:0.20578,((4473462:0.0933422,((159572:0.0233109,168400:0.0209657)'nodeid_127392':0.0481121,258814:0.100963)'nodeid_127204':0.110186)'nodeid_127160':0.00754436,(79653:0.0707222,73433:0.0576013)'f__Nannocystaceae':0.139394)'o__Myxococcales':0.012821)'nodeid_126247':0.0152428,4331243:0.147426)'nodeid_126246':0.0136182,3825887:0.123145)'nodeid_126235':0.00742193,((231749:0.153198,(235202:0.116004,(534419:0.0825685,537118:0.044481)'nodeid_125606':0.0530977)'nodeid_123291':0.025817)'nodeid_120848':0.00324479,(652375:0.0458099,77432:0.0510762)'nodeid_120331':0.0584302)'nodeid_120228':0.020403)'nodeid_120015':0.0291574)'nodeid_119160':0.00226595)'nodeid_117354':0.0153247,265578:0.300871)'p__Proteobacteria; c__Deltaproteobacteria':0.0164339,(664993:0.0955226,249933:0.124645)'nodeid_130736':0.0348227)'nodeid_117038':0.00575855,((((((((((((((226299:0.028946,112159:0.016239)'nodeid_47995':0.0208409,(237915:0.00478872,3290369:0.00962847)'nodeid_50022':0.015846)'g__Pseudomonas':0.0971597,150972:0.104132)'nodeid_46622':0.00809786,379603:0.140457)'nodeid_44720':0.0058028,1041895:0.0750962)'nodeid_44490':0.00184644,((4456245:0.0566395,805300:0.0494857)'f__Halomonadaceae':0.023581,4458382:0.0908337)'o__Oceanospirillales':0.00621288)'nodeid_44489':0.00240435,((235556:0.105778,((((((((111052:0.000780963,895077:0.000866213)'nodeid_58307':0.015674,4482972:0.0218517)'nodeid_58280':0.00821141,222814:0.0231917)'nodeid_58273':0.00573404,4453457:0.0496447)'nodeid_57465':0.00579358,108732:0.044004)'nodeid_57021':0.0944713,(4099203:0.0365833,((667818:0.00237347,4397048:0.0128884)'nodeid_62962':0.0188862,(1085151:0.00729126,(4368600:0.0400683,877038:0.00318706)'nodeid_65005':0.00315289)'nodeid_63748':0.00672018)'nodeid_62432':0.0709173)'nodeid_60207':0.0414728)'nodeid_56912':0.0172041,524222:0.151602)'nodeid_56911':0.0225215,(((93679:0.00317069,4337084:0.0140434)'nodeid_66824':0.00869146,4328035:0.0327819)'nodeid_66801':0.00649722,(827487:0.00318215,4460293:0.0176387)'nodeid_68720':0.0937956)'nodeid_66798':0.0744172)'nodeid_56909':0.0570341)'nodeid_55422':0.0250264,1137616:0.101429)'nodeid_54836':0.0439431)'nodeid_44488':0.00607913,(((560935:0.017057,94043:0.011704)'nodeid_70576':0.00155883,2660003:0.0381897)'nodeid_70574':0.0945495,8297:0.0984787)'nodeid_70379':0.0547464)'nodeid_44487':0.0190818,(579424:0.125147,833898:0.227585)'nodeid_73302':0.0105964)'nodeid_44486':0.00471344,((270104:0.0678553,1111951:0.0807636)'nodeid_77078':0.00413721,(817082:0.0334542,263758:0.0513133)'nodeid_78388':0.0190612)'nodeid_77077':0.00542469)'nodeid_44485':0.00626851,(((918237:0.130791,542561:0.0585139)'nodeid_79872':0.00835995,4327924:0.111651)'nodeid_79871':0.0359132,845691:0.162914)'nodeid_79054':0.00354442)'nodeid_44484':0.00264423,73060:0.0717114)'c__Gammaproteobacteria':0.0061246,((4288303:0.0660367,941498:0.0513855)'nodeid_19793':0.0676584,((((712440:0.0225061,2026695:0.0156817)'nodeid_23153':0.0280499,74685:0.0430182)'nodeid_22985':0.00573385,108777:0.0361292)'nodeid_22497':0.0895696,(((((((832355:0.0494095,189163:0.114816)'nodeid_31749':0.00319669,(((111512:0.0295664,792198:0.00538593)'nodeid_34041':0.0248934,(322045:0.0701234,7346:0.0235965)'nodeid_34366':0.0158847)'f__Oxalobacteraceae':0.0166435,(547828:0.0292508,(171851:0.0118993,4393104:3e-06)'nodeid_37473':0.0246891)'nodeid_36709':0.0392699)'nodeid_33657':0.00661792)'nodeid_31748':0.00908299,(4298880:0.00510993,4437353:0.094812)'nodeid_30457':0.15188)'nodeid_30126':0.00910453,((342262:0.0208936,749476:0.00733946)'nodeid_38450':0.0535377,360426:0.0760111)'nodeid_38073':0.00206349)'nodeid_30125':0.00550962,742152:0.0920649)'nodeid_26161':0.00383302,4425801:0.156506)'nodeid_26160':0.0059745,(578790:0.0338762,208009:0.0648746)'nodeid_42528':0.0299485)'nodeid_26159':0.0220975)'nodeid_21962':0.0637982)'nodeid_18975':0.0325541)'nodeid_17908':0.0707651,((((159606:0.134627,((832001:0.241777,(138221:0.0859362,4425:0.109449)'nodeid_84780':0.145731)'nodeid_84015':0.00459908,(775673:0.157238,1045015:0.0671968)'o__Rhodospirillales; f__Rhodospirillaceae':0.0104942)'nodeid_84014':0.0135839)'nodeid_83315':0.0114972,((318128:0.113461,(1146004:0.179175,2912147:0.12737)'nodeid_88787':0.0324248)'nodeid_88458':0.0124534,((350253:0.12164,341634:0.0291666)'nodeid_91095':0.00890126,827048:0.0678927)'f__Pelagibacteraceae':0.242495)'nodeid_88457':0.0343609)'nodeid_83314':0.0234339,(4335822:0.100025,(690953:0.0417176,353933:0.0753987)'nodeid_96402':0.0909279)'nodeid_93849':0.0785172)'nodeid_83312':0.00665733,((211113:0.120943,(4418695:0.128199,168212:0.0617329)'nodeid_100214':0.145045)'nodeid_99335':0.0069656,(((((323927:0.0291673,(590731:0.0269904,(615557:0.0716935,79810:0.0691745)'nodeid_111951':0.0198256)'nodeid_111264':0.0255066)'nodeid_111155':0.0195928,3848077:0.0989255)'nodeid_110716':0.0836873,(364336:0.0669726,4446822:0.105241)'nodeid_114796':0.0700492)'nodeid_110349':0.104766,94143:0.132598)'nodeid_110054':0.00736504,((41463:0.0286302,4298100:0.0476012)'nodeid_101150':0.0501412,((4474263:0.0591748,(164464:0.0365898,(3420269:0.0108564,4434021:0.00687388)'nodeid_104970':0.0282538)'f__Phyllobacteriaceae':0.0418483)'nodeid_102182':0.0107157,((582090:0.140525,226373:0.0496847)'nodeid_106645':0.0306607,280453:0.0965199)'nodeid_106018':0.0190795)'nodeid_102180':0.0103655)'nodeid_100792':0.0080381)'nodeid_100762':0.00567826)'nodeid_99334':0.018521)'nodeid_83311':0.0807202)'nodeid_17888':0.0262705)'nodeid_17886':0.00928291,(830011:0.15299,(307048:0.0492861,754705:0.0589693)'nodeid_16370':0.0633321)'nodeid_14316':0.233655)'nodeid_13550':0.00384029,(((4401161:0.0700067,876085:0.0975056)'nodeid_131927':0.15622,(((((53218:0.313999,(4348413:0.106082,281512:0.0769884)'nodeid_135823':0.0228479)'nodeid_133851':0.0338387,(((2450005:0.0645977,((889549:0.0346479,4440636:0.073203)'nodeid_138621':0.0140912,583688:0.0616239)'nodeid_138579':0.0200506)'nodeid_138107':0.00457892,1105324:0.15318)'nodeid_138106':0.167636,(3920690:0.116921,268688:0.0688766)'nodeid_141756':0.166328)'o__[Saprospirales]':0.0314186)'nodeid_133848':0.00898747,((((((((592429:0.152744,4470216:0.0974171)'nodeid_146568':0.0254886,(((((((295797:0.00971667,574176:0.0346339)'nodeid_149494':2e-06,2277614:0.0415741)'nodeid_149491':0.207603,196596:0.0237009)'nodeid_149203':1e-06,366744:0.0509642)'nodeid_148907':0.00094375,((3594388:0.0179075,((4439466:0.0128612,2855170:0.00162665)'nodeid_152361':0.00389133,3489863:0.0108466)'nodeid_152156':0.00918141)'nodeid_151472':0.0340091,4405368:0.0555725)'nodeid_151382':0.00783332)'nodeid_148906':0.110934,(((157371:0.110719,(((530242:0.0624002,548730:0.0748283)'nodeid_154690':0.0107193,((4404356:0.110039,(4331006:0.0737167,(((196481:0.0128978,198502:0.0292823)'nodeid_156474':1e-06,((122608:0.00495996,297113:0.00170918)'nodeid_156424':0.00168904,527203:0.0606549)'nodeid_156059':0.00379428)'nodeid_155860':0.0322213,4346760:0.0423796)'nodeid_155837':0.0112576)'nodeid_155535':0.0186107)'nodeid_154964':0.0223098,(299494:0.00535111,513664:0.0599682)'nodeid_157699':0.0646609)'nodeid_154962':0.00910491)'nodeid_154689':0.0287996,344036:0.142647)'nodeid_154683':0.00834558)'nodeid_154501':0.0229349,572825:0.0985043)'nodeid_154472':0.0544647,4340247:0.148599)'nodeid_154465':0.0200638)'nodeid_148784':0.092299,((((204144:0.0637275,(179343:0.0935176,378841:0.0421881)'nodeid_164395':0.0214337)'nodeid_164097':0.0031787,180397:0.0788288)'nodeid_163395':0.00661833,191994:0.057999)'nodeid_163393':0.00449701,(269673:0.0835711,196489:0.0871821)'nodeid_162741':0.0230901)'nodeid_162629':0.105453)'nodeid_148704':0.0206952)'nodeid_146565':0.0390357,1120939:0.180348)'nodeid_146563':0.0317403,4304667:0.20317)'nodeid_146561':0.018487,(3506243:0.112983,(1114566:0.0685388,1780471:0.133908)'nodeid_144343':0.0291915)'nodeid_143285':0.0626369)'nodeid_143221':0.0141305,156292:0.174265)'c__Bacteroidia; o__Bacteroidales':0.00555556,(((233682:0.0698975,613128:0.138962)'nodeid_171417':0.0291217,((539572:0.097553,((4376858:0.00169934,4473225:0.00104749)'nodeid_172715':0.109095,((2217350:0.0779868,(161450:0.102391,4046531:0.0360023)'nodeid_174130':0.0283256)'nodeid_173149':0.00355459,(20785:0.0409928,(4429121:0.0302147,705048:0.00929581)'nodeid_176121':0.0330037)'nodeid_175710':0.0714309)'nodeid_173148':0.0128093)'nodeid_172533':0.0213457)'nodeid_171804':0.0341311,(257175:0.0831011,4393789:0.103189)'f__[Weeksellaceae]':0.0513095)'nodeid_171789':0.0321768)'o__Flavobacteriales':0.0275852,(4405277:0.121238,testseqh:0.113719):0.157021)'nodeid_170792':0.00426421)'nodeid_142578':0.0274233,(536155:0.172827,(366394:0.0209751,17550:0.0983542)'nodeid_183760':0.113165)'nodeid_182110':0.019436)'nodeid_142576':0.0243658)'nodeid_133847':0.166786,(676041:0.195139,(817380:0.107091,650264:0.0768066)'o__Ignavibacteriales':0.0557286)'nodeid_185259':0.0337013)'nodeid_133636':0.0803224,(1547652:0.247646,(((325972:0.0966721,1813677:0.173697)'nodeid_188270':0.0367822,4320290:0.138108)'nodeid_188269':0.145022,((((661024:0.186607,4369491:0.230971)'nodeid_190751':0.0268785,3183138:0.265519)'nodeid_190749':0.0403295,1660700:0.119497)'nodeid_190704':0.0289031,260950:0.112261)'nodeid_190699':0.0330755)'nodeid_188061':0.0129886)'nodeid_187057':0.0176419)'nodeid_133147':0.0401252)'nodeid_131906':0.0110624,((((((((4341168:0.11546,4467342:0.209177)'nodeid_199630':0.0159392,((225818:0.0505807,3040801:0.0405807)'nodeid_200524':0.00554436,4424904:0.0276383)'g__Geobacter':0.0914386)'nodeid_199628':0.0376652,((163164:0.0792419,testseqj:0.0701725):0.0446244,(1989885:0.0863744,3525686:0.101911)'nodeid_202152':0.0221574)'f__Desulfovibrionaceae':0.130168)'nodeid_199625':0.0257689,(788072:0.23713,(3842048:0.127325,1109019:0.216793)'nodeid_204801':0.0837539)'nodeid_204243':0.0570542)'nodeid_199238':0.0116466,((((((4448087:0.0288261,1071854:0.00965022)'nodeid_206566':0.292281,((224768:0.261676,(544081:0.0423396,(935392:0.0512486,864369:0.0302314)'nodeid_209957':0.0495833)'nodeid_209046':0.124002)'nodeid_208309':0.0317335,((4307557:0.0178755,898983:0.0404284)'nodeid_211697':0.0201801,253054:0.0780228)'nodeid_210987':0.038272)'nodeid_208306':0.0360692)'nodeid_206117':0.0406726,142591:0.101021)'nodeid_206111':0.00781907,(((561393:0.0227802,((238873:0.0131755,580232:0.0195532)'nodeid_214608':0.00161775,4359350:0.0310269)'nodeid_214607':0.00593616)'nodeid_214599':0.0197355,(225798:0.0164117,593203:0.115954)'nodeid_215727':0.0398716)'nodeid_214595':0.0111811,590178:0.0327113)'nodeid_214559':0.114352)'nodeid_206110':0.033205,2592673:0.0856891)'nodeid_205859':0.0108605,(149184:0.0254596,1124077:0.0155654)'nodeid_219991':0.203019)'nodeid_205774':0.0397572)'nodeid_199237':0.009165,((((4399059:0.0502563,4340237:0.112485)'nodeid_196891':0.0106961,60167:0.102093)'nodeid_196647':0.00645077,((221332:0.05972,((217377:0.039835,580986:0.0476176)'nodeid_194841':0.0107103,533519:0.0666623)'nodeid_194836':0.0718392)'nodeid_194436':0.0538326,(2224797:0.083341,(114660:0.0493255,565720:0.130562)'nodeid_195882':0.0385941)'nodeid_195575':0.0178926)'g__Treponema':0.0805891)'nodeid_194295':0.064153,(1665650:0.15496,4404755:0.222908)'nodeid_198223':0.0869381)'nodeid_194249':0.0973578)'nodeid_194077':0.00357539,((304435:0.169181,(((((((1127826:0.112943,4307743:0.106166)'nodeid_222600':0.0114373,((154804:0.0689575,1101476:0.107051)'nodeid_223574':0.027998,(((((((238031:0.0168654,4388081:0.0234915)'nodeid_227264':0.012873,((1106211:0.00802125,((543962:0.00165078,733304:0.000821149)'nodeid_227930':1e-06,731897:0.00657431)'nodeid_227929':0.00338726)'nodeid_227797':0.0104545,(582591:0.00767697,4367303:0.00404186)'nodeid_228328':0.0145312)'nodeid_227759':0.0224978)'nodeid_226836':0.00160973,35160:0.0138219)'nodeid_226834':0.000797651,2956782:0.0119843)'nodeid_226833':0.0723489,575032:0.0557752)'o__Actinomycetales':0.00220653,(((((272974:0.0825465,(12542:0.0303294,(4394061:0.0164757,141582:0.0156873)'f__Promicromonosporaceae':0.0184135)'nodeid_235961':0.00841415)'nodeid_233269':0.00240475,(1013803:0.0143477,(821817:0.0186553,296002:0.00786564)'nodeid_233120':0.0110015)'nodeid_233045':0.0269787)'o__Actinomycetales':0.00254458,4439152:0.0791376)'nodeid_230265':0.0135955,(((((926007:0.00296938,930350:0.00398639)'nodeid_238313':0.0442979,976604:0.0450984)'nodeid_238139':0.0190227,(826135:0.00970635,(1724941:0.103182,4304057:3e-06)'nodeid_239193':0.0113274)'nodeid_239111':0.0144707)'nodeid_238136':0.0207884,(448465:0.0215005,932132:0.0277251)'nodeid_241578':0.0781381)'nodeid_238131':0.0356748,(522973:0.073388,325253:0.0406705)'nodeid_243333':0.0686508)'nodeid_238105':0.013884)'nodeid_230091':0.00700072,((711043:0.0443461,264463:0.0810937)'nodeid_246454':0.00617036,1132029:0.0843826)'nodeid_245158':0.0143992)'nodeid_230090':0.0026184)'nodeid_226310':0.0132257,792820:0.0335553)'nodeid_226306':0.0591855)'nodeid_223565':0.0170758)'nodeid_222599':0.0131871,((356779:0.0523071,796966:0.021131)'nodeid_250831':0.0732908,1027924:0.155684)'c__Thermoleophilia':0.0168122)'nodeid_222598':0.0864716,(241728:0.287852,13785:0.154861)'nodeid_253027':0.0278344)'nodeid_222574':0.00595727,(4311457:0.27633,259198:0.226066)'nodeid_254743':0.085023)'nodeid_222573':0.0197457,((((((4430602:0.0649958,1030543:0.148018)'nodeid_256842':0.0359895,(3772086:0.070445,583343:0.0364191)'nodeid_257400':0.0795088)'nodeid_256669':0.0554406,278452:0.129482)'nodeid_256289':0.0344934,218719:0.333781)'nodeid_256264':0.133535,((3599374:0.188904,249547:0.162841)'nodeid_262967':0.00962601,(4325484:0.231586,1008551:0.236649)'nodeid_261637':0.0548877)'c__Phycisphaerae':0.134763)'nodeid_256258':0.0234985,816759:0.272684)'p__Planctomycetes':0.144184)'nodeid_222571':0.0110815,((((824617:0.165227,(4346429:0.106373,3576141:0.201515)'nodeid_276534':0.112391)'nodeid_275506':0.0065079,((544465:0.109394,221334:0.0835597)'c__[Spartobacteria]; o__[Chthoniobacterales]; f__[Chthoniobacteraceae]':0.0100457,(562639:0.118462,1601703:0.0928172)'nodeid_277622':0.141607)'nodeid_277589':0.0530824)'nodeid_275505':0.103178,(272627:0.0836182,2203170:0.0857748)'nodeid_280641':0.261459)'nodeid_275498':0.0408876,(((((354228:0.0787744,((1114553:0.280829,(4440902:0.0422631,2313587:0.0827761)'f__SHA-31':0.0560492)'o__SBR1031':0.0122873,1142858:0.204008)'nodeid_269549':0.0248977)'nodeid_269152':0.0168639,((4313640:0.0630421,3843797:0.206629)'nodeid_266104':0.0289476,(4324260:0.121545,1132368:0.104885)'nodeid_267472':0.062083)'nodeid_266079':0.0161831)'nodeid_266076':0.0221949,(558101:0.0707202,(169619:0.0510046,65433:0.122682)'nodeid_271087':0.02679)'o__SHA-20':0.0172392)'nodeid_265569':0.0287483,(4156151:0.122279,159429:0.0720553)'o__Chloroflexales':0.196566)'p__Chloroflexi':0.0137845,((((534610:0.0695414,803483:0.0409573)'nodeid_272468':0.116691,4329303:0.13166)'nodeid_272154':0.0113228,(518417:0.0991104,213308:0.0506188)'o__JG30-KF-CM45':0.159533)'p__Chloroflexi':0.011106,4393618:0.26657)'nodeid_271753':0.0113326)'nodeid_265497':0.0885161)'nodeid_265492':0.0177551)'nodeid_222570':0.00699871)'nodeid_221898':0.0124183,(827054:0.401151,791815:0.152526)'nodeid_221359':0.00970826)'nodeid_221242':0.0143369)'nodeid_194076':0.00523708,(((((((((4321798:0.0697742,166132:0.0327755)'nodeid_284627':0.092646,(((((((111121:0.0288746,(1111213:0.015758,276903:0.0902582)'nodeid_286881':0.0170984)'nodeid_286733':0.00177029,4314398:0.0134938)'nodeid_286732':0.00397468,4365717:0.0253259)'nodeid_285976':0.000928469,(1082215:0.0025512,(173447:0.0228192,(((870395:0.00938526,953986:0.0158622)'nodeid_291942':0.00226108,911045:0.00742127)'nodeid_291860':1e-06,(910657:0.0119299,1013472:0.00595016)'nodeid_293351':0.00155271)'nodeid_291859':0.00463056)'nodeid_291025':0.00077255)'nodeid_291021':0.0851416)'nodeid_285973':0.0035808,657577:0.0291298)'nodeid_285821':0.0375366,(2686629:0.0106128,336248:0.00814713)'nodeid_297526':0.0440185)'nodeid_284865':0.00258218,(664827:0.0669332,(4452486:0.0929629,1130770:0.0773602)'nodeid_299361':0.0262504)'o__Bacillales':0.00691728)'nodeid_284864':0.0330624)'p__Firmicutes; c__Bacilli':0.010379,((152220:0.114453,4308127:0.256442)'nodeid_301930':0.0157074,(((298344:0.0236809,4339160:0.0485598)'nodeid_307540':0.0114802,((4337142:0.0152794,1054176:0.00450771)'nodeid_308598':0.0114803,((519493:5.54637e-06,testseqc:0.00866464):0.0113534,((863124:0.0205523,853821:0.00514005)'nodeid_309452':5e-06,3384042:0.0039414)'nodeid_309438':0.0161956)'nodeid_308959':0.00642046)'nodeid_308502':0.116278)'nodeid_307521':0.0639919,(966539:0.0385052,testseqb:6.11352e-06):0.053387)'p__Firmicutes; c__Bacilli':0.0157482)'nodeid_301929':0.0492545)'nodeid_284336':0.0113647,625275:0.0894702)'nodeid_284130':0.0426284,((4374888:0.158672,2494386:0.0723954)'nodeid_315979':0.0451809,4477488:0.0966785)'o__Thermoanaerobacterales':0.0350845)'nodeid_284126':0.00327254,(3694342:0.0916168,(((((19304:0.0664295,((890678:0.0385826,1024637:0.0283109)'nodeid_321248':0.0224664,testseqe:0.0964783):0.195875)'nodeid_320633':0.0493007,((4336569:0.0795343,1125811:0.0851427)'nodeid_324225':0.00837652,109624:0.22135)'nodeid_322957':0.0653372)'f__Clostridiaceae':0.0483292,4423776:0.166905)'nodeid_319856':0.0106721,196592:0.231259)'nodeid_319855':0.0200915,((((((186876:0.104377,(438128:0.114239,((((4477878:0.00360866,testseqd:0.0293521):0.0137597,1110988:0.0503093)'nodeid_337936':0.0080256,(4401548:0.0604876,189652:0.0285021)'nodeid_338207':0.00884226)'nodeid_337935':0.0171139,215193:0.122351)'nodeid_337932':0.0583855)'nodeid_337357':0.0306115)'nodeid_336466':0.0126772,((((((3691146:0.0352655,(347015:0.0686582,181193:0.07477)'nodeid_352885':0.0109926)'nodeid_352625':0.00585471,(((4396297:0.0379356,845273:0.0399923)'nodeid_355230':0.00126668,4115285:0.0401382)'nodeid_353958':0.00159889,4270208:0.0584125)'nodeid_353422':0.00656623)'nodeid_352623':0.00692435,(4300305:0.105432,328972:0.0572101)'nodeid_355602':0.00150276)'c__Clostridia; o__Clostridiales; f__Lachnospiraceae':0.00352107,((((((311637:0.0928746,301361:0.150345)'nodeid_358790':0.0610851,967765:0.149488)'c__Clostridia; o__Clostridiales':0.000644688,((((194297:0.206211,382124:0.214048)'f__Ruminococcaceae; g__Ruminococcus':0.00981342,((((3261136:0.00953171,((322847:0.104704,169629:0.0302695)'nodeid_372066':0.00908111,167430:0.0499129)'nodeid_372065':0.039878)'nodeid_370964':0.130646,((3805518:0.03484,3861782:0.0286374)'nodeid_373430':0.13963,(1144996:0.094385,708285:0.189736)'nodeid_373623':0.0468368)'nodeid_373315':0.0327683)'f__Clostridiaceae':0.00971196,(253542:0.211031,589931:0.104723)'nodeid_368715':0.143184)'nodeid_368126':0.0121894,(((315555:0.084766,552448:0.0516833)'nodeid_362905':0.152009,(4460784:0.148781,526225:0.150887)'g__Oscillospira':0.0339732)'nodeid_362444':0.0276442,(312458:0.019012,4359039:0.00951638)'nodeid_366934':0.209421)'nodeid_362381':0.00787225)'nodeid_362366':0.0154746)'nodeid_360483':0.020676,(355615:0.0433853,345301:0.0716517)'nodeid_375413':0.0150166)'c__Clostridia; o__Clostridiales':0.00241519,(((277395:0.00872169,275658:0.00801921)'nodeid_376097':0.245374,297845:0.216879)'c__Erysipelotrichi':0.102119,(((922151:0.0184208,502919:0.0280461)'g__Selenomonas':0.0669946,4397688:0.0440456)'nodeid_378350':0.0128717,2679736:0.18694)'nodeid_378349':0.26329)'nodeid_375682':0.0203657)'nodeid_360410':0.0189238)'nodeid_358763':0.009421,331413:0.0944016)'nodeid_358732':1e-06,4445673:0.215753)'nodeid_358232':0.00825374,(((1064925:0.0436464,((259087:0.0491987,194780:0.106677)'nodeid_385548':0.0252376,(197443:0.00899708,192396:0.00874192)'nodeid_386304':0.0534794)'nodeid_384935':0.00308801)'nodeid_383082':0.0119997,(((((180556:0.0966058,((342468:8.75486e-06,testseqf:0.0086391):0.0358512,((177594:0.0225481,4429302:0.0128228)'nodeid_393636':0.0189287,(197481:0.0143659,364274:0.0207147)'nodeid_394198':0.019242)'nodeid_393455':0.0112104)'nodeid_391329':0.033515)'nodeid_390375':0.00154813,(358483:0.0333249,189548:0.0326782)'nodeid_395105':0.0198049)'nodeid_390374':0.00744087,167727:0.0762921)'nodeid_390373':0.00753138,185097:0.0444491)'nodeid_390363':0.00398669,(((361371:0.0651857,(4483379:0.0109579,213810:0.0178716)'nodeid_387980':0.0307973)'nodeid_387163':0.0247716,(270111:0.0535689,261466:0.088334)'nodeid_389440':0.0429988)'nodeid_387058':0.00831465,291462:0.0529778)'nodeid_386967':0.0118417)'nodeid_386965':0.00469515)'nodeid_382409':0.00292351,2078043:0.056793)'c__Clostridia; o__Clostridiales; f__Lachnospiraceae':0.00585227)'nodeid_358231':1e-06)'nodeid_352621':0.00182483,(515464:0.0866858,((191792:0.270384,297502:0.12499)'nodeid_348522':0.0205596,(206151:0.0412508,516191:0.0432666)'nodeid_351196':0.0203806)'nodeid_347771':0.00820694)'nodeid_346761':0.00806219)'nodeid_346691':0.0036834,(((196830:0.0662671,(230823:0.0777116,271427:0.031125)'nodeid_341624':0.0104935)'nodeid_341514':0.0218649,((197790:0.116829,272806:0.182602)'nodeid_342843':0.018303,4361731:0.101583)'nodeid_342802':0.00787285)'nodeid_341249':0.00381242,229989:0.0961513)'nodeid_341248':0.0131096)'nodeid_340397':0.0639823)'nodeid_336225':0.013493,(3720783:0.0568755,(272555:0.0600304,testseqg:0.0321409):0.0609292)'nodeid_335817':0.281379)'nodeid_335169':0.00443657,535311:0.171352)'nodeid_335063':0.00915169,354920:0.188687)'nodeid_334973':0.0184324,(((314053:0.0520075,testseqa:0.152322):0.0411319,822387:0.118932)'f__Clostridiaceae; g__Clostridium':0.00364502,(((341746:8.23513e-06,testseqi:0.223527):0.0674539,(790155:0.0810967,188192:0.0726594)'nodeid_329788':0.0212642)'nodeid_327617':0.0238676,(538302:0.208237,183633:0.200249)'nodeid_331840':0.0239492)'nodeid_327611':0.0101545)'nodeid_327602':0.0261639)'nodeid_327139':0.0336134)'nodeid_319853':0.0330624)'p__Firmicutes':0.00676454)'nodeid_284125':0.019166,(585790:0.224882,649393:0.0917235)'nodeid_283225':0.137764)'nodeid_283217':0.0115148,4473295:0.423293)'nodeid_281391':0.0210245,1866:0.204323)'nodeid_281253':0.0272425)'nodeid_194075':0.0112864)'nodeid_131905':0.0240119)'nodeid_13549':0.0237922,(1618938:0.185406,(1859509:0.0556788,(((167334:0.11055,4436426:0.123004)'nodeid_399524':0.0576501,4299648:0.124371)'nodeid_399479':0.000772379,(((959064:0.0634382,4411706:0.0594948)'nodeid_404623':0.0642439,350661:0.089023)'nodeid_404511':0.123685,637459:0.065329)'nodeid_402826':0.00911212)'nodeid_399478':0.0390173)'nodeid_399006':0.114213)'p__Cyanobacteria':0.0248091)'nodeid_13548':0.0671594)'nodeid_12568':0.0370346)'nodeid_11636':0.0192381)'nodeid_10626':0.0376392)'nodeid_9998':0.0965499)UQrYOlnDN000001nodeid_0; diff --git a/tools/merge/Dockerfile b/tools/merge/Dockerfile new file mode 100644 index 00000000..2698981f --- /dev/null +++ b/tools/merge/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:20.04 + +RUN apt-get -y update +RUN apt-get -y install wget git + +# you need to register an account with Oracle to legally obtain this file from https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html +COPY jdk-6u45-linux-x64.bin /jdk-6u45-linux-x64.bin +RUN bash /jdk-6u45-linux-x64.bin + +RUN git clone https://github.com/smirarab/sepp.git + +# download and "install" ant in version 1.7.1 +RUN wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.tar.gz +RUN tar xzvf apache-ant-1.7.1-bin.tar.gz + +# ensure javac and ant can be found +ENV PATH=/apache-ant-1.7.1/bin:/jdk1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +# automatically compile and package seppJsonMerger.jar +CMD cd /sepp/tools/merge && ant compile && ant jar diff --git a/tools/merge/howToCompileJar.txt b/tools/merge/howToCompileJar.txt new file mode 100644 index 00000000..59721a45 --- /dev/null +++ b/tools/merge/howToCompileJar.txt @@ -0,0 +1,11 @@ +The seppJsonMerger.jar uses a quite old JDK (version 1.6.0_45 from Sun Microsystems). Compiling with current JDKs is not possible without major updates to the code base, also for dependencies. I therefore composed a docker file, based on Ubuntu 20.04 that installs this specific JDK with according "ant" (version 1.7.1) to go back in time and be able to compile slight updates of the tools/merge/src/phylolab/taxonamic/PPlacerJSONMerger.java sources. + +Unfortunately, the required JDK is not freely available. You need to register to Oracle to be able to download the file +jdk-6u45-linux-x64.bin from https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html + +Once you have this file, place it into the sub-directory tools/merge/ and follow the below instructions: + +- change into directory tools/merge: `cd tools/merge/` +- build docker container: `sudo docker build . -f Dockerfile -t sepp` +- run the docker container (it will automatically compile and package the seppJsonMerger.jar file): `sudo docker run -i -t sepp` +- Replace the above docker run command, in order to pull the compile result out of the container. By "mounting" your working directory to it, it will replace the sepp repository of the container with the one in your working directory, i.e. the seppJsonMerger.jar will be stored in your host system: `sudo docker run -v `pwd`/../../:/sepp -i -t sepp` \ No newline at end of file diff --git a/tools/merge/seppJsonMerger.jar b/tools/merge/seppJsonMerger.jar index b044a2d7..868e9813 100755 Binary files a/tools/merge/seppJsonMerger.jar and b/tools/merge/seppJsonMerger.jar differ diff --git a/tools/merge/src/phylolab/taxonamic/PPlacerJSONMerger.java b/tools/merge/src/phylolab/taxonamic/PPlacerJSONMerger.java index 6dd1e44d..3c2ff3af 100644 --- a/tools/merge/src/phylolab/taxonamic/PPlacerJSONMerger.java +++ b/tools/merge/src/phylolab/taxonamic/PPlacerJSONMerger.java @@ -162,23 +162,25 @@ private void relabelJson(String baseTree, JSONObject json, HashMap labelMap = mapTrees(jsonTree, baseTree); JSONArray placements = json.getJSONArray("placements"); + // Iterate through "field descriptions" to learn which column is holding + // what type of information about placements. + HashMap fieldPositions = new HashMap(); JSONArray fields = json.getJSONArray("fields"); - int locEdgeNum=0; - while (! fields.getString(locEdgeNum).equals("edge_num")) { - locEdgeNum++; - } + for (int i = 0; i < fields.size(); i++) { + fieldPositions.put(fields.getString(i), i); + } for (Iterator iterator = placements.iterator(); iterator.hasNext();) { JSONObject placement = iterator.next(); JSONArray p = placement.getJSONArray("p"); for (Iterator itp = p.iterator(); itp.hasNext();) { JSONArray pr = itp.next(); - String newLab = (String) labelMap.get(pr.getString(locEdgeNum)); - pr.set(locEdgeNum, new Integer(newLab)); + String newLab = (String) labelMap.get(pr.getString(fieldPositions.get("edge_num"))); + pr.set(fieldPositions.get("edge_num"), new Integer(newLab)); - if (pr.getDouble(3) > ((Double) mainEdgeLen.get(newLab)) + if (pr.getDouble(fieldPositions.get("distal_length")) > ((Double) mainEdgeLen.get(newLab)) .doubleValue()) - pr.set(3, Double.valueOf(((Double) mainEdgeLen.get(newLab)) + pr.set(fieldPositions.get("distal_length"), Double.valueOf(((Double) mainEdgeLen.get(newLab)) .doubleValue() * 0.99D)); } }