当前位置: 首页>>代码示例>>Python>>正文


Python ParmedActions.adddihedral方法代码示例

本文整理汇总了Python中ParmedTools.ParmedActions.adddihedral方法的典型用法代码示例。如果您正苦于以下问题:Python ParmedActions.adddihedral方法的具体用法?Python ParmedActions.adddihedral怎么用?Python ParmedActions.adddihedral使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ParmedTools.ParmedActions的用法示例。


在下文中一共展示了ParmedActions.adddihedral方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: adddihedral

# 需要导入模块: from ParmedTools import ParmedActions [as 别名]
# 或者: from ParmedTools.ParmedActions import adddihedral [as 别名]
def adddihedral(root, amber_prmtop, messages):
    """ Adds a dihedral (improper, multiterm, or normal) to the prmtop """
    # We need 4 masks, phi_k, periodicity, phase, scee/scnb, dihedral type
    widget_list = [
            ('MaskEntry', 'First (end) atom in dihedral'),
            ('MaskEntry', 'Second (middle) atom in dihedral'),
            ('MaskEntry', 'Third (middle) atom in dihedral'),
            ('MaskEntry', 'Fourth (end) atom in dihedral'),
            ('Entry', 'Phi Force constant (kcal/mol)'),
            ('Entry', 'Periodicity'),
            ('Entry', 'Phase (Degrees)'),
            ('Entry', 'EEL scaling factor'),
            ('Entry', 'VDW scaling factor'),
            ('Spinbox', 'Dihedral type', 'normal', 'multiterm', 'improper')
    ]
    # We need 10 variables
    var_list = [StringVar() for i in range(10)]
    description = ('Adds a dihedral in the topology file with the given Phi '
                   'Force constant in kcal/mol the\ngiven phase in Degrees '
                   'and the given periodicity. All masks must specify only \n'
                   'a single atom. The default Amber values for SCEE/SCNB are '
                   '1.2 and 2.0, respectively.\nSee the Amber manual for '
                   'details about normal, multiterm, and improper dihedrals')
    # Create the window, open it, then wait for it to close
    cmd_window = _guiwidgets.ActionWindow('setDihedral', amber_prmtop, 
                                          widget_list, var_list, description)
    cmd_window.wait_window()
    # See if we got any variables back
    vars_found = True in [bool(v.get()) for v in var_list]
    if not vars_found: return
    # If we did, pass them through
    var_list = [v.get() for v in var_list]
    # Fill scee/scnb in with default values
    if var_list[7] is None: var_list[7] = '1.2'
    if var_list[8] is None: var_list[8] = '2.0'
    # The last argument is a keyword, so append that, then swap the last 2 args
    var_list.insert(9, 'type')
    try:
        action = ParmedActions.adddihedral(amber_prmtop, ArgumentList(var_list))
        messages.write('%s\n' % action)
        action.execute()
    except Exception, err:
        showerror('Unexpected Error!', '%s: %s' % (type(err).__name__, err))
        return
开发者ID:jpthompson17,项目名称:ParmEd,代码行数:46,代码来源:_guiactions.py


注:本文中的ParmedTools.ParmedActions.adddihedral方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。