diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..887a2c18f01df0784f690be728f22c1f9d1fa5c4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# SCM syntax highlighting & preventing 3-way merges +pixi.lock merge=binary linguist-language=YAML linguist-generated=true diff --git a/.gitignore b/.gitignore index c48d13c0c131f312ff56447cbe0e6957939b9ce0..8286747e514e694072f757d14598380821c14cdf 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ __pycache__ dist/ build/ .vscode -.coverage \ No newline at end of file +.coverage +# pixi environments +.pixi +*.egg-info diff --git a/docs/source/module_cluster.rst b/docs/source/module_cluster.rst index 8385e2c71d982743e5a766b1662522356bf86e8d..55a0286d583625fb6c89eb2070536cc9fcde4e4a 100644 --- a/docs/source/module_cluster.rst +++ b/docs/source/module_cluster.rst @@ -1,6 +1,6 @@ Module: cluster ================= -In this module are all the functions to identify clusters in a given contact map. A cluster is a set of contacts which are directly or indirectly (chain of direct contacts) connected. +In this module are all the functions to identify clusters in a given contact map or evaluate data if clustering makes sense (Hopkins statistic). A cluster is a set of contacts which are directly or indirectly (chain of direct contacts) connected. Members diff --git a/example_contact_mapping.py b/examples/example_contact_mapping.py similarity index 85% rename from example_contact_mapping.py rename to examples/example_contact_mapping.py index dde2c7c7c5545e8904e0c0ea8e88496836272787..c7fa4058f71fabb658665cd6cbb8209ea6b8e70f 100644 --- a/example_contact_mapping.py +++ b/examples/example_contact_mapping.py @@ -18,10 +18,7 @@ def main(): ) print(test_pdb.positioning, test_pdb.l, test_pdb.contacts["native"].shape) - # renumber_pdb("2n1q.pdb") test_pdb.load_contacts_from_restraints("simrna_5zal_L0.5.res", "DCA") - # print(test_pdb.ppvs["DCA"]) - # print(test_pdb.get_unmodelled_regions(), test_pdb.ppvs["DCA"]) fig, ax = show_contact_map(test_pdb, ["DCA"], mark_match=True) plt.show() diff --git a/examples/example_hopkins.ipynb b/examples/example_hopkins.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..ff7ddf83a8c49ee90cc6a33b40b399d24c3e71e5 --- /dev/null +++ b/examples/example_hopkins.ipynb @@ -0,0 +1,94 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "34dd6442", + "metadata": {}, + "source": [ + "# Example using Hopkins statistics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c700f6a0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+cAAAPvCAYAAAChrb/RAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl4FdX5B/DvDYSwSIKAkLDIJioYFYFqENxSQBSVaq2CrYpFKiotSm0DrlBaFW0VWsUFUWvRQF0QF4pCcQFM6gJREH5VkUUxKSVIgiwBkvn9kU7MTe69s50zc87M9/M8Po/czH3n3Lmz3PesMcMwDBARERERERFRYNKCLgARERERERFR1DE5JyIiIiIiIgoYk3MiIiIiIiKigDE5JyIiIiIiIgoYk3MiIiIiIiKigDE5JyIiIiIiIgoYk3MiIiIiIiKigDE5JyIiIiIiIgoYk3MiIiIiIiKigDE5JxLkk08+wbhx49CrVy+0aNECLVq0QO/evXHdddfhww8/tB1n7Nix6N69u61tY7EYpk2blnKbLVu2IBaL4Y9//GPCv//xj39ELBbDli1bbJcxlTVr1mDo0KE44ogj0KZNG1xyySX48ssvbb33tddew1VXXYUTTzwR6enpiMViCbczP1Oi/xYsWCDkcxARUXhMmzYNsVgMO3fuTPj33NxcnH322a5iJ3pu79q1C6NHj0aHDh0Qi8Xwox/9yFVsv5x99tnIzc1N+LedO3fa+r1h13fffYebbroJnTp1QvPmzdGvXz/bz+6nn3466fO/rKysbrvKykr84Q9/wNlnn43s7GwcccQROPHEEzFz5kwcOHBAyOcgkqFp0AUgCoPHHnsMEydOxHHHHYdJkybhhBNOQCwWw8aNG1FYWIgf/OAH+OKLL9CrVy/LWHfccQcmTZrkQ6nF+7//+z+cffbZ6NevH/7+97/jwIEDuPPOO3HGGWegpKQERx11VMr3L1q0CMXFxTjllFOQkZGBjz76KOX2v/zlL3HFFVfEvda7d2/Pn4OIiMiuRM/tGTNmYNGiRXjyySfRq1cvtG3bNqDSqeeSSy7BBx98gHvvvRfHHnssnnvuOYwZMwY1NTWNnunJPPXUUzj++OPjXmvXrl3d/2/btg2zZs3ClVdeicmTJ+OII47AypUrMW3aNCxbtgzLli1L2gBAFCQm50QerV69GjfccANGjhyJF154Ac2aNav7W35+Pm688UY8//zzaNGiRco4+/btQ8uWLW0l8Kq68847kZGRgddeew2ZmZkAgAEDBqB379744x//iJkzZ6Z8/9y5c5GWVtuhZ+LEiZbJ+dFHH428vDwxhSciInIh0XN7/fr16NWrF376058K2YdhGDhw4IDlbwnVLVmyBMuWLatLyAHgnHPOwdatW/Gb3/wGl19+OZo0aWIZJzc3FwMHDkz69x49emDLli1o1apV3Wv5+flo1aoVfvOb32D16tUYMmSI9w9EJBi7tRN5dPfdd6NJkyZ47LHH4hLz+n7yk5+gU6dOdf8eO3YsjjjiCKxbtw7Dhw9H69at8cMf/rDubw27x1VWVmL8+PFo164djjjiCIwYMQKfffaZtM/kxuHDh/Haa6/hxz/+cV1iDgDdunXDOeecg0WLFlnGMBNzIiKiIL399tuIxWIoLCzEbbfdhk6dOiEzMxNDhw7Fv//977ht6z+3zWFXy5cvx8aNG+u6XL/99tsAaru733DDDejcuTOaNWuGnj174rbbbkNVVVVczFgshokTJ+LRRx9Fnz59kJGRgb/+9a913bpXrFhR97sgMzMTV111Ffbu3YuysjJcdtllaNOmDXJycnDLLbfg0KFDfhwyWxYtWoQjjjgCP/nJT+Jev+aaa/DNN9/gX//6l5D9tGrVKi4xN5166qkAgK+++krIfohE4y9hIg+qq6vx1ltvYeDAgcjJyXH03oMHD+Kiiy5Cfn4+Fi9ejOnTpyfczjAM/OhHP8Lf/vY3/PrXv8aiRYuQl5eH8847z9H+ampqcPjw4Ub/1dTU2N624X/V1dV179m0aRP279+Pk046qVG8k046CV988YXwcV733nsvmjVrhpYtW2LIkCF45ZVXhMYnIqJou/XWW7F161Y88cQTePzxx/H555/jwgsvjHv+1ZeTk4OioiKccsop6NmzJ4qKilBUVIT+/fvjwIEDOOecc/DMM89g8uTJeP311/Gzn/0M9913Hy655JJGsV5++WU88sgjuPPOO/HGG2/gjDPOqPvbtddei6ysLCxYsAC33347nnvuOYwfPx4jR47EySefjBdeeAFXX301/vSnP+Evf/mL7c9r9ay32jbRf4Zh1L1n/fr16NOnD5o2je+8a/52WL9+va1yXnDBBWjSpAnatm2LSy65xPb7VqxYAQA44YQTbG1P5Dd2ayfyYOfOndi/fz+6devW6G/V1dVxD6QmTZrEjW86dOgQ7rzzTlxzzTUp9/HGG2/grbfewuzZs/GrX/0KADBs2DA0a9YMt912m+2yFhQUoKCgwNa2v/vd75JWFtTXrVu3uonkysvLASDhuLq2bdvCMAx8++23jisxEsnIyMD48eMxbNgw5OTkYNu2bfjLX/6CUaNGYe7cubj22ms974OIiKhv376YP39+3b+bNGmCyy67DB988EHCYVUZGRnIy8tDZmYmDh48GLfNY489hk8++QR///vf61qOhw0bhiOOOAIFBQVYtmwZhg0bVrf9d999h3Xr1uHII4+se+2DDz4AUJucmhO9Dhs2DEVFRSgsLMQDDzyAm2++GQAwdOhQvPHGG3j22WcxefJky8/66aefIj093dZx2bJlC3r06GFr27feeqtusr3y8nL07Nmz0Tbmbwfzt0Qy2dnZuO222+qO8bp163DvvfciLy8Pq1evxsknn5z0vZ988gnuu+8+XHzxxQkbEohUwOScSJIBAwbg448/rvv3/fffj1tuuSVumx//+MeWcd566y0AaDRu7YorrnCUnE+aNAk/+9nPGr0+f/58zJ49O+61X/ziF7jgggssY2ZkZDR6LdUEK6ImX8nJycHjjz8e99pPfvITnHbaaZgyZQrGjh3bqFaeiIjIqYsuuiju32ZSt3XrVsdznqxYsQKtWrXCpZdeGvf62LFjUVBQgH/+859xyXl+fn5cYl5fw2d0nz598PLLL2PkyJGNXn/zzTdtla9Xr14JZ02vqKjA0KFD417r1KlTXUWBleOOOy7u315+J4wYMQIjRoyo+/eZZ56JkSNH4sQTT8Sdd96JxYsXJ3zfli1bcMEFF6Br16544oknbJWbKAj89UrkQfv27dGiRQts3bq10d+ee+457Nu3D6WlpY0e7gDQsmXLuLHZyZSXl6Np06Zxs5ACtbXHTnTp0iXh5CnmOLiGsTt06GAZs/5D1CxfolrvXbt2IRaLoU2bNvYL7FB6ejouv/xyTJkyBZ9//jn69OkjbV9ERKQXs8I2VRftRK3GDZ+9ZqX0/v37HZehvLwc2dnZjRLQDh06oGnTpo2en6l6mjXspWbOeZPodbtDypo3b57wd0Ki5eeaNWuGfv362Ypbf4K3du3aJf2dACTufWele/fuGDJkCIqLixP+fevWrTjnnHPQtGlT/POf/+TM+aQ0jjkn8qBJkybIz8/Hhx9+iNLS0ri/9e3bFwMHDsSJJ56Y8L12W5HbtWuHw4cPN3qY1V/PU7Tf/e53SE9Pt/yv/gy15vru69ataxRv3bp1OOaYY9C8eXNpZQZQN4yAE8sREVF9HTt2BABs37690d8Mw0BpaWndNrK0a9cO//nPf+KGvAHAjh07cPjwYbRv3z7udZWX+tqyZYut3wnp6el455136t534oknYuPGjTh8+HBcPPO3Q7K11q0YhpHw2b9161acffbZMAwDb731Frp06eIqPpFf2HJO5NHUqVPxj3/8AxMmTMALL7xge7yWXeeccw7uu+8+PPvss3VjzoHalnlZ3HRrb9q0KS688EK89NJLuO+++9C6dWsAtWuNvvXWW3Vj4GQ5dOgQFi5ciPbt2+OYY46Rui8iItJLfn4+YrEYFi5ciP79+8f9benSpaisrGzUdVu0H/7wh/j73/+Ol19+GRdffHHd688880zd33Xhtlv7xRdfjLlz5+LFF1/E5ZdfXvf6X//6V3Tq1AmnnXaa47Js3rwZq1evbvT9bdu2DWeffTaqq6vx9ttvJ5wfiEg1TM6JPBo8eDAefvhh/PKXv0T//v3xi1/8AieccALS0tJQWlqKF198EQBsdWFPZPjw4TjzzDPx29/+Fnv37sXAgQOxevVq/O1vfxP5MeJ06tQpbuk3u6ZPn44f/OAHuOCCCzBlyhQcOHAAd955J9q3b49f//rXcds2bdoUZ511Fv75z3/WvbZ169a6h/2mTZsAAC+88AKA2m5rZne7yZMn49ChQxg8eDCys7Px1Vdf4S9/+QtKSkrw1FNP2VojlYiIoqNXr16YOHEi7r//fuzevRvnn38+WrRogQ8++AD33nsvBg4ciCuuuEJqGa666io8/PDDuPrqq7FlyxaceOKJWLVqFe6++26cf/750isHRGrWrFnKdcaTOe+88zBs2DBcf/31qKysxDHHHIPCwkIsXboU8+fPj3t+jxs3Dn/961+xadOmusR66NChOPPMM3HSSSfVTQh33333IRaLYcaMGXXv3bFjB8455xyUlpZi3rx52LFjB3bs2FH39y5durAVnZTE5JxIgAkTJmDQoEGYPXs2HnzwQXzzzTeIxWLo0qULTj/9dPzzn/9Efn6+q9hpaWl45ZVXMHnyZNx33304ePAgBg8ejCVLluD4448X/Em8Of744/H222+joKAAl156KZo2bYr8/Hz88Y9/xFFHHRW3bXV1daOxf2+99Vaj2evNGW2vvvpqPP300wBqu7099thjeO6551BZWYnWrVvj1FNPxRtvvIHhw4fL+4BERKSt2bNno2/fvpg3bx7mz5+Pw4cPo1u3brjxxhtx++23143blqV58+Z46623cNttt+H+++/Hf//7X3Tu3Bm33HIL7rrrLqn7VslLL72E2267DXfeeSd27dqF448/HoWFhRg9enTcdubvhPrDAE488UQsXLgQf/zjH7F//3506NAB+fn5uOOOO3DsscfWbbdhwwZ8+eWXAJBwMty77roL06ZNk/MBiTyIGQ0HvhARERERERGRrzhrEhEREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBUzrdc5ramrwzTffoHXr1ojFYkEXh4iICIZhYM+ePejUqRPS0lgH7hWf9UREpBpZz3qtk/NvvvkGXbt2DboYREREjXz11Vfo0qVL0MXQHp/1RESkKtHPeq2T89atWwOoPSiZmZkBl4aIiAiorKxE165d655R5A2f9UREpBpZz3qtk3Oze1tmZiYf2EREpBR2wRaDz3oiIlKV6Gc9B8MRERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBaxp0AVQQXWNgfc378KOPQfQoXVznNqjLZqkxZSKyXj8ToKOp0MZVY+nQxmjFk9WTCKSL9m1y2uaiHQlLDl/9913cf/99+Ojjz5CaWkpFi1ahB/96Ecp3/POO+9g8uTJ+PTTT9GpUyf89re/xYQJE0QVyZal60sx/dUNKK04UPdaTlZz3HVhX4zIzVEiJuPxOwk6ng5lVD2eDmWMWjxZMcNM12c9hU+ya/eik3PwyselvKaJSEvCurXv3bsXJ598Mh566CFb22/evBnnn38+zjjjDKxduxa33norfvWrX+HFF18UVSRLS9eX4vr5a+Ju4ABQVnEA189fg6XrSwOPyXje4ulQRtXj6VBG1ePpUMaoxZMV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M98fSj0L/Jx9LkjmMgTz5s0zNmzYYNx0001Gq1atjC1bthiGYRhTpkwxrrzyyrrtzSn1b775ZmPDhg3GvHnzIre8itNj9txzzxlNmzY1Hn74YaO0tLTuv927dwf1EXzn9Jg1FMXZW50esz179hhdunQxLr30UuPTTz813nnnHaN3797GtddeG9RH8J3TY/bUU08ZTZs2NebMmWNs2rTJWLVqlTFw4EDj1FNPDeoj+GrPnj3G2rVrjbVr1xoAjAceeMBYu3Zt3TI0vP+HB5/17vB57xyf987xee8On/nO6fzcj0xybhiG8fDDDxvdunUzmjVrZvTv399455136v529dVXG2eddVbc9m+//bZxyimnGM2aNTO6d+9uPPLIIz6XOHhOjtlZZ51lAGj039VXX+1/wQPk9DyrL4oPa8Nwfsw2btxoDB061GjRooXRpUsXY/Lkyca+fft8LnWwnB6zP//5z0bfvn2NFi1aGDk5OcZPf/pT4+uvv/a51MF46623Ut6beP8PFz7r3eHz3jk+753j894dPvOd0fm5HzMM9m8gIiIiIiIiClIkxpwTERERERERqYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJwTERERERERBYzJOREREREREVHAmJxTKDz99NOIxWL48MMPbW0/duxYdO/eXci+u3fvjlgshlgshrS0NGRlZaFPnz646qqr8Oabb3qKPWfOHDz99NNCyinC3XffjZdfftn29rFYDBMnTkz4txdeeAGxWAxvv/22kLJ9+eWXuOSSS9CmTRscccQRGDZsGNasWWPrvYZh4M9//jOOP/54ZGRkICcnB9dffz2+/fbbRtuWlZVh4sSJ6NmzJ1q0aIFu3bph3Lhx2LZtm5DPQURERETRxOScIumOO+7AokWLhMUbPHgwioqK8N577+HFF1/ExIkTsXnzZpx77rm49NJLcejQIVdxdU/O/fLf//4XZ5xxBj777DM8+eST+Pvf/44DBw7g7LPPxr///W/L999yyy24+eabMWrUKLz22muYMmUKnnvuOQwbNizuu6uqqsKZZ56JhQsX4pZbbsE//vEP3HrrrXj99ddx+umnY8+ePTI/JhERERGFWNOgC0Dkp3379qFly5bo1auX0Lht2rRBXl5e3b+HDh2KG2+8EdOmTcP06dNx++23Y+bMmUL3Sd+7//778d///hfvvfceunXrBgAYMmQIevXqhTvvvBMLFy5M+t7t27dj9uzZuPHGG+u+o2HDhqFDhw644oor8PTTT2P8+PEAgJUrV+Lzzz/HE088gXHjxgEAzj77bGRmZuKKK67A8uXLcfHFF0v+tEREREQURmw5p9AaO3YsjjjiCKxbtw7Dhw9H69at8cMf/rDubw27tT///PM47bTTkJWVhZYtW6Jnz574+c9/7qkM06ZNwwknnICHHnoIBw4cqHt9+vTpOO2009C2bVtkZmaif//+mDdvHgzDqNume/fu+PTTT/HOO+/UdZs3y3zgwAH8+te/Rr9+/ZCVlYW2bdti0KBBWLx4caMy2PlclZWVuOWWW9CjRw80a9YMnTt3xk033YS9e/fWbROLxbB371789a9/rSvP2Wef7en4iLJo0SLk5+fXJeYAkJmZiUsuuQSvvvoqDh8+nPS9xcXFqK6uxvnnnx/3+gUXXAAAePHFF+teS09PBwBkZWXFbdumTRsAQPPmzT19DiIiIiKKLracU6gdPHgQF110Ea677jpMmTIlaZJWVFSEyy+/HJdffjmmTZuG5s2bY+vWrVixYoXnMlx44YW499578eGHH2LIkCEAgC1btuC6667D0UcfDaA2QfzlL3+J7du348477wRQm3BeeumlyMrKwpw5cwAAGRkZAGq7V+/atQu33HILOnfujIMHD2L58uW45JJL8NRTT+Gqq66y/bn27duHs846C19//TVuvfVWnHTSSfj0009x5513Yt26dVi+fDlisRiKioqQn5+Pc845B3fccQeA2gTYimEYCY97TU1Nwm2rq6ttHdemTWtvX/v378emTZsStlifdNJJ2L9/P7788ksce+yxCeMcPHgQwPfH1pSeno5YLIZPPvmk7rXBgwdjwIABmDZtGrp164Y+ffrgs88+w6233or+/ftj6NChtspORERERNQQk3MKtUOHDuHOO+/ENddck3K79957D4Zh4NFHH41rFR07dqznMpitud98803da0899VTd/9fU1ODss8+GYRiYPXs27rjjDsRiMZxyyilo0aIFMjMz47rMA7Utt/VjVFdX44c//CG+/fZbzJo1qy45t/O5/vznP+OTTz7Bv/71LwwcOBAA8MMf/hCdO3fGpZdeiqVLl+K8885DXl4e0tLScNRRRzUqTypz5sypq1yw8te//tXyuzKZvQy+/fZbGIaBtm3bNtrGfK28vDxpnL59+wIAVq9ejXPOOafudfPY1X9v06ZN8dZbb+GnP/0pTj311LrXzz77bLz44ot1LetERERERE4xOafQ+/GPf2y5zQ9+8AMAwGWXXYZx48Zh8ODB6Ny5s5D91++qblqxYgXuvvtufPDBB6isrIz7244dO9CxY0fLuM8//zxmzZqFjz/+OK77ef2u1XY+12uvvYbc3Fz069cvroX73HPPrZtN/bzzzrP3YRO47LLL8Jvf/KbR6ytWrEBBQUHcaxdeeCE++OADV/uJxWKu/nbyySfjzDPPxP3334/jjjsOw4YNw4YNGzBhwgQ0adIEaWnfj/45dOgQLr/8cqxfvx5z587Fcccdh82bN+P3v/89hg0bhhUrVjTq8k5EREREZAeTcwq1li1b2up6feaZZ+Lll1/Gn//8Z1x11VWoqqrCCSecgNtuuw1jxozxVIatW7cCADp16gQAeP/99zF8+HCcffbZmDt3Lrp06YJmzZrh5Zdfxh/+8Afs37/fMuZLL72Eyy67DD/5yU/wm9/8BtnZ2WjatCkeeeQRPPnkk44+13/+8x988cUXSVt9d+7c6enzH3XUUXUt8vVt2bKl0Wtt27Z1nNweeeSRiMViCVvHd+3aVRc3leeffx5jx47FZZddBgBo1qwZbr75Zixfvhy7d++u227evHn4xz/+gQ8++KDuM51xxhl1k8/NmjULd911l6PyExEREREBTM4p5FK1mDY0atQojBo1ClVVVSguLsY999yDK664At27d8egQYNc7d8wDLz66qto1apVXTK3YMECpKen47XXXotr5XayRNn8+fPRo0cPLFy4MO4zVlVVOf5c7du3R4sWLeKS+vrat29vu1xeuenW3qJFCxxzzDFYt25do23WrVuHFi1aoGfPniljdejQAUuWLMGOHTtQVlaGbt26oUWLFpgzZw4uvfTSuu1KSkrQpEkT9O/fP+79PXv2RLt27bB+/XpbZSciIiIiaojJOVEDGRkZOOuss9CmTRu88cYbWLt2revkfPr06diwYQNuvfXWukQ8FouhadOmaNKkSd12+/fvx9/+9reEZUnUkh6LxdCsWbO4xLysrCzhbO1Wn+uCCy7A3XffjXbt2qFHjx4pP0+y8ojitlv7xRdfjFmzZuGrr75C165dAQB79uzBSy+9hIsuuqhu8jgrHTp0QIcOHQDUjsXfu3cvJk6cWPf3Tp06obq6Gh988AFOO+20utc/++wzlJeXo0uXLo7LTkREREQEMDknAgDceeed+Prrr/HDH/4QXbp0we7duzF79mykp6fjrLPOsnz/7t27UVxcDADYu3cv/v3vf2PBggVYuXIlLrvsMkyfPr1u25EjR+KBBx7AFVdcgV/84hcoLy/HH//4x0azhQPAiSeeiAULFmDhwoXo2bMnmjdvjhNPPBEXXHABXnrpJdxwww249NJL8dVXX2HGjBnIycnB559/7uhz3XTTTXjxxRdx5pln4uabb8ZJJ52EmpoabNu2DW+++SZ+/etf1yWiJ554It5++228+uqryMnJQevWrXHcccd5Ovb1tWvXDu3atXP8vltuuQV/+9vfMHLkSPzud79DRkYG7r33Xhw4cADTpk2L2/aYY44BAHzxxRd1r82dOxcA0KtXL+zevRv/+Mc/MG/ePNx9991xreTXXHMNHnzwQfz4xz/G7bffjuOOOw5ffvkl7r77brRq1QoTJkxw8amJiIiIiJicEwEATjvtNHz44YcoKCjAf//7X7Rp0wYDBw7EihUrcMIJJ1i+f/Xq1Rg0aBBisRhatWqFzp0749RTT8Xtt9+O4cOHx22bn5+PJ598EjNnzsSFF16Izp07Y/z48ejQoQPGjRsXt+306dNRWlqK8ePHY8+ePejWrRu2bNmCa665Bjt27MCjjz6KJ598Ej179sSUKVPw9ddfx1UE2PlcrVq1wsqVK3Hvvffi8ccfx+bNm9GiRQscffTRGDp0aNx68LNnz8aNN96I0aNH1y3B9vbbb7s/8IIcddRRWLlyJW655RZcffXVOHz4MAYNGoS3334bxx9/fNy2iZZ1MwwDs2bNwtatW5GWloZTTjkFixYtwqhRo+K269q1Kz744AP87ne/w8yZM1FaWoqOHTti0KBBuPPOO4VWVBARERFRtMSMRFNJExEREREREZFv0qw3ISIiIiIiIiKZmJwTERERERERBYzJOREREREREVHAmJwTERGRLe+++y4uvPBCdOrUCbFYDC+//LLle9555x0MGDAAzZs3R8+ePfHoo4/KLygREZGGmJwTERGRLXv37sXJJ5+Mhx56yNb2mzdvxvnnn48zzjgDa9euxa233opf/epXePHFFyWXlIiISD+crZ2IiIgci8ViWLRoEX70ox8l3aagoACvvPIKNm7cWPfahAkT8PHHH6OoqMiHUhIREelD63XOa2pq8M0336B169aIxWJBF4eIiAiGYWDPnj3o1KkT0tKi3UGtqKgIw4cPj3vt3HPPxbx583Do0CGkp6c3ek9VVRWqqqrq/l1TU4Ndu3ahXbt2fNYTEZESZD3rtU7Ov/nmG3Tt2jXoYhARETXy1VdfoUuXLkEXI1BlZWXo2LFj3GsdO3bE4cOHsXPnTuTk5DR6zz333IPp06f7VUQiIiLXRD/rtU7OW7duDaD2oGRmZgZcGiIiIqCyshJdu3ate0ZFXcPWbnM0XbJW8KlTp2Ly5Ml1/66oqMDRRx/NZz0RESlD1rNe6+TcfLBnZmbygU1EREphF2wgOzsbZWVlca/t2LEDTZs2Rbt27RK+JyMjAxkZGY1e57OeiIhUI/pZH+3BcERERCTNoEGDsGzZsrjX3nzzTQwcODDheHMiIqIoY3JOREREtnz33XcoKSlBSUkJgNql0kpKSrBt2zYAtV3Sr7rqqrrtJ0yYgK1bt2Ly5MnYuHEjnnzyScybNw+33HJLEMUnIiJSmtbd2omIiMg/H374Ic4555y6f5tjw6+++mo8/fTTKC0trUvUAaBHjx5YsmQJbr75Zjz88MPo1KkT/vznP+PHP/6x72UnIiJSndbrnFdWViIrKwsVFRUch0ZERErgs0ksHk8iIlKNrGcTu7UTERERERERBSzQ5Lx79+6IxWKN/rvxxhuDLBYRERERERGRrwIdc/7BBx+gurq67t/r16/HsGHD8JOf/CTAUhERERERERH5K9Dk/Kijjor797333otevXrhrLPOCqhERERERERERP5TZrb2gwcPYv78+Zg8eXLSxdyrqqpQVVVV9+/Kykq/ikdEREREREQkjTITwr388svYvXs3xo4dm3Sbe+65B1lZWXX/de3a1b8CEhEREREREUmiTHI+b948nHfeeejUqVPSbaZOnYqKioq6/7766isfS0hEREREREQkhxLd2rdu3Yrly5fjpZdeSrldRkYGMjIyfCoVERGppLrGwPubd2HHngPo0Lo5Tu3RFk3SEg+DIiIiItKNEsn5U089hQ4dOmDkyJFBF4WIiBS0dH0ppr+6AaUVB+pey8lqjrsu7IsRuTkBloyIiIhIjMC7tdfU1OCpp57C1VdfjaZNlagrICIihSxdX4rr56+JS8wBoKziAK6fvwZL15cGVDIiIiIicQJPzpcvX45t27bh5z//edBFISIixVTXGJj+6gYYCf5mvjb91Q2orkm0BREREZE+Am+qHj58OAyDP6qIiKix9zfvatRiXp8BoLTiAN7fvAuDerXzr2BEREREggXeck5ERJTMjj3JE3M32xERERGpisk5EREpq0Pr5kK3IyIiIlIVk3MiIlLWqT3aIierOZItmBZD7aztp/Zo62exiIiIiIRjck5ERMpqkhbDXRf2BYBGCbr577su7Mv1zomIiEh7TM6JiEhpI3Jz8MjP+iM7K77renZWczzys/5c55yIiIhCIfDZ2omIiKyMyM3BsL7ZeH/zLuzYcwAdWtd2ZWeLOREREYUFk3MiItJCk7QYl0sjIiL6//buPD6q8uz/+HeSkIQIGQSEBMQk4AIxLiyFBom2IKvF+usiLmxVqaBVBDcirRhc8lBra201IoJWcOFpXSrPk2KpCgSNoiwqDY8ihEVNjBBNUCAxM+f3RzojQ7ZzhjlzZiaf9+uVV5kz95xznftghyvnPteFmMWydgAAAAAAHMadcwBAVKhv8Gp56W7tqT6kjK4pmpKbqcQEfscMAABiA8k5ACDiFRaXaUlJubzGd9vuLd6uGXlZyp+Q7VxgAAAAIUJyDgCIaIXFZVq8vrzJdq8h/3YS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/9D//u//6rzzzrMjHrQTkdTGq60l3XbEGknnDwAAAMB5lpPzE088UV270loJx8euVmJWmSmGZkeskXL+AAAAACJDXNtDAt1999268847dejQITviQTvha/klfVfx3Cdcbbx8FdiPffa7suaIZq3YrNXbKmyLNRLOHwAAAEDksFytfeDAgdq5c6cMw1BmZqY6dOgQ8P7mzS23hgo1KrhGP6faeAVTLd2OWGljBsQevptCi/kEAESaiKnWfskll4Ts4MC4nHSNzk4LexuvYKql2xGrU+cPAAAAILJYTs4XLFhgRxxox5xo4xVstXQ7YqWNGQAAAADLz5xL0ldffaXHH39c+fn5qq6ultS4nP3TTz8NaXCAXaiWDgAAACCSWL5z/v777+vCCy+U2+3W7t27NWPGDHXt2lUvvvii9uzZo6eeesqOOIGQolo6AAAAgEhi+c753LlzNX36dO3YsUPJyd/dVRw/frzWr18f0uAAu/iqpbdUDdEQ1dIBAAAAhI/l5Pydd97Rtdde22R77969VVlZGZKgAAAAAABoTywn58nJyaqtrW2y/cMPP9RJJ50UkqAAu3m8hgpWlbX4vktSwaoyebyWOg0CAAAAQFAsJ+c//vGPtXDhQn377beSJJfLpb1792revHn66U9/GvIAATtYaaUGAAAAAHaznJz/7ne/0xdffKEePXro8OHDuuCCC3Tqqaeqc+fOuvfee+2IEQi5YFupAQAAAIAdLFdrT01N1YYNG/Taa69p8+bN8nq9GjRokC688EI74gNsEWwrNY/X0MbyalUdPKIenRuruVM0DgAAAMDxspyc+4wcOVIjR44MZSxA2ATTSm31tgoVrCoLWA6f7k7WgonZGpeTbn/QAAAAAGKWqeT8oYceMr3DG2+8MehggHDxtVKbtWKzXFJAgu67D350K7XV2yo0a8XmJol8Zc0RzVqxWUWTB5GgAwAAAAiayzCMNstRZ2VlmduZy6Vdu3Ydd1Bm1dbWyu12q6amRqmpqWE7LmKHmbvhHq+hEYtea7GAnO8u+4bbR7LEHQDfTSHGfAIAIo1d302m7pyXl5eH7IBAJBmXk67R2WmtPkdupbJ7br9uYYgaAAAAQKwJ+plzIFbEx7laTaqp7A4AAADAbpZbqQHtTbCV3QEAAADALO6cw5L22EosmMruUvucKwAAAADBITmHae21lZjV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zilartfRZs+ebfTr18/wer3Nvh/p16k5bZ1TNFyniy66yLjqqqsCtv3kJz8xJk+e3OJnovFaRZqhQ4caM2fODNjWv39/Y968ec2OZ87bZnVOm5OdnW0UFBSEOrSoFOx8Tpo0yfj1r39t+d8h7YHVOf3HP/5huN1u48CBA+EIL+pYnc/777/f6Nu3b8C2hx56yDj55JNtizGamUnOQ/XdxLL243T99dfroosu0oUXXmj6MwMHDlR6erpGjRql119/3cbogrNjxw716tVLWVlZuuyyy7Rr164Wx5aWlmrMmDEB28aOHat3331X3377rd2hmmblnHwi/Tq9/PLLGjJkiH7+85+rR48eGjhwoJYsWdLqZyL9egVzTj6Rfr186uvrtWLFCl111VVyuVzNjon063QsM+fkE8nXacSIEXr11Vf10UcfSZLee+89bdiwQRMmTGjxM9F2rSJNfX29Nm3a1GQOx4wZozfffLPZzzDnrQtmTo/l9Xp18OBBde3a1Y4Qo0qw8/nEE09o586dWrBggd0hRp1g5tT374Pf/va36t27t04//XTdcsstOnz4cDhCjmjBzOfw4cP1ySefqLi4WIZh6PPPP9ff/vY3XXTRReEIOSaF6ruJ5Pw4PPfcc9q8ebMKCwtNjU9PT9djjz2m559/Xi+88ILOOOMMjRo1SuvXr7c5UvOGDRump556Sq+88oqWLFmiyspKDR8+vMVnUCorK9WzZ8+AbT179lRDQ4P2798fjpDbZPWcouE6SdKuXbtUVFSk0047Ta+88opmzpypG2+8UU899VSLn4n06xXMOUXL9fJ56aWX9NVXX2n69Oktjon063QsM+cUDdfp9ttv1+WXX67+/furQ4cOGjhwoG666SZdfvnlLX4m2q5VpNm/f788Hk+zc1hZWdnsZ5jz1gUzp8d64IEH9M033+jSSy+1I8SoEsx87tixQ/PmzdPTTz+thISEcIQZVYKZ0127dmnDhg3atm2bXnzxRT344IP629/+1mrtlvYimPkcPny4nn76aU2aNEmJiYlKS0tTly5d9Kc//SkcIcekUH038f8YQdq3b59mz56tf/7zn0pOTjb1mTPOOENnnHGG/3Vubq727dun3/3udzr//PPtCtWS8ePH+/981llnKTc3V/369dNf/vIXzZ07t9nPHHunrHH1R9PtTrF6TtFwnaTGOxtDhgzRfffdJ6nxjuS///1vFRUVaerUqS1+LpKvVzDnFC3Xy2fp0qUaP368evXq1eq4SL5OxzJzTtFwnVauXKkVK1bomWee0ZlnnqmtW7fqpptuUq9evTRt2rQWPxdN1ypSNTeHrc0fc942q3Pq8+yzz+quu+7S3//+d/Xo0cOu8KKO2fn0eDy64oorVFBQoNNPPz1c4UUlK39HvV6vXC6Xnn76abndbknS73//e/3sZz/Tww8/rI4dO9oeb6SzMp9lZWW68cYbdeedd2rs2LGqqKjQrbfeqpkzZ2rp0qXhCDcmheK7iTvnQdq0aZOqqqo0ePBgJSQkKCEhQevWrdNDDz2khIQEeTweU/v5/ve/rx07dtgcbfBOOOEEnXXWWS3GmJaW1uS3clVVVUpISFC3bt3CEaJlbZ1TcyLxOqWnpys7Oztg24ABA7R3794WPxPp1yuYc2pOJF4vSdqzZ4/+9a9/6Zprrml1XKRfp6OZPafmRNp1uvXWWzVv3jxddtllOuusszRlyhTNmTOn1dVR0XStIlH37t0VHx/f7BweewfChzlvXTBz6rNy5UpdffXV+u///m9Lj+vFMqvzefDgQb377rv61a9+5f/34cKFC/Xee+8pISFBr732WrhCj1jB/B1NT09X7969/Ym51PjvA8Mw9Mknn9gab6QLZj4LCwt13nnn6dZbb9XZZ5+tsWPH6pFHHtGyZctUUVERjrBjTqi+m0jOgzRq1Ch98MEH2rp1q/9nyJAhuvLKK7V161bFx8eb2s+WLVuUnp5uc7TBq6ur0/bt21uMMTc3V2vWrAnY9s9//lNDhgxRhw4dwhGiZW2dU3Mi8Tqdd955+vDDDwO2ffTRR8rIyGjxM5F+vYI5p+ZE4vWSGp9B7NGjR5vPdEX6dTqa2XNqTqRdp0OHDikuLvBrMT4+vtVWatF0rSJRYmKiBg8e3GQO16xZo+HDhzf7Gea8dcHMqdR4x3z69Ol65plneO70KFbnMzU1tcm/D2fOnKkzzjhDW7du1bBhw8IVesQK5u/oeeedp88++0xff/21f9tHH32kuLg4nXzyybbGG+mCmc+Wvu+k7+72wpqQfTdZKh+HVh1brX3evHnGlClT/K//8Ic/GC+++KLx0UcfGdu2bTPmzZtnSDKef/55B6Jt3s0332ysXbvW2LVrl/HWW28ZP/rRj4zOnTsbu3fvNgyj6Tn52gbMmTPHKCsrM5YuXRpxLW2snlM0XCfDaGzhl5CQYNx7773Gjh07jKefftpISUkxVqxY4R8TbdcrmHOKluvl8XiMU045xbj99tubvBdt18nHyjlFw3WaNm2a0bt3b38rtRdeeMHo3r27cdttt/nHROu1imS+FkBLly41ysrKjJtuusk44YQTovp7x2lW5/SZZ54xEhISjIcffjig1eFXX33l1ClEFKvzeSyqtTdldU4PHjxonHzyycbPfvYz49///rexbt0647TTTjOuueYap04holidzyeeeMJISEgwHnnkEWPnzp3Ghg0bjCFDhhhDhw516hQizsGDB40tW7YYW7ZsMSQZv//9740tW7b429PZ9d1Ech5Cxybn06ZNMy644AL/60WLFhn9+vUzkpOTjRNPPNEYMWKE8b//+7/hD7QVkyZNMtLT040OHToYvXr1Mn7yk58Y//73v/3vH3tOhmEYa9euNQYOHGgkJiYamZmZRlFRUZijbp3Vc4qG6+SzatUqIycnx0hKSjL69+9vPPbYYwHvR+P1snpO0XK9XnnlFX+f72NF43UyDGvnFA3Xqba21pg9e7ZxyimnGMnJyUbfvn2N+fPnG3V1df4x0XqtIt3DDz9sZGRkGImJicagQYOMdevW+d9jzoNjZU4vuOACQ1KTn2nTpoU/8Ahl9e/o0UjOm2d1Trdv325ceOGFRseOHY2TTz7ZmDt3rnHo0KEwRx25rM7nQw89ZGRnZxsdO3Y00tPTjSuvvNL45JNPwhx15PK1gG3p/xft+m5yGQZrFwAAAAAAcBLPnAMAAAAA4DCScwAAAAAAHEZyDgAAAACAw0jOAQAAAABwGMk5AAAAAAAOIzkHAAAAAMBhJOcAAAAAADiM5BwAAAAAAIeRnANRwOVy6aWXXmrx/R/84Ae66aabwhZPa9auXSuXy6WvvvrK8meXLl2qMWPGhD6oo/z5z3/WxRdfbOsxAAAAAKtIzoEWVFVV6dprr9Upp5yipKQkpaWlaezYsSotLXU6tIgRyl8K1NXV6c4779RvfvObkOyvJTNmzNA777yjDRs22HocAAAAwIoEpwMAItVPf/pTffvtt/rLX/6ivn376vPPP9err76q6upqp0OLSc8//7w6deqkvLw8W4+TlJSkK664Qn/60580YsQIW48FAAAAmMWdc6AZX331lTZs2KBFixbphz/8oTIyMjR06FDl5+froosu8o+rqanRL3/5S/Xo0UOpqakaOXKk3nvvPf/7d911l84991wtXrxYffr0UUpKin7+858HLPl+5513NHr0aHXv3l1ut1sXXHCBNm/efFzx19fX67bbblPv3r11wgknaNiwYVq7dq3//SeffFJdunTRK6+8ogEDBqhTp04aN26cKioq/GMaGhp04403qkuXLurWrZtuv/12TZs2TZdccokkafr06Vq3bp3++Mc/yuVyyeVyaffu3f7Pb9q0SUOGDFFKSoqGDx+uDz/8sNWYn3vuuWaXmy9btkxnnnmmkpKSlJ6erl/96lf+91wulxYvXqwf/ehHSklJ0YABA1RaWqqPP/5YP/jBD3TCCScoNzdXO3fuDNjnxRdfrJdeekmHDx+2MKsAAACAfUjOgWZ06tRJnTp10ksvvaS6urpmxxiGoYsuukiVlZUqLi7Wpk2bNGjQII0aNSrg7vrHH3+s//7v/9aqVau0evVqbd26Vddff73//YMHD2ratGkqKSnRW2+9pdNOO00TJkzQwYMHg47/F7/4hd544w0999xzev/99/Xzn/9c48aN044dO/xjDh06pN/97ndavny51q9fr7179+qWW27xv79o0SI9/fTTeuKJJ/TGG2+otrY24Ln3P/7xj8rNzdWMGTNUUVGhiooK9enTx//+/Pnz9cADD+jdd99VQkKCrrrqqlZjLikp0ZAhQwK2FRUV6frrr9cvf/lLffDBB3r55Zd16qmnBoy5++67NXXqVG3dulX9+/fXFVdcoWuvvVb5+fl69913JSkgoZekIUOG6Ntvv9XGjRvNTSgAAABgNwNAs/72t78ZJ554opGcnGwMHz7cyM/PN9577z3/+6+++qqRmppqHDlyJOBz/fr1MxYvXmwYhmEsWLDAiI+PN/bt2+d//x//+IcRFxdnVFRUNHvchoYGo3PnzsaqVav82yQZL774YouxXnDBBcbs2bMNwzCMjz/+2HC5XMann34aMGbUqFFGfn6+YRiG8cQTTxiSjI8//tj//sMPP2z07NnT/7pnz57G/fffHxDXKaecYvz4xz9u9rg+r7/+uiHJ+Ne//uXf9r//+7+GJOPw4cPNxv/ll18akoz169cHbO/Vq5cxf/78Fs9bkvHrX//a/7q0tNSQZCxdutS/7dlnnzWSk5ObfPbEE080nnzyyRb3DQAAAIQTd86BFvz0pz/VZ599ppdfflljx47V2rVrNWjQID355JOSGpdtf/311+rWrZv/TnunTp1UXl4esIz6lFNO0cknn+x/nZubK6/X61/mXVVVpZkzZ+r000+X2+2W2+3W119/rb179wYV9+bNm2UYhk4//fSAuNatWxcQV0pKivr16+d/nZ6erqqqKkmNy/U///xzDR061P9+fHy8Bg8ebDqOs88+O2DfvnNtjm95eXJysn9bVVWVPvvsM40aNcr0cXr27ClJOuusswK2HTlyRLW1tQGf69ixow4dOmTmVAAAAADbURAOaEVycrJGjx6t0aNH684779Q111yjBQsWaPr06fJ6vUpPTw94ltunS5cuLe7T5XIF/O/06dP1xRdf6MEHH1RGRoaSkpKUm5ur+vr6oGL2er2Kj4/Xpk2bFB8fH/Bep06d/H/u0KFDk7gMw2g2Vp9j32/N0fv37cfr9TY7tlu3bnK5XPryyy/92zp27Bj0ccwcu7q6WieddJKpYwAAAAB24845YEF2dra++eYbSdKgQYNUWVmphIQEnXrqqQE/3bt3939m7969+uyzz/yvS0tLFRcXp9NPP11S47PWN954oyZMmOAvfLZ///6gYxw4cKA8Ho+qqqqaxJWWlmZqH263Wz179gx4Jtvj8WjLli0B4xITE+XxeIKO9ej9ZGdnq6yszL+tc+fOyszM1Kuvvnrc+z/Wzp07deTIEQ0cODDk+wYAAACCQXIONOPAgQMaOXKkVqxYoffff1/l5eX661//qt/+9rf68Y9/LEm68MILlZubq0suuUSvvPKKdu/erTfffFO//vWv/YXIpMa779OmTdN7773nT8QvvfRSf6J86qmnavny5dq+fbvefvttXXnllabvGjfn9NNP15VXXqmpU6fqhRdeUHl5ud555x0tWrRIxcXFpvdzww03qLCwUH//+9/14Ycfavbs2fryyy8D7qZnZmbq7bff1u7du7V///4W74ybMXbs2Ca9x++66y498MADeuihh7Rjxw5t3rxZf/rTn4I+hk9JSYn69u0bsKwfAAAAcBLL2oFmdOrUScOGDdMf/vAH7dy5U99++6369OmjGTNm6I477pDUuFy6uLhY8+fP11VXXaUvvvhCaWlpOv/88/3PPkuNyfdPfvITTZgwQdXV1ZowYYIeeeQR//vLli3TL3/5Sw0cOFCnnHKK7rvvvoCq6cF44okndM899+jmm2/Wp59+qm7duik3N1cTJkwwvY/bb79dlZWVmjp1quLj4/XLX/5SY8eODVgqf8stt2jatGnKzs7W4cOHVV5eHnTMM2bM0KBBg1RTUyO32y1JmjZtmo4cOaI//OEPuuWWW9S9e3f97Gc/C/oYPs8++6xmzJhx3PsBAAAAQsVlWHmIFIAld911l1566SVt3brV6VCOm9fr1YABA3TppZfq7rvvtuUYl156qQYOHKj8/Hxb9i9J27Zt06hRo/TRRx/5fwkAAAAAOI1l7QCatWfPHi1ZskQfffSRPvjgA82aNUvl5eW64oorbDvm/fffH1C0zg6fffaZnnrqKRJzAAAARBSWtQNoVlxcnJ588kndcsstMgxDOTk5+te//qUBAwbYdsyMjAzdcMMNtu1fksaMGWPr/gEAAIBgsKwdAAAAAACHsawdAAAAAACHkZwDAAAAAOAwknMAAAAAABxGcg4AAAAAgMNIzgEAAAAAcBjJOQAAAAAADiM5BwAAAADAYSTnAAAAAAA47P8DZHdKLjK83AQAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 1200x1200 with 4 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import itertools\n", + "import pandas as pd\n", + "from sklearn.datasets import load_iris\n", + "import sys\n", + "import os\n", + "\n", + "sys.path.insert(0, os.path.abspath(\"..\"))\n", + "from src.BioHelpers_FABER.cluster import hopkins\n", + "\n", + "# Create test data\n", + "num_d = 20\n", + "iris = load_iris(as_frame=True)\n", + "\n", + "grid = np.array(\n", + " list(itertools.product(np.linspace(0, 1, num=num_d), np.linspace(0, 1, num=num_d)))\n", + ")\n", + "uniform = np.random.uniform(0, 1, (num_d**2, 2))\n", + "iris_points = np.stack(\n", + " (iris.data[\"sepal length (cm)\"], iris.data[\"petal length (cm)\"]), axis=1\n", + ")\n", + "\n", + "fig, ax = plt.subplots(2, 2, figsize=(12, 12))\n", + "ax[0, 0].scatter(grid[:, 0], grid[:, 1])\n", + "ax[0, 0].set_title(f\"Grid H={hopkins(grid):.2f}\")\n", + "ax[0, 1].scatter(uniform[:, 0], uniform[:, 1])\n", + "ax[0, 1].set_title(f\"Uniform H={hopkins(uniform):.2f}\")\n", + "ax[1, 0].scatter(iris_points[:, 0], iris_points[:, 1])\n", + "ax[1, 0].set_title(f\"Iris Dataset H={hopkins(iris_points):.2f}\")\n", + "ax[1, 0].set_xlabel(\"Sepal length (cm)\")\n", + "ax[1, 0].set_ylabel(\"Petal length (cm)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8576da6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "default", + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/simrna_5zal_L0.5.res b/examples/simrna_5zal_L0.5.res similarity index 100% rename from simrna_5zal_L0.5.res rename to examples/simrna_5zal_L0.5.res diff --git a/pixi.lock b/pixi.lock new file mode 100644 index 0000000000000000000000000000000000000000..84d1225d90c5110da23e4e7f1cb2f5e0590945c9 --- /dev/null +++ b/pixi.lock @@ -0,0 +1,2289 @@ +version: 6 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.13-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/biopython-1.85-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2025.1.31-hbcca054_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.1-py311hd18a35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.27-h54b06d7_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.13-py311hfdbb021_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.0-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.57.0-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.13.3-h48d6fc4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.0.1-h2c12942_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh3099207_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.1.0-pyhfb0248b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.7-py311hd18a35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-31_h59b9bed_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-31_he106b2a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.2-default_hb5137d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-20.1.2-default_h9c6a7e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.23-h4ddbbb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.124-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hf1ad2bd_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.1-h2ff4ddf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h4ce23a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-31_h7ac8fdf_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.2-ha7bfdaf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.29-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.47-h943b412_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.4-h27ae623_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.49.1-hee588c1_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-h8f9b012_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.0-hd9ff511_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.5.0-h851e524_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.8.1-hc4a0caf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.7-h4bc477f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.39-h76b75d6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.1-py311h38be061_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.1-py311h2b939e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-common-9.2.0-h266115a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-9.2.0-he0572af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.4-py311h5d046bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.3-h5fbd93e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.9-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.0-h7b32b05_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py311h7db5c69_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.44-hba22ea6_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.1.0-py311h1322bbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.0.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.44.2-h29eaf8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.50-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.0-py311h9053184_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.11-h9e4cc4f_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-6_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.4.0-py311h7deb3e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.0-h6441bc3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.6.1-py311h57cc02b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.15.2-py311h8f841c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.2-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.13.1-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.23.1-h3e06ad9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.43-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.1-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + size: 2562 + timestamp: 1578324546067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + build_number: 16 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.13-hb9d3cd8_0.conda + sha256: f507b58f77eabc0cc133723cb7fc45c053d551f234df85e70fb3ede082b0cd53 + md5: ae1370588aa6a5157c34c73e9bbb36a0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + license_family: GPL + size: 560238 + timestamp: 1731489643707 +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda + sha256: 93b14414b3b3ed91e286e1cbe4e7a60c4e1b1c730b0814d1e452a8ac4b9af593 + md5: 8f587de4bcf981e26228f268df374a9b + depends: + - python >=3.9 + constrains: + - astroid >=2,<4 + license: Apache-2.0 + license_family: Apache + size: 28206 + timestamp: 1733250564754 +- conda: https://conda.anaconda.org/conda-forge/linux-64/biopython-1.85-py311h9ecbd09_1.conda + sha256: c392986ba6dd3de39c22491cf2bbd85fa5410fdaaba123d29c30f4ef3f6ae986 + md5: d59fce3d5e2cbf0e2e00bc2155dcb887 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - numpy + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: LicenseRef-Biopython + size: 3509470 + timestamp: 1737241870452 +- conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda + sha256: c68f110cd491dc839a69e340930862e54c00fb02cede5f1831fcf8a253bd68d2 + md5: b9b0c42e7316aa6043bdfd49883955b8 + depends: + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9 + - platformdirs >=2 + - python >=3.11 + license: MIT + license_family: MIT + size: 172678 + timestamp: 1742502887437 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb9d3cd8_2.conda + sha256: fcb0b5b28ba7492093e54f3184435144e074dfceab27ac8e6a9457e736565b0b + md5: 98514fe74548d768907ce7a13f680e8f + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.1.0 hb9d3cd8_2 + - libbrotlidec 1.1.0 hb9d3cd8_2 + - libbrotlienc 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 19264 + timestamp: 1725267697072 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb9d3cd8_2.conda + sha256: 261364d7445513b9a4debc345650fad13c627029bfc800655a266bf1e375bc65 + md5: c63b5e52939e795ba8d26e35d767a843 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.1.0 hb9d3cd8_2 + - libbrotlienc 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 18881 + timestamp: 1725267688731 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d + md5: 62ee74e96c5ebb0af99386de58cf9553 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 252783 + timestamp: 1720974456583 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2025.1.31-hbcca054_0.conda + sha256: bf832198976d559ab44d6cdb315642655547e26d826e34da67cbee6624cda189 + md5: 19f3a56f68d2fd06c516076bff482c52 + license: ISC + size: 158144 + timestamp: 1738298224464 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 + md5: 09262e66b19567aff4f592fb53b28760 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.5,<2.0a0 + - xorg-libx11 >=1.8.11,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + size: 978114 + timestamp: 1741554591855 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab + md5: f22f4d4970e09d68a10b922cbb0408d3 + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 84705 + timestamp: 1734858922844 +- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_1.conda + sha256: 7e87ef7c91574d9fac19faedaaee328a70f718c9b4ddadfdc0ba9ac021bd64af + md5: 74673132601ec2b7fc592755605f4c1b + depends: + - python >=3.9 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 12103 + timestamp: 1733503053903 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.1-py311hd18a35c_0.conda + sha256: 08be6120dc9369f07858677dde2a8474644cc7ec2ae146b39a6953aadc536dfd + md5: 351cb68d2081e249069748b6e60b3cd2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.23 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 278209 + timestamp: 1731428493722 +- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda + sha256: 9827efa891e507a91a8a2acf64e210d2aff394e1cde432ad08e1f8c66b12293c + md5: 44600c4667a319d67dbe0681fc0bc833 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 13399 + timestamp: 1733332563512 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.27-h54b06d7_7.conda + sha256: d2ea5e52da745c4249e1a818095a28f9c57bd4df22cbfc645352defa468e86c2 + md5: dce22f70b4e5a407ce88f2be046f4ceb + depends: + - krb5 >=1.21.1,<1.22.0a0 + - libgcc-ng >=12 + - libntlm + - libstdcxx-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause-Attribution + license_family: BSD + size: 219527 + timestamp: 1690061203707 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 + sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 + md5: ecfff944ba3960ecb334b9a2663d708d + depends: + - expat >=2.4.2,<3.0a0 + - libgcc-ng >=9.4.0 + - libglib >=2.70.2,<3.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 618596 + timestamp: 1640112124844 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.13-py311hfdbb021_0.conda + sha256: 5400b19311cefe11fcad1f758ec4341945f0bf1793d5501355d2e51260932a73 + md5: f343a9dfe2dd89abbdb1984aa435ca73 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 2548797 + timestamp: 1741148528729 +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 + md5: 9ce473d1d1be1cc3810856a48b3fab32 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + size: 14129 + timestamp: 1740385067843 +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + sha256: 1bcc132fbcc13f9ad69da7aa87f60ea41de7ed4d09f3a00ff6e0e70e1c690bc2 + md5: bfd56492d8346d669010eccafe0ba058 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 69544 + timestamp: 1739569648873 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda + sha256: cbde2c64ec317118fc06b223c5fd87c8a680255e7348dd60e7b292d2e103e701 + md5: a16662747cdeb9abbac74d0057cc976e + depends: + - python >=3.9 + license: MIT and PSF-2.0 + size: 20486 + timestamp: 1733208916977 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_1.conda + sha256: 28d25ea375ebab4bf7479228f8430db20986187b04999136ff5c722ebd32eb60 + md5: ef8b5fca76806159fc25b4f48d8737eb + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 28348 + timestamp: 1733569440265 +- conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.0-h5888daf_0.conda + sha256: dd5530ddddca93b17318838b97a2c9d7694fa4d57fc676cf0d06da649085e57a + md5: d6845ae4dea52a2f90178bf1829a21f8 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat 2.7.0 h5888daf_0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 140050 + timestamp: 1743431809745 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b + md5: 0c96522c6bdaed4b1566d11387caaf45 + license: BSD-3-Clause + license_family: BSD + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + sha256: 7093aa19d6df5ccb6ca50329ef8510c6acb6b0d8001191909397368b65b02113 + md5: 8f5b0b297b59e1ac160ad4beec99dbee + depends: + - __glibc >=2.17,<3.0.a0 + - freetype >=2.12.1,<3.0a0 + - libexpat >=2.6.3,<3.0a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + size: 265599 + timestamp: 1730283881107 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab + depends: + - fonts-conda-forge + license: BSD-3-Clause + license_family: BSD + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 + sha256: 53f23a3319466053818540bcdf2091f253cbdbab1e0e9ae7b9e509dcaa2a5e38 + md5: f766549260d6815b0c52253f1fb1bb29 + depends: + - font-ttf-dejavu-sans-mono + - font-ttf-inconsolata + - font-ttf-source-code-pro + - font-ttf-ubuntu + license: BSD-3-Clause + license_family: BSD + size: 4102 + timestamp: 1566932280397 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.57.0-py311h2dc5d0c_0.conda + sha256: 2157fff1f143fc99f9b27d1358b537f08478eb65d917279a3484c9c8989ea5fc + md5: 4175f366b41d3d0c80d02661a0a03473 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli + - libgcc >=13 + - munkres + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + size: 2927575 + timestamp: 1743732757561 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.13.3-h48d6fc4_0.conda + sha256: 7385577509a9c4730130f54bb6841b9b416249d5f4e9f74bf313e6378e313c57 + md5: 9ecfd6f2ca17077dd9c2d24770bb9ccd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libpng >=1.6.47,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GPL-2.0-only OR FTL + size: 639682 + timestamp: 1741863789964 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda + sha256: 0595b009f20f8f60f13a6398e7cdcbd2acea5f986633adcf85f5a2283c992add + md5: f87c7b7c2cb45f323ffbce941c78ab7c + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LGPL-2.0-or-later + license_family: LGPL + size: 96855 + timestamp: 1711634169756 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.0.1-h2c12942_0.conda + sha256: 5013bfd767f7fa00e1cd103d76800c10542953f6dc5f225e538c7c35d5aaf1c7 + md5: c90105cecb8bf8248f6666f1f5a40bbb + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - freetype >=2.13.3,<3.0a0 + - graphite2 + - icu >=75.1,<76.0a0 + - libexpat >=2.7.0,<3.0a0 + - libgcc >=13 + - libglib >=2.84.1,<3.0a0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + size: 2029831 + timestamp: 1744033845291 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e + md5: 8b189310083baabfb622af68fd9d3ae3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 12129203 + timestamp: 1720853576813 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda + sha256: 598951ebdb23e25e4cec4bbff0ae369cec65ead80b50bc08b441d8e54de5cf03 + md5: f4b39bf00c69f56ac01e020ebfac066c + depends: + - python >=3.9 + - zipp >=0.5 + license: Apache-2.0 + license_family: APACHE + size: 29141 + timestamp: 1737420302391 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh3099207_0.conda + sha256: 33cfd339bb4efac56edf93474b37ddc049e08b1b4930cf036c893cc1f5a1f32a + md5: b40131ab6a36ac2c09b7c57d4d3fbf99 + depends: + - __linux + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=6.1.12 + - jupyter_core >=4.12,!=5.0.* + - matplotlib-inline >=0.1 + - nest-asyncio + - packaging + - psutil + - python >=3.8 + - pyzmq >=24 + - tornado >=6.1 + - traitlets >=5.4.0 + license: BSD-3-Clause + license_family: BSD + size: 119084 + timestamp: 1719845605084 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.1.0-pyhfb0248b_0.conda + sha256: 24cabcd711d03d2865a67ebc17941bc9bde949b3f0c9a34655c4153dce1c34c3 + md5: b6c7f97b71c0f670dd9e585d3f65e867 + depends: + - __unix + - pexpect >4.3 + - decorator + - exceptiongroup + - ipython_pygments_lexers + - jedi >=0.16 + - matplotlib-inline + - pickleshare + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.4.0 + - python >=3.11 + - stack_data + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - python + license: BSD-3-Clause + license_family: BSD + size: 619977 + timestamp: 1744033187813 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 + depends: + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 13993 + timestamp: 1737123723464 +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 + md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + depends: + - parso >=0.8.3,<0.9.0 + - python >=3.9 + license: Apache-2.0 AND MIT + size: 843646 + timestamp: 1733300981994 +- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_1.conda + sha256: 51cc2dc491668af0c4d9299b0ab750f16ccf413ec5e2391b924108c1fbacae9b + md5: bf8243ee348f3a10a14ed0cae323e0c1 + depends: + - python >=3.9 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 220252 + timestamp: 1733736157394 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda + sha256: 19d8bd5bb2fde910ec59e081eeb59529491995ce0d653a5209366611023a0b3a + md5: 4ebae00eae9705b0c3d6d1018a81d047 + depends: + - importlib-metadata >=4.8.3 + - jupyter_core >=4.12,!=5.0.* + - python >=3.9 + - python-dateutil >=2.8.2 + - pyzmq >=23.0 + - tornado >=6.2 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 106342 + timestamp: 1733441040958 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + sha256: 732b1e8536bc22a5a174baa79842d79db2f4956d90293dd82dc1b3f6099bcccd + md5: 0a2980dada0dd7fd0998f0342308b1b1 + depends: + - __unix + - platformdirs >=2.5 + - python >=3.8 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 57671 + timestamp: 1727163547058 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb + md5: 30186d27e2c9fa62b45fb1476b7200e3 + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 117831 + timestamp: 1646151697040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.7-py311hd18a35c_0.conda + sha256: 4af11cbc063096a284fe1689b33424e7e49732a27fd396d74c7dee03d1e788ee + md5: be34c90cce87090d24da64a7c239ca96 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 72393 + timestamp: 1725459421768 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1370023 + timestamp: 1719463201255 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + sha256: d6a61830a354da022eae93fa896d0991385a875c6bba53c82263a289deda9db8 + md5: 000e85703f0fd9594c81710dd5066471 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: MIT + license_family: MIT + size: 248046 + timestamp: 1739160907615 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda + sha256: db73f38155d901a610b2320525b9dd3b31e4949215c870685fd92ea61b5ce472 + md5: 01f8d123c96816249efd255a31ad7712 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 671240 + timestamp: 1740155456116 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 + sha256: cb55f36dcd898203927133280ae1dc643368af041a48bcf7c026acb7c47b0c12 + md5: 76bbff344f0134279f225174e9064c8f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: Apache-2.0 + license_family: Apache + size: 281798 + timestamp: 1657977462600 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-31_h59b9bed_openblas.conda + build_number: 31 + sha256: 9839fc4ac0cbb0aa3b9eea520adfb57311838959222654804e58f6f2d1771db5 + md5: 728dbebd0f7a20337218beacffd37916 + depends: + - libopenblas >=0.3.29,<0.3.30.0a0 + - libopenblas >=0.3.29,<1.0a0 + constrains: + - liblapacke =3.9.0=31*_openblas + - liblapack =3.9.0=31*_openblas + - blas =2.131=openblas + - mkl <2025 + - libcblas =3.9.0=31*_openblas + license: BSD-3-Clause + license_family: BSD + size: 16859 + timestamp: 1740087969120 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + sha256: d9db2de60ea917298e658143354a530e9ca5f9c63471c65cf47ab39fd2f429e3 + md5: 41b599ed2b02abcfdd84302bff174b23 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 68851 + timestamp: 1725267660471 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + sha256: 2892d512cad096cb03f1b66361deeab58b64e15ba525d6592bb6d609e7045edf + md5: 9566f0bd264fbd463002e759b8a82401 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 32696 + timestamp: 1725267669305 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + sha256: 779f58174e99de3600e939fa46eddb453ec5d3c60bb46cdaa8b4c127224dbf29 + md5: 06f70867945ea6a84d35836af780f1de + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 281750 + timestamp: 1725267679782 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-31_he106b2a_openblas.conda + build_number: 31 + sha256: ede8545011f5b208b151fe3e883eb4e31d495ab925ab7b9ce394edca846e0c0d + md5: abb32c727da370c481a1c206f5159ce9 + depends: + - libblas 3.9.0 31_h59b9bed_openblas + constrains: + - liblapacke =3.9.0=31*_openblas + - liblapack =3.9.0=31*_openblas + - blas =2.131=openblas + license: BSD-3-Clause + license_family: BSD + size: 16796 + timestamp: 1740087984429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.2-default_hb5137d0_0.conda + sha256: d87e9fd20c05be07c236fd56ff1b559614648d4848d0ea9334221e71db55e556 + md5: 729198eae19e9dbf8e0ffe355d416bde + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libllvm20 >=20.1.2,<20.2.0a0 + - libstdcxx >=13 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 20867052 + timestamp: 1743644318322 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-20.1.2-default_h9c6a7e4_0.conda + sha256: f7be7e0a914766e82046a9b0f1ddd6e6a4aba77404b897d96390d5c880ce9730 + md5: c5fe177150aecc6ec46609b0a6123f39 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libllvm20 >=20.1.2,<20.2.0a0 + - libstdcxx >=13 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 12112427 + timestamp: 1743644530303 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda + sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4 + md5: d4529f4dff3057982a7617c7ac58fde3 + depends: + - krb5 >=1.21.1,<1.22.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: Apache-2.0 + license_family: Apache + size: 4519402 + timestamp: 1689195353551 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.23-h4ddbbb0_0.conda + sha256: 511d801626d02f4247a04fff957cc6e9ec4cc7e8622bd9acd076bcdc5de5fe66 + md5: 8dfae1d2e74767e9ce36d5fa0d8605db + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 72255 + timestamp: 1734373823254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.124-hb9d3cd8_0.conda + sha256: f0d5ffbdf3903a7840184d14c14154b503e1a96767c328f61d99ad24b6963e52 + md5: 8bc89311041d7fcb510238cf0848ccae + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libpciaccess >=0.18,<0.19.0a0 + license: MIT + license_family: MIT + size: 242533 + timestamp: 1733424409299 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + depends: + - ncurses + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 + md5: c151d5eb730e9b7480e6d48c0fc44048 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + size: 44840 + timestamp: 1731330973553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + sha256: 33ab03438aee65d6aa667cf7d90c91e5e7d734c19a67aa4c7040742c0a13d505 + md5: db0bfbe7dd197b68ad5f30333bae6ce0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - expat 2.7.0.* + license: MIT + license_family: MIT + size: 74427 + timestamp: 1743431794976 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab + md5: ede4673863426c0883c0063d853bbd85 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 57433 + timestamp: 1743434498161 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda + sha256: 3a572d031cb86deb541d15c1875aaa097baefc0c580b54dc61f5edab99215792 + md5: ef504d1acbd74b7cc6849ef8af47dd03 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 14.2.0 h767d61c_2 + - libgcc-ng ==14.2.0=*_2 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 847885 + timestamp: 1740240653082 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda + sha256: fb7558c328b38b2f9d2e412c48da7890e7721ba018d733ebdfea57280df01904 + md5: a2222a6ada71fb478682efe483ce0f92 + depends: + - libgcc 14.2.0 h767d61c_2 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53758 + timestamp: 1740240660904 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_2.conda + sha256: e05263e8960da03c341650f2a3ffa4ccae4e111cb198e8933a2908125459e5a6 + md5: fb54c4ea68b460c278d26eea89cfbcc3 + depends: + - libgfortran5 14.2.0 hf1ad2bd_2 + constrains: + - libgfortran-ng ==14.2.0=*_2 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53733 + timestamp: 1740240690977 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hf1ad2bd_2.conda + sha256: c17b7cf3073a1f4e1f34d50872934fa326346e104d3c445abc1e62481ad6085c + md5: 556a4fdfac7287d349b8f09aba899693 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1461978 + timestamp: 1740240671964 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d + md5: 928b8be80851f5d8ffb016f9c81dae7a + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - libglx 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + size: 134712 + timestamp: 1731330998354 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.1-h2ff4ddf_0.conda + sha256: 18e354d30a60441b0bf5fcbb125b6b22fd0df179620ae834e2533d44d1598211 + md5: 0305434da649d4fb48a425e588b79ea6 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=13 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.44,<10.45.0a0 + constrains: + - glib 2.84.1 *_0 + license: LGPL-2.1-or-later + size: 3947789 + timestamp: 1743773764878 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 + md5: 434ca7e50e40f4918ab701e3facd59a0 + depends: + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + size: 132463 + timestamp: 1731330968309 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 + md5: c8013e438185f33b13814c5c488acd5c + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - xorg-libx11 >=1.8.10,<2.0a0 + license: LicenseRef-libglvnd + size: 75504 + timestamp: 1731330988898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda + sha256: 1a3130e0b9267e781b89399580f3163632d59fe5b0142900d63052ab1a53490e + md5: 06d02030237f4d5b3d9a7e7d348fe3c6 + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 459862 + timestamp: 1740240588123 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h4ce23a2_1.conda + sha256: 18a4afe14f731bfb9cf388659994263904d20111e42f841e9eea1bb6f91f4ab4 + md5: e796ff8ddc598affdf7c173d6145f087 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + size: 713084 + timestamp: 1740128065462 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda + sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f + md5: ea25936bb4080d843790b586850f82b8 + depends: + - libgcc-ng >=12 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + size: 618575 + timestamp: 1694474974816 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-31_h7ac8fdf_openblas.conda + build_number: 31 + sha256: f583661921456e798aba10972a8abbd9d33571c655c1f66eff450edc9cbefcf3 + md5: 452b98eafe050ecff932f0ec832dd03f + depends: + - libblas 3.9.0 31_h59b9bed_openblas + constrains: + - libcblas =3.9.0=31*_openblas + - liblapacke =3.9.0=31*_openblas + - blas =2.131=openblas + license: BSD-3-Clause + license_family: BSD + size: 16790 + timestamp: 1740087997375 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.2-ha7bfdaf_0.conda + sha256: fbb343514f3bcee38ea157bde5834b8b5afebb936fec6d521d3de1ee4e321369 + md5: 8354769527f9f441a3a04aa1c19188d9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libxml2 >=2.13.7,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 43003617 + timestamp: 1743601873840 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda + sha256: f4f21dfc54b08d462f707b771ecce3fa9bc702a2a05b55654f64154f48b141ef + md5: 0e87378639676987af32fee53ba32258 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: 0BSD + size: 112709 + timestamp: 1743771086123 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6 + md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 33408 + timestamp: 1697359010159 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + size: 33418 + timestamp: 1734670021371 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.29-pthreads_h94d23a6_0.conda + sha256: cc5389ea254f111ef17a53df75e8e5209ef2ea6117e3f8aced88b5a8e51f11c4 + md5: 0a4d0252248ef9a0f88f2ba8b8a08e12 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.29,<0.3.30.0a0 + license: BSD-3-Clause + license_family: BSD + size: 5919288 + timestamp: 1739825731827 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + sha256: 215086c108d80349e96051ad14131b751d17af3ed2cb5a34edd62fa89bfe8ead + md5: 7df50d44d4a14d6c31a2c54f2cd92157 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + size: 50757 + timestamp: 1731330993524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hd590300_0.conda + sha256: c0a30ac74eba66ea76a4f0a39acc7833f5ed783a632ca3bb6665b2d81aabd2fb + md5: 48f4330bfcd959c3cfb704d424903c82 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 28361 + timestamp: 1707101388552 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.47-h943b412_0.conda + sha256: 23367d71da58c9a61c8cbd963fcffb92768d4ae5ffbef9a47cdf1f54f98c5c36 + md5: 55199e2ae2c3651f6f9b2a447b47bdc9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: zlib-acknowledgement + size: 288701 + timestamp: 1739952993639 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.4-h27ae623_1.conda + sha256: ba2fd74be9d8c38489b9c6c18fa2fa87437dac76dfe285f86425c1b815e59fa2 + md5: 37fba334855ef3b51549308e61ed7a3d + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - openldap >=2.6.9,<2.7.0a0 + - openssl >=3.4.1,<4.0a0 + license: PostgreSQL + size: 2736307 + timestamp: 1743504522214 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + sha256: 0105bd108f19ea8e6a78d2d994a6d4a8db16d19a41212070d2d1d48a63c34161 + md5: a587892d3c13b6621a6091be690dbca2 + depends: + - libgcc-ng >=12 + license: ISC + size: 205978 + timestamp: 1716828628198 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.49.1-hee588c1_2.conda + sha256: a086289bf75c33adc1daed3f1422024504ffb5c3c8b3285c49f025c29708ed16 + md5: 962d6ac93c30b1dfc54c9cccafd1003e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 918664 + timestamp: 1742083674731 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-h8f9b012_2.conda + sha256: 8f5bd92e4a24e1d35ba015c5252e8f818898478cb3bc50bd8b12ab54707dc4da + md5: a78c856b6dc6bf4ea8daeb9beaaa3fb0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 14.2.0 h767d61c_2 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3884556 + timestamp: 1740240685253 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_2.conda + sha256: e86f38b007cf97cc2c67cd519f2de12a313c4ee3f5ef11652ad08932a5e34189 + md5: c75da67f045c2627f59e6fcb5f4e3a9b + depends: + - libstdcxx 14.2.0 h8f9b012_2 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53830 + timestamp: 1740240722530 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.0-hd9ff511_3.conda + sha256: b224e16b88d76ea95e4af56e2bc638c603bd26a770b98d117d04541d3aafa002 + md5: 0ea6510969e1296cc19966fad481f6de + depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.23,<1.24.0a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - liblzma >=5.6.3,<6.0a0 + - libstdcxx >=13 + - libwebp-base >=1.4.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: HPND + size: 428173 + timestamp: 1734398813264 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 + md5: 40b61aab5c7ba9ff276c41cfffe6b80b + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 33601 + timestamp: 1680112270483 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.5.0-h851e524_0.conda + sha256: c45283fd3e90df5f0bd3dbcd31f59cdd2b001d424cf30a07223655413b158eaf + md5: 63f790534398730f59e1b899c3644d4a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - libwebp 1.5.0 + license: BSD-3-Clause + license_family: BSD + size: 429973 + timestamp: 1734777489810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + size: 395888 + timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 100393 + timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.8.1-hc4a0caf_0.conda + sha256: 61a282353fcc512b5643ee58898130f5c7f8757c329a21fe407a3ef397d449eb + md5: e7e5b0652227d646b44abdcbd989da7b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libxml2 >=2.13.6,<2.14.0a0 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + size: 644992 + timestamp: 1741762262672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.7-h4bc477f_1.conda + sha256: 01c471d9912c482297fd8e83afc193101ff4504c72361b6aec6d07f2fa379263 + md5: ad1f1f8238834cd3c88ceeaee8da444a + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + size: 692101 + timestamp: 1743794568181 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.39-h76b75d6_0.conda + sha256: 684e9b67ef7b9ca0ca993762eeb39705ec58e2e7f958555c758da7ef416db9f3 + md5: e71f31f8cfb0a91439f2086fc8aa0461 + depends: + - libgcc-ng >=12 + - libxml2 >=2.12.1,<2.14.0a0 + license: MIT + license_family: MIT + size: 254297 + timestamp: 1701628814990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 60963 + timestamp: 1727963148474 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.1-py311h38be061_0.conda + sha256: 53808af4b9140240d75d8734385258a5afc44604dc5c46e2c9b663ecdd94cfc4 + md5: ae23ab8b1f6404040b122bf42f2806c9 + depends: + - matplotlib-base >=3.10.1,<3.10.2.0a0 + - pyside6 >=6.7.2 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + size: 16913 + timestamp: 1740781092876 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.1-py311h2b939e6_0.conda + sha256: e64e7b9e7fe80051b0a99f79a93fefb2266fd107182853567e7fdec6abf05d74 + md5: eed17bae389043337f33b95a0fd8c172 + depends: + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype >=2.12.1,<3.0a0 + - kiwisolver >=1.3.1 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.23 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.11,<3.12.0a0 + - python-dateutil >=2.7 + - python_abi 3.11.* *_cp311 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + size: 8433966 + timestamp: 1740781071748 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda + sha256: 69b7dc7131703d3d60da9b0faa6dd8acbf6f6c396224cf6aef3e855b8c0c41c6 + md5: af6ab708897df59bd6e7283ceab1b56b + depends: + - python >=3.9 + - traitlets + license: BSD-3-Clause + license_family: BSD + size: 14467 + timestamp: 1733417051523 +- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 + sha256: f86fb22b58e93d04b6f25e0d811b56797689d598788b59dcb47f59045b568306 + md5: 2ba8498c1018c1e9c61eb99b973dfe19 + depends: + - python + license: Apache-2.0 + license_family: Apache + size: 12452 + timestamp: 1600387789153 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_1.conda + sha256: 1895f47b7d68581a6facde5cb13ab8c2764c2e53a76bd746f8f98910dc4e08fe + md5: 29097e7ea634a45cc5386b95cac6568f + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 10854 + timestamp: 1733230986902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-common-9.2.0-h266115a_0.conda + sha256: 571b6a2bffaf186ab92cdb06852fc5b6b5b7c6605de2b397fb13cfb0bb05c375 + md5: db22a0962c953e81a2a679ecb1fc6027 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.4.1,<4.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 653477 + timestamp: 1743939199519 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-9.2.0-he0572af_0.conda + sha256: 41cd870c04961591eabe7a43283d2bbc80a382e007f766edb8396ffd2bdfa418 + md5: 93340b072c393d23c4700a1d40565dca + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - mysql-common 9.2.0 h266115a_0 + - openssl >=3.4.1,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 1371585 + timestamp: 1743939293417 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + md5: 47e340acb35de30501a76c7c799c41d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: X11 AND BSD-3-Clause + size: 891641 + timestamp: 1738195959188 +- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 + md5: 598fd7d4d0de2455fb74f56063969a97 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + size: 11543 + timestamp: 1733325673691 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.4-py311h5d046bc_0.conda + sha256: 4ff5f5ab2e0205d712fdc8b2950a2a4b2a063c47d0c9b08f7ea71ae246e47ac1 + md5: 16ad2b996ea8064e0a7cb8b392d924fd + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=13 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 9005152 + timestamp: 1742255389691 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.3-h5fbd93e_0.conda + sha256: 5bee706ea5ba453ed7fd9da7da8380dd88b865c8d30b5aaec14d2b6dd32dbc39 + md5: 9e5816bc95d285c115a3ebc2f8563564 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libpng >=1.6.44,<1.7.0a0 + - libstdcxx >=13 + - libtiff >=4.7.0,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + size: 342988 + timestamp: 1733816638720 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.9-he970967_0.conda + sha256: 224f458848f792fe9e3587ee6b626d4eaad63aead0e5e6c25cbe29aba7b05c53 + md5: ca2de8bbdc871bce41dbf59e51324165 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.27,<3.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.4.0,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + size: 784483 + timestamp: 1732674189726 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.0-h7b32b05_0.conda + sha256: 38285d280f84f1755b7c54baf17eccf2e3e696287954ce0adca16546b85ee62c + md5: bb539841f2a3fde210f387d00ed4bb9d + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 3121673 + timestamp: 1744132167438 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda + sha256: da157b19bcd398b9804c5c52fc000fcb8ab0525bdb9c70f95beaa0bb42f85af1 + md5: 3bfed7e6228ebf2f7b9eaa47f1b4e2aa + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 60164 + timestamp: 1733203368787 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py311h7db5c69_1.conda + sha256: dce121d3838996b77b810ca9097cc17068552075c761408a9b2eb788cf8fd1b0 + md5: 643f8cb35133eb1be4919fb953f0a25f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.11,<3.12.0a0 + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.11.* *_cp311 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 15695466 + timestamp: 1726879158862 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + sha256: 17131120c10401a99205fc6fe436e7903c0fa092f1b3e80452927ab377239bcc + md5: 5c092057b6badd30f75b06244ecd01c9 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 75295 + timestamp: 1733271352153 +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + md5: 617f15191456cc6a13db418a275435e5 + depends: + - python >=3.9 + license: MPL-2.0 + license_family: MOZILLA + size: 41075 + timestamp: 1733233471940 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.44-hba22ea6_2.conda + sha256: 1087716b399dab91cc9511d6499036ccdc53eb29a288bebcb19cf465c51d7c0d + md5: df359c09c41cd186fffb93a2d87aa6f5 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc-ng >=12 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 952308 + timestamp: 1723488734144 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea + depends: + - ptyprocess >=0.5 + - python >=3.9 + license: ISC + size: 53561 + timestamp: 1733302019362 +- conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda + sha256: e2ac3d66c367dada209fc6da43e645672364b9fd5f9d28b9f016e24b81af475b + md5: 11a9d1d09a3615fc07c3faf79bc0b943 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 11748 + timestamp: 1733327448200 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.1.0-py311h1322bbf_0.conda + sha256: 71e0ce18201695adec3bbbfbab74e82b0ab05fe8929ad046d2c507a71c8a3c63 + md5: 9f4f5593335f76c1dbf7381c11fe7155 + depends: + - __glibc >=2.17,<3.0.a0 + - freetype >=2.12.1,<3.0a0 + - lcms2 >=2.16,<3.0a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openjpeg >=2.5.3,<3.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - tk >=8.6.13,<8.7.0a0 + license: HPND + size: 42021920 + timestamp: 1735929841160 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.0.1-pyh8b19718_0.conda + sha256: 585940f09d87787f79f73ff5dff8eb2af8a67e5bec5eebf2f553cd26c840ba69 + md5: 79b5c1440aedc5010f687048d9103628 + depends: + - python >=3.9,<3.13.0a0 + - setuptools + - wheel + license: MIT + license_family: MIT + size: 1256460 + timestamp: 1739142857253 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.44.2-h29eaf8c_0.conda + sha256: 747c58db800d5583fee78e76240bf89cbaeedf7ab1ef339c2990602332b9c4be + md5: 5e2a7acfa2c24188af39e7944e1b3604 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + size: 381072 + timestamp: 1733698987122 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda + sha256: ae7d3e58224d53d6b59e1f5ac5809803bb1972f0ac4fb10cd9b8c87d4122d3e0 + md5: e57da6fe54bb3a5556cf36d199ff07d8 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + size: 23291 + timestamp: 1742485085457 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.50-pyha770c72_0.conda + sha256: 0749c49a349bf55b8539ce5addce559b77592165da622944a51c630e94d97889 + md5: 7d823138f550b14ecae927a5ff3286de + depends: + - python >=3.9 + - wcwidth + constrains: + - prompt_toolkit 3.0.50 + license: BSD-3-Clause + license_family: BSD + size: 271905 + timestamp: 1737453457168 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py311h9ecbd09_0.conda + sha256: 50d0944b59a9c6dfa6b99cc2632bf8bc9bef9c7c93710390ded6eac953f0182d + md5: 1a390a54b2752169f5ba4ada5a8108e4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 484778 + timestamp: 1740663319335 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 8252 + timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + depends: + - python >=3.9 + license: ISC + size: 19457 + timestamp: 1733302371990 +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 16668 + timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda + sha256: 28a3e3161390a9d23bc02b4419448f8d27679d9e2c250e29849e37749c8de86b + md5: 232fb4577b6687b2d503ef8e254270c9 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + size: 888600 + timestamp: 1736243563082 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda + sha256: b92afb79b52fcf395fd220b29e0dd3297610f2059afac45298d44e00fcbf23b6 + md5: 513d3c262ee49b54a8fec85c5bc99764 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 95988 + timestamp: 1743089832359 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.0-py311h9053184_0.conda + sha256: 230c3d961d324e9276d6eefd3cc655303a66d149f1cfee45cb2cf9de85be6505 + md5: acc87636741c22f287c8eec1eb124e9d + depends: + - __glibc >=2.17,<3.0.a0 + - libclang13 >=20.1.2 + - libegl >=1.7.0,<2.0a0 + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=13 + - libxml2 >=2.13.7,<2.14.0a0 + - libxslt >=1.1.39,<2.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - qt6-main 6.9.0.* + - qt6-main >=6.9.0,<6.10.0a0 + license: LGPL-3.0-only + license_family: LGPL + size: 10104768 + timestamp: 1743760689943 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.11-h9e4cc4f_2_cpython.conda + build_number: 2 + sha256: e0be7ad95a034d10e021f15317bf5c70fc1161564fa47844984c245505cde36c + md5: 81dd3e521f9b9eaa58d06213e28aaa9b + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.6.4,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - liblzma >=5.6.4,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.4.1,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 30594389 + timestamp: 1741036299726 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda + sha256: a50052536f1ef8516ed11a844f9413661829aa083304dc624c5925298d078d79 + md5: 5ba79d7c71f03c678c8ead841f347d6e + depends: + - python >=3.9 + - six >=1.5 + license: Apache-2.0 + license_family: APACHE + size: 222505 + timestamp: 1733215763718 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda + sha256: e8392a8044d56ad017c08fec2b0eb10ae3d1235ac967d0aab8bd7b41c4a5eaf0 + md5: 88476ae6ebd24f39261e0854ac244f33 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + size: 144160 + timestamp: 1742745254292 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-6_cp311.conda + build_number: 6 + sha256: 2ff22fffe5bb93802c1687b5c4a34b9062394b78f23cfb5c1c1ef9b635bb030e + md5: 37ec65e056b9964529c0e1e2697b9955 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6853 + timestamp: 1743483206119 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41 + md5: 3eeeeb9e4827ace8c0c1419c85d590ad + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 188538 + timestamp: 1706886944988 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.4.0-py311h7deb3e3_0.conda + sha256: e78fc8c500b96070359311082b4ebc5d66e52ddb2891861c728a247cf52892ba + md5: eb719a63f26215bba3ee5b0227c6452b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 390342 + timestamp: 1743831429166 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc + md5: 353823361b1d27eb3960efb076dfcaf6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.0-h6441bc3_1.conda + sha256: 0485df0e29daf02023b98b0d7f5f4f97bd23650582d8c64d80f22cdb1ad01676 + md5: 4029a8dcb1d97ea241dbe5abfda1fad6 + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.13,<1.3.0a0 + - dbus >=1.13.6,<2.0a0 + - double-conversion >=3.3.1,<3.4.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.13.3,<3.0a0 + - harfbuzz >=11.0.1 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp20.1 >=20.1.2,<20.2.0a0 + - libclang13 >=20.1.2 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.124,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.1,<3.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libllvm20 >=20.1.2,<20.2.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libpq >=17.4,<18.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libstdcxx >=13 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.8.1,<2.0a0 + - libxml2 >=2.13.7,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - mysql-libs >=9.2.0,<9.3.0a0 + - openssl >=3.5.0,<4.0a0 + - pcre2 >=10.44,<10.45.0a0 + - wayland >=1.23.1,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-cursor >=0.1.5,<0.2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.9.0 + license: LGPL-3.0-only + license_family: LGPL + size: 51522155 + timestamp: 1744201848686 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c + md5: 283b96675859b20a825f8fa30f311446 + depends: + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 282480 + timestamp: 1740379431762 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.6.1-py311h57cc02b_0.conda + sha256: 8b32a09fafa63e2d71cfeb10f908fd3ad10d7d66776d0805bacc00e9315171c4 + md5: 5a9d7250b6a2ffdd223c514bc70242ba + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - joblib >=1.2.0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - scipy + - threadpoolctl >=3.1.0 + license: BSD-3-Clause + license_family: BSD + size: 10747006 + timestamp: 1736497226088 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.15.2-py311h8f841c2_0.conda + sha256: 6d0902775e3ff96dd1d36ac627e03fe6c0b3d2159bb71e115dd16a1f31693b25 + md5: 5ec0a1732a05376241e1e4c6d50e0e91 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=13 + - libgfortran + - libgfortran5 >=13.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=13 + - numpy <2.5 + - numpy >=1.19,<3 + - numpy >=1.23.5 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 17193126 + timestamp: 1739791897768 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda + sha256: d4c74d2140f2fbc72fe5320cbd65f3fd1d1f7832ab4d7825c37c38ab82440ae2 + md5: a42da9837e46c53494df0044c3eb1f53 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 786557 + timestamp: 1743775941985 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda + sha256: 41db0180680cc67c3fa76544ffd48d6a5679d96f4b71d7498a759e94edc9a2db + md5: a451d576819089b0d672f18768be0f65 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 16385 + timestamp: 1733381032766 +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc + depends: + - asttokens + - executing + - pure_eval + - python >=3.9 + license: MIT + license_family: MIT + size: 26988 + timestamp: 1733569565672 +- conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + sha256: 6016672e0e72c4cf23c0cf7b1986283bd86a9c17e8d319212d78d8e9ae42fdfd + md5: 9d64911b31d57ca443e9f1e36b04385f + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 23869 + timestamp: 1741878358548 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e + md5: d453b98d9c83e71da0741bb0ff4d76bc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3318875 + timestamp: 1699202167581 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.2-py311h9ecbd09_0.conda + sha256: afa3489113154b5cb0724b0bf120b62df91f426dabfe5d02f2ba09e90d346b28 + md5: df3aee9c3e44489257a840b8354e77b9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 855653 + timestamp: 1732616048886 +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 + md5: 019a7385be9af33791c989871317e1ed + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 110051 + timestamp: 1733367480074 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.13.1-pyh29332c3_0.conda + sha256: 78a5efbf86eca68b5f9e58f0dc7e56dcfa96d1dcba5c7f5f37d2c0444de22085 + md5: 5710c79a5fb0a6bfdba0a887f90583b1 + depends: + - python >=3.9 + - python + license: PSF-2.0 + license_family: PSF + size: 52170 + timestamp: 1743820059977 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192 + md5: 4222072737ccff51314b5ece9c7d6f5a + license: LicenseRef-Public-Domain + size: 122968 + timestamp: 1742727099393 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py311h9ecbd09_0.conda + sha256: e786fb0925515fffc83e393d2a0e2814eaf9be8a434f1982b399841a2c07980b + md5: 51a12678b609f5794985fda8372b1a49 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 405017 + timestamp: 1736692662280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.23.1-h3e06ad9_0.conda + sha256: 0884b2023a32d2620192cf2e2fc6784b8d1e31cf9f137e49e00802d4daf7d1c1 + md5: 0a732427643ae5e0486a727927791da1 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.6.2,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + license: MIT + license_family: MIT + size: 321561 + timestamp: 1724530461598 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda + sha256: f21e63e8f7346f9074fd00ca3b079bd3d2fa4d71f1f89d5b6934bf31446dc2a5 + md5: b68980f2495d096e71c7fd9d7ccf63e6 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 32581 + timestamp: 1733231433877 +- conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: 75cb7132eb58d97896e173ef12ac9986 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 62931 + timestamp: 1733130309598 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-hb711507_2.conda + sha256: 416aa55d946ce4ab173ab338796564893a2f820e80e04e098ff00c25fb981263 + md5: 8637c3e5821654d0edf97e2b0404b443 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 19965 + timestamp: 1718843348208 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda + sha256: c7b35db96f6e32a9e5346f97adc968ef2f33948e3d7084295baebc0e33abdd5b + md5: eb44b3b6deb1cab08d72cb61686fe64c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.13 + - libxcb >=1.16,<2.0.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + size: 20296 + timestamp: 1726125844850 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 51689 + timestamp: 1718844051451 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.43-hb9d3cd8_0.conda + sha256: 0d89b5873515a1f05d311f37ea4e087bbccc0418afa38f2f6189e97280db3179 + md5: f725c7425d6d7c15e31f3b99a88ea02f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 389475 + timestamp: 1727840188958 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 + license: MIT + license_family: MIT + size: 27590 + timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + sha256: 51909270b1a6c5474ed3978628b341b4d4472cd22610e5f22b506855a5e20f67 + md5: db038ce880f100acc74dba10302b5630 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + size: 835896 + timestamp: 1741901112627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda + sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 + md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 14780 + timestamp: 1734229004433 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + sha256: 753f73e990c33366a91fd42cc17a3d19bb9444b9ca5ff983605fa9e953baf57f + md5: d3c295b50f092ab525ffe3c2aa4b7413 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + size: 13603 + timestamp: 1727884600744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 + md5: b5fcc7172d22516e1f965490e65e33a4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + size: 13217 + timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda + sha256: 6b250f3e59db07c2514057944a3ea2044d6a8cdde8a47b6497c254520fade1ee + md5: 8035c64cb77ed555e3f150b7b3972480 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 19901 + timestamp: 1727794976192 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + sha256: da5dc921c017c05f38a38bd75245017463104457b63a1ce633ed41f214159c14 + md5: febbab7d15033c913d53c7a2c102309d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 50060 + timestamp: 1727752228921 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.1-hb9d3cd8_0.conda + sha256: 2fef37e660985794617716eb915865ce157004a4d567ed35ec16514960ae9271 + md5: 4bdb303603e9821baf5fe5fdff1dc8f8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 19575 + timestamp: 1727794961233 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a + md5: 17dcc85db3c7886650b8908b183d6876 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + size: 47179 + timestamp: 1727799254088 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + sha256: ac0f037e0791a620a69980914a77cb6bb40308e26db11698029d6708f5aa8e0d + md5: 2de7f99d6581a4a7adbff607b5c278ca + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + size: 29599 + timestamp: 1727794874300 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 + md5: 96d57aba173e878a2089d5638016dc5e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + size: 32808 + timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + sha256: 8a4e2ee642f884e6b78c20c0892b85dd9b2a6e64a6044e903297e616be6ca35b + md5: 5efa5fa6243a622445fdfd72aee15efa + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + size: 17819 + timestamp: 1734214575628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_7.conda + sha256: a4dc72c96848f764bb5a5176aa93dd1e9b9e52804137b99daeebba277b31ea10 + md5: 3947a35e916fcc6b9825449affbf4214 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 335400 + timestamp: 1731585026517 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda + sha256: 567c04f124525c97a096b65769834b7acb047db24b15a56888a322bf3966c3e1 + md5: 0c3cc595284c5e8f0f9900a9b228a332 + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 21809 + timestamp: 1732827613585 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 567578 + timestamp: 1742433379869 diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 0000000000000000000000000000000000000000..16c976df27e4cd1d7e83ed271d7231674a41c8b3 --- /dev/null +++ b/pixi.toml @@ -0,0 +1,19 @@ +[workspace] +authors = ["c.faber <c.faber@fz-juelich.de>"] +channels = ["conda-forge"] +name = "biohelpers" +platforms = ["linux-64"] +version = "0.1.0" + +[tasks] + +[dependencies] +python = "3.11.*" +numpy = ">=2.2.4,<3" +ipykernel = ">=6.29.5,<7" +pip = ">=25.0.1,<26" +matplotlib = ">=3.10.1,<4" +scikit-learn = ">=1.6.1,<2" +black = ">=25.1.0,<26" +pandas = ">=2.2.3,<3" +biopython = ">=1.85,<2" diff --git a/src/BioHelpers_FABER.egg-info/PKG-INFO b/src/BioHelpers_FABER.egg-info/PKG-INFO deleted file mode 100644 index bd80a3bd54813698923183794698f4bed7a28158..0000000000000000000000000000000000000000 --- a/src/BioHelpers_FABER.egg-info/PKG-INFO +++ /dev/null @@ -1,40 +0,0 @@ -Metadata-Version: 2.1 -Name: BioHelpers-FABER -Version: 0.2.11 -Summary: Small collection of useful scripts for the computational work with RNA Data. -Home-page: https://gitlab.jsc.fz-juelich.de/faber1/biohelpers -Author: Christian Faber -Author-email: c.faber@fz-juelich.de -License: MIT -Classifier: License :: OSI Approved :: MIT License -Classifier: Programmin Language :: Python :: 3.11 -Classifier: Operating System :: OS Independent -Classifier: Intended Audience :: Science/Research -Classifier: Topic :: Scientific/Engineering :: Bio-Informatics -Classifier: Topic :: Utilities -Requires-Python: >=3.11 -Description-Content-Type: text/markdown -Provides-Extra: dev -License-File: LICENSE - -# BioHelpers -Collection of useful python functions and classes for the work with `pdb` files and contact maps. A special focus is on the topology of contact maps. - -You can find the documentation [here](https://biohelpers-faber1-8353e9c7a2e8d5e00676c73f11891c2556dfdbba48340.pages.jsc.fz-juelich.de/). - -## Modules -All Modules are described in the documentation, including examples for the most important functions! - - -## Installation -For installation simply run the following command: - -```bash -pip install --index-url https://gitlab.jsc.fz-juelich.de/api/v4/projects/6167/packages/pypi/simple BioHelpers_FABER -``` - -Or when upgrading: -```bash -pip install --upgrade --index-url https://gitlab.jsc.fz-juelich.de/api/v4/projects/6167/packages/pypi/simple BioHelpers_FABER -``` -Project under MIT License. diff --git a/src/BioHelpers_FABER.egg-info/SOURCES.txt b/src/BioHelpers_FABER.egg-info/SOURCES.txt deleted file mode 100644 index 15100ad3b6333cf442f9a435d0b156911cd3192b..0000000000000000000000000000000000000000 --- a/src/BioHelpers_FABER.egg-info/SOURCES.txt +++ /dev/null @@ -1,20 +0,0 @@ -LICENSE -README.md -setup.py -src/BioHelpers_FABER/__init__.py -src/BioHelpers_FABER/bio_mod.py -src/BioHelpers_FABER/cluster.py -src/BioHelpers_FABER/cmap.py -src/BioHelpers_FABER/contacts.py -src/BioHelpers_FABER/gmap.py -src/BioHelpers_FABER/pointList.py -src/BioHelpers_FABER/rmsd.py -src/BioHelpers_FABER/secstruct.py -src/BioHelpers_FABER/visualisation.py -src/BioHelpers_FABER.egg-info/PKG-INFO -src/BioHelpers_FABER.egg-info/SOURCES.txt -src/BioHelpers_FABER.egg-info/dependency_links.txt -src/BioHelpers_FABER.egg-info/requires.txt -src/BioHelpers_FABER.egg-info/top_level.txt -tests/test_bm_calc_residue_dist.py -tests/test_bm_get_ref_coord.py \ No newline at end of file diff --git a/src/BioHelpers_FABER.egg-info/dependency_links.txt b/src/BioHelpers_FABER.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/BioHelpers_FABER.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/BioHelpers_FABER.egg-info/requires.txt b/src/BioHelpers_FABER.egg-info/requires.txt deleted file mode 100644 index 6132f93fb3bb98019bcd9e13c25770b3764b8d3e..0000000000000000000000000000000000000000 --- a/src/BioHelpers_FABER.egg-info/requires.txt +++ /dev/null @@ -1,6 +0,0 @@ -numpy -biopython -matplotlib - -[dev] -twine diff --git a/src/BioHelpers_FABER.egg-info/top_level.txt b/src/BioHelpers_FABER.egg-info/top_level.txt deleted file mode 100644 index eb82d808c923e24e5b1cedc21b4243a8fb4e04ea..0000000000000000000000000000000000000000 --- a/src/BioHelpers_FABER.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -BioHelpers_FABER diff --git a/src/BioHelpers_FABER/cluster.py b/src/BioHelpers_FABER/cluster.py index 6db00e90a1f28ddc03dadccd90a233e97a062498..f3e7399f8df7bfd7a1ef5dc993bcf83c6b9dedcf 100644 --- a/src/BioHelpers_FABER/cluster.py +++ b/src/BioHelpers_FABER/cluster.py @@ -1,7 +1,8 @@ import numpy as np +from sklearn.neighbors import NearestNeighbors -def findCluster(x: np.array) -> list: +def findCluster(x: np.ndarray) -> list: """Identifying all clusters. :param x: contact map @@ -20,21 +21,51 @@ def findCluster(x: np.array) -> list: return clusters -def checkEntry(point: list, x: np.array, visited: np.array, act: list): +def hopkins(X: np.ndarray, subsample: float = 0.1, seed: int = 247) -> float: + """Hopkins Function + + :param X: Datapoints with dimension (n,d) + :type X: np.ndarray + :param subsample: Fraction of subsample, defaults to 0.1 + :type subsample: float, optional + :param seed: Seed for reproducibility, defaults to 247 + :type seed: int, optional + :return: Hopkins Value + :rtype: float + """ + n = X.shape[0] + d = X.shape[1] + m = int(subsample * n) + + np.random.seed(seed) + nbrs = NearestNeighbors(n_neighbors=1).fit(X) + rand_X = np.random.uniform(X.min(axis=0), X.max(axis=0), size=(m, d)) + u = nbrs.kneighbors(rand_X, return_distance=True)[0] + idx = np.random.choice(n, size=m, replace=False) + w = nbrs.kneighbors(X[idx, :], n_neighbors=2, return_distance=True)[0][:, 1] + + U = (u**d).sum() + W = (w**d).sum() + H = U / (W + U) + + return H + + +def checkEntry(point: list, x: np.ndarray, visited: np.ndarray, act: list): if x[point[0], point[1]] > 0 and visited[point[0], point[1]] == 0: act.append(point) visited[point[0], point[1]] = 1 checkNeighbours(point, x, visited, act) -def checkNeighbours(point: list, x: np.array, visited: np.array, act: list): +def checkNeighbours(point: list, x: np.ndarray, visited: np.ndarray, act: list): for i in [-1, 0, 1]: for j in [-1, 0, 1]: if inRange(point[0] + i, point[1] + j, x): checkEntry([point[0] + i, point[1] + j], x, visited, act) -def inRange(i: int, j: int, x: np.array) -> bool: +def inRange(i: int, j: int, x: np.ndarray) -> bool: if i < 0 or j < 0: return False elif i >= np.shape(x)[0] or j >= np.shape(x)[1]: