Add plate well concentrations to output data

This commit is contained in:
2022-02-20 01:53:34 -06:00
parent c96b7237e9
commit 5d0e60708c
4 changed files with 14 additions and 10 deletions

View File

@@ -21,7 +21,6 @@ public class Plate {
this.size = size; this.size = size;
this.error = error; this.error = error;
this.concentrations = concentrations; this.concentrations = concentrations;
//this.stdDev = stdDev;
wells = new ArrayList<>(); wells = new ArrayList<>();
} }

View File

@@ -240,13 +240,18 @@ public class Simulator {
BigDecimal attemptRateTrunc = new BigDecimal(attemptRate, mc); BigDecimal attemptRateTrunc = new BigDecimal(attemptRate, mc);
double pairingErrorRate = (double) falseCount / (trueCount + falseCount); double pairingErrorRate = (double) falseCount / (trueCount + falseCount);
BigDecimal pairingErrorRateTrunc = new BigDecimal(pairingErrorRate, mc); BigDecimal pairingErrorRateTrunc = new BigDecimal(pairingErrorRate, mc);
Integer[] wellConcentrations = data.getWellConcentrations(); //make list of well concentrations
String concentrations = wellConcentrations[0].toString(); List<Integer> wellConcentrations = Arrays.asList(data.getWellConcentrations());
for (int i = 1; i < wellConcentrations.length; i++) { //make string out of concentrations list
concentrations = concentrations.concat(", "+ wellConcentrations[i].toString()); StringBuilder concen = new StringBuilder();
for(Integer i: wellConcentrations){
concen.append(i.toString());
concen.append(" ");
} }
String concenString = concen.toString();
List<String> comments = new ArrayList<>(); List<String> 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 alphas found: " + alphaCount);
comments.add("Total betas found: " + betaCount); comments.add("Total betas found: " + betaCount);
comments.add("High overlap threshold: " + highThreshold); comments.add("High overlap threshold: " + highThreshold);

View File

@@ -375,7 +375,7 @@ public class UserInterface {
System.out.println(" * selected from a statistical distribution of distinct cells"); 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(" * 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("\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(); cellFile = sc.next();
System.out.println("\nThe sample plate will be written to a CSV file"); System.out.println("\nThe sample plate will be written to a CSV file");
System.out.print("Please enter a name for the output 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: "); System.out.print("Please enter a name for the output file: ");
filename = sc.next(); filename = sc.next();
System.out.println("Bipartite graph can be pre-filtered for relative alpha/beta occupancy."); 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?"); System.out.println("What is the maximum difference in alpha/beta occupancy to attempt matching?");
maxOccupancyDiff = sc.nextInt(); maxOccupancyDiff = sc.nextInt();
System.out.println("Bipartite graph can be pre-filtered for pair well overlap percentage"); 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)"); System.out.println("What is the minimum overlap percentage to attempt matching? (0 - 100)");
minOverlapPercent = sc.nextInt(); minOverlapPercent = sc.nextInt();
if (minOverlapPercent < 0 || minOverlapPercent > 100) { if (minOverlapPercent < 0 || minOverlapPercent > 100) {