### PQR file format

This format resembles the PDB format, however the PQR files are rather loosely formated. Surface Diver reads PQR files on a per-line basis using the following format:

**Field_name Atom_number Atom_name Residue_name Residue_number X Y Z Charge Radius**

with the whitespace being the delimiter. The fields are:

**Field_name** – a string which specifies the type of PQR entry; only **ATOM** entries are currently parsed by Surface Diver

**Atom_number** – an integer which provides the atom index

**Atom_name** – a string which provides the atom name

**Residue_name** – a string which provides the residue name

**Residue_number** – an integer which provides the residue index

**X Y Z** – 3 floats which provide the atomic coordinates

**Charge** – a float which provides the atomic charge

**Radius** – a float which provides the atomic radius

### DX file format

Surface Diver reads electrostatic potentials, given as discretized scalar data, using the OpenDX format. It also outputs discretized data using this format:

**# Comments**

**object 1 class gridpositions counts nx ny nz**

**origin xmin ymin zmin**

**delta hx 0.0 0.0**

**delta 0.0 hy 0.0**

**delta 0.0 0.0 hz**

**object 2 class gridconnections counts nx ny nz**

**object 3 class array type double rank 0 times n data follows**

**u(0,0,0) u(0,0,1) u(0,0,2)**

**…**

**u(0,0,nz-3) u(0,0,nz-2) u(0,0,nz-1)**

**u(0,1,0) u(0,1,1) u(0,1,2)**

**…**

**u(0,1,nz-3) u(0,1,nz-2) u(0,1,nz-1)**

**…**

**u(0,ny-1,nz-3) u(0,ny-1,nz-2) u(0,ny-1,nz-1)**

**u(1,0,0) u(1,0,1) u(1,0,2)**

**…**

**attribute “dep” string “positions”**

**object “regular positions regular connections” class field**

**component “positions” value 1**

**component “connections” value 2**

**component “data” value 3**

where the variables are:

**Comments** – any number of comment lines, each line starting with the **#** symbol

**nx ny nz** – the number of grid points in the x-, y-, and z-directions

**xmin ymin zmin** – the coordinates of the grid lower corner

**hx hy hz** – the grid spacings in the x-, y-, and z-directions

**n** – the total number of grid points; **n = nx * ny * nz**

**u(*,*,*)** – the data values, ordered with the z-index increasing most quickly, followed by the y-index, and then the x-index.

Currently only cubic grids are supported with **nx=ny=nz** and **hx=hy=hz**