diff --git a/docs/releasehistory.rst b/docs/releasehistory.rst index ee910a81..9adc751c 100644 --- a/docs/releasehistory.rst +++ b/docs/releasehistory.rst @@ -8,6 +8,27 @@ Releases follow the ``major.minor.micro`` scheme recommended by `PEP440 `_: minor fix in the logger to prevent conflicts with external loggers +- `PR #176 `_: new charge calculator called Mulliken +- `PR #177 `_: new method to save alchemical mapping as a PNG file + +Bugfixes +"""""""" +- `PR #177 `_: bug fixes for alchemical solvent templates and affected tests + +Tests added +""""""""""" +- `PR #176 `_: new tests to validate the new charge calculator + + 1.4.3 - Minor improvements for CLI arguments and ffld_server ------------------------------------------------------------ diff --git a/examples/alchemistry/ethylene_to_chlorofom.ipynb b/examples/alchemistry/ethylene_to_chlorofom.ipynb index 71ed1ccb..f0989efc 100644 --- a/examples/alchemistry/ethylene_to_chlorofom.ipynb +++ b/examples/alchemistry/ethylene_to_chlorofom.ipynb @@ -35,7 +35,7 @@ "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ " - Initializing molecule from a SMILES tag\n", @@ -58,7 +58,7 @@ "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ " - Initializing molecule from a SMILES tag\n", @@ -91,19 +91,19 @@ { "data": { "image/svg+xml": [ - "\n", + "\n", "\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "" ], "text/plain": [ @@ -127,23 +127,23 @@ { "data": { "image/svg+xml": [ - "\n", + "\n", "\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "" ], "text/plain": [ @@ -273,9 +273,9 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -294,6 +294,16 @@ "We can save end states and their hybrid structure to a PDB file. All PDB structures will be aligned according to the MCS to facilitate their comparison. The hybrid structure is the one that needs to be used in the PELE simulation since it contains all the required atoms to go from ethylene (state 1) to chloroform (state 2)." ] }, + { + "cell_type": "code", + "execution_count": 15, + "id": "3f9e1fa7", + "metadata": {}, + "outputs": [], + "source": [ + "alchemizer.to_png('mapping.png')" + ] + }, { "cell_type": "code", "execution_count": 15, @@ -486,4 +496,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/peleffy/data/tests/alchemical_ligandParams_0.txt b/peleffy/data/tests/alchemical_ligandParams_0.txt index 044a23c0..19a24d25 100644 --- a/peleffy/data/tests/alchemical_ligandParams_0.txt +++ b/peleffy/data/tests/alchemical_ligandParams_0.txt @@ -85,47 +85,47 @@ "scale": 0.85 }, "_C6_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_C7_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_C8_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_C9_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "C10_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "C11_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "H12_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H13_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H14_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H15_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H16_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 } } diff --git a/peleffy/data/tests/alchemical_ligandParams_1.txt b/peleffy/data/tests/alchemical_ligandParams_1.txt index 64554cdc..de3457e2 100644 --- a/peleffy/data/tests/alchemical_ligandParams_1.txt +++ b/peleffy/data/tests/alchemical_ligandParams_1.txt @@ -21,23 +21,23 @@ "scale": 0.755 }, "_C3_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_C4_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_C5_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_O1_": { - "radius": 0.75, + "radius": 1.5, "scale": 0.425 }, "_O2_": { - "radius": 0.75, + "radius": 1.5, "scale": 0.425 }, "_H1_": { @@ -49,7 +49,7 @@ "scale": 0.85 }, "_H3_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_H4_": { @@ -57,75 +57,75 @@ "scale": 0.85 }, "_H5_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_H6_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_H7_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_H8_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_H9_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H10_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H11_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "_C6_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_C7_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_C8_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "_C9_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "C10_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "C11_": { - "radius": 0.85, + "radius": 1.7, "scale": 0.36 }, "H12_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H13_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H14_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H15_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 }, "H16_": { - "radius": 0.6, + "radius": 1.2, "scale": 0.425 } } diff --git a/peleffy/data/tests/alchemical_ligandParams_2.txt b/peleffy/data/tests/alchemical_ligandParams_2.txt index 34ece285..cf36f765 100644 --- a/peleffy/data/tests/alchemical_ligandParams_2.txt +++ b/peleffy/data/tests/alchemical_ligandParams_2.txt @@ -21,23 +21,23 @@ "scale": 0.79 }, "_C3_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_C4_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_C5_": { - "radius": 0.0, + "radius": 1.7, "scale": 0.0 }, "_O1_": { - "radius": 0.0, + "radius": 1.5, "scale": 0.0 }, "_O2_": { - "radius": 0.0, + "radius": 1.5, "scale": 0.0 }, "_H1_": { @@ -49,7 +49,7 @@ "scale": 0.85 }, "_H3_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_H4_": { @@ -57,31 +57,31 @@ "scale": 0.85 }, "_H5_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_H6_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_H7_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_H8_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_H9_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H10_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "H11_": { - "radius": 0.0, + "radius": 1.2, "scale": 0.0 }, "_C6_": { diff --git a/peleffy/topology/alchemistry.py b/peleffy/topology/alchemistry.py index 32aef9c7..04f9ed3a 100644 --- a/peleffy/topology/alchemistry.py +++ b/peleffy/topology/alchemistry.py @@ -986,6 +986,12 @@ def obc_parameters_to_file(self, path, fep_lambda=None, of the OBC parameters of both molecules, to the path that is supplied. + Note that OBC radii are never shrinked to 0.0 for exclusive + and non native atoms to avoid problems with the equation + that places this parameter as the denominator of a fraction. + Instead the scale factor is changed according to the + value of the lambda. + Parameters ---------- path : str @@ -1071,14 +1077,14 @@ def obc_parameters_to_file(self, path, fep_lambda=None, for atom_idx, atom in enumerate(self._joint_topology.atoms): if atom_idx in self._exclusive_atoms: lambda_value = 1.0 - lambda_set.get_lambda_for_coulomb1() - radius = radii1[(atom_idx, )] * lambda_value + radius = radii1[(atom_idx, )] # Do not change it scale = scales1[(atom_idx, )] * lambda_value elif atom_idx in self._non_native_atoms: for mol2_index, alc_index in self._mol2_to_alc_map.items(): if alc_index == atom_idx: lambda_value = lambda_set.get_lambda_for_coulomb2() - radius = radii2[(mol2_index, )] * lambda_value + radius = radii2[(mol2_index, )] # Do not change it scale = scales2[(mol2_index, )] * lambda_value break else: @@ -1106,6 +1112,21 @@ def obc_parameters_to_file(self, path, fep_lambda=None, logger.set_level(log_level) + def to_png(self, output_png): + """ + It generates a PNG image representing the resulting alchemical + mapping. + + Parameters + ---------- + output_png : str + Path to the output PNG file to write + """ + import os + from peleffy.utils.toolkits import RDKitToolkitWrapper + + self._mapper.to_png(output_png) + def _ipython_display_(self): """ It returns a representation of the alchemical mapping. diff --git a/peleffy/topology/mapper.py b/peleffy/topology/mapper.py index b10877a9..209dfcb0 100644 --- a/peleffy/topology/mapper.py +++ b/peleffy/topology/mapper.py @@ -117,6 +117,36 @@ def molecule2(self): """ return self._molecule2 + def to_png(self, output_png): + """ + It generates a PNG image representing the resulting alchemical + mapping. + + Parameters + ---------- + output_png : str + Path to the output PNG file to write + """ + import os + from peleffy.utils.toolkits import RDKitToolkitWrapper + + extension = os.path.splitext(output_png)[1] + + if extension != ".png": + raise ValueError("Invalid extension for a PNG file") + + + rdkit_toolkit = RDKitToolkitWrapper() + + mcs_mol = rdkit_toolkit.get_mcs(self.molecule1, self.molecule2, + self._include_hydrogens, + self._TIMEOUT) + + image = rdkit_toolkit.draw_mapping(self.molecule1, self.molecule2, + mcs_mol, self._include_hydrogens) + + image.save(output_png) + def _ipython_display_(self): """ It returns a representation of the mapping. diff --git a/peleffy/topology/topology.py b/peleffy/topology/topology.py index b67311b9..e01d42a0 100644 --- a/peleffy/topology/topology.py +++ b/peleffy/topology/topology.py @@ -428,3 +428,4 @@ def impropers(self): The list of impropers of this Topology object. """ return self._impropers + \ No newline at end of file diff --git a/peleffy/utils/toolkits.py b/peleffy/utils/toolkits.py index e911b512..ea012aee 100644 --- a/peleffy/utils/toolkits.py +++ b/peleffy/utils/toolkits.py @@ -850,7 +850,8 @@ def draw_mapping(self, molecule1, molecule2, mcs_mol, image = Draw.MolsToGridImage([rdkit_mol1, rdkit_mol2], molsPerRow=2, subImgSize=(300, 300), legends=[mol1_name, mol2_name], - highlightAtomLists=[mol1_sub, mol2_sub]) + highlightAtomLists=[mol1_sub, mol2_sub], + returnPNG=False) return image