Skip to content

sooheon/bioinfostudio

Repository files navigation

Bioinformatics Studio

how to use

  1. install uv if needed: https://docs.astral.sh/uv/getting-started/installation/
  2. install python environment: uv sync
  3. Fill in API keys in .env file
  4. Run streamlit via uv run streamlit run main.py

choices made

  • data is not sent to LLM, just the description of the data
  • LLM is instructed to generate code, code is run in user's python environment with exec, which is not the best practice but is the only way I know how to get the code to run

todo

  • handle multiple data files for one analysis: data.csv, sample_info.csv
  • files workspace should look more like a regular file browser ex) NerdTree, Finder...
  • fix right pane output -- currently uses streamlit's st.pyplot, which captures latest output; need to save output to disk in agreed layout (folder structure) so results are portable
  • implement chat / code / output history
    • everything should be saved to disk
    • streamlit should not have in-memory state wrt data / code / output, it should be pure function of workspace
    • use case: user wants to modify data, they can do it themselves or ask LLM to do it and save it
  • option to use current code output as context, or start from scratch: currently every generation starts from scratch
  • error handling: when visualization fails (usually due to error in code), agent should automatically try to rerun, at least a couple times
  • new library -- handle PyComplexHeatmap, which generates nicer heatmaps but requires
  • currently, code executor just returns plt.gcf() and any print statements. Is there a good way to get one agent to write code to save figures to disk, and another agent to consolidate output to a report?
  • include documentation for most common figures (heatmap, clustermap) as context
  • add mermaid plot in explanation tab
  • 사용자가 작성한 채팅에 대해 ‘ex) heatmap 그려줘 등‘ AI가 파악하여 heatmap에 필요한 정보들을 사용자에게 힌트 목록을 제시해준다.
  • 참고할 레퍼런스(그래프나 그림, 글?)를 삽입하여 정확도를 높인다. 보통 연구자들은 논문에 구현된 figure를 따라 그리기 때문
  • implement letter by letter writing animation for generated code
    • enable streaming in API calls
    • set up server endpoint to stream response
    • create frontend component to rcv stream and update display char by char
    • css transitions
  • voice input -- talk to LLM

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published