From 107644b5311efc0fffbcde37d87dcc46aa7310ef Mon Sep 17 00:00:00 2001
From: Chris Maffeo <cmaffeo2@illinois.edu>
Date: Mon, 16 Dec 2024 17:32:38 -0600
Subject: [PATCH] Copy arbmodel commit 7ceb134 to arbdmodel/submodule

---
 mrdna/arbdmodel/submodule/__init__.py           | 6 +++++-
 mrdna/arbdmodel/submodule/mpipi_polymer.py      | 7 +++----
 mrdna/arbdmodel/submodule/onck_polymer_model.py | 5 +++--
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/mrdna/arbdmodel/submodule/__init__.py b/mrdna/arbdmodel/submodule/__init__.py
index 2b9fbe8..61ba106 100644
--- a/mrdna/arbdmodel/submodule/__init__.py
+++ b/mrdna/arbdmodel/submodule/__init__.py
@@ -479,7 +479,7 @@ class ParticleType():
         if diffusivity is not None: self.diffusivity = diffusivity
         self.parent = parent
         self.rigid_body_potentials = rigid_body_potentials
-        devlogger.info(f'Created {type(self)} {name} @ {hex(id(self))}')
+        devlogger.debug(f'Created {type(self)} {name} @ {hex(id(self))}')
         
         for key in ParticleType.excludedAttributes:
             assert( key not in kwargs )
@@ -1043,6 +1043,10 @@ class ArbdModel(PdbModel):
 
         self.group_sites = []
 
+    def add(self, obj):
+        self._clear_types()     # TODO: call upon (potentially nested) `child.add(add)`
+        return Parent.add(self, obj)
+
     def add_group_site(self, particles, weights=None):
         g = ArbdModel._GroupSite(particles, weights)
         self.group_sites.append(g)
diff --git a/mrdna/arbdmodel/submodule/mpipi_polymer.py b/mrdna/arbdmodel/submodule/mpipi_polymer.py
index 61e5196..ef9cdaa 100644
--- a/mrdna/arbdmodel/submodule/mpipi_polymer.py
+++ b/mrdna/arbdmodel/submodule/mpipi_polymer.py
@@ -5,11 +5,10 @@ import numpy as np
 import sys
 import pandas as pd
 ## Local imports
-from . import logger, ParticleType, PointParticle, get_resource_path
+from . import logger, ParticleType, PointParticle
 from .polymer import PolymerBeads, PolymerModel
 from .interactions import AbstractPotential, HarmonicBond
 
-
 """Define particle types"""
 _types = dict(
     A = ParticleType("ALA",
@@ -150,7 +149,7 @@ class MpipiNonbonded(AbstractPotential):
     def potential(self, r, types):
         """ Electrostatics """
         typeA, typeB = types
-        ld = self.debye_length
+        ld = self.debye_length 
         q1 = typeA.charge*0.75
         q2 = typeB.charge*0.75
         D = 80                  # dielectric of water
@@ -159,7 +158,7 @@ class MpipiNonbonded(AbstractPotential):
         u_elec = (A*q1*q2/D)*np.exp(-r/ld) / r 
 
         """Mpipi Wang-Frenkel Potential"""
-        WF=pd.read_csv(get_resource_path("mpipi_protein_resname.csv"),index_col=0)
+        WF=pd.read_csv("mpipi_protein_resname.csv",index_col=0)
         indices=list(df.columns)
         if indices.index(typeA.resname)<indices.index(typeB.resname):
             sigma_ij=WF[typeB.resname][typeA.resname+"_sigma"]*10
diff --git a/mrdna/arbdmodel/submodule/onck_polymer_model.py b/mrdna/arbdmodel/submodule/onck_polymer_model.py
index a59fa80..f2ababf 100644
--- a/mrdna/arbdmodel/submodule/onck_polymer_model.py
+++ b/mrdna/arbdmodel/submodule/onck_polymer_model.py
@@ -244,6 +244,7 @@ class OnckNonbonded(AbstractPotential):
 
             u_lj = eps * (3*r8 - 4*r6)
         except:
+            sigma = 6.0
             r6 = (sigma/r)**6
             r8 = (sigma/r)**8
 
@@ -251,7 +252,6 @@ class OnckNonbonded(AbstractPotential):
             epsilon_hp = 3.1070746 # units "13 kJ/N_A" kcal_mol
             epsilon_rep = 2.3900574 # units "10 kJ/N_A" kcal_mol
 
-            sigma = 6.0
             epsilon = epsilon_hp*np.sqrt( (typeA.epsilon*typeB.epsilon)**alpha )
 
             u_lj = (epsilon_rep-epsilon) * r8
@@ -363,6 +363,7 @@ class OnckModel(PolymerModel):
         if version not in _types_versions:
             raise ValueError(f'Unkown Onck model version "{version}"')
         self.version = version
+        self.types_dict = _types_versions[version]
 
         logger.info(f'Using an implementation of the Onck model {version_name[self.version]} for disordered FG-Nup peptides.')
         _msg = 'Please cite all appropriate articles, including:\n'
@@ -398,7 +399,7 @@ class OnckModel(PolymerModel):
         i = self.types.index(type_) if type_ in self.types else 0
         for t in self.types[i:]:
             # self.add_nonbonded_interaction( interaction, typeA=type_, typeB=t )
-            self.useNonbondedScheme( interaction, typeA=type_, typeB=t )
+            self.add_nonbonded_interaction( interaction, typeA=type_, typeB=t )
 
     def _generate_polymer_beads(self, polymer, sequence, polymer_index=None):
         return OnckBeads(polymer, sequence,
-- 
GitLab