Hello everyone!
I am trying to do hydrogen bonding analysis in a system with 1 molecule of a certain sugar and many molecules of water. I wanted to calculate the number of hydrogen bonds within the system over time, the number of hydrogen bonds related only to the sugar molecule (excluding solvent-solvent interactions) over time and the number of sugar-sugar hydrogen bonds over time.
First, I analysed the whole universe to count the number of hydrogen bonds. I did something like:
# find all hydrogen bonds
hbonds = HydrogenBondAnalysis(universe=u)
hbonds.run(verbose=True)
And after using count_by_ids() I managed to have the solvent-sugar and sugar-sugar hydrogen bonds.
However, I then tried something different (my sugar's residue name is UNL, and water's residue name is SOL):
# define atom selections for donor and acceptor atoms in UNL and SOL residues
donor_selection = "resname UNL or resname SOL"
acceptor_selection = "resname SOL or resname UNL"
# create the HydrogenBondAnalysis object with the specified selections
hbonds = HydrogenBondAnalysis(universe=u,
donors_sel=donor_selection,
acceptors_sel=acceptor_selection)
# run the analysis
hbonds_sorbitol.run(verbose=True)
In my mind I would have pretty much the same result, because in the system there are only SOL and UNL residues. However, I had very different results: way more hydrogen bonds in general and SOL-UNL and UNL-UNL hydrogen bonds than I had before.
Why is it so different? Which method is "correct" for what I am intending to calculate?
Thank you for your answers :)
Have a great day!