changeset 0:6ccbe18131a6 draft

planemo upload for repository https://github.com/HegemanLab/w4mkmeans_galaxy_wrapper/tree/master commit 299e5c7fdb0d6eb0773f3660009f6d63c2082a8d
author eschen42
date Tue, 08 Aug 2017 15:30:38 -0400
parents
children 02cafb660b72
files LICENSE README test-data/input_dataMatrix.tsv test-data/input_sampleMetadata.tsv test-data/input_variableMetadata.tsv w4m_general_purpose_routines.R w4mkmeans.xml w4mkmeans_routines.R w4mkmeans_wrapper.R
diffstat 9 files changed, 1336 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 Hegeman Lab
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,2 @@
+# w4mkmeans_galaxy_wrapper
+Planemo-based galaxy-tool-wrapper to wrap the stats::kmeans R package for the W4M dataMatrix
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input_dataMatrix.tsv	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,50 @@
+	Y11_1_RA5_01_213	Y2_1_RB1_01_218	Y4_1_RB3_01_220	Y12_1_RB4_01_221	Y1_1_RC1_01_228	Y14_1_RC6_01_234	Y1_2_RD1_01_239	Y14_2_RD2_01_240	Y4_2_RD3_01_241	Y11_2_RD7_01_246	Y2_2_RE4_01_253	Y12_2_RE6_01_255	Y14_3_GA2_01_260	Y2_3_GA4_01_264	Y1_3_GA6_01_266	Y4_3_GA7_01_267	Y12_3_GB1_01_270	Y11_3_GC3_01_283	Y14_4_GC7_01_287	Y11_4_GD8_01_299	Y2_4_GE1_01_300	Y12_4_GE2_01_304	Y1_4_GE3_01_305	Y4_4_GE7_01_309
+M118T229	95180.7747000001	283910.279545455	172325.198333334	174004.4176	163525.775666667	194233.618999999	142895.435454546	201401.5926	170930.6395	156553.24775	306528.603090909	254326.335272728	205081.407083333	276873.723636364	172071.209999999	275012.5056	211128.511	168167.790333333	209328.198222222	207513.570083333	258813.932083334	229502.711454545	149345.9256	314364.292
+M144T249	326771.492625001	512639.358421052	353343.595999999	237878.822999999	339952.473666668	283992.739200001	452071.323999999	315416.134166667	375718.035999999	239514.176	223116.3613	325831.656181819	397814.869333331	247409.932	413466.492	269627.942181817	234804.7824	251907.6144	339409.032	220480.5408	397906.873411764	264368.2988	318008.1856	495033.681090908
+M146T229	320441.164249999	651210.312000002	429015.22876923	417925.811454544	423543.081153847	506829.407999998	487752.597818182	514688.158400001	678459.668923076	396639.590750001	687614.607272727	579226.515333335	468291.098181819	569996.119583333	454626.169846155	622650.143272727	478350.217636364	318360.932923077	499228.386583333	403412.987666666	688496.831769231	496628.723000001	429311.235818182	838101.268454545
+M162T214	133545.175	32892.6798	104879.959	17067.3888000001	120440.1933	84904.1830000002	316369.630727272	96002.5383333335	96790.2144000002	116384.262555555	71055.4319999999	74141.2103999997	87130.2437142859	140641.192222222	208159.7504	163545.61125	60130.1777777777	89822.8736000002	42445.1565999999	71159.8343999999	48624.3143999998	40807.9287000001	133222.676	131059.152
+M163T243	3320290.99999999	3108104.81549999	3448471.301	2649747.70925	3185779.57349999	4484308.74208335	3190403.006	3461277.36441667	4739358.17723077	4988993.7978	4326959.19833332	4229307.74861538	4462765.79775	3372438.61476924	2588784.26284211	3698171.4	3981525.46875	5212799.26566667	3029175.68083334	4289629.53125	3360903.98691667	4298080.61900001	4601251.09542858	4758480.73153845
+M163T227	81353.0119999997	277375.471090909	177928.7208	209416.268	336317.096571428	313326.249599999	285323.6838	277747.251000001	220211.9752	412879.704545456	351173.200800001	268427.1216	347385.8924	222852.162727273	210297.4016	462226.94	243806.3265	458488.170555556	251712.213600001	447141.623636363	314488.332250001	324182.184700001	404536.579230769	192976.228727273
+M165T338	724868.499090913	877319.328000006	759359.831833331	705376.317666666	899233.227846154	800838.637500001	1185786.86941666	511026.113076926	770710.490692306	639682.233333337	880641.546416661	626728.389999999	774059.748583339	900734.519384618	1045032.61569231	893720.37375	746035.217769229	681933.343461539	642841.190916669	761710.223	716082.415999997	939827.908000004	725854.212461543	896462.216000001
+M165T317	1130886.05307692	1812034.41157895	1452469.27115385	1516359.36084616	1558264.69400001	1580774.47499999	2004662.84615385	986370.671999996	1315054.05833333	981890.410666671	1628334.48492307	1547053.44276924	1404010.065	1901171.5945	1782603.46833333	1720287.20733333	1345033.98538462	1169690.92984615	1239343.35369231	1370985.05716666	1245982.68483333	1579861.11230769	1297590.04075001	1816625.20433332
+M165T256	445597.162363634	752569.200000003	778348.672666668	421562.802000002	654155.689090909	752461.291363638	587120.120363634	374952.432888887	766559.366153846	308674.929090909	280340.442272728	638563.938833331	679017.778181819	662184.475666663	725624.464714288	671300.992250002	509622.759272728	312362.860222223	394442.381818181	520020.93	655205.484727275	437002.535999998	284057.6	744655.189923079
+M166T317	727736.923058826	1400721.315	1119526.94750001	1131558.16892308	1288062.01575001	1289170.92553845	1567321.55999999	732237.957454547	1228480.778	754151.018181823	1230562.42953846	1159439.86583333	1040231.05900001	1250927.11800001	1310860.23784615	1317991.92215385	1100686.37733333	882175.46666667	755843.530833333	1202600.54999999	971518.627857144	1264788.31227272	1018571.67838462	1403519.06461538
+M166T337	535493.003230769	537670.579090913	524305.310833333	529912.831583333	759048.122333334	545610.804692307	904553.357166664	382865.879538464	499657.654545453	495805.509692307	471345.377666664	612882.894999999	575737.238076923	703178.630000001	909569.733428573	673342.805214286	451606.921307691	485620.918181817	489490.224166666	596035.92969231	434305.194909089	536214.752333336	443352.580727274	684367.120800004
+M173T433	872624.526000007	290744.186333333	185146.705333334	238549.7025	344110.821333334	1217246.96576922	2927582.75066668	452283.894499998	887542.037999999	1536963.151	1458324.71238462	158696.136	475251.359999999	180843.85375	2969298.02159998	291831.223250001	152192.0155	3230876.27099999	1342571.92884615	739735.453461538	1390449.90133333	1344650.47892307	578792.587499996	283502.951846154
+M173T452	481770.02953846	40518.7860000002	59564.4563076922	61386.5370769228	663118.856615389	535227.494400001	2547608.22184616	658396.209375001	752411.497846154	2509512.19642856	2059157.31	29022.3323076923	147433.713461538	22037.9669230769	1780617.13873334	120787.385250001	149953.957846154	3586741.67571431	1506165.27238461	885117.421571427	63289.0830000001	97302.4615384615	141625.425000001	141565.155416667
+M177T293	239697.192272726	339318.7325	370127.929599997	231084.886500001	255961.721454544	214423.6237	498854.82272727	331869.634363636	504499.559615384	194262.091636363	544156.960999999	332599.338545456	284810.937272727	178276.830545456	330199.34625	426179.259545455	226910.991272727	423589.32	192593.767636365	345042.431916665	545204.371153847	262482.331363638	270070.200181818	223371.289090908
+M181T317	1551089.0625	2356309.305	2025537.14246155	1887074.3593077	2155321.67208335	2152321.62276921	2909601.36923077	1265406.45000001	1884556.09963636	1361593.83333334	2314263.59815384	2110263.61484999	1704036.63600001	2432050.96400001	2652011.9316923	2166045.35	1863221.40490909	1687583.66133333	1468726.8405	2044414.08484614	1821315.82476922	2339779.26600001	1405792.56475001	2629505.64283331
+M181T338	1116126.71033333	1494031.91454547	1412638.36842105	1209982.58892308	1700276.59666667	1366537.54254546	2098504.1676923	1000522.08692308	1088673.17716667	956757.138333338	1139215.23866667	1266012.807	1157141.29038461	1198396.16555555	1670662.16030769	1459273.90399999	1108390.23	1186064.86673684	1053115.41925	1574395.43007693	1130225.76774999	1502924.48633334	1253596.65083334	1716730.796
+M181T540	114170.844000001	335350.871384612	678801.634999995	671804.150399994	433469.59035714	449745.809857141	558749.474999996	56897.5679999995	141987.476666666	144845.450000001	411823.42666667	279864.209384616	153696.542999999	538483.697785716	298451.644333334	390774.94615385	415434.873181819	105634.627636365	241557.603000001	158620.688333334	623829.036	350240.913750001	390470.768615381	503592.612272725
+M181T418	255682.698727273	879465.336428571	482329.227692308	419421.054749998	396065.475	283473.841090909	476227.489615385	481487.012727272	761271.084583336	129740.343818181	1018552.73538461	566311.837000001	507793.690615385	739655.819166664	406504.944	438517.608363634	322220.895454544	222088.504750001	550516.247272728	181327.84275	950577.289428568	472788.937000001	542215.576454546	751088.927999996
+M182T338	155536.136818182	212202.352727274	135094.031999999	85727.9950000004	207023.581090908	164970.071999999	469331.443199999	105784.205636364	204499.402500001	119440.945636364	245130.584181819	141416.402909091	168036.721000001	237708.350833333	329938.23335	254357.114363634	132881.786181818	199335.354545454	124395.392727273	103726.982666667	183942.359999999	213144.038333334	152312.02709091	201404.438909092
+M183T540	280687.475727275	832699.580142853	1552579.7067857	1511037.63678572	876650.769230769	822939.503416667	1811796.6536154	70189.7188181812	234320.407666666	166921.699272727	1008223.6665	560995.786	257556.298999999	845500.623000003	595019.379230768	905334.287000005	1002068.62	182871.041000002	475329.952615386	239258.972333334	1041242.6880909	803959.900250001	804604.114166663	1169992.40307693
+M185T338	309406.989090909	451780.576000003	359851.400333333	284807.506500001	418843.482615385	331644.043636362	543210.523076922	162928.532909092	430153.190769229	293627.218909092	365682.489333334	379552.096	197093.358000001	322153.33625	447730.780000002	325509.835	264096.13825	318501.532153846	263034.079636363	378089.818615386	357671.724249998	510060.220666669	369954.747750001	478997.324076925
+M188T229	325321.985333333	443351.971555557	526763.314999999	378828.5728	476716.428500002	605968.773800003	358227.560727273	537857.529999999	768857.387416669	441628.511052632	596488.461454545	607736.636454547	510042.85675	662930.435400001	506126.361000002	851115.76	572905.509000001	355023.274545454	412989.0048	409181.408999999	505112.187272727	637321.695272728	423858.6048	813834.588181817
+M191T254	314634.607599998	312210.054545454	308189.933999999	294215.177	296653.692700001	403428.711363637	344007.5496	287995.152666667	288118.090909091	469033.15076923	323057.429200001	234701.600545454	273445.627499999	241536.635636363	227998.612545454	394610.645454545	401590.503599999	471296.085166669	326836.2318	513877.778916666	330136.616999999	428510.580833335	273669.479999999	315422.891999999
+M199T338	696654.470315789	708972.063636369	720076.446615387	679706.518142857	885637.992666668	828489.6045	1062776.81866666	294702.771454548	688895.165666663	582827.192727275	684462.754363638	637469.442909092	519383.82536364	628733.694999999	886987.506000005	964826.9325	502285.691454546	659655.506923077	482820.595416668	680035.250166666	523689.856363633	857377.497600009	534871.529090911	879507.338666668
+M208T219	162436.8645	84196.8900000001	143799.653	40224.9118	178578	88848.6920000002	317295.448	352397.916000001	158524.9524	373768.072727273	138565.6321	52200.8824999999	87220.286	57983.5098000002	246020.00409091	294838.355166667	165608.9666	202727.238	166314.7808	183508.88	45345.9375999998	85176.3998	347211.713624999	108620.3998
+M209T337	188957.965727273	408412.114500001	345848.508153847	278660.695500001	451043.323636364	309294.098181817	641444.855384614	247566.436727275	297270.490000001	386759.855	427439.697333334	270467.613000002	235202.157000001	404612.207999997	390277.789500002	383022.807999998	298555.566399999	247162.160333332	163777.7834	317261.655833333	251007.428666665	467324.382214288	361969.636153848	397527.172545457
+M211T540	505556.927999997	907561.727999991	1727843.54000001	2048632.02742856	1133045.67814285	1255842.11971428	2341966.23728573	214084.313999998	378955.242666666	365709.286153846	1335168.1425	767502.452307695	309575.766499999	1342551.82757143	759631.728923075	813443.068125004	1229671.66	257477.365384613	566221.977750001	436789.712333335	1539500.118	1210916.5875	918577.941666663	1145270.74366667
+M221T389	944378.429166668	1246735.56192308	2230688.74	447813.575500002	1842116.28999998	1310351.13692308	2986012.38030771	523734.415333331	2017382.01230768	1833838.42966665	787672.346153846	482161.056600002	1303129.64741667	899165.169684215	2210010.06961538	2503041.74600001	907344.106846154	959964.033538461	495675.872999998	993632.533333336	957898.894333333	959729.180307693	915090.909230767	1376157.295
+M222T621	38433.6460909086	43479.0963636365	40568.4536666668	148023.062333335	139884.13075	59951.0749090913	49010.4283333327	43235.8550000005	475484.401461536	20958.4208333333	133180.825416665	54471.6956363641	48230.2215000002	256738.391999997	117607.776	205588.245785716	84583.2905454557	42559.2900833333	6707633.32928564	37271.6553636361	74913.9344999992	44669.3768181811	85095.6058333341	128534.542500001
+M223T302	2979478.24246153	4228687.79938462	3871043.54874999	4447973.83084212	5616041.22599999	3129391.64323077	11460084.1353846	2565935.61900001	5404062.66315383	3234164.97223075	2861764.84107691	3527168.21961536	2597899.9668	3773274.53900002	5441142.88166666	3981019.64833332	3005957.56892308	3948688.86530769	1873767.18749999	3422925.85750001	5283613.7668421	2924211.98892307	3746307.47261537	4368849.85384613
+M223T251	655702.933545454	639264.348333333	604856.705636365	271222.943090908	280765.490727273	481104.925999999	929082.2996	515123.135999999	717283.072999998	399204.710272728	387418.294899998	282292.424999999	455368.1598	505073.335416666	380329.595666668	458796.407727274	341395.992000001	505783.627500001	263930.703750001	516219.482999999	488393.189333334	403836.629727273	408471.071399999	651448.746333334
+M223T584	1645690.58271428	3452196.60805554	4625584.9258666	2116437.67984615	3973839.62249997	1369454.00457143	7240635.27064284	1213867.92314286	3570765.41249998	1073848.39761539	1549722.87771427	1840699.8994286	1178652.00457143	1551158.48816665	1918725.45600001	2203474.75115385	1649724.54000002	1312886.90050001	481538.195833326	1098103.46156522	3379122.1385	1616669.57314285	691692.401857135	2506740.31714282
+M224T302	333486.798909091	509647.562666667	349834.778181818	469517.815636364	682724.658888888	413504.330909091	1679954.35569231	281159.640000001	849339.585769228	377144.799999998	210466.44	340686.5772	259709.7636	471722.683090907	599293.753666666	631540.997999999	489340.507333338	304464.886818181	207544.481454547	488294.054583335	502204.444875002	297023.185454547	398353.576727274	474397.270600002
+M224T687	92866.0084615382	471219.245538461	230546.999692307	293547.27446154	304002.384999997	229475.769999998	63017.0190769234	83194.4694166669	62633402.7274285	130312.074	502207.413333331	241089.818538461	187084.711999998	1029565.25233335	258992.930999997	916235.442999993	494548.092999997	94759.885833334	100986025.159	169719.36	323565.261333332	304620.739999998	201430.732461537	570145.173333336
+M227T338	1724068.77246154	2146834.564	1559923.7555	1676053.06615384	2538617.83092307	1934249.10849999	3328131.2676923	1139676.89590909	1944437.69999999	1302132.22772728	1854466.59627272	1441451.648	1236970.55181819	1870585.86958333	2623771.69833332	2002762.87145453	1667559.48074999	1684871.21615385	1474674.58425	2341232.04923078	1657207.82338461	2086383.87900001	1639781.51981819	2594903.26200002
+M228T1015	2293002.62999997	1401534.48461538	1607641.46571429	1520457.92799999	2125697.55076925	1757600.67307692	2759028.1745	2181315.36	2187718.78846153	2284593.90789473	2641559.59466665	1844340.61416667	2850425.38846152	2061002.25928569	1924765.77714287	1813602.4342857	1572096.60214286	2814677.17714283	2575106.44571426	2078775.48928572	2015586.40000001	3429532.08857141	2418660.88999998	1952747.53142856
+M229T1015	418917.335454547	163204.836363634	173677.360000002	267090.970833331	244282.969999999	200608.134545453	336866.566666665	257400.199999998	266119.544545456	442615.87466667	327720.029090909	252660.875000001	309365.040833335	344560.122500001	252079.805454545	460836.719999996	183110.105454544	408233.730000003	380762.459999995	311279.266666668	243038.487272727	318411.516666665	235092.845454541	202601.280000001
+M237T589	532865.734307696	226635.78133333	893815.050615387	117684.107666665	1230127.28142858	489271.364999995	1265523.30457144	1216228.17830767	4681682.64999998	1859733.21600001	2007864.38714287	155056.536153844	514583.381000006	292040.242999999	495335.002615389	3588519.19453846	507224.674666664	1056575.73	691304.085769224	1500803.19257143	101600.927083334	188361.358999999	2470535.57353847	654847.74642857
+M237T507	703355.073999997	550011.560000002	965632.896307698	915403.287272722	724118.229166667	386659.543	1636376.28627274	439630.258833334	1701594.46984615	524515.044428569	756075.009499999	871363.231857143	1399470.64800001	592975.050307695	1201274.85642856	1413997.779	1236487.384	506445.215357144	235979.998250002	369735.080727271	813289.588999999	700891.467166672	232961.595333333	861136.780000002
+M245T458	212603.254500001	271358.777666667	503074.115083331	44970.0660833335	131609.623090909	280617.921818184	773743.02866666	2334917.91500002	99518.4412499995	1016073.89891667	338413.903833333	55441.1083333332	220399.192666668	188045.522166668	310482.079249999	1530415.97333333	60800.495	1328460.313	1203955.012	778120.18475	119439.517666666	84655.04375	452362.827999998	1983764.26125001
+M246T512	146788.109999999	407066.762249999	633426.109	533463.833615383	1956593.89342856	165702.49815	120181.589833332	353320.577749999	642874.945142854	119179.247615384	99590.2682500005	758379.92076923	52436.3834166666	147546.816500001	294954.356923078	1609162.86685714	584555.170230768	170359.68353846	51917.8174615381	229662.194400003	211933.249999999	60445.8974166666	634458.219230768	100737.631500001
+M246T490	75256.4203333334	34590.6509090912	150163.741636363	34411.6830909094	74755.9112727271	103711.803166667	45954.4614545453	35152.0549999998	24719.0138181817	71617.0521818181	11311.7707272727	63841.0036363632	27595.3401818182	31920.2162500003	98890.9431818186	135013.109083333	47742.2570909091	27862.1563636363	36125.5670909093	62861.4490833336	20261.5554545455	22206.8672727271	73136.961545455	235336.321846153
+M247T433	4836161.03384619	1044492.01435715	951798.914285713	1424537.325	3787406.10666667	9887497.97830775	30488070.5421429	3441749.28	8499038.62799999	17388611.7989999	20526331.7456	1106400.24907692	3016821.11076925	1076241.15692308	35494666.1914286	2461932.47007691	1529940.06230769	38365027.5439287	18163699.0110001	9636879.56399995	10746013.236	18833821.2581429	4966775.00357139	1639208.92369231
+M247T452	5195507.70825003	369661.240285716	490699.764615384	436494.736999998	7412698.44276928	12170776.00775	34440641.0083078	5016978.85769229	8803133.89476923	27844873.7553571	36488147.0250003	506057.533076924	3027637.58846154	653070.954888888	18741495.8692308	552111.216461536	608777.786	42140646.1521431	16718584.3028572	10782086.7869286	551145.999000004	1022681.34276923	5037210.42115387	1667076.72061537
+M248T433	1132061.80500001	198989.691727273	242631.120000001	385296.71625	533583.706545452	1700043.58833333	7857412.81114289	725243.771999994	876190.803333335	4407848.9363846	2654510.973	270592.230999999	537803.304363637	294857.264307691	3564818.11400002	422974.383666665	327743.053846153	4390963.79250004	3575371.16159998	1580044.82999999	1915246.6695	3058478.66324999	981666.862307692	318243.068
+M251T497	1063427.48939999	865129.956142858	495022.085833334	488440.844615385	1129829.22	729926.57776923	1940279.044	1221215.83823077	736401.295384619	760975.140166666	273042.048615386	561850.154166666	1121087.55323077	721610.410153842	2108837.44992856	530356.117499997	934878.418692311	1242937.12242857	328026.640384617	1036373.51330769	718361.729800002	536136.268499999	1419632.77730769	2391210.31999999
+M257T1014	1566972.91999999	1893127.35857143	2151729.80857143	1146142.15333334	1970881.65571426	1402985.23499999	2812863.02500003	1880269.89428571	2527579.56705883	1461081.88615383	1791326.51	1478730.04615386	1823267.80461538	2234492.50153846	2529937.4047059	3148326.66461539	1868762.54266667	1421995.43307692	1517500.28	1805290.20999998	1642292.79999997	1683944.028	2379338.33999998	2487090.41230771
+M261T332	1930046.88	1414066.78508333	3490063.85953848	1047626.07700001	4522749.77961537	1593664.43775	5263343.87100001	2824216.94399999	1630093.88518182	4023852.75425	1510231.9848	1225828.25025001	2182490.55266666	1439822.48483333	8412854.24699993	3388651.75384613	991437.89583333	3719176.7	1188956.48025	2188517.84249999	1310827.23100001	1540731.44238462	1604828.60533333	2495122.53646153
+M263T323	1171838.28333332	1092287.00399999	1784798.51050001	230456.097454544	3162077.20061541	901831.286555555	2870354.68692308	3141344.14099999	795229.416727274	6039038.19407691	3336169.10769232	134580.004545455	1114891.535	919091.57784615	2457832.58563637	5292105.64400001	263116.985833333	6938595.35746151	4367916.80500001	3698151.2689231	268597.518	276733.936000001	1068827.01066667	9589520.52215389
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input_sampleMetadata.tsv	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,25 @@
+sampleMetadata	class	polarity	sampleType	injectionOrder	batch	tissue	hotelling_pval	missing_pval	decile_pval	PCA_XSCOR.p1	PCA_XSCOR.p2	class_PLSDA_XSCOR.p1	class_PLSDA_XSCOR.p2	class_PLSDA_predictions
+Y11_1_RA5_01_213	y1	positive	sample	213	1	2	0.0955561581467602	1	0.0306775551319138	-2.26882060894901	1.94958116765736	-3.05527623038242	2.32594165405491	y1
+Y2_1_RB1_01_218	y2	positive	sample	218	1	1	0.090775969547078	1	0.0334308308237932	-5.43790231069006	3.28509884002914	-5.09396184849057	3.13632363820691	y2
+Y4_1_RB3_01_220	y4	positive	sample	220	1	1	0.0922380872343134	1	0.0343065627030201	-5.96519534532645	2.76065569212045	-5.61271725241037	2.60836215684335	y4
+Y12_1_RB4_01_221	y2	positive	sample	221	1	2	0.0731025791938841	1	0.0335814402688999	-3.90074024447077	2.32567583717618	-4.06427508572245	2.47867307479093	y2
+Y1_1_RC1_01_228	y1	positive	sample	228	1	1	0.948646526283138	1	0.0150153992414774	-5.79172889541087	3.18442356006801	-5.71894211121787	3.14075608795096	y1
+Y14_1_RC6_01_234	y4	positive	sample	234	1	2	0.961424772615561	1	0.0889762542416943	-3.50543091786719	1.90332246047248	-3.60257250798236	1.95341548985651	y4
+Y1_2_RD1_01_239	y1	positive	sample	239	1	1	0.391486624975171	1	0.419632697534464	-10.0290510611276	3.46916578350898	-9.30301404180818	3.22425994348737	y1
+Y14_2_RD2_01_240	y4	positive	sample	240	1	2	0.334478686842038	1	0.471265236704114	-0.955577667004931	1.62643379077323	-1.17127923245195	1.73770179646644	y4
+Y4_2_RD3_01_241	y4	positive	sample	241	1	1	0.243979127543208	1	0.115904447650611	-6.29053214398527	3.48768497975009	-5.86080882473825	3.19393908077519	y4
+Y11_2_RD7_01_246	y1	positive	sample	246	1	2	0.639085015503201	1	0.496291025606805	-0.737703114796199	1.89206669195622	-1.33734677265265	2.19119862732508	y1
+Y2_2_RE4_01_253	y2	positive	sample	253	1	1	0.681339414372971	1	0.713644697663014	-4.43122798643441	2.59136016132011	-4.21959323228049	2.4942150403311	y2
+Y12_2_RE6_01_255	y2	positive	sample	255	1	2	0.581861317126264	1	0.446040669279691	-3.42333388673909	2.19844489197916	-3.40077262161465	2.21882800112511	y2
+Y14_3_GA2_01_260	y4	positive	sample	260	1	2	0.792323381194401	1	0.812319191661791	-2.61403564986014	1.9025507158402	-2.90132077481451	2.05744453719897	y4
+Y2_3_GA4_01_264	y2	positive	sample	264	1	1	0.278347988263537	1	0.668405316795454	-6.19672954480257	4.11371745717593	-5.72942704887795	3.94423530839635	y2
+Y1_3_GA6_01_266	y1	positive	sample	266	1	1	0.303133108610158	1	0.521065147801524	-5.91283168480956	2.57721868167528	-5.8128281040434	2.56623732055011	y1
+Y4_3_GA7_01_267	y4	positive	sample	267	1	1	0.204620420161485	1	0.53551459376182	-5.81862869528986	3.42191037440281	-5.37442797934098	3.22465790741629	y4
+Y12_3_GB1_01_270	y2	positive	sample	270	1	2	0.7747649633382	1	0.698966513767803	-3.0854085700971	1.67899209632345	-3.14572560562774	1.75648836353689	y2
+Y11_3_GC3_01_283	y1	positive	sample	283	1	2	0.918803505111851	1	0.396638581468035	-1.16946485386388	1.66851916844539	-1.7032576378218	1.94860768310552	y1
+Y14_4_GC7_01_287	y4	positive	sample	287	1	2	0.577273975934045	1	0.14919566995266	-1.24666389579168	2.84891525888206	-1.58652468539139	2.90364189714377	y4
+Y11_4_GD8_01_299	y1	positive	sample	299	1	2	0.31302025978985	1	0.426766355892969	-2.15936901108787	1.66989335813642	-2.66042240568943	1.95509478589954	y1
+Y2_4_GE1_01_300	y2	positive	sample	300	1	1	0.0338929937565918	1	0.419149865807458	-5.76080121045973	3.47845733452933	-5.39212267305567	3.34452446158071	y2
+Y12_4_GE2_01_304	y2	positive	sample	304	1	2	0.130905883509031	1	0.59698349195307	-4.15585900988913	3.22702525356271	-4.28382960930699	3.34874792551519	y2
+Y1_4_GE3_01_305	y1	positive	sample	305	1	1	0.129479197101219	1	0.618449187175638	-2.9921645121991	3.14523577730793	-2.85639638001866	3.08197032598192	y1
+Y4_4_GE7_01_309	y4	positive	sample	309	1	1	0.758837157578886	1	0.339564008612217	-5.95949084754462	3.20317151028856	-5.46675286145534	3.04585537553442	y4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input_variableMetadata.tsv	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,50 @@
+variableMetadata	namecustom	mz	mzmin	mzmax	rt	rtmin	rtmax	npeaks	my_blank	pool	y0	y1	y2	y3	y4	y5	y6	y7	y8	y9	isotopes	adduct	pcgroup	CV.samp	CV.pool	CV.ind	blank_mean	blank_sd	blank_CV	sample_mean	sample_sd	sample_CV	blankMean_over_sampleMean	pool_mean	pool_sd	pool_CV	poolCV_over_sampleCV	class_kruskal_fdr	class_kruskal_sig	class_kruskal_y1.y0_dif	class_kruskal_y2.y0_dif	class_kruskal_y3.y0_dif	class_kruskal_y4.y0_dif	class_kruskal_y5.y0_dif	class_kruskal_y6.y0_dif	class_kruskal_y7.y0_dif	class_kruskal_y8.y0_dif	class_kruskal_y9.y0_dif	class_kruskal_y2.y1_dif	class_kruskal_y3.y1_dif	class_kruskal_y4.y1_dif	class_kruskal_y5.y1_dif	class_kruskal_y6.y1_dif	class_kruskal_y7.y1_dif	class_kruskal_y8.y1_dif	class_kruskal_y9.y1_dif	class_kruskal_y3.y2_dif	class_kruskal_y4.y2_dif	class_kruskal_y5.y2_dif	class_kruskal_y6.y2_dif	class_kruskal_y7.y2_dif	class_kruskal_y8.y2_dif	class_kruskal_y9.y2_dif	class_kruskal_y4.y3_dif	class_kruskal_y5.y3_dif	class_kruskal_y6.y3_dif	class_kruskal_y7.y3_dif	class_kruskal_y8.y3_dif	class_kruskal_y9.y3_dif	class_kruskal_y5.y4_dif	class_kruskal_y6.y4_dif	class_kruskal_y7.y4_dif	class_kruskal_y8.y4_dif	class_kruskal_y9.y4_dif	class_kruskal_y6.y5_dif	class_kruskal_y7.y5_dif	class_kruskal_y8.y5_dif	class_kruskal_y9.y5_dif	class_kruskal_y7.y6_dif	class_kruskal_y8.y6_dif	class_kruskal_y9.y6_dif	class_kruskal_y8.y7_dif	class_kruskal_y9.y7_dif	class_kruskal_y9.y8_dif	class_kruskal_y1.y0_fdr	class_kruskal_y2.y0_fdr	class_kruskal_y3.y0_fdr	class_kruskal_y4.y0_fdr	class_kruskal_y5.y0_fdr	class_kruskal_y6.y0_fdr	class_kruskal_y7.y0_fdr	class_kruskal_y8.y0_fdr	class_kruskal_y9.y0_fdr	class_kruskal_y2.y1_fdr	class_kruskal_y3.y1_fdr	class_kruskal_y4.y1_fdr	class_kruskal_y5.y1_fdr	class_kruskal_y6.y1_fdr	class_kruskal_y7.y1_fdr	class_kruskal_y8.y1_fdr	class_kruskal_y9.y1_fdr	class_kruskal_y3.y2_fdr	class_kruskal_y4.y2_fdr	class_kruskal_y5.y2_fdr	class_kruskal_y6.y2_fdr	class_kruskal_y7.y2_fdr	class_kruskal_y8.y2_fdr	class_kruskal_y9.y2_fdr	class_kruskal_y4.y3_fdr	class_kruskal_y5.y3_fdr	class_kruskal_y6.y3_fdr	class_kruskal_y7.y3_fdr	class_kruskal_y8.y3_fdr	class_kruskal_y9.y3_fdr	class_kruskal_y5.y4_fdr	class_kruskal_y6.y4_fdr	class_kruskal_y7.y4_fdr	class_kruskal_y8.y4_fdr	class_kruskal_y9.y4_fdr	class_kruskal_y6.y5_fdr	class_kruskal_y7.y5_fdr	class_kruskal_y8.y5_fdr	class_kruskal_y9.y5_fdr	class_kruskal_y7.y6_fdr	class_kruskal_y8.y6_fdr	class_kruskal_y9.y6_fdr	class_kruskal_y8.y7_fdr	class_kruskal_y9.y7_fdr	class_kruskal_y9.y8_fdr	class_kruskal_y1.y0_sig	class_kruskal_y2.y0_sig	class_kruskal_y3.y0_sig	class_kruskal_y4.y0_sig	class_kruskal_y5.y0_sig	class_kruskal_y6.y0_sig	class_kruskal_y7.y0_sig	class_kruskal_y8.y0_sig	class_kruskal_y9.y0_sig	class_kruskal_y2.y1_sig	class_kruskal_y3.y1_sig	class_kruskal_y4.y1_sig	class_kruskal_y5.y1_sig	class_kruskal_y6.y1_sig	class_kruskal_y7.y1_sig	class_kruskal_y8.y1_sig	class_kruskal_y9.y1_sig	class_kruskal_y3.y2_sig	class_kruskal_y4.y2_sig	class_kruskal_y5.y2_sig	class_kruskal_y6.y2_sig	class_kruskal_y7.y2_sig	class_kruskal_y8.y2_sig	class_kruskal_y9.y2_sig	class_kruskal_y4.y3_sig	class_kruskal_y5.y3_sig	class_kruskal_y6.y3_sig	class_kruskal_y7.y3_sig	class_kruskal_y8.y3_sig	class_kruskal_y9.y3_sig	class_kruskal_y5.y4_sig	class_kruskal_y6.y4_sig	class_kruskal_y7.y4_sig	class_kruskal_y8.y4_sig	class_kruskal_y9.y4_sig	class_kruskal_y6.y5_sig	class_kruskal_y7.y5_sig	class_kruskal_y8.y5_sig	class_kruskal_y9.y5_sig	class_kruskal_y7.y6_sig	class_kruskal_y8.y6_sig	class_kruskal_y9.y6_sig	class_kruskal_y8.y7_sig	class_kruskal_y9.y7_sig	class_kruskal_y9.y8_sig	PCA_XLOAD.p1	PCA_XLOAD.p2	class_PLSDA_XLOAD.p1	class_PLSDA_XLOAD.p2	class_PLSDA_VIP	class_PLSDA_y0.COEFF	class_PLSDA_y1.COEFF	class_PLSDA_y2.COEFF	class_PLSDA_y3.COEFF	class_PLSDA_y4.COEFF	class_PLSDA_y5.COEFF	class_PLSDA_y6.COEFF	class_PLSDA_y7.COEFF	class_PLSDA_y8.COEFF	class_PLSDA_y9.COEFF
+M118T229	M118T229.46	118	118	118	229.455291748047	228.736724853516	230.594131469727	55	0	8	7	5	7	6	5	2	3	7	3	2			118	0.554571338812749	0.182791107722623	1	222439.554974048	195365.680228179	0.878286599031237	176244.197127339	110977.214194002	0.629678684477871	1.26210995085037	155437.851425	114292.160673818	0.7352916913482	1.16772523744853	1.66164992620511e-08	1	-223469.361382575	-126938.739412878	-133449.455499242	-180267.373249242	-294391.240395454	-239458.682065909	-76554.566924243	-261291.811240909	-260891.311868686	96530.6219696975	90019.905883333	43201.988133333	-70921.879012879	-15989.3206833335	146914.794458332	-37822.4498583335	-37421.950486111	-6510.71608636447	-53328.6338363645	-167452.500982576	-112519.942653031	50384.1724886345	-134353.071828031	-133952.572455808	-46817.91775	-160941.784896212	-106009.226566667	56894.888574999	-127842.355741667	-127441.856369444	-114123.867146212	-59191.3088166665	103712.806324999	-81024.4379916665	-80623.938619444	54932.5583295455	217836.673471211	33099.4291545455	33499.928526768	162904.115141666	-21833.129175	-21432.6298027775	-184737.244316666	-184336.744944443	400.499372222504	0.052228974501798	1	1	0.968678467026688	6.82548419440413e-05	0.0252028502127163	1	0.0103342950150846	0.090998598707947	1	1	1	1	1	0.227514794354078	1	1	1	1	0.292043497476492	1	1	0.563138922804635	1	1	0.390408587868349	1	1	1	1	0.459462762339069	1	1	1	1	1	0.00223728896288522	1	1	0.116839984773705	1	1	0.0900823169726959	0.296718843529397	1	0	0	0	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0.0751465404017426	0.114470509909381	0.0775649916703844	0.113255054281766	0.926381557758783	0.0182402372008762	-0.0113981265999673	0.0426448134069729	0.0197016024646982	-0.0232348488731026	-0.0424516830523853	-0.0147138462348906	0.0214688799695989	-0.00513169620476044	-0.00704409517333393
+M144T249	M143.875T248.69	143.875	143.875	143.875	248.692764282227	248.002151489258	249.422805786133	62	0	8	2	7	3	5	7	8	6	5	8	3			142	0.470618443098571	0.216046830280697	1	292413.434736192	203604.182450115	0.696288741431463	271524.560161574	158685.604562455	0.584424497246317	1.07693180521934	383231.735361819	301728.874896368	0.787327475923931	1.34718424644013	6.45954352514962e-07	1	235618.806762501	169118.08305	229322.632631251	259605.281649999	416619.815033332	275136.827786364	150532.487104546	457817.763728431	195173.60565	-66500.7237125005	-6296.17413124954	23986.4748874989	181001.008270831	39518.021023863	-85086.319657955	222198.95696593	-40445.201112501	60204.549581251	90487.1985999995	247501.731983331	106018.744736364	-18585.5959454545	288699.680678431	26055.5225999995	30282.6490187485	187297.182402081	45814.1951551125	-78790.1455267055	228495.13109718	-34149.0269812515	157014.533383332	15531.546136364	-109072.794545454	198212.482078431	-64431.676	-141482.987246968	-266087.327928786	41197.9486950994	-221446.209383332	-124604.340681818	182680.935942067	-79963.222136364	307285.276623885	44641.118545454	-262644.158078431	0.41166209367422	0.695786868243422	0.294551379678528	0.0999587113644674	6.82548419440413e-05	0.0979696628294609	1	6.99294016548446e-05	1	1	1	1	1	1	1	0.660361761700837	1	1	1	0.78294591403514	1	1	0.359071250151712	1	1	1	1	1	0.800695257846844	1	1	1	1	1	1	1	0.0211144277007564	1	1	1	1	1	0.0290403766541771	1	1	0	0	0	0	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	-0.0425445507499967	-0.137386022704088	-0.0414455664421757	-0.138961517651778	0.94030081229378	-0.0175777629069553	-0.0012658955204704	-0.0374855225818242	-0.0115638894382932	0.0369249335046923	0.0613915623367941	-0.0282052479473143	-0.0129882503144432	0.0212574166388364	-0.0144134753666958
+M146T229	M145.875T229.42	145.875	145.875	145.875	229.422142028809	228.712783813477	230.594131469727	62	0	9	8	6	6	6	6	2	6	8	4	1			118	0.48059751415742	0.159160327803038	1	542353.504170514	417121.368012766	0.769094999488792	448233.950201589	270767.904818011	0.604077189370051	1.20997863710813	405757.717987176	296615.203178599	0.731015554429883	1.21013600131501	7.70188729663607e-09	1	-582059.466330129	-420926.183282051	-341325.049310082	-484778.717540386	-752503.017731838	-593558.467831296	-221486.367407052	-660228.32603985	-671454.694221447	161133.283048078	240734.417020047	97280.748789743	-170443.551401709	-11499.001501167	360573.098923077	-78168.8597097215	-89395.2278913175	79601.133971969	-63852.5342583345	-331576.834449787	-172632.284549245	199439.815875	-239302.142757799	-250528.510939395	-143453.668230304	-411177.968421756	-252233.418521214	119838.68190303	-318903.276729768	-330129.644911364	-267724.300191452	-108779.75029091	263292.350133334	-175449.608499464	-186675.976681061	158944.549900542	531016.650324786	92274.6916919875	81048.3235103915	372072.100424244	-66669.8582085545	-77896.2263901506	-438741.958632799	-449968.326814395	-11226.368181596	0.027794335864133	1	1	0.975940335684243	4.71856017804362e-05	0.0252028502127163	1	0.00137556615138216	0.0668266484078959	1	1	1	1	1	0.208110883871688	1	1	1	1	0.516072532531189	1	1	0.763113985902735	1	1	0.305615730979035	1	1	0.399116928338267	1	0.410587406257074	1	1	0.753420461486308	1	1	0.00223728896288522	1	1	0.168171506310646	1	1	0.0294571388445663	0.272157453958819	1	1	0	0	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0.0754996095137967	0.120865516467987	0.0784680705150086	0.119115248373144	0.956609897374724	0.0226314437704627	-0.0153551878413858	0.0159176509359441	0.0285781636368376	-0.00845519747929896	-0.0389253784563034	-0.0108323340963491	0.0184213773838867	-0.00841148941129242	-0.00490518790379316
+M162T214	M161.875T214.05	161.875	161.875	161.875	214.046737670898	212.855850219727	215.482360839844	33	0	4	5	5	0	3	4	4	2	2	3	1			197	0.643205622075402	0.302352932180999	1	108048.694547817	84423.1740003108	0.781343766841616	110010.754324522	79549.9666204105	0.723110818654558	0.982164836622094	147182.710689167	136206.352437578	0.925423589495038	1.27978114228316	0.013171312020726	1	-98971.9199611115	-171426.108522223	-131915.83299293	-129406.978244445	-100146.050947475	-106919.259311111	-113422.508511112	-105365.741111112	-137589.675261112	-72454.1885611113	-32943.9130318181	-30435.0582833332	-1174.13098636351	-7947.33934999997	-14450.5885500001	-6393.82115	-38617.7553000002	39510.2755292932	42019.1302777781	71280.0575747477	64506.8492111113	58003.6000111112	66060.3674111112	33836.4332611111	2508.8547484849	31769.7820454545	24996.5736818181	18493.324481818	26550.0918818181	-5673.84226818211	29260.9272969696	22487.7189333332	15984.4697333331	24041.2371333332	-8182.69701666701	-6773.20836363646	-13276.4575636366	-5219.69016363649	-37443.6243136367	-6503.24920000011	1553.51819999996	-30670.4159500002	8056.76740000007	-24167.1667500001	-32223.9341500002	1	0.00981901375773889	0.583573028216822	0.609080481101714	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0.991777100919273	0.510921658223701	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	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.0413685282058045	0.0251369477242697	0.0461461277698264	0.0212500710478278	0.969128578744853	0.0219642382800089	0.0133095223699376	-0.0618848704475708	0.00641922990982015	-0.010432133127727	-0.00105700389112426	0.0420873458583823	-0.0046161505464534	-0.00778018441733679	0.00273500166111701
+M163T243	M162.875T242.9	162.875	162.875	162.875	242.903991699219	242.447631835938	243.801193237305	49	0	4	5	4	5	5	3	7	4	5	5	2			22	0.330166227054866	0.202141075579992	1	3644123.41358197	2193909.9479373	0.602040518101117	3941767.38640001	2117862.19588964	0.537287462268003	0.924489716505094	3851549.38397353	2458931.83720283	0.638426667313305	1.18824039671124	0.000883115703271284	1	-2113291.45021155	-2241269.67407693	-1961993.97916989	-1837783.11696155	-2346310.06200321	-1687083.8001186	1469904.32266347	-1181126.12783655	-496228.665580146	-127978.223865375	151297.471041664	275508.333250005	-233018.611791655	426207.650092955	3583195.77287502	932165.322375004	1617062.7846314	279275.69490704	403486.55711538	-105040.38792628	554185.87395833	3711173.99674039	1060143.54624038	1745041.00849678	124210.86220834	-384316.08283332	274910.17905129	3431898.30183335	780867.85133334	1465765.31358974	-508526.94504166	150699.31684295	3307687.43962501	656656.989124999	1341554.4513814	659226.26188461	3816214.38466667	1165183.93416666	1850081.39642306	3156988.12278206	505957.672282049	1190855.13453845	-2651030.45050002	-1966132.98824362	684897.4622564	0.726729317104316	0.201447349857883	0.432717869460653	0.846424728600258	0.237673040121011	1	1	1	1	1	1	1	1	1	0.318014146637016	1	1	1	1	1	1	0.0451868594618056	1	1	1	1	1	0.185177599153334	1	1	1	1	0.405841258365009	1	1	1	0.0909035169246734	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0.103537558415284	0.0102238605418316	0.10233249981553	0.0102333271167748	0.720515281231768	0.00301939207982759	-0.0103804062188476	-0.00664448326609202	9.20366856958295e-05	0.00189603327691161	-0.0197997811813405	-0.00824439163111674	0.0238952517819599	-0.00325718346485697	0.0266950912674502
+M163T227	M162.875T226.85	162.875	162.875	162.875	226.847427368164	218.395324707031	227.658325195312	33	0	3	2	4	3	2	1	1	4	4	5	3			165	0.462353517434431	0.322320987979724	1	372189.648483144	260392.311306243	0.69962265841479	322756.691823757	201499.313245604	0.624307158767243	1.15315858016781	310373.217946263	201745.669544165	0.650009916703236	1.04117005159246	7.28058964013852e-05	1	92037.943351099	-5487.59820454498	21778.2526500005	-13659.1622499985	58466.9313000015	75191.1620833335	404944.20485	295068.039866665	190810.4638	-97525.541555644	-70259.6907010985	-105697.105601098	-33571.0120510976	-16846.7812677656	312906.261498901	203030.096515566	98772.520448901	27265.8508545455	-8171.56404545356	63954.5295045464	80678.7602878785	410431.803054545	300555.63807121	196298.062004545	-35437.414899999	36688.6786500009	53412.909433333	383165.9522	273289.787216665	169032.21115	72126.09355	88850.324333332	418603.367099999	308727.202116664	204469.626049999	16724.230783332	346477.273549999	236601.108566664	132343.532499999	329753.042766667	219876.877783332	115619.301716667	-109876.164983335	-214133.74105	-104257.576066665	1	1	1	1	1	1	0.148945390005489	1	1	1	1	1	1	1	0.259968473346067	0.928057390014631	1	1	1	1	1	0.0113412825957223	0.158241679428041	1	1	1	1	0.0174305367955663	0.393726593936203	1	1	1	0.0349697529541062	0.212273688265833	1	1	0.201711313363453	1	1	0.755086080639964	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0.0882730388426585	-0.0626313413608719	0.0855840966907186	-0.0622697374848941	0.731099486377141	-0.0123561292390632	-6.7964133186564e-05	0.0100481896395706	-0.00552600551341292	-0.0169557479735041	-0.0124719709624862	-0.00711548040057009	0.0309950031115815	0.0067438521265861	0.00921686363048771
+M165T338	M164.875T337.56	164.875	164.875	164.875	337.562683105469	336.875305175781	338.089294433594	54	0	7	0	8	8	7	7	7	6	0	0	4		[M+K]+ 125.917 [M+H-CO2]+ 207.865	70	0.866006563972147	0.216447080767682	1	409647.705963215	391168.471151946	0.954889934589483	483732.806229776	468412.580947781	0.968329157988268	0.846847062443456	340484.946041818	405527.906354914	1.1910303555832	1.22998501672469	4.40385233462652e-09	1	684585.875230772	752480.930384618	1332601.70961539	713188.777137823	581681.090634616	337352.650499999	-29146.5433674241	-20036.42525	292014.81209091	67895.055153846	648015.834384619	28602.901907051	-102904.784596156	-347233.224730773	-713732.418598196	-704622.300480772	-392571.063139862	580120.779230773	-39292.1532467951	-170799.839750002	-415128.279884619	-781627.473752042	-772517.355634618	-460466.118293708	-619412.932477568	-750920.618980774	-995249.059115392	-1361748.25298281	-1352638.13486539	-1040586.89752448	-131507.686503206	-375836.126637824	-742335.320505247	-733225.202387823	-421173.965046912	-244328.440134618	-610827.63400204	-601717.515884616	-289666.278543706	-366499.193867423	-357389.075749999	-45337.8384090885	9110.1181174241	321161.355458334	312051.23734091	0.11358005453071	0.096583438487779	0.000885600327703758	0.154002054065049	0.81416791594465	1	1	1	1	1	1	1	1	1	0.0153492689390872	0.0316154204461071	1	1	1	1	1	0.00706527037967482	0.0259008764753472	1	1	1	0.863088887199138	4.13963413771479e-05	0.000211122065598297	0.839196132637624	1	1	0.0297674436408949	0.0468543105155901	1	1	0.191442817641279	0.574914929783298	1	1	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	-0.141010709592148	0.0402268470581567	-0.140535296190201	0.0412489943271345	0.910312124202508	-0.00333510835663055	0.0136374524544247	-0.00820912512316714	0.0470702813959839	-0.00398704499005538	0.00677141222121328	-0.0255578597606999	-0.0082298996778851	-0.00766915945623759	-0.0144184298772256
+M165T317	M164.875T317.02	164.875	164.875	164.875	317.018585205078	316.065521240234	317.901153564453	53	0	4	0	8	8	8	8	8	6	0	0	3		[M+K]+ 125.917 [M+H-CO2]+ 207.865	77	0.838096959264605	0.21023653805185	1	744287.742360614	784725.59330251	1.05433093767424	889025.742508789	860270.720448739	0.967655579939784	0.837194815372015	652449.806359795	823739.294658445	1.26253282111359	1.30473367516999	4.40385233462652e-09	1	1267620.126875	1496789.85545513	2679183.56220613	1361572.24599359	1291942.86241667	678901.841734849	-19985.2434924243	3377.41055303039	607888.429301282	229169.72858013	1411563.43533113	93952.1191185899	24322.735541665	-588718.285140153	-1287605.37036743	-1264242.71632197	-659731.69757372	1182393.706751	-135217.60946154	-204846.993038465	-817888.013720282	-1516775.09894756	-1493412.4449021	-888901.426153849	-1317611.31621254	-1387240.69978946	-2000281.72047128	-2699168.80569856	-2675806.1516531	-2071295.13290485	-69629.3835769249	-682670.404258742	-1381557.48948602	-1358194.83544056	-753683.816692309	-613041.020681818	-1311928.10590909	-1288565.45186364	-684054.433115385	-698887.085227274	-675524.431181819	-71013.412433567	23362.6540454546	627873.672793707	604511.018748252	0.194688344932518	0.0294571388445663	0.000214532654363442	0.119553524972248	0.15296941387555	1	1	1	1	1	1	1	1	1	0.093849631189904	0.182561660808706	1	1	1	1	1	0.0113412825957223	0.0328735636467172	1	1	1	0.731926152362486	4.13963413771479e-05	0.000211122065598297	0.749354263169383	1	1	0.0590414494368151	0.117470445038843	1	1	0.068895633153238	0.256723489735304	1	1	1	1	1	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.144942278851616	0.0351471064761888	-0.144601766945615	0.0362697969126675	0.918051512642409	-0.00416689847409616	0.00509611351082173	-0.00780522330278605	0.04472336476531	-0.000576380660106708	0.0219563132520997	-0.0297731462861804	-0.00827009810277392	-0.0103033874802389	-0.0149540330008828
+M165T256	M164.875T255.62	164.875	164.875	164.875	255.6181640625	247.542572021484	256.341644287109	43	0	8	0	2	2	8	6	3	4	0	0	0			112	1.06630114173494	0.22093644805502	1	354378.95226233	413700.495343639	1.16739578550759	405093.616318681	451931.541704622	1.11562247218701	0.874807545679874	308960.957516783	502888.483794206	1.62767648001896	1.45898502459183	5.73706634478748e-09	1	450357.350772726	541641.653643938	1587110.30450437	679384.788643358	432806.05890909	355017.176024474	6883.474181818	6180.37504545455	61218.9507727272	91284.3028712125	1136752.95373165	229027.437870632	-17551.2918636365	-95340.1747482524	-443473.876590908	-444176.975727272	-389138.399999999	1045468.65086044	137743.13499942	-108835.594734849	-186624.477619465	-534758.179462121	-535461.278598484	-480422.702871211	-907725.515861016	-1154304.24559528	-1232093.1284799	-1580226.83032256	-1580929.92945892	-1525891.35373165	-246578.729734269	-324367.612618884	-672501.31446154	-673204.413597904	-618165.837870631	-77788.882884616	-425922.584727272	-426625.683863635	-371587.108136362	-348133.701842656	-348836.800979019	-293798.225251746	-703.099136363453	54335.4765909092	55038.5757272726	0.376416304824586	0.131113773705304	0.000215301825024248	0.0210747984613607	0.434665197552073	0.393726593936203	1	1	1	1	1	1	1	1	0.31043009321928	0.195701876605421	1	1	1	1	1	0.0781352865602566	0.0702415877019049	1	1	1	1	9.72490468141253e-05	0.000174459842983365	0.55366855858571	1	1	0.0349697529541062	0.0138878820584484	1	1	0.376852597053223	0.429754235275785	1	0.650272995087645	0.594406729658818	1	1	1	1	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	-0.12000096395695	0.0283783588881645	-0.119057665594828	0.0289759974618512	1.10789318886327	0.00499918519235584	-0.00585580764933178	-0.0420058136274642	0.0702058814512454	0.0113348456098694	0.00382847974997085	-0.00149421872025079	-0.0123805253499523	-0.00848841207292826	-0.0276847502031869
+M166T317	M165.875T317.04	165.875	165.875	165.875	317.04475402832	316.065521240234	317.901153564453	56	0	5	0	8	8	8	8	8	7	0	0	4			77	0.873886130701936	0.28978273762146	1	566564.548916175	612586.058432978	1.08122906667006	669868.766163304	662819.087890653	0.989476030785808	0.845784394697476	478650.24083985	629349.788549455	1.31484272826267	1.32882726549573	4.40385233462652e-09	1	1085877.34460897	1170292.37810256	1923052.91783974	1149295.09316667	946647.338696386	596387.020426767	-13908.0936287879	-17929.8044772727	486468.485493589	84415.0334935898	837175.57323077	63417.7485576998	-139230.005912586	-489490.324182205	-1099785.43823776	-1103807.14908624	-599408.859115383	752760.53973718	-20997.28493589	-223645.039406175	-573905.357675795	-1184200.47173135	-1188222.18257983	-683823.892608973	-773757.82467307	-976405.579143356	-1326665.89741297	-1936961.01146853	-1940982.72231701	-1436584.43234615	-202647.754470285	-552908.072739905	-1163203.18679546	-1167224.89764394	-662826.607673083	-350260.318269619	-960555.432325174	-964577.143173659	-460178.853202797	-610295.114055555	-614316.82490404	-109918.534933178	-4021.71084848481	500376.579122377	504398.289970861	0.17719979609046	0.0562090515292501	0.000246618179542912	0.110401371966041	0.278759995756641	1	1	1	1	1	1	1	1	1	0.116618496591879	0.0473584049961879	1	1	1	1	1	0.0282849217271787	0.0156681247002895	1	1	1	0.731926152362486	9.10680126391271e-05	9.2887565991869e-05	0.749354263169383	1	1	0.0719236522024915	0.0323078297004921	1	1	0.19992767477345	0.17218181552716	1	1	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	-0.146020022766386	0.0366973584592664	-0.145563837156519	0.0377332359553988	0.899519032194015	-0.00447874499227033	0.00623286208417728	-0.00852923643310405	0.0433171033273482	0.0016662567301934	0.0195693090227752	-0.0294634466753394	-0.00832138180433661	-0.0101889924661074	-0.0134739364466115
+M166T337	M165.875T337.42	165.875	165.875	165.875	337.417572021484	336.457580566406	338.150177001953	52	0	8	0	7	7	7	8	6	5	0	0	4		[M+Na]+ 142.886	70	0.910692168611428	0.156064156426672	1	292723.92194447	300900.700022275	1.02793341255982	355457.93832726	350744.111393467	0.986738720885021	0.82351212444992	253759.28752768	352409.260322572	1.38875413686733	1.4074183038259	4.40385233462652e-09	1	549945.90271154	517245.228208335	1091632.47967308	519139.49401282	451097.8547	262840.719490384	-3739.5958484848	-170.656579545401	248999.802999999	-32700.674503205	541686.57696154	-30806.4086987195	-98848.04801154	-287105.183221156	-553685.498560024	-550116.559291085	-300946.099711541	574387.251464745	1894.26580448553	-66147.373508335	-254404.508717951	-520984.824056819	-517415.88478788	-268245.425208336	-572492.98566026	-640534.62497308	-828791.760182696	-1095372.07552156	-1091803.13625263	-842632.676673081	-68041.6393128205	-256298.774522436	-522879.089861305	-519310.150592365	-270139.691012821	-188257.135209616	-454837.450548484	-451268.511279545	-202098.051700001	-266580.315338869	-263011.376069929	-13840.916490385	3568.9392689394	252739.398848484	249170.459579544	0.027794335864133	0.0782193052607655	0.000214532654363442	0.0709833796124271	0.278759995756641	1	1	1	1	1	1	1	1	1	0.0205696439022416	0.0372795462439186	1	1	1	1	1	0.0302502177508984	0.0994751953608944	1	1	1	0.731926152362486	4.82874721854535e-05	0.000305370996244383	0.749354263169383	1	1	0.0482551154177424	0.0786976165455977	1	1	0.175929150529689	0.513273791431581	1	1	1	1	1	1	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	0	0	0	0	0	1	1	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	-0.139647432104521	0.0353721087288137	-0.139453007772802	0.0365786394764915	0.95282644111542	-0.00239075652738033	0.0166765027313631	-0.0243395466985536	0.0501296326031231	0.00381713941207584	0.0167969911921033	-0.0318016484679871	-0.0101405611647808	-0.0079649556443399	-0.0148195375889052
+M173T433	M172.875T433.34	172.875	172.875	172.875	433.337677001953	432.7353515625	438.034820556641	35	0	6	6	5	1	1	2	6	4	3	0	1			3	1.36272892229385	0.194560260970084	1	1266393.79444102	1470379.40323134	1.16107596995954	1867769.12872026	2665189.92042312	1.42693755852428	0.678024802406233	1038548.3271461	1341040.15559937	1.29126408521066	0.904919824625027	9.99796489760505e-08	1	-1747537.41099359	-2687684.30507693	-2794091.37107693	-2488563.6222436	9042.13950639963	-2322653.47741667	5050056.08668495	-2765931.19199359	-2186566.51620193	-940146.894083337	-1046553.96008334	-741026.211250005	1756579.55049999	-575116.066423079	6797593.49767855	-1018393.781	-439029.105208336	-106407.066	199120.682833332	2696726.44458333	365030.827660259	7737740.39176188	-78246.886916666	501117.788875001	305527.748833332	2803133.51058333	471437.893660258	7844147.45776188	28160.1790833335	607524.854875001	2497605.76175	165910.144826927	7538619.70892855	-277367.569749998	301997.106041669	-2331695.61692307	5041013.94717855	-2774973.33149999	-2195608.65570833	7372709.56410162	-443277.714576925	136086.961214743	-7815987.27867855	-7236622.60288688	579364.675791668	1	0.178882656376245	0.015573708479007	0.371390870029448	1	1	1	0.00256052754702936	1	1	1	1	1	1	1	0.249717973636758	1	1	1	0.78294591403514	1	0.0278206311309793	1	1	1	0.336004787546739	1	0.00171726404788857	1	1	1	1	0.0989244154768505	1	1	1	1	0.0156238673157544	1	0.919863887653276	0.986135604824185	1	0.000503880835770941	1	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	1	0	0	0	0	1	0	0	0.0740954755491924	0.0388848011411367	0.0743843865526884	0.0359285315474547	0.983854090469824	-0.00409485685635407	0.00592242893781314	-0.00392693249841443	-0.00604969504836195	-0.022436286710685	0.0408373681356486	-0.0359902106972653	0.0483848366776398	-0.01827589400169	-0.0060070322145816
+M173T452	M172.875T451.9	172.875	172.875	172.875	451.900009155273	450.496032714844	452.717468261719	22	0	5	3	4	0	1	2	3	2	2	0	0			2	1.67048893241062	0.164096600990738	1	1534618.18187864	2752886.79222939	1.7938577978135	1799986.21986154	3024490.5787063	1.68028540737326	0.852572183578546	895116.751720905	1276865.17165728	1.42647891373103	0.848950367283735	1.49453569519423e-07	1	-3136536.19256876	-4407065.66268268	-4404362.27087499	-4128072.86879037	-2725258.33741345	-4391302.35755447	3366482.13258654	-4374117.77237499	-4244205.29872114	-1270529.47011392	-1267826.07830623	-991536.676221614	411277.855155302	-1254766.16498572	6503018.32515529	-1237581.57980623	-1107669.10615238	2703.39180769265	278992.793892308	1681807.32526922	15763.3051282053	7773547.79526921	32947.890307692	162860.363961539	276289.402084615	1679103.93346153	13059.9133205126	7770844.40346152	30244.4984999993	160156.972153846	1402814.53137692	-263229.488764103	7494555.00137691	-246044.903584616	-116132.429930769	-1666044.02014102	6091740.46999999	-1648859.43496153	-1518946.96130768	7757784.49014101	17184.5851794867	147097.058833334	-7740599.90496152	-7610687.43130767	129912.473653847	1	0.0208616985570098	0.0166726873696721	0.544704985403882	1	0.0989244154768505	1	0.0535710678503395	1	1	1	1	1	1	1	0.727987340048391	1	1	1	0.92181621665812	1	0.0021946718804578	1	1	1	1	1	0.00122458360600508	1	1	1	1	0.110401371966041	1	1	1	1	0.849208109774197	1	0.0211087298101045	1	1	0.00628735616393173	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	0	0	1	0	0	0.0946521088490593	0.0518298787797983	0.095027503976889	0.0491338486016648	0.918521369018439	0.000401372763371066	0.00801825505421245	-0.00325255772163423	-0.000791015550030907	-0.017845875851988	0.0256520138688964	-0.0388903170894016	0.0455436608191096	-0.0138873792887782	-0.00680059132620932
+M177T293	M176.875T293.13	176.875	176.875	176.875	293.1279296875	292.215759277344	293.648864746094	28	0	3	0	4	3	1	1	4	3	5	4	0			154	0.57248629098329	0.175837562560253	1	268237.285691414	181343.532095866	0.67605639398129	345355.38578632	242803.479940902	0.703053984196818	0.776699297972954	319759.470804041	243517.177160178	0.761563610759829	1.08322209656468	7.83458062832179e-06	1	187473.646988637	184879.708727274	194084.456272727	195679.159590909	379033.302257576	241930.723815584	359301.195419787	464707.264072728	123859.270454545	-2593.93826136203	6610.80928409047	8205.5126022725	191559.65526894	54457.076826948	171827.54843115	277233.617084091	-63614.376534092	9204.7475454525	10799.4508636345	194153.593530302	57051.01508831	174421.486692513	279827.555345453	-61020.43827273	1594.70331818203	184948.845984849	47846.2675428575	165216.73914706	270622.807800001	-70225.1858181825	183354.142666667	46251.5642246755	163622.035828878	269028.104481819	-71819.8891363645	-137102.578441992	-19732.1068377895	85673.9618151511	-255174.031803032	117370.471604203	222776.540257143	-118071.45336104	105406.068652941	-235441.924965243	-340847.993618183	0.726729317104316	0.75339809283064	0.591047165252482	0.748184613553196	0.00320948797034482	0.0827025158736361	0.00614526611287047	0.00012469466674357	1	1	1	1	1	1	1	0.505407207722699	1	1	1	1	1	1	0.436610745800502	1	1	1	1	1	0.537537814543305	1	1	1	1	0.435798774666088	1	1	1	1	1	1	1	1	1	1	0.414257956236904	0	0	0	0	1	0	1	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.00604977011148218	-0.105444547671403	0.00800419592849259	-0.109564974372532	0.820190267545327	-0.0210024765694201	-0.00160815667883723	0.00922890709487246	-0.0137565032731326	-0.0229725583526453	0.0169989693539567	0.00731589746551513	0.0253489773119417	0.0109680103936244	-0.0144598231624723
+M181T317	M180.875T317.07	180.875	180.875	180.875	317.065093994141	316.0830078125	317.901153564453	59	0	8	0	7	8	8	8	8	8	0	0	4		[M+K]+ 141.91 [M+Na]+ 157.884 [M+H]+ 179.866 [M+H-CO]+ 207.865 [M+H-HCOOH]+ 225.872	77	0.847012179015651	0.215461727552633	1	1033813.88880537	1079382.85535648	1.04407850101895	1225759.75775606	1159838.04720198	0.946219713824864	0.843406615581766	909497.103254022	1114361.07526075	1.2252497245717	1.2948892383767	4.40385233462652e-09	1	1822438.73112499	2168703.46453717	3420443.29726603	1911486.47908421	1746273.12483164	1002698.41580449	22094.4219519233	29803.3138685897	916809.146381411	346264.73341218	1598004.56614104	89047.7479592201	-76165.6062933549	-819740.315320505	-1800344.30917307	-1792635.4172564	-905629.584743581	1251739.83272886	-257216.98545296	-422430.339705535	-1166005.04873268	-2146609.04258525	-2138900.15066858	-1251894.31815576	-1508956.81818182	-1674170.17243439	-2417744.88146154	-3398348.87531411	-3390639.98339744	-2503634.15088462	-165213.354252575	-908788.063279725	-1889392.05713229	-1881683.16521562	-994677.332702801	-743574.70902715	-1724178.70287971	-1716469.81096305	-829463.978450226	-980603.993852563	-972895.101935897	-85889.2694230761	7708.8919166664	894714.724429487	887005.832512821	0.0662093247050997	0.0138945283829404	0.000180194833037384	0.0709833796124271	0.0879873793686797	1	1	1	1	1	1	1	1	1	0.119197845797172	0.121428831183809	1	1	1	1	1	0.0225571652648505	0.0302502177508984	1	1	1	0.731926152362486	9.72490468141253e-05	0.000211122065598297	0.749354263169383	1	1	0.110401371966041	0.115179867458799	1	1	0.165082954730744	0.256723489735304	1	1	1	1	1	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.145993687916278	0.0347133164312306	-0.145632886891297	0.0358138092345575	0.910435654997751	-0.00516481294993012	0.00775866157057417	-0.00341460526913776	0.0430634635228766	-0.00411800545795493	0.0209220863267043	-0.0332074763634702	-0.00689572814362172	-0.00970408225164793	-0.0126984794955494
+M181T338	M180.875T337.56	180.875	180.875	180.875	337.561935424805	336.457580566406	338.089294433594	56	0	6	0	8	7	8	8	8	7	0	0	4		[M+K]+ 141.91 [M+Na]+ 157.884 [M+H]+ 179.866 [M+H-H20]+ 197.874 [M+H-CO]+ 207.865	70	0.890749059452792	0.226102350970809	1	734199.74791277	742563.143161114	1.01139117150628	838143.002537081	820448.667065602	0.978888643801932	0.875983866345394	596052.726331706	761937.280008301	1.27830516722489	1.30587393705993	4.40385233462652e-09	1	1347875.91445514	1138069.25123932	2488718.55260527	1195719.29046504	958525.338480772	614678.044916665	-14458.1820454543	4753.01604545514	548003.759205129	-209806.66321582	1140842.63815013	-152156.6239901	-389350.575974364	-733197.86953847	-1362334.09650059	-1343122.89840968	-799872.155250007	1350649.30136595	57650.0392257201	-179543.912758543	-523391.20632265	-1152527.43328477	-1133316.23519386	-590065.492034186	-1292999.26214023	-1530193.21412449	-1874040.5076886	-2503176.73465072	-2483965.53655981	-1940714.79340014	-237193.951984263	-581041.24554837	-1210177.47251049	-1190966.27441958	-647715.531259906	-343847.293564106	-972983.520526226	-953772.322435317	-410521.579275643	-629136.226962119	-609925.02887121	-66674.2857115365	19211.1980909094	562461.941250583	543250.743159674	0.0319559841252049	0.0710872187110412	0.000214532654363442	0.111907167014595	0.382714862790119	1	1	1	1	1	1	1	1	1	0.0153492689390872	0.0435091283559493	1	1	1	1	1	0.0192386196102813	0.0904684115481689	1	1	1	0.731926152362486	4.13963413771479e-05	0.000305370996244383	0.749354263169383	1	1	0.0482551154177424	0.126666861084309	1	1	0.165082954730744	0.625591516370869	1	1	1	1	1	1	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	0	0	0	0	0	1	1	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	-0.138710296247728	0.0337469846874195	-0.138436791262326	0.0349325293593411	0.96213503122923	-0.00146163030571816	0.0135869699449804	-0.0244472640776858	0.0533012214106436	0.00222726648456858	0.012686511844263	-0.0257506947425399	-0.01060559908191	-0.00801580668344338	-0.0158340653274235
+M181T540	M180.875T539.7	180.875	180.875	180.875	539.704956054688	538.963256835938	540.618347167969	30	0	4	0	2	6	6	4	6	2	0	0	0		[2M+2Na+2K-H]3+ 209.866	102	0.931296329875272	0.210255697154299	1	167418.296563067	173427.477443088	1.0358932148002	236955.820216787	234454.703212544	0.9894447960723	0.706538022192907	165592.89338474	250702.189480323	1.51396708129158	1.53011778656214	2.06498874786457e-08	1	197320.587416667	382413.571007578	443612.860535716	284950.695660259	440913.504695973	129543.439958334	-9959.93608333355	1263.25958333335	170633.733833333	185092.983590911	246292.273119049	87630.1082435915	243592.917279306	-67777.147458333	-207280.523500001	-196057.327833334	-26686.8535833345	61199.2895281385	-97462.875347319	58499.933688395	-252870.131049244	-392373.507090911	-381150.311424244	-211779.837174245	-158662.164875457	-2699.35583974345	-314069.420577382	-453572.79661905	-442349.600952383	-272979.126702383	155962.809035714	-155407.255701924	-294910.631743592	-283687.436076925	-114316.961826926	-311370.064737639	-450873.440779306	-439650.245112639	-270279.77086264	-139503.376041668	-128280.180375001	41090.2938749985	11223.1956666669	180593.669916666	169370.474249999	0.544963130202212	0.0177006655226867	0.00825460439179621	0.223106418473929	0.0104159115438363	1	1	1	1	1	1	1	1	1	0.28078964904256	0.373725697220689	1	1	1	1	1	0.0062545785436375	0.0142368548972908	1	1	1	1	0.00228375564833484	0.00862006472593349	1	1	1	0.102255603050087	0.166115199240491	1	1	0.00584615614337418	0.014401220178017	1	1	1	1	1	1	1	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	-0.125628433031723	0.0220212323204303	-0.124156896893065	0.0221373318110033	0.894617430657383	-0.00771068528527869	-0.00668142765871337	0.0192214619166783	0.0167325321334545	-0.0110575311091941	0.0572811342801292	-0.0524497934370375	0.000782993401833588	-0.011882685193855	-0.00582182383499652
+M181T418	M180.875T417.83	180.875	180.875	180.875	417.832565307617	417.209350585938	418.605743408203	22	2	3	0	2	6	2	5	0	1	1	0	0			264	0.884588211141309	0.39899416269124	1	305878.667292884	235537.661754836	0.770036249469156	298508.101359527	222097.377898945	0.744024624080295	1.02469134304827	224950.172153788	213201.071033522	0.947770206140434	1.27384252545673	5.73706634478748e-09	1	186292.014681818	513401.755901514	315761.458636362	355479.386972028	-15426.25490909	19694.972227272	-60081.7643030301	-82481.6197386362	-57298.3848409092	327109.741219696	129469.443954543	169187.37229021	-201718.269590908	-166597.042454546	-246373.778984849	-268773.634420455	-243590.399522728	-197640.297265153	-157922.368929486	-528828.010810605	-493706.783674242	-573483.520204545	-595883.375640151	-570700.140742424	39717.9283356665	-331187.713545452	-296066.48640909	-375843.222939392	-398243.078374998	-373059.843477271	-370905.641881118	-335784.414744756	-415561.151275059	-437961.006710665	-412777.771812938	35121.227136362	-44655.5093939401	-67055.3648295462	-41872.1299318192	-79776.7365303021	-102176.591965908	-76993.3570681812	-22399.8554356062	2783.37946212085	25183.234897727	1	0.278717153457073	0.844261049243443	0.497223723055825	1	1	1	1	1	1	1	1	1	1	0.210000322323986	0.0473584049961879	1	1	1	0.433295680015968	1	0.0021946718804578	0.00051463444350322	0.282903922277367	1	1	1	0.0149776297332378	0.00380713476569239	0.749354263169383	0.459462762339069	1	0.0153631652821762	0.00189494308236426	0.393889660548555	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	-0.0981000313906055	0.076689909625588	-0.0958845968391908	0.0760106647690337	1.11041823753424	-0.014398875333276	-0.00482714291468006	0.098290720531252	-0.00427852306267505	-0.0100001540804539	-0.048122498701128	-0.0243031944182517	0.00948762250130612	0.0022124607345829	-0.00558050699571515
+M182T338	M181.875T337.6	181.875	181.875	181.875	337.60302734375	336.875305175781	338.150177001953	11	0	3	0	2	0	5	0	1	0	0	0	0			273	0.981113234118231	0.337528156731231	1	100562.605586932	88782.193885191	0.882854947592251	133529.738016389	138919.562637038	1.04036422673118	0.75311018414931	100202.135048182	129020.703176253	1.2876043321254	1.23764764208689	8.35141776941199e-09	1	149784.842	170421.452681818	412842.862427273	138852.492818182	108659.804318182	68194.667409091	-9829.92872727285	-874.215515151503	73751.1908181821	20636.6106818185	263058.020427274	-10932.349181818	-41125.0376818175	-81590.1745909087	-159614.770727273	-150659.057515151	-76033.6511818176	242421.409745455	-31568.9598636365	-61761.648363636	-102226.785272727	-180251.381409091	-171295.66819697	-96670.2618636361	-273990.369609092	-304183.058109091	-344648.195018182	-422672.791154546	-413717.077942425	-339091.671609091	-30192.6884999995	-70657.8254090908	-148682.421545455	-139726.708333333	-65101.3019999996	-40465.1369090913	-118489.733045455	-109534.019833334	-34908.6135000002	-78024.5961363638	-69068.8829242425	5556.52340909111	8955.71321212135	83581.119545455	74625.4063333336	0.114855980904386	0.116035571333521	0.000698790830754581	0.191858987722038	0.705973831048521	1	1	1	1	1	1	1	1	1	0.0229453018053966	0.0429528252680188	1	1	1	1	1	0.015277616942808	0.0380691272939169	1	1	1	1	4.64437829959345e-05	0.000211122065598297	1	1	1	0.0482551154177424	0.0771487162850107	1	1	0.201711313363453	0.550575916899293	1	0.947858190247145	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	-0.124358737031243	0.0320848289843802	-0.123144170686283	0.032523467474272	0.979401357659007	0.00146627886560696	0.0142970181348073	-0.0161319372307179	0.0587887139901319	-0.0177423400401371	-0.00396121252442922	-0.0228257069088631	-0.00544531353875334	-0.00529029679459196	-0.0043364130562687
+M183T540	M182.875T539.78	182.875	182.875	182.875	539.783325195312	538.963256835938	540.933837890625	31	0	3	0	4	6	5	4	4	3	0	0	2		[M+H-CO]+ 209.866	102	0.984538389507236	0.272856584064167	1	318081.213891104	362282.683355709	1.13896284198581	487682.426012392	514018.73149851	1.05400298243564	0.652230215658871	286740.992464335	406059.984367249	1.4161211512782	1.34356465292514	2.65838950158583e-08	1	404740.758229022	890671.952250002	947099.793464289	616022.058766027	875313.95157372	284793.799791668	23485.5042045458	-1178.1545909088	365558.567795454	485931.19402098	542359.035235267	211281.300537005	470573.193344699	-119946.958437353	-381255.254024476	-405918.91281993	-39182.1904335675	56427.841214287	-274649.893483975	-15358.0006762815	-605878.152458334	-867186.448045456	-891850.106840911	-525113.384454548	-331077.734698262	-71785.8418905685	-662305.993672621	-923614.289259743	-948277.948055197	-581541.225668835	259291.892807693	-331228.258974359	-592536.554561481	-617200.213356936	-250463.490970573	-590520.151782052	-851828.447369174	-876492.106164629	-509755.383778266	-261308.295587122	-285971.954382577	80764.768003786	-24663.6587954546	342073.063590908	366736.722386363	0.190000291626463	0.00525188940601879	0.00263714943088874	0.0913859392741086	0.00320948797034482	0.484956062562708	1	1	1	1	1	1	1	1	0.809623653443725	0.158583999678539	1	1	1	1	1	0.0440855306111766	0.00508593104528542	1	1	1	1	0.056234102161744	0.00384079132054405	1	1	1	0.566413940497949	0.0771487162850107	1	1	0.068895633153238	0.0107139054859003	1	1	0.861913132117375	1	1	1	1	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	-0.123881814728143	0.0238639795711642	-0.122133301890962	0.0237102845976672	0.831073082892667	-0.00924516534081758	-0.00255928417013021	0.0242318421256662	0.00854993232049586	-0.0135641253663558	0.0522903322610117	-0.0481105434281733	0.00268832503326889	-0.0118120732832043	-0.00339364598690961
+M185T338	M184.875T337.57	184.875	184.875	184.875	337.572830200195	337.059295654297	338.192321777344	30	0	6	0	5	4	6	3	4	2	0	0	0		[M+H-CH2]+ 197.874	70	0.756733507648156	0.156023245919422	1	221339.281145251	190885.190173242	0.862409912897369	297380.972634402	257067.317577246	0.864437678375888	0.744295370293795	213035.237592571	163933.082574175	0.769511581401838	0.890187460185218	4.30277547543493e-08	1	309376.34597436	297031.169583332	595671.323028848	263931.002109847	230254.185907051	159582.545746213	-31817.7728825759	582304.378458331	115038.601848484	-12345.1763910275	286294.977054488	-45445.3438645125	-79122.160067309	-149793.800228147	-341194.118856936	272928.032483971	-194337.744125876	298640.153445516	-33100.167473485	-66776.9836762815	-137448.62383712	-328848.942465908	285273.208874999	-181992.567734848	-331740.320919001	-365417.137121797	-436088.777282635	-627489.095911424	-13366.9445705166	-480632.721180364	-33676.8162027965	-104348.456363635	-295748.774992423	318373.376348484	-148892.400261363	-70671.640160838	-262071.958789627	352050.19255128	-115215.584058566	-191400.318628789	422721.832712119	-44543.9438977285	614122.151340907	146856.37473106	-467265.776609847	0.0878136231136391	0.110008848926653	0.000479589205589254	0.410638476805011	0.713902557758242	1	1	0.0100792514380421	1	1	1	1	1	1	0.0233156465308424	1	1	1	1	1	1	0.0192386196102813	1	1	1	1	0.731926152362486	4.64437829959345e-05	1	0.749354263169383	1	1	0.12708657812719	1	1	1	0.270007242411539	1	1	1	1	1	0.00212047724993832	1	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	1	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	-0.0815396661710861	-0.0744396111710504	-0.0794871462293693	-0.075411802431673	0.967552704532223	-0.00688860605982796	0.0177657303822179	0.00655232743415891	0.0407891087823827	-0.0212647929692199	-0.0169284792339249	-0.026292130562648	-0.0125845394855961	0.0293249986793716	-0.0143946096789495
+M188T229	M187.875T229.42	187.875	187.875	187.875	229.415451049805	220.334167480469	236.685607910156	65	0	9	8	5	5	5	6	6	5	8	5	2		[M+H]+ 186.864	118	0.574830107684628	0.160203076897211	1	587588.490400883	512974.388180215	0.873016399334571	491805.806813936	333750.72841914	0.678622992642719	1.19475712214025	434751.099673283	314060.756307389	0.722392091804729	1.06449692927669	8.43364271370043e-09	1	-671575.414645456	-503398.436318182	-411025.794545455	-516182.269645454	-867667.996578789	-650706.840145455	-182914.074212122	-763380.427829546	-804093.139470455	168176.978327274	260549.6201	155393.145000002	-196092.581933333	20868.5745	488661.340433334	-91805.0131840904	-132517.724824999	92372.6417727264	-12783.8333272721	-364269.560260607	-147308.403827274	320484.36210606	-259981.991511364	-300694.703152273	-105156.475099999	-456642.202033333	-239681.0456	228111.720333333	-352354.63328409	-393067.344925	-351485.726933334	-134524.570500001	333268.195433332	-247198.158184092	-287910.869825001	216961.156433333	684753.922366666	104287.568749243	63574.8571083335	467792.765933333	-112673.58768409	-153386.299325	-580466.353617424	-621179.065258333	-40712.711640909	0.0267764927729452	0.546282971060308	0.985030081343979	0.896433797543962	1.6607415922835e-05	0.0303103404900952	1	0.00624703252364336	0.0497342931413399	1	1	1	1	1	0.165791992268157	1	1	1	1	0.642275051796166	1	1	1	1	1	0.336004787546739	1	1	1	1	0.336343012621292	1	1	1	1	1	0.00116117136079064	1	1	0.185858271050253	1	1	0.0887442802113674	0.144822221733723	1	1	0	0	0	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0.0901377229613864	0.11145768935974	0.0930121899390556	0.109633309744159	0.919247162871453	0.0242672462415661	-0.0141788919019078	-0.00413010253675154	0.0264147156296959	0.006507223084323	-0.0351793577427557	-0.00430988831004004	0.0138608090081098	-0.00674950373419256	-0.00893648749137109
+M191T254	M190.875T254.15	190.875	190.875	190.875	254.148574829102	253.383026123047	254.922256469727	23	0	5	1	3	1	1	2	2	3	2	1	2			148	0.404847049588055	0.271347213789449	1	322582.480573131	224297.781761307	0.69531916724925	263542.627130545	142313.612339216	0.540002252723699	1.22402392389198	240781.48511596	153339.464517391	0.636840762251895	1.17932982508824	0.000209826666110165	1	99018.6636499985	87331.326922727	8343.68073181849	81503.9980499985	133486.561350001	48173.805322727	102146.933368181	-87374.56395	139383.360459091	-11687.3367272715	-90674.98291818	-17514.6656	34467.897700002	-50844.8583272715	3128.26971818251	-186393.227599999	40364.696809092	-78987.6461909085	-5827.32887272851	46155.2344272735	-39157.5216	14815.606445454	-174705.890872727	52052.0335363635	73160.31731818	125142.880618182	39830.1245909085	93803.2526363625	-95718.2446818185	131039.679727272	51982.563300002	-33330.1927272715	20642.9353181825	-168878.561999999	57879.362409092	-85312.7560272735	-31339.6279818195	-220861.125300001	5896.79910909	53973.128045454	-135548.369272727	91209.5551363635	-189521.497318181	37236.4270909095	226757.924409091	1	1	1	1	0.82943345411117	1	1	1	1	1	1	1	1	1	1	0.0333847573571752	1	1	1	1	1	1	0.105774876071327	1	1	1	1	0.706151770095151	1	1	1	1	1	0.0771487162850107	1	1	1	0.0109198413823081	1	1	0.836239897866615	1	0.0210853582417561	1	0.21480765421534	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	1	0	0	0.00946255196218957	0.0753307940379584	0.00656641331324368	0.0771824272695015	0.827311725980695	0.00266788050328887	0.00695318826643804	-0.01929744715762	-0.0193574814458455	0.0259269605825563	0.0605087830677183	-0.0311279917065008	0.000511684918057805	-0.0245155415243571	-0.00311986538526846
+M199T338	M198.875T337.61	198.875	198.875	198.875	337.610885620117	336.874603271484	338.05908203125	34	0	4	0	6	2	8	6	5	3	0	0	0		[M+K+NH3]+ 142.886 [M+H]+ 197.874 [M+H-CO]+ 225.865	70	0.801050633257363	0.230839447881815	1	377551.65864252	340230.499398709	0.901149529105505	462088.036237293	414793.750267103	0.897650918739859	0.817055688601811	341068.735645944	319563.397155118	0.936947200833001	1.04377679705192	4.40385233462652e-09	1	523059.969332136	493303.089616882	1039276.59284092	539200.915231933	349481.953390907	195642.824079544	-67458.7093636378	-52931.4740909105	125675.711681817	-29756.8797152531	516216.623508782	16140.9458997974	-173578.015941228	-327417.145252592	-590518.678695773	-575991.443423046	-397384.257650318	545973.503224035	45897.8256150505	-143821.136225975	-297660.265537338	-560761.79898052	-546234.563707793	-367627.377935065	-500075.677608985	-689794.63945001	-843633.768761374	-1106735.30220456	-1092208.06693183	-913600.8811591	-189718.961841025	-343558.091152389	-606659.624595571	-592132.389322843	-413525.203550115	-153839.129311364	-416940.662754545	-402413.427481818	-223806.24170909	-263101.533443182	-248574.298170454	-69967.1123977265	14527.2352727272	193134.421045455	178607.185772728	0.0739421336647729	0.204800752894711	0.000698790830754581	0.179529056239855	0.767797200276359	1	1	1	1	1	1	1	1	1	0.0153492689390872	0.0131187682996511	1	1	1	1	1	0.0225571652648505	0.0380691272939169	1	1	1	0.731926152362486	4.13963413771479e-05	0.000149769065836414	0.749354263169383	1	1	0.0464933307248466	0.0387986667727642	1	1	0.201711313363453	0.4124843153618	1	1	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	-0.129687175695514	0.0417552391008915	-0.128919721616638	0.0425352413272899	0.979839402487761	0.000666987469551953	0.0150569193952422	-0.0240915509498865	0.0557710583353772	0.00155942595506129	0.00767951026825945	-0.0273763975721311	-0.00988714881965948	-0.00615093912554464	-0.0181799614720364
+M208T219	M207.875T218.83	207.875	207.875	207.875	218.831649780273	217.784088134766	220.879348754883	37	0	6	0	4	0	1	2	6	2	7	8	1			71	1.89347377218659	0.2079478839614	1	538848.873807638	1304563.25377995	2.42101879987534	732559.863008257	1450137.19495832	1.97954770413347	0.735569747972343	1182720.52733162	2067199.91378608	1.74783464564529	0.882946463980464	4.40385233462652e-09	1	200808.298195455	47524.8770500002	18937.90745	127596.97985	362941.476549999	214542.257750001	1410956.70018409	5476376.75916923	157245.4989	-153283.421145455	-181870.390745455	-73211.318345455	162133.178354544	13733.9595545455	1210148.40198864	5275568.46097378	-43562.799295455	-28586.9696000002	80072.1027999998	315416.599499999	167017.3807	1363431.82313409	5428851.88211923	109720.62185	108659.0724	344003.569099999	195604.350300001	1392018.79273409	5457438.85171923	138307.59145	235344.496699999	86945.2779000005	1283359.72033409	5348779.77931923	29648.51905	-148399.218799998	1048015.22363409	5113435.28261923	-205695.977649999	1196414.44243409	5261834.50141923	-57296.7588500005	4065420.05898514	-1253711.20128409	-5319131.26026923	0.190000291626463	1	1	0.926494815762478	0.0163895051135988	0.146013066171816	0.000601534063783668	4.11867923433284e-06	1	1	1	1	1	1	1	0.442333822115335	1	1	1	0.78294591403514	1	0.0206454304822157	0.0014860546705725	1	1	0.542591974695788	1	0.00410065165675984	0.000211122065598297	1	1	1	0.440343074447589	0.0517596102615853	1	1	1	1	1	1	0.901555351856074	1	1	1	1	0	0	0	0	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0.0668558245141369	-0.154451684382133	0.0689846954227871	-0.157766604437008	0.992726666636549	-0.0139343733223543	0.00796259967653043	0.0128095427407027	-0.00671722294435951	-0.0101224119887554	-0.0192398404361658	-0.0201993729354328	0.00695252902708673	0.0461925542081828	-0.0050906666115269
+M209T337	M208.875T337.41	208.875	208.875	208.875	337.40852355957	336.457580566406	338.129730224609	26	0	3	0	4	5	7	3	2	1	0	0	1		[3M+H+K]2+ 125.917 [M+H]+ 207.865	70	0.754478258465669	0.199726952759496	1	201781.282909747	167632.708758783	0.830764411552295	219401.174087426	186704.980298475	0.850975301636616	0.919690989572108	153300.258429242	133456.238034669	0.870554553541525	1.02300801429519	8.43364271370043e-09	1	331054.769690561	308273.911313635	410132.730700173	259972.318204546	180316.334113637	119532.793265152	5267.44921969695	55867.6117386369	109780.858079546	-22780.858376926	79077.9610096125	-71082.4514860151	-150738.435576924	-211521.976425409	-325787.320470864	-275187.157951924	-221273.911611015	101858.819386538	-48301.5931090891	-127957.577199998	-188741.118048483	-303006.462093938	-252406.299574998	-198493.053234089	-150160.412495628	-229816.396586536	-290599.937435022	-404865.281480476	-354265.118961536	-300351.872620628	-79655.9840909085	-140439.524939394	-254704.868984849	-204104.706465909	-150191.460125	-60783.5408484855	-175048.88489394	-124448.722375	-70535.4760340915	-114265.344045455	-63665.1815265147	-9751.93518560601	50600.1625189399	104513.408859849	53913.2463409087	0.0153518034982578	0.00765410902822879	0.000214532654363442	0.0709833796124271	0.15296941387555	0.665048480940815	1	1	1	1	1	1	1	1	0.0205696439022416	0.155750088928498	1	1	1	1	1	0.0104379347606139	0.127210308844544	1	1	1	1	0.000108523214829174	0.00771493938108056	1	1	1	0.0925319211333083	0.545046987828237	1	1	0.19992767477345	1	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	1	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.13623177466429	0.0262949938818135	-0.135199746170418	0.0267902710851241	0.854628760380888	-0.00624000723473142	0.0208336844754679	0.0109710359800133	0.0396353739130002	-0.024013905967025	2.50520000256525e-05	-0.0255140179658199	-0.0032715601204584	-0.00301298349696148	-0.012936479719355
+M211T540	M210.875T539.75	210.875	210.875	210.875	539.753051757812	538.963256835938	540.476623535156	39	0	5	0	4	8	8	3	7	3	0	0	1		[M+H]+ 209.866	102	0.97666460292933	0.162248152889309	1	395241.706499745	423278.298086186	1.07093530648557	636277.449189822	654050.280959354	1.02793251873402	0.621178240723461	367238.07778498	590922.058629171	1.60909800583141	1.56537318987936	2.06498874786457e-08	1	590850.520647433	1240676.0934359	1229920.35264744	648088.7151234	1258791.96737821	373431.987769232	-1549.7868269232	-3592.39798076925	458007.171528844	649825.572788464	639069.832000009	57238.1944759665	667941.446730774	-217418.532878201	-592400.307474356	-594442.918628203	-132843.349118589	-10755.7407884551	-592587.378312498	18115.87394231	-867244.105666665	-1242225.88026282	-1244268.49141667	-782668.921907053	-581831.637524043	28871.6147307651	-856488.36487821	-1231470.13947437	-1233512.75062821	-771913.181118598	610703.252254808	-274656.727354167	-649638.501950323	-651681.113104169	-190081.543594555	-885359.979608975	-1260341.75420513	-1262384.36535898	-800784.795849363	-374981.774596156	-377024.385750002	84575.183759612	-2042.61115384605	459556.958355768	461599.569509614	0.421848099148631	0.00887756487397576	0.00859315624251939	0.345069696168096	0.0115564461485147	1	1	1	1	1	1	1	1	1	0.306811499885921	0.235812873422256	1	1	1	1	1	0.00607560596235777	0.00606397299007602	1	1	1	1	0.00461072785354993	0.00625443846225319	1	1	1	0.250853365204562	0.212273688265833	1	1	0.0104234316213117	0.0109198413823081	1	1	0.987167828926748	1	1	1	1	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	-0.126836472533248	0.024847100582248	-0.12538276563495	0.024919120711162	0.905382406478193	-0.0102894976711771	0.0018132279780817	0.0422143167636322	0.00936302825874624	-0.0323892118121599	0.0484360562535515	-0.0506046149371074	0.0060024052432277	-0.0111506000667918	-0.00466613239394512
+M221T389	M220.875T389.45	220.875	220.875	220.875	389.445724487305	386.593811035156	389.9482421875	54	0	8	0	6	7	6	8	8	7	0	0	4			86	0.896070559321904	0.215887776262466	1	757684.122810023	692126.317974857	0.913476074182428	873200.052835654	895056.8868119	1.02503072910414	0.867709662120953	743076.818579559	769352.761872553	1.03536100526352	1.01007801606925	2.8700174532842e-08	1	1279158.26570833	768677.422473518	817253.252826926	1208677.00016987	1124580.04886217	1692641.1129391	-47554.9115416668	-80958.0734280302	1430634.36720833	-510480.843234809	-461905.012881401	-70481.2655384529	-154578.216846153	413482.847230777	-1326713.17724999	-1360116.33913636	151476.101500002	48575.830353408	439999.577696356	355902.626388656	923963.690465585	-816232.334015185	-849635.495901548	661956.944734811	391423.747342948	307326.796035248	875387.860112177	-864808.164368593	-898211.326254956	613381.114381402	-84096.9513077	483964.11276923	-1256231.91171154	-1289635.0735979	221957.367038455	568061.06407693	-1172134.96040384	-1205538.1222902	306054.318346155	-1740196.02448077	-1773599.18636713	-262006.745730775	-33403.1618863634	1478189.27875	1511592.44063636	0.162970273430902	1	0.866961552991033	0.154002054065049	0.218998969623031	0.0515897017982164	1	1	0.689059112519385	1	1	1	1	1	0.0732051552336819	0.00869571739036901	1	1	1	1	1	1	0.353191318252519	1	1	1	1	0.54531223968222	0.156470828398264	1	1	1	0.0713925658780487	0.0103877193954534	1	1	0.107602156923831	0.0166734340595285	1	0.0211087298101045	0.00376750568684553	1	1	0.445230375421418	0.0875623297320344	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	1	0	1	1	0	0	0	0	-0.103417279739064	0.0152737164946881	-0.104256167340277	0.0167424274552888	1.10665696271234	0.00140869771772265	0.00244720944943401	-0.0710464641259798	-0.0102024583342774	0.0477494804424062	0.00095793831531844	0.0885518954377525	-0.0361301750977017	-0.0223424064799844	-0.00191548124731728
+M222T621	M222T620.62	222	222	222	620.623107910156	619.89501953125	621.689270019531	16	0	5	4	1	1	0	3	0	0	2	0	0			68	3.67622970170739	0.150093167047399	1	307323.040891166	739959.880649664	2.40775920511508	171909.573986546	765163.662915304	4.45096596525325	1.78770171878395	198310.966727491	545911.04604636	2.752803110463	0.618473188056914	1.07108117872419e-07	1	-122882.682833334	-88918.9295189391	-151897.116314394	-74424.7333371204	-148140.804859848	-154788.33455303	-65020.9383749992	-90603.1667499999	-138682.665125	33963.7533143945	-29014.4334810604	48457.9494962132	-25258.1220265147	-31905.6517196967	57861.7444583344	32279.5160833337	-15799.9822916664	-62978.1867954549	14494.1961818187	-59221.8753409092	-65869.4050340911	23897.99114394	-1684.23723106076	-49763.7356060609	77472.3829772736	3756.31145454565	-2891.21823863625	86876.1779393949	61293.9495643941	13214.451189394	-73716.0715227279	-80363.6012159098	9403.79496212129	-16178.4334128795	-64257.9317878796	-6647.5296931819	83119.8664848492	57537.6381098484	9458.1397348483	89767.3961780311	64185.1678030304	16105.6694280302	-25582.2283750007	-73661.7267500009	-48079.4983750001	1	1	0.0183369438587421	1	0.101959863279964	0.081980451939507	1	1	1	1	1	1	1	1	1	1	1	0.390408587868349	1	0.433295680015968	0.529296101591271	1	1	1	0.292063779798137	1	1	0.00806393151780875	0.0504971807430101	1	0.336343012621292	0.517596102615853	1	1	1	1	0.0510107022104233	0.243975384120829	1	0.0589956630003782	0.313978604784821	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0.021853290189746	0.045132110753873	0.0218636837074085	0.0450299361283009	0.896826015825492	0.0120023672172764	-0.0183962387809008	-0.0743754991898128	-0.00284274185493784	0.104609931487585	0.0239695336047686	-0.01184638084654	-0.0246705860758619	-0.00237426545492418	-0.00835082833122313
+M223T302	M222.875T301.85	222.875	222.875	222.875	301.848937988281	301.030853271484	302.604919433594	78	0	10	3	8	8	8	8	8	8	5	8	4	[1][M]+		40	0.64998458256605	0.143580213856744	1	2425825.37833189	1913689.70574924	0.788881888549281	2888508.33075612	2310063.8858389	0.799742850398565	0.839819415614042	2715591.19937183	2077679.47125926	0.765092872498583	0.956673600917204	4.19978742001211e-08	1	3531534.85332517	3334258.06367133	2680603.5377803	3184254.28035402	4921058.34559442	4414562.31274825	108125.825479024	1917746.7612771	3903443.6207867	-197276.78965384	-850931.31554487	-347280.57297115	1389523.49226925	883027.459423084	-3423409.02784614	-1613788.09204807	371908.767461535	-653654.52589103	-150003.78331731	1586800.28192309	1080304.24907692	-3226132.2381923	-1416511.30239423	569185.557115375	503650.74257372	2240454.80781412	1733958.77496795	-2572477.71230127	-762856.776503195	1222840.08300641	1736804.0652404	1230308.03239423	-3076128.45487499	-1266507.51907691	719189.340432685	-506496.032846166	-4812932.52011539	-3003311.58431732	-1017614.72480772	-4306436.48726923	-2496815.55147115	-511118.691961549	1809620.93579808	3795317.79530768	1985696.8595096	0.0267764927729452	0.122368296821158	0.559645944203555	0.29233117852073	0.000798069823217951	0.00546339240731242	1	1	0.220504248594156	1	1	1	1	1	0.0385889502053039	0.589294332415026	1	1	1	1	1	0.122223852432579	1	1	1	1	1	0.721505616960892	1	1	1	1	0.367370555961558	1	1	1	0.00251564699071649	0.17218181552716	1	0.0105116015507002	0.556378394845581	1	1	0.307593643658727	1	1	0	0	0	1	1	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	1	0	0	0	0	0	-0.119395131182336	-0.0263527023691348	-0.118892276542838	-0.0257916732710747	0.921234538536723	-0.00845064534731845	0.0174805192269838	-0.0064772982299072	-0.0206908757713118	-0.0159650273402864	0.011182115201374	0.0533994434729428	-0.0221943331699575	-0.00950497621063093	0.00167821142142014
+M223T251	M222.875T250.98	222.875	222.875	222.875	250.982147216797	249.959533691406	251.723999023438	56	0	9	0	6	6	6	7	7	8	3	0	4			155	0.513797501186424	0.191427566915579	1	351375.947359659	236172.641080782	0.672136618500644	361298.885182739	235430.473951376	0.651622475481205	0.972535376581468	289159.84165697	228557.04692375	0.790417665240278	1.21299938995594	4.24978107828238e-07	1	293047.550813636	231547.663677272	302466.701780303	334034.232363635	243172.782363637	490899.852563636	11873.267945454	16542.072472727	426931.938238635	-61499.8871363645	9419.15096666652	40986.681549999	-49874.768449999	197852.30175	-281174.282868182	-276505.478340909	133884.387424999	70919.038103031	102486.568686364	11625.1186863655	259352.188886364	-219674.395731818	-215005.591204545	195384.274561363	31567.5305833325	-59293.9194166655	188433.150783333	-290593.433834849	-285924.629307576	124465.236458332	-90861.449999998	156865.6202	-322160.964418181	-317492.159890908	92897.7058749995	247727.070199999	-231299.514418183	-226630.70989091	183759.155874998	-479026.584618182	-474357.780090909	-63967.914325001	4668.80452727302	415058.670293181	410389.865765908	0.416701608105464	1	0.432717869460653	0.167966415235898	0.791091484560623	0.012499556400217	1	1	0.220504248594156	1	1	1	1	1	0.374664284310931	0.205924404272402	1	1	1	1	1	1	0.73344583435415	1	1	1	1	0.45425377168063	0.366192322274499	1	1	1	0.167393537027227	0.0802919068843935	1	1	0.919572544652132	0.704941958615046	1	0.0128307897410501	0.00803621997676973	1	1	0.272157453958819	0.111241447268848	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	-0.104079389519349	0.0119057228101115	-0.105792463790524	0.0143892653822166	1.09968791167829	-0.000844576296600369	-0.0066126411077666	-0.0410734491647545	-0.00525194481623592	0.0288712439467856	-0.0333487539636196	0.102354460975837	-0.0319788330150987	-0.0208006970090383	0.0119366525353279
+M223T584	M222.875T584.13	222.875	222.875	222.875	584.130615234375	583.216064453125	586.021728515625	53	0	7	0	7	8	7	7	8	7	0	0	2			15	1.04701665755012	0.219189968192738	1	964233.60359779	1064302.79502003	1.10378106617406	1133743.6616676	1317093.8859172	1.16172105780941	0.850486433749511	717563.579909616	730513.840511469	1.01804754444684	0.876327012929	2.09297104124653e-08	1	1447775.33903572	1713698.81714288	895300.818995881	1754950.97529121	1202324.87441483	1895144.50942858	36651.3011593402	83253.9484587903	1043913.98440935	265923.478107165	-552474.520039835	307175.636255495	-245450.464620885	447369.17039286	-1411124.03787638	-1364521.39057693	-403861.354626367	-818397.998147001	41252.1581483299	-511373.94272805	181445.692285695	-1677047.51598354	-1630444.86868409	-669784.832733532	859650.15629533	307024.055418951	999843.690432696	-858649.517836541	-812046.87053709	148613.165413468	-552626.10087638	140193.534137365	-1718299.67413187	-1671697.02683242	-711036.990881862	692819.635013745	-1165673.57325549	-1119070.92595604	-158410.890005482	-1858493.20826924	-1811890.56096979	-851230.525019228	46602.6472994502	1007262.68325001	960660.035950559	0.0187410975709301	0.00150700227473821	0.284337567883728	0.00519804149451478	0.0776780483829923	0.00491390102484709	1	1	1	1	1	1	1	1	0.0936980610884037	0.240975701213034	1	1	1	1	1	0.00706527037967482	0.0335573565016449	1	1	1	1	0.865921783425981	1	1	1	1	0.0482551154177424	0.131789033492782	1	1	0.283048611075974	0.945772052458004	1	0.027534362166476	0.221937281094264	1	1	1	1	1	1	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	1	0	0	0	0	0	-0.113885460828245	0.0338914630894571	-0.111904348349784	0.0333490357313774	0.863182511151785	-0.00998942220590499	0.0155139111450051	0.0246024553889589	-0.0243251962598477	-0.00683313593562596	-0.0347478415366367	0.0555774948026706	-0.00951131915254739	-0.0095433789787465	-0.001021935460978
+M224T302	M223.875T301.89	223.875	223.875	223.875	301.892364501953	301.314971923828	302.604919433594	29	0	4	0	4	3	2	2	4	6	0	1	3	[1][M+1]+		40	0.74981832832384	0.169780738401642	1	276542.968837121	233885.480274805	0.845747339946147	359004.991950098	311286.588185866	0.867081503504928	0.77030396523166	252318.897116262	187439.562730791	0.742867715708283	0.856744968847166	1.81214124879043e-07	1	390558.20910985	417854.642818181	321822.833704545	328903.948	579014.011972732	614230.139287879	-1718.23279090875	243957.72815	432216.761227269	27296.433708331	-68735.3754053049	-61654.26110985	188455.802862882	223671.930178029	-392276.441900759	-146600.48095985	41658.5521174185	-96031.809113636	-88950.694818181	161159.369154551	196375.496469698	-419572.87560909	-173896.914668182	14362.1184090875	7081.11429545499	257191.178268187	292407.305583333	-323541.066495454	-77865.1055545455	110393.927522723	250110.063972732	285326.191287878	-330622.180790909	-84946.2198500005	103312.813227268	35216.1273151465	-580732.244763641	-335056.283822733	-146797.250745464	-615948.372078787	-370272.411137879	-182013.37806061	245675.960940908	433934.994018177	188259.033077269	0.0520303745315453	0.156012642922554	0.561335391009766	0.22660217291154	0.0031179499431329	0.00469152737667881	1	1	0.588066279796376	1	1	1	1	1	0.0650379681644316	0.949700840088349	1	1	1	1	1	0.127210308844544	1	1	1	1	1	0.645213093114674	1	1	1	1	0.243704223697317	1	1	1	0.00584615614337418	0.518701233858961	1	0.00469152737667881	0.594406729658818	1	1	0.718747675306682	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	1	0	0	0	0	0	-0.109208862384284	-0.0207880454618235	-0.108198838509507	-0.0206921236567175	0.941551725641102	-0.00528140710171225	0.0154590017427064	-0.0190442998815238	-0.0181288362205413	-0.00732723100708936	-0.00207174678138697	0.0742044087822575	-0.0238773437706658	-0.0100163120783903	-0.00538234837743607
+M224T687	M224T687.49	224	224	224	687.493957519531	686.777526855469	688.337890625	30	0	10	3	2	5	0	3	1	2	2	0	2			7	5.67532566101817	0.180897284183331	1	498150.219859948	785718.516662038	1.57727224708028	2609422.43877967	13502883.2081496	5.17466356059403	0.190904398021853	167601.595703846	301675.942909858	1.79995865578108	0.347840711710821	6.28019579671287e-08	1	-242216.465583334	5160.07085256244	-353480.704352565	8113.90392948745	-353452.169929488	-305581.352371795	-230807.294537879	-349330.081429488	95286.0473243609	247376.536435896	-111264.238769231	250330.369512821	-111235.704346154	-63364.8867884611	11409.1710454555	-107113.615846154	337502.512907695	-358640.775205127	2953.83307692502	-358612.24078205	-310741.423224358	-235967.365390441	-354490.15228205	90125.9764717985	361594.608282052	28.5344230771007	47899.3519807698	122673.409814686	4150.622923077	448766.751676926	-361566.073858975	-313695.256301283	-238921.198467366	-357443.985358975	87172.1433948735	47870.8175576927	122644.875391609	4122.0884999999	448738.217253849	74774.0578339166	-43748.7290576928	400867.399696156	-118522.786891609	326093.341862239	444616.128753849	1	1	0.0299560345919346	1	0.096583438487779	0.881287594335867	1	0.0369711501868467	1	1	1	1	1	1	1	0.5802037386472	1	0.168869838480836	1	0.292043497476492	1	1	0.00890180874724319	1	0.292063779798137	1	1	0.637736075952888	1	0.329000949375124	0.295769201494773	1	1	0.0232466653624233	1	1	1	1	0.760409608825299	1	1	1	0.890379564254393	1	0.0875623297320344	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	-0.0132813020051836	0.0221910927923224	-0.0135512135118903	0.0217320581609634	1.24625156212321	0.00217486185969	-0.026120448321899	-0.103547955160044	-0.00610246700069756	0.149545694986276	0.0336549339505577	-0.0187607511933132	-0.0284340056876944	-0.00172845002785298	-0.000936513147873186
+M227T338	M226.875T337.58	226.875	226.875	226.875	337.581817626953	336.875305175781	338.150177001953	43	0	6	0	6	6	7	5	7	4	0	0	2	[2][M]+	[M+K+HCOOH]+ 141.91 [M+Na+HCOOH]+ 157.884 [M+H+HCOOH]+ 179.866 [M+H]+ 225.865	70	0.986229507217535	0.232345192832512	1	1033964.11015913	1109622.71431469	1.07317333688102	1204865.31542605	1311151.8242449	1.08821443148711	0.858157419689277	834146.655382961	1090522.39521065	1.30735091745946	1.20137252331132	4.40385233462652e-09	1	1955975.93366434	1688585.35403146	3727684.4528409	1670411.95481818	1490954.79793357	684711.189401511	-15412.2355454547	-27197.6358484849	689056.342136366	-267390.57963288	1771708.51917656	-285563.978846165	-465021.13573077	-1271264.74426283	-1971388.1692098	-1983173.56951283	-1266919.59152798	2039099.09880944	-18173.3992132852	-197630.55609789	-1003874.16462995	-1703997.58957692	-1715782.98987995	-999529.011895096	-2057272.49802273	-2236729.65490733	-3042973.26343939	-3743096.68838636	-3754882.08868939	-3038628.11070454	-179457.156884605	-985700.765416665	-1685824.19036363	-1697609.59066666	-981355.61268181	-806243.60853206	-1506367.03347903	-1518152.43378206	-801898.455797205	-700123.424946966	-711908.825249996	4345.15273485507	-11785.4003030302	704468.577681821	716253.977984851	0.0662093247050997	0.173000726922042	0.000502334091579404	0.283774813779326	0.435216979222943	1	1	1	1	1	1	1	1	1	0.0206205138104043	0.0114275799456898	1	1	1	1	1	0.0321589209587451	0.0285543587846227	1	1	1	0.731926152362486	5.1191131458031e-05	9.2887565991869e-05	0.749354263169383	1	1	0.0933019745582415	0.0532375347093203	1	1	0.165082954730744	0.186515991301677	1	1	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.133020250193382	0.0340554032934015	-0.13247629350402	0.0349913497529916	1.00279033693218	-0.000569460884880202	0.0159758217443712	-0.0215915042437728	0.0565055155700939	-0.00710139266476601	0.0151799506464746	-0.0330694014289961	-0.00700917029857247	-0.00730793699599191	-0.0151351256024216
+M228T1015	M228T1015.11	228	228	228	1015.10528564453	1014.01623535156	1016.30590820312	91	16	8	6	8	7	8	7	7	6	6	7	4		[3M+2Na+K-H]2+ 124.032	80	0.285468277109378	0.166851621623893	1	2546717.51297606	811080.771829102	0.318480855334946	2406266.11110982	921068.082394224	0.382778977828603	1.05836902295127	2607797.80657126	949465.867104471	0.364087225133773	0.951168288287767	0.00861547299587116	1	536758.226639675	177923.464775665	519641.617335175	314991.403406605	215392.71028754	356621.97238464	-112535.79516482	159400.57747255	1465697.83769233	-358834.76186401	-17116.6093044998	-221766.82323307	-321365.516352135	-180136.254255035	-649294.021804495	-377357.649167125	928939.61105265	341718.15255951	137067.93863094	37469.245511875	178698.507608975	-290459.259940485	-18522.8873031149	1287774.37291666	-204650.21392857	-304248.907047635	-163019.644950535	-632177.412499995	-360241.039862625	946056.22035715	-99598.6931190649	41630.5689780349	-427527.198571425	-155590.825934055	1150706.43428572	141229.2620971	-327928.50545236	-55992.1328149899	1250305.12740478	-469157.76754946	-197221.39491209	1109075.86530768	271936.37263737	1578233.63285714	1306297.26021977	0.785593844230855	1	0.973637600983286	1	1	1	1	1	0.244843573226488	1	1	1	1	1	0.503746033615199	1	1	1	1	1	1	1	1	1	1	1	1	0.800918022761534	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0.227000408099834	0.665909551604991	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.044338654397043	-0.00902501377670319	-0.0478047927536492	-0.00545807037526273	0.943103535474312	-0.00252946473594677	0.00202791319593959	-0.00908461287737081	0.0106770624395242	0.00651701832307739	-0.0344469712413637	-0.0150585213516782	-0.0153568982292881	-0.000412743721158633	0.0792560105889958
+M229T1015	M229T1015.02	229	229	229	1015.02197265625	1013.82305908203	1016.19293212891	37	9	5	2	3	3	5	2	2	4	0	1	1			37	0.360333352924585	0.208145277315178	1	383317.880399165	165324.480685949	0.431298640475081	336562.643356668	143957.378153132	0.427728332287238	1.13891986518821	423085.013303749	137591.681399631	0.32521048269996	0.760320180243678	0.00618370051692817	1	90370.4638636345	26173.470113634	186518.400273893	28057.419469695	84042.7013636355	45624.2645815835	-29583.4178030295	155575.181363635	206955.941666663	-64196.9937500005	96147.9364102585	-62313.0443939395	-6327.76249999902	-44746.199282051	-119953.881666664	65204.7175	116585.477803029	160344.930160259	1883.94935606103	57869.2312500015	19450.7944679495	-55756.8879166635	129401.711250001	180782.471553029	-158460.980804198	-102475.698910258	-140894.13569231	-216101.818076923	-30943.2189102585	20437.54139277	55985.2818939405	17566.8451118885	-57640.8372727245	127517.76189394	178898.522196968	-38418.436782052	-113626.119166665	71532.4799999991	122913.240303028	-75207.682384613	109950.916782051	161331.67708508	185158.599166664	236539.359469693	51380.7603030285	1	1	0.563138922804635	1	1	1	1	1	1	1	1	1	1	1	0.490778302836757	1	1	1	1	1	1	1	1	1	1	1	1	0.0397243067414785	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0.404564471369492	0.272157453958819	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.0361333744877717	-0.0510467925214001	-0.0377946765532089	-0.0489770740245191	0.792012335640663	0.00470801959680193	0.00593902477539162	-0.0447736715755812	0.03138618765114	0.00929657786681806	0.000863848539188484	-0.0182673069213605	-0.0255281712529799	0.00965492759520821	0.0367239022052539
+M237T589	M237T588.7	237	237	237	588.702331542969	588.25146484375	589.793701171875	33	0	8	0	8	2	0	6	1	7	0	0	1			62	1.81372670037139	0.173017998017958	1	471456.606255951	700450.027146888	1.48571473567732	516530.140711984	811624.468540371	1.57130127473613	0.912737842570226	984267.219310835	2418480.91825938	2.45713854003261	1.56376029189262	5.1755786000237e-09	1	1192656.51881732	152329.795983972	6335.41290064099	737390.794009613	107959.613275642	1279845.65746017	-16352.751823718	4753.80838141	355670.194278847	-1040326.72283335	-1186321.10591668	-455265.724807704	-1084696.90554168	87189.1386428503	-1209009.27064104	-1187902.71043591	-836986.324538471	-145994.383083331	585060.998025641	-44370.1827083305	1127515.8614762	-168682.54780769	-147575.987602562	203340.398294875	731055.381108972	101624.200375001	1273510.24455953	-22688.164724359	-1581.604519231	349334.781378206	-629431.180733972	542454.863450555	-753743.545833331	-732636.985628203	-381720.599730766	1171886.04418453	-124312.36509936	-103205.804894232	247710.581003205	-1296198.40928389	-1275091.84907876	-924175.463181321	21106.560205128	372022.946102565	350916.385897437	0.0153518034982578	0.588977482932942	1	0.0174848764770531	0.713902557758242	0.0131684273847224	1	1	1	1	0.142771793923114	1	1	1	0.0119347965151171	0.0235182841927279	1	1	1	1	1	0.190075339499036	0.755489147227918	1	0.813363470312501	1	0.348847367968538	1	1	1	1	1	0.0153631652821762	0.0387986667727642	1	1	0.376852597053223	1	1	0.00469152737667881	0.0575608640749083	1	1	0.965002670501975	1	1	0	0	1	0	1	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	1	0	0	0	0	0	-0.0425287134497358	0.0129290457662705	-0.0415645512098049	0.0120129403372293	1.22353814767589	0.0020670378053379	0.00266980596402906	-0.0616900986174283	-0.020721223364349	0.0578485584194845	-0.0382286963337422	0.109048683288971	-0.0293794067948767	-0.011010931318389	-0.0145734316315373
+M237T507	M237T506.53	237	237	237	506.528350830078	505.624542236328	507.116790771484	25	0	4	0	4	8	1	5	0	3	0	0	0			127	1.01865281763957	0.235510690078879	1	266747.756433983	246188.472324805	0.922926121726291	395195.698150977	426118.430841148	1.07824663283242	0.674976366600218	171228.554719805	159284.30294444	0.930243808955165	0.862737504230857	1.29888166922749e-08	1	558788.105475646	729535.345511362	227793.725511363	858237.884415213	164774.147397727	207174.440352272	-5934.20173863664	30928.6415113636	233988.748261363	170747.240035716	-330994.379964283	299449.778939567	-394013.958077919	-351613.665123374	-564722.307214283	-527859.463964283	-324799.357214283	-501741.619999999	128702.538903851	-564761.198113635	-522360.90515909	-735469.547249999	-698606.703999999	-495546.597249999	630444.15890385	-63019.5781136365	-20619.285159091	-233727.92725	-196865.084	6195.02275	-693463.737017486	-651063.444062941	-864172.08615385	-827309.24290385	-624249.13615385	42400.2929545455	-170708.349136364	-133845.505886363	69214.6008636365	-213108.642090909	-176245.798840909	26814.307909091	36862.8432500003	239922.95	203060.10675	0.0187410975709301	0.00338351772061892	0.274421379152007	0.00362352531530441	0.852536488474477	0.19497635500955	1	1	1	1	1	1	1	1	0.0153492689390872	0.0640807210680339	1	1	1	1	1	0.00209637249226374	0.0156681247002895	1	1	1	1	0.209044471003802	0.989664916837192	1	1	1	0.00832133958057202	0.024459015560437	1	1	0.831101406879003	1	1	0.258036266265595	0.939922611486728	1	1	1	1	1	1	0	1	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	-0.105185350016504	0.0466218615750193	-0.104115153831864	0.0467357796330289	0.891833906654555	-0.0137272439333442	0.00967200917063598	0.0230135919642622	-0.0235782037750281	0.0405376583149518	-0.0357171453843086	0.0173451149222268	-0.0120735609763845	-0.00178039267908318	-0.00507393174834298
+M245T458	M245T457.72	245	245	245	457.721374511719	457.333526611328	458.681579589844	17	0	5	2	1	0	0	1	2	1	4	0	1			58	1.52447574918459	0.334348661020358	1	1430940.98768608	2258010.24516098	1.57798977357712	846819.034346843	1253911.39993487	1.48073124135905	1.68978368417259	883292.908953789	1776285.13300152	2.01098085923211	1.35809983814915	1.60047485244443e-07	1	-3764670.28512823	-4275675.93275322	-4281606.83916989	-3524208.64991989	-3823742.67633655	-4135895.3621661	-2660050.50923078	-4332831.72071155	-4036715.1502911	-511005.647624996	-516936.554041662	240461.635208337	-59072.3912083295	-371225.077037875	1104619.77589744	-568161.435583329	-272044.865162875	-5930.90641666634	751467.282833333	451933.256416667	139780.570587121	1615625.42352244	-57155.7879583331	238960.782462122	757398.189249999	457864.162833333	145711.477003788	1621556.3299391	-51224.8815416667	244891.688878788	-299534.026416666	-611686.712246211	864158.140689104	-808623.070791666	-512506.500371211	-312152.685829545	1163692.16710577	-509089.044375	-212972.473954545	1475844.85293532	-196936.358545455	99180.211875	-1672781.21148077	-1376664.64106032	296116.570420455	0.986579945203516	0.00765410902822879	0.00611999351372969	1	0.875610020800817	0.19497635500955	1	2.2258987798305e-05	1	1	1	1	1	1	1	0.135089521109692	1	1	1	1	1	0.0450471447540403	1	1	1	1	1	0.0609239595160724	1	1	1	1	1	0.0623584685898382	1	1	1	0.187662739102251	1	1	0.972199260281788	1	0.000816615822179768	1	1	0	1	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0.0916984744893706	0.0951129097817655	0.0945020820042159	0.0926417695467078	0.85314626213304	0.0266370998785443	-0.00756509324717087	-0.0583653844484794	0.00163357932352279	0.035652056721652	0.036273167883196	-0.02012919253789	0.0025631750156681	-0.0156922589926474	-0.00138419472224557
+M246T512	M246T512.25	246	246	246	512.251037597656	511.492340087891	513.263793945312	48	0	7	4	3	4	0	5	2	6	8	8	1			225	1.36086854087834	0.161038610753495	1	602860.498952085	811567.686370073	1.34619482912012	759852.758985677	1101614.20629598	1.44977325313199	0.793391208787396	390439.831645514	565254.077160012	1.4477367095917	0.998595267545533	3.20989182410439e-06	1	-279702.961270082	-170213.894114315	-442271.669197647	-220202.362289314	-352226.138322647	111688.840356842	2226561.72179914	1573733.0231453	-308258.062739314	109489.067155768	-162568.707927565	59500.598980768	-72523.177052565	391391.801626924	2506264.68306922	1853435.98441538	-28555.101469232	-272057.775083332	-49988.4681749995	-182012.244208333	281902.734471156	2396775.61591346	1743946.91725961	-138044.168625	222069.306908333	90045.5308749996	553960.509554489	2668833.39099679	2016004.69234294	134013.606458333	-132023.776033333	331891.202646156	2446764.08408846	1793935.38543461	-88055.70045	463914.978679489	2578787.86012179	1925959.16146794	43968.075583333	2114872.8814423	1462044.18278845	-419946.903096156	-652828.698653845	-2534819.78453846	-1881991.08588461	1	1	0.17221765141277	1	1	1	1	1	1	1	1	1	1	1	0.47812569548436	0.505407207722699	1	1	1	1	1	0.332597440281889	0.41905309463558	1	1	1	0.731926152362486	0.000174572533440998	0.000403003770794362	1	1	1	0.352690438013638	0.366340491295074	1	1	0.0481762727143938	0.086475463891154	1	1	1	1	1	1	0.981228837017391	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0.0785637324739241	-0.0615174512918641	0.0814402941927495	-0.0663789463548332	0.885121104823677	-0.0122943578093426	0.00284085924818777	0.0248209847093911	-0.0121946145226485	-0.0306542958069354	-0.0387324649701559	0.0128695431749367	0.0371786719940852	0.0154873374949238	0.000932284329303806
+M246T490	M246T490.33	246	246	246	490.332672119141	489.325378417969	491.331573486328	20	0	1	6	1	0	0	1	1	1	5	4	0			104	1.45774245205707	0.248906664746694	1	193966.462671027	323651.087764569	1.66859303050492	135031.53956809	187343.420868419	1.38740490901351	1.43645301898687	62694.2149545455	56646.7427714119	0.903540188077669	0.651244767989265	3.43759495488573e-07	1	-391000.171213284	-430211.228406466	-438470.22816783	-393458.492948133	-415742.31566783	-418630.019535254	-221348.990874124	-248618.02375874	-410765.200554194	-39211.0571931817	-47470.0569545457	-2458.3217348484	-24742.1444545457	-27629.8483219699	169651.180339161	142382.147454545	-19765.0293409092	-8258.999761364	36752.7354583333	14468.9127386359	11581.2088712117	208862.237532343	181593.204647727	19446.0278522725	45011.7352196973	22727.9124999999	19840.2086325757	217121.237293707	189852.204409091	27705.0276136365	-22283.8227196973	-25171.5265871215	172109.502074009	144840.469189393	-17306.7076060608	-2887.7038674242	194393.324793707	167124.291909091	4977.11511363655	197281.028661131	170011.995776515	7864.81898106075	-27269.032884616	-189416.20968007	-162147.176795454	0.53884006951412	0.00525188940601879	0.000214532654363442	0.339954842830098	0.178851598723933	0.249609355839394	1	1	1	1	1	1	1	1	1	0.994905086161942	1	1	1	1	1	0.0300572197732871	0.0405363212480202	1	1	1	1	0.00231083133864827	0.0043478586951845	1	1	1	1	1	1	1	0.788062887003309	0.960464783082816	1	1	1	1	1	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0.103348998569405	0.0517718558846239	0.107080298618677	0.0486478982957395	0.657783344147598	0.0249914397296833	-0.00523388425714745	-0.0316015649626693	0.00114272784392066	0.00905302797008989	0.0083192795878198	-0.0053418762792199	0.000169868998959489	-0.000635177928272007	-0.00118723548761828
+M247T433	M247T433.32	247	247	247	433.317993164062	432.237213134766	438.034820556641	53	0	7	5	5	6	1	7	7	4	7	0	4	[3][M]+		3	1.59824448907224	0.193410302605114	1	16684736.0538948	21487152.7308117	1.28783294272107	22804654.5731282	38293603.669807	1.67920121512957	0.731637306778377	10984823.9642482	16518883.6528089	1.50379138587674	0.895539719914213	2.30096479208929e-08	1	-15368268.7206155	-27403775.7084616	-28553751.8890321	-25651729.2067308	6156102.3217281	-25900719.4467308	91430912.8263166	-28781467.2721155	-22979366.8823462	-12035506.9878461	-13185483.1684166	-10283460.4861153	21524371.0423436	-10532450.7261153	106799181.546932	-13413198.5514999	-7611098.1617307	-1149976.18057051	1752046.50173078	33559878.0301897	1503056.26173078	118834688.534778	-1377691.56365384	4424408.82611538	2902022.68230129	34709854.2107602	2653032.4423013	119984664.715349	-227715.383083333	5574385.00668589	31807831.5284589	-248990.239999995	117082642.033047	-3129738.06538462	2672362.3243846	-32056821.7684589	85274810.5045885	-34937569.5938435	-29135469.2040743	117331632.273047	-2880747.82538463	2921352.5643846	-120212380.098432	-114410279.708663	5802100.38976923	1	0.62637216720255	0.0517450788648141	0.63810379062818	1	0.906506087404006	1	0.000465860553836387	1	1	1	1	1	1	0.778802790281718	0.0651929444348308	1	1	1	1	1	0.0321589209587451	0.821844493207784	1	1	0.542591974695788	1	0.00137351006067186	1	1	1	1	0.0713925658780487	0.806309117180248	1	1	1	0.00480728521235152	1	0.185858271050253	0.951415916965706	1	1.09325036254382e-05	1	1	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	1	0	0	0	0	1	0	0	0.0766795727698551	0.0330822866661399	0.0768546282256959	0.0300845688416268	1.0239054136662	-0.00759402142613454	0.00493982148200861	0.00404343175197649	-0.00490847690144063	-0.0244140030729876	0.0353044499280766	-0.041537190937431	0.0542320294808649	-0.0166770225737309	-0.00465775935761223
+M247T452	M247T451.94	247	247	247	451.937652587891	450.494750976562	452.778442382812	42	0	7	5	4	2	0	4	7	2	7	1	3			2	1.8377037387191	0.244212966980515	1	19304952.0532017	33519245.0029629	1.73630293981507	26880324.4295464	50698463.1885802	1.88608077709261	0.718181512421852	11819323.2613698	17126211.9235465	1.44900105909801	0.768260340011335	2.49219151582956e-08	1	-33753647.3201108	-47935476.7556905	-48398434.5852921	-44493130.4251136	-26009907.6709789	-47899330.2753187	79150613.6447565	-48380365.685652	-45919891.3204432	-14181829.4355797	-14644787.2651813	-10739483.1050028	7743739.6491319	-14145682.9552079	112904260.964867	-14626718.3655412	-12166244.0003324	-462957.82960165	3442346.33057691	21925569.0847116	36146.480371793	127086090.400447	-444888.92996154	2015585.43524726	3905304.16017856	22388526.9143132	499104.309973443	127549048.230049	18068.89964011	2478543.26484891	18483222.7541347	-3406199.85020512	123643744.06987	-3887235.26053845	-1426760.89532966	-21889422.6043398	105160521.315735	-22370458.0146731	-19909983.6494643	127049943.920075	-481035.410333333	1979438.95487547	-127530979.330409	-125070504.9652	2460474.3652088	1	0.142860249286221	0.00340361641125619	0.623482950882014	1	0.145573456625699	1	0.00100452749709622	1	1	0.853616919920412	1	1	1	1	0.135089521109692	1	1	1	1	1	0.0192386196102813	1	1	1	0.753731737479433	1	0.000195532482727151	1	1	1	1	0.167393537027227	1	1	1	1	0.16435353379916	1	0.0368763865055973	1	1	0.000218074803729207	0.952292907483213	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	0	0	1	0	0	0.091753767865359	0.0446838070450432	0.092301955312918	0.0415876509851634	0.955182473964829	-0.00347714415713541	0.00486365058095565	0.00566371621314946	-0.00219648342173977	-0.0227149030736593	0.019556875728226	-0.0385409138583456	0.051452931197038	-0.0134572941942532	-0.00158112169303428
+M248T433	M248T433.34	248	248	248	433.344421386719	432.868927001953	434.076232910156	21	0	2	4	4	2	1	2	3	1	1	0	1	[3][M+1]+		3	1.59105092227126	0.195371307889308	1	2480421.37630339	3152657.65535375	1.27101696730747	3650972.15175104	6060161.14033005	1.65987602436889	0.679386550542094	1475786.50491227	2195945.58877151	1.4879832424691	0.896442397277746	4.773430784793e-08	1	-2739827.41789012	-4955739.00484205	-5230013.3627424	-4680735.35170831	-290587.31514015	-4793582.28301512	11405571.3388791	-5244229.58089013	-4366350.91241285	-2215911.58695193	-2490185.94485228	-1940907.93381819	2449240.10274997	-2053754.865125	14145398.7567692	-2504402.16300001	-1626523.49452274	-274274.35790035	275003.653133739	4665151.6897019	162156.721826926	16361310.3437212	-288490.576048077	589388.092429193	549278.011034089	4939426.04760225	436431.079727275	16635584.7016215	-14216.2181477271	863662.450329543	4390148.03656816	-112846.931306813	16086306.6905874	-563494.229181816	314384.439295454	-4502994.96787497	11696158.6540193	-4953642.26574998	-4075763.5972727	16199153.6218942	-450647.297875002	427231.370602268	-16649800.9197692	-15771922.251292	877878.66847727	1	0.484956062562708	0.0198799385219586	0.572663311384915	1	0.818139520392214	1	0.000670032036274832	1	1	1	1	1	1	1	0.0855114980718842	1	1	1	1	1	0.0451868594618056	1	1	1	0.511110245388196	1	0.00122458360600508	1	1	1	1	0.102255603050087	0.995768466265046	1	1	1	0.0109198413823081	1	0.286627885894778	1	1	6.71566038179527e-05	1	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	1	0	0	0	0	1	0	0	0.0754386891546208	0.0389644791000116	0.0761626600718895	0.0355489196859176	0.982410254264297	-0.0052484689379685	0.00562640551091897	0.00057722146859454	-0.0047664319253731	-0.0231805850209919	0.0360495254609746	-0.0415532546203595	0.0506421498287382	-0.0163366643818511	-0.00248746602677586
+M251T497	M251T497.27	251	251	251	497.265563964844	496.463073730469	498.130004882812	40	0	10	0	7	5	8	6	4	0	0	0	0	[4][M]+		48	1.96330612768638	0.192700519895792	1	594224.888258475	760181.506434167	1.27928250979536	830581.94802374	1732410.35548682	2.08577896450659	0.715431980760423	470765.000605745	589833.527563223	1.25292561427521	0.600699132360655	4.40385233462652e-09	1	1134403.32500595	588126.095775001	2271314.33274221	681184.090368591	222643.283208332	115010.017125	20934.5024455127	118566.445916667	147021.61709936	-546277.229230951	1136911.00773626	-453219.23463736	-911760.041797619	-1019393.30788095	-1113468.82256044	-1015836.87908928	-987381.707906592	1683188.23696721	93057.9945935905	-365482.812566668	-473116.078650001	-567191.593329488	-469559.649858334	-441104.478675641	-1590130.24237362	-2048671.04953388	-2156304.31561721	-2250379.8302967	-2152747.88682554	-2124292.71564285	-458540.807160259	-566174.073243591	-660249.587923079	-562617.644451924	-534162.473269232	-107633.266083333	-201708.78076282	-104076.837291665	-75621.6661089725	-94075.514679487	3556.42879166751	32011.59997436	97631.9434711545	126087.114653847	28455.1711826925	0.00167856221956239	0.0423819319773948	0.000180194833037384	0.0126014251063582	0.130663082205757	1	1	1	1	1	1	1	1	1	0.0119347965151171	0.167152646122065	1	1	1	1	1	0.0736009146440274	1	1	1	1	0.348847367968538	9.72490468141253e-05	0.0342305095602272	0.839196132637624	1	1	0.0482551154177424	0.663202132762032	1	1	0.257440023468061	1	1	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	-0.0796581437347518	0.0142906583647421	-0.0786307180833142	0.0145006539974833	1.02928876647475	0.00595945208680263	0.0105091897933218	-0.0412767508271973	0.0672067515661371	-0.00259731666322669	0.0034343444116026	-0.0305368378746691	-0.00479150392731767	-0.000205182851374312	-0.0105855867743487
+M257T1014	M257.125T1013.9	257.125	257.125	257.125	1013.90087890625	1012.74542236328	1014.60961914062	73	0	7	7	6	6	7	5	8	7	8	8	4	[6][M]+		249	0.881053983255579	0.186470621075041	1	2202927.69616102	2148769.26942137	0.975415249972102	2007043.93637984	1762758.42680569	0.878285918336807	1.09759814233788	2962754.71167807	3892125.71725248	1.31368476165481	1.49573701937805	0.000735874327862404	1	360206.855659325	209756.191802205	571728.23862636	488120.774230775	430960.14299267	595510.248154765	421896.24071429	1297235.2564286	9971716.53213556	-150450.66385712	211521.382967035	127913.91857145	70753.287333345	235303.39249544	61689.385054965	937028.400769275	9611509.67647623	361972.046824155	278364.58242857	221203.951190465	385754.05635256	212140.048912085	1087479.0646264	9761960.34033335	-83607.4643955848	-140768.09563369	23782.009528405	-149831.99791207	725507.01780224	9399988.2935092	-57160.631238105	107389.47392399	-66224.533516485	809114.482197825	9483595.75790478	164550.105162095	-9063.90227838	866275.11343593	9540756.38914289	-173614.007440475	701725.008273835	9376206.28398079	875339.01571431	9549820.29142127	8674481.27570696	1	1	1	1	1	1	1	0.0229412592270268	0.0668266484078959	1	1	1	1	1	1	0.637446710130497	1	1	1	1	1	1	0.0904684115481689	0.356408471275657	1	1	1	1	1	1	1	1	1	1	1	1	1	0.639059057632441	1	1	1	1	1	0.864938217980779	1	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-0.0083626096415401	-0.0416427934267406	-0.0106486882570648	-0.039765504390462	1.72565015970653	-0.00477543679721769	-0.0281135207826401	-0.0119711230496188	-0.0122760173542411	0.0145888092804331	-0.0294872643686666	-0.0529647825012226	-0.00758914454936816	0.00100245807777303	0.180847689248479
+M261T332	M261T331.57	261	261	261	331.569473266602	330.826965332031	332.320007324219	46	0	9	0	6	5	5	5	5	7	0	0	4	[7][M]+		57	1.04326999694138	0.221252808937921	1	1146683.03090926	1186248.76846245	1.03450451126133	1145403.0063442	1327072.12823314	1.1586071634898	1.0011175320459	919208.931999451	1174249.82975397	1.27745694028425	1.10257987395527	4.40385233462652e-09	1	3708696.83879167	1199629.11970834	1182375.57066666	2175988.65623076	1469656.86694872	622503.69551282	292955.338295453	-112722.763935607	558652.956707152	-2509067.71908333	-2526321.26812501	-1532708.18256091	-2239039.97184295	-3086193.14327885	-3415741.50049621	-3821419.60272727	-3150043.88208451	-17253.5490416749	976359.536522425	270027.747240385	-577125.424195516	-906673.781412883	-1312351.88364394	-640976.163001184	993613.0855641	287281.29628206	-559871.875153841	-889420.232371208	-1295098.33460227	-623722.613959509	-706331.78928204	-1553484.96071794	-1883033.31793531	-2288711.42016637	-1617335.69952361	-847153.171435901	-1176701.52865327	-1582379.63088433	-911003.910241569	-329548.357217367	-735226.459448427	-63850.7388056681	-405678.10223106	265697.618411698	671375.720642759	0.00139002475692429	0.218861820635036	0.193929048539156	0.00482795212523277	0.0509098162949605	1	1	1	1	1	1	1	1	1	0.0191097224190392	2.03460175168813e-05	1	1	1	1	1	0.887240474852222	0.0308625758419715	1	1	1	1	0.942236742973925	0.0420005984433424	1	1	1	0.0713925658780487	0.000728869250554339	1	1	0.350219990140754	0.0109198413823081	1	1	0.951550886136829	1	1	1	1	1	0	0	1	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	1	0	0	0	1	0	0	0	0	0	0	0	-0.0955479004664773	0.0474159124863094	-0.0956108691815066	0.0479267590250545	1.1753217493328	-0.0082863984982916	0.0640358876530409	-0.0618603905583846	-0.00919670186957342	0.0539591279777716	0.045494114757647	-0.0516806945814743	-0.0130716890731868	-0.00514638420130288	-0.0195804521557219
+M263T323	M263T323.29	263	263	263	323.286376953125	317.427062988281	324.498107910156	95	0	10	8	7	3	1	8	7	5	8	2	3	[8][M]+		25	1.24549325872202	0.169688974744568	1	4856126.41100817	6417229.02375924	1.32147075274076	3269419.74893288	4306448.22482372	1.31719037490653	1.48531751317437	2850327.25225239	3833675.62917697	1.34499490405795	1.02110896775524	1.30827348411226e-07	1	-10747041.5308823	-13490591.7476515	-13452461.0366136	-11300186.1489015	-11332369.7322848	-12211498.8419752	-4048990.23979574	-13581671.4958788	-12655268.6170606	-2743550.21676924	-2705419.50573137	-553144.618019246	-585328.201402571	-1464457.31109296	6698051.29108652	-2834629.96499652	-1908227.08617834	38130.711037879	2190405.59875	2158222.01536667	1279092.90567629	9441601.50785576	-91079.748227274	835323.13059091	2152274.88771212	2120091.3043288	1240962.19463841	9403470.79681788	-129210.459265153	797192.419553031	-32183.583383325	-911312.69307371	7251195.90910576	-2281485.34697727	-1355082.46815909	-879129.109690385	7283379.49248909	-2249301.76359395	-1322898.88477576	8162508.60217947	-1370172.65390356	-443769.77508538	-9532681.25608304	-8606278.37726485	926402.878818184	1	0.00765410902822879	0.00267847637147507	0.838782008701031	0.660394577658549	0.19497635500955	1	0.00012469466674357	0.627859985085531	1	1	1	1	1	1	0.182190863683119	1	1	1	1	1	0.0192386196102813	1	1	1	1	1	0.00908419374209192	1	1	1	1	1	0.367815979832692	1	1	1	0.632284650795659	1	0.753705194106446	1	1	0.000950448517736164	1	1	0	1	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0.10766040080656	0.100365831043394	0.108802051106214	0.0987892780891889	0.861169551654294	0.0236849274997751	0.00167571590625499	-0.0522278718910634	0.00931335493080596	0.0263424077901622	0.0245391324631854	-0.0190290011300382	0.0116801484011658	-0.0161456190570957	-0.0135144337547376
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/w4m_general_purpose_routines.R	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,283 @@
+# prepare.data.matrix - Prepare x.datamatrix for multivariate statistical analaysis (MVA)
+#   - Motivation:
+#     - Selection:
+#       - You may want to exclude several samples from your analysis:
+#         - If so, set the argument 'exclude.samples' to a vector of sample names
+#       - You may want to exclude several features or features from your analysis:
+#         - If so, set the argument 'exclude.features' to a vector of feature names
+#     - Renaming samples:
+#       - You may want to rename several samples from your analysis:
+#         - If so, set the argument 'sample.rename.function' to a function accepting a vector 
+#           of sample names and producing a vector of strings of equivalent length
+#     - MVA is confounded by missing values.
+#       - By default, this function imputes missing values as zero.
+#       - For a different imputation, set the 'data.imputation' argument to a function
+#         accepting a single matrix argument and returning  a matrix of the same
+#         dimensions as the argument.
+#     - Transformation
+#       - It may be desirable to transform the intensity data to reduce the range.
+#       - By default, this function performs an eigth-root transformation:
+#         - Any root-tranformation has the advantage of never being negative.
+#         - Calculation of the eight-root is four times faster in my hands than log10.
+#         - However, it has the disadvantage that calculation of fold-differences 
+#           is not additive as with log-transformation.
+#           - Rather, you must divide the values and raise to the eighth power.
+#       - For a different transformation, set the 'data.transformation' argument
+#           to a function accepting a single matrix argument.
+#         - The function should be written to return a matrix of the same dimensions
+#           as the argument.
+# arguments:
+#   - x.matrix - matrix of intensities (or data.frame of sample metadata)
+#     - one row per sample
+#     - one column per feature or metadata attribute
+#   - exclude.samples - vector of labels of matrix rows (samples) to omit from analysis
+#   - exclude.features - vector of labels of matrix columnss (features) to omit from analysis
+#   - sample.rename.function - function to be used to rename rows if necessary, or NULL
+#     - e.g., sample.rename.function = function(x) {
+#               sub("(.*)_.*","\\1", row.names(x))
+#             }
+#   - data.imputation - function applied to matrix to impute missing values
+#     - e.g., data.imputation = function(m) {
+#               m[is.na(m)] <- min(m, na.rm = TRUE) / 100
+#               return (m)
+#             }
+#   - data.transformation - function applied to matrix cells
+#     - e.g., data.transformation = function(x) { return( log10(x) ) }
+#         or, data.transformation = log10
+# result value:
+#   transformed, imputed x.datamatrix with renamed rows and with neither excluded values nor features
+#
+################################
+##
+##  Notes regarding the effectiveness and performance of the data transformation method.
+##
+##  The two transformations that I tried (log10 and 8th root) required different imputation methods.
+##
+##  For the LCMS resin data set that I was working with, separation in MVA was nearly equivalent for:
+##    data.imputation <- function(x.matrix) {
+##      x.matrix[is.na(x.matrix)] <- 0
+##      return (x.matrix)
+##    }
+##    data.transformation <- function(x) {
+##      sqrt( sqrt( sqrt(x) ) )
+##    }
+##  and
+##    data.imputation <- function(x.matrix) {
+##      x.matrix[is.na(x.matrix)] <- min(x.matrix, na.rm = TRUE) / 100
+##      return (x.matrix)
+##    }
+##    data.transformation <- function(x) {
+##      log10(x)
+##    }
+##
+##  Note further that triple application of the square root:
+##  - may be four times faster than log10:
+##  - may be three times faster than log2:
+##
+##      system.time( junk <- sqrt( sqrt( sqrt(1:100000000) ) ) )
+##         user  system elapsed
+##        0.832   0.236   1.069
+##      system.time( junk <- log10(1:100000000) )
+##         user  system elapsed
+##        3.936   0.400   4.337
+##      system.time( junk <- log2(1:100000000) )
+##         user  system elapsed
+##        2.784   0.320   3.101
+##
+################################
+#
+prepare.data.matrix <- function(
+  x.matrix
+, exclude.samples = NULL
+, exclude.features = NULL
+, sample.rename.function = NULL
+, data.imputation =
+    function(m) {
+      # replace NA values with zero
+      m[is.na(m)] <- 0
+      # replace negative values with zero, if applicable (It should never be applicable!)
+      if (min(m < 0)) {
+        m <- matrix(lapply(X = m, FUN = function(z) {max(z,0)}), nrow = nrow(m) )
+      }
+      # return matrix as the result
+      return (m)
+    }
+, data.transformation = function(x) {
+    sqrt( sqrt( sqrt(x) ) )
+  }
+, en = new.env()
+) {
+  # MatVar - Compute variance of rows or columns of a matrix
+  # ref: http://stackoverflow.com/a/25100036
+  # For row variance, dim == 1, for col variance, dim == 2
+  MatVar <- function(x, dim = 1) {
+    if (dim == 1) {
+      dim.x.2 <- dim(x)[2]
+      if ( dim.x.2 == 0 )
+        stop("MatVar: there are zero columns")
+      if ( dim.x.2 == 1 ) {
+        stop("MatVar: a single column is insufficient to calculate a variance")
+        # return ( rep.int(x = 0, times = nrow(x)) )
+      } else {
+        return ( rowSums( (x    - rowMeans(x))^2 ) / ( dim(x)[2] - 1 ) )
+      }
+    } else if (dim == 2) {
+      dim.x.1 <- dim(x)[1]
+      if ( dim.x.1 == 0 ) {
+        stop("MatVar: there are zero rows")
+      }
+      if ( dim.x.1 == 1 ) {
+        stop("MatVar: a single row is insufficient to calculate a variance")
+        # return ( rep.int(x = 0, times = ncol(x)) )
+      } else {
+        return ( rowSums( (t(x) - colMeans(x))^2 ) / ( dim(x)[1] - 1 ) )
+      }
+    } else stop("Please enter valid dimension, for rows, dim = 1; for colums, dim = 2")
+  }
+
+  nonzero.var <- function(x) {
+    if (nrow(x) == 0) {
+      print(str(x))
+      stop("matrix has no rows")
+    }
+    if (ncol(x) == 0) {
+      print(str(x))
+      stop("matrix has no columns")
+    }
+    if ( is.numeric(x) ) {
+      # exclude any rows with zero variance
+      row.vars <- MatVar(x, dim = 1)
+      nonzero.row.vars <- row.vars > 0
+      nonzero.rows <- row.vars[nonzero.row.vars]
+      if ( length(rownames(x)) != length(rownames(nonzero.rows)) ) {
+        row.names <- attr(nonzero.rows,"names")
+        x <- x[ row.names, , drop = FALSE ]
+      }
+      
+      # exclude any columns with zero variance
+      column.vars <- MatVar(x, dim = 2)
+      nonzero.column.vars <- column.vars > 0
+      nonzero.columns <- column.vars[nonzero.column.vars]
+      if ( length(colnames(x)) != length(colnames(nonzero.columns)) ) {
+        column.names <- attr(nonzero.columns,"names")
+        x <- x[ , column.names, drop = FALSE ]
+      }
+    }
+    return (x)
+  }
+
+  if (is.null(x.matrix)) {
+    stop("FATAL ERROR - prepare.data.matrix was called with null x.matrix")
+  }
+
+  en$xpre <- x <- x.matrix
+
+  # exclude any samples as indicated
+  if ( !is.null(exclude.features) ) {
+    my.colnames <- colnames(x)
+    my.col.diff <- setdiff(my.colnames, exclude.features)
+    x <- x[ , my.col.diff , drop = FALSE ]
+  }
+
+  # exclude any features as indicated
+  if ( !is.null(exclude.samples) ) {
+    my.rownames <- rownames(x)
+    my.row.diff <- setdiff(my.rownames, exclude.samples)
+    x <- x[ my.row.diff, , drop = FALSE ]
+  }
+
+  # rename rows if desired
+  if ( !is.null(sample.rename.function) ) {
+    renamed <- sample.rename.function(x)
+    rownames(x) <- renamed
+  }
+
+  # save redacted x.datamatrix to environment
+  en$redacted.data.matrix <- x
+
+  # impute values missing from the x.datamatrix
+  if ( !is.null(data.imputation) ) {
+    x <- data.imputation(x)
+  }
+
+  # perform transformation if desired
+  if ( !is.null(data.transformation) ) {
+    x <- data.transformation(x)
+  } else {
+    x <- x
+  }
+
+  # purge rows and columns that have zero variance
+  if ( is.numeric(x) ) {
+    x <- nonzero.var(x)
+  }
+
+  # save imputed, transformed x.datamatrix to environment
+  en$imputed.transformed.data.matrix <- x
+
+  return(x)
+}
+
+
+##-----------------------------------------------
+## helper functions for error detection/reporting
+##-----------------------------------------------
+
+# log-printing to stderr
+log_print <- function(x, ...) { 
+  cat(
+    format(Sys.time(), "%Y-%m-%dT%H:%M:%S%z")
+  , " "
+  , c(x, ...)
+  , "\n"
+  , sep=""
+  , file=stderr()
+  )
+}
+
+# tryCatchFunc produces a list
+#   On success of expr(), tryCatchFunc produces
+#     list(success TRUE, value = expr(), msg = "")
+#   On failure of expr(), tryCatchFunc produces
+#     list(success = FALSE, value = NA, msg = "the error message")
+tryCatchFunc <- function(expr) {
+  # format error for logging
+  format_error <- function(e) {
+    paste(c("Error { message:", e$message, ", call:", e$call, "}"), collapse = " ")
+  }
+  my_expr <- expr
+  retval <- NULL
+  tryCatch(
+    expr = {
+      retval <- ( list( success = TRUE, value = my_expr(), msg = "" ) )
+    }
+  , error = function(e) {
+      retval <<- list( success = FALSE, value = NA, msg = format_error(e) )
+    }
+  )
+  return (retval)
+}
+
+# tryCatchProc produces a list
+#   On success of expr(), tryCatchProc produces
+#     list(success TRUE, msg = "")
+#   On failure of expr(), tryCatchProc produces
+#     list(success = FALSE, msg = "the error message")
+tryCatchProc <- function(expr) {
+  # format error for logging
+  format_error <- function(e) {
+    paste(c("Error { message:", e$message, ", call:", e$call, "}"), collapse = " ")
+  }
+  retval <- NULL
+  tryCatch(
+    expr = {
+      expr()
+      retval <- ( list( success = TRUE, msg = "" ) )
+    }
+  , error = function(e) {
+      retval <<- list( success = FALSE, msg = format_error(e) )
+    }
+  )
+  return (retval)
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/w4mkmeans.xml	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,319 @@
+<tool id="w4mkmeans" name="Kmeans_for_W4M" version="0.98.1">
+  <description>Calculate K-means for dataMatrix features or samples</description>
+
+  <requirements>
+    <requirement type="package" version="3.3.2">r-base</requirement>
+    <requirement type="package" version="1.1_4">r-batch</requirement>
+  </requirements>
+
+  <stdio>
+    <exit_code range="1:" level="fatal" />
+  </stdio>
+
+
+  <command detect_errors="aggressive"><![CDATA[
+    Rscript $__tool_directory__/w4mkmeans_wrapper.R
+      tool_directory $__tool_directory__
+      data_matrix_path '$dataMatrix_in'
+      variable_metadata_path '$variableMetadata_in'
+      sample_metadata_path '$sampleMetadata_in'
+      ksamples '$ksamples'
+      kfeatures '$kfeatures'
+      iter_max '$iter_max'
+      nstart '$nstart'
+      algorithm '$algorithm'
+      scores_out '$scores_out'
+      sampleMetadata_out '$sampleMetadata_out'
+      variableMetadata_out '$variableMetadata_out'
+      slots "\${GALAXY_SLOTS:-1}"
+    ; echo exit code $?
+  ]]></command>
+
+  <inputs>
+    <param name="dataMatrix_in" label="Data matrix file" type="data" format="tabular" help="variable x sample, decimal: '.', missing: NA, mode: numerical, separator: tab" />
+    <param name="sampleMetadata_in" label="Sample metadata file" type="data" format="tabular" help="sample x metadata columns, separator: tab" />
+    <param name="variableMetadata_in" label="Variable metadata file" type="data" format="tabular" help="variable x metadata columns, separator: tab" />
+    <param name="ksamples" label="K value(s) for samples" type="text" value = "0" help="[ksamples] Single K or comma-separated Ks for samples, or 0 for none." />
+    <param name="kfeatures" label="K value(s) for features" type="text" value = "0" help="[kfeatures] Single K or comma-separated Ks for features (variables), or 0 for none." />
+    <param name="iter_max" label="Max number of iterations" type="text" value = "10" help="[iter_max] The maximum number of iterations allowed; default 10." />
+    <param name="nstart" label="Number of random sets" type="text" value = "1" help="[nstart] How many random sets should be chosen; default 1." />
+    <param name="algorithm" label="Algorithm for clustering" type="select" value = "Hartigan-Wong" help="[algorithm] K-means clustering algorithm, default 'Hartigan-Wong'; alternatives 'Lloyd', 'MacQueen'; 'Forgy' is a synonym for 'Lloyd', see references for further info.">
+      <option value="Forgy">Forgy</option>
+      <option value="Hartigan-Wong" selected="True">Hartigan-Wong</option>
+      <option value="Lloyd">Lloyd</option>
+      <option value="MacQueen">MacQueen</option>
+    </param>
+  </inputs>
+
+  <outputs>
+    <data name="sampleMetadata_out" label="${tool.name}_${sampleMetadata_in.name}" format="tabular" ></data>
+    <data name="variableMetadata_out" label="${tool.name}_${variableMetadata_in.name}" format="tabular" ></data>
+    <data name="scores_out" label="${tool.name}_${dataMatrix_in.name}.kmeans" format="tabular" ></data>
+  </outputs>
+
+  <tests>
+        <test>
+      <param name="dataMatrix_in" value="input_dataMatrix.tsv"/>
+      <param name="sampleMetadata_in" value="input_sampleMetadata.tsv"/>
+      <param name="variableMetadata_in" value="input_variableMetadata.tsv"/>
+      <param name="ksamples" value="3,4"/>
+      <param name="kfeatures" value="5,6,7"/>
+      <param name="iter_max" value="10"/>
+      <param name="nstart" value="1"/>
+      <param name="algorithm" value="Hartigan-Wong"/>
+      <output name="scores_out">
+        <assert_contents>
+          <has_text     text="proportion" />
+          <has_text     text="0.87482" />
+          <has_text     text="0.89248" />
+          <has_text     text="0.95355" />
+          <has_text     text="0.95673" />
+          <has_text     text="0.95963" />
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+
+  <help>
+    <![CDATA[
+
+**Author** - Arthur Eschenlauer (University of Minnesota, esch0041@umn.edu)
+
+---------------------------------------------------------------------------
+
+
+**Source** - The source code for the w4mkmeans tool is available (from the Hegeman lab github repository) at https://github.com/HegemanLab/w4mkmeans_galaxy_wrapper
+
+**R code used** - The R code invoked by this wrapper is the R 'stats::kmeans' package
+
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+**Tool updates**
+
+See the **NEWS** section at the bottom of this page
+
+---------------------------------------------------
+
+===========================
+K-means for W4M data matrix
+===========================
+
+-----------
+Description
+-----------
+
+Calculate K-means for sample-clusters (or feature-clusters, or both) using W4M dataMatrix (i.e., XCMS-preprocessed data files) as input.
+
+*Please note that XCMS refers to features as 'variables'.  This documentation does not use either term consistently.*
+
+
+-----------------
+Workflow Position
+-----------------
+
+  - Tool category: Statistical Analysis
+  - Upstream tool category: Preprocessing
+  - Downstream tool categories: Statistical Analysis
+
+
+----------
+Motivation
+----------
+
+This tool clusters samples, features (variables), or both from the W4M dataMatrix and writes the results to new columns in sampleMetadata, variableMetadata, or both, respectively.
+
+  - If several, comma-separated K's are supplied, then one column is added for each K.
+  - This clustering is **not** hierarchical; each member of a cluster is not a member of any other cluster.
+  - For feature-clustering, each feature is assigned to a cluster such that the feature's response for all samples is closer to the mean of all features for that cluster than to the mean for any other cluster.
+  - For sample-clustering, each sample is assigned to a cluster such that the sample's response for all features is closer to the mean of all samples for that cluster than to the mean for any other cluster.
+
+
+-----------
+Input files
+-----------
+
++--------------------------------------------+------------+
+| File                                       |   Format   |
++============================================+============+
+|     Data matrix                            |   tabular  |
++--------------------------------------------+------------+
+|     Sample metadata                        |   tabular  |
++--------------------------------------------+------------+
+|     Variable (i.e., feature) metadata      |   tabular  |
++--------------------------------------------+------------+
+
+
+----------
+Parameters
+----------
+
+**Data matrix** - input-file dataset
+
+  - XCMS variable x sample 'dataMatrix' (tabular separated values) file of the numeric data matrix, with . as decimal, and NA for missing values; the table must not contain metadata apart from row and column names; the row and column names must be identical to the rownames of the sample and feature metadata, respectively (see below)
+
+**Sample metadata** - input-file dataset
+
+  - XCMS sample x metadata 'sampleMetadata' (tabular separated values) file of the numeric and/or character sample metadata, with . as decimal and NA for missing values
+
+**Feature metadata** - input-file dataset
+
+  - XCMS variable x metadata 'variableMetadata' (tabular separated values) file of the numeric and/or character feature metadata, with . as decimal and NA for missing values
+
+**kfeatures** - K or K's for features (default = 0)
+
+  - integer or comma-separated integers ; zero (the default) or less will result in no calculation.
+
+**ksamples** - K or K-range for samples (default = 0)
+
+  - integer or comma-separated integers ; zero (the default) or less will result in no calculation.
+
+**iter_max** - maximum_iterations (default = 10)
+
+  - maximum number of iterations per calculation (see https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html).
+
+**nstart** - how many random sets should be chosen (default = 1)
+
+  - maximum number of iterations per calculation (see https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html).
+
+------------
+Output files
+------------
+
+**XCMS sampleMetadata** - (tabular separated values) file identical to the Sample metadata file given as an input argument, excepting one column added for each K
+
+  - **k#** - cluster number for clustering samples with K = #
+
+**XCMS variableMetadata** - (tabular separated values) file identical to the Feature metadata file given as an input argument, excepting one column added for each K
+
+  - **k#** - cluster number for clustering features with K = #
+
+**scores** - (tabular separated values) file with one line for each K.
+
+  - **clusterOn** - what was clustered - either 'sample' or 'feature'
+  - **k** - the chosen K for clustering
+  - **totalSS** - total (*between-treatements* plus total of *within-treatements*) sum of squares
+  - **betweenSS** - *between-treatements* sum of squares
+  - **proportion** - betweenSS / totalSS
+
+---------------
+Working example
+---------------
+
+**Input files**
+
++-------------------+-------------------------------------------------------------------------------------------------------------------+
+| Input File        | Download from URL                                                                                                 |
++===================+===================================================================================================================+
+| Data matrix       | https://raw.githubusercontent.com/HegemanLab/w4mkmeans_galaxy_wrapper/master/test-data/input_dataMatrix.tsv       |
++-------------------+-------------------------------------------------------------------------------------------------------------------+
+| Sample metadata   | https://raw.githubusercontent.com/HegemanLab/w4mkmeans_galaxy_wrapper/master/test-data/input_sampleMetadata.tsv   |
++-------------------+-------------------------------------------------------------------------------------------------------------------+
+| Feature metadata  | https://raw.githubusercontent.com/HegemanLab/w4mkmeans_galaxy_wrapper/master/test-data/input_variableMetadata.tsv |
++-------------------+-------------------------------------------------------------------------------------------------------------------+
+
+**Other input parameters**
+
++-----------------+---------------+
+| Input Parameter | Value         |
++=================+===============+
+| ksamples        | 3,4           |
++-----------------+---------------+
+| kfeatures       | 5,6,7         |
++-----------------+---------------+
+| iter_max        | 10            |
++-----------------+---------------+
+| nstart          | 1             |
++-----------------+---------------+
+| algorithm       | Hartigan-Wong |
++-----------------+---------------+
+
+----
+NEWS
+----
+
+August 2017, Version 0.98.1 - First release
+
+---------
+Citations
+---------
+
+    ]]>
+  </help>
+  <citations>
+    <citation type="bibtex"><![CDATA[
+@incollection{RCoreTeam2017,
+  title = {stats::kmeans - K-Means Clustering},
+  booktitle = {R: A Language and Environment for Statistical Computing},
+  author = {{R Core Team}},
+  publisher = {R Foundation for Statistical Computing},
+  address = {Vienna, Austria},
+  year = {2017},
+  url = {https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html},
+}
+    ]]></citation>
+    <!-- Forgy algorithm -->
+    <citation type="bibtex"><![CDATA[
+@article{forgy65,
+  added-at = {2006-03-23T12:22:43.000+0100},
+  author = {Forgy, E.},
+  biburl = {https://www.bibsonomy.org/bibtex/21e31409932ce91df646c4731350e1207/hotho},
+  interhash = {c86383cba8cfe00d5e6ef200016aca3f},
+  intrahash = {1e31409932ce91df646c4731350e1207},
+  journal = {Biometrics},
+  keywords = {clustering kmeans},
+  number = 3,
+  pages = {768-769},
+  timestamp = {2006-03-23T12:22:43.000+0100},
+  title = {Cluster Analysis of Multivariate Data: Efficiency versus Interpretability of Classification},
+  volume = 21,
+  year = 1965
+}
+    ]]></citation>
+    <!-- W4M 3.0 - Guitton et al. 2017-->
+    <citation type="doi">10.1016/j.biocel.2017.07.002</citation>
+    <!-- W4M 2.5 - Giacomini et al. 2014 -->
+    <citation type="doi">10.1093/bioinformatics/btu813</citation>
+    <!-- Hartigan and Wong algorithm -->
+    <citation type="bibtex"><![CDATA[
+@article{Hartigan79,
+  added-at = {2007-02-27T16:22:09.000+0100},
+  author = {Hartigan, J. and Wong, M.},
+  biburl = {https://www.bibsonomy.org/bibtex/23d8bfc440c5725783876929c022f67ce/pierpaolo.pk81},
+  description = {WSD},
+  interhash = {10d6d33920d9af578a4d0a556dc1477d},
+  intrahash = {3d8bfc440c5725783876929c022f67ce},
+  journal = {Applied Statistics},
+  keywords = {imported},
+  pages = {100-108},
+  timestamp = {2007-02-27T16:22:11.000+0100},
+  title = {Algorithm AS136: A k-means clustering algorithm},
+  volume = 28,
+  year = 1979
+}
+    ]]></citation>
+    <!-- Lloyd algorithm -->
+    <citation type="doi">10.1109/TIT.1982.1056489</citation>
+    <!-- MacQueen algorithm -->
+    <citation type="bibtex"><![CDATA[
+@inproceedings{MacQueen1967,
+  added-at = {2011-01-11T13:35:01.000+0100},
+  author = {MacQueen, J. B.},
+  biburl = {https://www.bibsonomy.org/bibtex/25dcdb8cd9fba78e0e791af619d61d66d/enitsirhc},
+  booktitle = {Proc. of the fifth Berkeley Symposium on Mathematical Statistics and Probability},
+  editor = {Cam, L. M. Le and Neyman, J.},
+  interhash = {8d7d4dfe7d3a06b8c9c3c2bb7aa91e28},
+  intrahash = {5dcdb8cd9fba78e0e791af619d61d66d},
+  keywords = {kmeans clustering},
+  pages = {281-297},
+  publisher = {University of California Press},
+  timestamp = {2011-01-11T13:35:01.000+0100},
+  title = {Some Methods for Classification and Analysis of MultiVariate Observations},
+  volume = 1,
+  year = 1967
+}
+    ]]></citation>
+  </citations>
+  <!--
+     vim:et:sw=2:ts=2:
+--> </tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/w4mkmeans_routines.R	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,216 @@
+##------------------------------------------------------------------------------------------------------
+## these are the batch-independent and file-structure-independent routines to support the w4mkmeans tool
+##------------------------------------------------------------------------------------------------------
+
+library(parallel)
+
+w4kmeans_usage <- function() {
+  return ( 
+    c(
+     "w4mkmeans: bad input.",
+     "# contract:",
+     "    required - caller will provide an environment comprising:",
+     "      log_print        - a logging function with the signature function(x, ...) expecting strings as x and ...",
+     "      variableMetadata - the corresponding W4M data.frame having feature metadata",
+     "      sampleMetdata    - the corresponding W4M data.frame having sample metadata",
+     "      dataMatrix       - the corresponding W4M matrix",
+     "      slots            - the number of parallel slots for calculating kmeans",
+     "    optional - environment may comprise:",
+     "      kfeatures        - an array of integers, the k's to apply for clustering by feature (default, empty array)",
+     "      ksamples         - an array of integers, the k's to apply for clustering by sample (default, empty array)",
+     "      iter.max         - the maximum number of iterations when calculating a cluster (default = 10)",
+     "      nstart           - how many random sets of centers should be chosen (default = 1)",
+     "      algorithm        - string from c('Hartigan-Wong', 'Lloyd', 'Forgy', 'MacQueen') (default = Hartigan-Wong)",
+     "      ",
+     "    this routine will return a list comprising:",
+     "      variableMetadata - the input variableMetadata data.frame with updates, if any",
+     "      sampleMetadata   - the input sampleMetadata data.frame with updates, if any",
+     "      scores           - an array of strings, each representing a line of a tsv having the following header:",
+     "                           clusterOn TAB k TAB totalSS TAB betweenSS TAB proportion"
+    )
+  )
+}
+
+w4mkmeans <- function(env) {
+  # abort if 'env' is null or is not an environment
+  if ( is.null(env) || ! is.environment(env) ) {
+    lapply(w4kmeans_usage(),print)
+  } 
+  # supply default arguments
+  if ( ! exists("iter.max" , env) ) env$iter.max  <- 10
+  if ( ! exists("nstart"   , env) ) env$nstart    <- 1
+  if ( ! exists("algorithm", env) ) env$algorithm <- 'Hartigan-Wong'
+  if ( ! exists("ksamples" , env) ) env$ksamples  <- c()
+  if ( ! exists("kfeatures", env) ) env$kfeatures <- c()
+  # check mandatory arguments
+  expected <- c(
+    "log_print"
+  , "variableMetadata"
+  , "sampleMetadata"
+  , "dataMatrix"
+  , "slots"
+  )
+  missing_from_env <- setdiff(expected, (ls(env)))
+  if ( length(missing_from_env) > 0 ) {
+    print(paste(c('expected environment members not found: ', as.character(missing_from_env)), collapse = ", "))
+    lapply(w4kmeans_usage(),print)
+    stop("w4mkmeans: contract has been broken")
+  } 
+  # extract parameters from 'env'
+  failure_action  <- env$log_print
+  scores          <- c( "clusterOn\tk\ttotalSS\tbetweenSS\tproportion" )
+  sampleMetadata  <- env$sampleMetadata
+  featureMetadata <- env$variableMetadata
+  ksamples        <- as.numeric(env$ksamples)
+  kfeatures       <- as.numeric(env$kfeatures)
+  slots           <- env$slots
+
+  myLapply <- parLapply
+  # uncomment the next line to mimic parLapply, but without parallelization (for testing/experimentation)
+  # myLapply <- function(cl, ...) lapply(...)
+  cl <- NULL
+  if ( identical(myLapply, parLapply) ) {
+    failure_action(sprintf("w4mkmeans: using parallel evaluation with %d slots", slots))
+    failure_action(names(cl))
+    cl <- makePSOCKcluster(names = slots)
+    # from ?makePSOCKcluster: "It is good practice to shut down the workers by calling stopCluster."
+    clusterExport(
+      cl = cl
+    , varlist = c(
+        "tryCatchFunc"
+      , "calc_kmeans_one_dimension_one_k"
+      , "prepare.data.matrix"
+      )
+    )
+    final <- function(cl) {
+      # from ?makePSOCKcluster: "It is good practice to shut down the workers by calling stopCluster."
+      if ( !is.null(cl) ) {
+        failure_action("w4mkmeans: stopping cluster used for parallel evaluation")
+        stopCluster(cl)
+      }
+    }
+  } else {
+    failure_action("w4mkmeans: using sequential evaluation (1 slot)")
+    final <- function(cl) { }
+  }
+
+  tryCatch(
+    expr = {
+      # These myLapply calls produce lists of lists of results:
+      #   - The outer list has no keys and its members are accessed by index
+      #   - The inner list has keys "clusters" and "scores"
+
+      # for each $i in ksamples, append column 'k$i' to data frame sampleMetadata
+      ksamples_length <- length(ksamples)
+      if ( ksamples_length > 0 ) {
+        smpl_result_list <- myLapply( 
+            cl = cl
+          , ksamples
+          , calc_kmeans_one_dimension_one_k
+          , env = env
+          , dimension = "samples"
+          )
+        for ( i in 1:ksamples_length ) {
+          result <- smpl_result_list[[i]]
+          if (result$success) {
+            sampleMetadata[sprintf("k%d",ksamples[i])] <- result$value$clusters
+            scores <- c(scores, result$value$scores)
+          }
+        }
+      }
+
+      # for each $i in kfeatures, append column 'k$i' to data frame featureMetadata
+      kfeatures_length <- length(kfeatures)
+      if ( kfeatures_length > 0 ) {
+        feat_result_list <- myLapply( 
+            cl = cl
+          , kfeatures
+          , calc_kmeans_one_dimension_one_k
+          , env = env
+          , dimension = "features"
+          )
+        for ( i in 1:kfeatures_length ) {
+          result <- feat_result_list[[i]]
+          if (result$success) {
+            featureMetadata[sprintf("k%d",kfeatures[i])] <- result$value$clusters
+            scores <- c(scores, result$value$scores)
+          }
+        }
+      }
+
+      return ( 
+        list(
+          variableMetadata = featureMetadata
+        , sampleMetadata   = sampleMetadata  
+        , scores           = scores          
+        )
+      )
+    }
+  , finally = final(cl)
+  )
+}
+
+# calculate k-means for features or samples
+#   - recall that the dataMatrix has features in rows and samples in columns
+# return value:
+#   list(clusters = km$cluster, scores = scores) 
+# arguments:
+#   env:
+#     environment having dataMatrix
+#   dimension:
+#   - "samples":  produce clusters column to add to the sampleMetadata table
+#     - this is the default case
+#   - "variables":  produce clusters column to add to the variableMetadata table
+#   k:
+#     integer, the number of clusters to make
+calc_kmeans_one_dimension_one_k <- function(k, env, dimension = "samples") {
+  # abort if environment is not as expected
+  if ( is.null(env) || ! is.environment(env) ) {
+    stop("calc_kmeans_one_dimension_one_k - argument 'env' is not an environment")
+  } 
+  if ( ! exists("log_print", env) || ! is.function(env$log_print) ) {
+    stop("calc_kmeans_one_dimension_one_k - argument 'env' - environment does not include log_print or it is not a function")
+  } 
+  # abort if k is not as expected
+  if ( ! is.numeric(k) ) {
+    stop(sprintf("calc_kmeans_one_dimension_one_k - expected numeric argument 'k' but type is %s", typeof(k)))
+  } 
+  k <- as.integer(k)
+  # abort if dimension is not as expected
+  if (   ! is.character(dimension) 
+      || ! Reduce( f =`|`, x = sapply(X = c("features","samples"), FUN = `==`, dimension), init = FALSE) ) {
+    stop("calc_kmeans_one_dimension_one_k - argument 'dimension' is neither 'features' nor 'samples'")
+  } 
+  dm           <- env$dataMatrix
+  iter.max     <- env$iter.max
+  nstart       <- env$nstart
+  algorithm    <- env$algorithm
+  dim_features <- dimension == "features"
+  # tryCatchFunc produces a list
+  #   On success of expr(), tryCatchFunc produces
+  #     list(success TRUE, value = expr(), msg = "")
+  #   On failure of expr(), tryCatchFunc produces
+  #     list(success = FALSE, value = NA, msg = "the error message")
+  result_list <- tryCatchFunc( expr = function() {
+    # kmeans clusters the rows; features are the columns of args_env$dataMatrix; samples, the rows
+    # - to calculate sample-clusters, no transposition is needed because samples are rows
+    # - to calculate feature-clusters, transposition is needed so that features will be the rows
+    if ( ! dim_features ) dm <- t(dm)
+    dm <- prepare.data.matrix( x.matrix = dm, data.transformation = function(x) { x } )
+    # need to set.seed to get reproducible results from kmeans
+    set.seed(4567)
+    # do the k-means clustering
+    km <- kmeans( x = dm, centers = k, iter.max, nstart = nstart, algorithm = algorithm )
+    scores <-
+      sprintf("%s\t%d\t%0.5e\t%0.5e\t%0.5f"
+             , dimension
+             , k
+             , km$totss
+             , km$betweenss
+             , km$betweenss/km$totss
+             )
+    list(clusters = km$cluster, scores = scores)
+  })
+  return ( result_list )
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/w4mkmeans_wrapper.R	Tue Aug 08 15:30:38 2017 -0400
@@ -0,0 +1,370 @@
+#!/usr/bin/env Rscript
+
+# references:
+#   what this does:
+#   - [stats::kmeans](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html)
+#   - [stats::p.adjust](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/p.adjust.html)
+#   how this does what it does:
+#   - [parallel::clusterApply](https://stat.ethz.ch/R-manual/R-devel/library/parallel/html/clusterApply.html)
+
+# invocation:
+#   Rscript $__tool_directory__/w4mkmeans_wrapper.R \
+#     tool_directory $__tool_directory__
+#     data_matrix_path '$dataMatrix_in' \
+#     variable_metadata_path '$variableMetadata_in' \
+#     sample_metadata_path '$sampleMetadata_in' \
+#     kfeatures '$kfeatures' \
+#     ksamples '$ksamples' \
+#     iter_max '$iter_max' \
+#     nstart '$nstart' \
+#     algorithm '$algorithm' \
+#     scores '$scores' \
+#     sampleMetadata_out '$sampleMetadata_out' \
+#     variableMetadata_out '$variableMetadata_out' \
+#     slots "\${GALAXY_SLOTS:-1}" \
+# 
+# <inputs>
+#   <param name="dataMatrix_in" label="Data matrix file" type="data" format="tabular" help="variable x sample, decimal: '.', missing: NA, mode: numerical, separator: tab" />
+#   <param name="sampleMetadata_in" label="Sample metadata file" type="data" format="tabular" help="sample x metadata columns, separator: tab" />
+#   <param name="variableMetadata_in" label="Variable metadata file" type="data" format="tabular" help="variable x metadata columns, separator: tab" />
+#   <param name="kfeatures" label="K value(s) for features" type="text" value="0" help="Single or min,max value(s) for K for features (variables), or 0 for none." />
+#   <param name="ksamples" label="K value(s) for samples" type="text" value="0" help="Single or min,max value(s) for K for samples, or 0 for none." />
+#   <param name="iter_max" label="Max number of iterations" type="text" value="10" help="The maximum number of iterations allowed; default 10." />
+#   <param name="nstart" label="Number of random sets" type="text" value="1" help="How many random sets should be chosen; default 1." />
+# 	<param name="algorithm" label="Algorithm for clustering" type="select" value = "Hartigan-Wong" help="K-means clustering algorithm, default 'Hartigan-Wong'; alternatives 'Lloyd', 'MacQueen'; 'Forgy' is a synonym for 'Lloyd', see stats::kmeans reference for further info and references.">
+# 	  <option value="Hartigan-Wong" selected="TRUE">Hartigan-Wong</option>
+# 	  <option value="Lloyd">Lloyd</option>
+# 	  <option value="MacQueen">MacQueen</option>
+# 	  <option value="Forgy">Forgy</option>
+# 	</param>
+# </inputs>
+# <outputs>
+#   <data name="sampleMetadata_out" label="${tool.name}_${sampleMetadata_in.name}" format="tabular" ></data>
+#   <data name="variableMetadata_out" label="${tool.name}_${variableMetadata_in.name}" format="tabular" ></data>
+# </outputs>
+
+##------------------------
+## libraries for this file
+##------------------------
+
+library(batch) ## for 'parseCommandArgs'
+
+##-------------------
+## Pre-initialization
+##-------------------
+
+argVc <- unlist(parseCommandArgs(evaluate=FALSE))
+if ( Reduce( `|`, grepl("tool_directory",names(argVc)) ) ) {
+  tool_directory <- as.character(argVc["tool_directory"])
+} else {
+  tool_directory <- "."
+}
+r_path <- function(f) paste( tool_directory, f, sep = "/" )
+
+##----------------------------------------------------------
+## Computation - source general and module-specific routines
+##----------------------------------------------------------
+
+log_print <- function(x, ...) { 
+  cat(
+    format(Sys.time(), "%Y-%m-%dT%H:%M:%S%z")
+  , " "
+  , c(x, ...)
+  , "\n"
+  , sep=""
+  , file=stderr()
+  )
+}
+
+# log_print(sprintf("tool_directory is %s", tool_directory))
+
+w4m_general_purpose_routines_path <- r_path("w4m_general_purpose_routines.R")
+# log_print(sprintf("w4m_general_purpose_routines_path is %s", w4m_general_purpose_routines_path))
+if ( ! file.exists(w4m_general_purpose_routines_path) ) {
+  log_print("cannot find file w4m_general_purpose_routines.R")
+  q(save = "no", status = 1, runLast = TRUE)
+}
+# log_print("sourcing ",w4m_general_purpose_routines_path)
+source(w4m_general_purpose_routines_path)
+if ( ! exists("prepare.data.matrix") ) {
+  log_print("'prepare.data.matrix' was not read from file w4m_general_purpose_routines.R")
+  q(save = "no", status = 1, runLast = TRUE)
+}
+
+w4mkmeans_routines_path <- r_path("w4mkmeans_routines.R")
+# log_print(sprintf("w4mkmeans_routines_path is %s", w4mkmeans_routines_path))
+if ( ! file.exists(w4mkmeans_routines_path) ) {
+  log_print("cannot find file w4mkmeans_routines.R")
+  q(save = "no", status = 1, runLast = TRUE)
+}
+# log_print("sourcing ",w4mkmeans_routines_path)
+source(w4mkmeans_routines_path)
+if ( ! exists("w4mkmeans") ) {
+  log_print("'w4mkmeans' was not read from file w4mkmeans_routines.R")
+  q(save = "no", status = 1, runLast = TRUE)
+}
+
+##-----------------------------------------
+## Computation - W4m data-suppport routines
+##-----------------------------------------
+
+# read_data_frame - read a w4m data frame from a tsv, with error handling
+#   e.g., data_matrix_input_env <- read_data_frame(dataMatrix_in, "data matrix input")
+read_data_frame <- function(file_path, kind_string, failure_action = log_print) {
+  my.env <- new.env()
+  my.env$success <- FALSE
+  my.env$msg <- sprintf("no message reading %s", kind_string)
+  tryCatch(
+    expr = {
+      my.env$data    <- utils::read.delim( fill = FALSE, file = file_path )
+      my.env$success <- TRUE
+    }
+  , error = function(e) {
+     my.env$msg <<- sprintf("%s read failed", kind_string)
+    }
+  )
+  if (!my.env$success) {
+    failure_action(my.env$msg)
+  }
+  return (my.env)
+}
+
+# write_result - write a w4m data frame to a tsv
+write_result <- function(result, file_path, kind_string, failure_action = log_print) {
+  my.env <- new.env()
+  my.env$success <- FALSE
+  my.env$msg <- sprintf("no message writing %s", kind_string)
+  tryCatch(
+    expr = {
+      write.table(
+        x = result
+      , sep = "\t"
+      , file = file_path
+      , quote = FALSE
+      , row.names = FALSE
+      )
+      my.env$success <- TRUE
+    }
+  , error = function(e) {
+     my.env$msg <<- sprintf("%s write failed", kind_string)
+    }
+  )
+  if (!my.env$success) {
+    failure_action(my.env$msg)
+    return (my.env)
+  }
+  return (my.env)
+}
+
+# read the three input files
+read_input_data <- function(env, failure_action = log_print) {
+  kind_string <- "none"
+  tryCatch(
+    expr = {
+      # read in the sample metadata
+      kind_string <- "sample metadata input"
+      smpl_metadata_input_env <- 
+        read_data_frame(
+                         file_path = env$sample_metadata_path
+                       , kind_string = kind_string
+                       , failure_action = failure_action
+                       )
+      if (!smpl_metadata_input_env$success) {
+        failure_action(smpl_metadata_input_env$msg)
+        return ( FALSE )
+      }
+      env$sampleMetadata <- smpl_metadata_input_env$data
+
+      # read in the variable metadata
+      kind_string <- "variable metadata input"
+      vrbl_metadata_input_env <- 
+        read_data_frame(
+                         file_path = env$variable_metadata_path
+                       , kind_string = kind_string
+                       , failure_action = failure_action
+                       )
+      if (!vrbl_metadata_input_env$success) {
+        failure_action(vrbl_metadata_input_env$msg)
+        return ( FALSE )
+      }
+      env$variableMetadata <- vrbl_metadata_input_env$data
+
+      # read in the data matrix
+      kind_string <- "data matrix input"
+      data_matrix_input_env <-
+        read_data_frame(
+                         file_path = env$data_matrix_path
+                       , kind_string = kind_string
+                       , failure_action = failure_action
+                       )
+      if (!data_matrix_input_env$success) {
+        failure_action(data_matrix_input_env$msg)
+        return ( FALSE )
+      }
+      # data frame for dataMatrix has rownames in first column
+      data_matrix_df <- data_matrix_input_env$data
+      rownames(data_matrix_df) <- data_matrix_df[,1]
+      data_matrix <- data_matrix_df[,2:ncol(data_matrix_df)]
+      env$dataMatrix <- as.matrix(data_matrix)
+
+    }
+  , error = function(e) {
+     failure_action( sprintf("read_input_data failed for '%s' - %s", kind_string, format_error(e)) )
+     return ( FALSE )
+    }
+  )
+  return ( TRUE )
+}
+
+
+read_input_failure_action <- function(x, ...) { 
+  log_print("Failure reading input for '", modNamC, "' Galaxy module call")
+  log_print(x, ...)
+}
+
+##--------------------------
+## Computation - Entry Point
+##--------------------------
+
+##----------
+## Constants
+##----------
+
+modNamC <- "w4mkmeans" ## module name
+
+## options
+##--------
+
+# Set the handler for R error-handling
+options( show.error.messages = F
+       , error = function () { 
+                   log_print( "Fatal error in '", modNamC, "': ", geterrmessage() )
+                   q( "no", 1, F )
+                 }
+       , warn = -1
+       )
+
+# strings as factors? - not by default!
+# save old value
+strAsFacL <- options()$stringsAsFactors
+options(stringsAsFactors = FALSE)
+
+
+## log file
+##---------
+
+log_print("Start of the '", modNamC, "' Galaxy module call")
+
+## arguments
+##----------
+
+args_env <- new.env()
+
+# files
+
+log_print("PARAMETERS (raw):")
+invisible(
+  lapply(
+    X = 1:length(argVc)
+  , FUN = function(i) {
+      log_print(sprintf("  - %s: %s", names(argVc)[i], argVc[i]))
+    }
+  )
+)
+
+# write.table(as.matrix(argVc), col.names=F, quote=F, sep='\t')
+
+## output files
+sampleMetadata_out              <- as.character(argVc["sampleMetadata_out"])
+variableMetadata_out            <- as.character(argVc["variableMetadata_out"])
+scores_out                      <- as.character(argVc["scores_out"])
+## input files
+args_env$data_matrix_path       <- as.character(argVc["data_matrix_path"])
+args_env$variable_metadata_path <- as.character(argVc["variable_metadata_path"])
+args_env$sample_metadata_path   <- as.character(argVc["sample_metadata_path"])
+  
+# other parameters
+
+# multi-string args - split csv: "1,2,3" -> c("1","2","3")
+args_env$kfeatures <- strsplit(x = as.character(argVc['kfeatures']), split = ",", fixed = TRUE)[[1]]
+args_env$ksamples  <- strsplit(x = as.character(argVc['ksamples' ]), split = ",", fixed = TRUE)[[1]]
+# numeric args
+args_env$iter_max  <- as.numeric(               argVc['iter_max'  ])
+args_env$nstart    <- as.numeric(               argVc['nstart'   ])
+args_env$slots     <- as.numeric(               argVc['slots'    ])
+# string args
+args_env$algorithm <- as.character(             argVc['algorithm'])
+args_env$log_print <- log_print
+
+log_print("PARAMETERS (parsed):")
+for (member in ls(args_env)) {
+  value <- get(member, args_env)
+  value <- ifelse(length(value) == 1, value, sprintf("c(%s)", paste(value, collapse=", ")))
+  
+  log_print(sprintf("  - %s: %s", member, ifelse( !is.function(value) , value, "function" )))
+}
+log_print("")
+
+##---------------------------------------------------------
+## Computation - attempt to read input data
+##---------------------------------------------------------
+if ( ! read_input_data(args_env, failure_action = read_input_failure_action) ) {
+  result <- -1
+} else {
+  log_print("Input data was read successfully.")
+  result <- w4mkmeans(env = args_env)
+  log_print("returned from call to w4mkmeans.")
+}
+
+if ( length(result) == 0 ) {
+  log_print("no results were produced")
+  # exit with status code non-zero to indicate error
+  q(save = "no", status = 1, runLast = FALSE)
+} else if ( ! setequal(names(result),c("variableMetadata","sampleMetadata","scores")) ) {
+  log_print(sprintf("unexpected result keys %s", names(result)))
+  # exit with status code non-zero to indicate error
+  q(save = "no", status = 1, runLast = FALSE)
+} else if ( ! write_result(result = result$variableMetadata, file_path = variableMetadata_out, kind_string = "clustered variableMetadata")$success ) {
+  log_print("failed to write output file for clustered variableMetadata")
+  # exit with status code non-zero to indicate error
+  q(save = "no", status = 1, runLast = FALSE)
+} else if ( ! write_result(result = result$sampleMetadata, file_path = sampleMetadata_out, kind_string = "clustered sampleMetadata")$success ) {
+  log_print("failed to write output file for clustered sampleMetadata")
+  # exit with status code non-zero to indicate error
+  q(save = "no", status = 1, runLast = FALSE)
+} else {
+  tryCatch(
+    expr = {
+      fileConn<-file(scores_out)
+      writeLines(result$scores, fileConn)
+      close(fileConn)
+    }
+  , error = function(e) {
+      log_print(sprintf("failed to write output file for cluster scores - %s", format_error(e)))
+      # exit with status code non-zero to indicate error
+      q(save = "no", status = 1, runLast = FALSE)
+    }
+  )
+}
+
+##--------
+## Closing
+##--------
+
+
+if (!file.exists(sampleMetadata_out)) {
+  log_print(sprintf("ERROR %s::w4m_kmeans_wrapper - file '%s' was not created", modNamC, sampleMetadata_out))
+}
+
+if (!file.exists(variableMetadata_out)) {
+  log_print(sprintf("ERROR %s::w4m_kmeans_wrapper - file '%s' was not created", modNamC, variableMetadata_out))
+}
+
+if (!file.exists(scores_out)) {
+  log_print(sprintf("ERROR %s::w4m_kmeans_wrapper - file '%s' was not created", modNamC, scores_out))
+}
+
+log_print("Normal termination of '", modNamC, "' Galaxy module call")
+
+# exit with status code zero
+q(save = "no", status = 0, runLast = FALSE)