{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Circular Molecules\n", "\n", "> ### In this tutorial we will cover:\n", "> - how we can build circular structures in BuildAMol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes, the molecules we want to build are circular. This poses a challenge to BuildAMol which is tailored to linear molecules. In fact, BuildAMol's rotational optimization algorithms for improving conformations are useless for circular structures. Hence, in pure BuildAMol 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 BuildAMol _inherently_ can do. But this is where BuildAMol'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 BuildAMol, 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 BuildAMol to continue our work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Going from linear to circular\n", "\n", "Let's make a super simple circular poly-Histidine." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import buildamol as bam\n", "bam.visual.set_backend(\"py3dmol\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol