Computational techniques to study protein dynamics and conformations