Building and simulating protein machines