<jupyter_start><jupyter_text>Understanding the output of WaterSwapwaterswap is fully automatic. This means that you don’t need to do anything to get the calculation to run. However, waterswap will print a lot of output to let you know what it is doing, and to give you a chance to check that everything is ok.The output from waterswap is very similar to ligandswap. The only differences relate to the fact that the ligand is being swapped with water. If you are happy with ligandswap then waterswap should make sense.Because waterswap calculations take a long time, we have provided some example output for you from this simulation. This is in example_output.tar.bz2 and can be unpacked using the cell below.<jupyter_code>! tar -jxvf example_output.tar.bz2<jupyter_output><empty_output><jupyter_text>The output printed when the simulation is running has been captured to a file called `runsim.log`. Take a look at it in the cell below.<jupyter_code>! cat runsim.log<jupyter_output><empty_output><jupyter_text>A key part of the output gives information about the identity points that are used to choose the water molecules that are being swapped. More information about how this works in [in this paper](link)```Obtaining the identity points...Auto-identifying the identity atoms...Skipping AtomName('C1') as it is bonded to 3 or more points...Skipping AtomName('C10') as it is bonded to 3 or more points...Skipping AtomName('C4') as it is bonded to 3 or more points...Skipping AtomName('C6') as it is bonded to 3 or more points...Skipping AtomName('C8') as it is bonded to 3 or more points...Using 14 identity points: ['C11', 'C12', 'C13', 'C14', 'C2', 'C3', 'C5', 'C9', 'N1', 'N2', 'O1', 'O2', 'O3', 'O4']Using identity points:[Atom( C11 : 5855 ), Atom( C12 : 5847 ), Atom( C13 : 5848 ), Atom( C14 : 5858 ), Atom( C2 : 5837 ), Atom( C3 : 5834 ), Atom( C5 : 5826 ), Atom( C9 : 5841 ), Atom( N1 : 5824 ), Atom( N2 : 5829 ), Atom( O1 : 5839 ), Atom( O2 : 5840 ), Atom( O3 : 5818 ), Atom( O4 : 5845 )]Identifying the swap-water cluster...found 14 molecules that are now part of the swap water clusterEquilibrating the swap water cluster (moves = 5000)Complete. Equilibrated water molecules in file 'swapcluster01.pdb'```These points are used to identify a number of water molecules (equal to the number of identity points). These are copied into the protein complex in place of the ligand and equilibrated for a number of steps. The equilibrated water molecules are written to a file called `swapcluster01.pdb`. When you run waterswap in production you should take a look at this file and make sure that the choice of water molecules fits neatly under the ligand.To make this easier, use two "spacefill" representations; one for the swapped water (residue name SWP) and one for the ligand (OSE). Note that the 3D viewer does a poor job of working out the atom types of a couple of atoms in the ligand.<jupyter_code>from BioSimSpace import viewMolecules
v = viewMolecules("swapcluster01.pdb")<jupyter_output><empty_output><jupyter_text>Ideally all of the water molecules will lie within the volume of the ligand, and will fill the volume. If too few are selected then there will be parts of the ligand that will not be replaced by water. Equally, if too many are selected (as could be argued to be the case here) then the water will be squeezed into a small volume than would be ideal. Fortunately, the sampling performed in waterswap makes the calculation quite tolerant to small differences in volume.If there are too many or too few water molecules, you can choose your own points by specifying the atoms in the ligand to use. These are passed in via the config file using the `identity atoms` option, e.g.```identity atoms = ['Cl1', 'O1', 'O2', 'N1', 'N2', 'C1', 'C5', 'C6', 'C9', 'C11', 'C12', 'C14']```would place identity points on the atoms in the ligand called "C11", "O1", "O2" etc.You can get a full list of config options and their default values using the `--help-config` option<jupyter_code>! $SIRE/bin/waterswap --help-config<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08140678799803247, 'fraction_numerical': 0.03418593212001968, 'mean_word_length': 4.736248236953456, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '445697', 'license': 'MIT', 'n_tokens_mistral': 1264, 'n_tokens_neox': 1150, 'n_words': 609, 'path': 'waterswap/02_understanding_output.ipynb', 'repo_name': 'CCPBioSim/xswaps', 'size': '4066'}