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 alphaCount;
private Integer betaCount; private Integer betaCount;
private int readDepth; private int readDepth;
private double readErrorRate;
private double errorCollisionRate;
private final Map<String, String> distCellsMapAlphaKey; private final Map<String, String> distCellsMapAlphaKey;
// private final Map<Integer, Integer> plateVtoAMap; // private final Map<Integer, Integer> plateVtoAMap;
// private final Map<Integer, Integer> plateVtoBMap; // private final Map<Integer, Integer> plateVtoBMap;
@@ -26,7 +28,8 @@ public class GraphWithMapData implements java.io.Serializable {
private final Duration time; private final Duration time;
public GraphWithMapData(SimpleWeightedGraph graph, Integer numWells, Integer[] wellConcentrations, 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> plateVtoAMap,
// Map<Integer,Integer> plateVtoBMap, Map<Integer, Integer> plateAtoVMap, // Map<Integer,Integer> plateVtoBMap, Map<Integer, Integer> plateAtoVMap,
@@ -44,6 +47,9 @@ public class GraphWithMapData implements java.io.Serializable {
// this.plateBtoVMap = plateBtoVMap; // this.plateBtoVMap = plateBtoVMap;
// this.alphaWellCounts = alphaWellCounts; // this.alphaWellCounts = alphaWellCounts;
// this.betaWellCounts = betaWellCounts; // this.betaWellCounts = betaWellCounts;
this.readDepth = readDepth;
this.readErrorRate = readErrorRate;
this.errorCollisionRate = errorCollisionRate;
this.time = time; this.time = time;
} }
@@ -95,7 +101,7 @@ public class GraphWithMapData implements java.io.Serializable {
// return betaWellCounts; // return betaWellCounts;
// } // }
public int getReadDepth() { return readDepth; } public Integer getReadDepth() { return readDepth; }
public Duration getTime() { public Duration getTime() {
return time; return time;
@@ -108,4 +114,12 @@ public class GraphWithMapData implements java.io.Serializable {
public String getSourceFilename() { public String getSourceFilename() {
return sourceFilename; 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); Duration time = Duration.between(start, stop);
//create GraphWithMapData object //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 //Set source file name in graph to name of sample plate
output.setSourceFilename(samplePlate.getFilename()); output.setSourceFilename(samplePlate.getFilename());
//return GraphWithMapData object //return GraphWithMapData object
@@ -340,14 +341,19 @@ public class Simulator implements GraphModificationFunctions {
metadata.put("algorithm type", algoType); metadata.put("algorithm type", algoType);
metadata.put("matching weight", totalMatchingWeight.toString()); metadata.put("matching weight", totalMatchingWeight.toString());
metadata.put("well populations", wellPopulationsString); metadata.put("well populations", wellPopulationsString);
metadata.put("total alphas on plate", data.getAlphaCount().toString()); metadata.put("read depth", data.getReadDepth().toString());
metadata.put("total betas on plate", data.getBetaCount().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("alphas in graph (after pre-filtering)", graphAlphaCount.toString());
metadata.put("betas in graph (after pre-filtering)", graphBetaCount.toString()); metadata.put("betas in graph (after pre-filtering)", graphBetaCount.toString());
metadata.put("high overlap threshold", highThreshold.toString()); metadata.put("high overlap threshold for pairing", highThreshold.toString());
metadata.put("low overlap threshold", lowThreshold.toString()); metadata.put("low overlap threshold for pairing", lowThreshold.toString());
metadata.put("minimum overlap percent", minOverlapPercent.toString()); metadata.put("minimum overlap percent for pairing", minOverlapPercent.toString());
metadata.put("maximum occupancy difference", maxOccupancyDifference.toString()); metadata.put("maximum occupancy difference for pairing", maxOccupancyDifference.toString());
metadata.put("pairing attempt rate", attemptRateTrunc.toString()); metadata.put("pairing attempt rate", attemptRateTrunc.toString());
metadata.put("correct pairing count", Integer.toString(trueCount)); metadata.put("correct pairing count", Integer.toString(trueCount));
metadata.put("incorrect pairing count", Integer.toString(falseCount)); metadata.put("incorrect pairing count", Integer.toString(falseCount));