Repository 'auto_collapse_pop'
hg clone https://toolshed.g2.bx.psu.edu/repos/immport-devteam/auto_collapse_pop

Changeset 0:7632562ada41 (2017-02-27)
Next changeset 1:08b71aee9b80 (2020-06-22)
Commit message:
Uploaded
added:
auto_collapse_pop/auto_collapse_pops.py
auto_collapse_pop/auto_collapse_pops.xml
auto_collapse_pop/test_data/input.flowclr
auto_collapse_pop/test_data/output.flowclr
auto_collapse_pop/test_data/profile.flowscore
auto_collapse_pop/test_data/report.txt
b
diff -r 000000000000 -r 7632562ada41 auto_collapse_pop/auto_collapse_pops.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/auto_collapse_pops.py Mon Feb 27 12:14:29 2017 -0500
[
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+
+######################################################################
+#                  Copyright (c) 2016 Northrop Grumman.
+#                          All rights reserved.
+######################################################################
+from __future__ import print_function
+import sys
+import pandas as pd
+from argparse import ArgumentParser
+
+
+def auto_collapse(input_file, profile_file, output, report):
+    profile_pop_list = {}
+    pop_to_collapse = []
+    markers = []
+    with open(profile_file, "r") as pf:
+        pffl = pf.readline()
+        markers = pffl.strip().split("\t")
+        for pfline in pf:
+            line = pfline.strip().split("\t")
+            pop = line[0]
+            profil = "\t".join(line[1:-2])
+            if profil in profile_pop_list:
+                profile_pop_list[profil].append(pop)
+            else:
+                profile_pop_list[profil] = [pop]
+    i = 1
+    with open(report, "w") as rt:
+        rt.write("New_Population\tFormer_Populations\t")
+        rt.write("\t".join(markers[1:-2]) + "\n")
+        for profs in profile_pop_list:
+            pop_to_collapse.append(profile_pop_list[profs])
+            pop_ls = ", ".join(profile_pop_list[profs])
+            rt.write("\t".join([str(i), pop_ls, profs]) + "\n")
+            i += 1
+    df = pd.read_table(input_file, dtype={'Population': object})
+    df['new_population'] = df.Population
+    for i, sets_pop in enumerate(pop_to_collapse):
+        df.loc[df['Population'].isin(sets_pop), ['new_population']] = i + 1
+
+    df.Population = df.new_population
+    df.drop(['new_population'], inplace=True, axis=1)
+    df.to_csv(output, sep="\t", index=False)
+
+
+if __name__ == "__main__":
+    parser = ArgumentParser(
+             prog="auto_pop_collapse_from_profile",
+             description="collapses FLOCK populations based on profile.")
+
+    parser.add_argument(
+            '-i',
+            dest="input_file",
+            required=True,
+            help="FLOCK output file")
+
+    parser.add_argument(
+            '-o',
+            dest="output",
+            required=True,
+            help="Name of the output file.")
+
+    parser.add_argument(
+            '-r',
+            dest="report",
+            required=True,
+            help="Name of the report file.")
+
+    parser.add_argument(
+            '-p',
+            dest="profile",
+            required=True,
+            help="File location for the profile.txt from FLOCK.")
+
+    args = parser.parse_args()
+
+    auto_collapse(args.input_file, args.profile, args.output, args.report)
+    sys.exit(0)
b
diff -r 000000000000 -r 7632562ada41 auto_collapse_pop/auto_collapse_pops.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/auto_collapse_pops.xml Mon Feb 27 12:14:29 2017 -0500
[
@@ -0,0 +1,85 @@
+<tool id="auto_collapse_populations" name="Collapse populations automatically" version="1.0">
+  <description>based on quartile binning from FLOCK results.</description>
+  <requirements>
+    <requirement type="package" version="0.17.1">pandas</requirement>
+  </requirements>
+  <stdio>
+    <exit_code range="1:" />
+  </stdio>
+  <command><![CDATA[
+      python $__tool_directory__/auto_collapse_pops.py -o "${output}" -i "${input}" -p "${profile}" -r "${report}"
+  ]]>
+  </command>
+  <inputs>
+    <param format="flowclr" name="input" type="data" label="FLOCK or Cross-Sample output file"/>
+    <param format="flowscore" name="profile" type="data" label="Population score profiles from FLOCK"/>
+  </inputs>
+  <outputs>
+    <data format="flowclr" name="output" label="Auto-collapsed pops in ${input.name}"/>
+    <data format="tabular" name="report" label="Auto-collapse report for ${input.name} with ${profile.name}"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="input" value="input.flowclr"/>
+      <param name="profile=" value="profile.flowscore"/>
+      <param name="report" value="report.txt"/>
+      <output name="output" file="output.flowclr"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+   This tool automatically collapses populations together based on FLOCK score profiles.
+
+-----
+
+.. class:: warningmark
+
+*FLOCK score profiles are assigned based on quartile binning of the data. As always, use this tool with caution and be critical of your results*
+
+-----
+
+**Input**
+
+FLOCK or Cross Sample output - a table of the fluorescence intensities for each event and the population associated with each, as well as the file containing the score profiles for each FLOCK population.
+
+**Output**
+
+The input file with selected populations replaced by the indicated population. This tool also generates a report.
+
+-----
+
+**Example**
+
+*Input* - fluorescence intensities per marker and population ID per event::
+
+   Marker1 Marker2 Marker3 Population
+   34      45      12      1
+   33      65      10      5
+   19      62      98      2
+   12      36      58      3
+
+*Population profile file*::
+
+   Population_ID Marker1 Marker2 Marker3 Count Percentage
+   1             2       2       3       3885  6.44
+   2             1       3       4       2774  4.62
+   3             2       2       3       2151  3.59
+   4             1       3       2       1207  2.01
+
+*Output* - fluorescence intensities per marker and population ID per event::
+
+   Marker1 Marker2 Marker3 Population
+   34      45      12      1
+   33      65      10      4
+   19      62      98      2
+   12      36      58      1
+
+*Output* - fluorescence intensities per marker and population ID per event::
+
+   New_Population Former_Populations Marker1 Marker2 Marker3
+   1              1, 3               2       2       3
+   2              2                  1       3       4
+   3              4                  1       3       2
+   4              5, 8, 12           3       1       1
+  ]]>
+  </help>
+</tool>
b
diff -r 000000000000 -r 7632562ada41 auto_collapse_pop/test_data/input.flowclr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/test_data/input.flowclr Mon Feb 27 12:14:29 2017 -0500
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 000000000000 -r 7632562ada41 auto_collapse_pop/test_data/output.flowclr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/test_data/output.flowclr Mon Feb 27 12:14:29 2017 -0500
b
b'@@ -0,0 +1,20000 @@\n+FSC\tSSC\tCD4\tCCR3\tCD8\tCCR7\tPopulation\n+328\t122\t547\t94\t85\t93\t8\n+581\t1023\t143\t235\t270\t106\t9\n+427\t172\t140\t200\t631\t300\t10\n+363\t92\t526\t0\t140\t5\t8\n+416\t113\t485\t22\t157\t226\t8\n+317\t100\t488\t165\t83\t39\t8\n+636\t436\t439\t143\t81\t217\t6\n+262\t49\t395\t0\t42\t171\t8\n+332\t147\t534\t241\t142\t43\t8\n+567\t454\t305\t30\t168\t236\t6\n+333\t138\t104\t0\t612\t225\t10\n+359\t100\t530\t132\t63\t100\t8\n+298\t85\t480\t253\t0\t171\t8\n+392\t123\t90\t176\t623\t182\t10\n+303\t112\t0\t115\t84\t64\t10\n+591\t948\t188\t176\t247\t130\t1\n+687\t535\t422\t301\t156\t230\t6\n+372\t151\t524\t182\t16\t273\t8\n+420\t180\t555\t88\t0\t119\t8\n+401\t182\t104\t76\t103\t138\t10\n+571\t1023\t364\t461\t377\t463\t11\n+398\t169\t92\t126\t668\t312\t10\n+378\t152\t552\t114\t125\t92\t8\n+352\t108\t528\t174\t47\t28\t8\n+714\t391\t449\t0\t210\t257\t6\n+524\t497\t106\t106\t180\t244\t10\n+563\t1023\t366\t471\t397\t460\t11\n+407\t93\t80\t145\t579\t306\t10\n+358\t129\t73\t257\t604\t268\t10\n+1023\t1023\t479\t406\t385\t351\t7\n+1023\t1023\t455\t536\t472\t508\t5\n+474\t172\t563\t0\t160\t111\t8\n+577\t1023\t164\t302\t258\t219\t1\n+348\t73\t521\t212\t0\t142\t8\n+294\t79\t470\t43\t112\t293\t8\n+369\t197\t0\t197\t185\t124\t10\n+389\t121\t71\t179\t637\t297\t10\n+589\t895\t180\t184\t246\t239\t1\n+432\t883\t8\t220\t177\t128\t1\n+601\t1004\t162\t221\t231\t128\t1\n+353\t137\t539\t196\t123\t63\t8\n+357\t127\t40\t203\t520\t174\t10\n+326\t128\t483\t194\t67\t34\t8\n+286\t74\t27\t78\t546\t266\t10\n+394\t158\t130\t82\t596\t314\t10\n+389\t224\t100\t113\t236\t104\t10\n+294\t77\t479\t270\t0\t47\t8\n+556\t946\t156\t211\t299\t177\t1\n+363\t117\t539\t199\t132\t62\t8\n+769\t1023\t189\t288\t291\t28\t9\n+558\t334\t325\t185\t186\t227\t6\n+760\t1023\t181\t271\t239\t258\t4\n+421\t243\t113\t90\t215\t181\t10\n+513\t283\t263\t241\t126\t124\t6\n+686\t935\t227\t267\t223\t109\t9\n+418\t137\t104\t127\t649\t260\t10\n+322\t115\t527\t0\t75\t70\t8\n+563\t1023\t165\t177\t212\t224\t1\n+620\t1023\t238\t267\t176\t206\t1\n+766\t1023\t347\t411\t384\t191\t4\n+378\t159\t41\t186\t637\t245\t10\n+598\t1023\t402\t490\t417\t399\t11\n+349\t142\t0\t191\t643\t286\t10\n+373\t102\t544\t147\t0\t215\t8\n+404\t138\t559\t267\t236\t133\t8\n+277\t47\t486\t242\t61\t120\t8\n+375\t113\t542\t122\t113\t23\t8\n+695\t849\t168\t230\t238\t209\t1\n+466\t185\t569\t184\t112\t238\t8\n+393\t114\t581\t131\t0\t118\t8\n+574\t1023\t127\t275\t245\t207\t1\n+618\t1023\t129\t271\t228\t230\t1\n+605\t1006\t213\t204\t220\t220\t1\n+495\t605\t83\t155\t167\t225\t1\n+716\t807\t131\t269\t126\t129\t4\n+607\t1023\t147\t294\t253\t219\t1\n+392\t236\t484\t237\t29\t106\t8\n+551\t910\t379\t822\t363\t417\t3\n+383\t153\t0\t0\t643\t286\t10\n+1023\t1023\t465\t336\t347\t366\t7\n+316\t233\t31\t209\t140\t307\t10\n+681\t1023\t284\t324\t280\t220\t4\n+418\t143\t553\t171\t98\t195\t8\n+361\t87\t26\t0\t618\t307\t10\n+419\t177\t91\t153\t277\t199\t10\n+598\t984\t87\t260\t246\t263\t1\n+634\t1023\t88\t158\t178\t156\t1\n+595\t1023\t154\t238\t284\t247\t1\n+388\t203\t544\t0\t149\t126\t8\n+354\t159\t504\t210\t0\t152\t8\n+294\t76\t141\t0\t29\t255\t10\n+328\t99\t468\t177\t171\t44\t8\n+283\t128\t463\t112\t0\t126\t8\n+673\t1023\t156\t262\t211\t40\t9\n+409\t115\t515\t217\t52\t193\t8\n+321\t102\t514\t0\t62\t135\t8\n+279\t83\t435\t174\t0\t267\t8\n+565\t1017\t67\t233\t210\t238\t1\n+339\t123\t538\t60\t99\t73\t8\n+343\t148\t44\t134\t615\t235\t10\n+390\t130\t86\t82\t635\t220\t10\n+283\t52\t423\t52\t63\t69\t8\n+548\t843\t101\t49\t239\t133\t1\n+1023\t1023\t307\t345\t357\t285\t7\n+580\t1019\t105\t263\t222\t286\t1\n+597\t1023\t234\t215\t225\t89\t9\n+441\t159\t546\t269\t33\t164\t8\n+330\t101\t531\t0\t59\t14\t8\n+373\t170\t53\t131\t84\t0\t10\n+338\t117\t261\t0\t80\t68\t10\n+398\t155\t144\t123\t616\t223\t10\n+615\t460\t273\t253\t171\t14\t6\n+773\t583\t406\t246\t187\t289\t6\n+369\t121\t556\t167\t0\t175\t8\n+379\t104\t505\t0\t0\t215\t8\n+369\t111\t68\t142\t299\t190\t10\n+358\t102\t552\t190\t18\t169\t8\n+448\t167\t99\t0\t0\t18\t10\n+594\t270\t154\t167\t707\t397\t10\n+501\t193\t147\t0\t39\t199\t10\n+726\t980\t187\t195\t221\t192\t4\n+373\t140\t554\t20\t0\t43\t8\n+423\t152\t116\t0\t591\t142\t10\n+338\t129\t36\t0\t597\t202\t10\n+371\t104\t568\t49\t139\t130\t8\n+353\t112\t550\t48\t0\t95\t8\n+351\t118\t498\t251\t44\t206\t8\n+788\t1023\t124\t266\t221\t278\t4\n+346\t138\t510\t206\t0\t128\t8\n+304\t90\t467\t74\t0\t194\t8\n+655\t530\t275\t285\t246\t309\t6\n+356\t116\t539\t79\t0\t96\t8\n+356\t138\t67\t0\t645\t250\t10\n+656\t1023\t200\t274\t318\t286\t4\n+817\t1023\t155\t266\t240\t173\t4\n+370\t80\t74\t196\t532\t246\t10\n+350\t128\t540\t0\t146\t77\t8\n+691\t1023\t0\t283\t190\t277\t1\n+631\t302\t459\t156\t164\t229\t6\n+645\t285\t388\t205\t187\t196\t6\n+389\t185\t160\t28\t664\t319\t10\n+413\t152\t22\t0\t645\t66\t10\n+464\t230\t97\t170\t164\t109\t10\n+328\t93\t0\t0\t436\t206\t10\n+956\t391\t578\t205\t288\t255\t6\n+335\t141\t520\t103\t21\t155\t8\n+588\t1009\t177\t271\t237\t206\t1\n+427\t132\t549\t1\t68\t270\t8\n+779\t1023\t121\t267\t274\t283\t4\n+599\t933\t192\t228\t173\t256\t1\n+688\t1023\t132\t304\t256\t64'..b'98\t509\t117\t0\t209\t8\n+324\t105\t532\t166\t0\t254\t8\n+373\t216\t73\t334\t81\t154\t2\n+584\t1023\t116\t219\t126\t250\t1\n+351\t125\t540\t214\t0\t196\t8\n+318\t181\t76\t82\t52\t26\t10\n+327\t114\t510\t220\t0\t57\t8\n+945\t1023\t234\t319\t308\t197\t4\n+412\t133\t564\t199\t100\t165\t8\n+436\t259\t502\t164\t64\t155\t8\n+815\t1023\t120\t292\t223\t136\t4\n+810\t1023\t258\t296\t283\t224\t4\n+420\t91\t525\t1\t0\t22\t8\n+443\t198\t555\t129\t156\t245\t8\n+369\t121\t541\t40\t114\t110\t8\n+494\t295\t147\t150\t128\t103\t10\n+637\t1012\t183\t266\t267\t83\t9\n+375\t164\t106\t166\t642\t239\t10\n+394\t199\t75\t76\t597\t272\t10\n+665\t1023\t195\t223\t251\t195\t1\n+362\t107\t551\t10\t0\t0\t8\n+704\t1023\t206\t175\t191\t267\t1\n+338\t97\t464\t139\t106\t176\t8\n+325\t90\t521\t17\t0\t69\t8\n+379\t212\t526\t140\t85\t191\t8\n+424\t163\t565\t27\t190\t98\t8\n+376\t126\t99\t56\t622\t238\t10\n+398\t190\t124\t150\t628\t269\t10\n+349\t113\t80\t76\t648\t202\t10\n+647\t1019\t154\t245\t221\t240\t1\n+791\t1023\t146\t161\t183\t137\t4\n+363\t169\t548\t129\t91\t252\t8\n+433\t248\t99\t159\t152\t225\t10\n+346\t115\t516\t155\t0\t132\t8\n+758\t1023\t195\t258\t269\t230\t4\n+330\t158\t64\t0\t56\t234\t10\n+374\t119\t548\t146\t0\t22\t8\n+362\t211\t550\t232\t0\t214\t8\n+687\t1023\t194\t282\t197\t115\t9\n+489\t209\t0\t144\t262\t43\t10\n+594\t1023\t343\t500\t375\t406\t11\n+329\t130\t535\t11\t49\t98\t8\n+829\t1023\t186\t238\t227\t176\t4\n+326\t178\t44\t182\t621\t203\t10\n+609\t1023\t99\t225\t206\t183\t1\n+315\t104\t505\t88\t0\t118\t8\n+380\t185\t112\t2\t632\t253\t10\n+709\t491\t332\t198\t232\t159\t6\n+422\t138\t564\t187\t0\t263\t8\n+359\t168\t516\t4\t84\t135\t8\n+766\t1023\t167\t226\t215\t223\t4\n+693\t1023\t201\t291\t238\t121\t4\n+373\t127\t462\t124\t87\t57\t8\n+590\t965\t152\t114\t195\t265\t1\n+582\t375\t413\t171\t121\t232\t6\n+606\t1023\t179\t213\t201\t226\t1\n+358\t96\t63\t164\t593\t283\t10\n+380\t112\t562\t102\t142\t0\t8\n+382\t90\t521\t73\t121\t110\t8\n+351\t95\t540\t0\t178\t127\t8\n+541\t1023\t321\t447\t380\t428\t11\n+331\t176\t497\t172\t0\t141\t8\n+682\t1023\t175\t327\t242\t228\t4\n+378\t114\t532\t148\t0\t135\t8\n+334\t113\t511\t200\t46\t211\t8\n+362\t84\t526\t102\t0\t185\t8\n+791\t1023\t197\t279\t314\t236\t4\n+356\t126\t529\t0\t43\t138\t8\n+696\t1023\t130\t274\t235\t332\t4\n+722\t1023\t190\t260\t250\t237\t4\n+376\t94\t544\t104\t0\t99\t8\n+415\t147\t525\t0\t189\t102\t8\n+641\t950\t91\t250\t244\t212\t1\n+387\t124\t538\t23\t139\t4\t8\n+458\t103\t513\t0\t0\t106\t8\n+414\t126\t86\t95\t567\t171\t10\n+559\t919\t160\t218\t138\t193\t1\n+572\t895\t156\t49\t236\t47\t1\n+381\t111\t510\t93\t0\t95\t8\n+299\t143\t11\t0\t95\t58\t10\n+585\t1023\t197\t221\t216\t193\t1\n+638\t1023\t225\t254\t180\t157\t1\n+369\t162\t540\t81\t0\t56\t8\n+599\t915\t77\t255\t248\t124\t1\n+686\t1023\t89\t257\t217\t232\t1\n+578\t1023\t83\t207\t216\t126\t1\n+364\t120\t503\t0\t153\t225\t8\n+600\t1018\t153\t222\t275\t38\t9\n+383\t192\t101\t229\t624\t224\t10\n+383\t130\t532\t0\t67\t107\t8\n+328\t146\t23\t138\t0\t116\t10\n+272\t75\t99\t154\t220\t133\t10\n+323\t171\t96\t61\t146\t0\t10\n+337\t81\t506\t10\t0\t150\t8\n+290\t151\t0\t0\t106\t159\t10\n+661\t1023\t213\t292\t238\t295\t4\n+590\t1023\t216\t252\t264\t276\t1\n+512\t263\t118\t0\t213\t348\t10\n+315\t126\t502\t269\t48\t98\t8\n+276\t85\t479\t104\t40\t102\t8\n+378\t81\t548\t167\t0\t58\t8\n+387\t154\t0\t190\t656\t362\t10\n+602\t1023\t143\t256\t247\t38\t9\n+341\t142\t530\t7\t89\t46\t8\n+691\t1023\t141\t212\t189\t204\t1\n+576\t1006\t135\t209\t251\t216\t1\n+567\t849\t120\t157\t87\t213\t1\n+705\t1023\t189\t282\t279\t330\t4\n+985\t1023\t421\t292\t257\t220\t7\n+651\t1023\t181\t285\t202\t201\t1\n+693\t1023\t213\t300\t221\t225\t4\n+408\t113\t545\t183\t210\t104\t8\n+418\t143\t545\t0\t82\t126\t8\n+384\t112\t522\t111\t76\t109\t8\n+275\t48\t394\t0\t131\t0\t8\n+359\t113\t42\t80\t600\t163\t10\n+357\t169\t154\t138\t649\t283\t10\n+400\t224\t108\t227\t31\t107\t10\n+346\t88\t82\t84\t196\t98\t10\n+323\t124\t534\t0\t186\t183\t8\n+374\t103\t541\t142\t101\t52\t8\n+380\t105\t508\t170\t126\t313\t8\n+353\t196\t117\t115\t0\t164\t10\n+359\t113\t511\t259\t0\t141\t8\n+377\t137\t558\t11\t0\t14\t8\n+623\t423\t459\t227\t147\t40\t6\n+389\t149\t96\t50\t640\t263\t10\n+543\t1023\t144\t249\t187\t104\t1\n+691\t982\t85\t264\t194\t206\t1\n+627\t1023\t157\t238\t216\t193\t1\n+577\t1023\t165\t258\t299\t198\t1\n+402\t131\t569\t0\t124\t0\t8\n+337\t91\t506\t231\t0\t49\t8\n+636\t870\t91\t227\t96\t172\t1\n+356\t125\t58\t0\t621\t308\t10\n+390\t190\t46\t88\t665\t313\t10\n+351\t68\t529\t86\t0\t56\t8\n+623\t475\t365\t79\t157\t281\t6\n+335\t74\t512\t209\t49\t270\t8\n+496\t194\t105\t202\t427\t25\t10\n+614\t1023\t178\t280\t196\t117\t9\n+381\t84\t545\t101\t0\t140\t8\n+289\t93\t425\t0\t28\t68\t8\n+385\t240\t52\t168\t638\t277\t10\n+322\t162\t103\t0\t52\t61\t10\n+343\t126\t488\t99\t187\t276\t8\n+362\t197\t105\t68\t0\t2\t10\n+378\t99\t527\t0\t0\t116\t8\n+347\t107\t522\t0\t0\t200\t8\n+468\t198\t137\t99\t341\t111\t10\n+572\t967\t57\t255\t159\t220\t1\n+608\t1023\t115\t247\t174\t266\t1\n+637\t1023\t203\t289\t255\t175\t1\n+649\t902\t155\t165\t213\t262\t1\n+322\t148\t0\t187\t87\t115\t10\n'
b
diff -r 000000000000 -r 7632562ada41 auto_collapse_pop/test_data/profile.flowscore
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/test_data/profile.flowscore Mon Feb 27 12:14:29 2017 -0500
b
@@ -0,0 +1,31 @@
+Population_ID FSC SSC CD4 CCR3 CD8 CCR7
+1 1 1 3 1 1 1
+2 1 1 1 1 1 1
+3 1 1 1 1 1 1
+4 1 2 1 2 1 1
+5 1 1 3 1 1 1
+6 1 1 1 1 3 2
+7 1 1 3 1 1 1
+8 1 1 1 1 1 1
+9 1 1 3 1 1 1
+10 1 1 1 1 3 2
+11 1 1 1 1 3 1
+12 1 1 3 1 1 2
+13 1 1 3 1 1 1
+14 1 1 1 1 2 1
+15 1 1 3 1 1 1
+16 1 1 3 1 1 1
+17 1 1 3 1 1 2
+18 3 2 3 1 1 2
+19 2 4 1 1 1 2
+20 2 4 1 1 1 1
+21 3 4 1 2 2 2
+22 3 4 1 1 1 1
+23 2 4 2 2 2 3
+24 3 4 1 2 1 1
+25 4 4 2 2 2 2
+26 3 2 3 1 1 1
+27 2 4 1 1 1 2
+28 2 4 1 1 1 1
+29 4 4 3 2 2 3
+30 4 4 3 4 2 3
b
diff -r 000000000000 -r 7632562ada41 auto_collapse_pop/test_data/report.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/auto_collapse_pop/test_data/report.txt Mon Feb 27 12:14:29 2017 -0500
b
@@ -0,0 +1,12 @@
+New_Population Former_Populations FSC SSC CD4 CCR3
+1 19, 20, 27, 28 2 4 1 1
+2 4 1 2 1 2
+3 30 4 4 3 4
+4 21, 24 3 4 1 2
+5 29 4 4 3 2
+6 18, 26 3 2 3 1
+7 25 4 4 2 2
+8 1, 5, 7, 9, 12, 13, 15, 16, 17 1 1 3 1
+9 22 3 4 1 1
+10 2, 3, 6, 8, 10, 11, 14 1 1 1 1
+11 23 2 4 2 2