Add flag to print metadata to stdout
This commit is contained in:
@@ -153,17 +153,24 @@ public class CommandLineInterface {
|
||||
else if (line.hasOption("match")) { //can add a flag for which match type in future, spit this in two
|
||||
line = parser.parse(matchOptions, Arrays.copyOfRange(args, 1, args.length));
|
||||
String graphFilename = line.getOptionValue("g");
|
||||
String outputFilename = line.getOptionValue("o");
|
||||
|
||||
String outputFilename;
|
||||
if(line.hasOption("o")) {
|
||||
outputFilename = line.getOptionValue("o");
|
||||
}
|
||||
else {
|
||||
outputFilename = null;
|
||||
}
|
||||
Integer minThreshold = Integer.parseInt(line.getOptionValue("min"));
|
||||
Integer maxThreshold = Integer.parseInt(line.getOptionValue("max"));
|
||||
Integer minOverlapPct;
|
||||
int minOverlapPct;
|
||||
if (line.hasOption("minpct")) { //see if this filter is being used
|
||||
minOverlapPct = Integer.parseInt(line.getOptionValue("minpct"));
|
||||
}
|
||||
else {
|
||||
minOverlapPct = 0;
|
||||
}
|
||||
Integer maxOccupancyDiff;
|
||||
int maxOccupancyDiff;
|
||||
if (line.hasOption("maxdiff")) { //see if this filter is being used
|
||||
maxOccupancyDiff = Integer.parseInt(line.getOptionValue("maxdiff"));
|
||||
}
|
||||
@@ -173,10 +180,17 @@ public class CommandLineInterface {
|
||||
GraphWithMapData graph = getGraph(graphFilename);
|
||||
MatchingResult result = Simulator.matchCDR3s(graph, graphFilename, minThreshold, maxThreshold,
|
||||
maxOccupancyDiff, minOverlapPct, false);
|
||||
MatchingFileWriter writer = new MatchingFileWriter(outputFilename, result);
|
||||
writer.writeResultsToFile();
|
||||
if(outputFilename != null){
|
||||
MatchingFileWriter writer = new MatchingFileWriter(outputFilename, result);
|
||||
writer.writeResultsToFile();
|
||||
}
|
||||
//can put a bunch of ifs for outputting various things from the MatchingResult to System.out here
|
||||
//after I put those flags in the matchOptions
|
||||
if(line.hasOption("print-metadata")) {
|
||||
for (String k : result.getMetadata().keySet()) {
|
||||
System.out.println(k + ": " + result.getMetadata().get(k));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (ParseException exp) {
|
||||
@@ -297,7 +311,7 @@ public class CommandLineInterface {
|
||||
.desc("Randomize well populations on sample plate. Takes two arguments: the minimum possible population and the maximum possible population.")
|
||||
.hasArgs()
|
||||
.numberOfArgs(2)
|
||||
.argName("minimum maximum")
|
||||
.argName("min> <max")
|
||||
.build();
|
||||
Option specificWellPopulations = Option.builder("pop")
|
||||
.desc("The well populations for each section of the sample plate. There will be as many sections as there are populations given.")
|
||||
@@ -326,22 +340,22 @@ public class CommandLineInterface {
|
||||
Options graphOptions = new Options();
|
||||
Option cellFilename = Option.builder("c")
|
||||
.longOpt("cell-file")
|
||||
.desc("Cell sample file to use for checking accuracy")
|
||||
.desc("Cell sample file to use for checking pairing accuracy")
|
||||
.hasArg()
|
||||
.argName("filename")
|
||||
.required().build();
|
||||
Option plateFilename = Option.builder("p")
|
||||
.longOpt("plate-filename")
|
||||
.desc("Sample plate file (made from given cell sample file) to construct graph from")
|
||||
.desc("Sample plate file from which to construct graph")
|
||||
.hasArg()
|
||||
.argName("filename")
|
||||
.required().build();
|
||||
Option outputGraphML = Option.builder("graphml")
|
||||
.desc("Output GraphML file")
|
||||
.desc("(Optional) Output GraphML file")
|
||||
.build();
|
||||
Option outputSerializedBinary = Option.builder("nb")
|
||||
.longOpt("no-binary")
|
||||
.desc("Don't output serialized binary file")
|
||||
.desc("(Optional) Don't output serialized binary file")
|
||||
.build();
|
||||
graphOptions.addOption(cellFilename);
|
||||
graphOptions.addOption(plateFilename);
|
||||
@@ -379,15 +393,36 @@ public class CommandLineInterface {
|
||||
.hasArg()
|
||||
.argName("number")
|
||||
.build();
|
||||
matchCDR3options.addOption(graphFilename);
|
||||
matchCDR3options.addOption(minOccupancyOverlap);
|
||||
matchCDR3options.addOption(maxOccupancyOverlap);
|
||||
matchCDR3options.addOption(minOverlapPercent);
|
||||
matchCDR3options.addOption(maxOccupancyDifference);
|
||||
matchCDR3options.addOption(outputFileOption());
|
||||
//options for output to System.out
|
||||
//Option printPairingErrorRate = Option.builder()
|
||||
Option outputFile = Option.builder("o") //can't call the method this time, because this one's optional
|
||||
.longOpt("output-file")
|
||||
.hasArg()
|
||||
.argName("filename")
|
||||
.desc("(Optional) Name of output the output file. If not present, no file will be written.")
|
||||
.build();
|
||||
matchCDR3options.addOption(graphFilename)
|
||||
.addOption(minOccupancyOverlap)
|
||||
.addOption(maxOccupancyOverlap)
|
||||
.addOption(minOverlapPercent)
|
||||
.addOption(maxOccupancyDifference)
|
||||
.addOption(outputFile);
|
||||
|
||||
//options for output to System.out
|
||||
// Option printErrorRate = Option.builder().longOpt("print-error")
|
||||
// .desc("(Optional) Print the pairing error rate to stdout").build();
|
||||
// Option printAttempt = Option.builder().longOpt("print-attempt")
|
||||
// .desc("(Optional) Print the pairing attempt rate to stdout").build();
|
||||
// Option printCorrect = Option.builder().longOpt("print-correct")
|
||||
// .desc("(Optional) Print the number of correct pairs to stdout").build();
|
||||
// Option printIncorrect = Option.builder().longOpt("print-incorrect")
|
||||
// .desc("(Optional) Print the number of incorrect pairs to stdout").build();
|
||||
Option printMetadata = Option.builder().longOpt("print-metadata")
|
||||
.desc("(Optional) Print all metadata to stdout").build();
|
||||
matchCDR3options
|
||||
// .addOption(printErrorRate)
|
||||
// .addOption(printAttempt)
|
||||
// .addOption(printCorrect)
|
||||
// .addOption(printIncorrect)
|
||||
.addOption(printMetadata);
|
||||
return matchCDR3options;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user