Previous changeset 0:2f6dcda6e74e (2017-02-27) |
Commit message:
"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/generate_mfi commit a1f464ea7fe4a5d1b71664ef924544010036522a" |
added:
generateMFI.py generateMFI.xml test-data/gmfi.flowmfi test-data/input.flowclr test-data/mdfi.flowmfi test-data/mfi.flowmfi |
removed:
generate_mfi/flowstatlib.py generate_mfi/generateMFI.py generate_mfi/generateMFI.xml generate_mfi/test-data/gmfi.flowmfi generate_mfi/test-data/input.flowclr generate_mfi/test-data/mdfi.flowmfi generate_mfi/test-data/mfi.flowmfi |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generateMFI.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generateMFI.py Wed Jul 22 15:41:56 2020 -0400 |
b |
@@ -0,0 +1,50 @@ +#!/usr/bin/env python +###################################################################### +# Copyright (c) 2016 Northrop Grumman. +# All rights reserved. +###################################################################### +import sys +from argparse import ArgumentParser +import pandas as pd +from scipy.stats import gmean + + +def generate_MFI(input_file_name, output_file_name, mfi_calc): + flock_df = pd.read_table(input_file_name) + if mfi_calc == "mfi": + MFIs = flock_df.groupby('Population').mean().round(decimals=2) + elif mfi_calc == "gmfi": + MFIs = flock_df.groupby('Population').agg(lambda x: gmean(list(x))).round(decimals=2) + else: + MFIs = flock_df.groupby('Population').median().round(decimals=2) + + with open(output_file_name, "w") as outf: + MFIs.to_csv(outf, sep="\t", float_format='%.0f') + return + + +if __name__ == "__main__": + parser = ArgumentParser( + prog="removeColumns", + description="Generate MFI from Flow Result file.") + + parser.add_argument( + '-i', + dest="input_file", + required=True, + help="File location for the Flow Result file.") + + parser.add_argument( + '-M', + dest="mfi_calc", + required=True, + help="what to calculate for centroids.") + + parser.add_argument( + '-o', + dest="output_file", + required=True, + help="File location for the MFI output file.") + + args = parser.parse_args() + generate_MFI(args.input_file, args.output_file, args.mfi_calc) |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generateMFI.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generateMFI.xml Wed Jul 22 15:41:56 2020 -0400 |
[ |
@@ -0,0 +1,69 @@ +<tool id="generate_mfi" name="Generate the centroids" version="1.0+galaxy0" profile="18.01"> + <description>from a flow result file</description> + <requirements> + <requirement type="package" version="1.0.5">pandas</requirement> + <requirement type="package" version="1.5.1">scipy</requirement> + </requirements> + <stdio> + <exit_code range="1:" /> + </stdio> + <command><![CDATA[ + python '$__tool_directory__/generateMFI.py' -i '${input}' -o '${output}' -M '${mfi}' + ]]> + </command> + <inputs> + <param format="flowclr" name="input" type="data" label="Flow Text file"/> + <param name="mfi" type="select" label="Calculate centroids using:"> + <option value="mfi" selected="true">Mean Fluorescence Intensity</option> + <option value="mdfi">Median Fluorescence Intensity</option> + <option value="gmfi">Geometric Mean Fluorescence Intensity</option> + </param> + </inputs> + <outputs> + <data format="flowmfi" name="output" label="${mfi} centroids from ${input.name}"/> + </outputs> + <tests> + <test> + <param name="input" value="input.flowclr"/> + <param name="mfi" value="mfi"/> + <output name="output" file="mfi.flowmfi"/> + </test> + <test> + <param name="input" value="input.flowclr"/> + <param name="mfi" value="mdfi"/> + <output name="output" file="mdfi.flowmfi"/> + </test> + <test> + <param name="input" value="input.flowclr"/> + <param name="mfi" value="gmfi"/> + <output name="output" file="gmfi.flowmfi"/> + </test> + </tests> + <help><![CDATA[ + This tool generates the Mean, Median or Geometric Mean Fluorescence Intensity of clustered flow files. +.. class:: infomark +Tip: This tool can be used to generate the centroids table required by the visualization tool multiple samples mapping result. +----- +**Input file** +This tool reads in a tab-separated file containing markers fluorescence intensities for each event as well as population or cluster attribution, for instance text output from a FLOCK or FlowSOM run. +**Output file** +The output is a table containing the mean, median or geometric mean fluorescent intensity values of each marker within each population or cluster defined in the input file. +----- +**Example** +*Input*:: + Marker1 Marker2 Marker3 ... Population + 34 45 12 ... 1 + 13 65 10 ... 5 + 19 62 98 ... 2 + 32 46 10 ... 1 + ... ... ... ... ... +*Output*:: + Population Marker1 Marker2 Marker3 ... + 1 38 49 10 ... + 2 21 63 100 ... + 3 31 52 45 ... + 4 11 78 25 ... + ... ... ... ... ... + ]]> + </help> +</tool> |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/flowstatlib.py --- a/generate_mfi/flowstatlib.py Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,100 +0,0 @@ -###################################################################### -# Copyright (c) 2016 Northrop Grumman. -# All rights reserved. -###################################################################### -from __future__ import print_function -import sys -import pandas as pd -from scipy.stats import gmean -from argparse import ArgumentParser - - -def gen_overview_stats(file_name): - flow_stats = {} - fcs = pd.read_table(file_name) - (events, columns) = fcs.shape - flow_stats['fcs'] = fcs - flow_stats['events'] = events - flow_stats['columns'] = columns - 1 - flow_stats['data'] = fcs.iloc[:, :-1] - flow_stats['population'] = fcs.iloc[:, -1:].iloc[:, 0] - flow_stats['population_freq'] = flow_stats['population'].value_counts() - flow_stats['population_sample'] = (flow_stats['population_freq'] * (20000/float(events))).round(decimals=0) - flow_stats['population_freq_sort'] = flow_stats['population_freq'].sort_index() - flow_stats['population_per'] = (flow_stats['population'].value_counts(normalize=True) * 100).round(decimals=2) - flow_stats['population_per_sort'] = flow_stats['population_per'].sort_index() - flow_stats['population_all'] = pd.concat([flow_stats['population_freq_sort'], flow_stats['population_per_sort']], axis=1) - flow_stats['population_all'].columns = ['Count', 'Percentage'] - flow_stats['min'] = flow_stats['data'].values.min() - flow_stats['max'] = flow_stats['data'].values.max() - flow_stats['markers'] = list(flow_stats['data'].columns) - flow_stats['mfi'] = fcs.groupby('Population').mean().round(decimals=2) - flow_stats['mfi_pop'] = pd.merge(flow_stats['mfi'], flow_stats['population_all'], left_index=True, right_index=True) - flow_stats['mfi_pop']['Population'] = flow_stats['mfi_pop'].index - flow_stats['gmfi'] = fcs.groupby('Population').agg(lambda x: gmean(list(x))).round(decimals=2) - flow_stats['gmfi_pop'] = pd.merge(flow_stats['gmfi'], flow_stats['population_all'], left_index=True, right_index=True) - flow_stats['gmfi_pop']['Population'] = flow_stats['gmfi_pop'].index - flow_stats['mdfi'] = fcs.groupby('Population').median().round(decimals=2) - flow_stats['mdfi_pop'] = pd.merge(flow_stats['mdfi'], flow_stats['population_all'], left_index=True, right_index=True) - flow_stats['mdfi_pop']['Population'] = flow_stats['mdfi_pop'].index - - # - # If the number of events is less than 20000, then return - # the complete data set, - # Otherwise sample the data to only return 20000 events. - if events <= 20000: - flow_stats['sample'] = fcs - else: - fcs_np = fcs.values - sample_data = [] - pop_found = {} - for i in range(0, events): - population_number = fcs_np[i][columns-1] - if population_number in pop_found: - if pop_found[population_number] < flow_stats['population_sample'][population_number]: - pop_found[population_number] += 1 - sample_data.append(fcs_np[i]) - else: - pop_found[population_number] = 1 - sample_data.append(fcs_np[i]) - flow_stats['sample'] = pd.DataFrame(sample_data) - flow_stats['sample'].columns = fcs.columns - - flow_stats['sample_data'] = flow_stats['sample'].iloc[:, :-1] - flow_stats['sample_population'] = flow_stats['sample'].iloc[:, -1:].iloc[:, 0] - - return flow_stats - - -if __name__ == '__main__': - parser = ArgumentParser( - prog="flowstats", - description="Gets statistics on FLOCK run") - - parser.add_argument( - '-i', - dest="input_file", - required=True, - help="File locations for flow clr file.") - - parser.add_argument( - '-o', - dest="out_file", - required=True, - help="Path to the directory for the output file.") - args = parser.parse_args() - - flow_stats = gen_overview_stats(args.input_file) - with open(args.out_file, "w") as outf: - outf.write("Events: ", flow_stats['events']) - outf.write("Min: ", flow_stats['min']) - outf.write("Max: ", flow_stats['max']) - outf.write("Columns: ", flow_stats['columns']) - outf.write("Markers: ", flow_stats['markers']) - outf.write("Population: ", flow_stats['population']) - outf.write("Population Freq: ", flow_stats['population_freq']) - outf.write("Population Sample: ", flow_stats['population_sample']) - outf.write("Population Per: ", flow_stats['population_per']) - outf.write("Sample Data contains ", len(flow_stats['sample']), " events") - outf.write("MIF_POP ", flow_stats['mfi_pop']) - sys.exit(0) |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/generateMFI.py --- a/generate_mfi/generateMFI.py Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,52 +0,0 @@ -#!/usr/bin/env python -###################################################################### -# Copyright (c) 2016 Northrop Grumman. -# All rights reserved. -###################################################################### -from __future__ import print_function -import sys -from argparse import ArgumentParser -import pandas as pd -from scipy.stats import gmean - - -def generate_MFI(input_file_name, output_file_name, mfi_calc): - flock_df = pd.read_table(input_file_name) - if mfi_calc == "mfi": - MFIs = flock_df.groupby('Population').mean().round(decimals=2) - elif mfi_calc == "gmfi": - MFIs = flock_df.groupby('Population').agg(lambda x: gmean(list(x))).round(decimals=2) - else: - MFIs = flock_df.groupby('Population').median().round(decimals=2) - - with open(output_file_name, "w") as outf: - MFIs.to_csv(outf, sep="\t", float_format='%.0f') - return - - -if __name__ == "__main__": - parser = ArgumentParser( - prog="removeColumns", - description="Generate MFI from Flow Result file.") - - parser.add_argument( - '-i', - dest="input_file", - required=True, - help="File location for the Flow Result file.") - - parser.add_argument( - '-M', - dest="mfi_calc", - required=True, - help="what to calculate for centroids.") - - parser.add_argument( - '-o', - dest="output_file", - required=True, - help="File location for the MFI output file.") - - args = parser.parse_args() - generate_MFI(args.input_file, args.output_file, args.mfi_calc) - sys.exit(0) |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/generateMFI.xml --- a/generate_mfi/generateMFI.xml Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,77 +0,0 @@ -<tool id="generate_mfi" name="Generate the centroids" version="1.0"> - <description>from a flow result file</description> - <requirements> - <requirement type="package" version="0.17.1">pandas</requirement> - <requirement type="package" version="1.10.2">numpy</requirement> - <requirement type="package" version="0.16.0">scipy</requirement> - </requirements> - <stdio> - <exit_code range="1:" /> - </stdio> - <command><![CDATA[ - python $__tool_directory__/generateMFI.py -i "${input}" -o "${output}" -M "${mfi}" - ]]> - </command> - <inputs> - <param format="flowclr" name="input" type="data" label="Flow Text file"/> - <param name="mfi" type="select" label="Calculate centroids using:"> - <option value="mfi" selected="true">Mean Fluorescence Intensity</option> - <option value="mdfi">Median Fluorescence Intensity</option> - <option value="gmfi">Geometric Mean Fluorescence Intensity</option> - </param> - </inputs> - <outputs> - <data format="flowmfi" name="output" label="${mfi} centroids from ${input.name}"/> - </outputs> - <tests> - <test> - <param name="input" value="input.flowclr"/> - <param name="mfi" value="mfi"/> - <output name="output" file="mfi.flowmfi"/> - </test> - <test> - <param name="input" value="input.flowclr"/> - <param name="mfi" value="mdfi"/> - <output name="output" file="mdfi.flowmfi"/> - </test> - <test> - <param name="input" value="input.flowclr"/> - <param name="mfi" value="gmfi"/> - <output name="output" file="gmfi.flowmfi"/> - </test> - </tests> - <help><![CDATA[ - This tool generates the Mean, Median or Geometric Mean Fluorescence Intensity of a FLOCK output file. - ------ - -**Input file** - -This tool reads in a FLOCK output file. - -**Output file** - -The output is a table containing the mean, median or geometric mean fluorescent intensity values of each marker within each population defined by FLOCK. - ------ - -**Example** - -*Input*:: - - Marker1 Marker2 Marker3 Population - 34 45 12 1 - 13 65 10 5 - 19 62 98 2 - 32 46 10 1 - -*Output*:: - - Population Marker1 Marker2 Marker3 - 1 38 49 10 - 2 21 63 100 - 3 31 52 45 - 4 11 78 25 - ]]> - </help> -</tool> |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/test-data/gmfi.flowmfi --- a/generate_mfi/test-data/gmfi.flowmfi Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,31 +0,0 @@ -Population FSC SSC CD4 CCR3 CD8 CCR7 -1 354 113 515 0 0 109 -2 329 145 0 0 0 0 -3 351 163 0 144 0 0 -4 415 342 0 389 0 0 -5 370 120 523 224 0 126 -6 368 145 0 0 617 261 -7 356 114 511 115 0 111 -8 372 188 0 0 0 213 -9 358 117 516 173 0 0 -10 382 152 0 149 618 270 -11 365 145 0 0 580 0 -12 411 138 524 203 0 278 -13 371 121 519 145 0 195 -14 384 177 0 0 328 0 -15 353 114 512 0 0 0 -16 366 118 513 0 0 186 -17 407 140 528 0 0 298 -18 670 442 373 0 0 252 -19 611 985 0 254 0 255 -20 618 983 0 253 219 178 -21 743 1014 0 271 251 259 -22 652 984 0 241 218 0 -23 531 884 341 481 0 409 -24 764 1011 174 264 238 159 -25 963 945 315 319 289 326 -26 646 377 374 0 0 0 -27 609 961 0 0 0 226 -28 574 927 0 0 0 123 -29 976 1008 429 515 397 452 -30 699 813 522 828 546 573 |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/test-data/input.flowclr --- a/generate_mfi/test-data/input.flowclr Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,20000 +0,0 @@\n-FSC\tSSC\tCD4\tCCR3\tCD8\tCCR7\tPopulation\n-328\t122\t547\t94\t85\t93\t7\n-581\t1023\t143\t235\t270\t106\t22\n-427\t172\t140\t200\t631\t300\t10\n-363\t92\t526\t0\t140\t5\t15\n-416\t113\t485\t22\t157\t226\t16\n-317\t100\t488\t165\t83\t39\t9\n-636\t436\t439\t143\t81\t217\t18\n-262\t49\t395\t0\t42\t171\t16\n-332\t147\t534\t241\t142\t43\t9\n-567\t454\t305\t30\t168\t236\t18\n-333\t138\t104\t0\t612\t225\t6\n-359\t100\t530\t132\t63\t100\t7\n-298\t85\t480\t253\t0\t171\t5\n-392\t123\t90\t176\t623\t182\t11\n-303\t112\t0\t115\t84\t64\t3\n-591\t948\t188\t176\t247\t130\t28\n-687\t535\t422\t301\t156\t230\t18\n-372\t151\t524\t182\t16\t273\t12\n-420\t180\t555\t88\t0\t119\t7\n-401\t182\t104\t76\t103\t138\t2\n-571\t1023\t364\t461\t377\t463\t23\n-398\t169\t92\t126\t668\t312\t10\n-378\t152\t552\t114\t125\t92\t7\n-352\t108\t528\t174\t47\t28\t9\n-714\t391\t449\t0\t210\t257\t18\n-524\t497\t106\t106\t180\t244\t8\n-563\t1023\t366\t471\t397\t460\t23\n-407\t93\t80\t145\t579\t306\t10\n-358\t129\t73\t257\t604\t268\t10\n-1023\t1023\t479\t406\t385\t351\t25\n-1023\t1023\t455\t536\t472\t508\t29\n-474\t172\t563\t0\t160\t111\t1\n-577\t1023\t164\t302\t258\t219\t19\n-348\t73\t521\t212\t0\t142\t5\n-294\t79\t470\t43\t112\t293\t17\n-369\t197\t0\t197\t185\t124\t3\n-389\t121\t71\t179\t637\t297\t10\n-589\t895\t180\t184\t246\t239\t27\n-432\t883\t8\t220\t177\t128\t28\n-601\t1004\t162\t221\t231\t128\t28\n-353\t137\t539\t196\t123\t63\t9\n-357\t127\t40\t203\t520\t174\t11\n-326\t128\t483\t194\t67\t34\t9\n-286\t74\t27\t78\t546\t266\t6\n-394\t158\t130\t82\t596\t314\t6\n-389\t224\t100\t113\t236\t104\t14\n-294\t77\t479\t270\t0\t47\t9\n-556\t946\t156\t211\t299\t177\t20\n-363\t117\t539\t199\t132\t62\t9\n-769\t1023\t189\t288\t291\t28\t22\n-558\t334\t325\t185\t186\t227\t18\n-760\t1023\t181\t271\t239\t258\t21\n-421\t243\t113\t90\t215\t181\t8\n-513\t283\t263\t241\t126\t124\t26\n-686\t935\t227\t267\t223\t109\t22\n-418\t137\t104\t127\t649\t260\t10\n-322\t115\t527\t0\t75\t70\t15\n-563\t1023\t165\t177\t212\t224\t27\n-620\t1023\t238\t267\t176\t206\t20\n-766\t1023\t347\t411\t384\t191\t24\n-378\t159\t41\t186\t637\t245\t10\n-598\t1023\t402\t490\t417\t399\t23\n-349\t142\t0\t191\t643\t286\t10\n-373\t102\t544\t147\t0\t215\t13\n-404\t138\t559\t267\t236\t133\t5\n-277\t47\t486\t242\t61\t120\t5\n-375\t113\t542\t122\t113\t23\t9\n-695\t849\t168\t230\t238\t209\t20\n-466\t185\t569\t184\t112\t238\t12\n-393\t114\t581\t131\t0\t118\t7\n-574\t1023\t127\t275\t245\t207\t20\n-618\t1023\t129\t271\t228\t230\t19\n-605\t1006\t213\t204\t220\t220\t27\n-495\t605\t83\t155\t167\t225\t27\n-716\t807\t131\t269\t126\t129\t24\n-607\t1023\t147\t294\t253\t219\t19\n-392\t236\t484\t237\t29\t106\t5\n-551\t910\t379\t822\t363\t417\t30\n-383\t153\t0\t0\t643\t286\t6\n-1023\t1023\t465\t336\t347\t366\t25\n-316\t233\t31\t209\t140\t307\t8\n-681\t1023\t284\t324\t280\t220\t21\n-418\t143\t553\t171\t98\t195\t13\n-361\t87\t26\t0\t618\t307\t6\n-419\t177\t91\t153\t277\t199\t8\n-598\t984\t87\t260\t246\t263\t19\n-634\t1023\t88\t158\t178\t156\t28\n-595\t1023\t154\t238\t284\t247\t19\n-388\t203\t544\t0\t149\t126\t1\n-354\t159\t504\t210\t0\t152\t5\n-294\t76\t141\t0\t29\t255\t8\n-328\t99\t468\t177\t171\t44\t9\n-283\t128\t463\t112\t0\t126\t7\n-673\t1023\t156\t262\t211\t40\t22\n-409\t115\t515\t217\t52\t193\t13\n-321\t102\t514\t0\t62\t135\t1\n-279\t83\t435\t174\t0\t267\t12\n-565\t1017\t67\t233\t210\t238\t19\n-339\t123\t538\t60\t99\t73\t15\n-343\t148\t44\t134\t615\t235\t10\n-390\t130\t86\t82\t635\t220\t11\n-283\t52\t423\t52\t63\t69\t15\n-548\t843\t101\t49\t239\t133\t28\n-1023\t1023\t307\t345\t357\t285\t25\n-580\t1019\t105\t263\t222\t286\t19\n-597\t1023\t234\t215\t225\t89\t22\n-441\t159\t546\t269\t33\t164\t5\n-330\t101\t531\t0\t59\t14\t15\n-373\t170\t53\t131\t84\t0\t3\n-338\t117\t261\t0\t80\t68\t2\n-398\t155\t144\t123\t616\t223\t10\n-615\t460\t273\t253\t171\t14\t26\n-773\t583\t406\t246\t187\t289\t18\n-369\t121\t556\t167\t0\t175\t13\n-379\t104\t505\t0\t0\t215\t16\n-369\t111\t68\t142\t299\t190\t8\n-358\t102\t552\t190\t18\t169\t13\n-448\t167\t99\t0\t0\t18\t2\n-594\t270\t154\t167\t707\t397\t10\n-501\t193\t147\t0\t39\t199\t8\n-726\t980\t187\t195\t221\t192\t24\n-373\t140\t554\t20\t0\t43\t15\n-423\t152\t116\t0\t591\t142\t11\n-338\t129\t36\t0\t597\t202\t6\n-371\t104\t568\t49\t139\t130\t1\n-353\t112\t550\t48\t0\t95\t1\n-351\t118\t498\t251\t44\t206\t5\n-788\t1023\t124\t266\t221\t278\t21\n-346\t138\t510\t206\t0\t128\t5\n-304\t90\t467\t74\t0\t194\t16\n-655\t530\t275\t285\t246\t309\t18\n-356\t116\t539\t79\t0\t96\t7\n-356\t138\t67\t0\t645\t250\t6\n-656\t1023\t200\t274\t318\t286\t21\n-817\t1023\t155\t266\t240\t173\t24\n-370\t80\t74\t196\t532\t246\t10\n-350\t128\t540\t0\t146\t77\t1\n-691\t1023\t0\t283\t190\t277\t19\n-631\t302\t459\t156\t164\t229\t18\n-645\t285\t388\t205\t187\t196\t18\n-389\t185\t160\t28\t664\t319\t6\n-413\t152\t22\t0\t645\t66\t11\n-464\t230\t97\t170\t164\t109\t3\n-328\t93\t0\t0\t436\t206\t6\n-956\t391\t578\t205\t288\t255\t18\n-335\t141\t520\t103\t21\t155\t7\n-588\t1009\t177\t271\t237\t206\t20\n-427\t132\t549\t1\t68\t270\t17\n-779\t1023\t121\t267\t274\t283\t21\n-'..b'\t154\t4\n-584\t1023\t116\t219\t126\t250\t19\n-351\t125\t540\t214\t0\t196\t13\n-318\t181\t76\t82\t52\t26\t3\n-327\t114\t510\t220\t0\t57\t9\n-945\t1023\t234\t319\t308\t197\t24\n-412\t133\t564\t199\t100\t165\t5\n-436\t259\t502\t164\t64\t155\t13\n-815\t1023\t120\t292\t223\t136\t24\n-810\t1023\t258\t296\t283\t224\t21\n-420\t91\t525\t1\t0\t22\t15\n-443\t198\t555\t129\t156\t245\t13\n-369\t121\t541\t40\t114\t110\t1\n-494\t295\t147\t150\t128\t103\t3\n-637\t1012\t183\t266\t267\t83\t22\n-375\t164\t106\t166\t642\t239\t10\n-394\t199\t75\t76\t597\t272\t6\n-665\t1023\t195\t223\t251\t195\t20\n-362\t107\t551\t10\t0\t0\t15\n-704\t1023\t206\t175\t191\t267\t27\n-338\t97\t464\t139\t106\t176\t13\n-325\t90\t521\t17\t0\t69\t15\n-379\t212\t526\t140\t85\t191\t13\n-424\t163\t565\t27\t190\t98\t1\n-376\t126\t99\t56\t622\t238\t6\n-398\t190\t124\t150\t628\t269\t10\n-349\t113\t80\t76\t648\t202\t11\n-647\t1019\t154\t245\t221\t240\t19\n-791\t1023\t146\t161\t183\t137\t24\n-363\t169\t548\t129\t91\t252\t13\n-433\t248\t99\t159\t152\t225\t8\n-346\t115\t516\t155\t0\t132\t7\n-758\t1023\t195\t258\t269\t230\t21\n-330\t158\t64\t0\t56\t234\t8\n-374\t119\t548\t146\t0\t22\t9\n-362\t211\t550\t232\t0\t214\t13\n-687\t1023\t194\t282\t197\t115\t22\n-489\t209\t0\t144\t262\t43\t14\n-594\t1023\t343\t500\t375\t406\t23\n-329\t130\t535\t11\t49\t98\t1\n-829\t1023\t186\t238\t227\t176\t24\n-326\t178\t44\t182\t621\t203\t10\n-609\t1023\t99\t225\t206\t183\t20\n-315\t104\t505\t88\t0\t118\t7\n-380\t185\t112\t2\t632\t253\t6\n-709\t491\t332\t198\t232\t159\t26\n-422\t138\t564\t187\t0\t263\t12\n-359\t168\t516\t4\t84\t135\t1\n-766\t1023\t167\t226\t215\t223\t21\n-693\t1023\t201\t291\t238\t121\t24\n-373\t127\t462\t124\t87\t57\t9\n-590\t965\t152\t114\t195\t265\t27\n-582\t375\t413\t171\t121\t232\t18\n-606\t1023\t179\t213\t201\t226\t19\n-358\t96\t63\t164\t593\t283\t10\n-380\t112\t562\t102\t142\t0\t15\n-382\t90\t521\t73\t121\t110\t7\n-351\t95\t540\t0\t178\t127\t1\n-541\t1023\t321\t447\t380\t428\t23\n-331\t176\t497\t172\t0\t141\t5\n-682\t1023\t175\t327\t242\t228\t21\n-378\t114\t532\t148\t0\t135\t7\n-334\t113\t511\t200\t46\t211\t13\n-362\t84\t526\t102\t0\t185\t13\n-791\t1023\t197\t279\t314\t236\t21\n-356\t126\t529\t0\t43\t138\t1\n-696\t1023\t130\t274\t235\t332\t21\n-722\t1023\t190\t260\t250\t237\t21\n-376\t94\t544\t104\t0\t99\t7\n-415\t147\t525\t0\t189\t102\t1\n-641\t950\t91\t250\t244\t212\t20\n-387\t124\t538\t23\t139\t4\t15\n-458\t103\t513\t0\t0\t106\t1\n-414\t126\t86\t95\t567\t171\t11\n-559\t919\t160\t218\t138\t193\t20\n-572\t895\t156\t49\t236\t47\t28\n-381\t111\t510\t93\t0\t95\t7\n-299\t143\t11\t0\t95\t58\t2\n-585\t1023\t197\t221\t216\t193\t20\n-638\t1023\t225\t254\t180\t157\t20\n-369\t162\t540\t81\t0\t56\t15\n-599\t915\t77\t255\t248\t124\t20\n-686\t1023\t89\t257\t217\t232\t19\n-578\t1023\t83\t207\t216\t126\t28\n-364\t120\t503\t0\t153\t225\t16\n-600\t1018\t153\t222\t275\t38\t22\n-383\t192\t101\t229\t624\t224\t10\n-383\t130\t532\t0\t67\t107\t1\n-328\t146\t23\t138\t0\t116\t3\n-272\t75\t99\t154\t220\t133\t3\n-323\t171\t96\t61\t146\t0\t3\n-337\t81\t506\t10\t0\t150\t1\n-290\t151\t0\t0\t106\t159\t2\n-661\t1023\t213\t292\t238\t295\t21\n-590\t1023\t216\t252\t264\t276\t19\n-512\t263\t118\t0\t213\t348\t8\n-315\t126\t502\t269\t48\t98\t5\n-276\t85\t479\t104\t40\t102\t7\n-378\t81\t548\t167\t0\t58\t9\n-387\t154\t0\t190\t656\t362\t10\n-602\t1023\t143\t256\t247\t38\t22\n-341\t142\t530\t7\t89\t46\t15\n-691\t1023\t141\t212\t189\t204\t20\n-576\t1006\t135\t209\t251\t216\t27\n-567\t849\t120\t157\t87\t213\t27\n-705\t1023\t189\t282\t279\t330\t21\n-985\t1023\t421\t292\t257\t220\t25\n-651\t1023\t181\t285\t202\t201\t20\n-693\t1023\t213\t300\t221\t225\t21\n-408\t113\t545\t183\t210\t104\t5\n-418\t143\t545\t0\t82\t126\t1\n-384\t112\t522\t111\t76\t109\t7\n-275\t48\t394\t0\t131\t0\t15\n-359\t113\t42\t80\t600\t163\t11\n-357\t169\t154\t138\t649\t283\t10\n-400\t224\t108\t227\t31\t107\t3\n-346\t88\t82\t84\t196\t98\t14\n-323\t124\t534\t0\t186\t183\t16\n-374\t103\t541\t142\t101\t52\t9\n-380\t105\t508\t170\t126\t313\t12\n-353\t196\t117\t115\t0\t164\t8\n-359\t113\t511\t259\t0\t141\t5\n-377\t137\t558\t11\t0\t14\t15\n-623\t423\t459\t227\t147\t40\t26\n-389\t149\t96\t50\t640\t263\t6\n-543\t1023\t144\t249\t187\t104\t28\n-691\t982\t85\t264\t194\t206\t20\n-627\t1023\t157\t238\t216\t193\t20\n-577\t1023\t165\t258\t299\t198\t20\n-402\t131\t569\t0\t124\t0\t15\n-337\t91\t506\t231\t0\t49\t9\n-636\t870\t91\t227\t96\t172\t20\n-356\t125\t58\t0\t621\t308\t6\n-390\t190\t46\t88\t665\t313\t10\n-351\t68\t529\t86\t0\t56\t15\n-623\t475\t365\t79\t157\t281\t18\n-335\t74\t512\t209\t49\t270\t12\n-496\t194\t105\t202\t427\t25\t14\n-614\t1023\t178\t280\t196\t117\t22\n-381\t84\t545\t101\t0\t140\t7\n-289\t93\t425\t0\t28\t68\t15\n-385\t240\t52\t168\t638\t277\t10\n-322\t162\t103\t0\t52\t61\t2\n-343\t126\t488\t99\t187\t276\t17\n-362\t197\t105\t68\t0\t2\t3\n-378\t99\t527\t0\t0\t116\t1\n-347\t107\t522\t0\t0\t200\t16\n-468\t198\t137\t99\t341\t111\t14\n-572\t967\t57\t255\t159\t220\t19\n-608\t1023\t115\t247\t174\t266\t19\n-637\t1023\t203\t289\t255\t175\t20\n-649\t902\t155\t165\t213\t262\t27\n-322\t148\t0\t187\t87\t115\t3\n' |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/test-data/mdfi.flowmfi --- a/generate_mfi/test-data/mdfi.flowmfi Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,31 +0,0 @@ -Population FSC SSC CD4 CCR3 CD8 CCR7 -1 355 113 525 0 42 110 -2 322 148 61 0 64 109 -3 352 166 69 148 76 82 -4 420 318 132 377 150 188 -5 368 119 528 222 24 131 -6 370 148 70 13 626 262 -7 358 115 522 117 38 115 -8 373 186 100 129 116 209 -9 360 117 525 176 28 40 -10 382 153 78 148 627 272 -11 367 146 67 99 594 172 -12 410 132 532 208 58 273 -13 369 120 526 146 42 194 -14 382 184 92 97 324 104 -15 353 114 525 7 44 37 -16 364 118 522 0 58 185 -17 409 138 533 31 82 289 -18 674 457 401 206 188 250 -19 619 1023 155 254 228 253 -20 626 1023 153 253 227 183 -21 735 1023 191 275 259 257 -22 652 1023 158 247 228 74 -23 541 1023 348 475 363 422 -24 753 1023 181 272 247 166 -25 1002 1023 296 326 298 329 -26 643 388 398 190 179 130 -27 607 1018 146 166 218 225 -28 581 968 130 182 216 133 -29 1023 1023 438 507 400 459 -30 762 1023 510 822 528 566 |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a generate_mfi/test-data/mfi.flowmfi --- a/generate_mfi/test-data/mfi.flowmfi Mon Feb 27 13:00:34 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,31 +0,0 @@ -Population FSC SSC CD4 CCR3 CD8 CCR7 -1 357 117 517 12 57 111 -2 333 152 69 20 69 106 -3 355 174 76 152 79 77 -4 421 381 147 402 140 186 -5 372 124 524 227 51 131 -6 370 150 75 26 618 264 -7 358 118 513 119 57 114 -8 378 207 99 127 120 218 -9 360 121 518 179 51 38 -10 384 158 83 154 620 272 -11 367 152 70 98 583 164 -12 414 146 527 208 71 282 -13 374 126 520 150 57 196 -14 387 184 91 96 338 101 -15 355 118 515 27 58 34 -16 369 124 516 20 70 188 -17 411 147 530 41 86 301 -18 675 453 385 196 184 256 -19 613 988 153 256 222 257 -20 620 986 151 255 224 180 -21 745 1015 190 274 255 261 -22 655 987 153 244 224 70 -23 540 926 347 485 363 413 -24 766 1012 181 267 243 163 -25 966 965 328 323 295 331 -26 650 392 384 179 171 121 -27 612 965 145 152 213 228 -28 578 934 128 172 209 129 -29 979 1010 437 523 406 456 -30 749 858 535 834 564 580 |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a test-data/gmfi.flowmfi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gmfi.flowmfi Wed Jul 22 15:41:56 2020 -0400 |
b |
@@ -0,0 +1,31 @@ +Population FSC SSC CD4 CCR3 CD8 CCR7 +1 354 113 515 0 0 109 +2 329 145 0 0 0 0 +3 351 163 0 144 0 0 +4 415 342 0 389 0 0 +5 370 120 523 224 0 126 +6 368 145 0 0 617 261 +7 356 114 511 115 0 111 +8 372 188 0 0 0 213 +9 358 117 516 173 0 0 +10 382 152 0 149 618 270 +11 365 145 0 0 580 0 +12 411 138 524 203 0 278 +13 371 121 519 145 0 195 +14 384 177 0 0 328 0 +15 353 114 512 0 0 0 +16 366 118 513 0 0 186 +17 407 140 528 0 0 298 +18 670 442 373 0 0 252 +19 611 985 0 254 0 255 +20 618 983 0 253 219 178 +21 743 1014 0 271 251 259 +22 652 984 0 241 218 0 +23 531 884 341 481 0 409 +24 764 1011 174 264 238 159 +25 963 945 315 319 289 326 +26 646 377 374 0 0 0 +27 609 961 0 0 0 226 +28 574 927 0 0 0 123 +29 976 1008 429 515 397 452 +30 699 813 522 828 546 573 |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a test-data/input.flowclr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/input.flowclr Wed Jul 22 15:41:56 2020 -0400 |
b |
b'@@ -0,0 +1,20000 @@\n+FSC\tSSC\tCD4\tCCR3\tCD8\tCCR7\tPopulation\n+328\t122\t547\t94\t85\t93\t7\n+581\t1023\t143\t235\t270\t106\t22\n+427\t172\t140\t200\t631\t300\t10\n+363\t92\t526\t0\t140\t5\t15\n+416\t113\t485\t22\t157\t226\t16\n+317\t100\t488\t165\t83\t39\t9\n+636\t436\t439\t143\t81\t217\t18\n+262\t49\t395\t0\t42\t171\t16\n+332\t147\t534\t241\t142\t43\t9\n+567\t454\t305\t30\t168\t236\t18\n+333\t138\t104\t0\t612\t225\t6\n+359\t100\t530\t132\t63\t100\t7\n+298\t85\t480\t253\t0\t171\t5\n+392\t123\t90\t176\t623\t182\t11\n+303\t112\t0\t115\t84\t64\t3\n+591\t948\t188\t176\t247\t130\t28\n+687\t535\t422\t301\t156\t230\t18\n+372\t151\t524\t182\t16\t273\t12\n+420\t180\t555\t88\t0\t119\t7\n+401\t182\t104\t76\t103\t138\t2\n+571\t1023\t364\t461\t377\t463\t23\n+398\t169\t92\t126\t668\t312\t10\n+378\t152\t552\t114\t125\t92\t7\n+352\t108\t528\t174\t47\t28\t9\n+714\t391\t449\t0\t210\t257\t18\n+524\t497\t106\t106\t180\t244\t8\n+563\t1023\t366\t471\t397\t460\t23\n+407\t93\t80\t145\t579\t306\t10\n+358\t129\t73\t257\t604\t268\t10\n+1023\t1023\t479\t406\t385\t351\t25\n+1023\t1023\t455\t536\t472\t508\t29\n+474\t172\t563\t0\t160\t111\t1\n+577\t1023\t164\t302\t258\t219\t19\n+348\t73\t521\t212\t0\t142\t5\n+294\t79\t470\t43\t112\t293\t17\n+369\t197\t0\t197\t185\t124\t3\n+389\t121\t71\t179\t637\t297\t10\n+589\t895\t180\t184\t246\t239\t27\n+432\t883\t8\t220\t177\t128\t28\n+601\t1004\t162\t221\t231\t128\t28\n+353\t137\t539\t196\t123\t63\t9\n+357\t127\t40\t203\t520\t174\t11\n+326\t128\t483\t194\t67\t34\t9\n+286\t74\t27\t78\t546\t266\t6\n+394\t158\t130\t82\t596\t314\t6\n+389\t224\t100\t113\t236\t104\t14\n+294\t77\t479\t270\t0\t47\t9\n+556\t946\t156\t211\t299\t177\t20\n+363\t117\t539\t199\t132\t62\t9\n+769\t1023\t189\t288\t291\t28\t22\n+558\t334\t325\t185\t186\t227\t18\n+760\t1023\t181\t271\t239\t258\t21\n+421\t243\t113\t90\t215\t181\t8\n+513\t283\t263\t241\t126\t124\t26\n+686\t935\t227\t267\t223\t109\t22\n+418\t137\t104\t127\t649\t260\t10\n+322\t115\t527\t0\t75\t70\t15\n+563\t1023\t165\t177\t212\t224\t27\n+620\t1023\t238\t267\t176\t206\t20\n+766\t1023\t347\t411\t384\t191\t24\n+378\t159\t41\t186\t637\t245\t10\n+598\t1023\t402\t490\t417\t399\t23\n+349\t142\t0\t191\t643\t286\t10\n+373\t102\t544\t147\t0\t215\t13\n+404\t138\t559\t267\t236\t133\t5\n+277\t47\t486\t242\t61\t120\t5\n+375\t113\t542\t122\t113\t23\t9\n+695\t849\t168\t230\t238\t209\t20\n+466\t185\t569\t184\t112\t238\t12\n+393\t114\t581\t131\t0\t118\t7\n+574\t1023\t127\t275\t245\t207\t20\n+618\t1023\t129\t271\t228\t230\t19\n+605\t1006\t213\t204\t220\t220\t27\n+495\t605\t83\t155\t167\t225\t27\n+716\t807\t131\t269\t126\t129\t24\n+607\t1023\t147\t294\t253\t219\t19\n+392\t236\t484\t237\t29\t106\t5\n+551\t910\t379\t822\t363\t417\t30\n+383\t153\t0\t0\t643\t286\t6\n+1023\t1023\t465\t336\t347\t366\t25\n+316\t233\t31\t209\t140\t307\t8\n+681\t1023\t284\t324\t280\t220\t21\n+418\t143\t553\t171\t98\t195\t13\n+361\t87\t26\t0\t618\t307\t6\n+419\t177\t91\t153\t277\t199\t8\n+598\t984\t87\t260\t246\t263\t19\n+634\t1023\t88\t158\t178\t156\t28\n+595\t1023\t154\t238\t284\t247\t19\n+388\t203\t544\t0\t149\t126\t1\n+354\t159\t504\t210\t0\t152\t5\n+294\t76\t141\t0\t29\t255\t8\n+328\t99\t468\t177\t171\t44\t9\n+283\t128\t463\t112\t0\t126\t7\n+673\t1023\t156\t262\t211\t40\t22\n+409\t115\t515\t217\t52\t193\t13\n+321\t102\t514\t0\t62\t135\t1\n+279\t83\t435\t174\t0\t267\t12\n+565\t1017\t67\t233\t210\t238\t19\n+339\t123\t538\t60\t99\t73\t15\n+343\t148\t44\t134\t615\t235\t10\n+390\t130\t86\t82\t635\t220\t11\n+283\t52\t423\t52\t63\t69\t15\n+548\t843\t101\t49\t239\t133\t28\n+1023\t1023\t307\t345\t357\t285\t25\n+580\t1019\t105\t263\t222\t286\t19\n+597\t1023\t234\t215\t225\t89\t22\n+441\t159\t546\t269\t33\t164\t5\n+330\t101\t531\t0\t59\t14\t15\n+373\t170\t53\t131\t84\t0\t3\n+338\t117\t261\t0\t80\t68\t2\n+398\t155\t144\t123\t616\t223\t10\n+615\t460\t273\t253\t171\t14\t26\n+773\t583\t406\t246\t187\t289\t18\n+369\t121\t556\t167\t0\t175\t13\n+379\t104\t505\t0\t0\t215\t16\n+369\t111\t68\t142\t299\t190\t8\n+358\t102\t552\t190\t18\t169\t13\n+448\t167\t99\t0\t0\t18\t2\n+594\t270\t154\t167\t707\t397\t10\n+501\t193\t147\t0\t39\t199\t8\n+726\t980\t187\t195\t221\t192\t24\n+373\t140\t554\t20\t0\t43\t15\n+423\t152\t116\t0\t591\t142\t11\n+338\t129\t36\t0\t597\t202\t6\n+371\t104\t568\t49\t139\t130\t1\n+353\t112\t550\t48\t0\t95\t1\n+351\t118\t498\t251\t44\t206\t5\n+788\t1023\t124\t266\t221\t278\t21\n+346\t138\t510\t206\t0\t128\t5\n+304\t90\t467\t74\t0\t194\t16\n+655\t530\t275\t285\t246\t309\t18\n+356\t116\t539\t79\t0\t96\t7\n+356\t138\t67\t0\t645\t250\t6\n+656\t1023\t200\t274\t318\t286\t21\n+817\t1023\t155\t266\t240\t173\t24\n+370\t80\t74\t196\t532\t246\t10\n+350\t128\t540\t0\t146\t77\t1\n+691\t1023\t0\t283\t190\t277\t19\n+631\t302\t459\t156\t164\t229\t18\n+645\t285\t388\t205\t187\t196\t18\n+389\t185\t160\t28\t664\t319\t6\n+413\t152\t22\t0\t645\t66\t11\n+464\t230\t97\t170\t164\t109\t3\n+328\t93\t0\t0\t436\t206\t6\n+956\t391\t578\t205\t288\t255\t18\n+335\t141\t520\t103\t21\t155\t7\n+588\t1009\t177\t271\t237\t206\t20\n+427\t132\t549\t1\t68\t270\t17\n+779\t1023\t121\t267\t274\t283\t21\n+'..b'\t154\t4\n+584\t1023\t116\t219\t126\t250\t19\n+351\t125\t540\t214\t0\t196\t13\n+318\t181\t76\t82\t52\t26\t3\n+327\t114\t510\t220\t0\t57\t9\n+945\t1023\t234\t319\t308\t197\t24\n+412\t133\t564\t199\t100\t165\t5\n+436\t259\t502\t164\t64\t155\t13\n+815\t1023\t120\t292\t223\t136\t24\n+810\t1023\t258\t296\t283\t224\t21\n+420\t91\t525\t1\t0\t22\t15\n+443\t198\t555\t129\t156\t245\t13\n+369\t121\t541\t40\t114\t110\t1\n+494\t295\t147\t150\t128\t103\t3\n+637\t1012\t183\t266\t267\t83\t22\n+375\t164\t106\t166\t642\t239\t10\n+394\t199\t75\t76\t597\t272\t6\n+665\t1023\t195\t223\t251\t195\t20\n+362\t107\t551\t10\t0\t0\t15\n+704\t1023\t206\t175\t191\t267\t27\n+338\t97\t464\t139\t106\t176\t13\n+325\t90\t521\t17\t0\t69\t15\n+379\t212\t526\t140\t85\t191\t13\n+424\t163\t565\t27\t190\t98\t1\n+376\t126\t99\t56\t622\t238\t6\n+398\t190\t124\t150\t628\t269\t10\n+349\t113\t80\t76\t648\t202\t11\n+647\t1019\t154\t245\t221\t240\t19\n+791\t1023\t146\t161\t183\t137\t24\n+363\t169\t548\t129\t91\t252\t13\n+433\t248\t99\t159\t152\t225\t8\n+346\t115\t516\t155\t0\t132\t7\n+758\t1023\t195\t258\t269\t230\t21\n+330\t158\t64\t0\t56\t234\t8\n+374\t119\t548\t146\t0\t22\t9\n+362\t211\t550\t232\t0\t214\t13\n+687\t1023\t194\t282\t197\t115\t22\n+489\t209\t0\t144\t262\t43\t14\n+594\t1023\t343\t500\t375\t406\t23\n+329\t130\t535\t11\t49\t98\t1\n+829\t1023\t186\t238\t227\t176\t24\n+326\t178\t44\t182\t621\t203\t10\n+609\t1023\t99\t225\t206\t183\t20\n+315\t104\t505\t88\t0\t118\t7\n+380\t185\t112\t2\t632\t253\t6\n+709\t491\t332\t198\t232\t159\t26\n+422\t138\t564\t187\t0\t263\t12\n+359\t168\t516\t4\t84\t135\t1\n+766\t1023\t167\t226\t215\t223\t21\n+693\t1023\t201\t291\t238\t121\t24\n+373\t127\t462\t124\t87\t57\t9\n+590\t965\t152\t114\t195\t265\t27\n+582\t375\t413\t171\t121\t232\t18\n+606\t1023\t179\t213\t201\t226\t19\n+358\t96\t63\t164\t593\t283\t10\n+380\t112\t562\t102\t142\t0\t15\n+382\t90\t521\t73\t121\t110\t7\n+351\t95\t540\t0\t178\t127\t1\n+541\t1023\t321\t447\t380\t428\t23\n+331\t176\t497\t172\t0\t141\t5\n+682\t1023\t175\t327\t242\t228\t21\n+378\t114\t532\t148\t0\t135\t7\n+334\t113\t511\t200\t46\t211\t13\n+362\t84\t526\t102\t0\t185\t13\n+791\t1023\t197\t279\t314\t236\t21\n+356\t126\t529\t0\t43\t138\t1\n+696\t1023\t130\t274\t235\t332\t21\n+722\t1023\t190\t260\t250\t237\t21\n+376\t94\t544\t104\t0\t99\t7\n+415\t147\t525\t0\t189\t102\t1\n+641\t950\t91\t250\t244\t212\t20\n+387\t124\t538\t23\t139\t4\t15\n+458\t103\t513\t0\t0\t106\t1\n+414\t126\t86\t95\t567\t171\t11\n+559\t919\t160\t218\t138\t193\t20\n+572\t895\t156\t49\t236\t47\t28\n+381\t111\t510\t93\t0\t95\t7\n+299\t143\t11\t0\t95\t58\t2\n+585\t1023\t197\t221\t216\t193\t20\n+638\t1023\t225\t254\t180\t157\t20\n+369\t162\t540\t81\t0\t56\t15\n+599\t915\t77\t255\t248\t124\t20\n+686\t1023\t89\t257\t217\t232\t19\n+578\t1023\t83\t207\t216\t126\t28\n+364\t120\t503\t0\t153\t225\t16\n+600\t1018\t153\t222\t275\t38\t22\n+383\t192\t101\t229\t624\t224\t10\n+383\t130\t532\t0\t67\t107\t1\n+328\t146\t23\t138\t0\t116\t3\n+272\t75\t99\t154\t220\t133\t3\n+323\t171\t96\t61\t146\t0\t3\n+337\t81\t506\t10\t0\t150\t1\n+290\t151\t0\t0\t106\t159\t2\n+661\t1023\t213\t292\t238\t295\t21\n+590\t1023\t216\t252\t264\t276\t19\n+512\t263\t118\t0\t213\t348\t8\n+315\t126\t502\t269\t48\t98\t5\n+276\t85\t479\t104\t40\t102\t7\n+378\t81\t548\t167\t0\t58\t9\n+387\t154\t0\t190\t656\t362\t10\n+602\t1023\t143\t256\t247\t38\t22\n+341\t142\t530\t7\t89\t46\t15\n+691\t1023\t141\t212\t189\t204\t20\n+576\t1006\t135\t209\t251\t216\t27\n+567\t849\t120\t157\t87\t213\t27\n+705\t1023\t189\t282\t279\t330\t21\n+985\t1023\t421\t292\t257\t220\t25\n+651\t1023\t181\t285\t202\t201\t20\n+693\t1023\t213\t300\t221\t225\t21\n+408\t113\t545\t183\t210\t104\t5\n+418\t143\t545\t0\t82\t126\t1\n+384\t112\t522\t111\t76\t109\t7\n+275\t48\t394\t0\t131\t0\t15\n+359\t113\t42\t80\t600\t163\t11\n+357\t169\t154\t138\t649\t283\t10\n+400\t224\t108\t227\t31\t107\t3\n+346\t88\t82\t84\t196\t98\t14\n+323\t124\t534\t0\t186\t183\t16\n+374\t103\t541\t142\t101\t52\t9\n+380\t105\t508\t170\t126\t313\t12\n+353\t196\t117\t115\t0\t164\t8\n+359\t113\t511\t259\t0\t141\t5\n+377\t137\t558\t11\t0\t14\t15\n+623\t423\t459\t227\t147\t40\t26\n+389\t149\t96\t50\t640\t263\t6\n+543\t1023\t144\t249\t187\t104\t28\n+691\t982\t85\t264\t194\t206\t20\n+627\t1023\t157\t238\t216\t193\t20\n+577\t1023\t165\t258\t299\t198\t20\n+402\t131\t569\t0\t124\t0\t15\n+337\t91\t506\t231\t0\t49\t9\n+636\t870\t91\t227\t96\t172\t20\n+356\t125\t58\t0\t621\t308\t6\n+390\t190\t46\t88\t665\t313\t10\n+351\t68\t529\t86\t0\t56\t15\n+623\t475\t365\t79\t157\t281\t18\n+335\t74\t512\t209\t49\t270\t12\n+496\t194\t105\t202\t427\t25\t14\n+614\t1023\t178\t280\t196\t117\t22\n+381\t84\t545\t101\t0\t140\t7\n+289\t93\t425\t0\t28\t68\t15\n+385\t240\t52\t168\t638\t277\t10\n+322\t162\t103\t0\t52\t61\t2\n+343\t126\t488\t99\t187\t276\t17\n+362\t197\t105\t68\t0\t2\t3\n+378\t99\t527\t0\t0\t116\t1\n+347\t107\t522\t0\t0\t200\t16\n+468\t198\t137\t99\t341\t111\t14\n+572\t967\t57\t255\t159\t220\t19\n+608\t1023\t115\t247\t174\t266\t19\n+637\t1023\t203\t289\t255\t175\t20\n+649\t902\t155\t165\t213\t262\t27\n+322\t148\t0\t187\t87\t115\t3\n' |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a test-data/mdfi.flowmfi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/mdfi.flowmfi Wed Jul 22 15:41:56 2020 -0400 |
b |
@@ -0,0 +1,31 @@ +Population FSC SSC CD4 CCR3 CD8 CCR7 +1 355 113 525 0 42 110 +2 322 148 61 0 64 109 +3 352 166 69 148 76 82 +4 420 318 132 377 150 188 +5 368 119 528 222 24 131 +6 370 148 70 13 626 262 +7 358 115 522 117 38 115 +8 373 186 100 129 116 209 +9 360 117 525 176 28 40 +10 382 153 78 148 627 272 +11 367 146 67 99 594 172 +12 410 132 532 208 58 273 +13 369 120 526 146 42 194 +14 382 184 92 97 324 104 +15 353 114 525 7 44 37 +16 364 118 522 0 58 185 +17 409 138 533 31 82 289 +18 674 457 401 206 188 250 +19 619 1023 155 254 228 253 +20 626 1023 153 253 227 183 +21 735 1023 191 275 259 257 +22 652 1023 158 247 228 74 +23 541 1023 348 475 363 422 +24 753 1023 181 272 247 166 +25 1002 1023 296 326 298 329 +26 643 388 398 190 179 130 +27 607 1018 146 166 218 225 +28 581 968 130 182 216 133 +29 1023 1023 438 507 400 459 +30 762 1023 510 822 528 566 |
b |
diff -r 2f6dcda6e74e -r 91e856e5ec7a test-data/mfi.flowmfi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/mfi.flowmfi Wed Jul 22 15:41:56 2020 -0400 |
b |
@@ -0,0 +1,31 @@ +Population FSC SSC CD4 CCR3 CD8 CCR7 +1 357 117 517 12 57 111 +2 333 152 69 20 69 106 +3 355 174 76 152 79 77 +4 421 381 147 402 140 186 +5 372 124 524 227 51 131 +6 370 150 75 26 618 264 +7 358 118 513 119 57 114 +8 378 207 99 127 120 218 +9 360 121 518 179 51 38 +10 384 158 83 154 620 272 +11 367 152 70 98 583 164 +12 414 146 527 208 71 282 +13 374 126 520 150 57 196 +14 387 184 91 96 338 101 +15 355 118 515 27 58 34 +16 369 124 516 20 70 188 +17 411 147 530 41 86 301 +18 675 453 385 196 184 256 +19 613 988 153 256 222 257 +20 620 986 151 255 224 180 +21 745 1015 190 274 255 261 +22 655 987 153 244 224 70 +23 540 926 347 485 363 413 +24 766 1012 181 267 243 163 +25 966 965 328 323 295 331 +26 650 392 384 179 171 121 +27 612 965 145 152 213 228 +28 578 934 128 172 209 129 +29 979 1010 437 523 406 456 +30 749 858 535 834 564 580 |