From 5d0e60708ceb75f172817077631d18149b652256 Mon Sep 17 00:00:00 2001 From: efischer Date: Sun, 20 Feb 2022 01:53:34 -0600 Subject: [PATCH] Add plate well concentrations to output data --- out/artifacts/TCellSim_jar/TCellSim.jar | Bin 1578770 -> 1578875 bytes src/main/java/Plate.java | 1 - src/main/java/Simulator.java | 17 +++++++++++------ src/main/java/UserInterface.java | 6 +++--- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/out/artifacts/TCellSim_jar/TCellSim.jar b/out/artifacts/TCellSim_jar/TCellSim.jar index d8b612484a73d16fbec085424abca8103ac7c497..189f0c50a4c79feafbac1e81d197b0e3528e04a4 100644 GIT binary patch delta 40196 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

Wmh> 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 iK&`4B5d*ih?Z3?1YY3 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

vP@?gA8UKuvM!v--5#ka%`q078l)W5?5+qih% zA11HE^lbe$gbc$6LVYh>UKIS>Q1M2hJj~iJKb)7}cWI$TDe`oZslmm1%nz;i2<4{p z^bDC++e$;qhvnh$VR_8mCs^}(8j3zEPY)&PV0=!VH)8U`$PX0nZAf~MSM9zp&wCxt zca`sAzoq|qD-MG3T_ml214hEt>$&J-Eob{t0(m3nnte z?}-YM^uza<+C7+@BfzN#ckg|8c}a_=IVs>U+=D^9JeNTfKjStj0&gp6cJOEPf2}T6tR+VDs!a*_CRwceEcxs3py3yKgbh+k{>v&^Bj(*d5s$xUd0z&=DKkiLhUOK z=`m3Zp}$)}2A+OFN0Yvyqm!WME47qx#z)bSgpd0aL}21K%yzXT1v(=}LgF{d5U-T3 zd_#-h23~}_bPOL9#lTzkGTCC^i`mkBOo3j>41?GK^bn2WyW=!!4DWlf`rD4viuhRK z2@IEYA0jWZ1`#2M>%%3~vyvgmhd!LUAD!g*);4-ClKehf$g#P#EG z?;%wln*%@l@r18-*Z>tg9QAQn)o1V09e|2{;?S5njs#6JQWvCtVV!&?K>ROUqRjtA zjb%-TxL=ebO97gHQHzKKCusSF8z?(xQWW~|-7Pw%aldh4HxBZCGfOt!%czT-lT0}( z@Ri_5Cn<1n5lhpagrExzC*^Xc5bIre65=e*Sfa^|_kAIYGnq(s=Y6kWam+nw&dw`4tM;`xM7M=|K5+ZSmhiSq$f}=-t@(2x> z%;tDE&mb%bn|(=H7~e>WCkt@Yh*!RYtm#DmqCo;5ce|$55BZlR-3S;@Yc!oZxVj_YqGdXYwk}ATPNvsX}7ZC?_ zQH}+1GqwBg8noO_vyFJ~3qjBcURWCL=e| zgeDkn#?+rFflj7~qm$lSXxIQBishIPMO$fN5uwaw6fbj8cB9FF>0$|#R}LRwh2xtd zyB`g(ge8%cyq%YK){>kV#Oj@YzT=Bxl34Yz5r2V}2vU+hgkwA&C55`5Bmc59qA)pl z%?LCrdiP(}QzU;;_%64Sk|I{ts$N%-#3r zJHFf`gB51)M_@Pz$>R4_Nj#>TEN47n1HA9KvX~3|5AePV$zhk%Pvw2TlZvkgY?4Fk zhYs-oi!^+3M1>!N+9roC&&}YWn(~~{#I(cockH}kuuUF|Id_CHASWuktg2n|TzRvwWsMt3v diff --git a/src/main/java/Plate.java b/src/main/java/Plate.java index 9b29a81..121a776 100644 --- a/src/main/java/Plate.java +++ b/src/main/java/Plate.java @@ -21,7 +21,6 @@ public class Plate { this.size = size; this.error = error; this.concentrations = concentrations; - //this.stdDev = stdDev; wells = new ArrayList<>(); } diff --git a/src/main/java/Simulator.java b/src/main/java/Simulator.java index 7774644..f9cc8cb 100644 --- a/src/main/java/Simulator.java +++ b/src/main/java/Simulator.java @@ -159,7 +159,7 @@ public class Simulator { SimpleWeightedGraph graph = data.getGraph(); //Filter by overlap size - if(verbose){System.out.println("Eliminating edges with weights less than" + minOverlapPercent.toString() + + if(verbose){System.out.println("Eliminating edges with weights less than " + minOverlapPercent.toString() + " percent of vertex occupancy value.");} filterByOverlapSize(graph, alphaWellCounts, betaWellCounts, plateVtoAMap, plateVtoBMap, minOverlapPercent); if(verbose){System.out.println("Edges with weights too far below vertex occupancy values set to 0.0");} @@ -240,13 +240,18 @@ public class Simulator { BigDecimal attemptRateTrunc = new BigDecimal(attemptRate, mc); double pairingErrorRate = (double) falseCount / (trueCount + falseCount); BigDecimal pairingErrorRateTrunc = new BigDecimal(pairingErrorRate, mc); - Integer[] wellConcentrations = data.getWellConcentrations(); - String concentrations = wellConcentrations[0].toString(); - for (int i = 1; i < wellConcentrations.length; i++) { - concentrations = concentrations.concat(", "+ wellConcentrations[i].toString()); + //make list of well concentrations + List wellConcentrations = Arrays.asList(data.getWellConcentrations()); + //make string out of concentrations list + StringBuilder concen = new StringBuilder(); + for(Integer i: wellConcentrations){ + concen.append(i.toString()); + concen.append(" "); } + String concenString = concen.toString(); + List comments = new ArrayList<>(); - comments.add("T cell counts in sample plate wells: " + concentrations); + comments.add("T cell counts in sample plate wells: " + concenString); comments.add("Total alphas found: " + alphaCount); comments.add("Total betas found: " + betaCount); comments.add("High overlap threshold: " + highThreshold); diff --git a/src/main/java/UserInterface.java b/src/main/java/UserInterface.java index 85f492d..2ac3d1f 100644 --- a/src/main/java/UserInterface.java +++ b/src/main/java/UserInterface.java @@ -375,7 +375,7 @@ public class UserInterface { System.out.println(" * selected from a statistical distribution of distinct cells"); System.out.println(" * with a set dropout rate for individual sequences within a cell"); System.out.println("\nMaking a sample plate requires a population of distinct cells"); - System.out.println("Please enter name of an existing cell sample file: "); + System.out.print("Please enter name of an existing cell sample file: "); cellFile = sc.next(); System.out.println("\nThe sample plate will be written to a CSV file"); System.out.print("Please enter a name for the output file: "); @@ -530,11 +530,11 @@ public class UserInterface { System.out.print("Please enter a name for the output file: "); filename = sc.next(); System.out.println("Bipartite graph can be pre-filtered for relative alpha/beta occupancy."); - System.out.println("(To skip pre-filtering: enter number of wells on the sample plate used to make graph)"); + System.out.println("(To skip pre-filtering: enter number of wells on the plate used to make graph)"); System.out.println("What is the maximum difference in alpha/beta occupancy to attempt matching?"); maxOccupancyDiff = sc.nextInt(); System.out.println("Bipartite graph can be pre-filtered for pair well overlap percentage"); - System.out.println("(To skip pre-filtering: enter 0"); + System.out.println("(To skip pre-filtering: enter 0)"); System.out.println("What is the minimum overlap percentage to attempt matching? (0 - 100)"); minOverlapPercent = sc.nextInt(); if (minOverlapPercent < 0 || minOverlapPercent > 100) {