Mercurial > repos > bimib > cobraxy
diff COBRAxy/marea.py @ 309:38c9a958ea78 draft
Uploaded
author | francesco_lapi |
---|---|
date | Thu, 22 May 2025 16:03:37 +0000 |
parents | 24783af8a2f9 |
children | e796d29076be |
line wrap: on
line diff
--- a/COBRAxy/marea.py Tue May 20 16:01:21 2025 +0000 +++ b/COBRAxy/marea.py Thu May 22 16:03:37 2025 +0000 @@ -568,16 +568,22 @@ if pd.isnull(classe): continue l :List[List[float]] = [] + sample_ids: List[str] = [] + for j in range(i, len(classes)): if classes.iloc[j, 1] == classe: pat_id :str = classes.iloc[j, 0] # sample name values = dataset_values.get(pat_id, None) # the column of values for that sample if values != None: l.append(values) + sample_ids.append(pat_id) classes.iloc[j, 1] = None # TODO: problems? if l: - class_pat[classe] = list(map(list, zip(*l))) + class_pat[classe] = { + "values": list(map(list, zip(*l))), # trasposta + "samples": sample_ids + } continue utils.logWarning( @@ -957,8 +963,11 @@ values, ids = getDatasetValues(datasetPath, "Dataset Class (not actual name)") if values != None: - # TODO: add the columnNames thing, I didn't because I don't understand the whole "dataset classes" thing - class_pat = split_class(classes, values) + class_pat_with_samples_id = split_class(classes, values) + + for clas, values_and_samples_id in class_pat_with_samples_id.items(): + class_pat[clas] = values_and_samples_id["values"] + columnNames[clas] = values_and_samples_id["samples"] return ids, class_pat, columnNames #^^^ TODO: this could be a match statement over an enum, make it happen future marea dev with python 3.12! (it's why I kept the ifs) @@ -1064,4 +1073,4 @@ print('Execution succeeded') ############################################################################### if __name__ == "__main__": - main() \ No newline at end of file + main()