{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2747c006-dc46-4db2-a6b8-5d7797f8873e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "72679790-1276-4737-8e93-d4f3c6f84574",
   "metadata": {},
   "outputs": [],
   "source": [
    "import CBMD"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f99a19aa-a30a-4f74-afe9-0b65206272b6",
   "metadata": {},
   "source": [
    "## Load backbone cross landscape models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f9836ab4-a0ce-458d-8492-29ed1f2e6021",
   "metadata": {},
   "outputs": [],
   "source": [
    "original_ALA_model = CBMD.Mixture_model.from_file(\"models/original_models/original_model_pair/VMWC_backbone_model.csv\", component_type=\"VMWC\")\n",
    "ALA_P_model = CBMD.Mixture_model.from_file(\"models/specialized_submodels/specialized_submodels_singles/ALA/ALA_P_model.csv\", component_type=\"VMWC\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07e797ab-f3f6-4595-bec1-3a590bf2af31",
   "metadata": {},
   "source": [
    "## Generate samples (~10s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "870c05ff-b696-4133-9213-dc29e6007492",
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_size = 1000\n",
    "\n",
    "ALA_sample = original_ALA_model.sample(size=sample_size)\n",
    "ALA_P_sample = ALA_P_model.sample(size=sample_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "add96007-4fe6-4120-96d6-a36d649c044d",
   "metadata": {},
   "source": [
    "#### Plot function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "caf821d1-b3bb-4cdb-897a-943210e6b66e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_sample(sample):\n",
    "    plt.close('all')\n",
    "    fig, ax = plt.subplots(1, 1, figsize=(5,5))\n",
    "    \n",
    "    ax.scatter(sample[:,0], sample[:,1], s=1)\n",
    "    ax.set_xlim(-np.pi, np.pi)\n",
    "    ax.set_xlabel(\"phi\")\n",
    "    ax.set_ylim(-np.pi, np.pi)\n",
    "    ax.set_ylabel(\"psi\")\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    \n",
    "    plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6bf6c711-a110-418f-92f8-2e46ef5fc890",
   "metadata": {},
   "source": [
    "## Plot sample"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "21f20815-44c9-4166-a57f-01c3b68e92d6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ampqNGZM8pnEohpKHTNmTMqrBMOZZ55ZNG8ms2J83jzn4lGMz5vnPFplZWXac5B8AwCACYERAAATAqNJeXm5Vq1aVXRFA4rxefOci0cxPm+ec26KKvkGAIB06DECAGBCYAQAwITACACACYERAAATAmMKN9xwg6ZOnaqKigqdd955uvXWW9Xd3e13szxz4MAB3XXXXZo+fbqi0ajq6+u1atUqnThxwu+meeqJJ57QFVdcoS984Quqqqryuzme+dGPfqTp06eroqJCDQ0NeuONN/xukqd27dql66+/XjU1NYpEInrppZf8bpKn1qxZo8suu0zjx4/X2WefrRtvvFEdHR1+N8tz69ev1+zZsxML++fNm6dXXnklp3MSGFOYP3++/v3f/10dHR168cUXtX//fv31X/+1383yzPvvv69Tp07p2Wef1Xvvvad169bpX/7lX/TII4/43TRPnThxQjfddJOampr8bopnfvGLX+iBBx7Qo48+qra2Nl199dW67rrr1NXV5XfTPNPf36+LL75YzzzzjN9NyYudO3fq3nvvVWtrq3bs2KGTJ09qwYIF6u/v97tpnpoyZYrWrl2r3bt3a/fu3br22mu1ePFivffee9mfNA7HtmzZEo9EIvETJ0743ZS8+cd//Mf49OnT/W5GXmzYsCFeWVnpdzM8cfnll8eXLl064nd//ud/Hn/44Yd9a1M+SYpv3rzZ72bk1ccffxyXFN+5c6ffTcm7CRMmxJ977rms70+P0aFjx47pZz/7ma644gqVlZX53Zy86e3t1cSJE/1uBnJw4sQJ7dmzRwsWLBjx+wULFujNN9/0rV3wVm9vryQV1ed3aGhIL7zwgvr7+zVv3rysz0NgTOOhhx7SuHHjdNZZZ6mrq0tbtmzxu0l5s3//fj399NNaunSp301BDo4ePaqhoSGdc845I35/zjnn6MiRI761C96Jx+Navny5rrrqKs2aNcvv5nju3Xff1RlnnKHy8nItXbpUmzdv1oUXXpj1+YouMD7++OOKRCIpb7t3704c/61vfUttbW3avn27SkpKdNttt6Xd5DJoMn3OktTd3a2vfe1ruummm3T33Xf71vZsZfOcC511q7V4PG67/RrC77777tPevXu1adMmv5uSFzNnzlR7e7taW1vV1NSk22+/Xf/7v/+b9fmKatspDb9hvvnNb6Y8Ztq0aYn/rq6uVnV1tWbMmKELLrhAtbW1am1tzambnm+ZPufu7m7Nnz9f8+bN049//OM8tNB9mT7nQlZdXa2SkpJRvcOPP/54VC8S4bds2TK9/PLL2rVrl6Nt9grB2LFjdf7550uS5syZo7fffls//OEP9eyzz2Z1vqILjEagy4bRU4zFYi63yluZPOdDhw5p/vz5amho0IYNG1Ju5hlkufx/LjRjx45VQ0ODduzYob/8y79M/H7Hjh1avHixr22De+LxuJYtW6bNmzerpaVF06dP97tJvonH4zl9TxddYHTqrbfe0ltvvaWrrrpKEyZM0IcffqjvfOc7qq+vD1VvMRPd3d1qbGzU1KlT1dzcrE8++STxt3PPPdfXtnmpq6tLx44dU1dXl4aGhtTe3i5JOv/883XGGWf43TxXLF++XLfeeqvmzJmTGAno6uoq6Pnjzz77TB988EHi548++kjt7e2aOHGipk6d6mvbvHDvvffq5z//ubZs2aLx48cnRggqKysVjUb9bp5nHnnkEV133XWqra3Vp59+qhdeeEEtLS169dVXsz+pqzmyBWTv3r3x+fPnxydOnBgvLy+PT5s2Lb506dL473//e7+b5pkNGzbEJdneCtntt99u+5xff/11v5vmqn/+53+O19XVxceOHRu/9NJLCz6N//XXX7f9/3r77bf73TRPJPvsbtiwwe+meerOO+9MvK8nTZoU/8pXvhLfvn17Tudk2ykAAEzCOYEEAIBHCIwAAJgQGAEAMCEwAgBgQmAEAMCEwAgAgAmBEQAAEwIjUCSmTZumJ598MunfDxw4oEgkkqj8AxQrSsIBkCTV1tbq8OHD1JhF0SMwApAklZSUFHRNXMAphlKBAtHY2Kj77rtP9913n6qqqnTWWWfp29/+9oj9Q//4xz/qzjvv1Pjx4zV16tQR24oxlAqcRmAECshPf/pTlZaW6n/+53/01FNPad26dXruuecSf/+nf/onzZkzR21tbbrnnnvU1NSk999/39c2A0FDYAQKSG1trdatW6eZM2fqlltu0bJly7Ru3brE37/+9a/rnnvu0fnnn6+HHnpI1dXVamlp8bXNQNAQGIECMnfuXEUikcTP8+bN0+9+9zsNDQ1JkmbPnp34WyQS0bnnnquPP/7Yl7YCQUVgBIpIWVnZiJ8jkYhOnTrlW3uAICIwAgWktbV11M9f/OIXVVJS4lubgLAhMAIF5ODBg1q+fLk6Ojq0adMmPf300/r7v/97v5sFhArrGIECctttt2lgYECXX365SkpKtGzZMv3d3/2d380CQiUSNy9yAhBajY2NuuSSS1KWfQOQHkOpAACYEBgBADBhKBUAABN6jAAAmBAYAQAwITACAGBCYAQAwITACACACYERAAATAiMAACYERgAATAiMAACY/P9Yc1AsDsCrPAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sample(ALA_sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4bc232d5-38ab-4fd5-b5fe-8d529c17bdcf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sample(ALA_P_sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1c4e9069-e424-4352-94b0-e5e0329aa3f5",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.13.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
