The term molecular recognition refers to the specific interaction between two or more molecules through noncovalent bonding such as  hydrogen bonding, metal coordination, hydrophobic forces, van der Waals forces, π-π interactions, halogen bonding, or resonant interaction 
effects. In addition to these direct interactions, solvents can play a dominant indirect role in driving molecular recognition in solution. The host and guest involved in molecular recognition exhibit molecular complementarity. Exceptions are molecular containers, including, e.g., nanotubes, in which portals essentially control selectivity.