Release Notes
v2.4.1 July 2024
Cube Updates
The default Ligand Force Field is now OpenFF_2.2.0.
Bug Fixes
A critical bug that slowed down OpenMM simulations in v2.4.0 has been fixed.
Input validation for the restraintWt parameter has been improved.
A minor issue involving scheduling of MD cycles when using the Gromacs engine with Hydrogen Mass Repartitioning turned On has been fixed.
v2.4.0 April 2024
Cube Updates
The CollectionSetting Cube now creates V2 ShardCollections by default. This behavior is controlled by the new V2 switch, which defaults to On.
Cubes that need to run OpenMM on a GPU now print a more informative error message when no GPU platform is available.
The IterChecker Cube no longer deletes the per-iteration MD stages (cycle_0, cycle_1, etc.) after concatenating them. This task has been delegated to the new DeleteMDStagesCube.
Bug Fixes
Cubes no longer attempt to load the reference positions when the Restraint to Reference switch is turned Off.
General Notice
The package distribution now includes both the orionmdcore and oeommtools Python packages. (oeommtools was previously released separately.)
v2.3.1 February 2024
API-Breaking Changes
The default value for the ForceFieldCube.ligand_forcefield parameter has been changed from “Gaff_1.81” to “OpenFF_2.0.0”.
New Features
The ForceFieldCube.ligand_forcefield parameter has a new “Custom” value. When this value is selected, the ligand force field is defined by inputting one or more SMIRNOFF XML files via the custom_offxml_file_in parameter.
When the ligand_forcefield is set to “Custom”, “OpenFF_1.3.1”, or “OpenFF_2.0.0”, and the new prefer_bespoke switch is turned On (the default), the force field can be augmented with bespoke parameters by providing them in the field specified by the bespoke_forcefield_field parameter. This field accepts a list of SMIRNOFF XML strings.
The new SolvationCube.random_seed_from_system_time parameter specifies whether Packmol should generate its random seed from the system time. The default (and historical) behavior is to use Packmol’s fixed default seed.
Residue numbers in the output topology now match those in the input design unit or molecule.
Bug Fixes
A bug in which the IterMDNptCube could schedule a cycle of zero length has been fixed.
General Notice
This version of Orion MD Core has more flexible requirements:
>>> from importlib.metadata import metadata, requires
>>> metadata("openeye-orionmdcore")["Requires-Python"]
'>=3.9'
>>> requires("openeye-orionmdcore")
['click <9,>=8.1.3',
'h5py <4,>=3.1.0',
'lxml <5,>=4.6.0',
'mdtraj <2,>=1.9.6',
'numpy <2,>=1.21.2',
'oeommtools <2,>=1.2.1',
'openeye-orionplatform <7,>=5.1.1',
'openeye-snowball <0.28,>=0.26.0',
'openeye-toolkits >=2023.2.3',
'openff-toolkit <0.15,>=0.14.4',
'openmm <8.1,>=7.7.0',
'openmoltools ==0.8.8',
'parmed ==3.4.4',
'pdbfixer <2,>=1.8.1',
'pyparsing <3,>=2.4.7',
'tqdm <5,>=4.57.0']
v2.1.2 September 2023
Warning
This version reintroduces a bug, fixed in version 2.1.1, in which the
IterChecker
cube incorrectly records the combined simulation time
as the time of the last stage. Furthermore, while version 2.1.1 requires
oeommtools==1.2.*
, this version requires oeommtools==1.2.0
.
Hence it is unable to leverage new features in oeommtools 1.2.1,
including the retention of residue numbers when converting from an OEMol
to an OpenMM topology. These issues are fixed in version 2.3.1.
Bug Fixes
Support has been added for systems containing iron and other metal cofactors, which previously failed during force field assignment.
v2.1.1 September 2023
New Features
A new cube type, Parallel Iteration Checker Cube was added to enable scalability of the (serial) Iteration Checker Cube.
v2.1.0 July 2023
General Notice
This version v2.1.0 pins Python 3.9 and OpenMM 7.7.
Minor bug fixes have been made.
Cube Updates
In the Solvation Cube, the “geometry” parameter name has been changed to “Periodic Box shape”. The parameter offers two options: a “cubic” or “rectangular” periodic box.
The Iterative NPT Cube has a better way of setting trajectory intervals for long simulations (>= 10 ns).
The Ligand Charge Cube now supports ELF10 charge assignment of macrocycles.
v2.0.1 April 2023
General Notice
Since the first MD pkg release, we have been using Pickle to serialize and deserialize MD custom objects passed along the OpenEye data records. A main side effect of pickling them is that the class objects API is embedded inside the produced dataset. Therefore, updating the object APIs could generate issues. To overcome the problem, all the MD custom objects are now using JSON serialization and deserialization, which does not have this side effect. To avoid compatibility problems, in this release both serializers (pickle and JSON) are supported. However, the support for pickle will be dropped in future releases, and only the JSON serializer will be kept. The MDAPIDatasetConverterCube can be used to convert old datasets into new datasets where the JSON serializer/deserializer is used.
New Cubes
Iterative NPT Cube. This cube performs NPT MD simulations in the cyclic MD Floe (Plain MD Floe) on the provided system. If the MD cycle is complete, the cube emits the record to the “success” port and if not, it emits the record to the “cycle_out_port” port.
Iteration Checker Cube. This cube checks if the MD cycle is complete. If the MD cycle is complete, it emits the record to the “true” output port, and if not, it emits the record to the “false” output port.
Cube Updates
The MDAPIDatasetConverterCube has been updated to support the conversion from old pickle datasets to the new JSON serializer/deserializer
The ComplexPrepCube has been updated to raise a fatal error if the protein cannot been found.
v1.1.6 June 2022
General Notice
Add new Cube for checking the wall clock time of production runs
G4/G5 AWS instances support for OpenMM/GROMACS
Minor bug fixing
New Cubes
MDSpeedChecker Cube. This Cube estimates the wall clock time a production run will require and if the estimated time exceeds the 12 hour time limit, the Cube will fail the job.
Cube Updates
All Cubes have been updated for improved exception handling.
v1.1.5 April 2022
General Notice
New Cubes for Long Trajectory MD support; these are Cubes to enable iterative Floes.
Package dependencies update
Minor bug fixing
New Cubes
MDProxyCube. The MD Proxy Cube runs chunks of MD simulations in cycles till the desired total MD running time has been reached
MDRecoveryRestartProxyCube. This Cube is able to restart or recover a previously run long MD simulation. It is used in association with the MD proxy cube.
Cube Updates
All the MD Cubes are by default pinning g3 spot instances to improve reliability.
v1.1.2 December 2021
General Notice
Better Implicit Solvent Support
Add CPU support to OpenMM and Gromax
Add HMR support to Gromax
New Cubes
MDAPIDatasetConverterCube
Cube Updates
All the MD cubes have been updated to support Implicit Solvent simulations