tooluniverse 1.0.7__py3-none-any.whl → 1.0.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tooluniverse might be problematic. Click here for more details.
- tooluniverse/__init__.py +37 -14
- tooluniverse/admetai_tool.py +16 -5
- tooluniverse/base_tool.py +36 -0
- tooluniverse/biogrid_tool.py +118 -0
- tooluniverse/build_optimizer.py +87 -0
- tooluniverse/cache/__init__.py +3 -0
- tooluniverse/cache/memory_cache.py +99 -0
- tooluniverse/cache/result_cache_manager.py +235 -0
- tooluniverse/cache/sqlite_backend.py +257 -0
- tooluniverse/clinvar_tool.py +90 -0
- tooluniverse/compose_scripts/output_summarizer.py +87 -33
- tooluniverse/compose_tool.py +2 -2
- tooluniverse/custom_tool.py +28 -0
- tooluniverse/data/adverse_event_tools.json +97 -98
- tooluniverse/data/agentic_tools.json +81 -162
- tooluniverse/data/arxiv_tools.json +1 -4
- tooluniverse/data/compose_tools.json +0 -54
- tooluniverse/data/core_tools.json +1 -4
- tooluniverse/data/dataset_tools.json +7 -7
- tooluniverse/data/doaj_tools.json +1 -3
- tooluniverse/data/drug_discovery_agents.json +282 -0
- tooluniverse/data/europe_pmc_tools.json +1 -2
- tooluniverse/data/genomics_tools.json +174 -0
- tooluniverse/data/geo_tools.json +86 -0
- tooluniverse/data/literature_search_tools.json +15 -35
- tooluniverse/data/markitdown_tools.json +51 -0
- tooluniverse/data/monarch_tools.json +1 -2
- tooluniverse/data/openalex_tools.json +1 -5
- tooluniverse/data/opentarget_tools.json +8 -16
- tooluniverse/data/output_summarization_tools.json +23 -20
- tooluniverse/data/packages/bioinformatics_core_tools.json +2 -2
- tooluniverse/data/packages/cheminformatics_tools.json +1 -1
- tooluniverse/data/packages/genomics_tools.json +1 -1
- tooluniverse/data/packages/single_cell_tools.json +1 -1
- tooluniverse/data/packages/structural_biology_tools.json +1 -1
- tooluniverse/data/pmc_tools.json +1 -4
- tooluniverse/data/ppi_tools.json +139 -0
- tooluniverse/data/pubmed_tools.json +1 -3
- tooluniverse/data/semantic_scholar_tools.json +1 -2
- tooluniverse/data/tool_composition_tools.json +2 -4
- tooluniverse/data/unified_guideline_tools.json +206 -4
- tooluniverse/data/xml_tools.json +15 -15
- tooluniverse/data/zenodo_tools.json +1 -2
- tooluniverse/dbsnp_tool.py +71 -0
- tooluniverse/default_config.py +6 -0
- tooluniverse/ensembl_tool.py +61 -0
- tooluniverse/execute_function.py +235 -76
- tooluniverse/generate_tools.py +303 -20
- tooluniverse/genomics_gene_search_tool.py +56 -0
- tooluniverse/geo_tool.py +116 -0
- tooluniverse/gnomad_tool.py +63 -0
- tooluniverse/logging_config.py +64 -2
- tooluniverse/markitdown_tool.py +159 -0
- tooluniverse/mcp_client_tool.py +10 -5
- tooluniverse/molecule_2d_tool.py +9 -3
- tooluniverse/molecule_3d_tool.py +9 -3
- tooluniverse/output_hook.py +217 -150
- tooluniverse/smcp.py +18 -10
- tooluniverse/smcp_server.py +89 -199
- tooluniverse/string_tool.py +112 -0
- tooluniverse/tools/{MultiAgentLiteratureSearch.py → ADMETAnalyzerAgent.py} +18 -18
- tooluniverse/tools/ArXiv_search_papers.py +3 -3
- tooluniverse/tools/CMA_Guidelines_Search.py +52 -0
- tooluniverse/tools/CORE_search_papers.py +3 -3
- tooluniverse/tools/ClinVar_search_variants.py +52 -0
- tooluniverse/tools/ClinicalTrialDesignAgent.py +63 -0
- tooluniverse/tools/CompoundDiscoveryAgent.py +59 -0
- tooluniverse/tools/DOAJ_search_articles.py +2 -2
- tooluniverse/tools/DiseaseAnalyzerAgent.py +52 -0
- tooluniverse/tools/DrugInteractionAnalyzerAgent.py +52 -0
- tooluniverse/tools/DrugOptimizationAgent.py +63 -0
- tooluniverse/tools/Ensembl_lookup_gene_by_symbol.py +52 -0
- tooluniverse/tools/EuropePMC_search_articles.py +1 -1
- tooluniverse/tools/GIN_Guidelines_Search.py +52 -0
- tooluniverse/tools/GWAS_search_associations_by_gene.py +52 -0
- tooluniverse/tools/LiteratureSynthesisAgent.py +59 -0
- tooluniverse/tools/PMC_search_papers.py +3 -3
- tooluniverse/tools/PubMed_search_articles.py +2 -2
- tooluniverse/tools/SemanticScholar_search_papers.py +1 -1
- tooluniverse/tools/UCSC_get_genes_by_region.py +67 -0
- tooluniverse/tools/Zenodo_search_records.py +1 -1
- tooluniverse/tools/__init__.py +33 -3
- tooluniverse/tools/convert_to_markdown.py +59 -0
- tooluniverse/tools/dbSNP_get_variant_by_rsid.py +46 -0
- tooluniverse/tools/gnomAD_query_variant.py +52 -0
- tooluniverse/tools/openalex_literature_search.py +4 -4
- tooluniverse/ucsc_tool.py +60 -0
- tooluniverse/unified_guideline_tools.py +1175 -57
- tooluniverse/utils.py +51 -4
- tooluniverse/zenodo_tool.py +2 -1
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/METADATA +10 -3
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/RECORD +96 -61
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/entry_points.txt +0 -3
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/WHEEL +0 -0
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/licenses/LICENSE +0 -0
- {tooluniverse-1.0.7.dist-info → tooluniverse-1.0.9.dist-info}/top_level.txt +0 -0
|
@@ -314,59 +314,5 @@
|
|
|
314
314
|
],
|
|
315
315
|
"composition_file": "tool_graph_generation.py",
|
|
316
316
|
"composition_function": "compose"
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
"type": "ComposeTool",
|
|
320
|
-
"name": "MultiAgentLiteratureSearch",
|
|
321
|
-
"description": "Multi-agent literature search system that uses AI agents to analyze intent, extract keywords, execute parallel searches, summarize results, and check quality iteratively",
|
|
322
|
-
"parameter": {
|
|
323
|
-
"type": "object",
|
|
324
|
-
"properties": {
|
|
325
|
-
"query": {
|
|
326
|
-
"type": "string",
|
|
327
|
-
"description": "The research query to search for"
|
|
328
|
-
},
|
|
329
|
-
"max_iterations": {
|
|
330
|
-
"type": "integer",
|
|
331
|
-
"description": "Maximum number of iterations (default: 3)",
|
|
332
|
-
"default": 3
|
|
333
|
-
},
|
|
334
|
-
"quality_threshold": {
|
|
335
|
-
"type": "number",
|
|
336
|
-
"description": "Quality threshold for completion (default: 0.7)",
|
|
337
|
-
"default": 0.7
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
"required": [
|
|
341
|
-
"query",
|
|
342
|
-
"max_iterations",
|
|
343
|
-
"quality_threshold"
|
|
344
|
-
]
|
|
345
|
-
},
|
|
346
|
-
"auto_load_dependencies": true,
|
|
347
|
-
"fail_on_missing_tools": false,
|
|
348
|
-
"required_tools": [
|
|
349
|
-
"IntentAnalyzerAgent",
|
|
350
|
-
"KeywordExtractorAgent",
|
|
351
|
-
"ResultSummarizerAgent",
|
|
352
|
-
"QualityCheckerAgent",
|
|
353
|
-
"OverallSummaryAgent",
|
|
354
|
-
"ArXiv_search_papers",
|
|
355
|
-
"BioRxiv_search_preprints",
|
|
356
|
-
"MedRxiv_search_preprints",
|
|
357
|
-
"HAL_search_archive",
|
|
358
|
-
"Crossref_search_works",
|
|
359
|
-
"PubMed_search_articles",
|
|
360
|
-
"EuropePMC_search_articles",
|
|
361
|
-
"SemanticScholar_search_papers",
|
|
362
|
-
"openalex_literature_search",
|
|
363
|
-
"DBLP_search_publications",
|
|
364
|
-
"DOAJ_search_articles",
|
|
365
|
-
"CORE_search_papers",
|
|
366
|
-
"PMC_search_papers",
|
|
367
|
-
"Zenodo_search_records"
|
|
368
|
-
],
|
|
369
|
-
"composition_file": "multi_agent_literature_search.py",
|
|
370
|
-
"composition_function": "compose"
|
|
371
317
|
}
|
|
372
318
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"repo_id": "agenticx/DrugbankVocabulary",
|
|
8
8
|
"path_in_repo": "drugbank_vocabulary.csv",
|
|
9
9
|
"token": null,
|
|
10
|
-
"save_to_local_dir":
|
|
10
|
+
"save_to_local_dir": null
|
|
11
11
|
},
|
|
12
12
|
"parameter": {
|
|
13
13
|
"type": "object",
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"repo_id": "agenticx/DrugbankVocabulary",
|
|
146
146
|
"path_in_repo": "drugbank_vocabulary.csv",
|
|
147
147
|
"token": null,
|
|
148
|
-
"save_to_local_dir":
|
|
148
|
+
"save_to_local_dir": null
|
|
149
149
|
},
|
|
150
150
|
"parameter": {
|
|
151
151
|
"type": "object",
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
"repo_id": "agenticx/DrugbankRawParquet",
|
|
282
282
|
"path_in_repo": "drugbank_raw.parquet",
|
|
283
283
|
"token": null,
|
|
284
|
-
"save_to_local_dir":
|
|
284
|
+
"save_to_local_dir": null
|
|
285
285
|
},
|
|
286
286
|
"parameter": {
|
|
287
287
|
"type": "object",
|
|
@@ -471,7 +471,7 @@
|
|
|
471
471
|
"repo_id": "agenticx/DrugLinks",
|
|
472
472
|
"path_in_repo": "drug_links.csv",
|
|
473
473
|
"token": null,
|
|
474
|
-
"save_to_local_dir":
|
|
474
|
+
"save_to_local_dir": null
|
|
475
475
|
},
|
|
476
476
|
"parameter": {
|
|
477
477
|
"type": "object",
|
|
@@ -707,7 +707,7 @@
|
|
|
707
707
|
"repo_id": "agenticx/DICTrank",
|
|
708
708
|
"path_in_repo": "DICTrank.csv",
|
|
709
709
|
"token": null,
|
|
710
|
-
"save_to_local_dir":
|
|
710
|
+
"save_to_local_dir": null
|
|
711
711
|
},
|
|
712
712
|
"parameter": {
|
|
713
713
|
"type": "object",
|
|
@@ -845,7 +845,7 @@
|
|
|
845
845
|
"repo_id": "agenticx/DILIrank",
|
|
846
846
|
"path_in_repo": "DILIrank.csv",
|
|
847
847
|
"token": null,
|
|
848
|
-
"save_to_local_dir":
|
|
848
|
+
"save_to_local_dir": null
|
|
849
849
|
},
|
|
850
850
|
"parameter": {
|
|
851
851
|
"type": "object",
|
|
@@ -963,7 +963,7 @@
|
|
|
963
963
|
"repo_id": "agenticx/DIQTA",
|
|
964
964
|
"path_in_repo": "DIQTA.csv",
|
|
965
965
|
"token": null,
|
|
966
|
-
"save_to_local_dir":
|
|
966
|
+
"save_to_local_dir": null
|
|
967
967
|
},
|
|
968
968
|
"parameter": {
|
|
969
969
|
"type": "object",
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "AgenticTool",
|
|
4
|
+
"name": "DiseaseAnalyzerAgent",
|
|
5
|
+
"description": "AI agent that analyzes disease characteristics and identifies potential therapeutic targets using LLM reasoning",
|
|
6
|
+
"prompt": "You are a biomedical expert specializing in disease analysis and target identification. Analyze the following disease and provide comprehensive insights:\n\nDisease: {disease_name}\nContext: {context}\n\nPlease provide:\n1. Disease Overview: Key characteristics, pathophysiology, and clinical manifestations\n2. Molecular Mechanisms: Underlying biological processes and pathways\n3. Target Identification: Potential therapeutic targets with rationale\n4. Target Prioritization: Rank targets by druggability and therapeutic potential\n5. Research Gaps: Areas needing further investigation\n\nReturn as structured JSON:\n{\n \"disease_overview\": {\n \"characteristics\": \"...\",\n \"pathophysiology\": \"...\",\n \"clinical_manifestations\": \"...\"\n },\n \"molecular_mechanisms\": [\n {\n \"pathway\": \"...\",\n \"description\": \"...\",\n \"relevance\": \"...\"\n }\n ],\n \"therapeutic_targets\": [\n {\n \"target_name\": \"...\",\n \"target_type\": \"...\",\n \"rationale\": \"...\",\n \"druggability_score\": 1-10,\n \"therapeutic_potential\": 1-10\n }\n ],\n \"research_gaps\": [\"...\", \"...\"]\n}",
|
|
7
|
+
"input_arguments": [
|
|
8
|
+
"disease_name",
|
|
9
|
+
"context"
|
|
10
|
+
],
|
|
11
|
+
"parameter": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"disease_name": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Name of the disease to analyze"
|
|
17
|
+
},
|
|
18
|
+
"context": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Additional context or specific focus areas",
|
|
21
|
+
"default": ""
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": [
|
|
25
|
+
"disease_name"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"configs": {
|
|
29
|
+
"api_type": "CHATGPT",
|
|
30
|
+
"model_id": "gpt-4.1",
|
|
31
|
+
"temperature": 0.7,
|
|
32
|
+
"max_new_tokens": 3000,
|
|
33
|
+
"return_json": true
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "AgenticTool",
|
|
38
|
+
"name": "CompoundDiscoveryAgent",
|
|
39
|
+
"description": "AI agent that analyzes potential drug compounds using multiple strategies and LLM reasoning",
|
|
40
|
+
"prompt": "You are a drug discovery expert. Based on the disease and targets provided, discover potential therapeutic compounds using multiple strategies:\n\nDisease: {disease_name}\nTargets: {targets}\nDiscovery Context: {context}\n\nPlease provide:\n1. Target-Based Discovery: Compounds that interact with specific targets\n2. Mechanism-Based Discovery: Compounds affecting disease mechanisms\n3. Repurposing Candidates: Existing drugs that could be repurposed\n4. Natural Products: Plant-derived or natural compounds\n5. Novel Compounds: Recently discovered or experimental compounds\n6. Discovery Rationale: Why each compound might be effective\n\nReturn as structured JSON:\n{\n \"target_based_compounds\": [\n {\n \"compound_name\": \"...\",\n \"target\": \"...\",\n \"mechanism\": \"...\",\n \"rationale\": \"...\",\n \"confidence_score\": 1-10\n }\n ],\n \"mechanism_based_compounds\": [\n {\n \"compound_name\": \"...\",\n \"mechanism\": \"...\",\n \"rationale\": \"...\",\n \"confidence_score\": 1-10\n }\n ],\n \"repurposing_candidates\": [\n {\n \"compound_name\": \"...\",\n \"current_use\": \"...\",\n \"repurposing_rationale\": \"...\",\n \"confidence_score\": 1-10\n }\n ],\n \"natural_products\": [\n {\n \"compound_name\": \"...\",\n \"source\": \"...\",\n \"mechanism\": \"...\",\n \"rationale\": \"...\",\n \"confidence_score\": 1-10\n }\n ],\n \"novel_compounds\": [\n {\n \"compound_name\": \"...\",\n \"discovery_status\": \"...\",\n \"mechanism\": \"...\",\n \"rationale\": \"...\",\n \"confidence_score\": 1-10\n }\n ]\n}",
|
|
41
|
+
"input_arguments": [
|
|
42
|
+
"disease_name",
|
|
43
|
+
"targets",
|
|
44
|
+
"context"
|
|
45
|
+
],
|
|
46
|
+
"parameter": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"disease_name": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Name of the disease"
|
|
52
|
+
},
|
|
53
|
+
"targets": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "List of therapeutic targets (comma-separated)"
|
|
56
|
+
},
|
|
57
|
+
"context": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Additional context or specific requirements",
|
|
60
|
+
"default": ""
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"disease_name",
|
|
65
|
+
"targets"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"configs": {
|
|
69
|
+
"api_type": "CHATGPT",
|
|
70
|
+
"model_id": "gpt-4.1",
|
|
71
|
+
"temperature": 0.8,
|
|
72
|
+
"max_new_tokens": 4000,
|
|
73
|
+
"return_json": true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "AgenticTool",
|
|
78
|
+
"name": "ADMETAnalyzerAgent",
|
|
79
|
+
"description": "AI agent that analyzes ADMET data and provides insights on drug-likeness and safety profiles",
|
|
80
|
+
"prompt": "You are a pharmaceutical expert specializing in ADMET (Absorption, Distribution, Metabolism, Excretion, Toxicity) analysis. Analyze the following ADMET data and provide insights:\n\nCompounds: {compounds}\nADMET Data: {admet_data}\nDisease Context: {disease_context}\n\nFor each compound, provide:\n1. Data Interpretation: What the ADMET data tells us\n2. Strengths: Positive ADMET characteristics\n3. Concerns: Potential ADMET issues or red flags\n4. Drug-likeness Assessment: Compliance with drug-like properties\n5. Safety Profile Analysis: Overall safety assessment based on data\n6. Comparative Analysis: How compounds compare to each other\n7. Clinical Implications: What this means for clinical development\n8. Optimization Opportunities: Areas for improvement based on data\n\nReturn as structured JSON:\n{\n \"admet_analysis\": [\n {\n \"compound_name\": \"...\",\n \"data_interpretation\": {\n \"absorption_insights\": \"...\",\n \"distribution_insights\": \"...\",\n \"metabolism_insights\": \"...\",\n \"excretion_insights\": \"...\",\n \"toxicity_insights\": \"...\"\n },\n \"strengths\": [\"...\", \"...\"],\n \"concerns\": [\"...\", \"...\"],\n \"drug_likeness_assessment\": {\n \"overall_compliance\": \"good/moderate/poor\",\n \"specific_issues\": [\"...\", \"...\"],\n \"recommendations\": [\"...\", \"...\"]\n },\n \"safety_profile\": {\n \"overall_assessment\": \"safe/moderate_risk/high_risk\",\n \"key_concerns\": [\"...\", \"...\"],\n \"monitoring_needs\": [\"...\", \"...\"]\n },\n \"clinical_implications\": [\"...\", \"...\"],\n \"optimization_opportunities\": [\"...\", \"...\"]\n }\n ],\n \"comparative_analysis\": {\n \"best_performing\": \"...\",\n \"ranking_rationale\": \"...\",\n \"overall_recommendations\": [\"...\", \"...\"]\n }\n}",
|
|
81
|
+
"input_arguments": [
|
|
82
|
+
"compounds",
|
|
83
|
+
"admet_data",
|
|
84
|
+
"disease_context"
|
|
85
|
+
],
|
|
86
|
+
"parameter": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"properties": {
|
|
89
|
+
"compounds": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "List of compounds to analyze (comma-separated)"
|
|
92
|
+
},
|
|
93
|
+
"admet_data": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "ADMET data from computational tools to analyze"
|
|
96
|
+
},
|
|
97
|
+
"disease_context": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "Disease context for ADMET evaluation",
|
|
100
|
+
"default": ""
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"required": [
|
|
104
|
+
"compounds",
|
|
105
|
+
"admet_data"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"configs": {
|
|
109
|
+
"api_type": "CHATGPT",
|
|
110
|
+
"model_id": "gpt-4.1",
|
|
111
|
+
"temperature": 0.6,
|
|
112
|
+
"max_new_tokens": 5000,
|
|
113
|
+
"return_json": true
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"type": "AgenticTool",
|
|
118
|
+
"name": "DrugInteractionAnalyzerAgent",
|
|
119
|
+
"description": "AI agent that analyzes drug-drug interactions and provides clinical recommendations",
|
|
120
|
+
"prompt": "You are a clinical pharmacology expert. Analyze potential drug-drug interactions for the following compounds:\n\nCompounds: {compounds}\nPatient Context: {patient_context}\n\nFor each compound pair, provide:\n1. Interaction Type: Pharmacokinetic, pharmacodynamic, or both\n2. Mechanism: How the interaction occurs\n3. Severity: Minor, moderate, major, or contraindicated\n4. Clinical Significance: Impact on patient care\n5. Management Strategy: How to handle the interaction\n6. Monitoring Requirements: What to monitor\n7. Alternative Options: Safer alternatives if needed\n\nReturn as structured JSON:\n{\n \"interaction_analysis\": [\n {\n \"compound_pair\": \"compound1 + compound2\",\n \"interaction_type\": \"pharmacokinetic/pharmacodynamic/both\",\n \"mechanism\": \"...\",\n \"severity\": \"minor/moderate/major/contraindicated\",\n \"clinical_significance\": \"...\",\n \"management_strategy\": \"...\",\n \"monitoring_requirements\": [\"...\", \"...\"],\n \"alternative_options\": [\"...\", \"...\"]\n }\n ],\n \"overall_risk_assessment\": {\n \"risk_level\": \"low/medium/high\",\n \"recommendations\": [\"...\", \"...\"],\n \"monitoring_plan\": \"...\"\n }\n}",
|
|
121
|
+
"input_arguments": [
|
|
122
|
+
"compounds",
|
|
123
|
+
"patient_context"
|
|
124
|
+
],
|
|
125
|
+
"parameter": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"properties": {
|
|
128
|
+
"compounds": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"description": "List of compounds to analyze for interactions (comma-separated)"
|
|
131
|
+
},
|
|
132
|
+
"patient_context": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "Patient context (age, comorbidities, medications, etc.)",
|
|
135
|
+
"default": "General adult population"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"required": [
|
|
139
|
+
"compounds"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"configs": {
|
|
143
|
+
"api_type": "CHATGPT",
|
|
144
|
+
"model_id": "gpt-4.1",
|
|
145
|
+
"temperature": 0.5,
|
|
146
|
+
"max_new_tokens": 3000,
|
|
147
|
+
"return_json": true
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "AgenticTool",
|
|
152
|
+
"name": "LiteratureSynthesisAgent",
|
|
153
|
+
"description": "AI agent that synthesizes literature findings and provides evidence-based insights",
|
|
154
|
+
"prompt": "You are a biomedical literature expert. Synthesize the following research findings and provide evidence-based insights:\n\nResearch Topic: {topic}\nLiterature Findings: {literature_data}\nFocus Area: {focus_area}\n\nPlease provide:\n1. Key Findings: Most important discoveries\n2. Evidence Quality: Assessment of evidence strength\n3. Consensus: Areas of agreement in the field\n4. Controversies: Areas of disagreement or uncertainty\n5. Gaps: Research gaps and future directions\n6. Clinical Relevance: Translation to clinical practice\n7. Recommendations: Evidence-based recommendations\n\nReturn as structured JSON:\n{\n \"key_findings\": [\n {\n \"finding\": \"...\",\n \"evidence_strength\": \"strong/moderate/weak\",\n \"source_count\": number,\n \"clinical_relevance\": \"high/medium/low\"\n }\n ],\n \"evidence_quality\": {\n \"overall_strength\": \"strong/moderate/weak\",\n \"study_types\": [\"...\", \"...\"],\n \"sample_sizes\": \"...\",\n \"methodology_quality\": \"...\"\n },\n \"consensus_areas\": [\"...\", \"...\"],\n \"controversies\": [\n {\n \"issue\": \"...\",\n \"perspectives\": [\"...\", \"...\"],\n \"resolution_status\": \"resolved/unresolved/ongoing\"\n }\n ],\n \"research_gaps\": [\"...\", \"...\"],\n \"clinical_relevance\": {\n \"translation_potential\": \"high/medium/low\",\n \"clinical_implications\": [\"...\", \"...\"],\n \"implementation_barriers\": [\"...\", \"...\"]\n },\n \"recommendations\": [\n {\n \"recommendation\": \"...\",\n \"evidence_level\": \"A/B/C/D\",\n \"priority\": \"high/medium/low\"\n }\n ]\n}",
|
|
155
|
+
"input_arguments": [
|
|
156
|
+
"topic",
|
|
157
|
+
"literature_data",
|
|
158
|
+
"focus_area"
|
|
159
|
+
],
|
|
160
|
+
"parameter": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"properties": {
|
|
163
|
+
"topic": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "Research topic or question"
|
|
166
|
+
},
|
|
167
|
+
"literature_data": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"description": "Literature findings or abstracts to synthesize"
|
|
170
|
+
},
|
|
171
|
+
"focus_area": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "Specific focus area for synthesis",
|
|
174
|
+
"default": "General"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"required": [
|
|
178
|
+
"topic",
|
|
179
|
+
"literature_data"
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"configs": {
|
|
183
|
+
"api_type": "CHATGPT",
|
|
184
|
+
"model_id": "gpt-4.1",
|
|
185
|
+
"temperature": 0.6,
|
|
186
|
+
"max_new_tokens": 4000,
|
|
187
|
+
"return_json": true
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"type": "AgenticTool",
|
|
192
|
+
"name": "DrugOptimizationAgent",
|
|
193
|
+
"description": "AI agent that analyzes drug optimization strategies based on ADMET and efficacy data",
|
|
194
|
+
"prompt": "You are a medicinal chemistry expert. Based on the provided data, analyze optimization strategies for the following compounds:\n\nCompounds: {compounds}\nADMET Data: {admet_data}\nEfficacy Data: {efficacy_data}\nTarget Profile: {target_profile}\n\nFor each compound, provide:\n1. Current Strengths: What works well\n2. Current Weaknesses: What needs improvement\n3. Optimization Strategies: Specific modifications to consider\n4. Synthetic Feasibility: How difficult to implement\n5. Expected Improvements: Potential outcomes based on data\n6. Risk Assessment: Potential risks of modifications\n7. Priority Ranking: Which optimizations to pursue first\n\nReturn as structured JSON:\n{\n \"optimization_analysis\": [\n {\n \"compound_name\": \"...\",\n \"current_strengths\": [\"...\", \"...\"],\n \"current_weaknesses\": [\"...\", \"...\"],\n \"optimization_strategies\": [\n {\n \"strategy\": \"...\",\n \"modification\": \"...\",\n \"rationale\": \"...\",\n \"synthetic_feasibility\": \"easy/moderate/difficult\",\n \"expected_improvement\": \"...\",\n \"risk_level\": \"low/medium/high\",\n \"priority\": 1-5\n }\n ]\n }\n ],\n \"overall_recommendations\": {\n \"top_priorities\": [\"...\", \"...\"],\n \"synthesis_roadmap\": \"...\",\n \"success_probability\": \"high/medium/low\"\n }\n}",
|
|
195
|
+
"input_arguments": [
|
|
196
|
+
"compounds",
|
|
197
|
+
"admet_data",
|
|
198
|
+
"efficacy_data",
|
|
199
|
+
"target_profile"
|
|
200
|
+
],
|
|
201
|
+
"parameter": {
|
|
202
|
+
"type": "object",
|
|
203
|
+
"properties": {
|
|
204
|
+
"compounds": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"description": "List of compounds to optimize (comma-separated)"
|
|
207
|
+
},
|
|
208
|
+
"admet_data": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"description": "ADMET properties and issues",
|
|
211
|
+
"default": ""
|
|
212
|
+
},
|
|
213
|
+
"efficacy_data": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "Efficacy and potency data",
|
|
216
|
+
"default": ""
|
|
217
|
+
},
|
|
218
|
+
"target_profile": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "Target profile and requirements",
|
|
221
|
+
"default": ""
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"required": [
|
|
225
|
+
"compounds"
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"configs": {
|
|
229
|
+
"api_type": "CHATGPT",
|
|
230
|
+
"model_id": "gpt-4.1",
|
|
231
|
+
"temperature": 0.7,
|
|
232
|
+
"max_new_tokens": 4000,
|
|
233
|
+
"return_json": true
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"type": "AgenticTool",
|
|
238
|
+
"name": "ClinicalTrialDesignAgent",
|
|
239
|
+
"description": "AI agent that designs clinical trial protocols based on preclinical data and regulatory requirements",
|
|
240
|
+
"prompt": "You are a clinical trial design expert. Design a clinical trial protocol based on the following information:\n\nDrug: {drug_name}\nIndication: {indication}\nPreclinical Data: {preclinical_data}\nTarget Population: {target_population}\n\nPlease provide:\n1. Study Design: Phase, design type, duration\n2. Primary Endpoints: Main efficacy endpoints\n3. Secondary Endpoints: Additional endpoints\n4. Inclusion/Exclusion Criteria: Patient selection criteria\n5. Dosing Strategy: Dose selection and escalation\n6. Safety Monitoring: Safety endpoints and monitoring plan\n7. Statistical Plan: Sample size, power, analysis plan\n8. Regulatory Considerations: FDA/EMA requirements\n9. Timeline: Study duration and milestones\n10. Risk Mitigation: Strategies to address potential risks\n\nReturn as structured JSON:\n{\n \"study_design\": {\n \"phase\": \"I/II/III/IV\",\n \"design_type\": \"...\",\n \"duration\": \"...\",\n \"randomization\": \"...\",\n \"blinding\": \"...\"\n },\n \"endpoints\": {\n \"primary\": [\n {\n \"endpoint\": \"...\",\n \"measurement\": \"...\",\n \"timeline\": \"...\"\n }\n ],\n \"secondary\": [\n {\n \"endpoint\": \"...\",\n \"measurement\": \"...\",\n \"timeline\": \"...\"\n }\n ]\n },\n \"patient_criteria\": {\n \"inclusion\": [\"...\", \"...\"],\n \"exclusion\": [\"...\", \"...\"]\n },\n \"dosing_strategy\": {\n \"starting_dose\": \"...\",\n \"dose_escalation\": \"...\",\n \"max_dose\": \"...\",\n \"administration\": \"...\"\n },\n \"safety_monitoring\": {\n \"safety_endpoints\": [\"...\", \"...\"],\n \"monitoring_plan\": \"...\",\n \"stopping_rules\": [\"...\", \"...\"]\n },\n \"statistical_plan\": {\n \"sample_size\": \"...\",\n \"power_calculation\": \"...\",\n \"analysis_plan\": \"...\"\n },\n \"regulatory_considerations\": [\"...\", \"...\"],\n \"timeline\": {\n \"total_duration\": \"...\",\n \"milestones\": [\"...\", \"...\"]\n },\n \"risk_mitigation\": [\"...\", \"...\"]\n}",
|
|
241
|
+
"input_arguments": [
|
|
242
|
+
"drug_name",
|
|
243
|
+
"indication",
|
|
244
|
+
"preclinical_data",
|
|
245
|
+
"target_population"
|
|
246
|
+
],
|
|
247
|
+
"parameter": {
|
|
248
|
+
"type": "object",
|
|
249
|
+
"properties": {
|
|
250
|
+
"drug_name": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"description": "Name of the drug candidate"
|
|
253
|
+
},
|
|
254
|
+
"indication": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"description": "Disease indication"
|
|
257
|
+
},
|
|
258
|
+
"preclinical_data": {
|
|
259
|
+
"type": "string",
|
|
260
|
+
"description": "Preclinical efficacy and safety data",
|
|
261
|
+
"default": ""
|
|
262
|
+
},
|
|
263
|
+
"target_population": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"description": "Target patient population",
|
|
266
|
+
"default": "General adult population"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"required": [
|
|
270
|
+
"drug_name",
|
|
271
|
+
"indication"
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
"configs": {
|
|
275
|
+
"api_type": "CHATGPT",
|
|
276
|
+
"model_id": "gpt-4.1",
|
|
277
|
+
"temperature": 0.6,
|
|
278
|
+
"max_new_tokens": 5000,
|
|
279
|
+
"return_json": true
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
]
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "EnsemblTool",
|
|
4
|
+
"name": "Ensembl_lookup_gene_by_symbol",
|
|
5
|
+
"description": "Lookup Ensembl gene by species and gene symbol, returning core metadata and coordinates (uses /xrefs/symbol then /lookup/id?expand=1).",
|
|
6
|
+
"parameter": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"species": {"type": "string", "description": "Species name (e.g., 'homo_sapiens').", "default": "homo_sapiens"},
|
|
10
|
+
"symbol": {"type": "string", "description": "Gene symbol (e.g., BRCA1)."}
|
|
11
|
+
},
|
|
12
|
+
"required": ["symbol"]
|
|
13
|
+
},
|
|
14
|
+
"return_schema": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"description": "Gene metadata including Ensembl ID, name, location, and transcripts count.",
|
|
17
|
+
"properties": {
|
|
18
|
+
"id": {"type": "string"},
|
|
19
|
+
"symbol": {"type": "string"},
|
|
20
|
+
"display_name": {"type": "string"},
|
|
21
|
+
"species": {"type": "string"},
|
|
22
|
+
"seq_region_name": {"type": "string"},
|
|
23
|
+
"start": {"type": "integer"},
|
|
24
|
+
"end": {"type": "integer"},
|
|
25
|
+
"strand": {"type": "integer"},
|
|
26
|
+
"biotype": {"type": "string"},
|
|
27
|
+
"transcript_count": {"type": "integer"}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "ClinVarTool",
|
|
33
|
+
"name": "ClinVar_search_variants",
|
|
34
|
+
"description": "Search ClinVar via NCBI E-utilities (esearch→esummary) and return concise variant records for a query term.",
|
|
35
|
+
"parameter": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"query": {"type": "string", "description": "ClinVar search term (e.g., BRCA1)."},
|
|
39
|
+
"retmax": {"type": "integer", "description": "Max records.", "default": 5}
|
|
40
|
+
},
|
|
41
|
+
"required": ["query"]
|
|
42
|
+
},
|
|
43
|
+
"return_schema": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"properties": {
|
|
48
|
+
"uid": {"type": "string"},
|
|
49
|
+
"accession": {"type": "string"},
|
|
50
|
+
"title": {"type": "string"},
|
|
51
|
+
"gene": {"type": "string"},
|
|
52
|
+
"chr": {"type": "string"},
|
|
53
|
+
"start": {"type": "integer"},
|
|
54
|
+
"stop": {"type": "integer"},
|
|
55
|
+
"spdi": {"type": "string"},
|
|
56
|
+
"clinical_significance": {"type": "string"}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "DbSnpTool",
|
|
63
|
+
"name": "dbSNP_get_variant_by_rsid",
|
|
64
|
+
"description": "Fetch dbSNP variant by rsID using NCBI Variation Services (refsnp endpoint).",
|
|
65
|
+
"parameter": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"properties": {
|
|
68
|
+
"rsid": {"type": "string", "description": "rsID without 'rs' prefix or with (e.g., rs699 or 699)."}
|
|
69
|
+
},
|
|
70
|
+
"required": ["rsid"]
|
|
71
|
+
},
|
|
72
|
+
"return_schema": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"properties": {
|
|
75
|
+
"refsnp_id": {"type": "string"},
|
|
76
|
+
"chrom": {"type": "string"},
|
|
77
|
+
"pos": {"type": "integer"},
|
|
78
|
+
"alleles": {"type": "array", "items": {"type": "string"}},
|
|
79
|
+
"hgvs": {"type": "array", "items": {"type": "string"}}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "UCSCTool",
|
|
85
|
+
"name": "UCSC_get_genes_by_region",
|
|
86
|
+
"description": "Query UCSC Genome Browser track API for knownGene features in a genomic window.",
|
|
87
|
+
"parameter": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"genome": {"type": "string", "description": "Genome assembly (e.g., hg38).", "default": "hg38"},
|
|
91
|
+
"chrom": {"type": "string", "description": "Chromosome (e.g., chr17)."},
|
|
92
|
+
"start": {"type": "integer", "description": "Start position (0-based)."},
|
|
93
|
+
"end": {"type": "integer", "description": "End position."},
|
|
94
|
+
"track": {"type": "string", "description": "Track name.", "default": "knownGene"}
|
|
95
|
+
},
|
|
96
|
+
"required": ["chrom", "start", "end"]
|
|
97
|
+
},
|
|
98
|
+
"return_schema": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"properties": {
|
|
101
|
+
"itemsReturned": {"type": "integer"},
|
|
102
|
+
"features": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"items": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"name": {"type": "string"},
|
|
108
|
+
"geneName": {"type": "string"},
|
|
109
|
+
"chrom": {"type": "string"},
|
|
110
|
+
"chromStart": {"type": "integer"},
|
|
111
|
+
"chromEnd": {"type": "integer"},
|
|
112
|
+
"strand": {"type": "string"}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"type": "GnomadTool",
|
|
121
|
+
"name": "gnomAD_query_variant",
|
|
122
|
+
"description": "Query gnomAD GraphQL for a variant in a dataset (returns ID and genome allele counts/frequency).",
|
|
123
|
+
"parameter": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"properties": {
|
|
126
|
+
"variant_id": {"type": "string", "description": "Variant ID like '1-230710048-A-G'."},
|
|
127
|
+
"dataset": {"type": "string", "description": "Dataset ID (e.g., gnomad_r4).", "default": "gnomad_r4"}
|
|
128
|
+
},
|
|
129
|
+
"required": ["variant_id"]
|
|
130
|
+
},
|
|
131
|
+
"return_schema": {
|
|
132
|
+
"type": "object",
|
|
133
|
+
"properties": {
|
|
134
|
+
"variantId": {"type": "string"},
|
|
135
|
+
"genome": {
|
|
136
|
+
"type": "object",
|
|
137
|
+
"properties": {"ac": {"type": "integer"}, "an": {"type": "integer"}, "af": {"type": "number"}}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"type": "GWASGeneSearch",
|
|
144
|
+
"name": "GWAS_search_associations_by_gene",
|
|
145
|
+
"description": "Search GWAS Catalog associations by gene name (returns strongest risk allele and p-value fields).",
|
|
146
|
+
"parameter": {
|
|
147
|
+
"type": "object",
|
|
148
|
+
"properties": {
|
|
149
|
+
"gene_name": {"type": "string", "description": "Gene symbol (e.g., BRCA1)."},
|
|
150
|
+
"size": {"type": "integer", "description": "Max associations to return.", "default": 5}
|
|
151
|
+
},
|
|
152
|
+
"required": ["gene_name"]
|
|
153
|
+
},
|
|
154
|
+
"return_schema": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"properties": {
|
|
157
|
+
"gene_name": {"type": "string"},
|
|
158
|
+
"association_count": {"type": "integer"},
|
|
159
|
+
"associations": {
|
|
160
|
+
"type": "array",
|
|
161
|
+
"items": {
|
|
162
|
+
"type": "object",
|
|
163
|
+
"properties": {
|
|
164
|
+
"study": {"type": "string"},
|
|
165
|
+
"strongestRiskAllele": {"type": "string"},
|
|
166
|
+
"pvalue": {"type": "number"}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"total_found": {"type": "integer"}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
]
|