Example usage for org.apache.commons.configuration CompositeConfiguration getBoolean

List of usage examples for org.apache.commons.configuration CompositeConfiguration getBoolean

Introduction

In this page you can find the example usage for org.apache.commons.configuration CompositeConfiguration getBoolean.

Prototype

public boolean getBoolean(String key, boolean defaultValue) 

Source Link

Usage

From source file:ffx.potential.parsers.ConversionFilter.java

public ConversionFilter(List<Object> structures, MolecularAssembly molecularAssembly, ForceField forcefield,
        CompositeConfiguration properties) {
    this.structures = structures;
    if (structures != null && !structures.isEmpty()) {
        this.currentStructure = structures.get(0);
    }// w  w w. j a  va2 s .  c  om
    this.activeMolecularAssembly = molecularAssembly;
    this.forceField = forcefield;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.potential.parsers.ConversionFilter.java

public ConversionFilter(Object structure, MolecularAssembly molecularAssembly, ForceField forcefield,
        CompositeConfiguration properties) {
    this.currentStructure = structure;
    this.structures = new ArrayList<>();
    if (structure != null) {
        structures.add(structure);/*w  w w . j a v  a 2s .com*/
    }
    this.activeMolecularAssembly = molecularAssembly;
    this.forceField = forcefield;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.potential.parsers.ConversionFilter.java

public ConversionFilter(Object structure, List<MolecularAssembly> molecularAssemblies, ForceField forcefield,
        CompositeConfiguration properties) {
    this.currentStructure = structure;
    this.structures = new ArrayList<>();
    if (structure != null) {
        structures.add(structure);/*  w w  w.  j a  va2 s .  c o  m*/
    }
    this.systems = new Vector(molecularAssemblies);
    this.activeMolecularAssembly = systems.firstElement();
    this.forceField = forcefield;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.potential.parsers.SystemFilter.java

/**
 * <p>//from w w w. j a  va2  s .c  o  m
 * Constructor for SystemFilter.</p>
 *
 * @param files a {@link java.util.List} object.
 * @param molecularAssembly a {@link ffx.potential.MolecularAssembly}
 * object.
 * @param forceField a {@link ffx.potential.parameters.ForceField} object.
 * @param properties a
 * {@link org.apache.commons.configuration.CompositeConfiguration} object.
 */
public SystemFilter(List<File> files, MolecularAssembly molecularAssembly, ForceField forceField,
        CompositeConfiguration properties) {
    this.files = files;
    if (files != null) {
        this.currentFile = files.get(0);
    }
    this.activeMolecularAssembly = molecularAssembly;
    this.forceField = forceField;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.potential.parsers.SystemFilter.java

/**
 * <p>/*w w  w  .ja v a 2  s .c  o  m*/
 * Constructor for SystemFilter.</p>
 *
 * @param file a {@link java.io.File} object.
 * @param molecularAssembly a {@link ffx.potential.MolecularAssembly}
 * object.
 * @param forceField a {@link ffx.potential.parameters.ForceField} object.
 * @param properties a
 * {@link org.apache.commons.configuration.CompositeConfiguration} object.
 */
public SystemFilter(File file, MolecularAssembly molecularAssembly, ForceField forceField,
        CompositeConfiguration properties) {
    files = new ArrayList<File>();
    if (file != null) {
        files.add(file);
    }
    this.currentFile = file;
    this.activeMolecularAssembly = molecularAssembly;
    this.forceField = forceField;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.potential.parsers.SystemFilter.java

/**
 * <p>/*  ww w  . j  a v a  2s . c  o  m*/
 * Constructor for SystemFilter.</p>
 *
 * @param file a {@link java.io.File} object.
 * @param molecularAssemblies a {@link java.util.List} object.
 * @param forceField a {@link ffx.potential.parameters.ForceField} object.
 * @param properties a
 * {@link org.apache.commons.configuration.CompositeConfiguration} object.
 */
public SystemFilter(File file, List<MolecularAssembly> molecularAssemblies, ForceField forceField,
        CompositeConfiguration properties) {
    files = new ArrayList<File>();
    if (file != null) {
        files.add(file);
    }
    this.currentFile = file;
    this.systems = new Vector(molecularAssemblies);
    this.activeMolecularAssembly = systems.firstElement();
    this.forceField = forceField;
    this.properties = properties;

    if (properties != null) {
        vdwH = properties.getBoolean("vdwHydrogens", false);
    } else {
        vdwH = false;
    }
}

From source file:ffx.realspace.RealSpaceData.java

/**
 * Construct a real space data molecularAssemblies.
 *
 * @param molecularAssemblies//www.j a v a  2s.  co  m
 * {@link ffx.potential.MolecularAssembly molecular molecularAssemblies}
 * object array (typically containing alternate conformer assemblies), used
 * as the atomic model for comparison against the data
 * @param properties system properties file
 * @param parallelTeam
 * @param dataFile one or more {@link RealSpaceFile} to be refined against
 */
public RealSpaceData(MolecularAssembly molecularAssemblies[], CompositeConfiguration properties,
        ParallelTeam parallelTeam, RealSpaceFile... dataFile) {

    this.molecularAssemblies = molecularAssemblies;
    this.modelName = molecularAssemblies[0].getFile().getName();
    this.parallelTeam = parallelTeam;
    this.realSpaceFile = dataFile;
    this.nRealSpaceData = dataFile.length;
    crystal = new Crystal[nRealSpaceData];
    refinementData = new RealSpaceRefinementData[nRealSpaceData];

    xweight = properties.getDouble("xweight", 1.0);
    lambdaTerm = properties.getBoolean("lambdaterm", false);

    for (int i = 0; i < nRealSpaceData; i++) {
        crystal[i] = dataFile[i].getRealSpaceFileFilter().getCrystal(dataFile[i].getFilename(), properties);

        if (crystal[i] == null) {
            logger.severe("CCP4 map file does not contain full crystal information!");
        }
    }

    for (int i = 0; i < nRealSpaceData; i++) {
        refinementData[i] = new RealSpaceRefinementData();
        dataFile[i].getRealSpaceFileFilter().readFile(dataFile[i].getFilename(), refinementData[i], properties);

        if (refinementData[i].getOrigin()[0] == 0 && refinementData[i].getOrigin()[1] == 0
                && refinementData[i].getOrigin()[2] == 0
                && refinementData[i].getExtent()[0] == refinementData[i].getNi()[0]
                && refinementData[i].getExtent()[1] == refinementData[i].getNi()[1]
                && refinementData[i].getExtent()[2] == refinementData[i].getNi()[2]) {
            refinementData[i].setPeriodic(true);
        }
    }

    if (logger.isLoggable(Level.INFO)) {
        StringBuilder sb = new StringBuilder();
        sb.append(" Real Space Refinement Settings\n");
        sb.append(format("  Refinement weight (xweight): %5.3f", xweight));
        logger.info(sb.toString());
    }

    // now set up the refinement model
    refinementModel = new RefinementModel(molecularAssemblies);

    /**
     * Initialize the RealSpaceRegion.
     */
    int nAtoms = refinementModel.getTotalAtomArray().length;
    realSpaceRegion = new RealSpaceRegion(parallelTeam.getThreadCount(), nAtoms, refinementData.length);

}

From source file:ffx.realspace.RealSpaceData.java

/**
 * Construct a real space data molecularAssemblies, assumes a real space map
 * with a weight of 1.0 using the same name as the molecularAssemblies.
 *
 * @param molecularAssemblies//from  w ww  . jav  a  2 s  .  com
 * {@link ffx.potential.MolecularAssembly molecular molecularAssemblies}
 * object, used as the atomic model for comparison against the data
 * @param properties system properties file
 * @param parallelTeam
 * @param diffractionData {@link ffx.xray.DiffractionData diffraction data}
 */
public RealSpaceData(MolecularAssembly molecularAssemblies[], CompositeConfiguration properties,
        ParallelTeam parallelTeam, DiffractionData diffractionData) {
    this.molecularAssemblies = molecularAssemblies;
    this.parallelTeam = parallelTeam;
    this.modelName = molecularAssemblies[0].getFile().getName();
    this.realSpaceFile = null;
    this.nRealSpaceData = 1;
    crystal = new Crystal[nRealSpaceData];
    crystal[0] = diffractionData.getCrystal()[0];
    refinementData = new RealSpaceRefinementData[nRealSpaceData];
    refinementData[0] = new RealSpaceRefinementData();
    refinementData[0].setPeriodic(true);

    xweight = properties.getDouble("xweight", 1.0);
    lambdaTerm = properties.getBoolean("lambdaterm", false);

    if (logger.isLoggable(Level.INFO)) {
        StringBuilder sb = new StringBuilder();
        sb.append(" Real Space Refinement Settings\n");
        sb.append(format("  Refinement weight (xweight): %5.3f", xweight));
        logger.info(sb.toString());
    }

    if (!diffractionData.getScaled()[0]) {
        diffractionData.scaleBulkFit();
        diffractionData.printStats();
    }

    // get Fo-Fc difference density
    diffractionData.getCrs_fc()[0].computeAtomicGradients(diffractionData.getRefinementData()[0].fofc1,
            diffractionData.getRefinementData()[0].freer, diffractionData.getRefinementData()[0].rfreeflag,
            RefinementMode.COORDINATES);

    refinementData[0].setOrigin(0, 0, 0);
    int extx = (int) diffractionData.getCrs_fc()[0].getXDim();
    int exty = (int) diffractionData.getCrs_fc()[0].getYDim();
    int extz = (int) diffractionData.getCrs_fc()[0].getZDim();
    refinementData[0].setExtent(extx, exty, extz);
    refinementData[0].setNI(extx, exty, extz);
    refinementData[0].setData(new double[extx * exty * extz]);
    for (int k = 0; k < extz; k++) {
        for (int j = 0; j < exty; j++) {
            for (int i = 0; i < extx; i++) {
                int index1 = (i + extx * (j + exty * k));
                int index2 = 2 * (i + extx * (j + exty * k));
                refinementData[0].getData()[index1] = diffractionData.getCrs_fc()[0].getDensityGrid()[index2];
            }
        }
    }

    /**
     * Initialize the refinement model.
     */
    refinementModel = new RefinementModel(molecularAssemblies);

    /**
     * Initialize the RealSpaceRegion.
     */
    int nAtoms = refinementModel.getTotalAtomArray().length;
    realSpaceRegion = new RealSpaceRegion(parallelTeam.getThreadCount(), nAtoms, refinementData.length);

}

From source file:ffx.xray.DiffractionData.java

/**
 * construct a diffraction data assembly
 *
 * @param assembly//from  ww w.  j a va 2 s  .c o m
 * {@link ffx.potential.MolecularAssembly molecular assembly} object array
 * (typically containing alternate conformer assemblies), used as the atomic
 * model for comparison against the data
 * @param properties system properties file
 * @param solventmodel the type of solvent model desired - see
 * {@link CrystalReciprocalSpace.SolventModel bulk solvent model} selections
 * @param datafile one or more {@link DiffractionFile} to be refined against
 */
public DiffractionData(MolecularAssembly assembly[], CompositeConfiguration properties,
        SolventModel solventmodel, DiffractionFile... datafile) {

    this.assembly = assembly;
    this.solventModel = solventmodel;
    this.modelName = assembly[0].getFile().getName();
    this.dataFiles = datafile;
    this.n = datafile.length;

    int rflag = properties.getInt("rfreeflag", -1);
    fsigfCutoff = properties.getDouble("fsigfcutoff", -1.0);
    gridSearch = properties.getBoolean("gridsearch", false);
    splineFit = properties.getBoolean("splinefit", true);
    use_3g = properties.getBoolean("use_3g", true);
    aRadBuff = properties.getDouble("aradbuff", 0.75);
    double sampling = properties.getDouble("sampling", 0.6);
    xrayScaleTol = properties.getDouble("xrayscaletol", 1e-4);
    sigmaATol = properties.getDouble("sigmaatol", 0.05);
    xWeight = properties.getDouble("xweight", 1.0);
    bSimWeight = properties.getDouble("bsimweight", 1.0);
    bNonZeroWeight = properties.getDouble("bnonzeroweight", 1.0);
    bMass = properties.getDouble("bmass", 5.0);
    residueBFactor = properties.getBoolean("residuebfactor", false);
    nResidueBFactor = properties.getInt("nresiduebfactor", 1);
    addAnisou = properties.getBoolean("addanisou", false);
    refineMolOcc = properties.getBoolean("refinemolocc", false);
    occMass = properties.getDouble("occmass", 10.0);

    crystal = new Crystal[n];
    resolution = new Resolution[n];
    reflectionList = new ReflectionList[n];
    refinementData = new DiffractionRefinementData[n];
    scaleBulkMinimize = new ScaleBulkMinimize[n];
    sigmaAMinimize = new SigmaAMinimize[n];
    splineMinimize = new SplineMinimize[n];
    crystalStats = new CrystalStats[n];

    // read in Fo/sigFo/FreeR
    File tmp;
    Crystal crystalinit = Crystal.checkProperties(properties);
    Resolution resolutioninit = Resolution.checkProperties(properties);
    if (crystalinit == null || resolutioninit == null) {
        for (int i = 0; i < n; i++) {
            tmp = new File(datafile[i].getFilename());
            reflectionList[i] = datafile[i].getDiffractionfilter().getReflectionList(tmp, properties);

            if (reflectionList[i] == null) {
                logger.info(" Crystal information from the PDB or property file will be used.");
                crystalinit = assembly[i].getCrystal().getUnitCell();
                double res = datafile[i].getDiffractionfilter().getResolution(tmp, crystalinit);
                if (res < 0.0) {
                    logger.severe("MTZ/CIF/CNS file does not contain full crystal information!");
                } else {
                    resolutioninit = new Resolution(res, sampling);
                    reflectionList[i] = new ReflectionList(crystalinit, resolutioninit, properties);
                }
            }
        }
    } else {
        for (int i = 0; i < n; i++) {
            reflectionList[i] = new ReflectionList(crystalinit, resolutioninit, properties);
        }
    }

    for (int i = 0; i < n; i++) {
        crystal[i] = reflectionList[i].crystal;
        resolution[i] = reflectionList[i].resolution;
        refinementData[i] = new DiffractionRefinementData(properties, reflectionList[i]);
        tmp = new File(datafile[i].getFilename());
        datafile[i].getDiffractionfilter().readFile(tmp, reflectionList[i], refinementData[i], properties);
    }

    if (!crystal[0].equals(assembly[0].getCrystal().getUnitCell())) {
        logger.severe("PDB and reflection file crystal information do not match! (check CRYST1 record?)");
    }

    if (logger.isLoggable(Level.INFO)) {
        StringBuilder sb = new StringBuilder();
        sb.append(" X-ray Refinement Settings\n\n");
        sb.append("  Target Function\n");
        sb.append("  X-ray refinement weight (xweight): ").append(xWeight).append("\n");
        sb.append("  Use cctbx 3 Gaussians (use_3g): ").append(use_3g).append("\n");
        sb.append("  Atomic form factor radius buffer (aradbuff): ").append(aRadBuff).append("\n");
        sb.append("  Reciprocal space sampling rate (sampling): ").append(sampling).append("\n");
        sb.append("  Resolution dependent spline scale (splinefit): ").append(splineFit).append("\n");
        sb.append("  Solvent grid search (gridsearch): ").append(gridSearch).append("\n");
        sb.append("  X-ray scale fit tolerance (xrayscaletol): ").append(xrayScaleTol).append("\n");
        sb.append("  Sigma A fit tolerance (sigmaatol): ").append(sigmaATol).append("\n\n");
        sb.append("  Reflections\n");
        sb.append("  F/sigF cutoff (fsigfcutoff): ").append(fsigfCutoff).append("\n");
        sb.append("  R Free flag (rfreeflag) (if -1, value will be updated when data is read in): ")
                .append(rflag).append("\n");
        sb.append("  Number of bins (nbins): ").append(reflectionList[0].nbins).append("\n\n");
        sb.append("  B-Factors\n");
        sb.append("  Similarity weight (bsimweight): ").append(bSimWeight).append("\n");
        sb.append("  Non-zero weight (bnonzeroweight): ").append(bNonZeroWeight).append("\n");
        sb.append("  Lagrangian mass (bmass): ").append(bMass).append("\n");
        sb.append("  Refined by residue (residuebfactor): ").append(residueBFactor).append("\n");
        sb.append("    (if true, num. residues per B (nresiduebfactor): ").append(nResidueBFactor)
                .append(")\n");
        sb.append("  Add ANISOU for refinement (addanisou): ").append(addAnisou).append("\n\n");
        sb.append("  Occupancies\n");
        sb.append("  Refine on molecules (HETATMs - refinemolocc): ").append(refineMolOcc).append("\n");
        sb.append("  Lagrangian mass (occmass): ").append(occMass).append("\n");

        logger.info(sb.toString());
    }

    // now set up the refinement model
    refinementModel = new RefinementModel(assembly, refineMolOcc);

    // initialize atomic form factors
    for (Atom a : refinementModel.getTotalAtomArray()) {
        a.setFormFactorIndex(-1);
        XRayFormFactor atomff = new XRayFormFactor(a, use_3g, 2.0);
        a.setFormFactorIndex(atomff.ffIndex);

        if (a.getOccupancy() == 0.0) {
            a.setFormFactorWidth(1.0);
            continue;
        }

        double arad = a.getVDWType().radius * 0.5;
        double xyz[] = new double[3];
        xyz[0] = a.getX() + arad;
        xyz[1] = a.getY();
        xyz[2] = a.getZ();
        double rho = atomff.rho(0.0, 1.0, xyz);
        while (rho > 0.001) {
            arad += 0.1;
            xyz[0] = a.getX() + arad;
            rho = atomff.rho(0.0, 1.0, xyz);
        }
        arad += aRadBuff;
        a.setFormFactorWidth(arad);
    }

    // set up FFT and run it
    crs_fc = new CrystalReciprocalSpace[n];
    crs_fs = new CrystalReciprocalSpace[n];

    parallelTeam = assembly[0].getParallelTeam();

    parallelTeam = new ParallelTeam();
    for (int i = 0; i < n; i++) {
        crs_fc[i] = new CrystalReciprocalSpace(reflectionList[i], refinementModel.getTotalAtomArray(),
                parallelTeam, parallelTeam, false, dataFiles[i].isNeutron());
        refinementData[i].setCrystalReciprocalSpace_fc(crs_fc[i]);
        crs_fc[i].setUse3G(use_3g);
        crs_fc[i].setWeight(dataFiles[i].getWeight());
        crs_fc[i].lambdaTerm = false;
        crs_fs[i] = new CrystalReciprocalSpace(reflectionList[i], refinementModel.getTotalAtomArray(),
                parallelTeam, parallelTeam, true, dataFiles[i].isNeutron(), solventmodel);
        refinementData[i].setCrystalReciprocalSpace_fs(crs_fs[i]);
        crs_fs[i].setUse3G(use_3g);
        crs_fs[i].setWeight(dataFiles[i].getWeight());
        crs_fs[i].lambdaTerm = false;

        crystalStats[i] = new CrystalStats(reflectionList[i], refinementData[i]);
    }

    scaled = new boolean[n];
    fill(scaled, false);
}

From source file:ffx.xray.FiniteDifferenceTest.java

public FiniteDifferenceTest(boolean ciOnly, String info, SolventModel solventModel, int[] atoms, String pdbName,
        String mtzName) {/* w  ww. j a  v a 2s.c o m*/
    this.ciOnly = ciOnly;
    this.atoms = atoms;

    ci = System.getProperty("ffx.ci", "false").equalsIgnoreCase("true");
    if (!ci && ciOnly) {
        atomArray = null;
        refinementData = null;
        sigmaAMinimize = null;
        return;
    }

    int index = pdbName.lastIndexOf(".");
    String name = pdbName.substring(0, index);

    // load the structure
    ClassLoader cl = this.getClass().getClassLoader();
    File structure = new File(cl.getResource(pdbName).getPath());
    File mtzFile = new File(cl.getResource(mtzName).getPath());

    // load any properties associated with it
    CompositeConfiguration properties = Keyword.loadProperties(structure);

    // read in Fo/sigFo/FreeR
    MTZFilter mtzFilter = new MTZFilter();
    ReflectionList reflectionList;
    Crystal crystal = Crystal.checkProperties(properties);
    Resolution resolution = Resolution.checkProperties(properties);
    if (crystal == null || resolution == null) {
        reflectionList = mtzFilter.getReflectionList(mtzFile);
    } else {
        reflectionList = new ReflectionList(crystal, resolution);
    }

    refinementData = new DiffractionRefinementData(properties, reflectionList);
    assertTrue(info + " mtz file should be read in without errors",
            mtzFilter.readFile(mtzFile, reflectionList, refinementData, properties));

    ForceFieldFilter forceFieldFilter = new ForceFieldFilter(properties);
    ForceField forceField = forceFieldFilter.parse();

    // associate molecular assembly with the structure, set up forcefield
    MolecularAssembly molecularAssembly = new MolecularAssembly(name);
    molecularAssembly.setFile(structure);
    molecularAssembly.setForceField(forceField);
    PDBFilter pdbFile = new PDBFilter(structure, molecularAssembly, forceField, properties);
    pdbFile.readFile();
    pdbFile.applyAtomProperties();
    molecularAssembly.finalize(true, forceField);
    ForceFieldEnergy energy = new ForceFieldEnergy(molecularAssembly, pdbFile.getCoordRestraints());

    List<Atom> atomList = molecularAssembly.getAtomList();
    atomArray = atomList.toArray(new Atom[0]);
    boolean use_3g = properties.getBoolean("use_3g", true);

    // initialize atomic form factors
    for (Atom atom : atomArray) {
        XRayFormFactor xrayFormFactor = new XRayFormFactor(atom, use_3g, 2.0);
        atom.setFormFactorIndex(xrayFormFactor.ffIndex);
        if (atom.getOccupancy() == 0.0) {
            atom.setFormFactorWidth(1.0);
            continue;
        }
        double aRad = 2.4;
        double xyz[] = new double[3];
        xyz[0] = atom.getX() + aRad;
        xyz[1] = atom.getY();
        xyz[2] = atom.getZ();
        while (true) {
            double rho = xrayFormFactor.rho(0.0, 1.0, xyz);
            if (rho > 0.1) {
                aRad += 0.5;
            } else if (rho > 0.001) {
                aRad += 0.1;
            } else {
                aRad += 0.75;
                atom.setFormFactorWidth(aRad);
                break;
            }
            xyz[0] = atom.getX() + aRad;
        }
    }

    // set up FFT and run it
    ParallelTeam parallelTeam = new ParallelTeam();
    CrystalReciprocalSpace crs = new CrystalReciprocalSpace(reflectionList, atomArray, parallelTeam,
            parallelTeam, false, false);
    crs.computeDensity(refinementData.fc);
    refinementData.setCrystalReciprocalSpace_fc(crs);
    crs = new CrystalReciprocalSpace(reflectionList, atomArray, parallelTeam, parallelTeam, true, false,
            solventModel);
    crs.computeDensity(refinementData.fs);
    refinementData.setCrystalReciprocalSpace_fs(crs);

    ScaleBulkMinimize scaleBulkMinimize = new ScaleBulkMinimize(reflectionList, refinementData, crs,
            parallelTeam);
    scaleBulkMinimize.minimize(6, 1.0e-4);

    sigmaAMinimize = new SigmaAMinimize(reflectionList, refinementData, parallelTeam);
    sigmaAMinimize.minimize(7, 2.0e-2);

    SplineMinimize splineMinimize = new SplineMinimize(reflectionList, refinementData, refinementData.spline,
            SplineEnergy.Type.FOFC);
    splineMinimize.minimize(7, 1e-5);

    CrystalStats crystalstats = new CrystalStats(reflectionList, refinementData);
    crystalstats.printScaleStats();
    crystalstats.printHKLStats();
    crystalstats.printSNStats();
    crystalstats.printRStats();
}