if ( taxonFilterFile != null){
taxonFilter = readTaxonFilterFile(taxonFilterFile);
}
MultiClassifier multiClassifier = new MultiClassifier(train_propfile, gene);
DefaultPrintVisitor printVisitor = new DefaultPrintVisitor(heir_out, samples);
MultiClassifierResult result = multiClassifier.multiClassificationParser(samples, conf, assign_out, format, rank, taxonFilter);
result.getRoot().topDownVisit(printVisitor);
assign_out.close();
heir_out.close();
if ( multiClassifier.hasCopyNumber()){
// print copy number corrected counts
File cn_corrected_s = new File (new File(hier_out_filename).getParentFile(), "cncorrected_" + hier_out_filename);
PrintStream cn_corrected_hier_out = new PrintStream(cn_corrected_s);
printVisitor = new DefaultPrintVisitor(cn_corrected_hier_out, samples, true);
result.getRoot().topDownVisit(printVisitor);
cn_corrected_hier_out.close();
}
}