diff --git a/mir/common/parser.py b/mir/common/parser.py index 0e6fc6a..fa026ec 100644 --- a/mir/common/parser.py +++ b/mir/common/parser.py @@ -252,7 +252,7 @@ def get_junction(r): d=self.segment_parser.parse(x['d']), j=self.segment_parser.parse(x['j']), junction=get_junction(x), - id=x.index + id=x.name ), axis=1)) diff --git a/mir/common/repertoire_dataset.py b/mir/common/repertoire_dataset.py index a4e575f..5dee4da 100644 --- a/mir/common/repertoire_dataset.py +++ b/mir/common/repertoire_dataset.py @@ -187,17 +187,18 @@ def __iter__(self): # def __getitem__(self, idx): # return self.repertoires[idx] + + @staticmethod + def inner_serialize(repertoire): + return repertoire.serialize() def serialize(self, threads: int = 1) -> list[pd.DataFrame]: - global inner_serialize - serialized_dict = {} - - def inner_serialize(x): - serialized_dict[x] = self.repertoires[x].serialize() + if threads == 1: + return [r.serialize() for r in self.repertoires] with Pool(threads) as p: - p.map(inner_serialize, [x for x in range(len(self.repertoires))]) - return [serialized_dict[x] for x in range(len(self.repertoires))] + results = p.map(self.inner_serialize, self.repertoires) + return results def evaluate_segment_usage(self) -> pd.DataFrame: if self.__segment_usage_matrix is None: