tooluniverse 1.0.5__py3-none-any.whl → 1.0.7__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.

Files changed (824) hide show
  1. tooluniverse/__init__.py +70 -0
  2. tooluniverse/agentic_tool.py +121 -15
  3. tooluniverse/arxiv_tool.py +109 -0
  4. tooluniverse/base_tool.py +174 -25
  5. tooluniverse/biorxiv_tool.py +116 -0
  6. tooluniverse/cellosaurus_tool.py +1332 -0
  7. tooluniverse/compose_scripts/enhanced_multi_agent_literature_search.py +310 -0
  8. tooluniverse/compose_scripts/multi_agent_literature_search.py +794 -0
  9. tooluniverse/compose_scripts/tool_graph_generation.py +68 -35
  10. tooluniverse/compose_scripts/tool_metadata_generator.py +205 -105
  11. tooluniverse/compose_tool.py +93 -8
  12. tooluniverse/core_tool.py +155 -0
  13. tooluniverse/crossref_tool.py +158 -0
  14. tooluniverse/data/agentic_tools.json +1271 -1179
  15. tooluniverse/data/alphafold_tools.json +356 -105
  16. tooluniverse/data/arxiv_tools.json +94 -0
  17. tooluniverse/data/biorxiv_tools.json +75 -0
  18. tooluniverse/data/cellosaurus_tools.json +260 -0
  19. tooluniverse/data/chembl_tools.json +27 -12
  20. tooluniverse/data/clinicaltrials_gov_tools.json +377 -302
  21. tooluniverse/data/compose_tools.json +123 -16
  22. tooluniverse/data/core_tools.json +113 -0
  23. tooluniverse/data/crossref_tools.json +138 -0
  24. tooluniverse/data/dailymed_tools.json +17 -3
  25. tooluniverse/data/dataset_tools.json +1031 -588
  26. tooluniverse/data/dblp_tools.json +144 -0
  27. tooluniverse/data/disease_target_score_tools.json +20 -10
  28. tooluniverse/data/doaj_tools.json +140 -0
  29. tooluniverse/data/embedding_tools.json +362 -299
  30. tooluniverse/data/enrichr_tools.json +34 -27
  31. tooluniverse/data/europe_pmc_tools.json +108 -16
  32. tooluniverse/data/fatcat_tools.json +77 -0
  33. tooluniverse/data/fda_drug_adverse_event_tools.json +1061 -445
  34. tooluniverse/data/fda_drug_labeling_tools.json +6858 -6901
  35. tooluniverse/data/finder_tools.json +32 -37
  36. tooluniverse/data/gene_ontology_tools.json +19 -7
  37. tooluniverse/data/gwas_tools.json +1720 -959
  38. tooluniverse/data/hal_tools.json +75 -0
  39. tooluniverse/data/hpa_tools.json +53 -14
  40. tooluniverse/data/humanbase_tools.json +51 -43
  41. tooluniverse/data/idmap_tools.json +76 -70
  42. tooluniverse/data/literature_search_tools.json +306 -0
  43. tooluniverse/data/mcp_client_tools_example.json +122 -107
  44. tooluniverse/data/medlineplus_tools.json +50 -10
  45. tooluniverse/data/medrxiv_tools.json +75 -0
  46. tooluniverse/data/molecule_2d_tools.json +134 -0
  47. tooluniverse/data/molecule_3d_tools.json +164 -0
  48. tooluniverse/data/monarch_tools.json +112 -110
  49. tooluniverse/data/odphp_tools.json +389 -119
  50. tooluniverse/data/openaire_tools.json +95 -0
  51. tooluniverse/data/openalex_tools.json +100 -31
  52. tooluniverse/data/opentarget_tools.json +1457 -1372
  53. tooluniverse/data/osf_preprints_tools.json +81 -0
  54. tooluniverse/data/packages/bioinformatics_core_tools.json +40 -10
  55. tooluniverse/data/packages/cheminformatics_tools.json +20 -5
  56. tooluniverse/data/packages/genomics_tools.json +36 -9
  57. tooluniverse/data/packages/machine_learning_tools.json +36 -9
  58. tooluniverse/data/packages/scientific_computing_tools.json +20 -5
  59. tooluniverse/data/packages/single_cell_tools.json +20 -5
  60. tooluniverse/data/packages/structural_biology_tools.json +16 -4
  61. tooluniverse/data/packages/visualization_tools.json +20 -5
  62. tooluniverse/data/pmc_tools.json +117 -0
  63. tooluniverse/data/protein_structure_3d_tools.json +138 -0
  64. tooluniverse/data/pubchem_tools.json +37 -12
  65. tooluniverse/data/pubmed_tools.json +133 -0
  66. tooluniverse/data/pubtator_tools.json +68 -60
  67. tooluniverse/data/rcsb_pdb_tools.json +1532 -1221
  68. tooluniverse/data/semantic_scholar_tools.json +55 -22
  69. tooluniverse/data/special_tools.json +8 -6
  70. tooluniverse/data/tool_composition_tools.json +112 -82
  71. tooluniverse/data/unified_guideline_tools.json +707 -0
  72. tooluniverse/data/unpaywall_tools.json +86 -0
  73. tooluniverse/data/url_fetch_tools.json +102 -82
  74. tooluniverse/data/uspto_tools.json +49 -30
  75. tooluniverse/data/wikidata_sparql_tools.json +45 -0
  76. tooluniverse/data/xml_tools.json +3274 -3113
  77. tooluniverse/data/zenodo_tools.json +90 -0
  78. tooluniverse/dblp_tool.py +132 -0
  79. tooluniverse/default_config.py +30 -0
  80. tooluniverse/doaj_tool.py +183 -0
  81. tooluniverse/doctor.py +48 -0
  82. tooluniverse/europe_pmc_tool.py +132 -17
  83. tooluniverse/exceptions.py +170 -0
  84. tooluniverse/execute_function.py +825 -342
  85. tooluniverse/fatcat_tool.py +65 -0
  86. tooluniverse/generate_tools.py +198 -0
  87. tooluniverse/hal_tool.py +77 -0
  88. tooluniverse/llm_clients.py +283 -20
  89. tooluniverse/mcp_tool_registry.py +4 -1
  90. tooluniverse/medrxiv_tool.py +116 -0
  91. tooluniverse/memory_manager.py +166 -0
  92. tooluniverse/molecule_2d_tool.py +274 -0
  93. tooluniverse/molecule_3d_tool.py +441 -0
  94. tooluniverse/odphp_tool.py +49 -14
  95. tooluniverse/openaire_tool.py +130 -0
  96. tooluniverse/openalex_tool.py +34 -0
  97. tooluniverse/osf_preprints_tool.py +67 -0
  98. tooluniverse/pmc_tool.py +179 -0
  99. tooluniverse/protein_structure_3d_tool.py +295 -0
  100. tooluniverse/pubmed_tool.py +173 -0
  101. tooluniverse/remote/boltz/boltz_mcp_server.py +3 -1
  102. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +3 -1
  103. tooluniverse/semantic_scholar_tool.py +40 -10
  104. tooluniverse/smcp.py +228 -263
  105. tooluniverse/smcp_server.py +97 -55
  106. tooluniverse/tool_registry.py +35 -3
  107. tooluniverse/tools/ADMETAI_predict_BBB_penetrance.py +46 -0
  108. tooluniverse/tools/ADMETAI_predict_CYP_interactions.py +46 -0
  109. tooluniverse/tools/ADMETAI_predict_bioavailability.py +46 -0
  110. tooluniverse/tools/ADMETAI_predict_clearance_distribution.py +49 -0
  111. tooluniverse/tools/ADMETAI_predict_nuclear_receptor_activity.py +49 -0
  112. tooluniverse/tools/ADMETAI_predict_physicochemical_properties.py +49 -0
  113. tooluniverse/tools/ADMETAI_predict_solubility_lipophilicity_hydration.py +49 -0
  114. tooluniverse/tools/ADMETAI_predict_stress_response.py +46 -0
  115. tooluniverse/tools/ADMETAI_predict_toxicity.py +46 -0
  116. tooluniverse/tools/AdvancedCodeQualityAnalyzer.py +63 -0
  117. tooluniverse/tools/AdverseEventICDMapper.py +46 -0
  118. tooluniverse/tools/AdverseEventPredictionQuestionGenerator.py +52 -0
  119. tooluniverse/tools/AdverseEventPredictionQuestionGeneratorWithContext.py +59 -0
  120. tooluniverse/tools/ArXiv_search_papers.py +63 -0
  121. tooluniverse/tools/ArgumentDescriptionOptimizer.py +55 -0
  122. tooluniverse/tools/BioRxiv_search_preprints.py +52 -0
  123. tooluniverse/tools/BiomarkerDiscoveryWorkflow.py +55 -0
  124. tooluniverse/tools/CORE_search_papers.py +67 -0
  125. tooluniverse/tools/CallAgent.py +46 -0
  126. tooluniverse/tools/ChEMBL_search_similar_molecules.py +59 -0
  127. tooluniverse/tools/CodeOptimizer.py +55 -0
  128. tooluniverse/tools/CodeQualityAnalyzer.py +71 -0
  129. tooluniverse/tools/ComprehensiveDrugDiscoveryPipeline.py +49 -0
  130. tooluniverse/tools/Crossref_search_works.py +55 -0
  131. tooluniverse/tools/DBLP_search_publications.py +52 -0
  132. tooluniverse/tools/DOAJ_search_articles.py +55 -0
  133. tooluniverse/tools/DailyMed_get_spl_by_setid.py +52 -0
  134. tooluniverse/tools/DailyMed_search_spls.py +79 -0
  135. tooluniverse/tools/DataAnalysisValidityReviewer.py +49 -0
  136. tooluniverse/tools/DescriptionAnalyzer.py +55 -0
  137. tooluniverse/tools/DescriptionQualityEvaluator.py +59 -0
  138. tooluniverse/tools/DomainExpertValidator.py +63 -0
  139. tooluniverse/tools/DrugSafetyAnalyzer.py +59 -0
  140. tooluniverse/tools/EthicalComplianceReviewer.py +49 -0
  141. tooluniverse/tools/EuropePMC_Guidelines_Search.py +52 -0
  142. tooluniverse/tools/EuropePMC_search_articles.py +52 -0
  143. tooluniverse/tools/ExperimentalDesignScorer.py +55 -0
  144. tooluniverse/tools/FAERS_count_additive_administration_routes.py +52 -0
  145. tooluniverse/tools/FAERS_count_additive_adverse_reactions.py +71 -0
  146. tooluniverse/tools/FAERS_count_additive_event_reports_by_country.py +63 -0
  147. tooluniverse/tools/FAERS_count_additive_reaction_outcomes.py +63 -0
  148. tooluniverse/tools/FAERS_count_additive_reports_by_reporter_country.py +63 -0
  149. tooluniverse/tools/FAERS_count_additive_seriousness_classification.py +63 -0
  150. tooluniverse/tools/FAERS_count_country_by_drug_event.py +63 -0
  151. tooluniverse/tools/FAERS_count_death_related_by_drug.py +49 -0
  152. tooluniverse/tools/FAERS_count_drug_routes_by_event.py +52 -0
  153. tooluniverse/tools/FAERS_count_drugs_by_drug_event.py +63 -0
  154. tooluniverse/tools/FAERS_count_outcomes_by_drug_event.py +63 -0
  155. tooluniverse/tools/FAERS_count_patient_age_distribution.py +49 -0
  156. tooluniverse/tools/FAERS_count_reactions_by_drug_event.py +71 -0
  157. tooluniverse/tools/FAERS_count_reportercountry_by_drug_event.py +63 -0
  158. tooluniverse/tools/FAERS_count_seriousness_by_drug_event.py +63 -0
  159. tooluniverse/tools/FDA_get_abuse_dependence_info_by_drug_name.py +55 -0
  160. tooluniverse/tools/FDA_get_abuse_info_by_drug_name.py +55 -0
  161. tooluniverse/tools/FDA_get_accessories_info_by_drug_name.py +55 -0
  162. tooluniverse/tools/FDA_get_active_ingredient_info_by_drug_name.py +55 -0
  163. tooluniverse/tools/FDA_get_adverse_reactions_by_drug_name.py +55 -0
  164. tooluniverse/tools/FDA_get_alarms_by_drug_name.py +55 -0
  165. tooluniverse/tools/FDA_get_animal_pharmacology_info_by_drug_name.py +55 -0
  166. tooluniverse/tools/FDA_get_assembly_installation_info_by_drug_name.py +55 -0
  167. tooluniverse/tools/FDA_get_boxed_warning_info_by_drug_name.py +55 -0
  168. tooluniverse/tools/FDA_get_brand_name_generic_name.py +52 -0
  169. tooluniverse/tools/FDA_get_calibration_instructions_by_drug_name.py +55 -0
  170. tooluniverse/tools/FDA_get_carcinogenic_mutagenic_fertility_by_drug_name.py +55 -0
  171. tooluniverse/tools/FDA_get_child_safety_info_by_drug_name.py +55 -0
  172. tooluniverse/tools/FDA_get_clinical_pharmacology_by_drug_name.py +55 -0
  173. tooluniverse/tools/FDA_get_clinical_studies_info_by_drug_name.py +55 -0
  174. tooluniverse/tools/FDA_get_contact_for_questions_info_by_drug_name.py +55 -0
  175. tooluniverse/tools/FDA_get_contraindications_by_drug_name.py +55 -0
  176. tooluniverse/tools/FDA_get_controlled_substance_DEA_schedule_info_by_drug_name.py +55 -0
  177. tooluniverse/tools/FDA_get_dear_health_care_provider_letter_info_by_drug_name.py +55 -0
  178. tooluniverse/tools/FDA_get_dependence_info_by_drug_name.py +55 -0
  179. tooluniverse/tools/FDA_get_disposal_info_by_drug_name.py +55 -0
  180. tooluniverse/tools/FDA_get_do_not_use_info_by_drug_name.py +55 -0
  181. tooluniverse/tools/FDA_get_document_id_by_drug_name.py +55 -0
  182. tooluniverse/tools/FDA_get_dosage_and_storage_information_by_drug_name.py +55 -0
  183. tooluniverse/tools/FDA_get_dosage_forms_and_strengths_by_drug_name.py +55 -0
  184. tooluniverse/tools/FDA_get_drug_generic_name.py +46 -0
  185. tooluniverse/tools/FDA_get_drug_interactions_by_drug_name.py +55 -0
  186. tooluniverse/tools/FDA_get_drug_name_by_SPL_ID.py +55 -0
  187. tooluniverse/tools/FDA_get_drug_name_by_adverse_reaction.py +59 -0
  188. tooluniverse/tools/FDA_get_drug_name_by_calibration_instructions.py +59 -0
  189. tooluniverse/tools/FDA_get_drug_name_by_dependence_info.py +59 -0
  190. tooluniverse/tools/FDA_get_drug_name_by_document_id.py +55 -0
  191. tooluniverse/tools/FDA_get_drug_name_by_dosage_info.py +55 -0
  192. tooluniverse/tools/FDA_get_drug_name_by_environmental_warning.py +59 -0
  193. tooluniverse/tools/FDA_get_drug_name_by_inactive_ingredient.py +59 -0
  194. tooluniverse/tools/FDA_get_drug_name_by_info_on_conditions_for_doctor_consultation.py +55 -0
  195. tooluniverse/tools/FDA_get_drug_name_by_labor_and_delivery_info.py +59 -0
  196. tooluniverse/tools/FDA_get_drug_name_by_microbiology.py +59 -0
  197. tooluniverse/tools/FDA_get_drug_name_by_other_safety_info.py +55 -0
  198. tooluniverse/tools/FDA_get_drug_name_by_pharmacodynamics.py +59 -0
  199. tooluniverse/tools/FDA_get_drug_name_by_pharmacogenomics.py +59 -0
  200. tooluniverse/tools/FDA_get_drug_name_by_precautions.py +55 -0
  201. tooluniverse/tools/FDA_get_drug_name_by_pregnancy_or_breastfeeding_info.py +59 -0
  202. tooluniverse/tools/FDA_get_drug_name_by_principal_display_panel.py +59 -0
  203. tooluniverse/tools/FDA_get_drug_name_by_reference.py +55 -0
  204. tooluniverse/tools/FDA_get_drug_name_by_set_id.py +55 -0
  205. tooluniverse/tools/FDA_get_drug_name_by_stop_use_info.py +55 -0
  206. tooluniverse/tools/FDA_get_drug_name_by_storage_and_handling_info.py +55 -0
  207. tooluniverse/tools/FDA_get_drug_name_by_warnings.py +55 -0
  208. tooluniverse/tools/FDA_get_drug_name_from_patient_package_insert.py +59 -0
  209. tooluniverse/tools/FDA_get_drug_names_by_abuse_dependence_info.py +55 -0
  210. tooluniverse/tools/FDA_get_drug_names_by_abuse_info.py +63 -0
  211. tooluniverse/tools/FDA_get_drug_names_by_accessories.py +63 -0
  212. tooluniverse/tools/FDA_get_drug_names_by_active_ingredient.py +63 -0
  213. tooluniverse/tools/FDA_get_drug_names_by_alarm.py +63 -0
  214. tooluniverse/tools/FDA_get_drug_names_by_animal_pharmacology_info.py +63 -0
  215. tooluniverse/tools/FDA_get_drug_names_by_application_number_NDC_number.py +59 -0
  216. tooluniverse/tools/FDA_get_drug_names_by_assembly_installation_info.py +63 -0
  217. tooluniverse/tools/FDA_get_drug_names_by_boxed_warning.py +63 -0
  218. tooluniverse/tools/FDA_get_drug_names_by_child_safety_info.py +63 -0
  219. tooluniverse/tools/FDA_get_drug_names_by_clinical_pharmacology.py +63 -0
  220. tooluniverse/tools/FDA_get_drug_names_by_clinical_studies.py +63 -0
  221. tooluniverse/tools/FDA_get_drug_names_by_consulting_doctor_pharmacist_info.py +63 -0
  222. tooluniverse/tools/FDA_get_drug_names_by_contraindications.py +63 -0
  223. tooluniverse/tools/FDA_get_drug_names_by_controlled_substance_DEA_schedule.py +63 -0
  224. tooluniverse/tools/FDA_get_drug_names_by_dear_health_care_provider_letter_info.py +63 -0
  225. tooluniverse/tools/FDA_get_drug_names_by_disposal_info.py +63 -0
  226. tooluniverse/tools/FDA_get_drug_names_by_dosage_forms_and_strengths_info.py +63 -0
  227. tooluniverse/tools/FDA_get_drug_names_by_drug_interactions.py +63 -0
  228. tooluniverse/tools/FDA_get_drug_names_by_effective_time.py +63 -0
  229. tooluniverse/tools/FDA_get_drug_names_by_food_safety_warnings.py +63 -0
  230. tooluniverse/tools/FDA_get_drug_names_by_general_precautions.py +63 -0
  231. tooluniverse/tools/FDA_get_drug_names_by_geriatric_use.py +63 -0
  232. tooluniverse/tools/FDA_get_drug_names_by_health_claim.py +63 -0
  233. tooluniverse/tools/FDA_get_drug_names_by_indication.py +55 -0
  234. tooluniverse/tools/FDA_get_drug_names_by_info_for_nursing_mothers.py +63 -0
  235. tooluniverse/tools/FDA_get_drug_names_by_information_for_owners_or_caregivers.py +63 -0
  236. tooluniverse/tools/FDA_get_drug_names_by_ingredient.py +63 -0
  237. tooluniverse/tools/FDA_get_drug_names_by_instructions_for_use.py +63 -0
  238. tooluniverse/tools/FDA_get_drug_names_by_lab_test_interference.py +63 -0
  239. tooluniverse/tools/FDA_get_drug_names_by_lab_tests.py +63 -0
  240. tooluniverse/tools/FDA_get_drug_names_by_mechanism_of_action.py +63 -0
  241. tooluniverse/tools/FDA_get_drug_names_by_medication_guide.py +63 -0
  242. tooluniverse/tools/FDA_get_drug_names_by_nonclinical_toxicology_info.py +63 -0
  243. tooluniverse/tools/FDA_get_drug_names_by_nonteratogenic_effects.py +63 -0
  244. tooluniverse/tools/FDA_get_drug_names_by_overdosage_info.py +63 -0
  245. tooluniverse/tools/FDA_get_drug_names_by_pediatric_use.py +63 -0
  246. tooluniverse/tools/FDA_get_drug_names_by_pharmacokinetics.py +63 -0
  247. tooluniverse/tools/FDA_get_drug_names_by_population_use.py +63 -0
  248. tooluniverse/tools/FDA_get_drug_names_by_pregnancy_effects_info.py +63 -0
  249. tooluniverse/tools/FDA_get_drug_names_by_residue_warning.py +63 -0
  250. tooluniverse/tools/FDA_get_drug_names_by_risk.py +63 -0
  251. tooluniverse/tools/FDA_get_drug_names_by_route.py +63 -0
  252. tooluniverse/tools/FDA_get_drug_names_by_safe_handling_warning.py +63 -0
  253. tooluniverse/tools/FDA_get_drug_names_by_safety_summary.py +63 -0
  254. tooluniverse/tools/FDA_get_drug_names_by_spl_indexing_data_elements.py +63 -0
  255. tooluniverse/tools/FDA_get_drug_names_by_teratogenic_effects.py +63 -0
  256. tooluniverse/tools/FDA_get_drug_names_by_user_safety_warning.py +63 -0
  257. tooluniverse/tools/FDA_get_drug_names_by_warnings_and_cautions.py +63 -0
  258. tooluniverse/tools/FDA_get_drugs_by_carcinogenic_mutagenic_fertility.py +63 -0
  259. tooluniverse/tools/FDA_get_effective_time_by_drug_name.py +55 -0
  260. tooluniverse/tools/FDA_get_environmental_warning_by_drug_name.py +55 -0
  261. tooluniverse/tools/FDA_get_general_precautions_by_drug_name.py +55 -0
  262. tooluniverse/tools/FDA_get_geriatric_use_info_by_drug_name.py +55 -0
  263. tooluniverse/tools/FDA_get_health_claims_by_drug_name.py +55 -0
  264. tooluniverse/tools/FDA_get_inactive_ingredient_info_by_drug_name.py +55 -0
  265. tooluniverse/tools/FDA_get_indications_by_drug_name.py +55 -0
  266. tooluniverse/tools/FDA_get_info_for_nursing_mothers_by_drug_name.py +55 -0
  267. tooluniverse/tools/FDA_get_info_for_patients_by_drug_name.py +55 -0
  268. tooluniverse/tools/FDA_get_info_on_conditions_for_doctor_consultation_by_drug_name.py +55 -0
  269. tooluniverse/tools/FDA_get_info_on_consulting_doctor_pharmacist_by_drug_name.py +55 -0
  270. tooluniverse/tools/FDA_get_information_for_owners_or_caregivers_by_drug_name.py +55 -0
  271. tooluniverse/tools/FDA_get_ingredients_by_drug_name.py +55 -0
  272. tooluniverse/tools/FDA_get_instructions_for_use_by_drug_name.py +55 -0
  273. tooluniverse/tools/FDA_get_lab_test_interference_info_by_drug_name.py +55 -0
  274. tooluniverse/tools/FDA_get_lab_tests_by_drug_name.py +55 -0
  275. tooluniverse/tools/FDA_get_labor_and_delivery_info_by_drug_name.py +55 -0
  276. tooluniverse/tools/FDA_get_manufacturer_name_NDC_number_by_drug_name.py +55 -0
  277. tooluniverse/tools/FDA_get_mechanism_of_action_by_drug_name.py +55 -0
  278. tooluniverse/tools/FDA_get_medication_guide_info_by_drug_name.py +55 -0
  279. tooluniverse/tools/FDA_get_microbiology_info_by_drug_name.py +55 -0
  280. tooluniverse/tools/FDA_get_nonclinical_toxicology_info_by_drug_name.py +55 -0
  281. tooluniverse/tools/FDA_get_nonteratogenic_effects_by_drug_name.py +55 -0
  282. tooluniverse/tools/FDA_get_other_safety_info_by_drug_name.py +55 -0
  283. tooluniverse/tools/FDA_get_overdosage_info_by_drug_name.py +55 -0
  284. tooluniverse/tools/FDA_get_patient_package_insert_from_drug_name.py +55 -0
  285. tooluniverse/tools/FDA_get_pediatric_use_info_by_drug_name.py +55 -0
  286. tooluniverse/tools/FDA_get_pharmacodynamics_by_drug_name.py +55 -0
  287. tooluniverse/tools/FDA_get_pharmacogenomics_info_by_drug_name.py +55 -0
  288. tooluniverse/tools/FDA_get_pharmacokinetics_by_drug_name.py +55 -0
  289. tooluniverse/tools/FDA_get_population_use_info_by_drug_name.py +55 -0
  290. tooluniverse/tools/FDA_get_precautions_by_drug_name.py +55 -0
  291. tooluniverse/tools/FDA_get_pregnancy_effects_info_by_drug_name.py +55 -0
  292. tooluniverse/tools/FDA_get_pregnancy_or_breastfeeding_info_by_drug_name.py +55 -0
  293. tooluniverse/tools/FDA_get_principal_display_panel_by_drug_name.py +55 -0
  294. tooluniverse/tools/FDA_get_purpose_info_by_drug_name.py +55 -0
  295. tooluniverse/tools/FDA_get_recent_changes_by_drug_name.py +55 -0
  296. tooluniverse/tools/FDA_get_reference_info_by_drug_name.py +55 -0
  297. tooluniverse/tools/FDA_get_residue_warning_by_drug_name.py +55 -0
  298. tooluniverse/tools/FDA_get_risk_info_by_drug_name.py +55 -0
  299. tooluniverse/tools/FDA_get_route_info_by_drug_name.py +55 -0
  300. tooluniverse/tools/FDA_get_safe_handling_warnings_by_drug_name.py +55 -0
  301. tooluniverse/tools/FDA_get_safety_summary_by_drug_name.py +55 -0
  302. tooluniverse/tools/FDA_get_spl_indexing_data_elements_by_drug_name.py +55 -0
  303. tooluniverse/tools/FDA_get_spl_unclassified_section_by_drug_name.py +55 -0
  304. tooluniverse/tools/FDA_get_stop_use_info_by_drug_name.py +55 -0
  305. tooluniverse/tools/FDA_get_storage_and_handling_info_by_drug_name.py +55 -0
  306. tooluniverse/tools/FDA_get_teratogenic_effects_by_drug_name.py +55 -0
  307. tooluniverse/tools/FDA_get_user_safety_warning_by_drug_names.py +55 -0
  308. tooluniverse/tools/FDA_get_warnings_and_cautions_by_drug_name.py +55 -0
  309. tooluniverse/tools/FDA_get_warnings_by_drug_name.py +55 -0
  310. tooluniverse/tools/FDA_get_when_using_info.py +55 -0
  311. tooluniverse/tools/FDA_retrieve_device_use_by_drug_name.py +55 -0
  312. tooluniverse/tools/FDA_retrieve_drug_name_by_device_use.py +59 -0
  313. tooluniverse/tools/FDA_retrieve_drug_names_by_patient_medication_info.py +55 -0
  314. tooluniverse/tools/FDA_retrieve_patient_medication_info_by_drug_name.py +55 -0
  315. tooluniverse/tools/Fatcat_search_scholar.py +52 -0
  316. tooluniverse/tools/Finish.py +44 -0
  317. tooluniverse/tools/GO_get_annotations_for_gene.py +46 -0
  318. tooluniverse/tools/GO_get_genes_for_term.py +55 -0
  319. tooluniverse/tools/GO_get_term_by_id.py +46 -0
  320. tooluniverse/tools/GO_get_term_details.py +46 -0
  321. tooluniverse/tools/GO_search_terms.py +46 -0
  322. tooluniverse/tools/HAL_search_archive.py +52 -0
  323. tooluniverse/tools/HPA_get_biological_processes_by_gene.py +52 -0
  324. tooluniverse/tools/HPA_get_cancer_prognostics_by_gene.py +49 -0
  325. tooluniverse/tools/HPA_get_comparative_expression_by_gene_and_cellline.py +52 -0
  326. tooluniverse/tools/HPA_get_comprehensive_gene_details_by_ensembl_id.py +63 -0
  327. tooluniverse/tools/HPA_get_contextual_biological_process_analysis.py +52 -0
  328. tooluniverse/tools/HPA_get_disease_expression_by_gene_tissue_disease.py +59 -0
  329. tooluniverse/tools/HPA_get_gene_basic_info_by_ensembl_id.py +49 -0
  330. tooluniverse/tools/HPA_get_gene_tsv_data_by_ensembl_id.py +49 -0
  331. tooluniverse/tools/HPA_get_protein_interactions_by_gene.py +49 -0
  332. tooluniverse/tools/HPA_get_rna_expression_by_source.py +59 -0
  333. tooluniverse/tools/HPA_get_rna_expression_in_specific_tissues.py +52 -0
  334. tooluniverse/tools/HPA_get_subcellular_location.py +46 -0
  335. tooluniverse/tools/HPA_search_genes_by_query.py +49 -0
  336. tooluniverse/tools/HypothesisGenerator.py +63 -0
  337. tooluniverse/tools/LabelGenerator.py +67 -0
  338. tooluniverse/tools/LiteratureContextReviewer.py +55 -0
  339. tooluniverse/tools/LiteratureSearchTool.py +49 -0
  340. tooluniverse/tools/MedRxiv_search_preprints.py +52 -0
  341. tooluniverse/tools/MedicalLiteratureReviewer.py +71 -0
  342. tooluniverse/tools/MedicalTermNormalizer.py +46 -0
  343. tooluniverse/tools/MedlinePlus_connect_lookup_by_code.py +67 -0
  344. tooluniverse/tools/MedlinePlus_get_genetics_condition_by_name.py +52 -0
  345. tooluniverse/tools/MedlinePlus_get_genetics_gene_by_name.py +52 -0
  346. tooluniverse/tools/MedlinePlus_get_genetics_index.py +44 -0
  347. tooluniverse/tools/MedlinePlus_search_topics_by_keyword.py +55 -0
  348. tooluniverse/tools/MethodologyRigorReviewer.py +49 -0
  349. tooluniverse/tools/MultiAgentLiteratureSearch.py +59 -0
  350. tooluniverse/tools/NICE_Clinical_Guidelines_Search.py +52 -0
  351. tooluniverse/tools/NICE_Guideline_Full_Text.py +46 -0
  352. tooluniverse/tools/NoveltySignificanceReviewer.py +59 -0
  353. tooluniverse/tools/OSF_search_preprints.py +59 -0
  354. tooluniverse/tools/OSL_get_efo_id_by_disease_name.py +46 -0
  355. tooluniverse/tools/OpenAIRE_search_publications.py +55 -0
  356. tooluniverse/tools/OpenAlex_Guidelines_Search.py +63 -0
  357. tooluniverse/tools/OpenTargets_drug_pharmacogenomics_data.py +52 -0
  358. tooluniverse/tools/OpenTargets_get_approved_indications_by_drug_chemblId.py +49 -0
  359. tooluniverse/tools/OpenTargets_get_associated_diseases_by_drug_chemblId.py +49 -0
  360. tooluniverse/tools/OpenTargets_get_associated_drugs_by_disease_efoId.py +52 -0
  361. tooluniverse/tools/OpenTargets_get_associated_drugs_by_target_ensemblID.py +55 -0
  362. tooluniverse/tools/OpenTargets_get_associated_phenotypes_by_disease_efoId.py +49 -0
  363. tooluniverse/tools/OpenTargets_get_associated_targets_by_disease_efoId.py +49 -0
  364. tooluniverse/tools/OpenTargets_get_associated_targets_by_drug_chemblId.py +49 -0
  365. tooluniverse/tools/OpenTargets_get_biological_mouse_models_by_ensemblID.py +49 -0
  366. tooluniverse/tools/OpenTargets_get_chemical_probes_by_target_ensemblID.py +49 -0
  367. tooluniverse/tools/OpenTargets_get_disease_ancestors_parents_by_efoId.py +49 -0
  368. tooluniverse/tools/OpenTargets_get_disease_descendants_children_by_efoId.py +49 -0
  369. tooluniverse/tools/OpenTargets_get_disease_description_by_efoId.py +49 -0
  370. tooluniverse/tools/OpenTargets_get_disease_id_description_by_name.py +49 -0
  371. tooluniverse/tools/OpenTargets_get_disease_ids_by_efoId.py +46 -0
  372. tooluniverse/tools/OpenTargets_get_disease_ids_by_name.py +46 -0
  373. tooluniverse/tools/OpenTargets_get_disease_locations_by_efoId.py +49 -0
  374. tooluniverse/tools/OpenTargets_get_disease_synonyms_by_efoId.py +49 -0
  375. tooluniverse/tools/OpenTargets_get_disease_therapeutic_areas_by_efoId.py +49 -0
  376. tooluniverse/tools/OpenTargets_get_diseases_phenotypes_by_target_ensembl.py +49 -0
  377. tooluniverse/tools/OpenTargets_get_drug_adverse_events_by_chemblId.py +52 -0
  378. tooluniverse/tools/OpenTargets_get_drug_approval_status_by_chemblId.py +49 -0
  379. tooluniverse/tools/OpenTargets_get_drug_chembId_by_generic_name.py +49 -0
  380. tooluniverse/tools/OpenTargets_get_drug_description_by_chemblId.py +49 -0
  381. tooluniverse/tools/OpenTargets_get_drug_id_description_by_name.py +49 -0
  382. tooluniverse/tools/OpenTargets_get_drug_indications_by_chemblId.py +49 -0
  383. tooluniverse/tools/OpenTargets_get_drug_mechanisms_of_action_by_chemblId.py +49 -0
  384. tooluniverse/tools/OpenTargets_get_drug_synonyms_by_chemblId.py +49 -0
  385. tooluniverse/tools/OpenTargets_get_drug_trade_names_by_chemblId.py +49 -0
  386. tooluniverse/tools/OpenTargets_get_drug_warnings_by_chemblId.py +49 -0
  387. tooluniverse/tools/OpenTargets_get_drug_withdrawn_blackbox_status_by_chemblId.py +49 -0
  388. tooluniverse/tools/OpenTargets_get_gene_ontology_terms_by_goID.py +49 -0
  389. tooluniverse/tools/OpenTargets_get_known_drugs_by_drug_chemblId.py +49 -0
  390. tooluniverse/tools/OpenTargets_get_parent_child_molecules_by_drug_chembl_ID.py +49 -0
  391. tooluniverse/tools/OpenTargets_get_publications_by_disease_efoId.py +71 -0
  392. tooluniverse/tools/OpenTargets_get_publications_by_drug_chemblId.py +71 -0
  393. tooluniverse/tools/OpenTargets_get_publications_by_target_ensemblID.py +71 -0
  394. tooluniverse/tools/OpenTargets_get_similar_entities_by_disease_efoId.py +55 -0
  395. tooluniverse/tools/OpenTargets_get_similar_entities_by_drug_chemblId.py +55 -0
  396. tooluniverse/tools/OpenTargets_get_similar_entities_by_target_ensemblID.py +55 -0
  397. tooluniverse/tools/OpenTargets_get_target_classes_by_ensemblID.py +49 -0
  398. tooluniverse/tools/OpenTargets_get_target_constraint_info_by_ensemblID.py +49 -0
  399. tooluniverse/tools/OpenTargets_get_target_enabling_packages_by_ensemblID.py +49 -0
  400. tooluniverse/tools/OpenTargets_get_target_gene_ontology_by_ensemblID.py +49 -0
  401. tooluniverse/tools/OpenTargets_get_target_genomic_location_by_ensemblID.py +49 -0
  402. tooluniverse/tools/OpenTargets_get_target_homologues_by_ensemblID.py +49 -0
  403. tooluniverse/tools/OpenTargets_get_target_id_description_by_name.py +49 -0
  404. tooluniverse/tools/OpenTargets_get_target_interactions_by_ensemblID.py +52 -0
  405. tooluniverse/tools/OpenTargets_get_target_safety_profile_by_ensemblID.py +49 -0
  406. tooluniverse/tools/OpenTargets_get_target_subcellular_locations_by_ensemblID.py +49 -0
  407. tooluniverse/tools/OpenTargets_get_target_synonyms_by_ensemblID.py +49 -0
  408. tooluniverse/tools/OpenTargets_get_target_tractability_by_ensemblID.py +49 -0
  409. tooluniverse/tools/OpenTargets_map_any_disease_id_to_all_other_ids.py +49 -0
  410. tooluniverse/tools/OpenTargets_multi_entity_search_by_query_string.py +59 -0
  411. tooluniverse/tools/OpenTargets_search_category_counts_by_query_string.py +49 -0
  412. tooluniverse/tools/OpenTargets_target_disease_evidence.py +52 -0
  413. tooluniverse/tools/OutputSummarizationComposer.py +71 -0
  414. tooluniverse/tools/PMC_search_papers.py +67 -0
  415. tooluniverse/tools/ProtocolOptimizer.py +49 -0
  416. tooluniverse/tools/PubChem_get_CID_by_SMILES.py +46 -0
  417. tooluniverse/tools/PubChem_get_CID_by_compound_name.py +46 -0
  418. tooluniverse/tools/PubChem_get_associated_patents_by_CID.py +46 -0
  419. tooluniverse/tools/PubChem_get_compound_2D_image_by_CID.py +52 -0
  420. tooluniverse/tools/PubChem_get_compound_properties_by_CID.py +46 -0
  421. tooluniverse/tools/PubChem_get_compound_synonyms_by_CID.py +46 -0
  422. tooluniverse/tools/PubChem_get_compound_xrefs_by_CID.py +52 -0
  423. tooluniverse/tools/PubChem_search_compounds_by_similarity.py +52 -0
  424. tooluniverse/tools/PubChem_search_compounds_by_substructure.py +49 -0
  425. tooluniverse/tools/PubMed_Guidelines_Search.py +55 -0
  426. tooluniverse/tools/PubMed_search_articles.py +55 -0
  427. tooluniverse/tools/PubTator3_EntityAutocomplete.py +59 -0
  428. tooluniverse/tools/PubTator3_LiteratureSearch.py +55 -0
  429. tooluniverse/tools/QuestionRephraser.py +52 -0
  430. tooluniverse/tools/Reactome_get_pathway_reactions.py +46 -0
  431. tooluniverse/tools/ReproducibilityTransparencyReviewer.py +49 -0
  432. tooluniverse/tools/ResultsInterpretationReviewer.py +55 -0
  433. tooluniverse/tools/ScientificTextSummarizer.py +59 -0
  434. tooluniverse/tools/SemanticScholar_search_papers.py +55 -0
  435. tooluniverse/tools/TRIP_Database_Guidelines_Search.py +55 -0
  436. tooluniverse/tools/TestCaseGenerator.py +46 -0
  437. tooluniverse/tools/ToolCompatibilityAnalyzer.py +59 -0
  438. tooluniverse/tools/ToolDescriptionOptimizer.py +67 -0
  439. tooluniverse/tools/ToolDiscover.py +63 -0
  440. tooluniverse/tools/ToolGraphComposer.py +71 -0
  441. tooluniverse/tools/ToolGraphGenerationPipeline.py +63 -0
  442. tooluniverse/tools/ToolImplementationGenerator.py +67 -0
  443. tooluniverse/tools/ToolMetadataGenerationPipeline.py +63 -0
  444. tooluniverse/tools/ToolMetadataGenerator.py +55 -0
  445. tooluniverse/tools/ToolMetadataStandardizer.py +52 -0
  446. tooluniverse/tools/ToolOptimizer.py +59 -0
  447. tooluniverse/tools/ToolOutputSummarizer.py +67 -0
  448. tooluniverse/tools/ToolQualityEvaluator.py +59 -0
  449. tooluniverse/tools/ToolRelationshipDetector.py +52 -0
  450. tooluniverse/tools/ToolSpecificationGenerator.py +67 -0
  451. tooluniverse/tools/ToolSpecificationOptimizer.py +63 -0
  452. tooluniverse/tools/Tool_Finder.py +67 -0
  453. tooluniverse/tools/Tool_Finder_Keyword.py +67 -0
  454. tooluniverse/tools/Tool_Finder_LLM.py +67 -0
  455. tooluniverse/tools/Tool_RAG.py +49 -0
  456. tooluniverse/tools/UniProt_get_alternative_names_by_accession.py +49 -0
  457. tooluniverse/tools/UniProt_get_disease_variants_by_accession.py +49 -0
  458. tooluniverse/tools/UniProt_get_entry_by_accession.py +49 -0
  459. tooluniverse/tools/UniProt_get_function_by_accession.py +49 -0
  460. tooluniverse/tools/UniProt_get_isoform_ids_by_accession.py +49 -0
  461. tooluniverse/tools/UniProt_get_organism_by_accession.py +49 -0
  462. tooluniverse/tools/UniProt_get_ptm_processing_by_accession.py +49 -0
  463. tooluniverse/tools/UniProt_get_recommended_name_by_accession.py +49 -0
  464. tooluniverse/tools/UniProt_get_sequence_by_accession.py +49 -0
  465. tooluniverse/tools/UniProt_get_subcellular_location_by_accession.py +49 -0
  466. tooluniverse/tools/Unpaywall_check_oa_status.py +52 -0
  467. tooluniverse/tools/WHO_Guideline_Full_Text.py +46 -0
  468. tooluniverse/tools/WHO_Guidelines_Search.py +52 -0
  469. tooluniverse/tools/Wikidata_SPARQL_query.py +52 -0
  470. tooluniverse/tools/WritingPresentationReviewer.py +49 -0
  471. tooluniverse/tools/Zenodo_search_records.py +59 -0
  472. tooluniverse/tools/__init__.py +1738 -0
  473. tooluniverse/tools/_shared_client.py +138 -0
  474. tooluniverse/tools/alphafold_get_annotations.py +52 -0
  475. tooluniverse/tools/alphafold_get_prediction.py +55 -0
  476. tooluniverse/tools/alphafold_get_summary.py +46 -0
  477. tooluniverse/tools/call_agentic_human.py +46 -0
  478. tooluniverse/tools/cancer_biomarkers_disease_target_score.py +52 -0
  479. tooluniverse/tools/cancer_gene_census_disease_target_score.py +52 -0
  480. tooluniverse/tools/cellosaurus_get_cell_line_info.py +55 -0
  481. tooluniverse/tools/cellosaurus_query_converter.py +52 -0
  482. tooluniverse/tools/cellosaurus_search_cell_lines.py +55 -0
  483. tooluniverse/tools/chembl_disease_target_score.py +52 -0
  484. tooluniverse/tools/dict_search.py +67 -0
  485. tooluniverse/tools/dili_search.py +67 -0
  486. tooluniverse/tools/diqt_search.py +67 -0
  487. tooluniverse/tools/disease_target_score.py +59 -0
  488. tooluniverse/tools/drugbank_filter_drugs_by_name.py +55 -0
  489. tooluniverse/tools/drugbank_full_search.py +67 -0
  490. tooluniverse/tools/drugbank_get_drug_basic_info_by_drug_name_or_drugbank_id.py +63 -0
  491. tooluniverse/tools/drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id.py +63 -0
  492. tooluniverse/tools/drugbank_get_drug_interactions_by_drug_name_or_drugbank_id.py +63 -0
  493. tooluniverse/tools/drugbank_get_drug_name_and_description_by_indication.py +63 -0
  494. tooluniverse/tools/drugbank_get_drug_name_and_description_by_pathway_name.py +63 -0
  495. tooluniverse/tools/drugbank_get_drug_name_and_description_by_target_name.py +63 -0
  496. tooluniverse/tools/drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action.py +63 -0
  497. tooluniverse/tools/drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id.py +63 -0
  498. tooluniverse/tools/drugbank_get_drug_products_by_name_or_drugbank_id.py +63 -0
  499. tooluniverse/tools/drugbank_get_drug_references_by_drug_name_or_drugbank_id.py +63 -0
  500. tooluniverse/tools/drugbank_get_indications_by_drug_name_or_drugbank_id.py +63 -0
  501. tooluniverse/tools/drugbank_get_pharmacology_by_drug_name_or_drugbank_id.py +63 -0
  502. tooluniverse/tools/drugbank_get_safety_by_drug_name_or_drugbank_id.py +63 -0
  503. tooluniverse/tools/drugbank_get_targets_by_drug_name_or_drugbank_id.py +63 -0
  504. tooluniverse/tools/drugbank_links_search.py +67 -0
  505. tooluniverse/tools/drugbank_vocab_filter.py +63 -0
  506. tooluniverse/tools/drugbank_vocab_search.py +67 -0
  507. tooluniverse/tools/embedding_database_add.py +63 -0
  508. tooluniverse/tools/embedding_database_create.py +71 -0
  509. tooluniverse/tools/embedding_database_load.py +63 -0
  510. tooluniverse/tools/embedding_database_search.py +67 -0
  511. tooluniverse/tools/embedding_sync_download.py +63 -0
  512. tooluniverse/tools/embedding_sync_upload.py +71 -0
  513. tooluniverse/tools/enrichr_gene_enrichment_analysis.py +52 -0
  514. tooluniverse/tools/europepmc_disease_target_score.py +52 -0
  515. tooluniverse/tools/eva_disease_target_score.py +52 -0
  516. tooluniverse/tools/eva_somatic_disease_target_score.py +52 -0
  517. tooluniverse/tools/expression_atlas_disease_target_score.py +52 -0
  518. tooluniverse/tools/extract_clinical_trial_adverse_events.py +59 -0
  519. tooluniverse/tools/extract_clinical_trial_outcomes.py +52 -0
  520. tooluniverse/tools/genomics_england_disease_target_score.py +52 -0
  521. tooluniverse/tools/get_HPO_ID_by_phenotype.py +55 -0
  522. tooluniverse/tools/get_albumentations_info.py +44 -0
  523. tooluniverse/tools/get_altair_info.py +44 -0
  524. tooluniverse/tools/get_anndata_info.py +49 -0
  525. tooluniverse/tools/get_arboreto_info.py +46 -0
  526. tooluniverse/tools/get_arxiv_info.py +46 -0
  527. tooluniverse/tools/get_ase_info.py +46 -0
  528. tooluniverse/tools/get_assembly_info_by_pdb_id.py +46 -0
  529. tooluniverse/tools/get_assembly_summary.py +46 -0
  530. tooluniverse/tools/get_astropy_info.py +44 -0
  531. tooluniverse/tools/get_binding_affinity_by_pdb_id.py +46 -0
  532. tooluniverse/tools/get_biopandas_info.py +49 -0
  533. tooluniverse/tools/get_biopython_info.py +49 -0
  534. tooluniverse/tools/get_bioservices_info.py +44 -0
  535. tooluniverse/tools/get_biotite_info.py +49 -0
  536. tooluniverse/tools/get_bokeh_info.py +44 -0
  537. tooluniverse/tools/get_brian2_info.py +44 -0
  538. tooluniverse/tools/get_cartopy_info.py +44 -0
  539. tooluniverse/tools/get_catboost_info.py +44 -0
  540. tooluniverse/tools/get_cellpose_info.py +49 -0
  541. tooluniverse/tools/get_cellrank_info.py +44 -0
  542. tooluniverse/tools/get_cellxgene_census_info.py +46 -0
  543. tooluniverse/tools/get_cftime_info.py +44 -0
  544. tooluniverse/tools/get_chem_comp_audit_info.py +46 -0
  545. tooluniverse/tools/get_chem_comp_charge_and_ambiguity.py +46 -0
  546. tooluniverse/tools/get_chembl_webresource_client_info.py +44 -0
  547. tooluniverse/tools/get_citation_info_by_pdb_id.py +46 -0
  548. tooluniverse/tools/get_clair3_info.py +46 -0
  549. tooluniverse/tools/get_clinical_trial_conditions_and_interventions.py +55 -0
  550. tooluniverse/tools/get_clinical_trial_descriptions.py +52 -0
  551. tooluniverse/tools/get_clinical_trial_eligibility_criteria.py +55 -0
  552. tooluniverse/tools/get_clinical_trial_locations.py +52 -0
  553. tooluniverse/tools/get_clinical_trial_outcome_measures.py +52 -0
  554. tooluniverse/tools/get_clinical_trial_references.py +52 -0
  555. tooluniverse/tools/get_clinical_trial_status_and_dates.py +52 -0
  556. tooluniverse/tools/get_cobra_info.py +46 -0
  557. tooluniverse/tools/get_cobrapy_info.py +46 -0
  558. tooluniverse/tools/get_cooler_info.py +49 -0
  559. tooluniverse/tools/get_core_refinement_statistics.py +46 -0
  560. tooluniverse/tools/get_cryosparc_tools_info.py +46 -0
  561. tooluniverse/tools/get_crystal_growth_conditions_by_pdb_id.py +49 -0
  562. tooluniverse/tools/get_crystallization_ph_by_pdb_id.py +46 -0
  563. tooluniverse/tools/get_crystallographic_properties_by_pdb_id.py +49 -0
  564. tooluniverse/tools/get_cupy_info.py +44 -0
  565. tooluniverse/tools/get_cyvcf2_info.py +49 -0
  566. tooluniverse/tools/get_dask_info.py +44 -0
  567. tooluniverse/tools/get_datamol_info.py +44 -0
  568. tooluniverse/tools/get_datashader_info.py +44 -0
  569. tooluniverse/tools/get_deepchem_info.py +49 -0
  570. tooluniverse/tools/get_deeppurpose_info.py +46 -0
  571. tooluniverse/tools/get_deeptools_info.py +46 -0
  572. tooluniverse/tools/get_deepxde_info.py +49 -0
  573. tooluniverse/tools/get_dendropy_info.py +44 -0
  574. tooluniverse/tools/get_descriptastorus_info.py +46 -0
  575. tooluniverse/tools/get_diffdock_info.py +46 -0
  576. tooluniverse/tools/get_dscribe_info.py +49 -0
  577. tooluniverse/tools/get_ec_number_by_entity_id.py +46 -0
  578. tooluniverse/tools/get_elephant_info.py +44 -0
  579. tooluniverse/tools/get_em_3d_fitting_and_reconstruction_details.py +49 -0
  580. tooluniverse/tools/get_emdb_ids_by_pdb_id.py +46 -0
  581. tooluniverse/tools/get_episcanpy_info.py +44 -0
  582. tooluniverse/tools/get_ete3_info.py +44 -0
  583. tooluniverse/tools/get_faiss_info.py +46 -0
  584. tooluniverse/tools/get_fanc_info.py +46 -0
  585. tooluniverse/tools/get_flask_info.py +46 -0
  586. tooluniverse/tools/get_flowio_info.py +46 -0
  587. tooluniverse/tools/get_flowkit_info.py +46 -0
  588. tooluniverse/tools/get_flowutils_info.py +46 -0
  589. tooluniverse/tools/get_freesasa_info.py +44 -0
  590. tooluniverse/tools/get_galpy_info.py +44 -0
  591. tooluniverse/tools/get_gene_name_by_entity_id.py +46 -0
  592. tooluniverse/tools/get_geopandas_info.py +44 -0
  593. tooluniverse/tools/get_gget_info.py +46 -0
  594. tooluniverse/tools/get_googlesearch_python_info.py +46 -0
  595. tooluniverse/tools/get_gseapy_info.py +49 -0
  596. tooluniverse/tools/get_h5py_info.py +46 -0
  597. tooluniverse/tools/get_harmony_pytorch_info.py +46 -0
  598. tooluniverse/tools/get_hmmlearn_info.py +46 -0
  599. tooluniverse/tools/get_holoviews_info.py +44 -0
  600. tooluniverse/tools/get_host_organism_by_pdb_id.py +46 -0
  601. tooluniverse/tools/get_htmd_info.py +44 -0
  602. tooluniverse/tools/get_hyperopt_info.py +49 -0
  603. tooluniverse/tools/get_igraph_info.py +49 -0
  604. tooluniverse/tools/get_imageio_info.py +44 -0
  605. tooluniverse/tools/get_imbalanced_learn_info.py +44 -0
  606. tooluniverse/tools/get_jcvi_info.py +46 -0
  607. tooluniverse/tools/get_joblib_info.py +44 -0
  608. tooluniverse/tools/get_joint_associated_diseases_by_HPO_ID_list.py +55 -0
  609. tooluniverse/tools/get_khmer_info.py +46 -0
  610. tooluniverse/tools/get_kipoiseq_info.py +44 -0
  611. tooluniverse/tools/get_lifelines_info.py +49 -0
  612. tooluniverse/tools/get_ligand_bond_count_by_pdb_id.py +46 -0
  613. tooluniverse/tools/get_ligand_smiles_by_chem_comp_id.py +49 -0
  614. tooluniverse/tools/get_lightgbm_info.py +44 -0
  615. tooluniverse/tools/get_loompy_info.py +46 -0
  616. tooluniverse/tools/get_mageck_info.py +46 -0
  617. tooluniverse/tools/get_matplotlib_info.py +49 -0
  618. tooluniverse/tools/get_mdanalysis_info.py +46 -0
  619. tooluniverse/tools/get_mdtraj_info.py +44 -0
  620. tooluniverse/tools/get_mne_info.py +44 -0
  621. tooluniverse/tools/get_molfeat_info.py +44 -0
  622. tooluniverse/tools/get_molvs_info.py +44 -0
  623. tooluniverse/tools/get_mordred_info.py +44 -0
  624. tooluniverse/tools/get_msprime_info.py +49 -0
  625. tooluniverse/tools/get_mudata_info.py +49 -0
  626. tooluniverse/tools/get_mutation_annotations_by_pdb_id.py +46 -0
  627. tooluniverse/tools/get_neo_info.py +44 -0
  628. tooluniverse/tools/get_netcdf4_info.py +44 -0
  629. tooluniverse/tools/get_networkx_info.py +46 -0
  630. tooluniverse/tools/get_nglview_info.py +44 -0
  631. tooluniverse/tools/get_nilearn_info.py +44 -0
  632. tooluniverse/tools/get_numba_info.py +46 -0
  633. tooluniverse/tools/get_numpy_info.py +46 -0
  634. tooluniverse/tools/get_oligosaccharide_descriptors_by_entity_id.py +49 -0
  635. tooluniverse/tools/get_openbabel_info.py +49 -0
  636. tooluniverse/tools/get_openchem_info.py +46 -0
  637. tooluniverse/tools/get_opencv_info.py +49 -0
  638. tooluniverse/tools/get_openmm_info.py +49 -0
  639. tooluniverse/tools/get_optlang_info.py +46 -0
  640. tooluniverse/tools/get_optuna_info.py +44 -0
  641. tooluniverse/tools/get_palantir_info.py +44 -0
  642. tooluniverse/tools/get_pandas_info.py +49 -0
  643. tooluniverse/tools/get_patsy_info.py +44 -0
  644. tooluniverse/tools/get_pdbfixer_info.py +46 -0
  645. tooluniverse/tools/get_phenotype_by_HPO_ID.py +46 -0
  646. tooluniverse/tools/get_pillow_info.py +44 -0
  647. tooluniverse/tools/get_plantcv_info.py +46 -0
  648. tooluniverse/tools/get_plip_info.py +46 -0
  649. tooluniverse/tools/get_plotly_info.py +44 -0
  650. tooluniverse/tools/get_poliastro_info.py +46 -0
  651. tooluniverse/tools/get_polymer_entity_annotations.py +49 -0
  652. tooluniverse/tools/get_polymer_entity_count_by_pdb_id.py +46 -0
  653. tooluniverse/tools/get_polymer_entity_ids_by_pdb_id.py +46 -0
  654. tooluniverse/tools/get_polymer_entity_type_by_entity_id.py +49 -0
  655. tooluniverse/tools/get_polymer_molecular_weight_by_entity_id.py +49 -0
  656. tooluniverse/tools/get_poretools_info.py +44 -0
  657. tooluniverse/tools/get_prody_info.py +46 -0
  658. tooluniverse/tools/get_protein_classification_by_pdb_id.py +49 -0
  659. tooluniverse/tools/get_protein_metadata_by_pdb_id.py +46 -0
  660. tooluniverse/tools/get_pubchempy_info.py +44 -0
  661. tooluniverse/tools/get_pybedtools_info.py +49 -0
  662. tooluniverse/tools/get_pybigwig_info.py +46 -0
  663. tooluniverse/tools/get_pydeseq2_info.py +46 -0
  664. tooluniverse/tools/get_pyensembl_info.py +44 -0
  665. tooluniverse/tools/get_pyephem_info.py +44 -0
  666. tooluniverse/tools/get_pyfaidx_info.py +49 -0
  667. tooluniverse/tools/get_pyfasta_info.py +44 -0
  668. tooluniverse/tools/get_pykalman_info.py +46 -0
  669. tooluniverse/tools/get_pyliftover_info.py +49 -0
  670. tooluniverse/tools/get_pymassspec_info.py +46 -0
  671. tooluniverse/tools/get_pymed_info.py +46 -0
  672. tooluniverse/tools/get_pymzml_info.py +46 -0
  673. tooluniverse/tools/get_pypdf2_info.py +46 -0
  674. tooluniverse/tools/get_pyranges_info.py +49 -0
  675. tooluniverse/tools/get_pyrosetta_info.py +44 -0
  676. tooluniverse/tools/get_pysam_info.py +46 -0
  677. tooluniverse/tools/get_pyscenic_info.py +46 -0
  678. tooluniverse/tools/get_pyscf_info.py +46 -0
  679. tooluniverse/tools/get_pyscreener_info.py +46 -0
  680. tooluniverse/tools/get_pytdc_info.py +46 -0
  681. tooluniverse/tools/get_python_libsbml_info.py +46 -0
  682. tooluniverse/tools/get_pytorch_info.py +49 -0
  683. tooluniverse/tools/get_pyvcf_info.py +44 -0
  684. tooluniverse/tools/get_pyvis_info.py +44 -0
  685. tooluniverse/tools/get_qutip_info.py +44 -0
  686. tooluniverse/tools/get_rasterio_info.py +44 -0
  687. tooluniverse/tools/get_rdkit_info.py +46 -0
  688. tooluniverse/tools/get_refinement_resolution_by_pdb_id.py +49 -0
  689. tooluniverse/tools/get_release_deposit_dates_by_pdb_id.py +49 -0
  690. tooluniverse/tools/get_reportlab_info.py +49 -0
  691. tooluniverse/tools/get_requests_info.py +49 -0
  692. tooluniverse/tools/get_ruptures_info.py +46 -0
  693. tooluniverse/tools/get_scanorama_info.py +44 -0
  694. tooluniverse/tools/get_scanpy_info.py +49 -0
  695. tooluniverse/tools/get_schnetpack_info.py +49 -0
  696. tooluniverse/tools/get_scholarly_info.py +46 -0
  697. tooluniverse/tools/get_scikit_bio_info.py +49 -0
  698. tooluniverse/tools/get_scikit_image_info.py +46 -0
  699. tooluniverse/tools/get_scikit_learn_info.py +49 -0
  700. tooluniverse/tools/get_scipy_info.py +46 -0
  701. tooluniverse/tools/get_scrublet_info.py +49 -0
  702. tooluniverse/tools/get_scvelo_info.py +49 -0
  703. tooluniverse/tools/get_scvi_tools_info.py +44 -0
  704. tooluniverse/tools/get_seaborn_info.py +49 -0
  705. tooluniverse/tools/get_sequence_by_pdb_id.py +46 -0
  706. tooluniverse/tools/get_sequence_lengths_by_pdb_id.py +46 -0
  707. tooluniverse/tools/get_sequence_positional_features_by_instance_id.py +49 -0
  708. tooluniverse/tools/get_skopt_info.py +44 -0
  709. tooluniverse/tools/get_souporcell_info.py +46 -0
  710. tooluniverse/tools/get_source_organism_by_pdb_id.py +46 -0
  711. tooluniverse/tools/get_space_group_by_pdb_id.py +46 -0
  712. tooluniverse/tools/get_statsmodels_info.py +49 -0
  713. tooluniverse/tools/get_structure_determination_software_by_pdb_id.py +49 -0
  714. tooluniverse/tools/get_structure_title_by_pdb_id.py +46 -0
  715. tooluniverse/tools/get_structure_validation_metrics_by_pdb_id.py +49 -0
  716. tooluniverse/tools/get_sunpy_info.py +44 -0
  717. tooluniverse/tools/get_sympy_info.py +46 -0
  718. tooluniverse/tools/get_target_cofactor_info.py +46 -0
  719. tooluniverse/tools/get_taxonomy_by_pdb_id.py +46 -0
  720. tooluniverse/tools/get_tiledb_info.py +46 -0
  721. tooluniverse/tools/get_tiledbsoma_info.py +46 -0
  722. tooluniverse/tools/get_torch_geometric_info.py +49 -0
  723. tooluniverse/tools/get_tqdm_info.py +46 -0
  724. tooluniverse/tools/get_trackpy_info.py +46 -0
  725. tooluniverse/tools/get_tskit_info.py +46 -0
  726. tooluniverse/tools/get_umap_learn_info.py +49 -0
  727. tooluniverse/tools/get_uniprot_accession_by_entity_id.py +49 -0
  728. tooluniverse/tools/get_velocyto_info.py +44 -0
  729. tooluniverse/tools/get_viennarna_info.py +49 -0
  730. tooluniverse/tools/get_webpage_text_from_url.py +52 -0
  731. tooluniverse/tools/get_webpage_title.py +49 -0
  732. tooluniverse/tools/get_xarray_info.py +44 -0
  733. tooluniverse/tools/get_xesmf_info.py +44 -0
  734. tooluniverse/tools/get_xgboost_info.py +44 -0
  735. tooluniverse/tools/get_zarr_info.py +44 -0
  736. tooluniverse/tools/gwas_get_association_by_id.py +49 -0
  737. tooluniverse/tools/gwas_get_associations_for_snp.py +67 -0
  738. tooluniverse/tools/gwas_get_associations_for_study.py +55 -0
  739. tooluniverse/tools/gwas_get_associations_for_trait.py +55 -0
  740. tooluniverse/tools/gwas_get_snp_by_id.py +46 -0
  741. tooluniverse/tools/gwas_get_snps_for_gene.py +55 -0
  742. tooluniverse/tools/gwas_get_studies_for_trait.py +75 -0
  743. tooluniverse/tools/gwas_get_study_by_id.py +46 -0
  744. tooluniverse/tools/gwas_get_variants_for_trait.py +55 -0
  745. tooluniverse/tools/gwas_search_associations.py +75 -0
  746. tooluniverse/tools/gwas_search_snps.py +63 -0
  747. tooluniverse/tools/gwas_search_studies.py +75 -0
  748. tooluniverse/tools/humanbase_ppi_analysis.py +67 -0
  749. tooluniverse/tools/mesh_get_subjects_by_pharmacological_action.py +63 -0
  750. tooluniverse/tools/mesh_get_subjects_by_subject_id.py +63 -0
  751. tooluniverse/tools/mesh_get_subjects_by_subject_name.py +63 -0
  752. tooluniverse/tools/mesh_get_subjects_by_subject_scope_or_definition.py +63 -0
  753. tooluniverse/tools/odphp_itemlist.py +49 -0
  754. tooluniverse/tools/odphp_myhealthfinder.py +67 -0
  755. tooluniverse/tools/odphp_outlink_fetch.py +59 -0
  756. tooluniverse/tools/odphp_topicsearch.py +67 -0
  757. tooluniverse/tools/openalex_literature_search.py +67 -0
  758. tooluniverse/tools/reactome_disease_target_score.py +52 -0
  759. tooluniverse/tools/search_clinical_trials.py +67 -0
  760. tooluniverse/tools/visualize_molecule_2d.py +83 -0
  761. tooluniverse/tools/visualize_molecule_3d.py +91 -0
  762. tooluniverse/tools/visualize_protein_structure_3d.py +79 -0
  763. tooluniverse/unified_guideline_tools.py +1210 -0
  764. tooluniverse/unpaywall_tool.py +62 -0
  765. tooluniverse/utils.py +71 -2
  766. tooluniverse/visualization_tool.py +897 -0
  767. tooluniverse/wikidata_sparql_tool.py +60 -0
  768. tooluniverse/zenodo_tool.py +72 -0
  769. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/METADATA +12 -2
  770. tooluniverse-1.0.7.dist-info/RECORD +855 -0
  771. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/entry_points.txt +4 -0
  772. tooluniverse/test/list_azure_openai_models.py +0 -210
  773. tooluniverse/test/mcp_server_test.py +0 -0
  774. tooluniverse/test/test_admetai_tool.py +0 -370
  775. tooluniverse/test/test_agentic_tool.py +0 -129
  776. tooluniverse/test/test_agentic_tool_azure_models.py +0 -91
  777. tooluniverse/test/test_alphafold_tool.py +0 -108
  778. tooluniverse/test/test_api_key_validation_min.py +0 -64
  779. tooluniverse/test/test_chem_tool.py +0 -37
  780. tooluniverse/test/test_claude_sdk.py +0 -86
  781. tooluniverse/test/test_compose_lieraturereview.py +0 -63
  782. tooluniverse/test/test_compose_tool.py +0 -448
  783. tooluniverse/test/test_dailymed.py +0 -69
  784. tooluniverse/test/test_dataset_tool.py +0 -200
  785. tooluniverse/test/test_disease_target_score.py +0 -56
  786. tooluniverse/test/test_drugbank_filter_examples.py +0 -179
  787. tooluniverse/test/test_efo.py +0 -31
  788. tooluniverse/test/test_enrichr_tool.py +0 -21
  789. tooluniverse/test/test_europe_pmc_tool.py +0 -20
  790. tooluniverse/test/test_fda_adv.py +0 -95
  791. tooluniverse/test/test_fda_drug_labeling.py +0 -91
  792. tooluniverse/test/test_gene_ontology_tools.py +0 -66
  793. tooluniverse/test/test_global_fallback.py +0 -288
  794. tooluniverse/test/test_gwas_tool.py +0 -139
  795. tooluniverse/test/test_hooks_direct.py +0 -219
  796. tooluniverse/test/test_hpa.py +0 -625
  797. tooluniverse/test/test_humanbase_tool.py +0 -20
  798. tooluniverse/test/test_idmap_tools.py +0 -61
  799. tooluniverse/test/test_list_built_in_tools.py +0 -33
  800. tooluniverse/test/test_mcp_server.py +0 -211
  801. tooluniverse/test/test_mcp_tool.py +0 -247
  802. tooluniverse/test/test_medlineplus.py +0 -220
  803. tooluniverse/test/test_odphp_tool.py +0 -166
  804. tooluniverse/test/test_openalex_tool.py +0 -32
  805. tooluniverse/test/test_openrouter_client.py +0 -288
  806. tooluniverse/test/test_opentargets.py +0 -28
  807. tooluniverse/test/test_pubchem_tool.py +0 -116
  808. tooluniverse/test/test_pubtator_tool.py +0 -37
  809. tooluniverse/test/test_rcsb_pdb_tool.py +0 -86
  810. tooluniverse/test/test_reactome.py +0 -54
  811. tooluniverse/test/test_semantic_scholar_tool.py +0 -24
  812. tooluniverse/test/test_software_tools.py +0 -147
  813. tooluniverse/test/test_stdio_hooks.py +0 -285
  814. tooluniverse/test/test_tool_description_optimizer.py +0 -49
  815. tooluniverse/test/test_tool_finder.py +0 -26
  816. tooluniverse/test/test_tool_finder_llm.py +0 -252
  817. tooluniverse/test/test_tools_find.py +0 -195
  818. tooluniverse/test/test_uniprot_tools.py +0 -74
  819. tooluniverse/test/test_uspto_tool.py +0 -72
  820. tooluniverse/test/test_xml_tool.py +0 -113
  821. tooluniverse-1.0.5.dist-info/RECORD +0 -198
  822. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/WHEEL +0 -0
  823. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/licenses/LICENSE +0 -0
  824. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/top_level.txt +0 -0
