When -ncores 1 is supplied to kamphir on the command line, rcolgem.py still creates an R cluster object. This is unnecessary overhead if multithreading isn't used. The function simulate.binary.dated.tree.fgy figures out if multithreading is to be used or not by looking at whether the cluster parameter is null, so if ncores = 1, rcolgem.py should just set the cluster variable cl to NULL.