result_scaled_water.txt (7.8 KB)
result_scaled_complex.txt (7.8 KB)
result_unscaled_water.txt (7.8 KB)
result_unscaled_complex.txt (7.7 KB)
I have attached the files.
I see that you used equilibrium FEP. Recently, there were some gromacs bugs fixed relating to the foreign lambda calculations, thus the results might be gromacs version dependent. I would recommend trying to run with the latest gmx version patch or try non-equilibrium switching.
I’m using Gromacs 2022.4
Okay, thanks.
And in Gromacs 2022.4, this has been addressed. https://manual.gromacs.org/2023-rc1/release-notes/2022/2022.4.html
Another thing is that this is a charge changing mutation which I am doing but I am keeping the charge of the system neutral by co-alchemical ion approach. Could this be be a problem?
Such a perturbation will be more difficult to converge and requires many lambda windows and longer sampling time. It seems that your simulations are very short. The standard deviation of the end windows is large. I would recommend to, firstly, calibrate your protocol against known protein-ligand benchmark set to ensure that you are able to reproduce those results.
pmx ligandHybrid -i1 ./lig_1/lig1.pdb -i2 ./lig_2/lig2.pdb -itp1 ./lig_1/MOL.itp -itp2 ./lig_2/MOL.itp -pairs pairs2.dat
ligandHybridTop__log_> Reading ligand 1 from: "./lig_1/lig1.pdb"
ligandHybridTop__log_> Reading ligand 2 from: "./lig_2/lig2.pdb"
ligandHybridTop__log_> Reading topology 1 from: "./lig_1/MOL.itp"
ligandHybridTop__log_> Reading topology 2 from: "./lig_2/MOL.itp"
ligandHybridTop__log_> Reading file with atom pairs: "pairs2.dat"
ligandHybridTop__log_> Assigning forcefield parameters....
ligandHybridTop__log_> Superimposing mol2 on mol1
[13:07:42]
****
Range Error
atomId
Violation occurred on line 62 in file /home/conda/feedstock_root/build_artifacts/rdkit_1651075169244/work/Code/GraphMol/Conformer.cpp
Failed Expression: 30 < 30
****
ligandHybridTop__log_> ERROR: fitting mol2 on mol1 failed
ligandHybridTop__log_> Superimposing mol1 on mol2
[13:07:42]
****
Range Error
atomId
Violation occurred on line 62 in file /home/conda/feedstock_root/build_artifacts/rdkit_1651075169244/work/Code/GraphMol/Conformer.cpp
Failed Expression: 30 < 30
****
ligandHybridTop__log_> ERROR: fitting mol2 on mol1 failed
ligandHybridTop__log_> Initializing the main object for LigandHybridTopology
ligandHybridTop__log_> Starting hybrid topology generation
ligandHybridTop__log_> Making atom pairs.....
Traceback (most recent call last):
File "/home/ps004/anaconda3/envs/pmx/bin/pmx", line 8, in <module>
sys.exit(entry_point())
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/scripts/cli.py", line 97, in entry_point
PmxCli()
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/scripts/cli.py", line 44, in __init__
getattr(self, args.command)()
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/scripts/cli.py", line 64, in ligandHybrid
ligandHybrid.entry_point()
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/scripts/ligandHybrid.py", line 189, in entry_point
main(args)
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/scripts/ligandHybrid.py", line 308, in main
hybridTop._makeHybridTop( )
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/ligand_alchemy.py", line 2087, in _makeHybridTop
self._make_atom_pairs( )
File "/home/ps004/anaconda3/envs/pmx/lib/python3.10/site-packages/pmx/ligand_alchemy.py", line 2172, in _make_atom_pairs
a4 = self.m4.fetch_atoms(n2,how='byid')[0]
IndexError: list index out of range
And in another of the case where I have noticed ligA and ligB when mapped and hybrid is made it all works fine whereas if ligB and ligA are mapped and one tries to obtain the hybird there’s an error message with
ligandHybridTop__log_> Error: Something went wrong while assigning bonds! ligandHybridTop__log_> A-> Atom1: 5-C5' Atom2: 22-H02 ligandHybridTop__log_> B-> Atom1: 5-C5' Atom2: 21-H03
Regards,
Pallav
This means, you shouldn’t forget to provide ligandB as -i1 and ligandA as -i2 for ligandHybrid when using pairs2.dat
The error that you mention is, because of the same reason of using wrong inputs for pairs2.dat mapping
Hi Vytas,
There’s something strange I have been noticing with regards to charge-changing perturbations.
I was intending to reproduce some data from this paper https://pubs.acs.org/doi/10.1021/acs.jctc.8b00825# and observed something strange with regards to atomMapping. As noted in this paper for charge changing perturbation from 39 to 34, I get almost similar ddG data as stated in the paper(about 0.4 Kcal/mol difference) but the problem is when I use atommapping and make hybrids from 34 to 39, I get somewhat different ddG(about 2Kcal/mol difference). Another thing I have observed with charge changing perturbation is that never dG’s of Ligand A to Ligand B and from Ligand B to Ligand A matches, however in case of charge conserving mutations, both these transformations are similar.
I would be very grateful if you could throw some light onto this.
Regards,
Pallav.
If so is the case, what is the difference between the pdb files mergedA and mergedB which I have noticed to give different structures?
As the “pmx -h” explains: mergedA is “hybrid structure based on the ligand 1”, merged B is “hybrid structure based on the ligand 2”, i.e. structure of ligand1 is used to build mergedA, while structure of ligand2 is used as a basis in mergedB.
Such a hysteresis in the results suggests a convergence issue. How large are uncertainties of the estimates? Are you using non-equilibrium free energy calculation method? If so, are the work distributions overlapping?
If you suspect a dependence on which ligand is used as a structural reference, maybe you are suffering from the lack of convergence in conformation conversion between ligand1 and ligand2?
result_39_34_water.txt (7.6 KB)
result_39_34_complex.txt (7.6 KB)
result_34_39_water.txt (7.6 KB)
result_34_39_complex.txt (7.6 KB)
I am using equilibrium FEP.
And that is particularly only when there’s charge changing perturbation. However for a charge-conserving perturbations no matter which way is the atom mapping done, the dG’s and ddG’s end up to be the same.
From the results it seems that 95% CI of the dG in complex covers range larger than 2 kcal/mol, so your results can only be interpreted up to this level of certainty. Charge changing modifications are more difficult to converge. I assume you are using a co-alchemical ion approach to keep the box neutral during the transition?
yes. co-alchemical ion approach.
Would the double box single system approach alleviate such problems?
Not likely, you are experiencing convergence issues. Sampling longer or using enhanced sampling could help. Alternatively, can instantiate end states with their respective conformers
The paper quotes of about 10ns per lambda window. I find it strange that no one seeked the reverse transformations data.
They probably use HREX with REST to enhance sampling.
The problem is resolved.
For the AB hybrid, in the above mentioned case from 39 to 34, I was mutating a sodium ion to a dummy atom.
For the BA hybrid, all I had to do, was to grow a sodium ion from a dummy. I overlooked this aspect and was using a sodium and chloride ion respectively and turning the chloride ion to a dummy thereby the dG’s were not similar and strangely differing with large deviations.
Regards,
Pallav.