Calculates the frequency of pi-pi interactions throughout simulations. If the frequency exceeds the
        analysis cutoff, this interaction will be plotted in the final figure.
        Takes:
            * analysis_cutoff * - fraction of simulation time a feature has to be present for to be plotted
        Output:
            * self.pi_contacts_for_drawing * - dictionary of pi-pi interactions to be plotted

def get_pistacking_frequency(self,analysis_cutoff):
        """Calculates the frequency of pi-pi interactions throughout simulations. If the frequency exceeds the
        analysis cutoff, this interaction will be plotted in the final figure.
        Takes:
            * analysis_cutoff * - fraction of simulation time a feature has to be present for to be plotted
        Output:
            * self.pi_contacts_for_drawing * - dictionary of pi-pi interactions to be plotted """
        self.frequency = defaultdict(int)
        for traj in self.pistacking_by_type:
            for contact in self.pistacking_by_type[traj]:
                self.frequency[contact["ligand_ring_ids"],contact["type"],contact["resid"],contact["resname"],contact["segid"]]+=contact["frequency"]
        draw_frequency = {i:self.frequency[i] for i in self.frequency if self.frequency[i]>(int(len(self.trajectory))*float(analysis_cutoff))}

        self.pi_contacts_for_drawing = {}
        for contact in draw_frequency:
            self.pi_contacts_for_drawing[contact]=draw_frequency[contact]