Ionize 1.6.0

Ionize is an application for the placement atomic ions around 3D biomolecular structures. It uses a PDB file with associated atomic charges to create a grid of electrostatic potential around the structures. An ion is placed at the lowest energy gridpoint, and the grid is then recalculated for the placement of the next ion. Multiple ion types can be placed in a specified order.

Installation

Preparing Files for ionize

  1. Put charge information into the beta field of your PDB file. You can do this in VMD.
  2. Edit your config file. You will most likely need to change NUM_IONS, PDB_NAME, PDB_OUT, ION_TYPE, and ION_CHARGE.
Here is an example file:

NUM_IONS 20
R_ION_PRODNA 6.0
R_ION_ION 2.0
GRID_STEP 0.5
BORDER_WIDTH 10.0
PDB_NAME structure.pdb
PDB_OUT ions.pdb
ION_TYPE SOD
ION_CHARGE 1


You can also have ionize place multiple different type of ions in seperate runs by using a config file where NUM_IONS, ION_TYPE, ION_CHARGE, and R_ION_PRODNA are specified for each run:

NUM_ION_RUNS 5
R_ION_ION 6.0
GRID_STEP 0.5
BORDER_WIDTH 10.0
PDB_NAME structure.pdb
PDB_OUT ions.pdb
NUM_IONS_0 8
ION_TYPE_0 SOD
ION_CHARGE_0 1
R_ION_PRODNA_0 6.0
NUM_IONS_1 1
ION_TYPE_1 SOD
ION_CHARGE_1 1
R_ION_PRODNA_1 6.0
NUM_IONS_2 1
ION_TYPE_2 CLA
ION_CHARGE_2 -1
R_ION_PRODNA_2 6.0
NUM_IONS_3 1
ION_TYPE_3 SOD
ION_CHARGE_3 1
R_ION_PRODNA_3 6.0
NUM_IONS_4 1
ION_TYPE_4 CLA
ION_CHARGE_4 -1
R_ION_PRODNA_4 6.0


Use

ionize takes a PDB structure file containing charge information in the beta field and outputs a new PDB file containing the added ions.
  1. Run ionize specifying the config file that contains the parameters for the run.
  2. ionize ionize.config > ionize.log

Troubleshooting ionize

Does ionize throw a segfault error? Are you trying to run a VERY large system such as the small subunit or large subunit? If you answer yes to the above questions, you probably forgot to compile ionize to handle VERY large systems.
In order to recompile ionize, there are a few things you will need beforehand.
  1. Text editor
  2. C compilers (if you have gotten this far, you probably have the g++/gcc compiler suite)
  3. Ionize source code (because if you don't have the source code, you cannot modify anything and are stuck on square one)
  4. RAM (ionize eats up memory so make sure that your computer has lots of RAM. An easy way to test this is to just launch vmd and read the output file).

There are three major spots that you need to change in the ionize source code (so... launch your text editor, open up the source code file and find the following lines):

define MAXATOMS XXX
define MAXIONS XXX
define MAXGRID XXX

where XXX is some really large integer. Replace the really large integer with a VERY VERY large integer:

define MAXATOMS 1000000
define MAXIONS 5000
define MAXGRID 100000

and recompile the code. If it compiles, you are probably golden. If not then you just make the numbers smaller until you can compile. Then you just try running ionize on your large system to see if you can place the ions correctly.
p