diff --git a/package/MDAnalysis/analysis/encore/confdistmatrix.py b/package/MDAnalysis/analysis/encore/confdistmatrix.py index 483964d5594..20fe8ea7e0a 100644 --- a/package/MDAnalysis/analysis/encore/confdistmatrix.py +++ b/package/MDAnalysis/analysis/encore/confdistmatrix.py @@ -171,14 +171,25 @@ def conformational_distance_matrix(ensemble, # Initialize workers. Simple worker doesn't perform fitting, # fitter worker does. indices = trm_indices((0, 0), (framesn - 1, framesn - 1)) - Parallel(n_jobs=n_jobs, verbose=verbose, require='sharedmem', - max_nbytes=max_nbytes)(delayed(conf_dist_function)( - np.int64(element), - rmsd_coordinates, - distmat, - weights, - fitting_coordinates, - subset_weights) for element in indices) + if n_jobs == 1: + for element in indices: + conf_dist_function(np.int64(element), + rmsd_coordinates, + distmat, + weights, + fitting_coordinates, + subset_weights) + else: + Parallel(n_jobs=n_jobs, + verbose=verbose, + require='sharedmem', + max_nbytes=max_nbytes)(delayed(conf_dist_function)( + np.int64(element), + rmsd_coordinates, + distmat, + weights, + fitting_coordinates, + subset_weights) for element in indices) # When the workers have finished, return a TriangularMatrix object