@@ -1,129 +0,0 @@
1
- from tooluniverse import ToolUniverse
2
- from typing import Any, Dict, List
3
-
4
- # Step 1: Initialize tool universe and load available tools
5
- tooluni = ToolUniverse()
6
- tooluni.load_tools()
7
-
8
- # Sample biomedical text for testing
9
- sample_abstract = """
10
- Background: Drug-drug interactions (DDIs) are a major cause of adverse drug reactions and
11
- represent a significant public health concern. This study aimed to develop and validate a
12
- machine learning approach for predicting potential DDIs using molecular descriptors and
13
- pharmacokinetic properties.
14
-
15
- Methods: We collected data on 15,000 drug pairs from DrugBank and FDA databases. Molecular
16
- descriptors were computed using RDKit, and pharmacokinetic parameters were extracted from
17
- literature. A gradient boosting classifier was trained to predict DDI severity levels.
18
-
19
- Results: The model achieved an accuracy of 89.2% with a precision of 0.91 and recall of 0.87
20
- for high-severity DDI prediction. Feature importance analysis revealed that CYP450 enzyme
21
- inhibition patterns and protein binding affinity were the most predictive features.
22
-
23
- Conclusions: Our machine learning approach demonstrates high accuracy in predicting DDIs and
24
- could serve as a valuable tool for clinical decision support and drug safety assessment.
25
- """
26
-
27
- # Define test queries based on the agentic_tools.json configuration
28
- test_queries: List[Dict[str, Any]] = [
29
- # {
30
- # "name": "BiomedicalTextSummarizer",
31
- # "arguments": {
32
- # "text": sample_abstract,
33
- # "summary_length": "100 words",
34
- # "focus_area": "methodology and results"
35
- # }
36
- # },
37
- # {
38
- # "name": "BiomedicalTextSummarizer",
39
- # "arguments": {
40
- # "text": "Metformin is a first-line treatment for type 2 diabetes that works by reducing glucose production in the liver.",
41
- # "summary_length": "25 words",
42
- # "focus_area": "mechanism of action"
43
- # }
44
- # },
45
- # {
46
- # "name": "MedicalLiteratureReviewer",
47
- # "arguments": {
48
- # "research_topic": "Immunotherapy efficacy in triple-negative breast cancer",
49
- # "literature_content": "Study 1: Pembrolizumab showed 23% response rate (n=150). Study 2: Atezolizumab combined with chemotherapy improved progression-free survival (HR=0.62, p=0.002).",
50
- # "focus_area": "treatment efficacy",
51
- # "study_types": "randomized controlled trials",
52
- # "quality_level": "moderate and above",
53
- # "review_scope": "rapid review"
54
- # }
55
- # },
56
- # {
57
- # "name": "HypothesisGenerator",
58
- # "arguments": {
59
- # "context": "Recent studies have shown that patients with Alzheimer's disease have altered gut microbiome composition. Additionally, inflammation markers in the brain correlate with cognitive decline. Some research suggests that certain probiotics can cross the blood-brain barrier and influence neuroinflammation.",
60
- # "domain": "neuroscience",
61
- # "number_of_hypotheses": "3",
62
- # "hypothesis_format": "If-then statements"
63
- # }
64
- # },
65
- # {
66
- # "name": "HypothesisGenerator",
67
- # "arguments": {
68
- # "context": "Machine learning models trained on electronic health records show promise in predicting drug adverse events. However, most models focus on single drugs rather than drug combinations. Polypharmacy is common in elderly patients and drug-drug interactions are poorly understood.",
69
- # "domain": "pharmacology",
70
- # "number_of_hypotheses": "2"
71
- # }
72
- # },
73
- {
74
- "name": "ExperimentalDesignScorer",
75
- "arguments": {
76
- "hypothesis": "Daily high-intensity interval training (HIIT) for 8 weeks will improve insulin sensitivity in overweight adults compared to moderate-intensity continuous training (MICT).",
77
- "design_description": """
78
- Study Design: Randomized, parallel-group clinical trial
79
-
80
- Participants: 120 overweight adults (BMI 25–30) aged 30–50, sedentary lifestyle
81
- Inclusion: No history of diabetes, stable weight for 3 months
82
- Exclusion: Cardiovascular disease, musculoskeletal injuries, current exercise regimen
83
-
84
- Interventions:
85
- - HIIT group (n=60): 4Ɨ4-minute intervals at 90% HRmax with 3-minute active recovery, 3Ɨ/week
86
- - MICT group (n=60): 40 minutes at 60% HRmax, 3Ɨ/week
87
-
88
- Randomization: Computer-generated simple randomization
89
- Blinding: Outcome assessors blinded
90
-
91
- Primary Outcome: Change in HOMA-IR from baseline to 8 weeks
92
- Secondary Outcomes: VOā‚‚max, body composition (DXA), fasting glucose and insulin
93
-
94
- Data Collection: Baseline, 4 weeks, 8 weeks
95
- Sample Size Justification: 90% power to detect a 15% change in HOMA-IR (SD=20%), α=0.05, 15% dropout
96
-
97
- Statistical Analysis: ANCOVA adjusting for baseline values, intention-to-treat
98
- """,
99
- },
100
- },
101
- ]
102
-
103
- # Run individual test queries
104
- for idx, query in enumerate(test_queries):
105
- # try:
106
- print(
107
- f"\n[{idx+1}] Running tool: {query['name']} with arguments: {list(query['arguments'].keys())}"
108
- )
109
- result = tooluni.run(query)
110
- print("āœ… Success. Output snippet:")
111
- if isinstance(result, dict):
112
- if result.get("success"):
113
- result_text = result["result"]
114
- print(
115
- f"Result: {result_text[:2000]}..."
116
- if len(result_text) > 2000
117
- else f"Result: {result_text}"
118
- )
119
- print(
120
- f"Model used: {result.get('metadata', {}).get('model_info', {}).get('model_id', 'unknown')}"
121
- )
122
- else:
123
- print(f"Failed: {result.get('error', 'Unknown error')}")
124
- else:
125
- print(str(result)[:5000])
126
- # except Exception as e:
127
- # print(f"āŒ Failed running {query['name']}. Error: {e}")
128
-
129
- print("\nšŸ Agentic tool tests completed!")
@@ -1,91 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Batch test: AgenticTool with multiple Azure OpenAI deployments.
4
- - Validates API key during initialization
5
- - Performs a tiny run call per model (1 token)
6
- """
7
-
8
- import os
9
- import sys
10
- from typing import List
11
-
12
- # Ensure src/ is importable
13
- CURRENT_DIR = os.path.dirname(__file__)
14
- SRC_DIR = os.path.join(CURRENT_DIR, "src")
15
- if SRC_DIR not in sys.path:
16
- sys.path.insert(0, SRC_DIR)
17
-
18
- try:
19
- from tooluniverse.agentic_tool import AgenticTool # type: ignore
20
- except ImportError:
21
- # Fallback for when running from different directory
22
- sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
23
- from tooluniverse.agentic_tool import AgenticTool # type: ignore
24
-
25
- # Chat-capable deployment IDs to test (skip embeddings)
26
- MODELS: List[str] = [
27
- "gpt-4.1",
28
- "gpt-4.1-mini",
29
- "gpt-4.1-nano",
30
- "gpt-4o-1120",
31
- "gpt-4o-0806",
32
- "gpt-4o-mini-0718",
33
- "o4-mini-0416",
34
- "o3-mini-0131",
35
- ]
36
-
37
-
38
- def test_model(model_id: str) -> None:
39
- print(f"\n=== Testing model: {model_id} ===")
40
- config = {
41
- "name": f"agentic_test_{model_id}",
42
- "description": "AgenticTool model validation",
43
- "type": "AgenticTool",
44
- "prompt": "Echo: {q}",
45
- "input_arguments": ["q"],
46
- "parameter": {
47
- "type": "object",
48
- "properties": {
49
- "q": {"type": "string", "description": "input", "required": True}
50
- },
51
- "required": ["q"],
52
- },
53
- "configs": {
54
- "api_type": "CHATGPT",
55
- "model_id": model_id,
56
- "validate_api_key": True,
57
- "temperature": 0.0,
58
- "max_new_tokens": 1,
59
- "return_json": False,
60
- "return_metadata": False,
61
- },
62
- }
63
-
64
- try:
65
- tool = AgenticTool(config)
66
- print("- Init: OK (API key validated)")
67
- except Exception as e:
68
- print(f"- Init: FAIL -> {e}")
69
- return
70
-
71
- try:
72
- out = tool.run({"q": "ping"})
73
- ok = isinstance(out, (str, dict))
74
- print(
75
- f"- Run : {'OK' if ok else 'WARN'} -> {str(out)[:120].replace('\n', ' ')}"
76
- )
77
- except Exception as e:
78
- print(f"- Run : FAIL -> {e}")
79
-
80
-
81
- def main() -> None:
82
- print("Azure endpoint:", os.getenv("AZURE_OPENAI_ENDPOINT"))
83
- print("Using per-model versions:")
84
- print(os.getenv("AZURE_OPENAI_API_VERSION_BY_MODEL", "<none>"))
85
-
86
- for m in MODELS:
87
- test_model(m)
88
-
89
-
90
- if __name__ == "__main__":
91
- main()
@@ -1,108 +0,0 @@
1
- import json
2
- import os
3
- from typing import Any, Dict, List
4
- from tooluniverse import ToolUniverse
5
-
6
- # Load all tool schemas from JSON
7
- schema_path = os.path.join(
8
- os.path.dirname(__file__), "..", "data", "alphafold_tools.json"
9
- )
10
- with open(schema_path) as f:
11
- tools_json = json.load(f)
12
-
13
- schemas = {tool["name"]: tool["return_schema"] for tool in tools_json}
14
-
15
- tooluni = ToolUniverse()
16
- tooluni.load_tools()
17
-
18
- test_queries: List[Dict[str, Any]] = [
19
- # Hemoglobin subunit alpha (valid)
20
- {
21
- "name": "alphafold_get_prediction",
22
- "arguments": {"qualifier": "P69905"},
23
- },
24
- # Invalid
25
- {
26
- "name": "alphafold_get_prediction",
27
- "arguments": {"qualifier": "XXX123"},
28
- },
29
- # Missing param
30
- {
31
- "name": "alphafold_get_prediction",
32
- "arguments": {},
33
- },
34
- # Summary: valid
35
- {
36
- "name": "alphafold_get_summary",
37
- "arguments": {"qualifier": "P69905"},
38
- },
39
- # Annotations (valid + invalid type)
40
- {
41
- "name": "alphafold_get_annotations",
42
- "arguments": {"qualifier": "P69905", "type": "MUTAGEN"},
43
- },
44
- {
45
- "name": "alphafold_get_annotations",
46
- "arguments": {"qualifier": "P69905", "type": "INVALID"},
47
- },
48
- ]
49
-
50
- for idx, query in enumerate(test_queries, 1):
51
- print(f"\n[{idx}] Running {query['name']} with {query['arguments']}")
52
- result = tooluni.run(query)
53
-
54
- # Handle errors
55
- if isinstance(result, dict) and "error" in result:
56
- print(f"INVALID: {result['error']}")
57
- if "detail" in result:
58
- print(f" Detail: {result['detail']}")
59
- continue
60
-
61
- # Handle success
62
- data = result.get("data")
63
- if not data:
64
- print("No data returned.")
65
- continue
66
-
67
- # Schema validation (check only top-level keys)
68
- schema = schemas[query["name"]]
69
- expected_keys = schema.get("properties", {}).keys()
70
-
71
- # Handle list vs dict results
72
- if isinstance(data, list) and data:
73
- record = data[0]
74
- elif isinstance(data, dict):
75
- record = data
76
- else:
77
- record = {}
78
-
79
- missing = [k for k in expected_keys if k not in record]
80
- if missing:
81
- print(f" INVALID Missing expected fields: {missing}")
82
- else:
83
- print(" SUCCESS All expected schema fields present")
84
-
85
- # Show highlights depending on tool
86
- if query["name"] == "alphafold_get_prediction":
87
- if "uniprotDescription" in record:
88
- print(
89
- f" {record.get('uniprotDescription')} ({record.get('uniprotAccession')})"
90
- )
91
- print(f" Organism: {record.get('organismScientificName')}")
92
- print(f" Avg pLDDT: {record.get('globalMetricValue')}")
93
-
94
- elif query["name"] == "alphafold_get_summary":
95
- entry = record.get("uniprot_entry", {})
96
- structures = record.get("structures", [])
97
- print(f" UniProt AC: {entry.get('ac')}, ID: {entry.get('id')}")
98
- print(f" Sequence length: {entry.get('sequence_length')}")
99
- print(f" Structures returned: {len(structures)}")
100
-
101
- elif query["name"] == "alphafold_get_annotations":
102
- annotations = record.get("annotation", [])
103
- print(f" Accession: {record.get('accession')}")
104
- print(f" Total annotations: {len(annotations)}")
105
- if annotations:
106
- first_ann = annotations[0]
107
- print(f" First annotation type: {first_ann.get('type')}")
108
- print(f" First annotation description: {first_ann.get('description')}")
@@ -1,64 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Minimal test: validate API key during AgenticTool initialization.
4
- - Success: prints OK and model info
5
- - Failure: prints the error message (e.g., invalid/missing key or model not deployed)
6
- """
7
-
8
- import os
9
- import sys
10
-
11
- # Ensure src/ is importable
12
- CURRENT_DIR = os.path.dirname(__file__)
13
- SRC_DIR = os.path.join(CURRENT_DIR, "src")
14
- if SRC_DIR not in sys.path:
15
- sys.path.insert(0, SRC_DIR)
16
-
17
- try:
18
- from tooluniverse.agentic_tool import AgenticTool # type: ignore
19
- except ImportError:
20
- # Fallback for when running from different directory
21
- sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
22
- from tooluniverse.agentic_tool import AgenticTool # type: ignore
23
-
24
-
25
- def main() -> None:
26
- config = {
27
- "name": "api_key_validation_test",
28
- "description": "Minimal API key validation test",
29
- "type": "AgenticTool",
30
- "prompt": "Test: {q}",
31
- "input_arguments": ["q"],
32
- "parameter": {
33
- "type": "object",
34
- "properties": {
35
- "q": {
36
- "type": "string",
37
- "description": "placeholder",
38
- "required": True,
39
- }
40
- },
41
- "required": ["q"],
42
- },
43
- "configs": {
44
- "api_type": "CHATGPT", # or "GEMINI" if you prefer
45
- "model_id": "gpt-4o-1120", # requested model to test
46
- "validate_api_key": True, # this triggers validation during init
47
- "temperature": 0.0,
48
- "max_new_tokens": 1,
49
- },
50
- }
51
-
52
- print("Running minimal API key validation test...")
53
- try:
54
- tool = AgenticTool(config)
55
- info = tool.get_model_info()
56
- print("OK: initialization succeeded and API key validated.")
57
- print(f"Model info: {info}")
58
- except Exception as e:
59
- print("ERROR: initialization failed during API key validation.")
60
- print(f"Reason: {e}")
61
-
62
-
63
- if __name__ == "__main__":
64
- main()
@@ -1,37 +0,0 @@
1
- from tooluniverse import ToolUniverse
2
-
3
- # Step 1: Initialize tool universe
4
- tooluni = ToolUniverse()
5
- tooluni.load_tools()
6
-
7
- # Step 2: Define test queries for the ChEMBLTool
8
- test_queries = [
9
- # {"name": "ChEMBL_search_similar_molecules", "arguments": {"query": "aspirin"}},
10
- # {"name": "ChEMBL_search_similar_molecules", "arguments": {"query": "aspirin", "similarity_threshold": 90}},
11
- # {"name": "ChEMBL_search_similar_molecules", "arguments": {"query": "aspirin", "max_results": 5}},
12
- # {"name": "ChEMBL_search_similar_molecules", "arguments": {"query": "aspirin", "similarity_threshold": 85, "max_results": 3}},
13
- # {"name": "ChEMBL_search_similar_molecules", "arguments": {"query": "CC(=O)OC1=CC=CC=C1C(=O)O", "similarity_threshold": 80, "max_results": 10}}, # SMILES for aspirin
14
- # {'name': 'ChEMBL_search_similar_molecules', 'arguments': {'query': 'FENOFIBRATE', 'similarity_threshold': 70, 'max_results': 20}}
15
- {
16
- "name": "ChEMBL_search_similar_molecules",
17
- "arguments": {
18
- "query": "Gadavist",
19
- "similarity_threshold": 70,
20
- "max_results": 20,
21
- },
22
- }
23
- ]
24
-
25
- # Step 3: Run all test queries
26
- for idx, query in enumerate(test_queries):
27
- # try:
28
- print(
29
- f"\n[{idx+1}] Running tool: {query['name']} with arguments: {query['arguments']}"
30
- )
31
- result = tooluni.run(query)
32
- print("āœ… Success. Example output snippet:")
33
- print(
34
- result if isinstance(result, dict) else str(result)
35
- ) # Print snippet if result is big
36
- # except Exception as e:
37
- # print(f"āŒ Failed. Error: {str(e)}")
@@ -1,86 +0,0 @@
1
- import asyncio
2
-
3
- from claude_agent_sdk import ClaudeAgentOptions, query
4
- from dotenv import load_dotenv
5
-
6
- load_dotenv()
7
-
8
-
9
- async def delegate_task(
10
- prompt: str,
11
- append_system_prompt: str,
12
- ):
13
- """Delegate a task to an expert
14
-
15
- Args:
16
- prompt: The prompt describing the task to delegate
17
- append_system_prompt: The system prompt describing the expert
18
- Returns:
19
- The result of the delegation
20
- """
21
- import os
22
- cwd = os.getcwd()
23
-
24
- async for message in query(
25
- prompt=prompt,
26
- options=ClaudeAgentOptions(
27
- system_prompt={
28
- "type": "preset",
29
- "preset": "claude_code",
30
- "append": append_system_prompt,
31
- }, # Use the preset
32
- cwd=cwd,
33
- permission_mode="bypassPermissions",
34
- mcp_servers={
35
- "tooluniverse": {
36
- "type": "stdio",
37
- "command": "tooluniverse-smcp-stdio",
38
- "args": [],
39
- "env": {},
40
- },
41
- },
42
- ),
43
- ):
44
- # Print all message types to see tool usage
45
- message_type = type(message).__name__
46
- print(f"\n--- Message Type: {message_type} ---")
47
-
48
- # Check for tool use messages
49
- if message_type == "ToolUseMessage":
50
- print(f"Tool Name: {message.name}")
51
- print(f"Tool Input: {message.input}")
52
- elif message_type == "ToolResultMessage":
53
- print(f"Tool: {message.tool_use_id}")
54
- result_preview = (
55
- str(message.content)[:200]
56
- if hasattr(message, "content")
57
- else str(message)[:200]
58
- )
59
- print(f"Result: {result_preview}...")
60
- elif message_type == "TextMessage":
61
- text_preview = (
62
- str(message.text)[:200]
63
- if hasattr(message, "text")
64
- else str(message)[:200]
65
- )
66
- print(f"Text: {text_preview}...")
67
- elif message_type == "ResultMessage":
68
- return {
69
- "status": "success",
70
- "result": message.result,
71
- }
72
- else:
73
- # Print any other message types for debugging
74
- print(f"Message: {message}")
75
-
76
-
77
- if __name__ == "__main__":
78
- # result = asyncio.run(conduct_research("What is the capital of France?"))
79
- # print(result)
80
- result = asyncio.run(
81
- delegate_task(
82
- "What tools do you have available? Return a list of all available tool names",
83
- "You are a helpful assistant",
84
- )
85
- )
86
- print(result)
@@ -1,63 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Simple demo for SimpleLiteratureTool - Perfect for paper screenshots
4
- Shows clean, minimal compose tool functionality
5
- """
6
-
7
- from tooluniverse import ToolUniverse
8
-
9
-
10
- def main():
11
- print("šŸ”¬ LiteratureReviewAgent Tool Demo")
12
- print("=" * 40)
13
-
14
- # Initialize ToolUniverse and load all tools
15
- engine = ToolUniverse()
16
- engine.load_tools() # Load all available tools
17
-
18
- # Check available tools
19
- all_tools = engine.return_all_loaded_tools()
20
- print(f"Total tools loaded: {len(all_tools)}")
21
-
22
- # Get tool names (for dictionary-based tools, extract the 'name' field)
23
- tool_names = []
24
- for tool in all_tools:
25
- if isinstance(tool, dict) and "name" in tool:
26
- tool_names.append(tool["name"])
27
- elif isinstance(tool, str):
28
- tool_names.append(tool)
29
-
30
- # Look for compose tools
31
- compose_tools = [
32
- t for t in tool_names if "Safety" in t or "Literature" in t or "Simple" in t
33
- ]
34
- print(f"Compose tools available: {compose_tools}")
35
-
36
- if "LiteratureReviewAgent" in tool_names:
37
- # Run the simple compose tool
38
- result = engine.run_one_function(
39
- {
40
- "name": "LiteratureReviewAgent",
41
- "arguments": {"research_topic": "CRISPR gene editing"},
42
- }
43
- )
44
- print(result)
45
-
46
- # Display clean results if it's a dict
47
- if isinstance(result, dict):
48
- print(f"šŸ“š Topic: {result.get('topic', 'N/A')}")
49
- print(f"šŸ“„ Papers Found: {result.get('papers_found', 0)}")
50
- print("šŸ—‚ļø Sources: Europe PMC, OpenAlex, PubTator")
51
- print(
52
- f"šŸ¤– AI Summary: {'āœ… Generated' if result.get('ai_summary') else 'āŒ Failed'}"
53
- )
54
- else:
55
- print(f"Result: {result}")
56
- else:
57
- print("LiteratureReviewAgent not found in loaded tools")
58
-
59
- print("\nāœ… Demo Complete!")
60
-
61
-
62
- if __name__ == "__main__":
63
- main()