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.error = error;
this.concentrations = concentrations;
//this.stdDev = stdDev;
wells = new ArrayList<>();
}

View File

@@ -159,7 +159,7 @@ public class Simulator {
SimpleWeightedGraph<Integer, DefaultWeightedEdge> 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<Integer> 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<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 betas found: " + betaCount);
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(" * 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) {