Molecular Dynamics and Toenail Fungus

I had been plagued by this complaint for many years and nothing I did had any effect. I decided to look at my own treatment using these computing techniques. 

The basic process that is adopted is:
1. Find and select the protein , based upon medical research data , which is causing the problem, which we will call a "target".
2. Create a molecular model of it.
3. Select a "drug" , based upon any data you can find , to try and disable the "target".
4. Create a molecular model of it.
5. Dock the "drug" with the "target" to see what its effect might be.


Athletes foot fungus and toenail fungus are usually the fungus trichophyton rubrum.

If we search the literature on the Pubmed site  with "trichophyton rubrum secretion targets" we find a paper "Expression dynamics of secreted protease genes in Trichophyton rubrum induced by key host's proteinaceous components."  This paper tells us that

"Our results suggest that Sub3, Sub4, and Mep4 may be the dominant secreted proteases responsible for invasion and the use of host proteins as nutrients during infection by T. rubrum."

Searching a little further the paper "Gene Expression Profiling in the Human Pathogenic Dermatophyte Trichophyton rubrumduring Growth on Proteins" is found which quotes: 

"Notably, a sequence that encodes an Hsp70 protein (TrMZE08ACQ) was found to be strongly upregulated during growth in both protein-containing media." and "Since the induced T. rubrum HSP70 gene is concomitantly expressed with genes that encode major secreted proteases, the putative Hsp70 chaperone could be involved in the folding and/or secretion of these enzymes.

This leads me to , at least as a first attempt, to drug the HSP70 protein in an attempt to disable it and "starve" the fungus.  We need two sets of data; the construction and shape of the target and the drug. Which drugs?  I have built up a drug database on my system and this is covered in Selecting Drugs .

Now we need the target which is going to be the HSP70 protein.  You want the crystal structure often found on the RCSB PDB site, but it is not always there.  All proteins can be found on the Uniprot site.  Searching for  HSP70.and selecting human leads you to the entry Q9NZL4; select it and under format select fasta and you have a page with:


Copy and save that as a file, say hsp70.fasta.txt. This is the construction of that protein as a string of aminoacids; which does not give us the shape


