LFM-Pro: A Tool for Detecting Significant Local Structural Sites in Proteins

globins:1a6m - top scoring site


The rapidly growing protein structure repositories have opened up new opportunities for discovery and analysis of functional and evolutionary relationships among proteins. Detecting conserved structural sites that are unique to a protein family is of great value in identification of functionally important atoms and residues. Currently available methods are computationally expensive and fail to detect biologically significant local features.


We propose LFM-Pro (Local Feature Mining in Proteins) as a framework for automatically discovering family specific local sites and the features associated with these sites. Our method uses the distance field to backbone atoms to detect geometrically significant structural centers of the protein. A feature vector is generated from the geometrical and bio-chemical environment around these centers. These features are then scored using a statistical measure, for their ability to distinguish a family of proteins from a background set of unrelated proteins, and successful features are combined into a representative set for the protein family. The utility and success of LFM-Pro are demonstrated on Trypsin-like Serine Proteases family of proteins. The results verify that our method is successful both in identifying the distinctive sites of a given family of proteins, and in classifying proteins using the extracted features.


The software is freely available for academic research use.


ahmet[at]ceng.metu.edu.tr , {ozturk,hakan,yusu}@cse.ohio-state.edu



  • Multi-class classification training set is generated from 40% ASTRAL set of SCOP 1.67, having at least 5 member proteins. The test set is the newly added proteins in 40% ASTRAL set of SCOP 1.69 for the corresponding families. You can also obtain the Dali alignment data files for the multi-class classification experiment.
  • For feature mining and binary-classification tasks, we utilized the Trypsin-like Serine Proteases and Nuclear Receptor Ligand Binding Domain family.


Download and unzip the LFMPro software package into folder (The root folder will be denoted as “LFMPro” from here on). When unzipped, you should have the following folders:

  • LFMPro/src/: contains the source Matlab scripts. You can edit globals_default.m file to change the default paths for data folders and external programs.
  • LFMPro/myLibrary/: has the general utility functions used in the Matlab scripts. Add this folder to your Matlab path.
  • LFMPro/CriticalPoints/ has the python scripts that generate critical points for a given pdb structure. A Win32 binary delaunay.exe is provided in this folder. For other platforms, you’ll have to compile the Delaunay program (Makefile is provided).
  • LFMPro/Data/: contains the pdb files and program cache
  • LFMPro/Parameters/: contains parameters that guide the site mining process. ASTRAL, SCOP, and CullPDB lists are also kept in this folder. For some of the time-consuming batch tasks, myPause.txt (should have a 0 or 1) is checked for pausing the execution.


  • You need Matlab to run LFMPro. Add the LFMPro/myLibrary/ folder to your Matlab path.
  • You need to install CGAL computational geometry library and python in order to execute the code for generation of critical points.
  • Download the PDB repository into LFMPro/Data/PdbZips_divided

Quick-Run Guide


  • chdir to LFMPro/src directory
  • setup the environment variables. The globals_set function will check to make sure you have the proper source and data directories.

>> globals_set;

  • use mine_sites to extract features and corresponding scores:

>> rep = mine_family_represent(familyName, 'ptns',ptnNames, 'rand',backgroundPtns);

familyName is a unique identifier that you can use to refer to the family representation with. ptnNames and backgroundPtns are cell arrays of pdb names for the family members and for the outgroup proteins.

  • you can view the mapping of the mined features onto a protein using:

>> signatures_show(pdb, 'familyName',familyName)

  • for the functions implemented in LFMPro, you can get help about the function arguments by passing ‘help’ as the varargin.

For example:

>> data_prepare_batch('help');

Sample Tasks

Here is a list of sample runs demonstrating some of the available functionality:

Function Reference

See the function reference page for the list of available functions and their usage.

Extending LFMPro

You can view the local features page if you wish to extend LFMPro to incorporate new local features.