A major goal in contemporary drug design is to develop new ligands with high affinity of binding toward a given protein receptor. Pharmacophore, which is the three-dimensional arrangement of essential features that enable a molecule to exert a particular biological effect, is a very useful model for achieving this goal. If the three dimensional structure of the receptor is known, pharmacophore is a complementary tool to standard techniques, such as docking. However, frequently the structure of the receptor protein is unknown and only a set of ligands together with their measured binding affinities towards the receptor is available. In such a case, a pharmacophore based strategy is one of the few applicable tools. Here we present a broad, yet concise guide to pharmacophore identification and review a sample of applications for drug design. In particular, we present the framework of the algorithms, classify their modules and point out their advantages and challenges.