MAID: an automated map-fitting routine. Copyright David G. Levitt, 2000.

MAID by David Levitt at the University of Minnesota uses torsion angle molecular dynamics for automated building of the amino acid sequence of a protein into an electron density map and is described in:

"A new software routine that automates the fitting of protein X-ray crystallographic electron density maps." D. G. Levitt. (2001). Acta Crystallogr. D57, 1013-1019. 

Since David's research now focusses on pharmacokinetics, with David's permission MAID can be obtained below.

  • MAID runs best on a 64 bit computer and, although you can run it on a 32 bit machine, it tends to stop prematurely and may not complete all three stages of the model-building process, namely "trace", "extend" and "expand". Therefore it is recommended that you run it on a 64 bit machine with a 64 bit operating system, although you may still get a useful starting model of the structure if you do run it on a 32 bit system. Anyhow, I am confident that the 64 bit version on a 64 bit machine will work as well as MAID used to on an SGI, a long time ago and its a lot quicker!

  • There is a simple GUI for running MAID in batch- or background-mode without having to read the manual and this is called MAIDaid. If you run the MAIDaid GUI, you can now ignore the rest of this paragraph. MAID itself requires the electron density map to be in X-PLOR/CNS ASCII format and it should be normalised, i.e. the mean density should be zero and the RMS density should be 1.0. Maps not already in this format can be converted using MAPMAN (in the Uppsala suite) or re-calculated using the PHENIX gui as follows: in the PHENIX 'Maps' tab, use the 'FFT map coefficients' option and set 'Map scaling' to 'sigma' and 'Format' to 'XPLOR'. However, this normalisation is now done automatically by MAIDaid, whenever needed. MAIDaid will also read CCP4 maps, convert them to X-PLOR format and normalise them, as required.

  • By default, PHENIX produces a map covering the unit cell and CCP4 produces a map which covers just the asymmetric unit. This may or may not give MAID some problems! It may be better to build a dummy water molecule roughly in the middle of the protein density and save it as PDB file. Subsequently using PHENIX or CCP4 to calculate the map around this water molecule with say a 35 - 40 Angstrom border may give better results.

Original linux version
This version of MAID can be compiled using most UNIX and Linux compilers. Follow the compiler directions in the MANUAL to choose your compiler. (Special thanks to Ralf Grosse-Kunstleve ( for allowing me (DGL) to use the "compiler farm".)

Click on the underlined file - and direct it to the directory you want:
Download MAID code, manual and makefile (tar and zipped) by clicking on: maid_unix_12nov01.tar.gz
     In the directory where the  .tar.gz file is located:
     Unzip the file: gunzip filename.tar.gz
     untar the file: tar xvf file.tar
This will create a new subdirectory glmaid_unix  containing all the files you need to compile MAID.
Read either MANUAL5_word.doc or MANUAL5_word.txt for instructions for compiling and running MAID.

Newer linux version
A newer linux version which includes the maidaid GUI for starting the batch version of MAID can be obtained here:

64 bit or here 32 bit (Sep 2015).

Note that the only difference between these two files is that maid and maidaid have been compiled on 64 and 32 bit linux. If it turns out that you need to compile everything from source, either will be fine because the programs themselves are identical in each. Remember that MAID will nearly always work better on a 64 bit system.

To run the program, unzip the files with your linux file manager or as described above, then go to the linux_maid folder and double-click on the maidaid file icon or use a terminal window to enter the following command in the linux_maid folder: ./maidaid

In case of problems, first ensure that both maidbatch and maidaid are executable i.e. type: chmod u+x maidbatch maidaid

If maidbatch does not work, you can compile it from source by opening a terminal window in the folder where the program files are and typing "make" noting that you will, of course, need to have 'make' and g++ installed first. It is also fairly easy to compile maidaid by installing the latest FLTK library from the website ( in the usual unix way (i.e. "./configure", "make", "sudo make install"). It seems to work better if you install FLTK from source in this way rather than getting it via your linux package manager. In the maid folder, open a terminal window and type: "fltk-config --compile maidaid.cxx" to compile maidaid itself. Finally, if the maidaid font size turns out to be too small, installing the X freetype font library (libxft-dev) with your package manager and repeating the FLTK build will help.

Note that this linux version is based on the tweaked one I made for Windows, so please read the paragraphs below since they give the general idea of what to do. 


David's original code for the batch version of MAID has been tweaked by myself (J. Cooper) so that it can be compiled by MinGW and run on Windows. There is also a basic GUI, which I have called MAIDaid, for launching MAID without having to read the manual, although there is an on-screen help button, if needed. The Windows version can be obtained as a zip file here:

64 bit or here 32 bit (Sep 2015).

The files are within a folder called 'maid' which contains the original program manual (MANUAL5_WORD.txt and .doc). The easiest option should be to run MAID using the MAIDaid GUI which you can start by just double-clicking MAIDaid.exe. You can even make a neat short-cut to this program on the Windows desktop! However, please remember that the MAIDaid.exe file must be in the same folder as maidbatch.exe, which is the batch version of the MAID program. In the unlikely event that MAIDaid starts OK but stops when you click on 'Prepare files', right-click on the executable and select 'Troubleshoot compatibility' to sort it out. Note, the 'screen' i.e. interactive version of MAID hasn't (yet) been compiled for Windows (or Linux).

A folder (test_maps) with a few sample maps in the right format and the corresponding amino acid sequences is provided for testing purposes.

If necessary, maidbatch can be compiled using g++ in MinGW or MinGW-w64 (as appropriate) and MSYS which provides a Windows 'make' program (note that GNU make.exe and the 'makefile' are provided). MAIDaid can be compiled with MinGW or MinGW-w64 (as appropriate) using MSYS, firstly to install FLTK and then to run the compile_MAIDaid.bat file.


'm afraid all the people with MACs round here have left, so I haven't been able to prepare anything, but it shouldn't be too hard to compile the program using the source code for the Linux version.


Note that for some reason Coot may not manage to read in PDB files produced by MAID so you may need to renumber all of the residues with a PDB file utility, such as PDBSET, and insert the right the CRYST and SCALE cards. Just type the following in a command shell:

pdbset xyzin input.pdb xyzout output.pdb
cell 55 66 77 90 90 90
spac P212121
renum 1

with appropriate filenames and values for your crystal symmetry. The residue numbering, etc, can be corrected in Coot later.

As of Aug 2015 I have been able to iron-out a couple of annoying bugs in maidaid so it is a lot more stable on Windows and linux but please let me know how it goes.