def get_bel_stmts(self, filter=False):
        if self.basename is not None:
            bel_stmt_path = '%s_bel_stmts.pkl' % self.basename
        if self.basename is not None and os.path.isfile(bel_stmt_path):
            logger.info("Loading BEL statements from %s" % bel_stmt_path)
            with open(bel_stmt_path, 'rb') as f:
                bel_statements = pickle.load(f)
        else:
            bel_proc = bel.process_pybel_neighborhood(self.gene_list,
                network_file=self.bel_corpus)
            bel_statements = bel_proc.statements
            if self.basename is not None:
                with open(bel_stmt_path, 'wb') as f:
                    pickle.dump(bel_statements, f)
        if filter:
            if len(self.gene_list) > 1:
                bel_statements = ac.filter_gene_list(bel_statements,
                                                     self.gene_list, 'all')
        return bel_statements