code: def partial_transform(self, traj):
          
  
          # check to make sure topologies are consistent with the reference frame
          try:
              assert traj.top == self.reference_frame.top
          except:
              warnings.warn("The topology of the trajectory is not" +
                            "the same as that of the reference frame," +
                            "which might give meaningless results.")
          distances, _ = md.compute_contacts(traj, self.contacts,
                                          self.scheme, ignore_nonprotein=False,
                                          periodic = self.periodic)
          return self._transform(distances)
docs: Featurize an MD trajectory into a vector space derived from
          residue-residue distances
  
          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.
  
          See Also
          --------
          transform : simultaneously featurize a collection of MD trajectories