{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Circular Molecules\n", "\n", "> ### In this tutorial we will cover:\n", "> - how we can build circular structures in biobuild" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes, the molecules we want to build are circular. This poses a challenge to biobuild which is tailored to linear molecules. In fact, biobuild's rotational optimization algorithms for improving conformations are useless for circular structures. Hence, in pure biobuild we cannot build circular molecules at this point!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For small rings it is usually possible to find reference components that already contain these rings, allowing users to circumvent the problem altogether by smart choices of starting compounds. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, didn't the tutorial title suggest that we _could_ build circular structures? Well, yes, we can - it's just not something that biobuild _inherently_ can do. But this is where biobuild's excellent integratability with other libraries comes in handy. \n", "\n", "The cheminformatics library `RDKit` uses a molecular force-field optimization that is perfectly able to handle ring-like structures. So, in order to build circular structures in biobuild, we (1) create the structure we want linearly, (2) \"circularize\" it by adding the necessary bonds, and (3) export it to RDKit to perform the conformational optimization. If after cricularization our building process is not yet complete, we can always (4) import the molecule back into biobuild to continue our work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example\n", "\n", "Let's make a super simple circular poly-histidine." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import plotly\n", "plotly.offline.init_notebook_mode()" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "customdata": [ [ "('H_HIS', 16, ' ')", 16, -1, "A" ], [ "('H_HIS', 17, ' ')", 17, -1, "A" ], [ "('H_HIS', 45, ' ')", 45, -1, "A" ], [ "('H_HIS', 46, ' ')", 46, -1, "A" ], [ "('H_HIS', 5, ' ')", 5, -1, "A" ], [ "('H_HIS', 6, ' ')", 6, -1, "A" ], [ "('H_HIS', 14, ' ')", 14, -1, "A" ], [ "('H_HIS', 15, ' ')", 15, -1, "A" ], [ "('H_HIS', 34, ' ')", 34, -1, "A" ], [ "('H_HIS', 35, ' ')", 35, -1, "A" ], [ "('H_HIS', 21, ' ')", 21, -1, "A" ], [ "('H_HIS', 22, ' ')", 22, -1, "A" ], [ "('H_HIS', 3, ' ')", 3, -1, "A" ], [ "('H_HIS', 4, ' ')", 4, -1, "A" ], [ "('H_HIS', 41, ' ')", 41, -1, "A" ], [ "('H_HIS', 42, ' ')", 42, -1, "A" ], [ "('H_HIS', 8, ' ')", 8, -1, "A" ], [ "('H_HIS', 9, ' ')", 9, -1, "A" ], [ "('H_HIS', 10, ' ')", 10, -1, "A" ], [ "('H_HIS', 11, ' ')", 11, -1, "A" ], [ "('H_HIS', 39, ' ')", 39, -1, "A" ], [ "('H_HIS', 40, ' ')", 40, -1, "A" ], [ "('H_HIS', 7, ' ')", 7, -1, "A" ], [ "('H_HIS', 44, ' ')", 44, -1, "A" ], [ "('H_HIS', 26, ' ')", 26, -1, "A" ], [ "('H_HIS', 27, ' ')", 27, -1, "A" ], [ "('H_HIS', 47, ' ')", 47, -1, "A" ], [ "('H_HIS', 28, ' ')", 28, -1, "A" ], [ "('H_HIS', 29, ' ')", 29, -1, "A" ], [ "('H_HIS', 13, ' ')", 13, -1, "A" ], [ "('H_HIS', 33, ' ')", 33, -1, "A" ], [ "('H_HIS', 1, ' ')", 1, -1, "A" ], [ "('H_HIS', 2, ' ')", 2, -1, "A" ], [ "('H_HIS', 43, ' ')", 43, -1, "A" ], [ "('H_HIS', 49, ' ')", 49, -1, "A" ], [ "('H_HIS', 50, ' ')", 50, -1, "A" ], [ "('H_HIS', 31, ' ')", 31, -1, "A" ], [ "('H_HIS', 32, ' ')", 32, -1, "A" ], [ "('H_HIS', 18, ' ')", 18, -1, "A" ], [ "('H_HIS', 19, ' ')", 19, -1, "A" ], [ "('H_HIS', 38, ' ')", 38, -1, "A" ], [ "('H_HIS', 36, ' ')", 36, -1, "A" ], [ "('H_HIS', 37, ' ')", 37, -1, "A" ], [ "('H_HIS', 23, ' ')", 23, -1, "A" ], [ "('H_HIS', 24, ' ')", 24, -1, "A" ], [ "('H_HIS', 25, ' ')", 25, -1, "A" ], [ "('H_HIS', 12, ' ')", 12, -1, "A" ], [ "('H_HIS', 20, ' ')", 20, -1, "A" ], [ "('H_HIS', 48, ' ')", 48, -1, "A" ], [ "('H_HIS', 30, ' ')", 30, -1, "A" ] ], "hovertemplate": "element_or_resname=His
x=%{x}
y=%{y}
z=%{z}
id=%{customdata[0]}
serial=%{customdata[1]}
parent_serial=%{customdata[2]}
parent_id=%{customdata[3]}", "legendgroup": "His", "marker": { "color": "#1F77B4", "opacity": 1, "symbol": "circle" }, "mode": "markers", "name": "His", "scene": "scene", "showlegend": true, "type": "scatter3d", "x": [ 22.862854, 26.123608, 65.21452, 65.814, 6.905355, 10.49047, 20.355051, 23.053207, 50.315926, 49.666065, 31.7686, 31.36404, 4.124298, 7.502085, 58.78438, 60.90879, 13.127981, 13.236488, 15.57492, 16.549685, 55.631138, 58.427216, 9.989253, 63.35284, 37.729042, 39.297195, 68.386635, 40.980114, 41.749847, 19.845114, 46.897774, 2.3289618, 3.7770963, 61.99627, 71.46686, 71.18769, 44.268417, 47.32052, 25.524267, 29.029346, 55.85772, 53.16126, 52.581367, 34.363266, 34.503605, 36.854713, 17.951103, 28.36036, 68.34373, 44.195343 ], "y": [ -26.302744, -27.957523, -71.1144, -71.265366, -10.291213, -10.69774, -22.865002, -25.337011, -53.533535, -55.712624, -33.315853, -36.491844, -6.534325, -8.233341, -65.34997, -64.83604, -13.403646, -16.920713, -16.355492, -19.882435, -62.261593, -61.82236, -13.735761, -67.990364, -42.664555, -42.28665, -73.8305, -45.518253, -45.55575, -22.667896, -52.32095, -1.7027702, -5.9564548, -68.29714, -76.487595, -77.95872, -48.9171, -50.902237, -29.765104, -30.597235, -58.949917, -56.199356, -59.040203, -36.157825, -39.658386, -39.147465, -19.526525, -33.180992, -74.62478, -48.248882 ], "z": [ 28.713648, 28.809042, 76.63258, 80.2164, 9.256306, 10.158331, 25.343279, 25.191204, 58.05597, 60.89938, 36.33432, 38.08402, 6.208925, 6.1633716, 70.16764, 73.075584, 14.152157, 15.267042, 18.04905, 18.41723, 67.06422, 69.35042, 12.235478, 76.70676, 44.278275, 47.547432, 80.04576, 47.519302, 51.08093, 21.722183, 57.740837, 1.8125795, 2.3388124, 73.34594, 83.58622, 86.679054, 54.476387, 54.413506, 31.92727, 32.540024, 65.572334, 61.7906, 63.99127, 40.135483, 41.147648, 43.888546, 21.788881, 35.031147, 83.59401, 50.89612 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 22.86285400390625, 26.123607635498047 ], "y": [ -26.302743911743164, -27.957523345947266 ], "z": [ 28.713647842407227, 28.80904197692871 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 22.86285400390625, 23.053207397460938 ], "y": [ -26.302743911743164, -25.337011337280273 ], "z": [ 28.713647842407227, 25.191204071044922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 26.123607635498047, 25.524267196655273 ], "y": [ -27.957523345947266, -29.765104293823242 ], "z": [ 28.80904197692871, 31.927270889282227 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.21452331542969, 65.81400299072266 ], "y": [ -71.1144027709961, -71.26536560058594 ], "z": [ 76.63258361816406, 80.21640014648438 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.21452331542969, 63.352840423583984 ], "y": [ -71.1144027709961, -67.99036407470703 ], "z": [ 76.63258361816406, 76.70675659179688 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.81400299072266, 68.38663482666016 ], "y": [ -71.26536560058594, -73.83049774169922 ], "z": [ 80.21640014648438, 80.04576110839844 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.905354976654053, 10.490469932556152 ], "y": [ -10.291213035583496, -10.697739601135254 ], "z": [ 9.256305694580078, 10.158330917358398 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.905354976654053, 7.502085208892822 ], "y": [ -10.291213035583496, -8.233341217041016 ], "z": [ 9.256305694580078, 6.163371562957764 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 10.490469932556152, 9.989253044128418 ], "y": [ -10.697739601135254, -13.735760688781738 ], "z": [ 10.158330917358398, 12.235478401184082 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 20.355051040649414, 23.053207397460938 ], "y": [ -22.865001678466797, -25.337011337280273 ], "z": [ 25.343278884887695, 25.191204071044922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 20.355051040649414, 19.84511375427246 ], "y": [ -22.865001678466797, -22.667896270751953 ], "z": [ 25.343278884887695, 21.722183227539062 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 50.31592559814453, 49.66606521606445 ], "y": [ -53.53353500366211, -55.712623596191406 ], "z": [ 58.05596923828125, 60.89937973022461 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 50.31592559814453, 46.89777374267578 ], "y": [ -53.53353500366211, -52.32094955444336 ], "z": [ 58.05596923828125, 57.74083709716797 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 49.66606521606445, 53.161258697509766 ], "y": [ -55.712623596191406, -56.19935607910156 ], "z": [ 60.89937973022461, 61.79059982299805 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.768600463867188, 31.36404037475586 ], "y": [ -33.315853118896484, -36.491844177246094 ], "z": [ 36.334320068359375, 38.08401870727539 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.768600463867188, 28.36035919189453 ], "y": [ -33.315853118896484, -33.180992126464844 ], "z": [ 36.334320068359375, 35.03114700317383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.36404037475586, 34.36326599121094 ], "y": [ -36.491844177246094, -36.1578254699707 ], "z": [ 38.08401870727539, 40.13548278808594 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 4.124298095703125, 7.502085208892822 ], "y": [ -6.534325122833252, -8.233341217041016 ], "z": [ 6.208924770355225, 6.163371562957764 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 4.124298095703125, 3.7770962715148926 ], "y": [ -6.534325122833252, -5.956454753875732 ], "z": [ 6.208924770355225, 2.3388123512268066 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 58.78438186645508, 60.908790588378906 ], "y": [ -65.34996795654297, -64.8360366821289 ], "z": [ 70.16764068603516, 73.0755844116211 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 58.78438186645508, 58.427215576171875 ], "y": [ -65.34996795654297, -61.82236099243164 ], "z": [ 70.16764068603516, 69.35041809082031 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 60.908790588378906, 61.99626922607422 ], "y": [ -64.8360366821289, -68.2971420288086 ], "z": [ 73.0755844116211, 73.34593963623047 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.127981185913086, 13.236488342285156 ], "y": [ -13.403646469116211, -16.920713424682617 ], "z": [ 14.152156829833984, 15.26704216003418 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.127981185913086, 9.989253044128418 ], "y": [ -13.403646469116211, -13.735760688781738 ], "z": [ 14.152156829833984, 12.235478401184082 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.236488342285156, 15.574919700622559 ], "y": [ -16.920713424682617, -16.355491638183594 ], "z": [ 15.26704216003418, 18.049049377441406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 15.574919700622559, 16.549684524536133 ], "y": [ -16.355491638183594, -19.882434844970703 ], "z": [ 18.049049377441406, 18.4172306060791 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 16.549684524536133, 17.95110321044922 ], "y": [ -19.882434844970703, -19.526525497436523 ], "z": [ 18.4172306060791, 21.788881301879883 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.63113784790039, 58.427215576171875 ], "y": [ -62.261592864990234, -61.82236099243164 ], "z": [ 67.06421661376953, 69.35041809082031 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.63113784790039, 55.85771942138672 ], "y": [ -62.261592864990234, -58.94991683959961 ], "z": [ 67.06421661376953, 65.57233428955078 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 63.352840423583984, 61.99626922607422 ], "y": [ -67.99036407470703, -68.2971420288086 ], "z": [ 76.70675659179688, 73.34593963623047 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 37.729042053222656, 39.29719543457031 ], "y": [ -42.664554595947266, -42.286651611328125 ], "z": [ 44.27827453613281, 47.54743194580078 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 37.729042053222656, 36.854713439941406 ], "y": [ -42.664554595947266, -39.147464752197266 ], "z": [ 44.27827453613281, 43.888545989990234 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 39.29719543457031, 40.9801139831543 ], "y": [ -42.286651611328125, -45.518253326416016 ], "z": [ 47.54743194580078, 47.51930236816406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 68.38663482666016, 68.3437271118164 ], "y": [ -73.83049774169922, -74.6247787475586 ], "z": [ 80.04576110839844, 83.59400939941406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 40.9801139831543, 41.749847412109375 ], "y": [ -45.518253326416016, -45.55575180053711 ], "z": [ 47.51930236816406, 51.080928802490234 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 41.749847412109375, 44.195343017578125 ], "y": [ -45.55575180053711, -48.24888229370117 ], "z": [ 51.080928802490234, 50.8961181640625 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 19.84511375427246, 17.95110321044922 ], "y": [ -22.667896270751953, -19.526525497436523 ], "z": [ 21.722183227539062, 21.788881301879883 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 46.89777374267578, 47.320518493652344 ], "y": [ -52.32094955444336, -50.90223693847656 ], "z": [ 57.74083709716797, 54.41350555419922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 2.3289618492126465, 3.7770962715148926 ], "y": [ -1.7027702331542969, -5.956454753875732 ], "z": [ 1.8125795125961304, 2.3388123512268066 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 71.46685791015625, 71.18769073486328 ], "y": [ -76.48759460449219, -77.9587173461914 ], "z": [ 83.58621978759766, 86.6790542602539 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 71.46685791015625, 68.3437271118164 ], "y": [ -76.48759460449219, -74.6247787475586 ], "z": [ 83.58621978759766, 83.59400939941406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 44.26841735839844, 47.320518493652344 ], "y": [ -48.91709899902344, -50.90223693847656 ], "z": [ 54.47638702392578, 54.41350555419922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 44.26841735839844, 44.195343017578125 ], "y": [ -48.91709899902344, -48.24888229370117 ], "z": [ 54.47638702392578, 50.8961181640625 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 25.524267196655273, 29.029346466064453 ], "y": [ -29.765104293823242, -30.59723472595215 ], "z": [ 31.927270889282227, 32.54002380371094 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 29.029346466064453, 28.36035919189453 ], "y": [ -30.59723472595215, -33.180992126464844 ], "z": [ 32.54002380371094, 35.03114700317383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.85771942138672, 52.58136749267578 ], "y": [ -58.94991683959961, -59.04020309448242 ], "z": [ 65.57233428955078, 63.991268157958984 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 53.161258697509766, 52.58136749267578 ], "y": [ -56.19935607910156, -59.04020309448242 ], "z": [ 61.79059982299805, 63.991268157958984 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 34.36326599121094, 34.503604888916016 ], "y": [ -36.1578254699707, -39.65838623046875 ], "z": [ 40.13548278808594, 41.147647857666016 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 34.503604888916016, 36.854713439941406 ], "y": [ -39.65838623046875, -39.147464752197266 ], "z": [ 41.147647857666016, 43.888545989990234 ] } ], "layout": { "scene": { "aspectmode": "cube", "xaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "yaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "zaxis": { "showgrid": false, "showline": false, "showticklabels": false } }, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(36,36,36)" }, "error_y": { "color": "rgb(36,36,36)" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "baxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "line": { "color": "white", "width": 0.6 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "colorscale": { "diverging": [ [ 0, "rgb(103,0,31)" ], [ 0.1, "rgb(178,24,43)" ], [ 0.2, "rgb(214,96,77)" ], [ 0.3, "rgb(244,165,130)" ], [ 0.4, "rgb(253,219,199)" ], [ 0.5, "rgb(247,247,247)" ], [ 0.6, "rgb(209,229,240)" ], [ 0.7, "rgb(146,197,222)" ], [ 0.8, "rgb(67,147,195)" ], [ 0.9, "rgb(33,102,172)" ], [ 1, "rgb(5,48,97)" ] ], "sequential": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "sequentialminus": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ] }, "colorway": [ "#1F77B4", "#FF7F0E", "#2CA02C", "#D62728", "#9467BD", "#8C564B", "#E377C2", "#7F7F7F", "#BCBD22", "#17BECF" ], "font": { "color": "rgb(36,36,36)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "radialaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "baxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "caxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import biobuild as bb\n", "\n", "# load the amino acids\n", "bb.load_amino_acids()\n", "\n", "# make a histidine\n", "his = bb.molecule(\"HIS\")\n", "\n", "# and make a polymer of 50 histidines\n", "his.repeat(50, \"LINK\")\n", "\n", "his.show(residue_graph=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have our linear poly-histidine, let's add a \"circular\" bond by connecting the first residue to the last residue. We cannot use `bb.connect` or the `attach` method for this, however, because these methods would transpose the atom coordinates in our molecule, completely twisting the structure. But it's no trouble to manually add one bond and remove two atoms. So let's do it." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Atom(HA, 13), Atom(HXT, 903)]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# remove the HA atom from the first histidine\n", "# and the HXT atom from the last histidine\n", "his.remove_atoms(\n", " his.get_atom(\"HA\", residue=1),\n", " his.get_atom(\"HXT\", residue=-1),\n", ")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# now connect the CA from the first histidine\n", "# to the OXT from the last histidine\n", "his.add_bond(\n", " his.get_atom(\"CA\", residue=1),\n", " his.get_atom(\"OXT\", residue=-1),\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we look at the residue graph again, we will now see a new very looong bond spanning the entire length of the polymer." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "customdata": [ [ "('H_HIS', 16, ' ')", 16, -1, "A" ], [ "('H_HIS', 17, ' ')", 17, -1, "A" ], [ "('H_HIS', 45, ' ')", 45, -1, "A" ], [ "('H_HIS', 46, ' ')", 46, -1, "A" ], [ "('H_HIS', 5, ' ')", 5, -1, "A" ], [ "('H_HIS', 6, ' ')", 6, -1, "A" ], [ "('H_HIS', 14, ' ')", 14, -1, "A" ], [ "('H_HIS', 15, ' ')", 15, -1, "A" ], [ "('H_HIS', 34, ' ')", 34, -1, "A" ], [ "('H_HIS', 35, ' ')", 35, -1, "A" ], [ "('H_HIS', 21, ' ')", 21, -1, "A" ], [ "('H_HIS', 22, ' ')", 22, -1, "A" ], [ "('H_HIS', 3, ' ')", 3, -1, "A" ], [ "('H_HIS', 4, ' ')", 4, -1, "A" ], [ "('H_HIS', 41, ' ')", 41, -1, "A" ], [ "('H_HIS', 42, ' ')", 42, -1, "A" ], [ "('H_HIS', 8, ' ')", 8, -1, "A" ], [ "('H_HIS', 9, ' ')", 9, -1, "A" ], [ "('H_HIS', 10, ' ')", 10, -1, "A" ], [ "('H_HIS', 11, ' ')", 11, -1, "A" ], [ "('H_HIS', 39, ' ')", 39, -1, "A" ], [ "('H_HIS', 40, ' ')", 40, -1, "A" ], [ "('H_HIS', 7, ' ')", 7, -1, "A" ], [ "('H_HIS', 44, ' ')", 44, -1, "A" ], [ "('H_HIS', 26, ' ')", 26, -1, "A" ], [ "('H_HIS', 27, ' ')", 27, -1, "A" ], [ "('H_HIS', 47, ' ')", 47, -1, "A" ], [ "('H_HIS', 1, ' ')", 1, -1, "A" ], [ "('H_HIS', 50, ' ')", 50, -1, "A" ], [ "('H_HIS', 28, ' ')", 28, -1, "A" ], [ "('H_HIS', 29, ' ')", 29, -1, "A" ], [ "('H_HIS', 13, ' ')", 13, -1, "A" ], [ "('H_HIS', 33, ' ')", 33, -1, "A" ], [ "('H_HIS', 2, ' ')", 2, -1, "A" ], [ "('H_HIS', 43, ' ')", 43, -1, "A" ], [ "('H_HIS', 49, ' ')", 49, -1, "A" ], [ "('H_HIS', 31, ' ')", 31, -1, "A" ], [ "('H_HIS', 32, ' ')", 32, -1, "A" ], [ "('H_HIS', 18, ' ')", 18, -1, "A" ], [ "('H_HIS', 19, ' ')", 19, -1, "A" ], [ "('H_HIS', 38, ' ')", 38, -1, "A" ], [ "('H_HIS', 36, ' ')", 36, -1, "A" ], [ "('H_HIS', 37, ' ')", 37, -1, "A" ], [ "('H_HIS', 23, ' ')", 23, -1, "A" ], [ "('H_HIS', 24, ' ')", 24, -1, "A" ], [ "('H_HIS', 25, ' ')", 25, -1, "A" ], [ "('H_HIS', 12, ' ')", 12, -1, "A" ], [ "('H_HIS', 20, ' ')", 20, -1, "A" ], [ "('H_HIS', 48, ' ')", 48, -1, "A" ], [ "('H_HIS', 30, ' ')", 30, -1, "A" ] ], "hovertemplate": "element_or_resname=His
x=%{x}
y=%{y}
z=%{z}
id=%{customdata[0]}
serial=%{customdata[1]}
parent_serial=%{customdata[2]}
parent_id=%{customdata[3]}", "legendgroup": "His", "marker": { "color": "#1F77B4", "opacity": 1, "symbol": "circle" }, "mode": "markers", "name": "His", "scene": "scene", "showlegend": true, "type": "scatter3d", "x": [ 22.862854, 26.123608, 65.21452, 65.814, 6.905355, 10.49047, 20.355051, 23.053207, 50.315926, 49.666065, 31.7686, 31.36404, 4.124298, 7.502085, 58.78438, 60.90879, 13.127981, 13.236488, 15.57492, 16.549685, 55.631138, 58.427216, 9.989253, 63.35284, 37.729042, 39.297195, 68.386635, 2.3316174, 71.17252, 40.980114, 41.749847, 19.845114, 46.897774, 3.7770963, 61.99627, 71.46686, 44.268417, 47.32052, 25.524267, 29.029346, 55.85772, 53.16126, 52.581367, 34.363266, 34.503605, 36.854713, 17.951103, 28.36036, 68.34373, 44.195343 ], "y": [ -26.302744, -27.957523, -71.1144, -71.265366, -10.291213, -10.69774, -22.865002, -25.337011, -53.533535, -55.712624, -33.315853, -36.491844, -6.534325, -8.233341, -65.34997, -64.83604, -13.403646, -16.920713, -16.355492, -19.882435, -62.261593, -61.82236, -13.735761, -67.990364, -42.664555, -42.28665, -73.8305, -1.7038264, -77.95981, -45.518253, -45.55575, -22.667896, -52.32095, -5.9564548, -68.29714, -76.487595, -48.9171, -50.902237, -29.765104, -30.597235, -58.949917, -56.199356, -59.040203, -36.157825, -39.658386, -39.147465, -19.526525, -33.180992, -74.62478, -48.248882 ], "z": [ 28.713648, 28.809042, 76.63258, 80.2164, 9.256306, 10.158331, 25.343279, 25.191204, 58.05597, 60.89938, 36.33432, 38.08402, 6.208925, 6.1633716, 70.16764, 73.075584, 14.152157, 15.267042, 18.04905, 18.41723, 67.06422, 69.35042, 12.235478, 76.70676, 44.278275, 47.547432, 80.04576, 1.8264537, 86.69155, 47.519302, 51.08093, 21.722183, 57.740837, 2.3388124, 73.34594, 83.58622, 54.476387, 54.413506, 31.92727, 32.540024, 65.572334, 61.7906, 63.99127, 40.135483, 41.147648, 43.888546, 21.788881, 35.031147, 83.59401, 50.89612 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 22.86285400390625, 26.123607635498047 ], "y": [ -26.302743911743164, -27.957523345947266 ], "z": [ 28.713647842407227, 28.80904197692871 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 22.86285400390625, 23.053207397460938 ], "y": [ -26.302743911743164, -25.337011337280273 ], "z": [ 28.713647842407227, 25.191204071044922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 26.123607635498047, 25.524267196655273 ], "y": [ -27.957523345947266, -29.765104293823242 ], "z": [ 28.80904197692871, 31.927270889282227 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.21452331542969, 65.81400299072266 ], "y": [ -71.1144027709961, -71.26536560058594 ], "z": [ 76.63258361816406, 80.21640014648438 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.21452331542969, 63.352840423583984 ], "y": [ -71.1144027709961, -67.99036407470703 ], "z": [ 76.63258361816406, 76.70675659179688 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 65.81400299072266, 68.38663482666016 ], "y": [ -71.26536560058594, -73.83049774169922 ], "z": [ 80.21640014648438, 80.04576110839844 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.905354976654053, 10.490469932556152 ], "y": [ -10.291213035583496, -10.697739601135254 ], "z": [ 9.256305694580078, 10.158330917358398 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.905354976654053, 7.502085208892822 ], "y": [ -10.291213035583496, -8.233341217041016 ], "z": [ 9.256305694580078, 6.163371562957764 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 10.490469932556152, 9.989253044128418 ], "y": [ -10.697739601135254, -13.735760688781738 ], "z": [ 10.158330917358398, 12.235478401184082 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 20.355051040649414, 23.053207397460938 ], "y": [ -22.865001678466797, -25.337011337280273 ], "z": [ 25.343278884887695, 25.191204071044922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 20.355051040649414, 19.84511375427246 ], "y": [ -22.865001678466797, -22.667896270751953 ], "z": [ 25.343278884887695, 21.722183227539062 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 50.31592559814453, 49.66606521606445 ], "y": [ -53.53353500366211, -55.712623596191406 ], "z": [ 58.05596923828125, 60.89937973022461 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 50.31592559814453, 46.89777374267578 ], "y": [ -53.53353500366211, -52.32094955444336 ], "z": [ 58.05596923828125, 57.74083709716797 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 49.66606521606445, 53.161258697509766 ], "y": [ -55.712623596191406, -56.19935607910156 ], "z": [ 60.89937973022461, 61.79059982299805 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.768600463867188, 31.36404037475586 ], "y": [ -33.315853118896484, -36.491844177246094 ], "z": [ 36.334320068359375, 38.08401870727539 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.768600463867188, 28.36035919189453 ], "y": [ -33.315853118896484, -33.180992126464844 ], "z": [ 36.334320068359375, 35.03114700317383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 31.36404037475586, 34.36326599121094 ], "y": [ -36.491844177246094, -36.1578254699707 ], "z": [ 38.08401870727539, 40.13548278808594 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 4.124298095703125, 7.502085208892822 ], "y": [ -6.534325122833252, -8.233341217041016 ], "z": [ 6.208924770355225, 6.163371562957764 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 4.124298095703125, 3.7770962715148926 ], "y": [ -6.534325122833252, -5.956454753875732 ], "z": [ 6.208924770355225, 2.3388123512268066 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 58.78438186645508, 60.908790588378906 ], "y": [ -65.34996795654297, -64.8360366821289 ], "z": [ 70.16764068603516, 73.0755844116211 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 58.78438186645508, 58.427215576171875 ], "y": [ -65.34996795654297, -61.82236099243164 ], "z": [ 70.16764068603516, 69.35041809082031 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 60.908790588378906, 61.99626922607422 ], "y": [ -64.8360366821289, -68.2971420288086 ], "z": [ 73.0755844116211, 73.34593963623047 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.127981185913086, 13.236488342285156 ], "y": [ -13.403646469116211, -16.920713424682617 ], "z": [ 14.152156829833984, 15.26704216003418 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.127981185913086, 9.989253044128418 ], "y": [ -13.403646469116211, -13.735760688781738 ], "z": [ 14.152156829833984, 12.235478401184082 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.236488342285156, 15.574919700622559 ], "y": [ -16.920713424682617, -16.355491638183594 ], "z": [ 15.26704216003418, 18.049049377441406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 15.574919700622559, 16.549684524536133 ], "y": [ -16.355491638183594, -19.882434844970703 ], "z": [ 18.049049377441406, 18.4172306060791 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 16.549684524536133, 17.95110321044922 ], "y": [ -19.882434844970703, -19.526525497436523 ], "z": [ 18.4172306060791, 21.788881301879883 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.63113784790039, 58.427215576171875 ], "y": [ -62.261592864990234, -61.82236099243164 ], "z": [ 67.06421661376953, 69.35041809082031 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.63113784790039, 55.85771942138672 ], "y": [ -62.261592864990234, -58.94991683959961 ], "z": [ 67.06421661376953, 65.57233428955078 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 63.352840423583984, 61.99626922607422 ], "y": [ -67.99036407470703, -68.2971420288086 ], "z": [ 76.70675659179688, 73.34593963623047 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 37.729042053222656, 39.29719543457031 ], "y": [ -42.664554595947266, -42.286651611328125 ], "z": [ 44.27827453613281, 47.54743194580078 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 37.729042053222656, 36.854713439941406 ], "y": [ -42.664554595947266, -39.147464752197266 ], "z": [ 44.27827453613281, 43.888545989990234 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 39.29719543457031, 40.9801139831543 ], "y": [ -42.286651611328125, -45.518253326416016 ], "z": [ 47.54743194580078, 47.51930236816406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 68.38663482666016, 68.3437271118164 ], "y": [ -73.83049774169922, -74.6247787475586 ], "z": [ 80.04576110839844, 83.59400939941406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 2.3316173553466797, 71.17252349853516 ], "y": [ -1.7038264274597168, -77.95980834960938 ], "z": [ 1.826453685760498, 86.6915512084961 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 2.3316173553466797, 3.7770962715148926 ], "y": [ -1.7038264274597168, -5.956454753875732 ], "z": [ 1.826453685760498, 2.3388123512268066 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 71.17252349853516, 71.46685791015625 ], "y": [ -77.95980834960938, -76.48759460449219 ], "z": [ 86.6915512084961, 83.58621978759766 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 40.9801139831543, 41.749847412109375 ], "y": [ -45.518253326416016, -45.55575180053711 ], "z": [ 47.51930236816406, 51.080928802490234 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 41.749847412109375, 44.195343017578125 ], "y": [ -45.55575180053711, -48.24888229370117 ], "z": [ 51.080928802490234, 50.8961181640625 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 19.84511375427246, 17.95110321044922 ], "y": [ -22.667896270751953, -19.526525497436523 ], "z": [ 21.722183227539062, 21.788881301879883 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 46.89777374267578, 47.320518493652344 ], "y": [ -52.32094955444336, -50.90223693847656 ], "z": [ 57.74083709716797, 54.41350555419922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 71.46685791015625, 68.3437271118164 ], "y": [ -76.48759460449219, -74.6247787475586 ], "z": [ 83.58621978759766, 83.59400939941406 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 44.26841735839844, 47.320518493652344 ], "y": [ -48.91709899902344, -50.90223693847656 ], "z": [ 54.47638702392578, 54.41350555419922 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 44.26841735839844, 44.195343017578125 ], "y": [ -48.91709899902344, -48.24888229370117 ], "z": [ 54.47638702392578, 50.8961181640625 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 25.524267196655273, 29.029346466064453 ], "y": [ -29.765104293823242, -30.59723472595215 ], "z": [ 31.927270889282227, 32.54002380371094 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 29.029346466064453, 28.36035919189453 ], "y": [ -30.59723472595215, -33.180992126464844 ], "z": [ 32.54002380371094, 35.03114700317383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 55.85771942138672, 52.58136749267578 ], "y": [ -58.94991683959961, -59.04020309448242 ], "z": [ 65.57233428955078, 63.991268157958984 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 53.161258697509766, 52.58136749267578 ], "y": [ -56.19935607910156, -59.04020309448242 ], "z": [ 61.79059982299805, 63.991268157958984 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 34.36326599121094, 34.503604888916016 ], "y": [ -36.1578254699707, -39.65838623046875 ], "z": [ 40.13548278808594, 41.147647857666016 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 34.503604888916016, 36.854713439941406 ], "y": [ -39.65838623046875, -39.147464752197266 ], "z": [ 41.147647857666016, 43.888545989990234 ] } ], "layout": { "scene": { "aspectmode": "cube", "xaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "yaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "zaxis": { "showgrid": false, "showline": false, "showticklabels": false } }, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(36,36,36)" }, "error_y": { "color": "rgb(36,36,36)" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "baxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "line": { "color": "white", "width": 0.6 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "colorscale": { "diverging": [ [ 0, "rgb(103,0,31)" ], [ 0.1, "rgb(178,24,43)" ], [ 0.2, "rgb(214,96,77)" ], [ 0.3, "rgb(244,165,130)" ], [ 0.4, "rgb(253,219,199)" ], [ 0.5, "rgb(247,247,247)" ], [ 0.6, "rgb(209,229,240)" ], [ 0.7, "rgb(146,197,222)" ], [ 0.8, "rgb(67,147,195)" ], [ 0.9, "rgb(33,102,172)" ], [ 1, "rgb(5,48,97)" ] ], "sequential": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "sequentialminus": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ] }, "colorway": [ "#1F77B4", "#FF7F0E", "#2CA02C", "#D62728", "#9467BD", "#8C564B", "#E377C2", "#7F7F7F", "#BCBD22", "#17BECF" ], "font": { "color": "rgb(36,36,36)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "radialaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "baxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "caxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "his.show(residue_graph=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is where our biobuild use comes to a temporary end, and we make use of RDKit to handle the circularization part more properly." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "customdata": [ [ "('H_HIS', 10, ' ')", 10, -1, "A" ], [ "('H_HIS', 11, ' ')", 11, -1, "A" ], [ "('H_HIS', 40, ' ')", 40, -1, "A" ], [ "('H_HIS', 41, ' ')", 41, -1, "A" ], [ "('H_HIS', 33, ' ')", 33, -1, "A" ], [ "('H_HIS', 34, ' ')", 34, -1, "A" ], [ "('H_HIS', 47, ' ')", 47, -1, "A" ], [ "('H_HIS', 48, ' ')", 48, -1, "A" ], [ "('H_HIS', 12, ' ')", 12, -1, "A" ], [ "('H_HIS', 18, ' ')", 18, -1, "A" ], [ "('H_HIS', 19, ' ')", 19, -1, "A" ], [ "('H_HIS', 49, ' ')", 49, -1, "A" ], [ "('H_HIS', 5, ' ')", 5, -1, "A" ], [ "('H_HIS', 6, ' ')", 6, -1, "A" ], [ "('H_HIS', 20, ' ')", 20, -1, "A" ], [ "('H_HIS', 50, ' ')", 50, -1, "A" ], [ "('H_HIS', 7, ' ')", 7, -1, "A" ], [ "('H_HIS', 21, ' ')", 21, -1, "A" ], [ "('H_HIS', 35, ' ')", 35, -1, "A" ], [ "('H_HIS', 13, ' ')", 13, -1, "A" ], [ "('H_HIS', 14, ' ')", 14, -1, "A" ], [ "('H_HIS', 27, ' ')", 27, -1, "A" ], [ "('H_HIS', 28, ' ')", 28, -1, "A" ], [ "('H_HIS', 29, ' ')", 29, -1, "A" ], [ "('H_HIS', 30, ' ')", 30, -1, "A" ], [ "('H_HIS', 43, ' ')", 43, -1, "A" ], [ "('H_HIS', 44, ' ')", 44, -1, "A" ], [ "('H_HIS', 22, ' ')", 22, -1, "A" ], [ "('H_HIS', 23, ' ')", 23, -1, "A" ], [ "('H_HIS', 36, ' ')", 36, -1, "A" ], [ "('H_HIS', 37, ' ')", 37, -1, "A" ], [ "('H_HIS', 38, ' ')", 38, -1, "A" ], [ "('H_HIS', 45, ' ')", 45, -1, "A" ], [ "('H_HIS', 46, ' ')", 46, -1, "A" ], [ "('H_HIS', 9, ' ')", 9, -1, "A" ], [ "('H_HIS', 24, ' ')", 24, -1, "A" ], [ "('H_HIS', 16, ' ')", 16, -1, "A" ], [ "('H_HIS', 17, ' ')", 17, -1, "A" ], [ "('H_HIS', 3, ' ')", 3, -1, "A" ], [ "('H_HIS', 4, ' ')", 4, -1, "A" ], [ "('H_HIS', 32, ' ')", 32, -1, "A" ], [ "('H_HIS', 25, ' ')", 25, -1, "A" ], [ "('H_HIS', 26, ' ')", 26, -1, "A" ], [ "('H_HIS', 42, ' ')", 42, -1, "A" ], [ "('H_HIS', 8, ' ')", 8, -1, "A" ], [ "('H_HIS', 15, ' ')", 15, -1, "A" ], [ "('H_HIS', 1, ' ')", 1, -1, "A" ], [ "('H_HIS', 2, ' ')", 2, -1, "A" ], [ "('H_HIS', 31, ' ')", 31, -1, "A" ], [ "('H_HIS', 39, ' ')", 39, -1, "A" ] ], "hovertemplate": "element_or_resname=His
x=%{x}
y=%{y}
z=%{z}
id=%{customdata[0]}
serial=%{customdata[1]}
parent_serial=%{customdata[2]}
parent_id=%{customdata[3]}", "legendgroup": "His", "marker": { "color": "#1F77B4", "opacity": 1, "symbol": "circle" }, "mode": "markers", "name": "His", "scene": "scene", "showlegend": true, "type": "scatter3d", "x": [ 16.683784, 15.353966, -2.905235, -0.44156912, -21.210562, -21.073503, 18.937054, 20.04318, 13.230194, -7.0705886, -9.589285, 21.191214, 26.322958, 25.874153, -12.651621, 23.096478, 23.17859, -16.092823, -17.590265, 9.413224, 6.2616935, -26.267504, -25.70034, -25.750166, -26.284458, 6.486705, 9.830296, -16.721998, -20.322866, -14.772426, -11.974208, -9.88778, 12.069097, 16.146534, 19.84496, -22.79841, 1.169392, -3.106979, 25.60913, 24.533781, -21.767141, -23.595238, -24.000801, 2.2820337, 22.00842, 2.3403943, 24.673536, 24.240318, -24.114124, -7.045489 ], "y": [ -17.613605, -20.71015, 25.646461, 25.329231, 13.699323, 17.180906, 18.500408, 15.789657, -23.57643, -25.600737, -23.355772, 13.119767, -3.7322369, -8.643971, -22.702175, 10.294979, -10.845917, -20.940784, 18.994648, -23.150665, -24.417725, -5.1067433, -1.5761114, 1.809064, 5.0427985, 25.104038, 24.161762, -18.141516, -16.827515, 20.76956, 23.135086, 25.033566, 21.304262, 21.70546, -18.106186, -14.419318, -26.940119, -25.80868, 1.164045, -2.1833298, 11.073286, -10.226777, -9.101924, 25.175337, -14.3902645, -22.994225, 6.6451807, 4.685013, 8.86193, 25.610563 ], "z": [ 0.818751, -0.03539401, 2.3595378, -0.079236746, -1.2466066, 0.054820877, -0.678329, 1.6558818, 0.8042327, -0.22526293, 0.8423769, 0.088693395, 0.37376922, -0.4849565, 0.025535207, 0.52945215, -0.8268851, -1.1689659, -0.3133004, -1.0390472, 0.41912583, 0.18028273, -0.08130785, -0.7777238, 0.6321129, 0.1057182, -0.77707493, 1.2194208, 0.7589753, 0.4783138, 0.16698377, -2.1371856, 1.2751777, -1.2888108, -1.2534002, -2.690016, 1.6890621, -0.7687299, -0.7315096, 2.559125, 1.5471915, -1.0736382, 1.8899045, -1.4024976, -0.31113046, -1.4078687, 0.5984045, -2.5944693, -0.47373465, 0.49111554 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 16.68378448486328, 15.353965759277344 ], "y": [ -17.613605499267578, -20.71014976501465 ], "z": [ 0.8187509775161743, -0.035394009202718735 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 16.68378448486328, 19.844959259033203 ], "y": [ -17.613605499267578, -18.106185913085938 ], "z": [ 0.8187509775161743, -1.253400206565857 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 15.353965759277344, 13.230194091796875 ], "y": [ -20.71014976501465, -23.57642936706543 ], "z": [ -0.035394009202718735, 0.8042327165603638 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -2.9052350521087646, -0.44156911969184875 ], "y": [ 25.646461486816406, 25.32923126220703 ], "z": [ 2.3595378398895264, -0.07923674583435059 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -2.9052350521087646, -7.0454888343811035 ], "y": [ 25.646461486816406, 25.610563278198242 ], "z": [ 2.3595378398895264, 0.491115540266037 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -0.44156911969184875, 2.282033681869507 ], "y": [ 25.32923126220703, 25.175336837768555 ], "z": [ -0.07923674583435059, -1.40249764919281 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -21.210561752319336, -21.073503494262695 ], "y": [ 13.699322700500488, 17.180906295776367 ], "z": [ -1.2466065883636475, 0.05482087656855583 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -21.210561752319336, -21.767141342163086 ], "y": [ 13.699322700500488, 11.073286056518555 ], "z": [ -1.2466065883636475, 1.5471915006637573 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -21.073503494262695, -17.59026527404785 ], "y": [ 17.180906295776367, 18.994647979736328 ], "z": [ 0.05482087656855583, -0.31330040097236633 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 18.937053680419922, 20.043180465698242 ], "y": [ 18.500408172607422, 15.789656639099121 ], "z": [ -0.6783289909362793, 1.6558817625045776 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 18.937053680419922, 16.146533966064453 ], "y": [ 18.500408172607422, 21.705459594726562 ], "z": [ -0.6783289909362793, -1.2888108491897583 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 20.043180465698242, 21.191213607788086 ], "y": [ 15.789656639099121, 13.119767189025879 ], "z": [ 1.6558817625045776, 0.08869339525699615 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 13.230194091796875, 9.413224220275879 ], "y": [ -23.57642936706543, -23.150665283203125 ], "z": [ 0.8042327165603638, -1.0390472412109375 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -7.0705885887146, -9.589284896850586 ], "y": [ -25.600736618041992, -23.355772018432617 ], "z": [ -0.22526292502880096, 0.8423768877983093 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -7.0705885887146, -3.1069788932800293 ], "y": [ -25.600736618041992, -25.808679580688477 ], "z": [ -0.22526292502880096, -0.7687299251556396 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -9.589284896850586, -12.651620864868164 ], "y": [ -23.355772018432617, -22.70217514038086 ], "z": [ 0.8423768877983093, 0.025535207241773605 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 21.191213607788086, 23.096477508544922 ], "y": [ 13.119767189025879, 10.294979095458984 ], "z": [ 0.08869339525699615, 0.5294521450996399 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 26.32295799255371, 25.87415313720703 ], "y": [ -3.732236862182617, -8.64397144317627 ], "z": [ 0.37376922369003296, -0.4849565029144287 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 26.32295799255371, 24.533781051635742 ], "y": [ -3.732236862182617, -2.1833298206329346 ], "z": [ 0.37376922369003296, 2.5591249465942383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 25.87415313720703, 23.178590774536133 ], "y": [ -8.64397144317627, -10.845916748046875 ], "z": [ -0.4849565029144287, -0.8268851041793823 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -12.651620864868164, -16.092823028564453 ], "y": [ -22.70217514038086, -20.940784454345703 ], "z": [ 0.025535207241773605, -1.1689659357070923 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 23.096477508544922, 24.67353630065918 ], "y": [ 10.294979095458984, 6.645180702209473 ], "z": [ 0.5294521450996399, 0.5984045267105103 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 23.178590774536133, 22.008420944213867 ], "y": [ -10.845916748046875, -14.390264511108398 ], "z": [ -0.8268851041793823, -0.31113046407699585 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -16.092823028564453, -16.72199821472168 ], "y": [ -20.940784454345703, -18.141515731811523 ], "z": [ -1.1689659357070923, 1.2194207906723022 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -17.59026527404785, -14.772425651550293 ], "y": [ 18.994647979736328, 20.769559860229492 ], "z": [ -0.31330040097236633, 0.4783138036727905 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 9.413224220275879, 6.261693477630615 ], "y": [ -23.150665283203125, -24.417724609375 ], "z": [ -1.0390472412109375, 0.41912582516670227 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.261693477630615, 2.3403942584991455 ], "y": [ -24.417724609375, -22.994224548339844 ], "z": [ 0.41912582516670227, -1.40786874294281 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -26.26750373840332, -25.700340270996094 ], "y": [ -5.106743335723877, -1.5761114358901978 ], "z": [ 0.18028272688388824, -0.08130785077810287 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -26.26750373840332, -24.00080108642578 ], "y": [ -5.106743335723877, -9.101923942565918 ], "z": [ 0.18028272688388824, 1.889904499053955 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -25.700340270996094, -25.750165939331055 ], "y": [ -1.5761114358901978, 1.8090640306472778 ], "z": [ -0.08130785077810287, -0.7777237892150879 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -25.750165939331055, -26.28445816040039 ], "y": [ 1.8090640306472778, 5.0427985191345215 ], "z": [ -0.7777237892150879, 0.6321129202842712 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -26.28445816040039, -24.114124298095703 ], "y": [ 5.0427985191345215, 8.861929893493652 ], "z": [ 0.6321129202842712, -0.47373464703559875 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.4867048263549805, 9.83029556274414 ], "y": [ 25.10403823852539, 24.161762237548828 ], "z": [ 0.1057182028889656, -0.777074933052063 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 6.4867048263549805, 2.282033681869507 ], "y": [ 25.10403823852539, 25.175336837768555 ], "z": [ 0.1057182028889656, -1.40249764919281 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 9.83029556274414, 12.069096565246582 ], "y": [ 24.161762237548828, 21.304262161254883 ], "z": [ -0.777074933052063, 1.2751777172088623 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -16.72199821472168, -20.322866439819336 ], "y": [ -18.141515731811523, -16.8275146484375 ], "z": [ 1.2194207906723022, 0.7589753270149231 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -20.322866439819336, -22.798410415649414 ], "y": [ -16.8275146484375, -14.419318199157715 ], "z": [ 0.7589753270149231, -2.690016031265259 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -14.772425651550293, -11.974207878112793 ], "y": [ 20.769559860229492, 23.135086059570312 ], "z": [ 0.4783138036727905, 0.16698376834392548 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -11.974207878112793, -9.88778018951416 ], "y": [ 23.135086059570312, 25.033565521240234 ], "z": [ 0.16698376834392548, -2.137185573577881 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -9.88778018951416, -7.0454888343811035 ], "y": [ 25.033565521240234, 25.610563278198242 ], "z": [ -2.137185573577881, 0.491115540266037 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 12.069096565246582, 16.146533966064453 ], "y": [ 21.304262161254883, 21.705459594726562 ], "z": [ 1.2751777172088623, -1.2888108491897583 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 19.844959259033203, 22.008420944213867 ], "y": [ -18.106185913085938, -14.390264511108398 ], "z": [ -1.253400206565857, -0.31113046407699585 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -22.798410415649414, -23.595237731933594 ], "y": [ -14.419318199157715, -10.226777076721191 ], "z": [ -2.690016031265259, -1.0736382007598877 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 1.1693919897079468, -3.1069788932800293 ], "y": [ -26.94011878967285, -25.808679580688477 ], "z": [ 1.6890621185302734, -0.7687299251556396 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 1.1693919897079468, 2.3403942584991455 ], "y": [ -26.94011878967285, -22.994224548339844 ], "z": [ 1.6890621185302734, -1.40786874294281 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 25.609130859375, 24.533781051635742 ], "y": [ 1.164044976234436, -2.1833298206329346 ], "z": [ -0.7315096259117126, 2.5591249465942383 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 25.609130859375, 24.240318298339844 ], "y": [ 1.164044976234436, 4.6850128173828125 ], "z": [ -0.7315096259117126, -2.5944693088531494 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -21.767141342163086, -24.114124298095703 ], "y": [ 11.073286056518555, 8.861929893493652 ], "z": [ 1.5471915006637573, -0.47373464703559875 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ -23.595237731933594, -24.00080108642578 ], "y": [ -10.226777076721191, -9.101923942565918 ], "z": [ -1.0736382007598877, 1.889904499053955 ] }, { "hoverinfo": "skip", "line": { "color": "black", "width": 1.44 }, "mode": "lines", "opacity": 1, "showlegend": false, "type": "scatter3d", "x": [ 24.67353630065918, 24.240318298339844 ], "y": [ 6.645180702209473, 4.6850128173828125 ], "z": [ 0.5984045267105103, -2.5944693088531494 ] } ], "layout": { "scene": { "aspectmode": "cube", "xaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "yaxis": { "showgrid": false, "showline": false, "showticklabels": false }, "zaxis": { "showgrid": false, "showline": false, "showticklabels": false } }, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(36,36,36)" }, "error_y": { "color": "rgb(36,36,36)" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "baxis": { "endlinecolor": "rgb(36,36,36)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(36,36,36)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "line": { "color": "white", "width": 0.6 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" }, "colorscale": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 1, "tickcolor": "rgb(36,36,36)", "ticks": "outside" } }, "colorscale": { "diverging": [ [ 0, "rgb(103,0,31)" ], [ 0.1, "rgb(178,24,43)" ], [ 0.2, "rgb(214,96,77)" ], [ 0.3, "rgb(244,165,130)" ], [ 0.4, "rgb(253,219,199)" ], [ 0.5, "rgb(247,247,247)" ], [ 0.6, "rgb(209,229,240)" ], [ 0.7, "rgb(146,197,222)" ], [ 0.8, "rgb(67,147,195)" ], [ 0.9, "rgb(33,102,172)" ], [ 1, "rgb(5,48,97)" ] ], "sequential": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ], "sequentialminus": [ [ 0, "#440154" ], [ 0.1111111111111111, "#482878" ], [ 0.2222222222222222, "#3e4989" ], [ 0.3333333333333333, "#31688e" ], [ 0.4444444444444444, "#26828e" ], [ 0.5555555555555556, "#1f9e89" ], [ 0.6666666666666666, "#35b779" ], [ 0.7777777777777778, "#6ece58" ], [ 0.8888888888888888, "#b5de2b" ], [ 1, "#fde725" ] ] }, "colorway": [ "#1F77B4", "#FF7F0E", "#2CA02C", "#D62728", "#9467BD", "#8C564B", "#E377C2", "#7F7F7F", "#BCBD22", "#17BECF" ], "font": { "color": "rgb(36,36,36)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "radialaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "rgb(232,232,232)", "gridwidth": 2, "linecolor": "rgb(36,36,36)", "showbackground": true, "showgrid": false, "showline": true, "ticks": "outside", "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "baxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" }, "bgcolor": "white", "caxis": { "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" }, "yaxis": { "automargin": true, "gridcolor": "rgb(232,232,232)", "linecolor": "rgb(36,36,36)", "showgrid": false, "showline": true, "ticks": "outside", "title": { "standoff": 15 }, "zeroline": false, "zerolinecolor": "rgb(36,36,36)" } } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import AllChem from rdkit\n", "from rdkit.Chem import AllChem\n", "\n", "# export the molecule to RDKit\n", "rdkit_mol = his.to_rdkit()\n", "\n", "# use RDKit to improve the conformation\n", "AllChem.EmbedMolecule(rdkit_mol)\n", "AllChem.UFFOptimizeMolecule(rdkit_mol)\n", "\n", "# import the molecule back into biobuild\n", "optimized_his = bb.molecule(rdkit_mol)\n", "\n", "# show the molecule\n", "optimized_his.show(residue_graph=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And there it is, a nice circle of histidines. We can also use nglview to get a more detailed view." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, that's it for this tutorial. Building circular structures is not so difficult after all, but it does involve making use of biobuild's integratability features. Thank you for checking out this tutorial and good luck with your research!" ] } ], "metadata": { "kernelspec": { "display_name": "glyco2", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.2" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }