Fipd is used to analyse data coming from a ZDOCK run, and selects, from the thousands of given solutions, the ones which are compatible with (depending on the chosen options):


  • docking of a membrane protein with another membrane protein, ie with the dimerization (and possibly polymerization) of membrane proteins. To achieve this a cutoff is imposed on the inclination that the “ligand” protein may have with respect to the original orientation and the shift along the main axis. The inclination criterium is based on the assumption that an excessive inclination would mean that the proteins is not in a suitable orientation to cross the membrane. The shift criterium is based on the hypothesis that it is desirable for the ligand protein not to “stick” out of the membrane much more than in the original position.
  • a set of distances specified by the user. The distances between selected pairs of atoms in the target and the ligand are calculated and solutions accepted when all the distances are below specified thresholds.



FiPD can also pre-process the input pdb file in order to ensure the correct orientation of the starting structure with respect to the membrane (see below).

FiPD is released as statically-linked binaries for GNU-linux on i386 and X86-64 platforms, along with the complete manual.

For problems or bugs you can email Michele Seeber


If you use it, please cite:

D. Casciari, M. Seeber, and F.Fanelli; Quaternary structure predictions of transmembrane proteins starting from the monomer: a docking-based approach; BMC Bioinformatics (2006); 7:340




For a complete description of FiPD’s working, refer to the manual.

FiPD needs the output file from the docking program and the pdb of the starting structures of the ligand and target proteins. FiPD writes two log files, accepted.log and rejected.log, in which it lists the solutions and the criteria it used to accept/reject them. It also writes the pdbs resulting form the accepted transformations.



Pdb format – warning

Attention must be paid to the fact that ZDock requires “irregular” pdbs, in which the last columns are modified in content and format with respect to the pdb standard (a pre-processing program in the ZDock package takes care of this modification). These pdbs should be avoided and “regular” ones used for FiPD filtering, namely the ones which the zdock-modified pdb are derived from. Note: this is not strictly necessary when using the latest version of FiPD

This is the help screen (fipd.x -h):


* FiPD: a GPLed program to filter from a (z)docking output *
* suitable solutions for protein-protein interaction *

Command line arguments:
-z input file (zdock output analysis)
-p pdb list (pdb list - needs target)
-f output file (fipd output files basename)
-0 - (avoid solutions pdb output)
-t target (overrides name in input file)
-l ligand (overrides name in input file)
-o offset (max z-offset, default 5.0 A )
-a angle (max angle with z, default 0.5rad)
-d distfile (list of distances to monitor)
-c cutoff (activates clustering module)
-b cutoff begin (activates multiple clustering module)
-s cutoff step (activates multiple clustering module)
-e cutoff end (activates multiple clustering module)
-r - (forces use of qt algorithm in clustering)
-x (outputs xyz of CAs for external clustering)
-i file.pdb (input pdb for membrane alignment)
-m file.pdb (output pdb for membrane alignment)
-1 sele1 (selection for membrane alignment or clustering)
-2 sele2 (second (optional) selection for membrane alignment)





  • -z : starts zdock output analysis module. This filters zdock solutions based on membrane topology or distances criteria
  • -p : starts filtering on a number of pdb listed in the given file (one pdb per line)
  • -f : when filtering zdock solutions, fipd generates the pdb of the accepted solutions: this options allows to specify the basename of these pdb files – a progressive number is added.
  • -t : the name of the target (receptor) pdb file. This is necessary with the -p option, and overrides what is written in the zdock output when used with the -z option
  • -l : this overrides what is written in the zdock output when used with the -z option and is ignored with the -p option.
  • -o : the offset threshold (see paper 1 for details)
  • -a : the angle threshold (see paper 1 for details)
  • -d : filtering the solutions on the basis of a set of distances (see paper 2 for details), this option gives the name of a file with the list of distances to monitor and their thresholds – see below for selection sintax
  • -c : activates clustering of filtered solutions with the given cutoff; default algorithm in hierarchical
  • -b : simultaneous multiple clusterings can be run with a range of cutoffs; this option gives the lower value
  • -s : in multiple clustering, this gives the step for the cutoff range
  • -e : in multiple clusteringm this gives the upper value
  • -r : in clustering, this forces the use of the Quality Threshold algorithm
  • -x : this asks fipd to output a concatenated xyz file for further analysis by external programs
  • -i : starts preprocessing module that align the given pdb to the XY plane according to membrane topology predictions (these must be run separately and fed to fipd)
  • -m : in the alignment module, the name of the output (modified) pdb file
  • -1 : the selection string for the atoms predicted to be at the first water-membrane interface (necessary for -i option) – see below for selection syntax
  • -2 : the selection string for the atoms predicted to be at the second water-membrane interface (one is sufficient, but 2 gives better results)


Options -z, -p and -i are mutually exclusive.


For the selection syntax, see the manual.






binary for i386 linux

binary for x86_64 linux

binary for Mac OSX

pdf manual




Last modified on 10/12/2009