1. A molecular retrieval method for retrieving molecular structures, stored in a molecular database and having similarity with an input reference, comprising the steps of: (a) defining a hierarchy of molecular representations at residue, function group, and atom type structural levels; (b) identifying molecular fragments at each structural level of step a) and building a dictionary of said molecular fragments for each structural level; (c) collecting the chemical and physical properties for each molecular fragment of said dictionaries and building a knowledge base; (d) selecting a structual level of molecular representation on the basis of similarity to said input reference; (e) performing a matching between the representation of said input reference against the molecular representations at the level selected in step d) of all the molecular structures stored into said molecular database using said knowledge base; (f) selecting all the molecular structures similar to said input reference, and outputting all the molecular structures selected in step f).