code: def rotate_molecules(mol_coordinates_list):
      """Rotates provided molecular coordinates.
  
      Pseudocode:
      1. Generate random rotation matrix. This matrix applies a random
        transformation to any 3-vector such that, were the random transformation
        repeatedly applied, it would randomly sample along the surface of a sphere
        with radius equal to the norm of the given 3-vector cf.
        _generate_random_rotation_matrix() for details
      2. Apply R to all atomic coordinatse.
      3. Return rotated molecule
      """
      R = generate_random_rotation_matrix()
      rotated_coordinates_list = []
  
      for mol_coordinates in mol_coordinates_list:
          coordinates = deepcopy(mol_coordinates)
          rotated_coordinates = np.transpose(
              np.dot(R, np.transpose(coordinates))
          )
          rotated_coordinates_list.append(rotated_coordinates)
  
      return rotated_coordinates_list
  
file_path: deepchem/deepchem/utils/geometry_utils.py
imports: import numpy
  from scipy.spatial.distance import cdist
  from copy import deepcopy
label_desc: Use image node_id 5 for calling a global function with example usage: rotate_molecules(mol_coordinates_list) and returns: rotated_coordinates_list