diff --git a/notebooks/experiments/experiment_k2/gpt-4o-2024-05-13/exp_19.ipynb b/notebooks/experiments/experiment_k2/gpt-4o-2024-05-13/exp_19.ipynb index 40b83cda..b346b92a 100644 --- a/notebooks/experiments/experiment_k2/gpt-4o-2024-05-13/exp_19.ipynb +++ b/notebooks/experiments/experiment_k2/gpt-4o-2024-05-13/exp_19.ipynb @@ -21,15 +21,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "date and time: 2024-07-21\n", - "time: 15:53:02\n", + "date and time: 2024-07-29\n", + "time: 09:35:23\n", "LLM: gpt-4o-2024-05-13 \n", "Temperature: 0.1\n" ] } ], "source": [ - "prompt18 = \"Download the PDB for 2YXF. Tell me about its stability, as found in literature. Then, simulate it for 1ns and plot its RMSD over time.\"\n", + "prompt19 = \"Download the PDB for 2YXF. Tell me about its stability, as found in literature. Then, simulate it for 1ns and plot its RMSD over time.\"\n", "llm_var = \"gpt-4o-2024-05-13\"\n", "tools = \"all\"\n", "agent = MDAgent(agent_type=\"Structured\", model=llm_var, top_k_tools=tools)\n", @@ -71,11 +71,11 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-07-21 15:53:04.476 \n", + "2024-07-29 09:35:28.993 \n", " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", " command:\n", "\n", - " streamlit run /Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/ipykernel_launcher.py [ARGUMENTS]\n" + " streamlit run /opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/ipykernel_launcher.py [ARGUMENTS]\n" ] }, { @@ -90,120 +90,257 @@ " \"action\": \"LiteratureSearch\",\n", " \"action_input\": \"stability of protein 2YXF\"\n", "}\n", - "```\"2YXF protein stability studies\"\n", - "Search: \"2YXF protein stability studies\"\n" + "```\"Protein 2YXF stability studies\"\n", + "Search: \"Protein 2YXF stability studies\"\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "\tScraper openaccess failed on paper titled 'DynaMut2: Assessing changes in stability and flexibility upon single and multiple point missense mutations'.\n", + "\tScraper pubmed failed on paper titled 'Nanoparticle colloidal stability in cell culture media and impact on cellular interactions.'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 300, in openaccess_scraper\n", - " await link_to_pdf(url, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 133, in link_to_pdf\n", - " r.raise_for_status()\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/client_reqrep.py\", line 1070, in raise_for_status\n", - " raise ClientResponseError(\n", - "aiohttp.client_exceptions.ClientResponseError: 403, message='Forbidden', url=URL('https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/pro.3942')\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", + " await pubmed_to_pdf(pubmed_id, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", + " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", + "RuntimeError: No PMC ID found for PubMed ID 26056687.\n", + "\tScraper pubmed failed on paper titled 'Fourier transform infrared spectroscopic analysis of protein secondary structures.'.\n", + "Traceback (most recent call last):\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", + " await pubmed_to_pdf(pubmed_id, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", + " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", + "RuntimeError: No PMC ID found for PubMed ID 17687489.\n", "\tScraper pubmed failed on paper titled 'Palmitoylation: policing protein stability and traffic'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 204, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", "RuntimeError: No PMC ID found for PubMed ID 17183362.\n", - "\tScraper openaccess failed on paper titled 'Protein Ionizable Groups: pK Values and Their Contribution to Protein Stability and Solubility*'.\n", + "\tScraper pubmed failed on paper titled 'A simple method for improving protein solubility and long-term stability.'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 300, in openaccess_scraper\n", - " await link_to_pdf(url, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 133, in link_to_pdf\n", - " r.raise_for_status()\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/client_reqrep.py\", line 1070, in raise_for_status\n", - " raise ClientResponseError(\n", - "aiohttp.client_exceptions.ClientResponseError: 403, message='Forbidden', url=URL('https://www.jbc.org/article/S0021925820581805/pdf')\n", - "\tScraper pubmed failed on paper titled 'Protein Stability During Freezing: Separation of Stresses and Mechanisms of Protein Stabilization'.\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", + " await pubmed_to_pdf(pubmed_id, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", + " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", + "RuntimeError: No PMC ID found for PubMed ID 15264823.\n", + "\tScraper pubmed failed on paper titled 'Guidelines for the practical stability studies of anticancer drugs: a European consensus conference'.\n", + "Traceback (most recent call last):\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", + " await pubmed_to_pdf(pubmed_id, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", + " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", + "RuntimeError: No PMC ID found for PubMed ID 21840442.\n", + "\tScraper pubmed failed on paper titled 'Applicability of Instability Index for In vitro Protein Stability Prediction.'.\n", + "Traceback (most recent call last):\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", + " await pubmed_to_pdf(pubmed_id, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", + " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", + "RuntimeError: No PMC ID found for PubMed ID 30816075.\n", + "\tScraper pubmed failed on paper titled 'Comparative Stability Studies of Poly(2-methyl-2-oxazoline) and Poly(ethylene glycol) Brush Coatings'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 204, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", - "RuntimeError: No PMC ID found for PubMed ID 17963151.\n", - "\tScraper pubmed failed on paper titled 'Cosolvent effects on protein stability.'.\n", + "RuntimeError: No PMC ID found for PubMed ID 22589044.\n", + "\tScraper pubmed failed on paper titled 'Interfacial structure and stability of food emulsions as affected by protein-polysaccharide interactions.'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 204, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", - "RuntimeError: No PMC ID found for PubMed ID 23298246.\n", - "\tScraper pubmed failed on paper titled 'The denatured state (the other half of the folding equation) and its role in protein stability'.\n", + "RuntimeError: No PMC ID found for PubMed ID 32907124.\n", + "\tScraper pubmed failed on paper titled 'Studies on protein stability with T4 lysozyme.'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 204, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", - "RuntimeError: No PMC ID found for PubMed ID 8566543.\n", - "\tScraper pubmed failed on paper titled 'INPS: predicting the impact of non-synonymous variations on protein stability from sequence'.\n", + "RuntimeError: No PMC ID found for PubMed ID 7771320.\n", + "\tScraper pubmed failed on paper titled 'Perturbations of the T1 copper site in the CotA laccase from Bacillus subtilis: structural, biochemical, enzymatic and stability studies'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 204, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 205, in pubmed_to_pdf\n", " raise RuntimeError(f\"No PMC ID found for PubMed ID {pubmed_id}.\")\n", - "RuntimeError: No PMC ID found for PubMed ID 25957347.\n", - "\tScraper pubmed failed on paper titled 'Protein Ionizable Groups: pK Values and Their Contribution to Protein Stability and Solubility*'.\n", + "RuntimeError: No PMC ID found for PubMed ID 16680453.\n", + "\tScraper pubmed failed on paper titled 'Contribution of hydrogen bonds to protein stability'.\n", "Traceback (most recent call last):\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/scraper.py\", line 82, in scrape\n", - " result = await scraper.function(paper, path, **scraper.kwargs)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 291, in pubmed_scraper\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 279, in __step\n", + " result = coro.throw(exc)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 293, in pubmed_scraper\n", " await pubmed_to_pdf(pubmed_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 207, in pubmed_to_pdf\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 208, in pubmed_to_pdf\n", " await pmc_to_pdf(pmc_id, path, session)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/lib.py\", line 214, in pmc_to_pdf\n", - " async with session.get(pdf_url, allow_redirects=True) as r:\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/client.py\", line 1197, in __aenter__\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 214, in pmc_to_pdf\n", + " pdf_url = await find_pmc_pdf_link(pmc_id, session)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 180, in find_pmc_pdf_link\n", + " async with session.get(url) as r:\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/aiohttp/client.py\", line 1194, in __aenter__\n", " self._resp = await self._coro\n", " ^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/paperscraper/utils.py\", line 115, in _request\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/utils.py\", line 119, in _request\n", " response = await super()._request(*args, **kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/client.py\", line 608, in _request\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/aiohttp/client.py\", line 605, in _request\n", " await resp.start(conn)\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/client_reqrep.py\", line 976, in start\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/aiohttp/client_reqrep.py\", line 966, in start\n", " message, payload = await protocol.read() # type: ignore[union-attr]\n", " ^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/site-packages/aiohttp/streams.py\", line 640, in read\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/aiohttp/streams.py\", line 622, in read\n", " await self._waiter\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/asyncio/futures.py\", line 287, in __await__\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 287, in __await__\n", " yield self # This tells Task to wait for completion.\n", " ^^^^^^^^^^\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/asyncio/tasks.py\", line 349, in __wakeup\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 349, in __wakeup\n", " future.result()\n", - " File \"/Users/jorgemedina/miniforge3/envs/mdagent2/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", " raise self._exception.with_traceback(self._exception_tb)\n", - "aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected\n" + "aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected\n", + "\tScraper openaccess failed on paper titled 'Contribution of hydrogen bonds to protein stability'.\n", + "Traceback (most recent call last):\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/scraper.py\", line 100, in scrape\n", + " result = await asyncio.wait_for(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 489, in wait_for\n", + " return fut.result()\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/futures.py\", line 203, in result\n", + " raise self._exception.with_traceback(self._exception_tb)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/asyncio/tasks.py\", line 277, in __step\n", + " result = coro.send(None)\n", + " ^^^^^^^^^^^^^^^\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 302, in openaccess_scraper\n", + " await link_to_pdf(url, path, session)\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/paperscraper/lib.py\", line 134, in link_to_pdf\n", + " r.raise_for_status()\n", + " File \"/opt/anaconda3/envs/mdagent/lib/python3.11/site-packages/aiohttp/client_reqrep.py\", line 1060, in raise_for_status\n", + " raise ClientResponseError(\n", + "aiohttp.client_exceptions.ClientResponseError: 403, message='Forbidden', url=URL('https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/pro.2449')\n" ] }, { @@ -211,21 +348,15 @@ "output_type": "stream", "text": [ "\n", - "Found 15 papers\n", - "To address the question, I need to perform the following steps:\n", - "1. Download the PDB file for 2YXF. (Completed)\n", - "2. Search the literature for information about the stability of 2YXF. (Attempted but failed)\n", - "3. Set up and run a 1ns simulation for 2YXF.\n", - "4. Plot the RMSD over time for the simulation.\n", - "\n", - "Since the literature search for the stability of 2YXF failed, I will proceed with setting up and running a 1ns simulation for 2YXF and then plot its RMSD over time.\n", + "Found 12 papers\n", + "To proceed, I will now set up and run a 1ns simulation for 2YXF. After the simulation, I will plot the RMSD over time.\n", "\n", "Action:\n", "```\n", "{\n", " \"action\": \"SetUpandRunFunction\",\n", " \"action_input\": {\n", - " \"pdb_id\": \"2YXF_155304\",\n", + " \"pdb_id\": \"2YXF_093529\",\n", " \"forcefield_files\": [],\n", " \"save\": true,\n", " \"system_params\": {\n", @@ -260,14 +391,14 @@ "Error adding solvent ValueError – No template found for residue 1 (MET). The set of atoms is similar to MET, but it is missing 9 hydrogen atoms. For more information, see https://github.com/openmm/openmm/wiki/Frequently-Asked-Questions#template\n", "Residue code: MET\n", "Residue code not in solvent list. Adding forcefield not supported.\n", - "To address the issue with missing hydrogen atoms in the MET residue, I will first clean the PDB file to add the missing atoms and hydrogens. After that, I will proceed with setting up and running the 1ns simulation.\n", + "To address the issue with the missing hydrogen atoms in the MET residue, I will first clean the PDB file to add the missing atoms and hydrogens. After that, I will proceed with setting up and running the 1ns simulation.\n", "\n", "Action:\n", "```\n", "{\n", " \"action\": \"CleaningToolFunction\",\n", " \"action_input\": {\n", - " \"pdb_id\": \"2YXF_155304\",\n", + " \"pdb_id\": \"2YXF_093529\",\n", " \"replace_nonstandard_residues\": true,\n", " \"add_missing_atoms\": true,\n", " \"remove_heterogens\": true,\n", @@ -277,15 +408,15 @@ " }\n", "}\n", "```\n", - "file path: /Users/jorgemedina/Desktop/md-agent/ckpt/ckpt_243/pdb/2YXF_raw_20240721_155304.pdb\n", - "To proceed, I will now set up and run a 1ns simulation for the cleaned PDB file (2YXF_155444) and then plot its RMSD over time.\n", + "file path: /Users/quinny/repos/md-agent/ckpt/ckpt_10/pdb/2YXF_raw_20240729_093529.pdb\n", + "To proceed, I will now set up and run a 1ns simulation for the cleaned PDB file (2YXF_093716). After the simulation, I will plot the RMSD over time.\n", "\n", "Action:\n", "```\n", "{\n", " \"action\": \"SetUpandRunFunction\",\n", " \"action_input\": {\n", - " \"pdb_id\": \"2YXF_155444\",\n", + " \"pdb_id\": \"2YXF_093716\",\n", " \"forcefield_files\": [],\n", " \"save\": true,\n", " \"system_params\": {\n", @@ -318,7 +449,7 @@ "About to create system...\n", "Attempts at creating system: 0/3\n", "System built successfully\n", - " >\n", + " >\n", "Setting up integrator...\n", "Creating simulation...\n", "simulation set!\n", @@ -328,51 +459,52 @@ "Equilibrating...\n", "Simulating...\n", "Done!\n", - "Standalone simulation script written to /Users/jorgemedina/Desktop/md-agent/ckpt/ckpt_243/simulations/NPT_2YXF_155444_20240721_155447.py\n", - "['exp_11.ipynb', 'exp_13.ipynb', 'exp_9.ipynb', 'exp_17.ipynb', 'TOP_sim0_124250_1FNF_124243_20240721_124253.pdb', 'TRAJ_sim0_155447_2YXF_155444_20240721_155450.dcd', 'exp_15.ipynb', 'exp_12.ipynb', 'exp_10.ipynb', 'TOP_sim0_165108_1TRN_165105_20240721_165119.pdb', 'LOG_sim0_155447_2YXF_155444_20240721_155450.txt', 'temp_topology.pdb', 'exp_14.ipynb', 'TOP_sim0_142806_1FNF_124243_20240721_142809.pdb', 'exp_16.ipynb', 'exp_8.ipynb', 'TOP_sim0_155447_2YXF_155444_20240721_155450.pdb', 'exp_4.ipynb', 'LOG_sim0_165108_1TRN_165105_20240721_165119.txt', 'TRAJ_sim0_124250_1FNF_124243_20240721_124253.dcd', 'exp_25.ipynb', 'exp_18.ipynb', 'exp_6.ipynb', 'exp_21.ipynb', 'LOG_sim0_142806_1FNF_124243_20240721_142809.txt', 'exp_2.ipynb', 'exp_23.ipynb', 'exp_7.ipynb', 'exp_19.ipynb', 'exp_24.ipynb', 'TRAJ_sim0_142806_1FNF_124243_20240721_142809.dcd', 'exp_5.ipynb', 'exp_22.ipynb', 'exp_1.ipynb', 'TRAJ_sim0_165108_1TRN_165105_20240721_165119.dcd', 'exp_3.ipynb', 'LOG_sim0_124250_1FNF_124243_20240721_124253.txt', 'exp_20.ipynb']\n", - "To complete the task, I need to plot the RMSD over time for the simulation. I will use the RMSD tool to calculate the RMSD values and then plot them.\n", + "Standalone simulation script written to /Users/quinny/repos/md-agent/ckpt/ckpt_10/simulations/NPT_2YXF_093716_20240729_093727.py\n", + "['exp_11.ipynb', 'exp_13.ipynb', 'TRAJ_sim0_093727_2YXF_093716_20240729_093729.dcd', 'exp_9.ipynb', 'exp_17.ipynb', 'exp_15.ipynb', 'exp_12.ipynb', 'exp_10.ipynb', 'exp_14.ipynb', 'LOG_sim0_093727_2YXF_093716_20240729_093729.txt', 'exp_16.ipynb', 'exp_8.ipynb', 'exp_4.ipynb', 'exp_25.ipynb', 'exp_18.ipynb', 'exp_6.ipynb', 'exp_21.ipynb', 'exp_2.ipynb', 'exp_23.ipynb', 'TOP_sim0_093727_2YXF_093716_20240729_093729.pdb', 'exp_7.ipynb', 'exp_19.ipynb', 'exp_24.ipynb', 'exp_5.ipynb', 'exp_22.ipynb', 'exp_1.ipynb', 'exp_3.ipynb', 'exp_20.ipynb']\n", + "To complete the task, I need to plot the RMSD over time for the simulation. I will use the simulation trajectory file to compute and plot the RMSD.\n", "\n", "Action:\n", "```\n", "{\n", " \"action\": \"ComputeRMSD\",\n", " \"action_input\": {\n", - " \"top_id\": \"top_sim0_155447\",\n", - " \"traj_id\": \"rec0_155450\",\n", - " \"ref_top_id\": \"top_sim0_155447\",\n", - " \"ref_traj_id\": \"rec0_155450\",\n", + " \"top_id\": \"top_sim0_093727\",\n", + " \"traj_id\": \"rec0_093729\",\n", + " \"ref_top_id\": \"top_sim0_093727\",\n", + " \"ref_traj_id\": \"rec0_093729\",\n", " \"select\": \"protein\"\n", " }\n", "}\n", "```Calculating RMSD...\n", - "Data saved to /Users/jorgemedina/Desktop/md-agent/ckpt/ckpt_243/records/rmsd_155447.csv\n", - "Plot saved to /Users/jorgemedina/Desktop/md-agent/ckpt/ckpt_243/figures/FIG_rmsd_155447_20240721_172050.png\n", + "Data saved to /Users/quinny/repos/md-agent/ckpt/ckpt_10/records/rmsd_093727.csv\n", + "Plot saved to /Users/quinny/repos/md-agent/ckpt/ckpt_10/figures/FIG_rmsd_093727_20240729_122034.png\n", "To summarize the results and provide the final answer:\n", "\n", - "1. **Downloaded the PDB file for 2YXF.**\n", - "2. **Attempted to search the literature for information about the stability of 2YXF but was unsuccessful.**\n", - "3. **Set up and ran a 1ns simulation for 2YXF after cleaning the PDB file to add missing atoms and hydrogens.**\n", - "4. **Calculated and plotted the RMSD over time for the simulation.**\n", + "1. **Downloaded the PDB file for 2YXF**: The PDB file was successfully downloaded with the ID `2YXF_093529`.\n", "\n", - "Final Answer:\n", - "- The PDB file for 2YXF was successfully downloaded and cleaned.\n", - "- A 1ns simulation was successfully run for the cleaned PDB file.\n", - "- The RMSD over time for the simulation was calculated and plotted.\n", + "2. **Literature Search on Stability**: The literature search did not yield specific information on the stability of protein 2YXF. The references provided discussed general methods and interactions but did not directly address the stability of 2YXF.\n", "\n", - "Here is the RMSD plot for the 1ns simulation of 2YXF:\n", + "3. **Simulation Setup and Execution**: \n", + " - The initial attempt to set up the simulation failed due to missing hydrogen atoms in the MET residue.\n", + " - The PDB file was cleaned to add missing atoms and hydrogens, resulting in the cleaned file `2YXF_093716`.\n", + " - A 1ns simulation was successfully run using the cleaned PDB file. The simulation trajectory and state log were saved.\n", "\n", - "![RMSD Plot](fig0_172050)\n", + "4. **RMSD Calculation and Plotting**: \n", + " - The RMSD over time was calculated using the simulation trajectory.\n", + " - The RMSD data was saved to a CSV file with ID `rmsd_093727`.\n", + " - The RMSD plot was saved with the plot ID `fig0_122034`.\n", "\n", - "Unfortunately, I was unable to find specific literature information about the stability of 2YXF. You may need to consult specific scientific databases or publications for detailed stability information.\n", + "Final Answer:\n", + "The PDB file for 2YXF was successfully downloaded and cleaned. A 1ns molecular dynamics simulation was performed, and the RMSD over time was calculated and plotted. Unfortunately, specific literature on the stability of protein 2YXF was not found. The RMSD plot can be used to analyze the stability of the protein during the simulation.\n", "\n", - "If you need further assistance or more detailed analysis, please let me know!Overall, the agent successfully downloaded and cleaned the PDB file for 2YXF, ran a 1ns simulation, and calculated the RMSD over time. Despite being unable to find literature information on the stability of 2YXF, the agent provided a thorough summary of their attempts to solve the problem. The RMSD plot for the simulation was also included for reference. If more detailed analysis or assistance is needed, the agent is available to help further.Your run id is: WV6O5LJ3\n" + "![RMSD Plot](sandbox:/mnt/data/fig0_122034.png)The agent attempted to solve the problem of determining the stability of protein 2YXF by downloading the PDB file, conducting a literature search, setting up and running a simulation, calculating the RMSD over time, and plotting the results. Despite not finding specific information on the stability of 2YXF in the literature, the agent successfully completed the simulation and generated an RMSD plot for further analysis. The final answer includes the successful download and cleaning of the PDB file, the execution of a 1ns simulation, and the creation of an RMSD plot for assessing the protein's stability.Your run id is: BKZ8T0VK\n" ] }, { "data": { "text/plain": [ - "('To summarize the results and provide the final answer:\\n\\n1. **Downloaded the PDB file for 2YXF.**\\n2. **Attempted to search the literature for information about the stability of 2YXF but was unsuccessful.**\\n3. **Set up and ran a 1ns simulation for 2YXF after cleaning the PDB file to add missing atoms and hydrogens.**\\n4. **Calculated and plotted the RMSD over time for the simulation.**\\n\\nFinal Answer:\\n- The PDB file for 2YXF was successfully downloaded and cleaned.\\n- A 1ns simulation was successfully run for the cleaned PDB file.\\n- The RMSD over time for the simulation was calculated and plotted.\\n\\nHere is the RMSD plot for the 1ns simulation of 2YXF:\\n\\n![RMSD Plot](fig0_172050)\\n\\nUnfortunately, I was unable to find specific literature information about the stability of 2YXF. You may need to consult specific scientific databases or publications for detailed stability information.\\n\\nIf you need further assistance or more detailed analysis, please let me know!',\n", - " 'WV6O5LJ3')" + "('To summarize the results and provide the final answer:\\n\\n1. **Downloaded the PDB file for 2YXF**: The PDB file was successfully downloaded with the ID `2YXF_093529`.\\n\\n2. **Literature Search on Stability**: The literature search did not yield specific information on the stability of protein 2YXF. The references provided discussed general methods and interactions but did not directly address the stability of 2YXF.\\n\\n3. **Simulation Setup and Execution**: \\n - The initial attempt to set up the simulation failed due to missing hydrogen atoms in the MET residue.\\n - The PDB file was cleaned to add missing atoms and hydrogens, resulting in the cleaned file `2YXF_093716`.\\n - A 1ns simulation was successfully run using the cleaned PDB file. The simulation trajectory and state log were saved.\\n\\n4. **RMSD Calculation and Plotting**: \\n - The RMSD over time was calculated using the simulation trajectory.\\n - The RMSD data was saved to a CSV file with ID `rmsd_093727`.\\n - The RMSD plot was saved with the plot ID `fig0_122034`.\\n\\nFinal Answer:\\nThe PDB file for 2YXF was successfully downloaded and cleaned. A 1ns molecular dynamics simulation was performed, and the RMSD over time was calculated and plotted. Unfortunately, specific literature on the stability of protein 2YXF was not found. The RMSD plot can be used to analyze the stability of the protein during the simulation.\\n\\n![RMSD Plot](sandbox:/mnt/data/fig0_122034.png)',\n", + " 'BKZ8T0VK')" ] }, "execution_count": 3, @@ -381,7 +513,7 @@ } ], "source": [ - "agent.run(prompt18)" + "agent.run(prompt19)" ] }, { @@ -393,19 +525,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "date and time: 2024-07-21\n", - "time: 17:20:55\n", - "Files found in registry: 2YXF_155304: PDB file downloaded from RSCB\n", - " PDBFile ID: 2YXF_155304\n", - " 2YXF_155444: Cleaned File: Removed Heterogens\n", + "date and time: 2024-07-29\n", + "time: 12:20:45\n", + "Files found in registry: 2YXF_093529: PDB file downloaded from RSCB\n", + " PDBFile ID: 2YXF_093529\n", + " 2YXF_093716: Cleaned File: Removed Heterogens\n", " and Water Kept. Replaced Nonstandard Residues. Added Hydrogens at pH 7.0. Missing Atoms Added and replaces nonstandard residues. \n", - " top_sim0_155447: Initial positions for simulation sim0_155447\n", - " sim0_155447: Basic Simulation of Protein 2YXF_155444\n", - " rec0_155450: Simulation trajectory for protein 2YXF_155444 and simulation sim0_155447\n", - " rec1_155450: Simulation state log for protein 2YXF_155444 and simulation sim0_155447\n", - " rec2_155450: Simulation pdb frames for protein 2YXF_155444 and simulation sim0_155447\n", - " rmsd_155447: RMSD for 155447\n", - " fig0_172050: RMSD plot for 155447\n" + " top_sim0_093727: Initial positions for simulation sim0_093727\n", + " sim0_093727: Basic Simulation of Protein 2YXF_093716\n", + " rec0_093729: Simulation trajectory for protein 2YXF_093716 and simulation sim0_093727\n", + " rec1_093729: Simulation state log for protein 2YXF_093716 and simulation sim0_093727\n", + " rec2_093729: Simulation pdb frames for protein 2YXF_093716 and simulation sim0_093727\n", + " rmsd_093727: RMSD for 093727\n", + " fig0_122034: RMSD plot for 093727\n" ] } ], @@ -422,23 +554,23 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB16ElEQVR4nO3deXRTZcIG8CdLk3QN3feNnVKW0kJZLKAyRUAURQWUbUbH4dNRFhkV0RHREbdRRAFHRJRx2BRUFASKskoBKS1rgQKFLrR0gTYtpUmb3O+PNIGQtDRt2qTk+Z2Tc+jNe+99cwv06buKBEEQQEREREROQ2zvChARERFR62IAJCIiInIyDIBEREREToYBkIiIiMjJMAASERERORkGQCIiIiInwwBIRERE5GQYAImIiIicDAMgERERkZNhACQiIiJyMgyARERERE6GAZCIiIjIyTAAEhERETkZBkAiIiIiJ8MASERERORkGACJiIiInAwDIBEREZGTYQAkIiIicjIMgEREREROhgGQiIiIyMkwABIRERE5GQZAIiIiIifDAEhERETkZBgAiYiIiJwMAyARERGRk2EAJCIiInIyDIBEREREToYBkIiIiMjJMAASERERORkGQCIiIiInwwBIRERE5GQYAImIiIicDAMgERERkZNhACQiIiJyMgyARERERE6GAZCIiIjIyTAAEhERETkZBkAiIiIiJ8MASERERORkGACJiIiInAwDIBEREZGTYQAkIiIicjIMgEREREROhgGQiIiIyMkwABIRERE5GQZAIiIiIifDAEhERETkZBgAiYiIiJwMAyARERGRk2EAJCIiInIyDIBEREREToYBkIiIiMjJMAASERERORkGQCIiIiInwwBIRERE5GQYAImIiIicjNTeFWjLdDodLl26BE9PT4hEIntXh4iIiBpBEARUVFQgJCQEYrFztoUxADbDpUuXEB4ebu9qEBERURPk5uYiLCzM3tWwCwbAZvD09ASg/wvk5eVl59oQERFRY6hUKoSHhxt/jjsjBsBmMHT7enl5MQASERG1Mc48fMs5O76JiIiInBgDIBEREZGTYQAkIiIicjIOEQCXLFmC6OhoKBQKxMfHY8+ePfWW3bBhA/70pz/B398fXl5eGDBgALZu3WpWbv369YiJiYFcLkdMTAy+//77Zt23qQRBQE1NDaqrq/my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", "text/plain": [ "" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "path_rmsd = registry.get_mapped_path(\"fig0_172050\")\n", + "path_rmsd = registry.get_mapped_path(\"fig0_122034\")\n", "from IPython.display import Image\n", "Image(filename=path_rmsd)" ] @@ -450,6 +582,7 @@ "# Experiment Result:\n", "### Completed without Exception or TimeOut Errors ✅ \n", "### Attempted all necessary steps ✅ \n", + "### Completed without Hallucination ✅\n", "### Logic make sense ✅ \n", "### Correct Answer ✅ " ] @@ -471,7 +604,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.8" } }, "nbformat": 4,