Skip to content

Commit 2b2858f

Browse files
Updated README.md with more detailed information about examples (#3)
1 parent edeecd7 commit 2b2858f

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

README.md

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ See our [blog](https://www.futurehouse.org/research-announcements/demonstrating-
3737
The project uses `pyproject.toml` for dependency management. Install the base package and development dependencies (which include Jupyter):
3838

3939
```bash
40-
uv pip install -e .[dev]
40+
uv pip install -e '.[dev]'
4141
```
4242

4343
OR
4444

4545
```bash
46-
pip install -e .[dev]
46+
pip install -e '.[dev]'
4747
```
4848

4949
4. **Set API Keys:**
@@ -76,14 +76,7 @@ See our [blog](https://www.futurehouse.org/research-announcements/demonstrating-
7676
config = RobinConfiguration(
7777
disease_name="DISEASE_NAME", # <-- Customize the disease name here
7878
# You can also explicitly set API keys here if not using environment variables:
79-
# futurehouse_api_key="your_futurehouse_api_key_here",
80-
# llm_config={ # Example if you want to specify a different LLM
81-
# "model_list": [{
82-
# "model_name": "gpt-4-turbo",
83-
# "litellm_params": {"model": "gpt-4-turbo", "api_key": os.getenv("OPENAI_API_KEY")}
84-
# }]
85-
# },
86-
# llm_name="gpt-4-turbo" # if overriding default
79+
# futurehouse_api_key="your_futurehouse_api_key_here"
8780
)
8881
```
8982
@@ -100,11 +93,45 @@ See our [blog](https://www.futurehouse.org/research-announcements/demonstrating-
10093

10194
## Expected Output
10295

103-
- **Logs:** Detailed logs will be printed in the notebook output and/or your console, showing the progress of each step.
104-
- **Files:** Results, including generated queries, literature reviews, candidate proposals, and rankings, will be saved in a new subdirectory within `robin_output/`. The subdirectory name is typically based on the `disease_name` and a timestamp (e.g., `robin_output/PCOS_2023-10-27_10-30/`).
96+
- **Logs:** Detailed logs will be printed in the notebook output and/or your console, showing the progress of each step (e.g., query generation, literature search, candidate proposal, ranking).
97+
98+
- **Files:** Results are saved in a new subdirectory within `robin_output/`, named after the `disease_name` and a timestamp (e.g., `robin_output/DISEASE_NAME_YYYY-MM-DD_HH-MM/`). This directory contains a structured set of outputs, including:
99+
- Folders for detailed hypotheses and literature reviews for both experimental assays and therapeutic candidates (e.g., `experimental_assay_detailed_hypotheses/`, `therapeutic_candidate_literature_reviews/`).
100+
- CSV files for ranking results and final ranked lists (e.g., `experimental_assay_ranking_results.csv`, `ranked_therapeutic_candidates.csv`).
101+
- Text summaries for proposed assays and candidates (e.g., `experimental_assay_summary.txt`, `therapeutic_candidates_summary.txt`).
102+
- If the optional data analysis step is run (using the `data_analysis` function), there will be an additional `data_analysis/` subfolder containing outputs from the Finch agent (e.g., `consensus_results.csv`). Correspondingly, some therapeutic candidate-related files generated after this step may have an `_experimental` suffix (e.g., `ranked_therapeutic_candidates_experimental.csv`, `therapeutic_candidate_detailed_hypotheses_experimental/`).
103+
104+
## Overview of `examples` Folder:
105+
106+
The `examples` folder provides practical usage demonstrations of pre-generated output directories from complete Robin runs for 10 diseases:
107+
108+
- Age-Related Hearing Loss
109+
- Celiac Disease
110+
- Charcot-Marie-Tooth Disease
111+
- Chronic Kidney Disease
112+
- Friedreich's Ataxia
113+
- Glaucoma
114+
- Idiopathic Pulmonary Fibrosis
115+
- Non-alcoholic Steatohepatitis
116+
- Polycystic Ovary Syndrome
117+
- Sarcopenia
118+
119+
Each disease-specific subfolder mirrors the exact file and directory structure a user would obtain in their own `robin_output/` directory after a run:
120+
121+
- `experimental_assay_detailed_hypotheses/`: Text files containing detailed reports for each proposed experimental assay.
122+
- `experimental_assay_literature_reviews/`: Text files of literature reviews generated from queries related to assay development.
123+
- `experimental_assay_ranking_results.csv`: CSV file showing pairwise comparison results for assay ranking.
124+
- `experimental_assay_summary.txt`: A textual summary of the proposed experimental assays.
125+
- `ranked_therapeutic_candidates.csv`: CSV file listing the final ranked therapeutic candidates and their strength scores.
126+
- `therapeutic_candidate_detailed_hypotheses/`: Text files with detailed reports for each proposed therapeutic candidate.
127+
- `therapeutic_candidate_literature_reviews/`: Text files of literature reviews for therapeutic candidate queries.
128+
- `therapeutic_candidate_ranking_results.csv`: CSV file of pairwise comparison results for candidate ranking.
129+
- `therapeutic_candidates_summary.txt`: A textual summary of the proposed therapeutic candidates.
130+
131+
These example outputs are provided to help users to understand the depth, format, and typical errors seen in Robin runs across various diseases.
105132
106133
## Advanced Usage
107134
108-
A full example trajectory can be found in the `robin_full.ipynb` notebook. This notebook includes the parameters and agents used in the paper. Note that the parameters used in this notebook exceeds the current free rate limits.
135+
A full example trajectory of both the initial therapeutic candidate generation and experimental data analysis can be found in the `robin_full.ipynb` notebook. This notebook includes the parameters and agents used in the paper. Note that the parameters used in this notebook exceeds the current free rate limits and data analysis functionality is currently in beta testing.
109136
110137
While this guide focuses on the `robin_demo.ipynb` notebook, the `robin` Python module (in the `robin/` directory) can be imported and its functions (`experimental_assay`, `therapeutic_candidates`, `data_analysis`) can be used programmatically in your own Python scripts for more customized workflows.

0 commit comments

Comments
 (0)