Exemple #1
0
def printdihedrals(root, amber_prmtop, messages):
    """ Prints dihedrals containing atoms from a given mask """
    # We need a mask, new radius, new epsilon, and for chamber topologies,
    # a new radius-1-4 and epsilon-1-4. Don't add the latter ones until we
    # know if we have a chamber prmtop or not.
    widget_list = [('MaskEntry', 'Atoms to analyze for dihedrals')]
    # We need 5 string variables, then get the description. 
    var_list = [StringVar()]
    desc = 'Prints all dihedrals containing at least 1 atom in the given mask'
    # Create the window, open it, then wait for it to close
    cmd_window = _guiwidgets.ActionWindow('printDihedrals', amber_prmtop,
                                          widget_list, var_list, desc)
    cmd_window.wait_window()
    # See if we got any variables back
    var = var_list[0].get()
    if not var: return
    try:
        action = ParmedActions.printdihedrals(amber_prmtop, ArgumentList(var))
    except Exception, err:
        showerror('Unexpected Error!', '%s: %s' % (type(err).__name__, err))
        return