Commit 5a511193 authored by Saman Sarraf's avatar Saman Sarraf
Browse files

Fix single-cluster silhouette score crash and auto-create output directories

parent 7045c58c
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -545,9 +545,15 @@ class CommunityDetection:
            tuple_helper = [int(x) - 1 for x in tt]  # Adjust index to 0
            self.data_opt = self.data[tuple_helper]
            # results stored in self.snf_final

            self.similarity_network_fusion(self.number_cluster, prep_data=self.data_opt,
                                           display=False, print_flag=False)

            nn_labels = len(np.unique(self.snf_final[-1]))
            # print("TT DEBUG", tt, nn_labels)
            if nn_labels < 2:
                print(f"Skipping {tt}: only {nn_labels} cluster found")
                silhouette_score_opt = np.nan
            else:
                silhouette_score_opt = self.quality_control_communities(self.preprocessed_cv, self.snf_final[-1],
                                                                        comments="")
            silhouette_score_all.append(silhouette_score_opt)
−7.24 KiB (2.47 KiB)

File changed.

No diff preview for this file type.

+39 B (11.1 KiB)

File changed.

No diff preview for this file type.

+0 −76
Original line number Diff line number Diff line
@@ -3,82 +3,6 @@ import scipy

eps = np.spacing(1)

my_sim = [1273, 639, 190, 919, 1366, 1318, 1324, 1422, 975, 1067, 241, 140, 437, 198, 1384, 1457, 1070, 570, 1248, 1450,
          1448, 1045, 1099, 258, 309, 955, 1446, 1242, 176, 901, 73, 1291, 833, 1286, 957, 1010, 797, 93, 227, 1206,
          1382, 1091, 1036, 156, 530, 1106, 256, 705, 667, 109, 194, 1050, 1057, 706, 688, 1160, 1288, 107, 1379, 578,
          712, 970, 16, 1158, 1136, 1200, 1179, 511, 536, 37, 1032, 319, 4, 98, 74, 223, 212, 1404, 1256, 170, 616, 912,
          522, 1224, 416, 1442, 1175, 820, 1370, 57, 313, 1292, 1220, 471, 1350, 80, 1055, 358, 1351, 328, 847, 971,
          379, 649, 69, 1362, 1116, 389, 938, 46, 105, 1335, 1004, 734, 874, 899, 1444, 534, 724, 448, 418, 646, 853, 2,
          1033, 1188, 1130, 486, 1455, 26, 41, 1420, 1122, 591, 125, 521, 625, 1195, 703, 1257, 66, 360, 1432, 1134,
          1049, 481, 1372, 1390, 544, 1081, 850, 458, 1077, 363, 967, 120, 1434, 1039, 283, 824, 1109, 1217, 202, 216,
          562, 1447, 1210, 1003, 700, 982, 1163, 193, 6, 841, 1165, 291, 70, 740, 503, 504, 1317, 443, 1261, 917, 736,
          1304, 1015, 172, 1149, 128, 480, 462, 1267, 1227, 803, 617, 1042, 923, 75, 1103, 333, 609, 237, 48, 1097,
          1437, 946, 1205, 1274, 952, 1298, 1359, 1059, 925, 1297, 811, 484, 483, 1319, 648, 235, 485, 330, 432, 563,
          697, 883, 215, 560, 936, 1392, 792, 322, 683, 904, 1346, 1177, 951, 1352, 456, 1047, 984, 160, 579, 987, 776,
          718, 814, 755, 231, 997, 783, 789, 777, 248, 968, 1414, 903, 934, 1470, 905, 950, 154, 1159, 1100, 221, 1198,
          28, 1089, 832, 963, 189, 1316, 1156, 1454, 525, 739, 596, 581, 297, 795, 780, 300, 1269, 182, 953, 316, 96,
          589, 326, 35, 91, 658, 409, 693, 281, 1056, 476, 1171, 677, 1095, 873, 1020, 907, 541, 255, 749, 854, 1007,
          593, 1449, 183, 1040, 551, 897, 1083, 342, 1240, 1380, 1443, 828, 520, 516, 818, 1140, 721, 54, 856, 944, 577,
          1074, 949, 1178, 422, 689, 624, 315, 499, 391, 450, 498, 760, 1336, 1381, 340, 114, 547, 136, 204, 145, 778,
          835, 594, 1328, 9, 998, 1369, 1453, 672, 222, 855, 13, 1387, 261, 1311, 179, 687, 163, 666, 14, 737, 429,
          1168, 680, 575, 580, 1019, 1087, 115, 22, 633, 124, 413, 1463, 1225, 546, 1371, 830, 393, 1078, 574, 83, 152,
          991, 1275, 875, 240, 305, 139, 378, 670, 473, 90, 1139, 1378, 554, 1279, 505, 607, 331, 1153, 651, 645, 178,
          82, 1117, 144, 138, 831, 1266, 1135, 1209, 1348, 673, 959, 442, 730, 908, 431, 301, 637, 1233, 918, 207, 642,
          143, 186, 496, 1441, 132, 1460, 348, 1323, 169, 1363, 742, 31, 45, 451, 440, 798, 62, 324, 514, 1389, 1085,
          1427, 1401, 1278, 376, 282, 723, 1347, 478, 800, 383, 325, 285, 815, 1141, 157, 230, 294, 867, 1300, 449, 239,
          939, 410, 717, 595, 1234, 1466, 1189, 1243, 286, 888, 1252, 1245, 753, 293, 428, 655, 924, 1170, 1299, 211,
          427, 829, 203, 758, 30, 564, 173, 1126, 118, 236, 314, 1187, 1005, 1053, 722, 690, 433, 652, 802, 403, 1296,
          754, 1262, 1295, 86, 1456, 405, 764, 49, 104, 1182, 1176, 438, 141, 320, 1211, 284, 886, 1264, 1094, 709,
          1046, 545, 12, 61, 7, 267, 543, 812, 401, 312, 1375, 1232, 743, 1145, 990, 729, 1151, 765, 613, 21, 890, 626,
          559, 1229, 665, 1322, 262, 989, 444, 276, 318, 1186, 599, 852, 174, 148, 1022, 55, 1002, 392, 1439, 510, 678,
          719, 823, 631, 603, 133, 362, 822, 641, 1338, 339, 404, 1386, 1164, 507, 620, 308, 65, 550, 747, 1374, 1272,
          59, 1377, 619, 1289, 531, 825, 845, 821, 1115, 1061, 280, 879, 122, 263, 884, 1406, 1280, 913, 142, 1028,
          1204, 92, 869, 417, 1237, 168, 1031, 100, 463, 1465, 994, 1327, 834, 126, 257, 274, 129, 266, 1247, 1142,
          1238, 487, 1236, 106, 715, 424, 1191, 644, 25, 386, 1196, 767, 878, 500, 1303, 900, 77, 1339, 1332, 1290, 406,
          1412, 347, 1058, 1082, 668, 696, 492, 374, 259, 1125, 941, 1127, 85, 699, 1426, 1459, 1023, 149, 1418, 573,
          887, 1219, 474, 892, 576, 218, 518, 167, 735, 1373, 1101, 1302, 412, 539, 180, 1107, 972, 1098, 151, 532,
          1027, 1013, 757, 630, 515, 1253, 793, 79, 1345, 302, 926, 356, 72, 1222, 243, 1314, 1113, 1203, 627, 1405,
          229, 910, 304, 407, 1137, 710, 610, 885, 1283, 495, 311, 597, 372, 464, 983, 1144, 43, 272, 1321, 1433, 226,
          1423, 334, 725, 113, 1193, 790, 1464, 33, 197, 810, 1452, 895, 52, 671, 97, 341, 289, 1021, 549, 279, 960, 5,
          837, 1361, 465, 943, 638, 469, 1402, 288, 29, 799, 306, 1417, 1294, 1320, 794, 1155, 1391, 244, 385, 420, 519,
          1048, 1065, 472, 976, 162, 741, 1413, 1435, 771, 686, 361, 859, 101, 453, 791, 1190, 249, 860, 537, 1037,
          1349, 877, 205, 78, 1118, 788, 419, 27, 150, 915, 1425, 367, 102, 1093, 1114, 400, 628, 768, 787, 866, 773,
          512, 1166, 914, 935, 411, 307, 1343, 295, 1287, 569, 233, 1201, 369, 164, 414, 650, 940, 1064, 647, 716, 566,
          533, 600, 1410, 840, 567, 423, 1197, 1132, 185, 843, 1112, 84, 354, 251, 121, 441, 195, 1249, 1, 864, 752,
          1277, 870, 1250, 1428, 801, 662, 1458, 1124, 196, 1025, 582, 601, 846, 477, 572, 224, 95, 611, 1385, 1199,
          206, 826, 365, 44, 502, 555, 660, 750, 540, 1150, 1246, 682, 501, 18, 89, 1185, 50, 1174, 548, 796, 1312, 292,
          232, 1469, 933, 1284, 1148, 1408, 861, 928, 1398, 1119, 691, 948, 863, 1415, 402, 702, 772, 68, 1326, 1111,
          1228, 930, 127, 1367, 805, 999, 1076, 849, 1092, 1451, 748, 1054, 159, 669, 1192, 542, 1218, 1251, 396, 1258,
          674, 592, 1226, 130, 1388, 1231, 881, 1009, 1035, 87, 685, 1308, 528, 882, 947, 806, 535, 964, 426, 1123, 344,
          1214, 634, 1172, 1394, 247, 488, 1128, 636, 298, 1268, 1306, 751, 807, 1263, 467, 36, 1424, 39, 872, 746, 103,
          1430, 527, 475, 17, 708, 332, 349, 399, 929, 1400, 1436, 199, 1157, 1105, 906, 731, 769, 56, 851, 135, 436,
          714, 1254, 663, 1383, 310, 857, 612, 397, 1066, 435, 353, 1154, 586, 493, 390, 213, 945, 782, 995, 1399, 1355,
          891, 191, 538, 11, 491, 602, 461, 64, 1285, 1038, 871, 335, 246, 728, 364, 1063, 653, 713, 32, 1313, 614, 181,
          893, 931, 460, 123, 337, 1104, 67, 506, 1143, 270, 108, 277, 269, 993, 434, 111, 1110, 664, 1030, 1461, 808,
          459, 981, 969, 19, 58, 513, 158, 454, 338, 622, 606, 234, 1271, 380, 922, 779, 119, 355, 171, 1184, 858, 1207,
          694, 116, 1090, 1016, 137, 1396, 711, 1079, 1259, 1342, 1230, 1244, 921, 327, 15, 1072, 421, 659, 909, 1138,
          351, 1223, 524, 1029, 880, 290, 321, 759, 889, 225, 1438, 556, 588, 210, 1068, 366, 1301, 1011, 373, 497, 490,
          34, 1008, 744, 273, 1096, 1181, 1419, 346, 756, 209, 1208, 561, 608, 1131, 1034, 208, 38, 242, 585, 1368,
          1329, 384, 942, 1080, 468, 24, 817, 1397, 902, 252, 1000, 927, 571, 220, 584, 698, 1041, 1354, 60, 368, 8,
          317, 1194, 1325, 345, 762, 287, 1337, 445, 523, 387, 813, 583, 916, 1330, 1071, 265, 684, 131, 375, 1212,
          1006, 508, 352, 264, 985, 381, 489, 1183, 394, 1018, 726, 1014, 1365, 1307, 1102, 1467, 745, 1462, 1162, 1411,
          1334, 1213, 455, 809, 1202, 343, 177, 761, 979, 763, 1395, 565, 275, 1315, 973, 238, 47, 219, 1331, 1001,
          1086, 784, 654, 552, 604, 587, 466, 932, 147, 425, 553, 676, 766, 977, 155, 447, 99, 961, 618, 1265, 775, 296,
          357, 876, 192, 992, 1270, 836, 245, 371, 1276, 1403, 898, 201, 701, 94, 23, 1088, 415, 980, 732, 1421, 479,
          1043, 1241, 1393, 844, 988, 640, 738, 134, 10, 1161, 175, 254, 695, 1305, 1376, 615, 1255, 679, 303, 675, 76,
          526, 1364, 166, 188, 962, 81, 1221, 1440, 439, 1180, 299, 896, 457, 1281, 1407, 727, 1146, 937, 42, 704, 978,
          865, 785, 911, 408, 1133, 323, 217, 1429, 804, 838, 165, 1344, 661, 1235, 1075, 558, 720, 605, 382, 3, 1012,
          1084, 1044, 1293, 733, 848, 1282, 1017, 568, 268, 842, 1069, 774, 986, 336, 1120, 398, 1051, 509, 146, 112,
          894, 88, 517, 965, 1216, 370, 996, 1026, 1239, 40, 200, 1431, 271, 1353, 1167, 329, 1445, 643, 598, 920, 260,
          1340, 388, 161, 430, 657, 110, 557, 954, 1062, 470, 868, 956, 494, 1360, 482, 621, 1129, 250, 1215, 770, 786,
          656, 1416, 635, 1341, 1147, 816, 681, 187, 359, 1356, 1333, 958, 1108, 1052, 1173, 839, 966, 377, 184, 278,
          629, 20, 1121, 1310, 623, 446, 71, 1468, 781, 1409, 1309, 452, 253, 862, 63, 692, 350, 1358, 1260, 827, 707,
          153, 1169, 529, 228, 53, 1152, 1060, 214, 117, 590, 1024, 632, 395, 974, 1073, 51, 1357, 819]

my_sim = sorted(my_sim)
my_sim = np.array(my_sim)
my_sim = my_sim - 1


def tidyconfig(S):
    # This function remains almost identical to that originally written by Stephen Reid
Loading