Daniel J.
Fowles
and
David S.
Palmer
*
Department of Pure and Applied Chemistry, University of Strathclyde, Thomas Graham Building, 295 Cathedral Street, Glasgow, Scotland G1 1XL, UK. E-mail: david.palmer@strath.ac.uk
First published on 14th February 2023
Simultaneous calculation of entropies, enthalpies and free energies has been a long-standing challenge in computational chemistry, partly because of the difficulty in obtaining estimates of all three properties from a single consistent simulation methodology. This has been particularly true for methods from the Integral Equation Theory of Molecular Liquids such as the Reference Interaction Site Model which have traditionally given large errors in solvation thermodynamics. Recently, we presented pyRISM-CNN, a combination of the 1 Dimensional Reference Interaction Site Model (1D-RISM) solver, pyRISM, with a deep learning based free energy functional, as a method of predicting solvation free energy (SFE). With this approach, a 40-fold improvement in prediction accuracy was delivered for a multi-solvent, multi-temperature dataset when compared to the standard 1D-RISM theory [Fowles et al., Digital Discovery, 2023, 2, 177–188]. Here, we report three further developments to the pyRISM-CNN methodology. Firstly, solvation free energies have been introduced for organic molecular ions in methanol or water solvent systems at 298 K, with errors below 4 kcal mol−1 obtained without the need for corrections or additional descriptors. Secondly, the number of solvents in the training data has been expanded from carbon tetrachloride, water and chloroform to now also include methanol. For neutral solutes, prediction errors nearing or below 1 kcal mol−1 are obtained for each organic solvent system at 298 K and water solvent systems at 273–373 K. Lastly, pyRISM-CNN was successfully applied to the simultaneous prediction of solvation enthalpy, entropy and free energy through a multi-task learning approach, with errors of 1.04, 0.98 and 0.47 kcal mol−1, respectively, for water solvent systems at 298 K.
Methods of simulating the solvated environment for a given system can generally be separated into one of two categories, implicit or explicit solvent models. The most common implicit models treat bulk solvent as a uniform polarisable medium defined by a dielectric constant, and have found extensive use through models such as the solvation model based on solute electron density (SMD)7 and the polarisable continuum model (PCM).8,9 However, implicit models rely on incomplete representations of important molecular level details such as short-ranged solute–solvent interactions. Typically, implicit models only predict for solvation free energy. Several such methods do exist for the routine prediction of other important thermophysical properties however, such as COSMOTherm.10 Fogolari et al. have discussed recent advances in the prediction of solvation thermodynamics,11 and Karplus et al. have proposed a method of estimating the configurational entropy difference between two states,12,13 both of which involve molecular dynamics (MD) simulations and implicit solvent. Explicit solvent models, such as those commonly used with MD, offer a viable alternative to implicit continuum based approaches,14 with which a variety of studies report methods for predicting solvation enthalpy or entropy. Lin et al. proposed a two-phase thermodynamic model for calculating the entropy of molecular fluids from the trajectory of MD simulations,15 and the inhomogeneous solvation theory (IST) has seen increased use for predicting solvation thermodynamics.16 However, the use of explicit solvent models and molecular dynamics simulations come at a far greater cost than their implicit counterparts, and often require time consuming and expensive simulations to model even a modest number of systems.
The reference interaction site model (RISM) is a third approach, capable of calculating solvation dependent thermodynamic parameters at a lower computational cost than explicit models, whilst modelling specific solute–solvent interactions. The RISM theory uses a simplified form of the high-dimensional molecular Ornstein–Zernike (MOZ) equations to model solvent density distribution around a solute molecule through a set of correlation functions, from which two distinct methods have been developed. The most commonly used of these is 3D-RISM, which approximates the MOZ equations by a set of three-dimensional integral equations. With the recent development of several semi-empirical17,18 and theoretical free energy functionals,19,20 3D-RISM has found frequent use as a method to predict SFE.21–25 Solvation enthalpies and entropies can also be obtained through 3D-RISM with the decomposition of solvation free energy into the entropic contribution using temperature derivatives.26 With this method, solvation enthalpies and entropies were reported to within 2.12 and 1.93 kcal mol−1 of experiment, respectively. However, as solvation entropies were extrapolated from calculated free energies, for which state-of-the-art semi-empirical or theoretical free energy functionals are necessary to obtain reasonable agreement to experiment, any errors found within free energy calculations can also be found in the associated solvation entropy and enthalpy. By contrast, the 1D-RISM theory, in which the MOZ equations are approximated as a set of one-dimensional integral equations, is rarely used for quantitative calculations of solvation thermodynamics because it is considered to be too inaccurate in its common form.
Within the RISM framework, solvation free energy predictions are made analytically using one of several available free energy functionals. In 1D-RISM many of these functionals fail to accurately predict the energetic parameters of the chemical system under investigation. These functionals, such as the Hyper-Netted Chain (1D-RISM/HNC) model,27 are too inaccurate for routine use and typically achieve absolute prediction errors above 20 kcal mol−1. Much effort has been put into improving the predictive capabilities of 1D-RISM based functionals for SFE calculations. Some of these improved models, such as the Gaussian Fluctuations (1D-RISM/GF) and Partial Wave models (1D-RISM/PW), can more accurately predict SFE than previous methods.28,29 Although reasonable qualitative agreement with experimental data has been reported, large predictive errors are still commonly observed for many chemical systems.
In previous work, we proposed a method of accurately predicting solvation free energy.30 This method, pyRISM-CNN, combined our in-house 1D-RISM solver, pyRISM,31 with a deep learning based free energy functional and was shown to accurately predict SFE for organic molecules in aqueous solvent at 273–373 K, as well as carbon tetrachloride or chloroform solvent systems at 298 K. Compared to the standard 1D-RISM theory, the pyRISM-CNN functional reduced the predictive error by up to 40-fold, obtaining a prediction accuracy below 1 kcal mol−1 of experiment across each tested solvent. Moving from 1D-RISM calculation to pyRISM-CNN prediction requires minimal additional computational expense as the solvation free energy density (SFED) functions that are used as input to the CNN model can be generated as part of the typical 1D-RISM workflow.
Here, we report three further developments to the pyRISM-CNN methodology. Solvation free energy data at 298 K has been introduced for methanol solvent systems, for a total of four solvents alongside carbon tetrachloride, chloroform and water. Organic molecular ions have also been introduced for water and methanol solvent systems, allowing pyRISM-CNN to predict SFE for both neutral and ionised solutes, either as a combined input or independently. Accurate predictions of SFE can be obtained for both neutral molecules and molecular ions without the need for additional descriptors or corrections. The pyRISM-CNN functional has also been successfully applied to the simultaneous and accurate prediction of solvation enthalpy, entropy and free energy through a multi-task learning approach. By expanding the range of chemical systems for which SFE predictions can be made, as well as enabling the accurate prediction of solvation enthalpy, entropy and free energy, pyRISM-CNN has expanded the potential application for the RISM theory.
![]() | (1) |
Intermolecular solute–solvent correlations are defined for each pair of solute and solvent sites by the total correlation functions hsα(r) and direct correlation functions csα(r). Here, s refers to a solute site and α to a solvent site. The total correlation functions are closely related to the radial distribution function (RDF) as
hsα(r) = gsα(r) − 1 | (2) |
The total and direct correlation functions are related via a set of RISM equations
![]() | (3) |
χξα(r) = ωsolvξα(r) + ρhsolvξα(r) | (4) |
The solvent–solvent site hsolvξα(r) and ωsolvξα(r) are obtained from preliminary solvent–solvent 1D-RISM calculations and molecular structure. To complete the set of RISM equations, closure relations must be introduced
hsα(r) = exp(−βusα(r) + γsα(r) + Bsα(r)) − 1 | (5) |
The exact bridge functions are typically unknown and so an approximation is needed to solve for the total correlation functions and direct correlation functions. A commonly used closure is the Kovalenko and Hirata (KH) closure33
![]() | (6) |
There are multiple expressions available within RISM for determining solvation free energy once the total and direct correlation functions have been solved. The functional is usually selected to be consistent with the closure used within the 1D-RISM calculations. The Gaussian fluctuations approximation (GF),34 KH35 and hypernetted chain (HNC)27 expressions are shown below.
![]() | (7) |
![]() | (8) |
![]() | (9) |
![]() | (10) |
![]() | (11) |
![]() | (12) |
![]() | (13) |
When the 1D-RISM equations are solved, the total and direct correlation functions are represented on a fine grid. The values of the SFED functions at selected grid points provide variables that are denoted as m_w_n, where m is the 1D-RISM free energy functional from which the variable is based and n is the grid point at which the variable is evaluated. Machine learning algorithms are then trained on these variables and the subsequent model can be used for solvation free energy prediction. pyRISM is made freely available as open-source software.
A multi-solvent, multi-temperature dataset of neutral and ionised compounds was prepared from the available experimental solvation free energies. Ionised compounds were obtained exclusively from the MSD and consisted of ionised organic solutes. A total of four solvents made up the neutral portion of the dataset: water, methanol, chloroform and carbon tetrachloride, with 659, 25, 109 and 79 solutes respectively. Of the 659 water solutes, 272 were taken from Chamberlin et al., and included hydration free energy data in a 273–373 K temperature range. By using free energies over a range of temperatures, a total of 3053 datapoints were available. The remaining 387 solutes were taken from the MSD at 298 K, for a total of 3440 datapoints. The ionised portion of the dataset consisted of anions and cations in water and methanol solvents. By solvent, 48 anions and 29 cations were present in methanol, and 56 anions and 47 cations in water.
Experimental solvation enthalpies, entropies and free energies of small organic molecules were taken from several different sources. This second dataset contained a full set of experimental solvation thermodynamic parameters for solute molecules in water at 298 K. Every molecule present in this second dataset can also be found in the solvation free energy dataset. Solvation enthalpies for solutes in water were obtained from the Acree dataset42 and Abraham et al.43 Solvation entropies were taken from Garza.44 Experimental solvation free energies from the MSD were assigned to each molecule. If an experimental solvation enthalpy, entropy and free energy were not all available for a given molecule then a pseudo-experimental value would be calculated from the other two available terms using ΔG = ΔH − TΔS. In total, solvation data was obtained for 139 solutes in water. Where necessary, experimental values were converted to the Ben Naim standard state.45,46Table 1 provides a breakdown of the available experimental data for each solvent. A spreadsheet detailing the available experimental data by source can be found as part of the ESI.†
Dataset | Solvent | Temperature range | SFE functional | Datapoints |
---|---|---|---|---|
ΔGexp,neutralsolv | Carbon tetrachloride | 298 K | KH/HNC/GF | 79 |
Chloroform | 298 K | 109 | ||
Methanol | 298 K | 25 | ||
Water | 273–373 K | 3440 | ||
ΔGexp,ionisedsolv | Methanol | 298 K | KH/HNC/GF | 77 |
Water | 298 K | 103 | ||
ΔHexpsolv, TΔSexpsolv, ΔGexp,neutralsolv | Water | 298 K | KH/HNC/GF | 139 |
Fig. 1 provides violin plots which show the distribution of experimental solvation free energy and molecular weight by solvent across the neutral and ionised datasets. Additional violin plots of logP and the number of rotatable bonds per solute are available in Section S1 of the ESI.† Tables containing the mean and standard deviation (SD) of each experimental property across the neutral and ionised datasets, as well as the mean and SD of experimental solvation enthalpy, entropy and free energy values, can also be found in Section S1 of the ESI.†
Solute coordinate files were taken from the MSD. The corresponding coordinate files were not available for 10 solute molecules taken from Zanith et al., and so were obtained from the PubChem chemical database49 as a 2D coordinate file. These files were converted to 3D structures and the lowest energy conformer found through a conformational search carried out using Open Babel. The conformational search involved a systematic rotor search of each solute with the GAFF forcefield.50
Single and multi-output convolutional neural networks were built using the ‘sequential’ and ‘functional’ model packages in Tensorflow59 respectively, and accessed using Keras60 with a Python implementation. Single output CNN were trained on SFED generated from the solvation free energy dataset, and multi-output CNN were trained on SFED generated from the solvation enthalpy, entropy and free energy dataset. The multi-task algorithm considered solvation enthalpy, entropy and free energy with an equal weighting. The CNN training datasets contained enthalpy, entropy and free energy values for each solute without any missing data. Final CNN architecture consisted of three blocks of Conv1D-MaxPooling1D-BatchNormalisation with a subsequent Flatten layer, and was based on the refined CNN architecture applied in our previous work.30 Single output models contained a single Dense output layer while multi-output models had three separate Dense output layers connected to the Flatten layer. Convolutional layers were created using the ‘Conv1D’ layer package in Keras with 32 output filters, a kernal size of 3 and stride length of 2. No padding was included and the rectified linear activation function (ReLu)61 was used. Each of the subsequent layers were also taken from Keras, with the max pool size within MaxPooling1D layers set to 2. Default parameters were used for BatchNormalisation and Flatten layers. The loss function and metric was set to ‘mse’ (mean squared error), with the ‘Adam’ optimiser.62 Each model could run for a maximum of 60 epochs with a patience of 20 epochs included through the Keras ‘EarlyStopping’ callback.
![]() | (14) |
![]() | (15) |
![]() | (16) |
![]() | (17) |
The bias provides the systematic error, while the standard deviation gives the random error that is not explained by the model. The bias and standard deviation are connected to the RMSD by:
RMSD(y,yexp)2 = M(y − yexp)2 + σ(y − yexp)2 | (18) |
A model which reports an RMSD greater than the standard deviation of the experimental data provides less accurate predictions than the null model provided by the mean of the experimental data.
Statistical analyses were performed in a Python environment using the ‘sklearn.metrics’ module available in scikit-learn.63
ΔGexp,neutralsolv dataset | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Neutral solvation free energy | By solvent | Full dataset | ||||||||
Solvent | Temperature | Datapoints | R 2 | RMSD | Bias | SDEP | R 2 | RMSD | Bias | SDEP |
Carbon Tetrachloride | 298 K | 79 | 0.63 | 1.00 | 0.69 | 0.68 | 0.93 | 0.99 | 0.28 | 0.93 |
Chloroform | 298 K | 109 | 0.81 | 1.12 | 0.65 | 0.87 | ||||
Methanol | 298 K | 25 | 0.42 | 0.73 | 0.16 | 0.64 | ||||
Water | 273–373 K | 3440 | 0.95 | 0.96 | 0.11 | 0.93 |
ΔGexp,ionisedsolv dataset | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Ionised solvation free energy | By solvent | Full dataset | ||||||||
Solvent | Temperature | Datapoints | R 2 | RMSD | Bias | SDEP | R 2 | RMSD | Bias | SDEP |
Methanol | 298 K | 77 | 0.61 | 3.60 | 0.51 | 3.06 | 0.74 | 3.96 | 0.35 | 3.62 |
Water | 298 K | 103 | 0.73 | 4.10 | 0.21 | 3.71 |
In our previous study of pyRISM-CNN, a CNN model trained on the GF generated multi-solvent, multi-temperature SFED dataset achieved an RMSD of 0.97 kcal mol−1 and R2 of 0.94. This dataset consisted of the carbon tetrachloride, chloroform and water based solute data presented in the neutral SFE section of Table 2 under ‘Solvent’, ‘Temperature’ and ‘Datapoints’. Here, we have expanded that benchmark dataset to include experimental solvation free energies for 25 solute molecules in methanol. As can be seen in Table 2, including this additional solvent does not impact upon the overall model performance, with an RMSD of 0.99 kcal mol−1 and R2 of 0.93. Individually, SFE predictions made for methanol based solutes are no less accurate than for other solvents, with an RMSD of 0.73 kcal mol−1 and R2 of 0.42. The relatively low R2 is likely due to the small number of datapoints available for methanol, which represent a smaller spread of experimental SFE values than are available for the other solvents. The performance of this CNN model, trained on the expanded neutral solute dataset, further shows the generalisability and capabilities of this approach.
Similarly to the neutral solute dataset, a CNN trained on SFED generated from ionised organic solutes is capable of making accurate solvation free energy predictions. From the ionised SFE section of Table 2, the CNN trained on ionised solute data can be seen to accurately predict SFE to within 3.96 kcal mol−1 of experiment. This accuracy is not limited to a single solvent as RMSD of 3.60 and 4.10 kcal mol−1 are achieved for predictions of solutes in methanol and water solvents, respectively. Fig. 2 provides the correlation plots of experimental SFE against predicted values for the neutral and ionised solute datasets. Ionised solute predictions are colour coded as anions and cations.
Solvation free energy predictions made with pyRISM-CNN are of comparable accuracy to the current state-of-the-art of the more computationally expensive 3D-RISM based methods. The semi empirical universal correction (UC) free energy functional paired with 3D-RISM has been shown to accurately predict hydration free energies for neutral and ionised solutes. Labute et al. calculated HFE values for a dataset of 504 neutral organic molecules, obtaining an RMSD of 1.18 kcal mol−1.17 A similar approach has been proposed by Casillas et al.,64 in which an RMSD of 1.44 kcal mol−1 was achieved for 642 molecules from the Freesolv database. Sumi et al. performed hydration free energy calculations on an earlier version of the Freesolv database using the reference-modified density functional formulation, with which an RMSD of 1.46 kcal mol−1 was reached.65 The authors also compared their approach against 3D-RISM/NgB and molecular DFT calculations performed on the same dataset, which managed RMSD of 1.29 and 1.80 kcal mol−1, respectively. Tielker et al. performed HFE calculations on neutral and ionised organic solutes obtained from the MSD using the embedded cluster RISM theory (EC-RISM).66 By including multiple solvent-specific empirical parameters, 3D-RISM calculated hydration free energies with an RMSD of 1.52, 4.48 and 2.91 kcal mol−1 were obtained for neutral, anionic and cationic solutes, respectively. Fewer studies have reported hydration free energy predictions for ionised datasets. Misin et al. reported HFE calculations for molecular ions involving 3D-RISM/PC+ and a correction for the Galvani potential, with an RMSD of 4.84 kcal mol−1.23 Johnson et al. treated 48 molecular ions in water with a variety of free energy functionals in 3D-RISM without a Galvani correction, achieving an RMSD of 6.51 kcal mol−1 with 3D-RISM/UC.26
Compared to the individual neutral and ionised datasets, use of a combined dataset results in only a small reduction in SFE prediction accuracy across solvents and neutral/ionised solutes. A breakdown of solvation free energy predictions for the combined dataset can be found in Table 3. By solvent, neutral solute RMSD increases by 0.23, 0.22 and 0.51 kcal mol−1 for chloroform, methanol and water, respectively, when compared against CNN trained on the individual neutral dataset. For carbon tetrachloride, RMSD decreases by 0.02 kcal mol−1. Comparing ionised predictions, a CNN trained on the individual ionised dataset performed better than their combined dataset counterpart, with prediction errors increasing by 0.67 and 1.70 kcal mol−1 for methanol and water, respectively. A drop in SFE prediction accuracy is not unexpected for several reasons: experimental solvation free energies for ionised organic solutes are typically ten times greater than their neutral counterparts, and neutral solute data outnumbers ionised solute data by 20:
1. Fig. 3 shows the correlation plot of experimental SFE against predicted values for the combined neutral and ionised solute dataset.
ΔGexp,neutralsolv, ΔGexp,ionisedsolv dataset | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Solvent | Temperature | Datapoints | By solvent | Full dataset | ||||||
R 2 | RMSD | Bias | SDEP | R 2 | RMSD | Bias | SDEP | |||
Neutral solvation free energy | ||||||||||
Carbon Tetrachloride | 298 K | 79 | 0.68 | 0.98 | 0.31 | 0.93 | 0.99 | 3.03 | 0.09 | 2.97 |
Chloroform | 298 K | 109 | 0.74 | 1.35 | 0.29 | 1.32 | ||||
Methanol | 298 K | 25 | 0.40 | 0.95 | −0.27 | 0.91 | ||||
Water | 273–373 K | 3440 | 0.88 | 1.47 | −0.20 | 1.45 | ||||
Ionised solvation free energy | ||||||||||
Methanol | 298 K | 77 | 0.52 | 4.27 | 0.40 | 3.83 | ||||
Water | 298 K | 103 | 0.59 | 5.80 | 0.48 | 5.55 |
![]() | ||
Fig. 3 Correlation plot showing solvation free energy predictions made with the combined neutral and ionised dataset. SFED were generated using the GF functional. |
Solvation enthalpy, entropy and free energy predictions from multi-output CNN trained on SFED generated from the KH, HNC or GF free energy functional can be found in Table 4. Across each free energy functional, solvation enthalpy, entropy and free energy predictions are made with accuracies nearing or below 1 kcal mol−1. By functional, RMSD of 1.06, 1.04 and 1.14 kcal mol−1 are obtained for solvation enthalpy predictions with KH, HNC and GF respectively. Similar values of 1.00, 0.98 and 1.07 kcal mol−1 are obtained for solvation entropy. Solvation free energy predictions remain the most accurate and closely resemble accuracies obtained with single task CNN, with RMSD of 0.53, 0.47 and 0.53 kcal mol−1. These results suggest that use of a multi-task algorithm allows for the accurate prediction of all three properties simultaneously, as can be seen by comparing Tables 2–4. Fig. 4 provides the correlation plots of experimental solvation enthalpy, entropy and free energy against predicted values for the multi-task CNN trained on GF generated SFED.
Multi-output CNN – ΔHexpsolv, TΔSexpsolv, ΔGexp,neutralsolv dataset | |||||
---|---|---|---|---|---|
Functional | Parameter | R 2 | RMSD | Bias | SDEP |
KH | Solvation enthalpy | 0.90 | 1.06 | 0.14 | 1.00 |
Solvation entropy | 0.77 | 1.00 | 0.10 | 0.95 | |
Solvation free energy | 0.94 | 0.53 | 0.07 | 0.50 | |
HNC | Solvation enthalpy | 0.90 | 1.04 | 0.06 | 1.01 |
Solvation entropy | 0.79 | 0.98 | 0.03 | 0.95 | |
Solvation free energy | 0.95 | 0.47 | 0.04 | 0.45 | |
GF | Solvation enthalpy | 0.89 | 1.14 | 0.03 | 1.08 |
Solvation entropy | 0.73 | 1.07 | −0.03 | 1.01 | |
Solvation free energy | 0.95 | 0.53 | 0.05 | 0.50 |
Several methods have been reported for the prediction of solvation enthalpy and entropy, although few report predictions for both alongside solvation free energy. MD based free energy perturbation (FEP) calculations have been reported for a dataset of 239 neutral small molecules in water, achieving an average unsigned error (AUE) of 1.10 kcal mol−1.67 Comparisons can also be made against the SMD, which has been tested extensively against both aqueous and organic solvents at 298 K with which to calculate SFE for neutral and ionised solutes.7 By solvent, AUE of 0.52, 0.84 and 0.59 kcal mol−1 were reported for neutral solutes in carbon tetrachloride, chloroform and water respectively, and AUE of 2.47 and 4.40 kcal mol−1 were also reported for ionised solutes in methanol and water. Although not directly comparable, here with GF based pyRISM-CNN models, RMSD values of 1.00, 1.12 and 0.96 kcal mol−1 were made for neutral solutes in carbon tetrachloride, chloroform and water, and 3.60 and 4.10 kcal mol−1 for ionised solutes in methanol and water. Jaquis et al. reported solvation enthalpy predictions for ethanol solvent systems using a deep learning feedforward neural network and chemistry development kit (CDK) descriptors, with a test set RMSD of 1.58 kcal mol−1.68 Similarly, Chung et al. developed a deep learning neural network model for the prediction of solvation enthalpy and free energy, reporting an RMSD of 0.75 and 0.71 kcal mol−1 respectively.69 Irudayam et al. reported an MD based method of calculating the hydration entropy from individual entropic components, alongside solvation free energy.70 With this method, hydration free energies are calculated with a mean unsigned error of 2.5 kJ mol−1. The authors reported that solvation entropies, and enthalpies by extension using ΔG = ΔH − TΔS, are typically underestimated, and conclude that forcefield based methods are unable to account for the temperature dependence of solvation. Hydration free energies and hydration enthalpies/entropies were reported by Johnson et al. for a dataset of 1123 and subset of 74 molecules, respectively, calculated with the 3D-RISM theory and PC+ free energy functional.26 Across solvation free energy, enthalpy and entropy, RMSD of 1.43, 2.12 and 1.93 kcal mol−1 were obtained respectively. However, empirical corrections to the standard 3D-RISM theory were necessary to obtain values with reasonable agreement to experiment.
This multi-task approach can be readily extended to organic solvent systems alongside the aqueous systems tested here. There are, however, limited samples available with which to train machine learning models. Increasing the availability of high quality experimental data in the literature would help to resolve this problem.
Footnote |
† Electronic supplementary information (ESI) available. See DOI: https://doi.org/10.1039/d3cp00199g |
This journal is © the Owner Societies 2023 |