code: def run_tsne(self, X=None, metric='correlation', **kwargs):
          
          if(X is not None):
              dt = man.TSNE(metric=metric, **kwargs).fit_transform(X)
              return dt
  
          else:
              dt = man.TSNE(metric=self.distance,
                            **kwargs).fit_transform(self.adata.obsm['X_pca'])
              tsne2d = dt
              self.adata.obsm['X_tsne'] = tsne2d
docs: Wrapper for sklearn's t-SNE implementation.
  
          See sklearn for the t-SNE documentation. All arguments are the same
          with the exception that 'metric' is set to 'precomputed' by default,
          implying that this function expects a distance matrix by default.