To get the shape ( or at least as good an estimate as possible we can use the Swiss Model where you click "Start Model" and then paste into the "Target Box" the content of your fasta file; then click "Build Model".  A little while later you will be presented with the best estimate of the shape of that protein. If it is not at least  90% then you are on the wrong path and must re-evaluate the situation.  In this case Model 1 should show 99.64% alignment and if you click it and then PDB file you are shown a PDB data file.  Select it all and save it as say hsp70-swiss.pdb.  Load that into VegaZZ and you should see:


It can be rotated , zoomed etc with the mouse.

This protein must later be defined as a target in Autodock Tools but for now we need to make sure it is correct in bonds and atoms.  In Vega edit , add , hydrogens , protein and you will see hydrogen atoms being added.  Then edit , coordinates , normalize  to make sure it is on a common reference grid.  Then edit , change , bond type , find bond type completes initial corrections.   Then calculate , charge and pot , CHARM22_PROT with Gasteiger  MUST end up with an integer for every correct protein; in this case -9.

Now to best find the shape in blood we  edit , add , cluster , water  set x=100 for water box  size  and click the "Same" button  then OK.  Your screen then has lots of water molecules added in.  Now calculate , ammp , minimisation letting it run for 3000 steps.  You can see small shape changes as the energy is balanced.  It may take a while -- on my PC about 2 to 5  minutes.

Now edit , remove , water   then file , save as , pdb2.2 and call it   hsp70-swiss-min.pdb or similar.

Load that file into (drag and drop) Autodock Tools (ADT).  Here it must be defined as a target (know as macromolecule)  so  grid , macromolecule , choose , select and the program initializes.  If non-bonded atoms are found you have an error. The new file is then saved as a PDBQT file ,  say hsp70-swiss-min.pdbqt.  Before closing ADT we need to know how big that molecule is to tell the docking system what range it must examine.   Use grid , grid box ,and set the spacing to 1 angstrom.  You will see it does not quite cover the molecule;  red needs to go up to 55, green to 50 and blue to 80. Remember those numbers.

Now we have the construction and shape for the target protein. 


For drug selection you can search blogs , medical papers and / or try a few well known remedies or just guess.  I usually start with aspirin first and then try curcumin next.


Often a Google search for say "aspirin pdb" will lead you to a file for aspirin.  In my case the file was found ( as is often the case ) on the RCSB Protein Data Bank under the code of 1oxr. This is a file of aspirin already prepared and docked with something else.  We will download it and delete the "something else".  It downloads as 1oxr.pdb. Save that file and load it into Chimera where you will see:


In Chimera zoom in so the aspirin is clear and then select a part of it (CNTL click) - it goes green.  holding CNTL press the UP ARROW key and the whole molecule goes green. Now on the menu select Select Invert all models  and everything else turns green.  Select Actions / Atoms and bonds / delete  and all the green is gone and you are left with aspirin alone. Select File / Save PDB and call it asp.pdb.  Close Chimera.

Open the asp.pdb in Vegazz to make sure the previous step worked OK.  At this stage  Edit / coordinates / normalize  is a good idea to make sure it is in full central view for the next stages. Save the file and exit Vegazz.

Open Autodock Tools and drag in the saved file.  Now we process that as a "ligand".  So select ligand / input / choose and then ligand / output / save as pdbqt.

We now have the construction and shape for the drug ( now called a ligand )


We must prepare a configuration file (called lets say hsp70-asp-vina.config) to tell the docking program Vina exactly what to do. The file looks like this:

out = d:\temp\hsp70-asp-vina-out.pdbqt
ligand = d:\temp\asp.pdbqt
receptor = d:\temp\hsp70-swiss-min.pdbqt
size_x =55
size_y =50
size_z =80
center_x =0
center_y =0
center_z =0
exhaustiveness = 8
We have told it where the drug file  is (ligand); the target protein (receptor) and where we want the output placing (out)  --  full file locations must be used, which on your system may be different depending on where you saved the files.  The sizes have been set to the size of our hsp70 protein, and exhaustiveness=8 means "do a good job but don't take too long"

Save that file as vina.config and open a command prompt in that folder.  The Vina program (vina.exe) has been installed on your system and you should have placed its path into the PATH variable such that it can be executed from other locations.

Try it.

At command prompt type in:

vina.exe  --config hsp70-asp-vina.config  -- log hsp70-asp-vina.log

The system should find all your CPUs and run a docking in a minute or so , telling you the best score was -4.9.  With a log file for record.

You have performed a molecular docking analysis!

However you should repeat it because Vina should only really be used for regions of docking in a box smaller than 40X40X40.  Loading the output from your docking above analyze , dockings , open result  (load as single molecules) pulls in the positions of the drug molecules when docked.  Load in the target molecule (which was called hsp70-swiss-min.pdbqt) by "drag and drop" then  analyze . macromolecule , choose. Now by selecting the colours and fill of the two loaded molecules you can see where they interacted. Using analyze , dockings , interactions  and you will see exactly where the dockings are taking place.  Use the grid , grid box to manipulate the grid box to the area of interest.  On my system the 40X40X40 box needed moving with offsets Red=0 , Green=5 and Blue=9.

Alter these values in the configuration file    i.e.      40 , 40 , 40 , 0 , 5 , 9 and rerun.  The new run score will be more accurate and reliable than the first one.

What do these scores mean?  They are the energy loss which occurs when docking takes place, and without going into great detail (most of which I can not claim to fully understand) it would appear that any scores above -6 mean that the interaction has little or no effect ; ranging down to -10 which indicates very profound effect.. 

What that run tells you is that aspirin will not cure toenail fungus; a score of -4 to -5 will have no effect, you need one below -7.  Try other drugs.

This process can be repeated using other drugs of your choosing.  I eventually selected a mixture of several drugs with good scores ( below -7 ) which, after further processing to increase water solubility, I applied to my toe as a paste under a plaster for 2 days. The effects take a long time to appear but now I do seem to be free from the fungus that has pestered me for years.

This example below used curcumin in its SD formulation during 2015.  The fungus returned in 2018 as no doubt my blood flow to my feet is getting worse with old age hence my feet are not being kept well above the 30C needed to suppress fungal growth.  I have now tried curcumin in its SOL formulation with DMSO whilst adding a little N-M-2-pyrollidone for permeation enhancement.  The results appear just as good, and it is much easier to do.

rhs toe

It would appear to me that molecular docking does give real indications as to how molecules behave.