Example usage for org.apache.commons.configuration2 XMLConfiguration configurationAt

List of usage examples for org.apache.commons.configuration2 XMLConfiguration configurationAt

Introduction

In this page you can find the example usage for org.apache.commons.configuration2 XMLConfiguration configurationAt.

Prototype

@Override
public HierarchicalConfiguration<ImmutableNode> configurationAt(final String key) 

Source Link

Document

This is a short form for configurationAt(key, false) .

Usage

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;
}