From 2f877fe7e091d02fb3b82f5f12341e1e2c7701d9 Mon Sep 17 00:00:00 2001 From: Diego Prada Date: Tue, 23 Apr 2024 15:29:37 -0600 Subject: [PATCH] In process --- molsysmt/build/get_missing_bonds.py | 52 +- sandbox/Tests.ipynb | 1101 +-------------------------- 2 files changed, 68 insertions(+), 1085 deletions(-) diff --git a/molsysmt/build/get_missing_bonds.py b/molsysmt/build/get_missing_bonds.py index d7885af78..8663bbf16 100644 --- a/molsysmt/build/get_missing_bonds.py +++ b/molsysmt/build/get_missing_bonds.py @@ -30,18 +30,34 @@ def get_missing_bonds(molecular_system, threshold='2 angstroms', selection='all' bonds_templates = [] bonds_distances = [] - print('llega_0') - n_atoms = get(molecular_system, n_atoms=True) - atoms_water = select(molecular_system, selection='group_type=="water"') + n_atoms = get(molecular_system, n_atoms=True, skip_digestion=True) + atoms_water = select(molecular_system, selection='group_type=="water"', skip_digestion=True) atoms_not_water = complementary_atom_indices(molecular_system, atoms_water) - heavy_atoms_not_water = select(molecular_system, selection='atom_type!="H"', mask=atoms_not_water) - h_atoms_no_water = [ii for ii in atoms_not_water if ii not in heavy_atoms_not_water] + heavy_atoms_not_water = select(molecular_system, selection='atom_type!="H"', mask=atoms_not_water, + skip_digestion=True) + o_atoms_water = select(molecular_system, selection='atom_type!="H"', mask=atoms_water, + skip_digestion=True) + h_atoms_not_water = [ii for ii in atoms_not_water if ii not in heavy_atoms_not_water] + h_atoms_water = [ii for ii in atoms_water if ii not in o_atoms_water] + + if len(atoms_water): + if len(h_atoms_water): + print('System with hydrogens and waters... to be implemented') + raise NotImplementedError() + + pass if with_distances: - print('llega_1') + contacts_heavy_atoms = get_contacts(molecular_system, selection=heavy_atoms_not_water, threshold=threshold, output_type='pairs', - output_indices='atom', pbc=True, skip_digestion=False) + output_indices='atom', pbc=True, skip_digestion=True) + + bonds_distances += contacts_heavy_atoms + + if len(h_atoms_not_water): + print('System with hydrogens... to be implemented') + raise NotImplementedError() return contacts_heavy_atoms @@ -103,12 +119,7 @@ def get_missing_bonds(molecular_system, threshold='2 angstroms', selection='all' for group_index, group_name, group_type, atom_indices, atom_names, atom_types in zip(*aux_output): - if group_type=='water': - - aux_bonds = _bonds_in_water(atom_indices, atom_names, atom_types, sorted=False) - bonds_templates += aux_bonds - - elif group_type=='ion': + if group_type=='ion': aux_bonds = _bonds_in_ion(group_name, atom_indices, atom_names, sorted=False) bonds_templates += aux_bonds @@ -162,11 +173,6 @@ def get_missing_bonds(molecular_system, threshold='2 angstroms', selection='all' if group_index+1 in aux_peptidic_bonds_N: bonds_templates += [[aux_peptidic_bonds_C[group_index], aux_peptidic_bonds_N[group_index+1]]] - bonds += bonds_templates - - if with_distances: - bonds += bonds_distances - else: raise NotImplementedError @@ -185,10 +191,12 @@ def get_missing_bonds(molecular_system, threshold='2 angstroms', selection='all' # bonds_with_distance.append([atom_i, atom_j]) - if sorted: - output = _sorted(bonds) - else: - output = bonds + #if sorted: + # output = _sorted(bonds) + #else: + # output = bonds + + return bonds_distances, bonds_templates else: diff --git a/sandbox/Tests.ipynb b/sandbox/Tests.ipynb index 5e9035928..74e349d06 100644 --- a/sandbox/Tests.ipynb +++ b/sandbox/Tests.ipynb @@ -28,7 +28,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8546031f84594be0b291a7c24d45521d", + "model_id": "82d5bc588d6e43cd9ab5c70136bd76cf", "version_major": 2, "version_minor": 0 }, @@ -76,40 +76,12 @@ { "cell_type": "code", "execution_count": 6, - "id": "ea9c7b59-f1a2-4f46-8aa2-2c29aeba6c8c", - "metadata": {}, - "outputs": [], - "source": [ - "molecular_system = view" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "bce7baf1-eae7-4a92-b8b6-5d134d2ddad3", - "metadata": {}, - "outputs": [], - "source": [ - "n_atoms = msm.get(molecular_system, n_atoms=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "fef4f5ec-6c71-4575-99a6-8a31c8b264a5", - "metadata": {}, - "outputs": [], - "source": [ - "atoms_water = msm.select(molecular_system, selection='group_type==\"water\"')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "8fdd18d1-f7c7-4279-88cb-4035457fb4c7", + "id": "7e0095fb-7afa-4f81-b9c8-79fe0988223d", "metadata": {}, "outputs": [], "source": [ + "molecular_system = view\n", + "n_atoms = msm.get(molecular_system, n_atoms=True)\n", "atoms_water = msm.select(molecular_system, selection='group_type==\"water\"')\n", "atoms_not_water = msm._private.atom_indices.complementary_atom_indices(molecular_system, atoms_water)\n", "heavy_atoms_not_water = msm.select(molecular_system, selection='atom_type!=\"H\"', mask=atoms_not_water)\n", @@ -118,1061 +90,64 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "c348d54a-0d07-4cba-a488-c7472cfeadfd", + "execution_count": 7, + "id": "00985b36-1541-41a3-80c4-34389e22bbf9", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 2.57 s, sys: 59.5 ms, total: 2.63 s\n", - "Wall time: 2.61 s\n" - ] + "data": { + "text/plain": [ + "165" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "%%time\n", - "aa = msm.structure.get_contacts(molecular_system, threshold='2 angstroms', selection=heavy_atoms_not_water, pbc=True,\n", - " output_type='pairs', output_indices='atom')" + "len(atoms_water)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cbabe92-c07b-4a3f-a3fa-4836dbf189e2", + "metadata": {}, + "outputs": [], + "source": [ + "msm.structure.get_contacts(molecular_system, selection=h_atoms_not_water, # selection_2=heavy_atoms_not_water,\n", + " threshold='2 angstroms', output_type='pairs', pbc=True, skip_digestion=False)" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "id": "c1fa6850-48a1-4fae-8b2b-d4e8d298f714", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "llega_0\n", - "llega_1\n" + "ename": "ValueError", + "evalue": "not enough values to unpack (expected 2, got 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[8], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m dd, pp \u001b[38;5;241m=\u001b[39m msm\u001b[38;5;241m.\u001b[39mbuild\u001b[38;5;241m.\u001b[39mget_missing_bonds(view)\n", + "\u001b[0;31mValueError\u001b[0m: not enough values to unpack (expected 2, got 1)" ] } ], "source": [ - "aa = msm.build.get_missing_bonds(view)" + "dd, pp = msm.build.get_missing_bonds(view)" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "bb376390-1cd7-45ab-8e29-a039ef0a09dd", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[[[0, 1],\n", - " [1, 2],\n", - " [1, 4],\n", - " [2, 3],\n", - " [2, 9],\n", - " [4, 5],\n", - " [5, 6],\n", - " [6, 7],\n", - " [7, 8],\n", - " [9, 10],\n", - " [9, 15],\n", - " [10, 11],\n", - " [10, 13],\n", - " [11, 12],\n", - " [11, 16],\n", - " [13, 14],\n", - " [14, 15],\n", - " [16, 17],\n", - " [17, 18],\n", - " [17, 20],\n", - " [18, 19],\n", - " [18, 25],\n", - " [20, 21],\n", - " [21, 22],\n", - " [22, 23],\n", - " [22, 24],\n", - " [25, 26],\n", - " [25, 31],\n", - " [26, 27],\n", - " [26, 29],\n", - " [27, 28],\n", - " [27, 32],\n", - " [29, 30],\n", - " [30, 31],\n", - " [32, 33],\n", - " [33, 34],\n", - " [33, 36],\n", - " [34, 35],\n", - " [34, 40],\n", - " [36, 37],\n", - " [36, 38],\n", - " [37, 39],\n", - " [40, 41],\n", - " [41, 42],\n", - " [41, 44],\n", - " [42, 43],\n", - " [42, 45],\n", - " [45, 46],\n", - " [46, 47],\n", - " [46, 49],\n", - " [47, 48],\n", - " [47, 50],\n", - " [50, 51],\n", - " [51, 52],\n", - " [51, 54],\n", - " [52, 53],\n", - " [52, 55],\n", - " [55, 56],\n", - " [56, 57],\n", - " [56, 59],\n", - " [57, 58],\n", - " [57, 63],\n", - " [59, 60],\n", - " [60, 61],\n", - " [60, 62],\n", - " [63, 64],\n", - " [64, 65],\n", - " [64, 67],\n", - " [65, 66],\n", - " [65, 77],\n", - " [67, 68],\n", - " [68, 69],\n", - " [68, 70],\n", - " [69, 71],\n", - " [70, 72],\n", - " [70, 73],\n", - " [71, 72],\n", - " [72, 74],\n", - " [73, 75],\n", - " [74, 76],\n", - " [75, 76],\n", - " [77, 78],\n", - " [78, 79],\n", - " [78, 81],\n", - " [79, 80],\n", - " [79, 86],\n", - " [81, 82],\n", - " [82, 83],\n", - " [83, 84],\n", - " [84, 85],\n", - " [86, 87],\n", - " [87, 88],\n", - " [87, 90],\n", - " [88, 89],\n", - " [88, 92],\n", - " [90, 91],\n", - " [92, 93],\n", - " [93, 94],\n", - " [93, 96],\n", - " [94, 95],\n", - " [94, 100],\n", - " [96, 97],\n", - " [97, 98],\n", - " [97, 99],\n", - " [100, 101],\n", - " [101, 102],\n", - " [102, 103],\n", - " [102, 104],\n", - " [104, 105],\n", - " [105, 106],\n", - " [105, 108],\n", - " [106, 107],\n", - " [106, 110],\n", - " [108, 109],\n", - " [110, 111],\n", - " [111, 112],\n", - " [111, 114],\n", - " [112, 113],\n", - " [112, 119],\n", - " [114, 115],\n", - " [115, 116],\n", - " [116, 117],\n", - " [116, 118],\n", - " [119, 120],\n", - " [120, 121],\n", - " [120, 123],\n", - " [121, 122],\n", - " [121, 125],\n", - " [123, 124],\n", - " [125, 126],\n", - " [126, 127],\n", - " [126, 129],\n", - " [127, 128],\n", - " [127, 133],\n", - " [129, 130],\n", - " [130, 131],\n", - " [130, 132],\n", - " [133, 134],\n", - " [134, 135],\n", - " [134, 137],\n", - " [135, 136],\n", - " [135, 141],\n", - " [137, 138],\n", - " [138, 139],\n", - " [138, 140],\n", - " [141, 142],\n", - " [142, 143],\n", - " [142, 145],\n", - " [143, 144],\n", - " [143, 148],\n", - " [145, 146],\n", - " [145, 147],\n", - " [148, 149],\n", - " [148, 154],\n", - " [149, 150],\n", - " [149, 152],\n", - " [150, 151],\n", - " [150, 155],\n", - " [152, 153],\n", - " [153, 154],\n", - " [155, 156],\n", - " [156, 157],\n", - " [156, 159],\n", - " [157, 158],\n", - " [157, 163],\n", - " [159, 160],\n", - " [160, 161],\n", - " [160, 162],\n", - " [163, 164],\n", - " [164, 165],\n", - " [164, 167],\n", - " [165, 166],\n", - " [165, 171],\n", - " [167, 168],\n", - " [167, 169],\n", - " [168, 170],\n", - " [171, 172],\n", - " [172, 173],\n", - " [172, 175],\n", - " [173, 174],\n", - " [173, 180],\n", - " [175, 176],\n", - " [176, 177],\n", - " [177, 178],\n", - " [177, 179],\n", - " [180, 181],\n", - " [181, 182],\n", - " [181, 184],\n", - " [182, 183],\n", - " [182, 187],\n", - " [184, 185],\n", - " [184, 186],\n", - " [187, 188],\n", - " [188, 189],\n", - " [188, 191],\n", - " [189, 190],\n", - " [189, 195],\n", - " [191, 192],\n", - " [192, 193],\n", - " [192, 194],\n", - " [195, 196],\n", - " [196, 197],\n", - " [196, 199],\n", - " [197, 198],\n", - " [197, 203],\n", - " [199, 200],\n", - " [200, 201],\n", - " [200, 202],\n", - " [203, 204],\n", - " [204, 205],\n", - " [204, 207],\n", - " [205, 206],\n", - " [205, 208],\n", - " [208, 209],\n", - " [209, 210],\n", - " [209, 212],\n", - " [210, 211],\n", - " [210, 213],\n", - " [213, 214],\n", - " [214, 215],\n", - " [214, 217],\n", - " [215, 216],\n", - " [215, 220],\n", - " [217, 218],\n", - " [217, 219],\n", - " [220, 221],\n", - " [221, 222],\n", - " [221, 224],\n", - " [222, 223],\n", - " [222, 231],\n", - " [224, 225],\n", - " [225, 226],\n", - " [225, 227],\n", - " [226, 228],\n", - " [227, 229],\n", - " [228, 230],\n", - " [229, 230],\n", - " [231, 232],\n", - " [232, 233],\n", - " [232, 235],\n", - " [233, 234],\n", - " [233, 239],\n", - " [235, 236],\n", - " [236, 237],\n", - " [236, 238],\n", - " [239, 240],\n", - " [240, 241],\n", - " [240, 243],\n", - " [241, 242],\n", - " [241, 249],\n", - " [243, 244],\n", - " [244, 245],\n", - " [244, 246],\n", - " [245, 247],\n", - " [246, 248],\n", - " [247, 248],\n", - " [249, 250],\n", - " [250, 251],\n", - " [250, 253],\n", - " [251, 252],\n", - " [251, 257],\n", - " [253, 254],\n", - " [254, 255],\n", - " [254, 256],\n", - " [257, 258],\n", - " [258, 259],\n", - " [258, 261],\n", - " [259, 260],\n", - " [259, 264],\n", - " [261, 262],\n", - " [261, 263],\n", - " [264, 265],\n", - " [265, 266],\n", - " [265, 268],\n", - " [266, 267],\n", - " [266, 273],\n", - " [268, 269],\n", - " [269, 270],\n", - " [270, 271],\n", - " [270, 272],\n", - " [273, 274],\n", - " [274, 275],\n", - " [274, 277],\n", - " [275, 276],\n", - " [275, 279],\n", - " [277, 278],\n", - " [279, 280],\n", - " [280, 281],\n", - " [280, 283],\n", - " [281, 282],\n", - " [281, 286],\n", - " [283, 284],\n", - " [283, 285],\n", - " [286, 287],\n", - " [287, 288],\n", - " [287, 290],\n", - " [288, 289],\n", - " [288, 293],\n", - " [290, 291],\n", - " [290, 292],\n", - " [293, 294],\n", - " [294, 295],\n", - " [294, 297],\n", - " [295, 296],\n", - " [295, 298],\n", - " [298, 299],\n", - " [298, 304],\n", - " [299, 300],\n", - " [299, 302],\n", - " [300, 301],\n", - " [300, 305],\n", - " [302, 303],\n", - " [303, 304],\n", - " [305, 306],\n", - " [306, 307],\n", - " [306, 309],\n", - " [307, 308],\n", - " [307, 312],\n", - " [309, 310],\n", - " [309, 311],\n", - " [312, 313],\n", - " [313, 314],\n", - " [313, 316],\n", - " [314, 315],\n", - " [314, 323],\n", - " [316, 317],\n", - " [317, 318],\n", - " [317, 319],\n", - " [318, 320],\n", - " [319, 321],\n", - " [320, 322],\n", - " [321, 322],\n", - " [323, 324],\n", - " [324, 325],\n", - " [324, 327],\n", - " [325, 326],\n", - " [325, 331],\n", - " [327, 328],\n", - " [328, 329],\n", - " [328, 330],\n", - " [331, 332],\n", - " [332, 333],\n", - " [332, 335],\n", - " [333, 334],\n", - " [333, 341],\n", - " [335, 336],\n", - " [336, 337],\n", - " [336, 338],\n", - " [337, 339],\n", - " [338, 340],\n", - " [339, 340],\n", - " [341, 342],\n", - " [342, 343],\n", - " [342, 345],\n", - " [343, 344],\n", - " [343, 349],\n", - " [345, 346],\n", - " [345, 347],\n", - " [346, 348],\n", - " [349, 350],\n", - " [349, 355],\n", - " [350, 351],\n", - " [350, 353],\n", - " [351, 352],\n", - " [351, 356],\n", - " [353, 354],\n", - " [354, 355],\n", - " [356, 357],\n", - " [357, 358],\n", - " [357, 360],\n", - " [358, 359],\n", - " [358, 364],\n", - " [360, 361],\n", - " [361, 362],\n", - " [362, 363],\n", - " [364, 365],\n", - " [365, 366],\n", - " [365, 368],\n", - " [366, 367],\n", - " [366, 371],\n", - " [368, 369],\n", - " [368, 370],\n", - " [371, 372],\n", - " [372, 373],\n", - " [372, 375],\n", - " [373, 374],\n", - " [373, 380],\n", - " [375, 376],\n", - " [376, 377],\n", - " [377, 378],\n", - " [378, 379],\n", - " [380, 381],\n", - " [381, 382],\n", - " [381, 384],\n", - " [382, 383],\n", - " [382, 385],\n", - " [385, 386],\n", - " [386, 387],\n", - " [386, 389],\n", - " [387, 388],\n", - " [387, 396],\n", - " [389, 390],\n", - " [390, 391],\n", - " [391, 392],\n", - " [392, 393],\n", - " [393, 394],\n", - " [393, 395],\n", - " [396, 397],\n", - " [397, 398],\n", - " [397, 400],\n", - " [398, 399],\n", - " [398, 404],\n", - " [400, 401],\n", - " [401, 402],\n", - " [401, 403],\n", - " [404, 405],\n", - " [405, 406],\n", - " [405, 408],\n", - " [406, 407],\n", - " [406, 411],\n", - " [408, 409],\n", - " [408, 410],\n", - " [411, 412],\n", - " [412, 413],\n", - " [412, 415],\n", - " [413, 414],\n", - " [413, 419],\n", - " [415, 416],\n", - " [416, 417],\n", - " [416, 418],\n", - " [419, 420],\n", - " [419, 425],\n", - " [420, 421],\n", - " [420, 423],\n", - " [421, 422],\n", - " [421, 426],\n", - " [423, 424],\n", - " [424, 425],\n", - " [426, 427],\n", - " [427, 428],\n", - " [427, 430],\n", - " [428, 429],\n", - " [428, 435],\n", - " [430, 431],\n", - " [431, 432],\n", - " [432, 433],\n", - " [433, 434],\n", - " [435, 436],\n", - " [436, 437],\n", - " [436, 439],\n", - " [437, 438],\n", - " [437, 446],\n", - " [439, 440],\n", - " [440, 441],\n", - " [440, 442],\n", - " [441, 443],\n", - " [442, 444],\n", - " [443, 445],\n", - " [444, 445],\n", - " [446, 447],\n", - " [447, 448],\n", - " [447, 450],\n", - " [448, 449],\n", - " [448, 455],\n", - " [450, 451],\n", - " [451, 452],\n", - " [452, 453],\n", - " [452, 454],\n", - " [455, 456],\n", - " [456, 457],\n", - " [456, 459],\n", - " [457, 458],\n", - " [457, 463],\n", - " [459, 460],\n", - " [459, 461],\n", - " [460, 462],\n", - " [463, 464],\n", - " [464, 465],\n", - " [464, 467],\n", - " [465, 466],\n", - " [465, 468],\n", - " [468, 469],\n", - " [469, 470],\n", - " [469, 472],\n", - " [470, 471],\n", - " [470, 473],\n", - " [473, 474],\n", - " [474, 475],\n", - " [474, 477],\n", - " [475, 476],\n", - " [475, 482],\n", - " [477, 478],\n", - " [478, 479],\n", - " [479, 480],\n", - " [479, 481],\n", - " [482, 483],\n", - " [483, 484],\n", - " [483, 486],\n", - " [484, 485],\n", - " [484, 490],\n", - " [486, 487],\n", - " [487, 488],\n", - " [487, 489],\n", - " [490, 491],\n", - " [491, 492],\n", - " [491, 494],\n", - " [492, 493],\n", - " [492, 495],\n", - " [495, 496],\n", - " [496, 497],\n", - " [496, 499],\n", - " [497, 498],\n", - " [497, 503],\n", - " [499, 500],\n", - " [499, 501],\n", - " [500, 502],\n", - " [503, 504],\n", - " [504, 505],\n", - " [504, 507],\n", - " [505, 506],\n", - " [505, 510],\n", - " [507, 508],\n", - " [507, 509],\n", - " [510, 511],\n", - " [511, 512],\n", - " [511, 514],\n", - " [512, 513],\n", - " [512, 521],\n", - " [514, 515],\n", - " [515, 516],\n", - " [516, 517],\n", - " [517, 518],\n", - " [518, 519],\n", - " [518, 520],\n", - " [521, 522],\n", - " [522, 523],\n", - " [522, 525],\n", - " [523, 524],\n", - " [523, 527],\n", - " [525, 526],\n", - " [527, 528],\n", - " [528, 529],\n", - " [529, 530],\n", - " [529, 531],\n", - " [531, 532],\n", - " [532, 533],\n", - " [532, 535],\n", - " [533, 534],\n", - " [533, 536],\n", - " [536, 537],\n", - " [537, 538],\n", - " [537, 540],\n", - " [538, 539],\n", - " [538, 547],\n", - " [540, 541],\n", - " [541, 542],\n", - " [541, 543],\n", - " [542, 544],\n", - " [543, 545],\n", - " [544, 546],\n", - " [545, 546],\n", - " [547, 548],\n", - " [548, 549],\n", - " [548, 551],\n", - " [549, 550],\n", - " [549, 554],\n", - " [551, 552],\n", - " [551, 553],\n", - " [554, 555],\n", - " [555, 556],\n", - " [556, 557],\n", - " [556, 558],\n", - " [558, 559],\n", - " [559, 560],\n", - " [559, 562],\n", - " [560, 561],\n", - " [560, 567],\n", - " [562, 563],\n", - " [563, 564],\n", - " [564, 565],\n", - " [564, 566],\n", - " [567, 568],\n", - " [568, 569],\n", - " [568, 571],\n", - " [569, 570],\n", - " [569, 574],\n", - " [571, 572],\n", - " [571, 573],\n", - " [574, 575],\n", - " [575, 576],\n", - " [575, 578],\n", - " [576, 577],\n", - " [576, 580],\n", - " [578, 579],\n", - " [580, 581],\n", - " [581, 582],\n", - " [581, 584],\n", - " [582, 583],\n", - " [582, 588],\n", - " [584, 585],\n", - " [585, 586],\n", - " [585, 587],\n", - " [588, 589],\n", - " [589, 590],\n", - " [589, 592],\n", - " [590, 591],\n", - " [590, 597],\n", - " [592, 593],\n", - " [593, 594],\n", - " [594, 595],\n", - " [594, 596],\n", - " [597, 598],\n", - " [598, 599],\n", - " [598, 601],\n", - " [599, 600],\n", - " [599, 605],\n", - " [601, 602],\n", - " [601, 603],\n", - " [602, 604],\n", - " [605, 606],\n", - " [606, 607],\n", - " [606, 609],\n", - " [607, 608],\n", - " [607, 613],\n", - " [609, 610],\n", - " [610, 611],\n", - " [610, 612],\n", - " [613, 614],\n", - " [614, 615],\n", - " [614, 617],\n", - " [615, 616],\n", - " [615, 622],\n", - " [617, 618],\n", - " [618, 619],\n", - " [619, 620],\n", - " [620, 621],\n", - " [622, 623],\n", - " [623, 624],\n", - " [623, 626],\n", - " [624, 625],\n", - " [624, 630],\n", - " [626, 627],\n", - " [627, 628],\n", - " [627, 629],\n", - " [630, 631],\n", - " [631, 632],\n", - " [631, 634],\n", - " [632, 633],\n", - " [632, 642],\n", - " [634, 635],\n", - " [635, 636],\n", - " [635, 637],\n", - " [636, 638],\n", - " [637, 639],\n", - " [638, 640],\n", - " [639, 640],\n", - " [640, 641],\n", - " [642, 643],\n", - " [643, 644],\n", - " [644, 645],\n", - " [644, 646],\n", - " [646, 647],\n", - " [647, 648],\n", - " [647, 650],\n", - " [648, 649],\n", - " [648, 654],\n", - " [650, 651],\n", - " [650, 652],\n", - " [651, 653],\n", - " [654, 655],\n", - " [655, 656],\n", - " [655, 658],\n", - " [656, 657],\n", - " [656, 660],\n", - " [658, 659],\n", - " [660, 661],\n", - " [661, 662],\n", - " [661, 664],\n", - " [662, 663],\n", - " [662, 674],\n", - " [664, 665],\n", - " [665, 666],\n", - " [665, 667],\n", - " [666, 668],\n", - " [667, 669],\n", - " [667, 670],\n", - " [668, 669],\n", - " [669, 671],\n", - " [670, 672],\n", - " [671, 673],\n", - " [672, 673],\n", - " [674, 675],\n", - " [675, 676],\n", - " [675, 678],\n", - " [676, 677],\n", - " [676, 681],\n", - " [678, 679],\n", - " [678, 680],\n", - " [681, 682],\n", - " [682, 683],\n", - " [682, 685],\n", - " [683, 684],\n", - " [683, 688],\n", - " [685, 686],\n", - " [685, 687],\n", - " [688, 689],\n", - " [689, 690],\n", - " [689, 692],\n", - " [690, 691],\n", - " [690, 696],\n", - " [692, 693],\n", - " [693, 694],\n", - " [693, 695],\n", - " [696, 697],\n", - " [697, 698],\n", - " [698, 699],\n", - " [698, 700],\n", - " [700, 701],\n", - " [701, 702],\n", - " [701, 704],\n", - " [702, 703],\n", - " [702, 710],\n", - " [704, 705],\n", - " [705, 706],\n", - " [705, 707],\n", - " [706, 708],\n", - " [707, 709],\n", - " [708, 709],\n", - " [710, 711],\n", - " [711, 712],\n", - " [711, 714],\n", - " [712, 713],\n", - " [712, 716],\n", - " [714, 715],\n", - " [716, 717],\n", - " [717, 718],\n", - " [717, 720],\n", - " [718, 719],\n", - " [718, 725],\n", - " [720, 721],\n", - " [721, 722],\n", - " [722, 723],\n", - " [722, 724],\n", - " [725, 726],\n", - " [726, 727],\n", - " [726, 729],\n", - " [727, 728],\n", - " [727, 736],\n", - " [729, 730],\n", - " [730, 731],\n", - " [731, 732],\n", - " [732, 733],\n", - " [733, 734],\n", - " [733, 735],\n", - " [736, 737],\n", - " [737, 738],\n", - " [737, 740],\n", - " [738, 739],\n", - " [738, 747],\n", - " [740, 741],\n", - " [741, 742],\n", - " [742, 743],\n", - " [743, 744],\n", - " [744, 745],\n", - " [744, 746],\n", - " [747, 748],\n", - " [748, 749],\n", - " [748, 751],\n", - " [749, 750],\n", - " [749, 755],\n", - " [751, 752],\n", - " [752, 753],\n", - " [752, 754],\n", - " [755, 756],\n", - " [756, 757],\n", - " [756, 759],\n", - " [757, 758],\n", - " [757, 767],\n", - " [759, 760],\n", - " [760, 761],\n", - " [760, 762],\n", - " [761, 763],\n", - " [762, 764],\n", - " [763, 765],\n", - " [764, 765],\n", - " [765, 766],\n", - " [767, 768],\n", - " [768, 769],\n", - " [768, 771],\n", - " [769, 770],\n", - " [769, 779],\n", - " [771, 772],\n", - " [772, 773],\n", - " [772, 774],\n", - " [773, 775],\n", - " [774, 776],\n", - " [775, 777],\n", - " [776, 777],\n", - " [777, 778],\n", - " [779, 780],\n", - " [780, 781],\n", - " [781, 782],\n", - " [781, 783],\n", - " [783, 784],\n", - " [784, 785],\n", - " [784, 787],\n", - " [785, 786],\n", - " [785, 792],\n", - " [787, 788],\n", - " [788, 789],\n", - " [789, 790],\n", - " [789, 791],\n", - " [792, 793],\n", - " [793, 794],\n", - " [793, 796],\n", - " [794, 795],\n", - " [794, 799],\n", - " [796, 797],\n", - " [796, 798],\n", - " [799, 800],\n", - " [800, 801],\n", - " [800, 803],\n", - " [801, 802],\n", - " [801, 807],\n", - " [803, 804],\n", - " [804, 805],\n", - " [804, 806],\n", - " [807, 808],\n", - " [808, 809],\n", - " [808, 811],\n", - " [809, 810],\n", - " [809, 816],\n", - " [811, 812],\n", - " [812, 813],\n", - " [813, 814],\n", - " [813, 815],\n", - " [816, 817],\n", - " [817, 818],\n", - " [817, 820],\n", - " [818, 819],\n", - " [818, 824],\n", - " [820, 821],\n", - " [820, 822],\n", - " [821, 823],\n", - " [824, 825],\n", - " [825, 826],\n", - " [825, 828],\n", - " [826, 827],\n", - " [826, 831],\n", - " [828, 829],\n", - " [828, 830],\n", - " [831, 832],\n", - " [832, 833],\n", - " [832, 835],\n", - " [833, 834],\n", - " [833, 836],\n", - " [836, 837],\n", - " [837, 838],\n", - " [837, 840],\n", - " [838, 839],\n", - " [838, 845],\n", - " [840, 841],\n", - " [841, 842],\n", - " [842, 843],\n", - " [842, 844],\n", - " [845, 846],\n", - " [846, 847],\n", - " [846, 849],\n", - " [847, 848],\n", - " [847, 854],\n", - " [849, 850],\n", - " [850, 851],\n", - " [851, 852],\n", - " [852, 853],\n", - " [854, 855],\n", - " [855, 856],\n", - " [855, 858],\n", - " [856, 857],\n", - " [856, 861],\n", - " [858, 859],\n", - " [858, 860],\n", - " [861, 862],\n", - " [862, 863],\n", - " [862, 865],\n", - " [863, 864],\n", - " [863, 866],\n", - " [866, 867],\n", - " [867, 868],\n", - " [867, 870],\n", - " [868, 869],\n", - " [868, 875],\n", - " [870, 871],\n", - " [871, 872],\n", - " [872, 873],\n", - " [872, 874],\n", - " [875, 876],\n", - " [876, 877],\n", - " [876, 879],\n", - " [877, 878],\n", - " [877, 880],\n", - " [880, 881],\n", - " [881, 882],\n", - " [881, 884],\n", - " [882, 883],\n", - " [882, 886],\n", - " [884, 885],\n", - " [886, 887],\n", - " [887, 888],\n", - " [887, 890],\n", - " [888, 889],\n", - " [888, 891],\n", - " [891, 892],\n", - " [892, 893],\n", - " [892, 895],\n", - " [893, 894],\n", - " [893, 896],\n", - " [896, 897],\n", - " [897, 898],\n", - " [898, 899],\n", - " [898, 900],\n", - " [900, 901],\n", - " [901, 902],\n", - " [901, 904],\n", - " [902, 903],\n", - " [902, 911],\n", - " [904, 905],\n", - " [905, 906],\n", - " [905, 907],\n", - " [906, 908],\n", - " [907, 909],\n", - " [908, 910],\n", - " [909, 910],\n", - " [911, 912],\n", - " [912, 913],\n", - " [912, 915],\n", - " [913, 914],\n", - " [913, 921],\n", - " [915, 916],\n", - " [916, 917],\n", - " [916, 918],\n", - " [917, 919],\n", - " [918, 920],\n", - " [919, 920],\n", - " [921, 922],\n", - " [922, 923],\n", - " [922, 925],\n", - " [923, 924],\n", - " [923, 928],\n", - " [925, 926],\n", - " [925, 927],\n", - " [928, 929],\n", - " [929, 930],\n", - " [929, 932],\n", - " [930, 931],\n", - " [930, 936],\n", - " [932, 933],\n", - " [932, 934],\n", - " [933, 935],\n", - " [936, 937],\n", - " [937, 938],\n", - " [937, 940],\n", - " [938, 939],\n", - " [938, 943],\n", - " [940, 941],\n", - " [940, 942],\n", - " [943, 944],\n", - " [944, 945],\n", - " [944, 947],\n", - " [945, 946],\n", - " [945, 949],\n", - " [947, 948],\n", - " [949, 950],\n", - " [950, 951],\n", - " [950, 953],\n", - " [951, 952],\n", - " [951, 956],\n", - " [953, 954],\n", - " [953, 955],\n", - " [956, 957],\n", - " [957, 958],\n", - " [958, 959],\n", - " [958, 960],\n", - " [960, 961],\n", - " [961, 962],\n", - " [961, 964],\n", - " [962, 963],\n", - " [962, 969],\n", - " [964, 965],\n", - " [965, 966],\n", - " [966, 967],\n", - " [966, 968],\n", - " [969, 970],\n", - " [970, 971],\n", - " [970, 973],\n", - " [971, 972],\n", - " [971, 976],\n", - " [973, 974],\n", - " [973, 975],\n", - " [976, 977],\n", - " [977, 978],\n", - " ...]]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "aa" ]