Mercurial > repos > bimib > cobraxy
comparison COBRAxy/marea.py @ 309:38c9a958ea78 draft
Uploaded
| author | francesco_lapi |
|---|---|
| date | Thu, 22 May 2025 16:03:37 +0000 |
| parents | 24783af8a2f9 |
| children | e796d29076be |
comparison
equal
deleted
inserted
replaced
| 308:797d0e002934 | 309:38c9a958ea78 |
|---|---|
| 566 for i in range(len(classes)): | 566 for i in range(len(classes)): |
| 567 classe :str = classes.iloc[i, 1] | 567 classe :str = classes.iloc[i, 1] |
| 568 if pd.isnull(classe): continue | 568 if pd.isnull(classe): continue |
| 569 | 569 |
| 570 l :List[List[float]] = [] | 570 l :List[List[float]] = [] |
| 571 sample_ids: List[str] = [] | |
| 572 | |
| 571 for j in range(i, len(classes)): | 573 for j in range(i, len(classes)): |
| 572 if classes.iloc[j, 1] == classe: | 574 if classes.iloc[j, 1] == classe: |
| 573 pat_id :str = classes.iloc[j, 0] # sample name | 575 pat_id :str = classes.iloc[j, 0] # sample name |
| 574 values = dataset_values.get(pat_id, None) # the column of values for that sample | 576 values = dataset_values.get(pat_id, None) # the column of values for that sample |
| 575 if values != None: | 577 if values != None: |
| 576 l.append(values) | 578 l.append(values) |
| 579 sample_ids.append(pat_id) | |
| 577 classes.iloc[j, 1] = None # TODO: problems? | 580 classes.iloc[j, 1] = None # TODO: problems? |
| 578 | 581 |
| 579 if l: | 582 if l: |
| 580 class_pat[classe] = list(map(list, zip(*l))) | 583 class_pat[classe] = { |
| 584 "values": list(map(list, zip(*l))), # trasposta | |
| 585 "samples": sample_ids | |
| 586 } | |
| 581 continue | 587 continue |
| 582 | 588 |
| 583 utils.logWarning( | 589 utils.logWarning( |
| 584 f"Warning: no sample found in class \"{classe}\", the class has been disregarded", ARGS.out_log) | 590 f"Warning: no sample found in class \"{classe}\", the class has been disregarded", ARGS.out_log) |
| 585 | 591 |
| 955 classes = read_dataset(classPath, "class") | 961 classes = read_dataset(classPath, "class") |
| 956 classes = classes.astype(str) | 962 classes = classes.astype(str) |
| 957 | 963 |
| 958 values, ids = getDatasetValues(datasetPath, "Dataset Class (not actual name)") | 964 values, ids = getDatasetValues(datasetPath, "Dataset Class (not actual name)") |
| 959 if values != None: | 965 if values != None: |
| 960 # TODO: add the columnNames thing, I didn't because I don't understand the whole "dataset classes" thing | 966 class_pat_with_samples_id = split_class(classes, values) |
| 961 class_pat = split_class(classes, values) | 967 |
| 968 for clas, values_and_samples_id in class_pat_with_samples_id.items(): | |
| 969 class_pat[clas] = values_and_samples_id["values"] | |
| 970 columnNames[clas] = values_and_samples_id["samples"] | |
| 962 | 971 |
| 963 return ids, class_pat, columnNames | 972 return ids, class_pat, columnNames |
| 964 #^^^ 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) | 973 #^^^ 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) |
| 965 | 974 |
| 966 #TODO: create these damn args as FilePath objects | 975 #TODO: create these damn args as FilePath objects |
