A comparison of non-integrating reprogramming methods