A
molecular machine, or nanomachine, is any discrete number of molecular components that produce quasi-mechanical movements (output) in response to specific stimuli (input). The expression is often more generally applied to molecules that simply mimic functions that occur at the macroscopic level. The term is also common in
nanotechnology where a number of highly complex molecular machines have been proposed that are aimed at the goal of constructing a
molecular assembler. Molecular machines can be divided into two broad categories; synthetic and biological.