Example #1
0
def run(pluginManager):
    """
    Entry point for the plugin manager
    :param configx: plugin manager instance
    :return: None
    """
    printer = pluginManager.setup()
    molecule = quickLoad(pluginManager, pluginManager.arg('load'))
    printer('Filtering Atoms:')
    for atom in iter_atoms(molecule):
        if filter_atom(pluginManager, atom, 'atomfilter'):
            printer(atom)
    printer.spacer()
    printer('\nFiltering Atom Pairs:')
    for atom1, atom2 in iter_atom_pairs(molecule, bound=False, unique=False):
        if filter_atom_pair(pluginManager, atom1, atom2, 'atomfilter', 'secondfilter'):
            printer('{} {}'.format(atom1.get_name(), atom2.get_name()))

    printer.spacer()
    printer('\nUsing Custom Filter Function:')
    filter.register_custom_fuction('firstOf', firstOfElement)
    for atom in iter_atoms(molecule):
        if filter_atom(pluginManager, atom, 'customfilter'):
            printer(atom)
Example #2
0
def run(pluginManager):
    """
    Entry point for the plugin manager
    :param pluginManager: plugin manager instance
    :return: None
    """
    printer = pluginManager.setup()
    molecule = quickLoad(pluginManager, pluginManager.arg("load"))
    printer("Filtering Atoms:")
    for atom in iter_atoms(molecule):
        if filter_atom(pluginManager, atom, "atomfilter"):
            printer(atom)
    printer.spacer()
    printer("\nFiltering Atom Pairs:")
    for atom1, atom2 in iter_atom_pairs(molecule, bound=False, unique=False):
        if filter_atom_pair(pluginManager, atom1, atom2, "atomfilter", "secondfilter"):
            printer("{} {}".format(atom1.get_name(), atom2.get_name()))

    printer.spacer()
    printer("\nUsing Custom Filter Function:")
    filter.register_custom_fuction("firstOf", firstOfElement)
    for atom in iter_atoms(molecule):
        if filter_atom(pluginManager, atom, "customfilter"):
            printer(atom)
Example #3
0
def Uiso(data, logfile):
    """
    Method for calculating the size of U_iso hydrogen ADP
    relative the the U_iso ADP of the bonding partner.
    """
    printer.register_file(logfile, 'log', mode='a')
    # isofilters, isopartnerfilters = set_filter()
    #===========================================================================
    # keys=['cart_int','cart_ext','cart_sum','cart_meas','iso_meas']
    #===========================================================================
    use1, use2 = None, None
    try:
        use = config.arg('iso').split(':')
        use1 = use[0]
        use2 = use[1]

    except:
        use1 = 'cart_sum'
        use2 = 'cart_sum'
    # printer('\nSelected filters:\n\n  Attribute      |    Value     | True  | Function'
    #         '\n===================================================\nAtom filter:     |              |       |')
    # for isofilter in isofilters:
    #     printer('{:15s}  | {:12s} | {:5s} | {}'.format(isofilter[0], isofilter[1], isofilter[2], isofilter[3]))
    # printer('-----------------|--------------|-------|----------\nPartner filter:  |              |       |')
    # for isofilter in isopartnerfilters:
    #     printer('{:15s}  | {:12s} | {:5s} | {}'.format(isofilter[0], isofilter[1], isofilter[2], isofilter[3]))
    printer('\nComparing {} of hydrogen atoms\nwith {} of parent atoms.\n'.format(use1, use2))
    printer(' Riding | Parent | U_rel | U_rel\n  atom  |  atom  | geom  | arith')
    printer(' ================================')
    geom_sum = []
    arit_sum = []
    for atom in data['exp'].atoms:
        # if apply_filter(atom, isofilters):
            for heavy_atom in cg.get_framework_neighbours(atom, useH=True):
                if not atom == heavy_atom and filter_atom_pair(config, atom, heavy_atom):
                    U_rel_geom = cg.Uiso(atom.adp[use1]) / cg.Uiso(heavy_atom.adp[use2])
                    geom_sum.append(U_rel_geom)
                    U_rel_arith = cg.Uiso(atom.adp[use1], mean='arithmetic') / \
                                  cg.Uiso(heavy_atom.adp[use2], mean='arithmetic')
                    arit_sum.append(U_rel_arith)
                    printer('  {light:5s} |  {heavy:5s} | {U:5.3f} | {U2:5.3f}'.format(light=atom.name,
                                                                                       heavy=heavy_atom,
                                                                                       U=U_rel_geom,
                                                                                       U2=U_rel_arith))
    printer(' -------|--------|-------|-------')
    printer('  {light:5s} |  {heavy:5s} | {U:5.3f} | {U2:5.3f}'.format(light='mean',
                                                                       heavy='---',
                                                                       U=np.mean(geom_sum),
                                                                       U2=np.mean(arit_sum)))
    printer('  {light:5s} |  {heavy:5s} | {U:5.3f} | {U2:5.3f}'.format(light='SD',
                                                                       heavy='---',
                                                                       U=np.std(geom_sum),
                                                                       U2=np.std(arit_sum)))

    printer('{temp:.1f} {U:5.3f} {Uer:5.3f} {U2:5.3f} {U2er:5.3f}'.format(temp=data.temperature,
                                                                          U=np.mean(geom_sum),
                                                                          Uer=np.std(geom_sum),
                                                                          U2=np.mean(arit_sum),
                                                                          U2er=np.std(arit_sum)),
            use=['log'])
    printer.spacer()