KastanDay / ML4Bio

LLMs to execute Bioinformatics workflows, esp. RNA-seq
MIT License
0 stars 0 forks source link

Create a full command line executable workflow for RNA-Seq on PBMC Samples. Open a new pull request (on a separate branch) and comment the PR number here when you're done #14

Open rohan-uiuc opened 10 months ago

rohan-uiuc commented 10 months ago

Experiment Type: RNA-Seq Sequencing of total cellular RNA

Workflow Management: Bash/SLURM Scripting and job scheduling

Software Stack: FastQC MultiQC STAR RSEM samtools DESeq2

What else to know about the pipeline? I am working PBMC samples collected from patients that are undergoing immunotherapy.

Use the data files existing in Report_WholeBrain as input for this workflow.

You should write a series of bash scripts and R scripts that can accomplish this task. Open a PR with those scripts when you're done.

lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome ╔════════════════════════════════════════════════════════════╗ ║ Looks like Playwright was just installed or updated. ║ ║ Please run the following command to download new browsers: ║ ║ ║ ║ playwright install ║ ║ ║ ║ <3 Playwright Team ║ ╚════════════════════════════════════════════════════════════╝ Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 33, in get_tools
    sync_browser = create_sync_playwright_browser()
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/utils.py", line 82, in create_sync_playwright_browser
    return browser.chromium.launch(headless=headless)
  File "/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py", line 14778, in launch
    self._sync(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_sync_base.py", line 109, in _sync
    return task.result()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_browser_type.py", line 96, in launch
    Browser, from_channel(await self._channel.send("launch", params))
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 61, in send
    return await self._connection.wrap_api_call(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 490, in wrap_api_call
    return await cb()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 99, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.Error: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome
╔════════════════════════════════════════════════════════════╗
║ Looks like Playwright was just installed or updated.       ║
║ Please run the following command to download new browsers: ║
║                                                            ║
║     playwright install                                     ║
║                                                            ║
║ <3 Playwright Team                                         ║
╚════════════════════════════════════════════════════════════╝
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome ╔════════════════════════════════════════════════════════════╗ ║ Looks like Playwright was just installed or updated. ║ ║ Please run the following command to download new browsers: ║ ║ ║ ║ playwright install ║ ║ ║ ║ <3 Playwright Team ║ ╚════════════════════════════════════════════════════════════╝ Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 33, in get_tools
    sync_browser = create_sync_playwright_browser()
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/utils.py", line 82, in create_sync_playwright_browser
    return browser.chromium.launch(headless=headless)
  File "/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py", line 14778, in launch
    self._sync(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_sync_base.py", line 109, in _sync
    return task.result()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_browser_type.py", line 96, in launch
    Browser, from_channel(await self._channel.send("launch", params))
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 61, in send
    return await self._connection.wrap_api_call(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 490, in wrap_api_call
    return await cb()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 99, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.Error: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome
╔════════════════════════════════════════════════════════════╗
║ Looks like Playwright was just installed or updated.       ║
║ Please run the following command to download new browsers: ║
║                                                            ║
║     playwright install                                     ║
║                                                            ║
║ <3 Playwright Team                                         ║
╚════════════════════════════════════════════════════════════╝
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome ╔════════════════════════════════════════════════════════════╗ ║ Looks like Playwright was just installed or updated. ║ ║ Please run the following command to download new browsers: ║ ║ ║ ║ playwright install ║ ║ ║ ║ <3 Playwright Team ║ ╚════════════════════════════════════════════════════════════╝ Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 33, in get_tools
    sync_browser = create_sync_playwright_browser()
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/utils.py", line 82, in create_sync_playwright_browser
    return browser.chromium.launch(headless=headless)
  File "/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py", line 14778, in launch
    self._sync(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_sync_base.py", line 109, in _sync
    return task.result()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_browser_type.py", line 96, in launch
    Browser, from_channel(await self._channel.send("launch", params))
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 61, in send
    return await self._connection.wrap_api_call(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 490, in wrap_api_call
    return await cb()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 99, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.Error: Executable doesn't exist at /ms-playwright/chromium-1084/chrome-linux/chrome
╔════════════════════════════════════════════════════════════╗
║ Looks like Playwright was just installed or updated.       ║
║ Please run the following command to download new browsers: ║
║                                                            ║
║     playwright install                                     ║
║                                                            ║
║ <3 Playwright Team                                         ║
╚════════════════════════════════════════════════════════════╝
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: ╔══════════════════════════════════════════════════════╗ ║ Host system is missing dependencies to run browsers. ║ ║ Please install them with the following command: ║ ║ ║ ║ playwright install-deps ║ ║ ║ ║ Alternatively, use apt: ║ ║ apt-get install libglib2.0-0\ ║ ║ libnss3\ ║ ║ libnspr4\ ║ ║ libatk1.0-0\ ║ ║ libatk-bridge2.0-0\ ║ ║ libcups2\ ║ ║ libdrm2\ ║ ║ libdbus-1-3\ ║ ║ libxkbcommon0\ ║ ║ libatspi2.0-0\ ║ ║ libxcomposite1\ ║ ║ libxdamage1\ ║ ║ libxfixes3\ ║ ║ libxrandr2\ ║ ║ libgbm1\ ║ ║ libpango-1.0-0\ ║ ║ libcairo2\ ║ ║ libasound2 ║ ║ ║ ║ <3 Playwright Team ║ ╚══════════════════════════════════════════════════════╝ Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 33, in get_tools
    sync_browser = create_sync_playwright_browser()
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/utils.py", line 82, in create_sync_playwright_browser
    return browser.chromium.launch(headless=headless)
  File "/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py", line 14778, in launch
    self._sync(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_sync_base.py", line 109, in _sync
    return task.result()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_browser_type.py", line 96, in launch
    Browser, from_channel(await self._channel.send("launch", params))
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 61, in send
    return await self._connection.wrap_api_call(
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 490, in wrap_api_call
    return await cb()
  File "/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py", line 99, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.Error: 
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Please install them with the following command:      ║
║                                                      ║
║     playwright install-deps                          ║
║                                                      ║
║ Alternatively, use apt:                              ║
║     apt-get install libglib2.0-0\                    ║
║         libnss3\                                     ║
║         libnspr4\                                    ║
║         libatk1.0-0\                                 ║
║         libatk-bridge2.0-0\                          ║
║         libcups2\                                    ║
║         libdrm2\                                     ║
║         libdbus-1-3\                                 ║
║         libxkbcommon0\                               ║
║         libatspi2.0-0\                               ║
║         libxcomposite1\                              ║
║         libxdamage1\                                 ║
║         libxfixes3\                                  ║
║         libxrandr2\                                  ║
║         libgbm1\                                     ║
║         libpango-1.0-0\                              ║
║         libcairo2\                                   ║
║         libasound2                                   ║
║                                                      ║
║ <3 Playwright Team                                   ║
╚══════════════════════════════════════════════════════╝
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: The 'beautifulsoup4' package is required to use this tool. Please install it with 'pip install beautifulsoup4'. Traceback

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/extract_text.py", line 25, in check_acheck_bs_importrgs
    from bs4 import BeautifulSoup  # noqa: F401
ModuleNotFoundError: No module named 'bs4'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 39, in get_tools
    browser_tools = browser_toolkit.get_tools()
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/agent_toolkits/playwright/toolkit.py", line 65, in get_tools
    tools = [
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/agent_toolkits/playwright/toolkit.py", line 66, in <listcomp>
    tool_cls.from_browser(
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/base.py", line 61, in from_browser
    return cls(sync_browser=sync_browser, async_browser=async_browser)
  File "/usr/local/lib/python3.10/dist-packages/langchain/load/serializable.py", line 97, in __init__
    super().__init__(**kwargs)
  File "pydantic/main.py", line 339, in pydantic.main.BaseModel.__init__
  File "pydantic/main.py", line 1102, in pydantic.main.validate_model
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/playwright/extract_text.py", line 27, in check_acheck_bs_importrgs
    raise ImportError(
ImportError: The 'beautifulsoup4' package is required to use this tool. Please install it with 'pip install beautifulsoup4'.
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: name 'AzureChatOpenAI' is not defined Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 43, in get_tools
    llm = AzureChatOpenAI(temperature=0.1, model="gpt-4-0613", max_retries=3, request_timeout=60 * 3, deployment_name=os.environ['AZURE_OPENAI_ENGINE'])  # type: ignore
NameError: name 'AzureChatOpenAI' is not defined
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: name 'AzureChatOpenAI' is not defined Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 43, in get_tools
    llm = AzureChatOpenAI(temperature=0.1, model="gpt-4-0613", max_retries=3, request_timeout=60 * 3, deployment_name=os.environ['AZURE_OPENAI_ENGINE'])  # type: ignore
NameError: name 'AzureChatOpenAI' is not defined
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: 1 validation error for SerpAPIWrapper root Did not find serpapi_api_key, please add an environment variable SERPAPI_API_KEY which contains it, or pass serpapi_api_key as a named parameter. (type=value_error) Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 96, in handle_issue_opened
    bot = WorkflowAgent(run_id_in_metadata=langsmith_run_id)
  File "/app/ml4bio_agent.py", line 30, in __init__
    self.agent = self.make_agent()
  File "/app/ml4bio_agent.py", line 41, in make_agent
    tools = get_tools()
  File "/app/tools.py", line 49, in get_tools
    search = load_tools(["serpapi"])
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/load_tools.py", line 486, in load_tools
    tool = _get_tool_func(**sub_kwargs)
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/load_tools.py", line 231, in _get_serpapi
    func=SerpAPIWrapper(**kwargs).run,
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for SerpAPIWrapper
__root__
  Did not find serpapi_api_key, please add an environment variable `SERPAPI_API_KEY` which contains it, or pass  `serpapi_api_key` as a named parameter. (type=value_error)
lil-jr-dev[bot] commented 10 months ago

Thanks for opening a new issue! I'll now try to finish this implementation and open a PR for you to review.

You can monitor the LangSmith trace here.

Feel free to comment in this thread to give me additional instructions, or I'll tag you in a comment if I get stuck. If I think I'm successful I'll 'request your review' on the resulting PR. Just watch for emails while I work.

lil-jr-dev[bot] commented 10 months ago

👉 Follow the bot's progress in real time on LangSmith.

lil-jr-dev[bot] commented 10 months ago

Error in handle_issue_opened: GitHubAction._run() missing 1 required positional argument: 'instructions' Traceback

Traceback (most recent call last):
  File "/app/github_webhook_handlers.py", line 97, in handle_issue_opened
    result = bot.run(prompt)
  File "/app/ml4bio_agent.py", line 34, in run
    result = self.agent.with_config({"run_name": "ML4BIO Plan & Execute Agent"}).invoke({"input":f"{input}"}, {"metadata": {"run_id_in_metadata": str(self.run_id_in_metadata)}})
  File "/usr/local/lib/python3.10/dist-packages/langchain/schema/runnable/base.py", line 2316, in invoke
    return self.bound.invoke(
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 84, in invoke
    return self(
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 306, in __call__
    raise e
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 300, in __call__
    self._call(inputs, run_manager=run_manager)
  File "/usr/local/lib/python3.10/dist-packages/langchain_experimental/plan_and_execute/agent_executor.py", line 56, in _call
    response = self.executor.step(
  File "/usr/local/lib/python3.10/dist-packages/langchain_experimental/plan_and_execute/executors/base.py", line 37, in step
    response = self.chain.run(**inputs, callbacks=callbacks)
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 506, in run
    return self(kwargs, callbacks=callbacks, tags=tags, metadata=metadata)[
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 306, in __call__
    raise e
  File "/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py", line 300, in __call__
    self._call(inputs, run_manager=run_manager)
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/agent.py", line 1141, in _call
    next_step_output = self._take_next_step(
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/agent.py", line 991, in _take_next_step
    observation = tool.run(
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/base.py", line 364, in run
    raise e
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/base.py", line 336, in run
    self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
TypeError: GitHubAction._run() missing 1 required positional argument: 'instructions'