@Override public DataSet performFunction(DataSet input) { createMergeOutfile(infiles, outfilename); fillMergeOutfile(infiles, outfilename); if (hapmapFile != null) { myLogger.info("Calling SNPs in good reads."); ReadsByTaxa rbt = new ReadsByTaxa(); rbt.readTBTFile(new File(outfilename)); Clusters cls = new Clusters(rbt); cls .networkFilter(); // Really powerful, which generates 85% single locus SNPs in 282 maize // lines cls.alleleFrequencyFileter( rbt, (double) 0.20, (double) 0.30); // Only for linkage pop which has allele frequency peaks cls.heteozygoteFilter(rbt); // Seems not useful, need to be refined or removed cls.writeHapMap(rbt, hapmapFile.getAbsolutePath(), (float) 0.9); } return null; }