Computational Medicine: Tools and Challenges