@@ -2695,8 +2695,6 @@ def OpenMM_Modeller(pdbfile=None, forcefield_object=None, forcefield=None, xmlfi
26952695 xmlfile = "amber10.xml"
26962696 elif forcefield == 'Amber14' :
26972697 xmlfile = "amber14-all.xml"
2698- elif forcefield == 'Amber96' :
2699- xmlfile = "amber96.xml"
27002698 elif forcefield == 'CHARMM36' :
27012699 xmlfile = "charmm36.xml"
27022700 elif forcefield == 'CHARMM2013' :
@@ -2708,53 +2706,45 @@ def OpenMM_Modeller(pdbfile=None, forcefield_object=None, forcefield=None, xmlfi
27082706 else :
27092707 print ("Unknown forcefield" )
27102708 exit ()
2711- elif xmlfile is not None :
2712- print ("Using xmlfile:" , xmlfile )
2713- elif forcefield_object is not None :
2714- pass
2715- else :
2716- print ("You must provide a forcefield name, forcefieldobject or xmlfile keywords!" )
2717- ashexit ()
2718-
2719- #Water model selection for CHARMM forcefields
2720- if 'CHARMM' in forcefield :
2721- # Using specific CHARMM36 version of TIP3P
2722- if watermodel is None :
2723- print ("No watermodel selected." )
2724- if waterxmlfile is None :
2725- print ("No waterxmlfile selected either" )
2726- print ("Selecting automatically recommended CHARMM-style TIP3P" )
2727- watermodel = 'tip3p'
2728-
2729- print ("watermodel:" , watermodel )
2730- if watermodel .lower () == "tip3p" :
2731- modeller_solvent_name = "tip3p" #Used when adding solvent
2732- waterxmlfile = "charmm36/water.xml"
2733- print ("Waterxmlfile selected:" , waterxmlfile )
2734-
2735-
2736- #Water model selection for AMber forcefields
2737- if 'Amber' in forcefield :
2738- if watermodel is None :
2739- print ("No watermodel selected." )
2740- if waterxmlfile is None :
2741- print ("No waterxmlfile selected either" )
2742- print ("Selecting automatically recommended TIP3P-4B (watermodel='tip3pfb')" )
2743- print ("This is a reparameterized version of TIP3P" )
2744- watermodel = 'tip3pfb'
2745- print ("watermodel:" , watermodel )
2746- # Using specific Amber FB version of TIP3P
2747- if watermodel .lower () == "tip3pfb" or watermodel .lower () == "tip3p-fb" :
2748- modeller_solvent_name = "tip3p" #Used when adding solvent
2749- waterxmlfile = "amber14/tip3pfb.xml" #NOTE: this is not actually TIP3P but a reparaterized version
2750- elif watermodel .lower () == 'tip3p' :
2751- modeller_solvent_name = "tip3p"
2752- if forcefield == 'Amber14' :
2753- waterxmlfile = "amber14/tip3p.xml"
2754- else :
2755- waterxmlfile = "tip3p.xml"
2756- print ("Waterxmlfile selected:" , waterxmlfile )
27572709
2710+ #Water model selection for CHARMM forcefields
2711+ if 'CHARMM' in forcefield :
2712+ # Using specific CHARMM36 version of TIP3P
2713+ if watermodel is None :
2714+ print ("No watermodel selected." )
2715+ if waterxmlfile is None :
2716+ print ("No waterxmlfile selected either" )
2717+ print ("Selecting automatically recommended CHARMM-style TIP3P" )
2718+ watermodel = 'tip3p'
2719+
2720+ print ("watermodel:" , watermodel )
2721+ if watermodel .lower () == "tip3p" :
2722+ modeller_solvent_name = "tip3p" #Used when adding solvent
2723+ waterxmlfile = "charmm36/water.xml"
2724+ print ("Waterxmlfile selected:" , waterxmlfile )
2725+
2726+
2727+ #Water model selection for AMber forcefields
2728+ if 'Amber' in forcefield :
2729+ if watermodel is None :
2730+ print ("No watermodel selected." )
2731+ if waterxmlfile is None :
2732+ print ("No waterxmlfile selected either" )
2733+ print ("Selecting automatically recommended TIP3P-4B (watermodel='tip3pfb')" )
2734+ print ("This is a reparameterized version of TIP3P" )
2735+ watermodel = 'tip3pfb'
2736+ print ("watermodel:" , watermodel )
2737+ # Using specific Amber FB version of TIP3P
2738+ if watermodel .lower () == "tip3pfb" or watermodel .lower () == "tip3p-fb" :
2739+ modeller_solvent_name = "tip3p" #Used when adding solvent
2740+ waterxmlfile = "amber14/tip3pfb.xml" #NOTE: this is not actually TIP3P but a reparaterized version
2741+ elif watermodel .lower () == 'tip3p' :
2742+ modeller_solvent_name = "tip3p"
2743+ if forcefield == 'Amber14' :
2744+ waterxmlfile = "amber14/tip3p.xml"
2745+ else :
2746+ waterxmlfile = "tip3p.xml"
2747+ print ("Waterxmlfile selected:" , waterxmlfile )
27582748
27592749 ############
27602750 # Define a forcefield if using XML-files
@@ -2778,9 +2768,18 @@ def OpenMM_Modeller(pdbfile=None, forcefield_object=None, forcefield=None, xmlfi
27782768 forcefield_obj = openmm_app .forcefield .ForceField (xmlfile ,waterxmlfile )
27792769 elif extraxmlfile is not None and waterxmlfile is not None :
27802770 forcefield_obj = openmm_app .forcefield .ForceField (xmlfile ,extraxmlfile ,waterxmlfile )
2781- else :
2771+
2772+ elif forcefield_object is not None :
27822773 print ("Using forcefield object provided" )
27832774 forcefield_obj = forcefield_object
2775+
2776+ if watermodel is not None or waterxmlfile is not None :
2777+ print ("Warning: watermodel/waterxmlfile ignored when forcefield_object is supplied" )
2778+
2779+
2780+ else :
2781+ print ("You must provide a forcefield name, forcefieldobject or xmlfile keywords!" )
2782+ ashexit ()
27842783
27852784 print ("PDBfile:" , pdbfile )
27862785 print ("pH:" , pH )
0 commit comments