Add read depth parameters to output metadata

This commit is contained in:
eugenefischer
2022-09-27 11:13:12 -05:00
parent f7b3c133bf
commit 810abdb705
2 changed files with 29 additions and 9 deletions

View File

@@ -16,6 +16,8 @@ public class GraphWithMapData implements java.io.Serializable {
private Integer alphaCount;
private Integer betaCount;
private int readDepth;
private double readErrorRate;
private double errorCollisionRate;
private final Map<String, String> distCellsMapAlphaKey;
// private final Map<Integer, Integer> plateVtoAMap;
// private final Map<Integer, Integer> plateVtoBMap;
@@ -26,7 +28,8 @@ public class GraphWithMapData implements java.io.Serializable {
private final Duration time;
public GraphWithMapData(SimpleWeightedGraph graph, Integer numWells, Integer[] wellConcentrations,
Map<String, String> distCellsMapAlphaKey, Integer alphaCount, Integer betaCount, int readDepth, Duration time){
Map<String, String> distCellsMapAlphaKey, Integer alphaCount, Integer betaCount,
Integer readDepth, Double readErrorRate, Double errorCollisionRate, Duration time){
// Map<Integer, Integer> plateVtoAMap,
// Map<Integer,Integer> plateVtoBMap, Map<Integer, Integer> plateAtoVMap,
@@ -44,6 +47,9 @@ public class GraphWithMapData implements java.io.Serializable {
// this.plateBtoVMap = plateBtoVMap;
// this.alphaWellCounts = alphaWellCounts;
// this.betaWellCounts = betaWellCounts;
this.readDepth = readDepth;
this.readErrorRate = readErrorRate;
this.errorCollisionRate = errorCollisionRate;
this.time = time;
}
@@ -95,7 +101,7 @@ public class GraphWithMapData implements java.io.Serializable {
// return betaWellCounts;
// }
public int getReadDepth() { return readDepth; }
public Integer getReadDepth() { return readDepth; }
public Duration getTime() {
return time;
@@ -108,4 +114,12 @@ public class GraphWithMapData implements java.io.Serializable {
public String getSourceFilename() {
return sourceFilename;
}
public Double getReadErrorRate() {
return readErrorRate;
}
public Double getErrorCollisionRate() {
return errorCollisionRate;
}
}

View File

@@ -168,7 +168,8 @@ public class Simulator implements GraphModificationFunctions {
Duration time = Duration.between(start, stop);
//create GraphWithMapData object
GraphWithMapData output = new GraphWithMapData(graph, numWells, samplePlate.getPopulations(), distCellsMapAlphaKey, alphaCount, betaCount, readDepth, time);
GraphWithMapData output = new GraphWithMapData(graph, numWells, samplePlate.getPopulations(), distCellsMapAlphaKey,
alphaCount, betaCount, readDepth, readErrorRate, errorCollisionRate, time);
//Set source file name in graph to name of sample plate
output.setSourceFilename(samplePlate.getFilename());
//return GraphWithMapData object
@@ -340,14 +341,19 @@ public class Simulator implements GraphModificationFunctions {
metadata.put("algorithm type", algoType);
metadata.put("matching weight", totalMatchingWeight.toString());
metadata.put("well populations", wellPopulationsString);
metadata.put("total alphas on plate", data.getAlphaCount().toString());
metadata.put("total betas on plate", data.getBetaCount().toString());
metadata.put("read depth", data.getReadDepth().toString());
metadata.put("Sequence read error rate", data.getReadErrorRate().toString());
metadata.put("Read error collision rate", data.getErrorCollisionRate().toString());
metadata.put("total alphas read from plate", data.getAlphaCount().toString());
metadata.put("total betas read from plate", data.getBetaCount().toString());
metadata.put("pre-filter sequences present in all wells", "true");
metadata.put("pre-filter sequences based on occupancy/read count discrepancy", "true");
metadata.put("alphas in graph (after pre-filtering)", graphAlphaCount.toString());
metadata.put("betas in graph (after pre-filtering)", graphBetaCount.toString());
metadata.put("high overlap threshold", highThreshold.toString());
metadata.put("low overlap threshold", lowThreshold.toString());
metadata.put("minimum overlap percent", minOverlapPercent.toString());
metadata.put("maximum occupancy difference", maxOccupancyDifference.toString());
metadata.put("high overlap threshold for pairing", highThreshold.toString());
metadata.put("low overlap threshold for pairing", lowThreshold.toString());
metadata.put("minimum overlap percent for pairing", minOverlapPercent.toString());
metadata.put("maximum occupancy difference for pairing", maxOccupancyDifference.toString());
metadata.put("pairing attempt rate", attemptRateTrunc.toString());
metadata.put("correct pairing count", Integer.toString(trueCount));
metadata.put("incorrect pairing count", Integer.toString(falseCount));