Skip to content

Commit 3efd1b8

Browse files
author
katarzyna.otylia.sikora@gmail.com
committed
fix typo + mod reordered_dict
1 parent e530ae3 commit 3efd1b8

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

snakePipes/workflows/ChIPseq/internals.snakefile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ from ruamel.yaml import YAML
66
import sys
77
import pandas as pd
88
import warnings
9+
from itertools import chain
910

1011
### Functions ##################################################################
1112

@@ -230,6 +231,7 @@ if sampleSheet:
230231
filtered_dict = filter_dict(sampleSheet,dict(zip(chip_samples_w_ctrl, [ get_control_name(x) for x in chip_samples_w_ctrl ])))
231232
else:
232233
filtered_dict = filter_dict(sampleSheet,dict(zip(chip_samples_wo_ctrl, [None]*len(chip_samples_wo_ctrl))))
234+
print(filtered_dict)
233235
genrichDict = cf.sampleSheetGroups(sampleSheet,isMultipleComparison)
234236
if not isMultipleComparison:
235237
for k in genrichDict.keys():
@@ -238,10 +240,18 @@ if sampleSheet:
238240
else:
239241
print(genrichDict)
240242
reordered_dict = {}
241-
for g in genrichDict.keys():
242-
for k in genrichDict[g].keys():
243-
genrichDict[g][k]=[item for item in genrichDict[g][k] if item in chip_samples]
244-
reordered_dict[g] = {k: filtered_dict[k] for k in [item for sublist in genrichDict[g].values() for item in sublist]}
243+
#for g in genrichDict.keys():
244+
# for k in genrichDict[g].keys():
245+
# genrichDict[g][k]=[item for item in genrichDict[g][k] if item in chip_samples]
246+
# reordered_dict[g] = {k: filtered_dict[k] for k in [item for sublist in genrichDict[g].values() for item in sublist]}
247+
for g in genrichDict:
248+
# filter each condition list to only chip samples
249+
for k in genrichDict[g]:
250+
genrichDict[g][k] = [item for item in genrichDict[g][k] if item in chip_samples]
251+
252+
# flatten the lists and build mapping, skipping missing keys just in case
253+
flattened = chain.from_iterable(genrichDict[g].values())
254+
reordered_dict[g] = {fk: filtered_dict[fk] for fk in flattened if fk in filtered_dict}
245255
else:
246256
genrichDict = {"all_samples": chip_samples}
247257

0 commit comments

Comments
 (0)