it seems that unseen split has no seed set before shuffling, specifically the unseen split missing seed is at data.py:162:
155: for i in range(5):
156: perturbations = np.unique(self.adata.obs['condition'])
157: double_perturbation = [p for p in perturbations if 'ctrl' not in p]
158: single = []
159: [single.extend(p.split('+')) for p in double_perturbation]
160: single = list(set(single))
161:
162: shuffle(single) # <-- no seed set before this
163: remove_genes = single[:12]
it seems that unseen split has no seed set before shuffling, specifically the unseen split missing seed is at data.py:162: