diff --git a/barrOs_library.py b/barrOs_library.py
index a143c35d6eb8d17073e00993e0ae267ef8743ab9..fd7acb04acc9f5de2a57b2597cf1fb71c6091659 100644
--- a/barrOs_library.py
+++ b/barrOs_library.py
@@ -10,7 +10,7 @@ import threading
 import itertools
 import os
 import sys
-import json
+import pickle
 
 import warnings
 warnings.filterwarnings("ignore")
@@ -2311,10 +2311,10 @@ def run_barros(arguments, offset = 1, step = 2, local_angle_threshold = 25, max_
     outmultimeric = "multimeric_barrel_sequences_matched_pdbs_job{}.fasta".format(job_number)
     outmt = open(outmultimeric, 'w')
 
-    outdata = "barrels_matched_pdbs_data_job{}.fasta".format(job_number)
+    outdata = "barrels_matched_pdbs_data_job{}.pickle".format(job_number)
 
     if os.path.isfile(outdata):
-        data = json.load(open(outdata, 'r'))
+        data = pickle.load(open(outdata, 'rb'))
 
     else:
         data = {'PDBs': [],
@@ -2532,7 +2532,7 @@ def run_barros(arguments, offset = 1, step = 2, local_angle_threshold = 25, max_
                                 save_hairpins(pdb_sequence, pdb_file, barrel_topology, chains=chains, outfolder='hairpins')
 
                             # save intermediate collected data
-                            json.dump(data, open(outdata, 'w'), indent=4)
+                            pickle.dump(data, open(outdata, 'wb'))
 
 
                         else: