List of usage examples for org.apache.commons.configuration2 XMLConfiguration configurationAt
@Override public HierarchicalConfiguration<ImmutableNode> configurationAt(final String key)
From source file:Executable.LinkImputeR.java
private static void accuracy(XMLConfiguration config) throws VCFException, OutputException, AlgorithmException { Log.initialise(config.configurationAt("log")); long start = System.currentTimeMillis(); Log.brief("Started"); List<ImmutableNode> outConfig = new ArrayList<>(); outConfig.add(new ImmutableNode.Builder().name("mode").value("impute").create()); Input input = new Input(config.configurationAt("input")); VCF vcf = input.getVCF();// www . j a v a 2s . c om outConfig.add(input.getImputeConfig()); Log.brief("Done read in and filter"); DepthMaskFactory dmf = new DepthMaskFactory(config.configurationAt("mask")); Output output = new Output(config.configurationAt("output")); PrintWriter sum = output.getSummaryWriter(); PrintWriter table = output.getTableWriter(); boolean partial = output.getPartial(); writeSumHeader(sum, partial); for (HierarchicalConfiguration<ImmutableNode> caseConfig : config.configurationsAt("case")) { Case c = new Case(caseConfig); Log.brief(c.getName() + ": Starting"); Log.detail(c.getName() + ": Applying filters..."); //FILTER c.applyFilters(vcf); if ((vcf.numberPositions() > 0) && (vcf.numberSamples()) > 0) { Log.detail(c.getName() + ": Getting reads..."); //GET READS int[][][] readCounts = vcf.asArrayTransposed("AD", new DepthMapper()); Caller caller = c.getCaller(); Log.detail(c.getName() + ": Masking..."); //MASK DepthMask mask = dmf.getDepthMask(readCounts, caller); List<SingleGenotypeReads> maskedReads = getMaskedReads(mask.maskedList()); Log.detail(c.getName() + ": Calling..."); ProbToCall p2c = new ProbToCall(); //CALL List<SingleGenotypeProbability> calledProb = caller.call(maskedReads); Log.detail(c.getName() + ": Imputing..."); //IMPUTE double[][][] origProb = caller.call(readCounts); Imputer imputer = c.getImputer(origProb, readCounts, calledProb, mask.maskedList()); Log.detail(c.getName() + ": Combining..."); DepthMask validateMask = dmf.getDepthMask(readCounts, mask.maskedPositions(), caller); List<SingleGenotypeReads> validateMaskedReads = getMaskedReads(validateMask.maskedList()); List<SingleGenotypeProbability> validateCalledProb = caller.call(validateMaskedReads); List<SingleGenotypeProbability> validateImputedProb = imputer.impute(origProb, readCounts, validateCalledProb, validateMask.maskedList()); //COMBINE List<SingleGenotypeCall> validateCorrectCalls = p2c .call(caller.call(getOriginalReads(validateMask.maskedList()))); Combiner combiner = c.getCombiner(validateCalledProb, validateImputedProb, validateMaskedReads, validateCorrectCalls, validateMask.maskedList()); Log.detail(c.getName() + ": Creating Stats..."); //STATS List<SingleGenotypePosition> ignoredPositions = new ArrayList<>(); ignoredPositions.addAll(mask.maskedPositions()); ignoredPositions.addAll(validateMask.maskedPositions()); DepthMask testMask = dmf.getDepthMask(readCounts, ignoredPositions, caller); List<SingleGenotypeReads> testMaskedReads = getMaskedReads(testMask.maskedList()); List<SingleGenotypeProbability> testCalledProb = caller.call(testMaskedReads); List<SingleGenotypeCall> testCalledGeno = p2c.call(testCalledProb); List<SingleGenotypeProbability> testImputedProb = imputer.impute(origProb, readCounts, testCalledProb, testMask.maskedList()); List<SingleGenotypeCall> testImputedGeno = p2c.call(testImputedProb); List<SingleGenotypeCall> testCorrectCalls = p2c .call(caller.call(getOriginalReads(testMask.maskedList()))); List<SingleGenotypeProbability> testCombinedProb = combiner.combine(testCalledProb, testImputedProb, testMaskedReads); List<SingleGenotypeCall> testCombinedGeno = p2c.call(testCombinedProb); AccuracyStats stats = AccuracyCalculator.accuracyStats(testCorrectCalls, testCombinedGeno, testMask.maskedList()); AccuracyStats cstats = AccuracyCalculator.accuracyStats(testCorrectCalls, testCalledGeno, testMask.maskedList()); AccuracyStats istats = AccuracyCalculator.accuracyStats(testCorrectCalls, testImputedGeno, testMask.maskedList()); c.getPrintStats().writeStats(stats, cstats, istats); writeSum(sum, c, vcf, stats, cstats, istats, partial); writeTable(table, c, vcf, stats, cstats, istats, partial); c.getPrintStats().writeEachMasked(testCorrectCalls, testCombinedGeno, vcf.getSamples(), vcf.getPositions()); //ADD IMPUTE CONFIG outConfig.add(c.getImputeConfig(caller, imputer, combiner)); Log.brief(c.getName() + ": Done"); } else { Log.detail(c.getName() + ": No data left after filtering"); writeSumError(sum, c, partial); Log.brief(c.getName() + ": Done"); } } //WRITE CONFIG output.writeControl(outConfig); sum.close(); if (table != null) { table.close(); } String time = DurationFormatUtils.formatDuration(System.currentTimeMillis() - start, "dd:HH:mm:ss"); Log.brief("All done\t(" + time + ")"); }
From source file:Executable.LinkImputeR.java
private static void impute(XMLConfiguration config, String casename, File output) throws VCFException, OutputException { long start = System.currentTimeMillis(); Log.initialise(Level.DEBUG);/* www .j a v a2s . c o m*/ Log.brief("Started " + casename); Input input = new Input(config.configurationAt("input")); VCF vcf = input.getVCF(); Log.debug("Data read in"); if (casename == null) { casename = config.getString("input.case"); } if (output == null) { output = new File(config.getString("output.filename")); } for (HierarchicalConfiguration<ImmutableNode> caseConfig : config.configurationsAt("case")) { Case c = new Case(caseConfig); if (c.getName().equals(casename)) { //FILTER c.applyFilters(vcf); Log.debug("Filters applied"); //GET READS int[][][] readCounts = vcf.asArrayTransposed("AD", new DepthMapper()); Log.debug("Got reads"); //CALL Caller caller = c.getCaller(); double[][][] calledProb = caller.call(readCounts); Log.debug("Done calling"); //IMPUTE ProbToCall p2c = new ProbToCall(); Imputer imputer = c.getImputer(); double[][][] imputedProb = imputer.impute(calledProb, readCounts); Log.debug("Done imputing"); //COMBINE Combiner combiner = c.getCombiner(); double[][][] combinedProb = combiner.combine(calledProb, imputedProb, readCounts); byte[][] combinedCalled = p2c.call(combinedProb); Log.debug("Done combining"); List<Position> newPositions = new ArrayList<>(); int i = 0; PositionMeta[] old = vcf.getPositions(); for (PositionMeta pm : old) { Position oldp = vcf.singlePosition(pm); byte[] g = new byte[combinedProb.length]; double[][] p = new double[combinedProb.length][]; for (int j = 0; j < g.length; j++) { g[j] = combinedCalled[j][i]; p[j] = combinedProb[j][i]; } newPositions.add(makeNewPosition(oldp, g, p)); i++; } List<String> newMeta = vcf.getMeta().getLinesList(); newMeta.add("##FORMAT=<ID=UG,Number=1,Type=String,Description=\"Unimputed Genotype\">"); newMeta.add( "##FORMAT=<ID=IP,Number=3,Type=Float,Description=\"Imputation Probabilities (3 d.p.)\">"); VCF newVCF = new VCF(new Meta(newMeta), newPositions); try { newVCF.writeFile(output); } catch (IOException ex) { throw new OutputException("Problem writing the imputed VCF"); } Log.debug("Output written"); } } String time = DurationFormatUtils.formatDuration(System.currentTimeMillis() - start, "dd:HH:mm:ss"); Log.brief("All done\t(" + time + ")"); }
From source file:org.mobicents.media.server.bootstrap.configuration.XmlConfigurationLoader.java
@Override public MediaServerConfiguration load(String filepath) { // Default configuration MediaServerConfiguration configuration = new MediaServerConfiguration(); // Read configuration from file XMLConfiguration xml; try {/*from w w w . j a v a2 s .c om*/ xml = this.configurations.xml(filepath); // Overwrite default configurations configureNetwork(xml.configurationAt("network"), configuration.getNetworkConfiguration()); configureController(xml.configurationAt("controller"), configuration.getControllerConfiguration()); configureMedia(xml.configurationAt("media"), configuration.getMediaConfiguration()); configureResource(xml.configurationAt("resources"), configuration.getResourcesConfiguration()); } catch (ConfigurationException | IllegalArgumentException e) { log.error("Could not load configuration from " + filepath + ". Using default values."); } return configuration; }
From source file:org.restcomm.media.bootstrap.configuration.XmlConfigurationLoader.java
@Override public MediaServerConfiguration load(String filepath) throws Exception { // Default configuration MediaServerConfiguration configuration = new MediaServerConfiguration(); // Read configuration from file XMLConfiguration xml; try {/*from www. ja va2 s .c o m*/ // Load from configured path (relative path) xml = this.configurations.xml(filepath); } catch (ConfigurationException e) { log.warn("Could not load configuration from " + filepath); // If failed using configured path, try to use default path (absolute path) final String mmsHome = System.getProperty(MMS_HOME); filepath = mmsHome + DEFAULT_PATH; xml = this.configurations.xml(filepath); log.warn("Configuration file found at " + filepath); } // Overwrite default configurations configureNetwork(xml.configurationAt("network"), configuration.getNetworkConfiguration()); configureController(xml.configurationAt("controller"), configuration.getControllerConfiguration()); configureMedia(xml.configurationAt("media"), configuration.getMediaConfiguration()); configureResource(xml.configurationAt("resources"), configuration.getResourcesConfiguration()); configureDtls(xml.configurationAt("dtls"), configuration.getDtlsConfiguration()); return configuration; }