code: def _align_monomer(self, monomer, mon_vector, move_direction):
          
          axis = np.cross(mon_vector, move_direction)
          origin = monomer[self.start].coords
          angle = get_angle(mon_vector, move_direction)
          op = SymmOp.from_origin_axis_angle(origin, axis, angle)
          monomer.apply_operation(op)
docs: rotate the monomer so that it is aligned along the move direction
  
          Args:
              monomer (Molecule)
              mon_vector (numpy.array): molecule vector that starts from the
                  start atom index to the end atom index
              move_direction (numpy.array): the direction of the polymer chain
                  extension