A highly sensitive and specific gene fusion algorithm based on multiple fusion callers and an ensemble machine learning approach