I am working with gaetano's branch at the moment. I have also commented out the exception to see what happens. I now get another exception thrown out later, this time for the intra_clj force field.
WARNING: IPython History requires SQLite, your history will not be saved
Python 3.3.3 (default, Apr 10 2014, 18:10:13)
Type "copyright", "credits" or "license" for more information.
IPython 2.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
Loading configuration information from file sim.cfg
Reading in parameters...
morphfile = MORPH.pert
nmoves = 20
ncycles = 2
save coordinates = True
constraint = allbonds
cutoff type = cutoffperiodic
cutoff distance = 10 angstrom
barostat = True
center of mass frequency = 10
buffered coordinates frequency = 10
lambva_val = 0.5
Running a sommmd-freenrg calculation using files system.top, system.crd and MORPH.pert.
### Running Single Topology Molecular Dynamics Free Energy on unknown ###
New run. Loading input and creating restart
lambda is 0.0
Reading topology file "system.top"
Reading coordinate file "system.crd"
Building 9546 molecule(s)...
...building molecule 1000 ...
...building molecule 2000 ...
...building molecule 3000 ...
...building molecule 4000 ...
...building molecule 5000 ...
...building molecule 6000 ...
...building molecule 7000 ...
...building molecule 8000 ...
...building molecule 9000 ...
Getting space information
Read space "PeriodicBox( ( 67.8211, 68.487, 71.4287 ) )"
...complete
Create the System...
Selecting dummy groups
Creating force fields...
---------------------------------------------------------------------------
UserWarning Traceback (most recent call last)
138
139 # Now lets run the OpenMMMD free energy calculation
--> 140 OpenMMMD.runFreeNrg(params)
133 Parameter.push(params)
134 try:
--> 135 retval = func()
136 except:
137 sys.exc_info()[0]
1149 system = freezeResidues(system)
1150
-> 1151 system = setupForcefieldsFreeEnergy(system, space)
1152
1153 if random_seed.val:
737 solvent_intra_clj.setUseReactionField(True)
738 solvent_intra_clj.setReactionFieldDielectric(rf_dielectric.val)
--> 739 solvent_intra_clj.add(solvent)
740
741 # Solute intramolecular CLJ energy
UserWarning: Exception 'SireBase::missing_property' thrown by the thread ''.
There is no property with name "intrascale". Available properties are [ ambertype, LJ, coordinates, charge, mass ].
Thrown from FILE: /home/julien/software/devel/siregac/corelib/src/libs/SireBase/properties.cpp, LINE: 468, FUNCTION: const SireBase::Property& SireBase::Properties::operator[](const SireBase::PropertyName&) const
__Backtrace__
No backtrace available. Recompile the SireError library with -DSIRE_ENABLE_BACKTRACE to enable backtraces.
__EndTrace__
Exception 'SireBase::missing_property' thrown by the thread ''.
There is no property with name "intrascale". Available properties are [ ambertype, LJ, coordinates, charge, mass ].
Thrown from FILE: /home/julien/software/devel/siregac/corelib/src/libs/SireBase/properties.cpp, LINE: 468, FUNCTION: const SireBase::Property& SireBase::Properties::operator[](const SireBase::PropertyName&) const
The issue is that ions don't have the intrascale property because the code in SireIO/amber.cpp only sets nonbonded pairs for molecules with more than one atom
* One fix would be to change the code in SireIO/amber.cpp so that setNonBondedPairs is called even if there is only one atom. The code will set all scale factors to 0.