Exemple #1
0
    def __init__(self,
                 solventDielectric=78.5,
                 soluteDielectric=1,
                 SA=None,
                 cutoff=None,
                 kappa=0.0):

        CustomGBForce.__init__(self)

        self.addPerParticleParameter("q")
        self.addPerParticleParameter("or")  # Offset radius
        self.addPerParticleParameter("sr")  # Scaled offset radius
        self.addComputedValue(
            "I",
            "step(r+sr2-or1)*0.5*(1/L-1/U+0.25*(r-sr2^2/r)*(1/(U^2)-1/(L^2))+0.5*log(L/U)/r);"
            "U=r+sr2;"
            "L=max(or1, D);"
            "D=abs(r-sr2)", CustomGBForce.ParticlePairNoExclusions)

        self.addComputedValue(
            "B", "1/(1/or-tanh(psi-0.8*psi^2+4.85*psi^3)/radius);"
            "psi=I*or; radius=or+offset; offset=0.009",
            CustomGBForce.SingleParticle)
        _createEnergyTerms(self, solventDielectric, soluteDielectric, SA,
                           cutoff, kappa, 0.009)
Exemple #2
0
    def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None,
                 cutoff=None, kappa=0.0):

        CustomGBForce.__init__(self)

        self.addPerParticleParameter("q")
        self.addPerParticleParameter("or") # Offset radius
        self.addPerParticleParameter("sr") # Scaled offset radius
        self.addPerParticleParameter("alpha")
        self.addPerParticleParameter("beta")
        self.addPerParticleParameter("gamma")

        self.addTabulatedFunction("getd0", Continuous2DFunction(21, 21, d0, 0.1, 0.2, 0.1, 0.2))
        self.addTabulatedFunction("getm0", Continuous2DFunction(21, 21, m0, 0.1, 0.2, 0.1, 0.2))

        self.addComputedValue("I",  "Ivdw+neckScale*Ineck;"
                                    "Ineck=step(radius1+radius2+neckCut-r)*getm0(radius1,radius2)/(1+100*(r-getd0(radius1,radius2))^2+0.3*1000000*(r-getd0(radius1,radius2))^6);"
                                    "Ivdw=step(r+sr2-or1)*0.5*(1/L-1/U+0.25*(r-sr2^2/r)*(1/(U^2)-1/(L^2))+0.5*log(L/U)/r);"
                                    "U=r+sr2;"
                                    "L=max(or1, D);"
                                    "D=abs(r-sr2);"
                                    "radius1=or1+offset; radius2=or2+offset;"
                                    "neckScale=0.826836; neckCut=0.68; offset=0.0195141", CustomGBForce.ParticlePairNoExclusions)

        self.addComputedValue("B", "1/(1/or-tanh(alpha*psi-beta*psi^2+gamma*psi^3)/radius);"
                                     "psi=I*or; radius=or+offset; offset=0.0195141", CustomGBForce.SingleParticle)
        _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.0195141)
Exemple #3
0
    def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None,
                 cutoff=None, kappa=0.0):
        CustomGBForce.__init__(self)

        self.addPerParticleParameter("q")
        self.addPerParticleParameter("or") # Offset radius
        self.addPerParticleParameter("sr") # Scaled offset radius
        self.addComputedValue("I", "step(r+sr2-or1)*0.5*(1/L-1/U+0.25*(r-sr2^2/r)*(1/(U^2)-1/(L^2))+0.5*log(L/U)/r);"
                                   "U=r+sr2;"
                                   "L=max(or1, D);"
                                   "D=abs(r-sr2)",
                              CustomGBForce.ParticlePairNoExclusions)

        self.addComputedValue("B", "1/(1/or-I)", CustomGBForce.SingleParticle)
        _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.009)
    def __init__(self, **kwargs):
        CustomGBForce.__init__(self)

        self.addPerParticleParameter("charge")
        self.addPerParticleParameter("radius")
        self.addPerParticleParameter("scale")

        self.offset_terms_single = ("sr=scale*or;"
                                    "or=(radius-OFFSET);"
                                    "OFFSET=%.16f;" % OFFSET)

        self.offset_terms_pair = ("sr1=scale1*or1;"
                                  "or1=(radius1-OFFSET);"
                                  "sr2=scale2*or2;"
                                  "or2=(radius2-OFFSET);"
                                  "OFFSET=%.16f;" % OFFSET)
Exemple #5
0
    def __init__(self,
                 solventDielectric=78.5,
                 soluteDielectric=1,
                 SA=None,
                 cutoff=None,
                 kappa=0.0):

        CustomGBForce.__init__(self)

        self.addPerParticleParameter("q")
        self.addPerParticleParameter("or")  # Offset radius
        self.addPerParticleParameter("sr")  # Scaled offset radius
        self.addPerParticleParameter("alpha")
        self.addPerParticleParameter("beta")
        self.addPerParticleParameter("gamma")

        self.addTabulatedFunction(
            "getd0", Continuous2DFunction(21, 21, d0, 0.1, 0.2, 0.1, 0.2))
        self.addTabulatedFunction(
            "getm0", Continuous2DFunction(21, 21, m0, 0.1, 0.2, 0.1, 0.2))

        self.addComputedValue(
            "I", "Ivdw+neckScale*Ineck;"
            "Ineck=step(radius1+radius2+neckCut-r)*getm0(radius1,radius2)/(1+100*(r-getd0(radius1,radius2))^2+0.3*1000000*(r-getd0(radius1,radius2))^6);"
            "Ivdw=step(r+sr2-or1)*0.5*(1/L-1/U+0.25*(r-sr2^2/r)*(1/(U^2)-1/(L^2))+0.5*log(L/U)/r);"
            "U=r+sr2;"
            "L=max(or1, D);"
            "D=abs(r-sr2);"
            "radius1=or1+offset; radius2=or2+offset;"
            "neckScale=0.826836; neckCut=0.68; offset=0.0195141",
            CustomGBForce.ParticlePairNoExclusions)

        self.addComputedValue(
            "B", "1/(1/or-tanh(alpha*psi-beta*psi^2+gamma*psi^3)/radius);"
            "psi=I*or; radius=or+offset; offset=0.0195141",
            CustomGBForce.SingleParticle)
        _createEnergyTerms(self, solventDielectric, soluteDielectric, SA,
                           cutoff, kappa, 0.0195141)
Exemple #6
0
 def __init__(self):
     CustomGBForce.__init__(self)
     self.parameters = []
Exemple #7
0
 def __init__(self):
     CustomGBForce.__init__(self)
     self.parameters = []