code: def partial_transform(self, traj):
          
          # Optionally take only certain atoms
          if self.atom_indices is not None:
              p_traj = traj.atom_slice(self.atom_indices)
          else:
              p_traj = traj
  
          # Optionally superpose to a reference trajectory.
          if self.ref_traj is not None:
              p_traj.superpose(self.ref_traj, parallel=False)
  
          # Get the positions and reshape.
          value = p_traj.xyz.reshape(len(p_traj), -1)
          return value
docs: Featurize an MD trajectory into a vector space with the raw
          cartesian coordinates.
  
          Parameters
          ----------
          traj : mdtraj.Trajectory
              A molecular dynamics trajectory to featurize.
  
          Returns
          -------
          features : np.ndarray, dtype=float, shape=(n_samples, n_features)
              A featurized trajectory is a 2D array of shape
              `(length_of_trajectory x n_features)` where each `features[i]`
              vector is computed by applying the featurization function
              to the `i`th snapshot of the input trajectory.
  
          Notes
          -----
          If you requested superposition (gave `ref_traj` in __init__) the
          input trajectory will be modified.
  
          See Also
          --------
          transform : simultaneously featurize a collection of MD trajectories