tooluniverse 软件包¶
- class tooluniverse.ToolUniverse[源代码]¶
基类:
object一个用于加载、组织和执行各种科学及数据工具的综合工具管理系统。
ToolUniverse 类提供了一个集中式接口,用于管理包括 GraphQL 工具、RESTful API、MCP 客户端及专业科学工具在内的多种工具类型。它负责工具的加载、筛选、缓存及执行。
- all_tools¶
所有已加载工具配置列表
- 类型:
列表
- MAX_TOOL_NAME_LENGTH = 45¶
- __init__(tool_files={'ChEMBL': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chembl_tools.json', 'EFO': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/efo_tools.json', 'Enrichr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enrichr_tools.json', 'EuropePMC': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europe_pmc_tools.json', 'HumanBase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/humanbase_tools.json', 'OpenAlex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openalex_tools.json', 'ada_aha_nccn': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ada_aha_nccn_tools.json', 'addgene': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/addgene_tools.json', 'admetai': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/admetai_tools.json', 'adverse_event': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/adverse_event_tools.json', 'agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/agentic_tools.json', 'aging_cohort': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/aging_cohort_tools.json', 'allen_brain': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/allen_brain_tools.json', 'alliance_genome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alliance_genome_tools.json', 'alphafold': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alphafold_tools.json', 'alphamissense': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alphamissense_tools.json', 'anaconda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/anaconda_tools.json', 'aopwiki': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/aopwiki_tools.json', 'appris': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/appris_tools.json', 'archs4': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/archs4_tools.json', 'arrayexpress': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/arrayexpress_tools.json', 'artic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/artic_tools.json', 'arxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/arxiv_tools.json', 'bgee': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bgee_tools.json', 'bigg_models': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bigg_models_tools.json', 'bindingdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bindingdb_tools.json', 'bioconductor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioconductor_tools.json', 'biogrid': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biogrid_tools.json', 'bioimage_archive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioimage_archive_tools.json', 'biomodels_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biomodels_tools.json', 'bioportal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioportal_tools.json', 'bioregistry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioregistry_tools.json', 'biorxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biorxiv_tools.json', 'biorxiv_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biorxiv_ext_tools.json', 'biosamples': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biosamples_tools.json', 'biostudies': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biostudies_tools.json', 'biothings': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biothings_tools.json', 'biotools_registry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biotools_registry_tools.json', 'blast': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/blast_tools.json', 'bmrb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bmrb_tools.json', 'brenda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/brenda_tools.json', 'bridgedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bridgedb_tools.json', 'bvbrc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bvbrc_tools.json', 'cadd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cadd_tools.json', 'cancer_prognosis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cancer_prognosis_tools.json', 'cancervar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cancervar_tools.json', 'cath': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cath_tools.json', 'cbioportal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cbioportal_tools.json', 'cdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cdc_tools.json', 'ceda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ceda_tools.json', 'cellmarker': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellmarker_tools.json', 'cellosaurus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellosaurus_tools.json', 'cellpainting': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellpainting_tools.json', 'cellxgene_census': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellxgene_census_tools.json', 'cellxgene_discovery': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellxgene_discovery_tools.json', 'channelsdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/channelsdb_tools.json', 'chebi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chebi_tools.json', 'chem_compute': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chem_compute_tools.json', 'chipatlas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chipatlas_tools.json', 'civic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/civic_tools.json', 'clingen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_tools.json', 'clingen_allele': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_allele_tools.json', 'clingen_ar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_ar_tools.json', 'clingen_dosage': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_dosage_api_tools.json', 'clinical_guidelines': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinical_guidelines_tools.json', 'clinical_trials': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinicaltrials_gov_tools.json', 'clinvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinvar_tools.json', 'clue': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clue_tools.json', 'cod_crystal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cod_crystal_tools.json', 'col': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/col_tools.json', 'compact_mode': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/compact_mode_tools.json', 'complex_portal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/complex_portal_tools.json', 'compose': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/compose_tools.json', 'core': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/core_tools.json', 'cosmic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cosmic_tools.json', 'cpic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cpic_tools.json', 'cran': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cran_tools.json', 'crossref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/crossref_tools.json', 'cryoet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cryoet_tools.json', 'crystal_structure': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/crystal_structure_tools.json', 'ctd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ctd_tools.json', 'dailymed': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dailymed_tools.json', 'data_quality': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/data_quality_tools.json', 'datacite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/datacite_tools.json', 'datagov': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/datagov_tools.json', 'dataone': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataone_tools.json', 'dataset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataset_tools.json', 'dataverse': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataverse_tools.json', 'dbfetch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbfetch_tools.json', 'dblp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dblp_tools.json', 'dbpedia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbpedia_tools.json', 'dbsnp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbsnp_tools.json', 'deepgo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/deepgo_tools.json', 'degrees_of_unsaturation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/degrees_of_unsaturation_tools.json', 'depmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/depmap_tools.json', 'dfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dfam_tools.json', 'dgidb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dgidb_tools.json', 'disease_ontology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_ontology_tools.json', 'disease_sh_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_sh_ext_tools.json', 'disease_target_score': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_target_score_tools.json', 'diseasesh': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/diseasesh_tools.json', 'disgenet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disgenet_tools.json', 'disprot': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disprot_tools.json', 'dna_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dna_tools.json', 'doaj': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/doaj_tools.json', 'dose_response': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dose_response_tools.json', 'drug_discovery_agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_discovery_agents.json', 'drug_properties': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_properties_tools.json', 'drug_synergy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_synergy_tools.json', 'drugcentral': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drugcentral_tools.json', 'dryad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dryad_tools.json', 'dynamut2': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dynamut2_tools.json', 'ebi_proteins_coordinates': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_coordinates_tools.json', 'ebi_proteins_epitope': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_epitope_tools.json', 'ebi_proteins_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_ext_tools.json', 'ebi_proteins_features': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_features_tools.json', 'ebi_proteins_interactions': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_interactions_tools.json', 'ebi_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_search_tools.json', 'ebi_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_taxonomy_tools.json', 'ebird_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebird_taxonomy_tools.json', 'elixir_tess': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/elixir_tess_tools.json', 'elm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/elm_tools.json', 'embedding': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/embedding_tools.json', 'emdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/emdb_tools.json', 'emolecules': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/emolecules_tools.json', 'empiar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/empiar_tools.json', 'ena_browser': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ena_browser_tools.json', 'ena_portal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ena_portal_tools.json', 'enamine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enamine_tools.json', 'encode': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/encode_tools.json', 'enrichr_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enrichr_ext_tools.json', 'ensembl': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_tools.json', 'ensembl_archive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_archive_tools.json', 'ensembl_compara': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_compara_tools.json', 'ensembl_info': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_info_tools.json', 'ensembl_ld': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_ld_tools.json', 'ensembl_map': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_map_tools.json', 'ensembl_overlap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_overlap_tools.json', 'ensembl_phenotype': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_phenotype_tools.json', 'ensembl_regulation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_regulation_tools.json', 'ensembl_sequence': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_sequence_tools.json', 'ensembl_variation_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_variation_ext_tools.json', 'ensembl_vep': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_vep_tools.json', 'ensembl_xrefs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_xrefs_tools.json', 'eol': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eol_tools.json', 'epidemiology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epidemiology_tools.json', 'epigenomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epigenomics_tools.json', 'epigraphdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epigraphdb_tools.json', 'epmc_annotations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epmc_annotations_tools.json', 'eqtl': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eqtl_tools.json', 'erddap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/erddap_tools.json', 'esm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/esm_tools.json', 'esmfold': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/esmfold_tools.json', 'euhealth': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/euhealth_tools.json', 'europepmc_annotations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europepmc_annotations_tools.json', 'europepmc_citations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europepmc_citations_tools.json', 'eurostat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eurostat_tools.json', 'eva': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eva_tools.json', 'eve': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eve_tools.json', 'expression_atlas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/expression_atlas_tools.json', 'faers_analytics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/faers_analytics_tools.json', 'fatcat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fatcat_tools.json', 'fda_drug_adverse_event': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_adverse_event_tools.json', 'fda_drug_adverse_event_detail': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_adverse_event_detail_tools.json', 'fda_drug_label': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_labeling_tools.json', 'fda_gsrs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_gsrs_tools.json', 'fda_orange_book': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_orange_book_tools.json', 'fda_pharmacogenomic_biomarkers': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_pharmacogenomic_biomarkers_tools.json', 'figshare': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/figshare_tools.json', 'file_download': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/file_download_tools.json', 'finngen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/finngen_tools.json', 'flybase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/flybase_tools.json', 'flymine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/flymine_tools.json', 'foldseek': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/foldseek_tools.json', 'fooddata_central': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fooddata_central_tools.json', 'fourdn': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fourdn_tools.json', 'fpbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fpbase_tools.json', 'gbif': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gbif_tools.json', 'gbif_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gbif_ext_tools.json', 'gdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gdc_tools.json', 'gencc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gencc_tools.json', 'gene2phenotype': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gene2phenotype_tools.json', 'genenetwork': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genenetwork_tools.json', 'genenetwork_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genenetwork_ext_tools.json', 'genome_nexus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genome_nexus_tools.json', 'geo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/geo_tools.json', 'github': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/github_tools.json', 'glygen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/glygen_tools.json', 'gmrepo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gmrepo_tools.json', 'gnomad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gnomad_tools.json', 'gnps': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gnps_tools.json', 'go': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gene_ontology_tools.json', 'go_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/go_api_tools.json', 'gpcrdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gpcrdb_tools.json', 'gprofiler': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gprofiler_tools.json', 'gtdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtdb_tools.json', 'gtex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtex_tools.json', 'gtex_v2': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtex_v2_tools.json', 'gtopdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtopdb_tools.json', 'guidelines': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unified_guideline_tools.json', 'gwas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gwas_tools.json', 'gwas_sumstats': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gwas_sumstats_tools.json', 'gxa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gxa_tools.json', 'hal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hal_tools.json', 'harmonizome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/harmonizome_tools.json', 'hca_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hca_tools.json', 'health_disparities': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/health_disparities_tools.json', 'hgnc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hgnc_tools.json', 'hocomoco': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hocomoco_tools.json', 'hpa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hpa_tools.json', 'hpo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hpo_tools.json', 'hubmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hubmap_tools.json', 'huggingface': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/huggingface_tools.json', 'humanmine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/humanmine_tools.json', 'icd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/icd_tools.json', 'icite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/icite_tools.json', 'identifiers_org': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/identifiers_org_tools.json', 'idigbio': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idigbio_tools.json', 'idmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idmap_tools.json', 'idr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idr_tools.json', 'idt': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idt_tools.json', 'iedb_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_ext_tools.json', 'iedb_prediction': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_prediction_tools.json', 'iedb_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_tools.json', 'igsr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/igsr_tools.json', 'imgt': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/imgt_tools.json', 'immport': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/immport_tools.json', 'impc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/impc_tools.json', 'inaturalist': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/inaturalist_tools.json', 'indra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/indra_tools.json', 'inspirehep': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/inspirehep_tools.json', 'intact': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intact_tools.json', 'interpro': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_tools.json', 'interpro_domain_arch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_domain_arch_tools.json', 'interpro_entry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_entry_tools.json', 'interpro_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_ext_tools.json', 'interproscan': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interproscan_tools.json', 'intervar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intervar_tools.json', 'intogen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intogen_tools.json', 'iptmnet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iptmnet_tools.json', 'itis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/itis_tools.json', 'jaspar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/jaspar_tools.json', 'jpl_horizons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/jpl_horizons_tools.json', 'kegg': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_tools.json', 'kegg_brite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_brite_tools.json', 'kegg_conv_link': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_conv_link_tools.json', 'kegg_disease_drug': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_disease_drug_tools.json', 'kegg_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_ext_tools.json', 'kegg_network_variant': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_network_variant_tools.json', 'klifs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/klifs_tools.json', 'l1000fwd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/l1000fwd_tools.json', 'lincs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lincs_tools.json', 'lipidmaps': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lipidmaps_tools.json', 'literature_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/literature_search_tools.json', 'litvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/litvar_tools.json', 'lncrna': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lncrna_tools.json', 'loinc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/loinc_tools.json', 'lotus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lotus_tools.json', 'lovd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lovd_tools.json', 'marine_regions': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/marine_regions_tools.json', 'markitdown': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/markitdown_tools.json', 'massbank': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/massbank_tools.json', 'massive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/massive_tools.json', 'mavedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mavedb_tools.json', 'mcp_auto_loader_boltz': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/boltz_mcp_loader_tools.json', 'mcp_auto_loader_esm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mcp_auto_loader_esm.json', 'mcp_auto_loader_expert_feedback': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/expert_feedback_tools.json', 'mcp_auto_loader_txagent': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/txagent_client_tools.json', 'mcp_auto_loader_uspto_downloader': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uspto_downloader_tools.json', 'mcule': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mcule_tools.json', 'medgen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medgen_tools.json', 'medlineplus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medlineplus_tools.json', 'medrxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medrxiv_tools.json', 'meme': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/meme_tools.json', 'mesh': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mesh_tools.json', 'meta_analysis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/meta_analysis_tools.json', 'metaboanalyst': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metaboanalyst_tools.json', 'metabolights': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolights_tools.json', 'metabolite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolite_tools.json', 'metabolomics_workbench': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolomics_workbench_tools.json', 'metacyc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metacyc_tools.json', 'metnorway': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metnorway_tools.json', 'mgi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgi_tools.json', 'mgnify': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgnify_tools.json', 'mgnify_expanded': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgnify_expanded_tools.json', 'mibig': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mibig_tools.json', 'mirna': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mirna_tools.json', 'mobidb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mobidb_tools.json', 'modeldb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/modeldb_tools.json', 'modomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/modomics_tools.json', 'monarch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_tools.json', 'monarch_new': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_new_tools.json', 'monarch_v3': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_v3_tools.json', 'mondo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mondo_tools.json', 'mousemine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mousemine_tools.json', 'mpd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mpd_tools.json', 'msigdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/msigdb_tools.json', 'mutalyzer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mutalyzer_tools.json', 'mydisease': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mydisease_tools.json', 'nasa_cmr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_cmr_tools.json', 'nasa_donki': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_donki_tools.json', 'nasa_eonet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_eonet_tools.json', 'nasa_exoplanet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_exoplanet_tools.json', 'nasa_ned': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_ned_tools.json', 'nasa_neows': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_neows_tools.json', 'nasa_sbdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_sbdb_tools.json', 'nca': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nca_tools.json', 'ncbi_datasets': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_datasets_tools.json', 'ncbi_gene': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_gene_tools.json', 'ncbi_nucleotide': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_nucleotide_tools.json', 'ncbi_sra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_sra_tools.json', 'ncbi_variation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_variation_tools.json', 'nci_cactus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_cactus_tools.json', 'nci_drugdict': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_drugdict_tools.json', 'nci_thesaurus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_thesaurus_tools.json', 'ndex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ndex_tools.json', 'neb_tm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neb_tm_tools.json', 'neuromorpho': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neuromorpho_tools.json', 'neurovault': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neurovault_tools.json', 'nextstrain': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nextstrain_tools.json', 'nhanes': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nhanes_tools.json', 'nominatim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nominatim_tools.json', 'nvidia_nim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nvidia_nim_tools.json', 'nws': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nws_tools.json', 'obis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/obis_tools.json', 'odphp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/odphp_tools.json', 'ols': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ols_tools.json', 'oma': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oma_tools.json', 'omicsdi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omicsdi_tools.json', 'omim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omim_tools.json', 'omnipath': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omnipath_tools.json', 'oncokb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oncokb_tools.json', 'oncotree': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oncotree_tools.json', 'open_meteo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_tools.json', 'open_meteo_airquality': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_airquality_tools.json', 'open_meteo_climate': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_climate_tools.json', 'open_meteo_flood': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_flood_tools.json', 'open_meteo_marine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_marine_tools.json', 'openaire': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openaire_tools.json', 'openaire_dataset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openaire_dataset_tools.json', 'opencitations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opencitations_tools.json', 'opencravat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opencravat_tools.json', 'openfda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_tools.json', 'openfda_approvals': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_approval_tools.json', 'openfda_labels': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_label_tools.json', 'openfoodfacts': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfoodfacts_tools.json', 'openml': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openml_tools.json', 'openneuro': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openneuro_tools.json', 'opentarget': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentarget_tools.json', 'opentarget_genetics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentarget_genetics_tools.json', 'opentopodata': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentopodata_tools.json', 'opentree': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentree_tools.json', 'optimizer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/optimizer_tools.json', 'orcid': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orcid_tools.json', 'orphanet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orphanet_tools.json', 'orthodb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orthodb_tools.json', 'osdr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/osdr_tools.json', 'osf_preprints': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/osf_preprints_tools.json', 'output_summarization': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/output_summarization_tools.json', 'oxo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oxo_tools.json', 'package_discovery_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/package_discovery_tools.json', 'paleobiology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/paleobiology_tools.json', 'panelapp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/panelapp_tools.json', 'panther': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/panther_tools.json', 'pathwaycommons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pathwaycommons_tools.json', 'pdb_redo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdb_redo_tools.json', 'pdbe_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_api_tools.json', 'pdbe_compound': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_compound_tools.json', 'pdbe_graph': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_graph_tools.json', 'pdbe_kb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_kb_tools.json', 'pdbe_ligands': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_ligands_tools.json', 'pdbe_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_search_tools.json', 'pdbe_sifts': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_sifts_tools.json', 'pdbe_validation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_validation_tools.json', 'pdbepisa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbepisa_tools.json', 'pdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdc_tools.json', 'pfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pfam_tools.json', 'pharmacodb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmacodb_tools.json', 'pharmgkb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmgkb_tools.json', 'pharmvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmvar_tools.json', 'pharos': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharos_tools.json', 'plant_reactome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/plant_reactome_tools.json', 'pmc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pmc_tools.json', 'pombase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pombase_tools.json', 'popgen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/popgen_tools.json', 'powo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/powo_tools.json', 'ppi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ppi_tools.json', 'pride': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pride_tools.json', 'progenetix': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/progenetix_tools.json', 'prosite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/prosite_tools.json', 'protacdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protacdb_tools.json', 'proteins_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteins_api_tools.json', 'proteinsplus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteinsplus_tools.json', 'proteomexchange': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteomexchange_tools.json', 'proteomicsdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteomicsdb_tools.json', 'protparam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protparam_tools.json', 'protvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protvar_tools.json', 'pubchem': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_tools.json', 'pubchem_bioassay': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_bioassay_tools.json', 'pubchem_tox': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_tox_tools.json', 'pubmed': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubmed_tools.json', 'pubtator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubtator_tools.json', 'pubtator3_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubtator3_ext_tools.json', 'pypi_package_inspector_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pypi_package_inspector_tools.json', 'python_executor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/python_executor_tools.json', 'quickgo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/quickgo_tools.json', 'rcsb_advanced_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_advanced_search_tools.json', 'rcsb_chemcomp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_chemcomp_tools.json', 'rcsb_data': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_data_tools.json', 'rcsb_graphql': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_graphql_tools.json', 'rcsb_pdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_pdb_tools.json', 'rcsb_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_search_tools.json', 'rdkit_cheminfo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rdkit_cheminfo_tools.json', 're3data': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/re3data_tools.json', 'reactome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_tools.json', 'reactome_analysis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_analysis_tools.json', 'reactome_content': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_content_tools.json', 'reactome_interactors': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_interactors_tools.json', 'regulomedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/regulomedb_tools.json', 'remap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/remap_tools.json', 'rfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rfam_tools.json', 'rgd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rgd_tools.json', 'rhea': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rhea_tools.json', 'rnacentral': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rnacentral_tools.json', 'ror': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ror_tools.json', 'rxclass': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxclass_tools.json', 'rxnorm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxnorm_tools.json', 'rxnorm_extended': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxnorm_extended_tools.json', 'sabdab': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sabdab_tools.json', 'sabiork': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sabiork_tools.json', 'sasbdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sasbdb_tools.json', 'scanprosite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scanprosite_tools.json', 'scientific_calculator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scientific_calculator_tools.json', 'scite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scite_tools.json', 'screen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/screen_tools.json', 'scxa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scxa_tools.json', 'sdss': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sdss_tools.json', 'semantic_scholar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/semantic_scholar_tools.json', 'semantic_scholar_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/semantic_scholar_ext_tools.json', 'sequence_analyze': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sequence_analyze_tools.json', 'sgd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sgd_tools.json', 'sider': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sider_tools.json', 'signor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/signor_tools.json', 'simbad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/simbad_tools.json', 'smiles_verify': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/smiles_verify_tools.json', 'smolagents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/smolagent_tools.json', 'software_bioinformatics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/bioinformatics_core_tools.json', 'software_cheminformatics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/cheminformatics_tools.json', 'software_earth_sciences': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/earth_sciences_tools.json', 'software_genomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/genomics_tools.json', 'software_image_processing': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/image_processing_tools.json', 'software_machine_learning': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/machine_learning_tools.json', 'software_neuroscience': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/neuroscience_tools.json', 'software_physics_astronomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/physics_astronomy_tools.json', 'software_scientific_computing': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/scientific_computing_tools.json', 'software_single_cell': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/single_cell_tools.json', 'software_structural_biology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/structural_biology_tools.json', 'software_visualization': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/visualization_tools.json', 'special_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/special_tools.json', 'spliceai': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/spliceai_tools.json', 'sra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sra_tools.json', 'stitch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/stitch_tools.json', 'string_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/string_ext_tools.json', 'string_network': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/string_network_tools.json', 'sunrise_sunset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sunrise_sunset_tools.json', 'survival': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/survival_tools.json', 'swiss_target': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swiss_target_tools.json', 'swissadme': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissadme_tools.json', 'swissdock': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissdock_tools.json', 'swissmodel': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissmodel_tools.json', 'synbiohub': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/synbiohub_tools.json', 'synergxdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/synergxdb_tools.json', 't3db': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/t3db_tools.json', 'targetmine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/targetmine_tools.json', 'tcdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tcdb_tools.json', 'tcia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tcia_tools.json', 'therasabdab': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/therasabdab_tools.json', 'three_d_beacons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/three_d_beacons_tools.json', 'timer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/timer_tools.json', 'tool_composition': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tool_composition_tools.json', 'tool_discovery_agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tool_discovery_agents.json', 'tool_finder': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/finder_tools.json', 'tooluniverse_page': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tooluniverse_page_tools.json', 'ucsc_genome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ucsc_genome_tools.json', 'umls': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/umls_tools.json', 'unichem': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unichem_tools.json', 'uniparc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniparc_tools.json', 'uniprot': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_tools.json', 'uniprot_idmapping': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_idmapping_tools.json', 'uniprot_locations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_locations_tools.json', 'uniprot_proteomes': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_proteomes_tools.json', 'uniprot_ref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_ref_tools.json', 'uniprot_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_taxonomy_tools.json', 'uniref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniref_tools.json', 'unpaywall': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unpaywall_tools.json', 'url': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/url_fetch_tools.json', 'uscensus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uscensus_tools.json', 'usgs_earthquake': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/usgs_earthquake_tools.json', 'usgs_water': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/usgs_water_tools.json', 'uspto': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uspto_tools.json', 'variant_validator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/variant_validator_tools.json', 'vdjdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/vdjdb_tools.json', 'veupathdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/veupathdb_tools.json', 'visualization_molecule_2d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/molecule_2d_tools.json', 'visualization_molecule_3d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/molecule_3d_tools.json', 'visualization_protein_3d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protein_structure_3d_tools.json', 'waqi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/waqi_tools.json', 'web_search_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/web_search_tools.json', 'wfgy_promptbundle': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wfgy_promptbundle_tools.json', 'who_gho': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/who_gho_tools.json', 'wikidata_entity': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikidata_entity_tools.json', 'wikidata_sparql': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikidata_sparql_tools.json', 'wikipathways': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipathways_tools.json', 'wikipathways_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipathways_ext_tools.json', 'wikipedia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipedia_tools.json', 'wikipedia_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipedia_ext_tools.json', 'worldbank': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/worldbank_tools.json', 'wormbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wormbase_tools.json', 'worms': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/worms_tools.json', 'xenbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/xenbase_tools.json', 'xml': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/xml_tools.json', 'zenodo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zenodo_tools.json', 'zfin': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zfin_tools.json', 'zinc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zinc_tools.json'}, keep_default_tools=True, log_level=None, hooks_enabled=False, hook_config=None, hook_type=None, enable_name_shortening=False, profile=None, workspace=None, use_global=False)[源代码]¶
初始化 ToolUniverse 并加载工具文件配置。
- 参数:
tool_files (
dict, optional) – 将类别名称映射到 JSON 文件路径的字典。默认为 default_tool_files。keep_default_tools (
bool, optional) – 当提供自定义 tool_files 时,是否保留默认工具。默认值为 True。log_level (
str, optional) – 此实例的日志级别。可设置为 ‘DEBUG’、’INFO’、’WARNING’、’ERROR’、’CRITICAL’。如果为 None,则使用全局设置。hooks_enabled (
bool, optional) – 是否启用输出钩子。默认为 False。hook_config (
dict, optional) – 钩子的配置。如果为 None,则使用默认配置。hook_type (
str or list, optional) – 简单的钩子类型选择。可以是 ‘SummarizationHook’、’FileSaveHook’,或两者的列表。默认为 ‘SummarizationHook’。如果同时提供了 hook_config 和 hook_type,则以 hook_config 为优先。enable_name_shortening (
bool, optional) – Whether to enable automatic tool name shortening for MCP compatibility. Defaults to False.profile (
str, optional) – URI of a Profile configuration to load automatically (e.g."./my-profile.yaml","hf:user/repo"). Overrides theTOOLUNIVERSE_PROFILEenvironment variable. When provided,load_profile()is called after initialization.workspace (
str, optional) – Path to the local workspace directory for user-defined tools. Overrides theTOOLUNIVERSE_HOMEenvironment variable and the default./.tooluniversedirectory.use_global (
bool, optional) – When True, use the global~/.tooluniversedirectory as the default workspace instead of./.tooluniverse. Has no effect ifworkspaceorTOOLUNIVERSE_HOMEis set.
- static _resolve_workspace(workspace, use_global=False)[源代码]¶
Resolve the effective workspace directory.
Priority order: 1.
workspaceparameter (if provided) — directory is created if absent 2.TOOLUNIVERSE_HOMEenvironment variable — directory is created if absent 3.~/.tooluniversewhenuse_global=True4../.tooluniverse(current directory, default local mode)The default directories (3 & 4) are NOT auto-created; if they do not exist no workspace tools are loaded and workspace profile.yaml is silently skipped.
- register_custom_tool(tool_class, tool_name=None, tool_config=None, instantiate=False, tool_instance=None)[源代码]¶
Register a custom tool class or instance at runtime.
- 参数:
tool_class – The tool class to register (required if tool_instance is None)
tool_name (
str, optional) – 注册名称。如果未指定,则使用类名。tool_config (
dict, optional) – 工具配置字典以添加到 all_toolsinstantiate (
bool, optional) – If True, immediately instantiate and cache the tool. Defaults to False for backward compatibility.tool_instance (
optional) – Pre-instantiated tool object. If provided, tool_class is inferred from the instance.
- 返回:
工具注册时使用的名称
- 返回类型:
示例
# Register tool class only (lazy instantiation) tu.register_custom_tool(MyTool, tool_config={…})
# Register and immediately instantiate tu.register_custom_tool(MyTool, tool_config={…}, instantiate=True)
# Register pre-instantiated tool instance = MyTool({…}) tu.register_custom_tool(tool_class=MyTool, tool_instance=instance, tool_config={…})
- force_full_discovery()[源代码]¶
强制进行完整的工具发现,立即导入所有工具模块。
这在您需要确保所有工具立即可用、绕过延迟加载时非常有用。
- 返回:
更新的工具注册表包含所有已发现的工具
- 返回类型:
- _check_api_key_requirements(tool_config)[源代码]¶
Check if a tool’s required API keys are available. Also supports optional_api_keys which enhance performance but don’t block loading.
- generate_env_template(all_missing_keys, output_file='.env.template')[源代码]¶
Generate a template .env file with all required API keys (only writes if content changed).
- _create_hook_config_from_type(hook_type)[源代码]¶
Create hook configuration from simple hook_type parameter.
- 参数:
hook_type (
str or list) – 启用的钩子类型。可以是 ‘SummarizationHook’、’FileSaveHook’,或两者的列表。- 返回:
Generated hook configuration
- 返回类型:
- load_tools(categories=None, tool_type=None, exclude_tools=None, exclude_categories=None, include_tools=None, tool_config_files=None, tools_file=None, include_tool_types=None, exclude_tool_types=None, python_files=None, quiet=True)[源代码]¶
Load tools into the instance, with optional filtering.
- 参数:
categories (
list, optional) – Tool category names to load. If None, all categories are loaded. Uselist_categories()to see available names.tool_type (
list, optional) – Deprecated alias forcategories.exclude_tools (
list, optional) – Tool names to exclude. Supports glob patterns (e.g.["EuropePMC_*"]).exclude_categories (
list, optional) – Category names to skip entirely.include_tools (
list or str, optional) – Only load these tools. Supports glob patterns (e.g.["EuropePMC_*", "ChEMBL_*"]). Pass a file path string to read names from a text file (one per line).tool_config_files (
dict, optional) – Extra JSON config files to load. Format:{"category_name": "/path/to/config.json"}.tools_file (
str, optional) – Deprecated. Pass a file path toinclude_toolsinstead.python_files (
list, optional) – List of Python file paths (str or Path) to import as user tools. Each file should contain@register_tool-decorated classes. Example:python_files=["/path/to/my_tool.py"].include_tool_types (
list, optional) – Only load tools whosetypefield is in this list (e.g.["RESTTool", "GraphQLTool"]).exclude_tool_types (
list, optional) – Skip tools whosetypefield is in this list.quiet (
bool, optional) – Suppress missing-API-key warnings and.env.templategeneration. DefaultTrue. PassFalseto see which keys are missing.
示例
# Load everything (default) tu.load_tools()
# Load only two categories tu.load_tools(categories=[“ChEMBL”, “EuropePMC”])
# Load tools by name with glob wildcards tu.load_tools(include_tools=[“EuropePMC_*”, “ChEMBL_get_molecule_*”])
# Combine: exclude one category, exclude specific tools tu.load_tools(
exclude_categories=[“tool_finder”], exclude_tools=[“EuropePMC_slow_tool”],
请提供需要翻译的具体英文文本,我将为您提供符合要求的中文翻译。
- _load_tool_names_from_file(file_path)[源代码]¶
Load tool names from a text file (one tool name per line).
- _filter_and_deduplicate_tools(exclude_tools_set, include_tools_set, include_tool_types_set=None, exclude_tool_types_set=None, existing_tool_names=None, quiet=True)[源代码]¶
Filter tools based on inclusion/exclusion criteria and remove duplicates.
- 参数:
exclude_tools_set (
set) – 要排除的工具名称集合include_tools_set (
set or None) – Set of tool names to include (if None, include all)include_tool_types_set (
set or None) – Set of tool types to include (if None, include all)exclude_tool_types_set (
set or None) – Set of tool types to exclude (if None, exclude none)existing_tool_names (
set or None) – Set of tool names that were already loaded before this call. These tools will be preserved even if not in include_tools_set. Used for merge mode when loading specific tools.
- _get_user_tool_files()[源代码]¶
Return (python_files, json_files) from the configured workspace directory.
self._workspace_diris always set (defaults to./.tooluniversefor local mode, or~/.tooluniversewhenuse_global=True). If the directory does not exist, an empty list pair is returned.Supports two layout conventions: - Flat:
*.py/*.jsondirectly in the workspace root - Organised:tools/*.pyanddata/orconfigs/*.json
- _import_user_python_tools(python_files)[源代码]¶
Import user Python tool files so their @register_tool decorators run.
Uses spec_from_file_location so files do not need to live inside the tooluniverse package. Each file is registered in sys.modules under a name derived from its path hash. On subsequent calls, the file’s mtime is compared to the cached value; if the file was edited, the module is reloaded so the changes take effect without a process restart.
- _load_user_json_configs(json_files)[源代码]¶
Load JSON tool configs from user directories and append to all_tools.
Each file may contain a single config dict or a list of config dicts. Files named ‘profile.yaml’ / ‘profile.json’ are skipped (handled separately).
- _load_tools_from_sources(loader, sources)[源代码]¶
Phase 4: Load Python tool files and JSON configs from external Profile sources.
Each entry in
sourcesis a URI (local path, hf:user/repo, GitHub URL, or https:// file URL). The URI is resolved to a local directory byProfileLoader.resolve_to_local_dir(), which handles downloading and caching automatically. The directory is then scanned for tool files usingProfileLoader.get_tool_files_from_dir().Last-seen definition wins: sources are processed in order, so later entries override earlier ones for duplicate tool names.
- 参数:
loader –
ProfileLoaderinstance (already has a cache dir).sources (list) – List of URI strings from the Profile config’s
sourcesfield.
- _load_auto_discovered_configs()[源代码]¶
Load auto-discovered configs from the decorator registry and sub-package list registry.
Configs registered via
@register_tool(config=...)are loaded from the singleton-per-type config registry. Configs registered by sub-package__init__.pyfiles viaregister_tool_configs()are loaded from the flat list registry — this supports multiple tool instances per class (e.g. JLCSearch has 8 distinct configs).
- _process_mcp_auto_loaders()[源代码]¶
Process any MCPAutoLoaderTool instances to automatically discover and register MCP tools.
此方法会扫描所有已加载的工具,查找MCPAutoLoaderTool实例,并运行其自动发现过程,从配置的服务器中查找并注册MCP工具。它能够正确处理异步操作,并包含清理和错误处理机制。
- 副作用:
May add new tools to the tool registry
Prints debug information about the discovery process
在MCP注册后更新工具计数
- list_built_in_tools(mode='config', scan_all=False)[源代码]¶
列出所有内置工具类别及其统计数据,并区分不同模式。
此方法提供了对 ToolUniverse 中所有可用工具的全面概览,并按类别进行组织。它直接从默认工具文件中读取数据以收集统计信息,因此即使在调用 load_tools() 之前也能正常工作。
- 参数:
mode (
str, optional) – 工具的组织模式。默认值为 ‘config’。 - ‘config’:按照配置文件类别组织(原始行为) - ‘type’:按照工具类型(实现类)组织 - ‘list_name’:返回所有工具名称的列表 - ‘list_spec’:返回所有工具规格的列表scan_all (
bool, optional) – 是否递归扫描数据目录中的所有 JSON 文件。如果为 True,则扫描 data/ 及其子目录中的所有 JSON 文件。如果为 False(默认值),则使用预定义的工具文件映射。
- 返回:
对于“config”和“type”模式:包含工具统计信息的字典
对于“list_name”模式:所有工具名称的列表
对于“list_spec”模式:所有工具规格的列表
- 返回类型:
示例
>>> tool_universe = ToolUniverse() >>> # Group by config file categories (predefined files only) >>> stats = tool_universe.list_built_in_tools(mode='config') >>> # Scan all JSON files in data directory recursively >>> stats = tool_universe.list_built_in_tools(mode='config', scan_all=True) >>> # Get all tool names from all JSON files >>> tool_names = tool_universe.list_built_in_tools(mode='list_name', scan_all=True)
备注
此方法直接从工具文件中读取,无需调用 load_tools()。
工具已在各类别中去重,因此同一工具不会被多次计数。
当调用此方法时,摘要会自动打印到控制台(list_name 和 list_spec 模式除外)。
当 scan_all=True 时,系统会扫描 data/ 目录及其子目录中的所有 JSON 文件
- _scan_predefined_files()[源代码]¶
扫描预定义的工具文件(原始行为)。
- 返回:
(all_tools, all_tool_names),其中 all_tools 是工具配置的列表,all_tool_names 是用于去重的工具名称集合
- 返回类型:
- _scan_all_json_files()[源代码]¶
Recursively scan all JSON files in the data directory and its subdirectories.
- 返回:
(all_tools, all_tool_names),其中 all_tools 是工具配置的列表,all_tool_names 是用于去重的工具名称集合
- 返回类型:
- refresh_tool_name_desc(enable_full_desc=False, include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
使用可选的筛选条件刷新工具名称和描述映射。
此方法会重建内部工具字典,并根据提供的过滤条件生成经过筛选的工具名称和描述列表。
- 参数:
enable_full_desc (
bool, optional) – 如果为 True,则将完整的工具 JSON 作为描述包含在内。如果为 False,则使用“名称: 描述”格式。默认为 False。include_names (
list, optional) – 包含的工具名称列表。exclude_names (
list, optional) – 要排除的工具名称列表。include_categories (
list, optional) – 包含的类别列表。exclude_categories (
list, optional) – 要排除的类别列表。
- 返回:
过滤后包含 (tool_name_list, tool_desc_list) 的元组。
- 返回类型:
- prepare_tool_prompts(tool_list, mode='prompt', valid_keys=None)[源代码]¶
Prepare a list of tool configurations for different usage modes.
- 参数:
- 返回:
List of tool configurations with only specified keys.
- 返回类型:
- get_tool_specification_by_names(tool_names, format='default')[源代码]¶
使用 tool_specification 方法通过工具名称检索工具规格。
- get_one_tool_by_one_name(tool_name, return_prompt=True)[源代码]¶
根据名称检索单个工具规格,可选择准备用于提示。
这是一个便捷方法,用于调用 get_one_tool_by_one_name。
- _sanitize_schema_for_openai(schema)[源代码]¶
Recursively sanitize a JSON Schema object for OpenAI function calling compatibility.
Handles three categories of issues that cause OpenAI to reject schemas:
Legacy required flags —
required: True/Falseembedded on individual property schemas (not valid JSON Schema). Collected and rebuilt as a proper top-levelrequiredarray on the enclosing object schema.Array type unions —
type: ["string", "null"](JSON Schema draft-4 shorthand). OpenAI only accepts a single string fortype; this converts them toanyOf: [{"type": "string"}, {"type": "null"}].``additionalProperties: True`` — OpenAI’s validator rejects this value; the key is removed.
Recurses into
properties,items, andanyOf/oneOf/allOfso that deeply-nested sub-schemas are also cleaned up.
- extract_function_call_json(lst, return_message=False, verbose=True, format='llama')[源代码]¶
从输入数据中提取函数调用的 JSON。
该方法委托给工具函数 extract_function_call_json。
- _execute_function_call_list(function_calls, stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
执行一系列函数调用,可选择并行执行。
- run(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
Context-aware execution - works in both sync and async contexts.
- In sync context:
result = tu.run(…) # Returns result directly (may block for async tools)
- In async context:
result = await tu.run(…) # Returns coroutine, non-blocking
This method automatically detects the context and behaves appropriately.
- 参数:
fcall_str – 输入字符串或数据,其中包含函数调用信息。
return_message (
bool, optional) – 是否返回格式化的消息。默认为 False。verbose (
bool, optional) – 是否启用详细输出。默认值为 True。format (
str, optional) – 解析的格式类型。默认值为“llama”。stream_callback – Optional callback for streaming responses.
use_cache (
bool, optional) – Whether to use result caching. Defaults to False.max_workers (
Optional[int]) – Max workers for parallel batch execution (sync only).
- 返回:
Result (sync) or coroutine (async) depending on context.
- _run_sync(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
Synchronous execution implementation (original run logic).
For async tools, this will create an event loop if needed.
- _format_batch_as_messages(batch_results, function_call_json, message)[源代码]¶
Format batch results as tool/assistant message dicts for return_message mode.
- async _run_async(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False)[源代码]¶
Asynchronous execution implementation (non-blocking).
Handles both sync and async tools in async context.
- async _execute_function_call_list_async(function_call_list, stream_callback=None, use_cache=False)[源代码]¶
Execute multiple function calls asynchronously and in parallel.
Uses return_exceptions=True so one failure does not abort others.
- _resolve_tool_name(function_name)[源代码]¶
Resolve tool name to its primary identifier.
Uses the ToolNameMapper to handle: 1. Aliases (e.g., old tool names) -> primary name 2. Original names -> shortened names (if shortening enabled) 3. Already primary names -> return as-is
- run_one_function(function_call_json, stream_callback=None, use_cache=False, validate=True)[源代码]¶
执行单个函数调用。
此方法用于验证函数调用,必要时初始化工具,并使用提供的参数执行。如果启用了钩子,还会应用输出钩子来处理结果。
- 参数:
function_call_json (
dict) – 包含函数名称和参数的字典。stream_callback (
callable, optional) – Callback for streaming responses.use_cache (
bool, optional) – Whether to use result caching. Defaults to False.validate (
bool, optional) – Whether to validate parameters against schema. Defaults to True.
- 返回:
工具执行结果,或在验证失败时返回的错误信息。
- 返回类型:
- async run_one_function_async(function_call_json, stream_callback=None, use_cache=False, validate=True)[源代码]¶
Async version of run_one_function.
Execute a single function call asynchronously (non-blocking). Handles both sync and async tools intelligently.
- _execute_tool_with_stream(tool_instance, arguments, stream_callback, use_cache=False, validate=True)[源代码]¶
调用工具时,在支持的情况下转发流回调和其他参数。
- async _invoke_tool_async(tool_instance, tool_arguments, **kwargs)[源代码]¶
Invoke tool.run, using await for async tools or a thread pool for sync tools.
- async _execute_tool_with_stream_async(tool_instance, arguments, stream_callback, use_cache=False, validate=True)[源代码]¶
Async version of _execute_tool_with_stream.
Handles both sync and async tools: async tools are awaited directly, sync tools run in a thread pool.
- toggle_hooks(enabled)[源代码]¶
在全局范围内启用或禁用输出钩子。
此方法允许在运行时控制挂钩系统。启用时,如果 HookManager 尚未初始化,则会对其进行初始化。禁用时,则会停用 HookManager。
- 参数:
enabled (
bool) – True 表示启用钩子,False 表示禁用
- init_tool(tool=None, tool_name=None, add_to_cache=True)[源代码]¶
从配置或名称初始化工具实例。
此方法使用工具类型映射创建一个新的工具实例,并可选择将其缓存以供将来使用。它还处理一些特殊情况,例如 OpentargetToolDrugNameMatch,这种情况需要额外的依赖项。
- _auto_load_tools_if_empty(function_name=None)[源代码]¶
Automatically load tools if the tools dictionary is empty.
- _make_cache_key(function_name, arguments, tool_instance=None)[源代码]¶
Generate cache key by delegating to BaseTool.
- _coerce_value_to_type(value, schema)[源代码]¶
Coerce a value to match the schema’s expected type.
This function attempts to convert string values to integers, floats, or booleans when the schema expects those types. This makes the system more lenient with user input from LLMs that provide numeric values as strings.
- _coerce_arguments_to_schema(function_name, arguments)[源代码]¶
Coerce all arguments for a tool to match their schema expectations.
- _classify_exception(exception, function_name, arguments)[源代码]¶
Classify exception by delegating to BaseTool.
- refresh_tools()[源代码]¶
Re-scan workspace and reload all tool configurations.
Picks up new JSON/Python tool files added to the workspace
.tooluniverse/tools/directory since startup, and re-discovers entry-point plugins installed since the process started. Clears the existing tool registry first so the result is always a clean reload.
- property _cache¶
用于测试目的访问内部缓存。
- clear_tools(clear_cache=False)[源代码]¶
Clear all loaded tools from the registry.
This method resets the tool registry to its initial empty state, allowing you to: - Free memory after loading many tools - Reset state between different workflows - Load a fresh set of tools for a new context - Control which tools are visible to tool finder
- 参数:
clear_cache (
bool, optional) – Whether to also clear the result cache. Defaults to False.
示例
# Clear tools but keep cached results tu.clear_tools()
# Clear both tools and cached results tu.clear_tools(clear_cache=True)
# Load specific tools after clearing tu.clear_tools() tu.load_tools(include_tools=[“UniProt_get_entry_by_accession”])
备注
This does not affect tool instances in callable_functions cache
Subsequent tool access will trigger on-demand loading
Use clear_cache=True if you also want to clear result cache
- check_function_call(fcall_str, function_config=None, format='llama')[源代码]¶
验证函数调用是否符合工具配置。
此方法通过验证函数名称是否存在以及参数是否与预期参数匹配来检查函数调用的有效性。
- 参数:
fcall_str – 函数调用字符串或需验证的数据。
function_config (
dict, optional) – 特定功能配置以进行验证。如为 None,则使用已加载的工具配置。format (
str, optional) – 解析的格式类型。默认值为“llama”。
- 返回:
一个包含 (is_valid, message) 的元组,其中: - is_valid (bool):如果函数调用有效,则为 True;否则为 False - message (str):无效时的错误信息,有效时为空字符串
- 返回类型:
- export_tool_names(output_file, category_filter=None)[源代码]¶
将工具名称导出到文本文件(每行一个)。
- 参数:
output_file (
str) – 输出文件路径category_filter (
list, optional) – 可筛选的类别列表
- filter_tools(include_tools=None, exclude_tools=None, include_tool_types=None, exclude_tool_types=None)[源代码]¶
Filter tools based on inclusion/exclusion criteria.
- 参数:
include_tools (
set, optional) – Set of tool names to includeexclude_tools (
set, optional) – 要排除的工具名称集合include_tool_types (
set, optional) – Set of tool types to includeexclude_tool_types (
set, optional) – Set of tool types to exclude
- 返回:
Filtered list of tool configurations
- 返回类型:
- remove_keys(tool_list, invalid_keys)[源代码]¶
从工具配置列表中移除指定的键。
已弃用:请使用 prepare_tool_prompts(mode=’custom’, valid_keys=…) 替代。
- prepare_tool_examples(tool_list)[源代码]¶
为示例使用准备工具配置,同时保留扩展的密钥集合。
已弃用:请改用 prepare_tool_prompts(mode=’example’)。
- select_tools(include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
根据工具名称和/或类别(tool_files 键)选择工具。
已弃用:请改用 filter_tools()。
- 参数:
include_names (
list, optional) – 工具名称列表。如果为 None,则包含所有。exclude_names (
list, optional) – 要排除的工具名称列表。include_categories (
list, optional) – 要包含的类别列表(tool_files 键)。如果为 None,则包含所有类别。exclude_categories (
list, optional) – 要排除的类别列表(tool_files 键)。
- 返回:
已选择工具配置列表
- 返回类型:
- filter_tool_lists(tool_name_list, tool_desc_list, include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
根据名称和/或类别直接筛选工具名称和描述列表。
已弃用:请使用 filter_tools() 并手动进行列表过滤。
- 参数:
- 返回:
包含 (filtered_tool_name_list, filtered_tool_desc_list) 的元组。
- 返回类型:
- load_tools_from_names_list(tool_names, clear_existing=True)[源代码]¶
仅通过工具名称加载特定工具。
已弃用:请改用 load_tools(include_tools=…)。
- load_profile(uri, _merge_workspace=True, **kwargs)[源代码]¶
Load Profile configuration and apply it to the ToolUniverse instance.
This is a high-level method that loads a Profile configuration from various sources (HuggingFace, local files, HTTP URLs) and applies the tool settings to the current instance.
When a workspace
profile.yamlexists and_merge_workspace=True(the default), the workspace config is used as the base and the loaded config is deep-merged on top — so any key in the loaded config overrides the workspace default.- 参数:
uri (str) – Profile URI (e.g., “hf:user/repo”, “./config.yaml”, “https://example.com/config.yaml”)
_merge_workspace (bool) – Whether to merge the workspace profile.yaml as a base config. Set to False when auto-applying the workspace yaml itself.
**kwargs – Additional parameters to override Profile configuration (e.g., exclude_tools=[“tool1”], include_tools=[“tool2”])
- 返回:
The loaded (and possibly merged) Profile configuration
- 返回类型:
示例
# Load from HuggingFace config = tu.load_profile(“hf:community/proteomics-toolkit”)
# Load local file with overrides config = tu.load_profile(“./my-config.yaml”, exclude_tools=[“slow_tool”])
# Load from HTTP URL config = tu.load_profile(”https://example.com/config.yaml”)
- _apply_cache_config(cache_config)[源代码]¶
Reconfigure the cache manager from Profile cache settings.
Only the keys present in cache_config are changed; omitted keys keep their current values.
- _load_tools_from_mcp_server(server_url, config)¶
Load tools from a specific MCP server.
- discover_mcp_tools(server_urls=None, **kwargs)¶
无需加载即可发现 MCP 服务器上的可用工具。
此方法连接到 MCP 服务器,以发现可用的工具,而无需实际将其注册到 ToolUniverse 中。适用于工具的探索和选择性加载。
- 参数:
- 返回:
按服务器组织的工具发现结果
- 返回类型:
示例
tu = ToolUniverse() # Discover what's available discovery = tu.discover_mcp_tools([ "http://localhost:8001", "http://ml-server:8002" ]) # Show available tools for server, info in discovery["servers"].items(): print(f"\n{server}:") for tool in info.get("tools", []): print(f" - {tool['name']}: {tool['description']}")
- list_mcp_connections()¶
列出所有活动的MCP连接和已加载的工具。
- 返回:
关于MCP连接、自动加载器和已加载工具的信息
- 返回类型:
示例
tu = ToolUniverse() tu.load_mcp_tools(["http://localhost:8001"]) connections = tu.list_mcp_connections() print(f"Active MCP connections: {len(connections['connections'])}")
- load_mcp_tools(server_urls=None, **kwargs)¶
将MCP工具从远程服务器加载到此ToolUniverse实例中。
此方法会自动从MCP服务器中发现工具,并将其注册为ToolUniverse工具,从而实现远程功能的无缝使用。
- 参数:
server_urls (
listofstr, optional) – MCP 服务器 URL 列表,用于加载工具。 示例: - [”http://localhost:8001”, “http://analysis-server:8002”] - [“ws://localhost:9000”] # WebSocket MCP 服务器 如果为 None,将尝试从本地 MCP 工具注册表中发现。**kwargs – 附加配置选项: - tool_prefix (字符串): 加载工具名称的前缀(默认值:”mcp_”) - timeout (整数): 连接超时时间(单位:秒,默认值:30) - auto_register (布尔值): 是否自动注册发现的工具(默认值:True) - selected_tools (列表): 从每个服务器加载的特定工具 - categories (列表): 用于筛选的工具类别
- 返回:
加载工具的摘要,包括数量统计及遇到的任何错误。
- 返回类型:
示例
Load from specific servers:
tu = ToolUniverse() # Load tools from multiple MCP servers result = tu.load_mcp_tools([ "http://localhost:8001", # Local analysis server "http://ml-server:8002", # Remote ML server "ws://realtime:9000" # WebSocket server ]) print(f"Loaded {result['total_tools']} tools from {result['servers_connected']} servers")
Load with custom configuration:
tu.load_mcp_tools( server_urls=["http://localhost:8001"], tool_prefix="analysis\_", timeout=60, selected_tools=["protein_analysis", "drug_interaction"]
从本地注册表自动发现:
`python # 如果您已在本地注册了 MCP 工具,自动发现其服务器 tu.load_mcp_tools() # 使用来自 mcp_tool_registry 的服务器 `
- class tooluniverse.BaseTool[源代码]¶
基类:
object- STATIC_CACHE_VERSION = '1'¶
- classmethod get_default_config_file()[源代码]¶
获取此工具类型的默认配置文件路径。
此方法使用一种稳健的路径解析策略,可适用于不同的安装场景:
已安装的软件包:使用 importlib.resources 以正确访问软件包资源
开发模式:回退到基于文件的路径解析
遗留版 Python:处理 importlib.resources 和 importlib_resources
在子类中重写此方法以指定自定义默认值文件。
- 退货
指向默认文件的路径或资源对象
- run(arguments=None, stream_callback=None, use_cache=False, validate=True)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- get_schema_const_operation()[源代码]¶
Return the operation value from the tool’s parameter schema, or empty string.
Checks const first (single fixed value), then falls back to the first value in enum (single-value enum is equivalent to const).
- get_required_parameters()[源代码]¶
Retrieve required parameters from the endpoint definition. Returns list: List of required parameters for the given endpoint.
- validate_parameters(arguments)[源代码]¶
Validate parameters against tool schema.
此方法使用 jsonschema 提供标准参数验证。子类可以重写此方法以实现自定义验证逻辑。
- 退货
验证失败时返回 ToolError,验证通过时返回 None
- _ERROR_CLASSIFICATION = [({'401', '403', 'api key', 'auth', 'token', 'unauthorized'}, <class 'tooluniverse.exceptions.ToolAuthError'>, 'Authentication failed'), ({'429', 'limit exceeded', 'quota', 'rate limit'}, <class 'tooluniverse.exceptions.ToolRateLimitError'>, 'Rate limit exceeded'), ({'404', 'connection', 'network', 'not found', 'timeout', 'unavailable'}, <class 'tooluniverse.exceptions.ToolUnavailableError'>, 'Tool unavailable'), ({'invalid', 'parameter', 'schema', 'validation'}, <class 'tooluniverse.exceptions.ToolValidationError'>, 'Validation error'), ({'config', 'configuration', 'setup'}, <class 'tooluniverse.exceptions.ToolConfigError'>, 'Configuration error'), ({'dependency', 'import', 'module', 'package'}, <class 'tooluniverse.exceptions.ToolDependencyError'>, 'Dependency error')]¶
- handle_error(exception)[源代码]¶
将原始异常分类为结构化的 ToolError。
此方法提供标准错误分类。子类可以重写此方法以实现自定义错误处理逻辑。
- 参数:
exception (Exception) – 用于分类的原始异常
- 退货
Structured ToolError instance
- tooluniverse.register_tool(tool_type_name=None, config=None)[源代码]¶
用于自动注册工具类及其配置的装饰器。
- 用法:
@register_tool(‘CustomToolName’, config={…}) class 我的工具:
通过
- class tooluniverse.SMCP[源代码]¶
基类:
FastMCP科学模型上下文协议(SMCP)服务器
SMCP 是一个增强版的 MCP(模型上下文协议)服务器,它将 ToolUniverse 的广泛科学工具集合与 FastMCP 框架无缝集成。该服务器为科学计算、数据分析和研究工作流程提供了一个统一的、可由 AI 访问的接口。
SMCP 服务器在标准 MCP 功能的基础上扩展了科学领域的专业知识、智能工具发现功能以及针对研究应用的优化配置。它能够自动处理复杂的任务,通过一致且文档完善的接口公开数百种专业工具。
关键功能:¶
- 🔬 科学工具集成:原生支持访问350多种专业工具,涵盖
科学数据库、文献检索、临床数据、基因组学、蛋白质组学、化学信息学,以及基于人工智能的分析功能。
- 🧠 AI 驱动的工具发现:使用多层次智能搜索系统:
ToolFinderLLM:通过预过滤实现成本优化的基于LLM的语义理解
Tool_RAG:基于嵌入的相似性搜索
关键词搜索:作为可靠的备用方案,进行简单的文本匹配
- 📡 全面支持MCP协议:完整实现MCP规范,包括:
Standard methods (tools/list, tools/call, resources/, prompts/)
自定义科学方法(tools/find, tools/search)
多传输支持(stdio、HTTP、SSE)
JSON-RPC 2.0 兼容性与正确的错误处理
- ⚡ 高性能架构:包含可用于生产环境的功能:
用于并发工具执行的可配置线程池
智能工具加载与缓存
资源管理与优雅降级
全面的错误处理与恢复
- 🔧 开发者友好:通过以下方式简化配置和部署:
科学计算的合理默认设置
灵活的自定义选项
全面的文档与示例
内置诊断和监控工具
自定义MCP方法:¶
- 工具/查找:
基于AI的工具发现,支持使用自然语言查询。功能包括语义搜索、类别筛选以及灵活的响应格式。
- 工具/搜索:
用于工具发现的备用端点,功能与 tools/find 完全相同,提供兼容性和便利性。
Parameters:¶
- namestr, optional
用于日志记录和标识的人类可读服务器名称。 默认值:”SMCP Server” 示例:”Scientific Research API”、”Drug Discovery Server”
- tooluniverse_configToolUniverse or dict, optional
如果为预先配置的 ToolUniverse 实例或配置字典。如果为 None,则创建一个具有默认设置的新 ToolUniverse。支持重用现有工具配置和自定义设置。
- tool_categorieslist of str, optional
指定要加载的 ToolUniverse 分类。如果设置为 None 且 auto_expose_tools=True,则会加载所有可用工具。常见组合如下: - 科学类: [“ChEMBL”, “uniprot”, “opentarget”, “pubchem”, “hpa”] - 文献类: [“EuropePMC”, “semantic_scholar”, “pubtator”, “agents”] - 临床类: [“fda_drug_label”, “clinical_trials”, “adverse_events”]
- exclude_toolslist of str, optional
需要排除加载的特定工具名称。这些工具即使属于已加载的类别,也不会通过MCP界面显示。此功能适用于移除特定存在问题或不需要的工具。
- exclude_categorieslist of str, optional
要排除加载的工具类别。这些整个类别将在工具加载过程中被跳过。可以与 tool_categories 配合使用,先选择类别,然后排除特定类别。
- include_toolslist of str, optional
如果提供了特定工具名称,则仅加载这些工具,而不考虑类别。这将覆盖基于类别的选择。
- tools_filestr, optional
包含工具名称的文本文件路径(每行一个)。作为 include_tools 参数的替代选项。会忽略注释(以 # 开头的行)和空行。
- tool_config_filesdict of str, optional
额外的工具配置文件加载。格式:{“category_name”: “/path/to/config.json”}。这些文件将在默认工具文件的基础上加载。
- include_tool_typeslist of str, optional
指定要包含的工具类型。如果提供了此选项,则仅加载这些类型的工具。可用的类型包括:’OpenTarget’、’ToolFinderEmbedding’、’ToolFinderKeyword’、’ToolFinderLLM’ 等。
- exclude_tool_typeslist of str, optional
要排除加载的工具类型。这些工具类型将在工具加载过程中被跳过。此功能适用于排除整个类别的工具(例如,所有 ToolFinder 类型或所有 OpenTarget 工具)。
- profilestr or list of str, optional
Profile configuration URI(s) to load. Can be a single URI string or a list of URIs for loading multiple Profile configurations. Supported formats: - Local file: “./config.yaml” or “/path/to/config.yaml” - HuggingFace: “hf:username/repo” or “hf:username/repo/file.yaml” - HTTP URL: “https://example.com/config.yaml”
When provided, Profile configurations are loaded after tool initialization, applying LLM settings, hooks, and tool selections from the configuration files. Multiple profiles can be loaded sequentially, with later configurations potentially overriding earlier ones.
Example: profile=”./my-workspace.yaml” Example: profile=[“hf:community/bio-tools”, “./custom-tools.yaml”]
- auto_expose_toolsbool, default True
是否将 ToolUniverse 工具自动暴露为 MCP 工具。当设置为 True 时,所有加载的工具都会通过 MCP 接口可用,并自动进行模式转换和执行封装。
- search_enabledbool, default True
通过 tools/find 方法启用 AI 驱动的工具搜索功能。包括 ToolFinderLLM(基于 LLM 的成本优化方案)、Tool_RAG(基于嵌入技术),以及具有智能回退机制的简单关键词搜索功能。
- max_workersint, default 5
用于工具执行的最大并发工作线程数。较高的值允许更多工具并行调用,但会占用更多资源。建议值:5-20,具体取决于服务器容量和预期负载。
- hooks_enabledbool, default False
是否启用输出处理钩子以对工具输出进行智能后处理。启用时,钩子可以自动汇总较长的输出、将结果保存到文件中或应用其他转换。
- hook_configdict, optional
自定义钩子配置字典。如果提供,将覆盖默认钩子设置。应包含带有钩子定义的 “hooks” 列表。例如:{“hooks”: [{“name”: “summarization_hook”, “type”: “SummarizationHook”, …}]}
- hook_typestr, optional
简单的钩子类型选择。可以是“SummarizationHook”、“FileSaveHook”,或者两者的列表。提供了一种无需完整配置即可启用钩子的简便方法。当指定时,优先于 hooks_enabled。
- compact_modebool, default False
Enable compact mode that only exposes core tools to prevent context window overflow. When True: - Only exposes search tools (find_tools), execute tool (execute_tool),
and tool discovery tools (list_tools, grep_tools, get_tool_info)
All tools are still loaded in background for execute_tool to work
Prevents automatic exposure of all tools, reducing context window usage
Maintains full functionality through search and execute capabilities
Tool discovery tools enable progressive disclosure: start with minimal info, request details when needed
Agent-friendly features: simple text search (no regex required), natural language task discovery, combined search+detail tools to reduce tool call overhead
- kwargs
传递给底层 FastMCP 服务器实例的附加参数。支持所有 FastMCP 配置选项以实现高级自定义。
Raises:¶
- ImportError
如果未安装 FastMCP。FastMCP 是 SMCP 的必要依赖项。请使用以下命令安装:pip install fastmcp
注意事项:¶
SMCP automatically handles ToolUniverse tool loading and MCP conversion
Tool search uses ToolFinderLLM (optimized for cost) when available, gracefully falls back to simpler methods
All tools support JSON argument passing for maximum flexibility
Server supports graceful shutdown and comprehensive resource cleanup
Thread pool execution ensures non-blocking operation for concurrent requests
Built-in error handling provides informative debugging information
- __init__(name=None, tooluniverse_config=None, tool_categories=None, exclude_tools=None, exclude_categories=None, include_tools=None, tools_file=None, tool_config_files=None, include_tool_types=None, exclude_tool_types=None, profile=None, workspace=None, use_global=False, auto_expose_tools=True, search_enabled=True, max_workers=5, hooks_enabled=False, hook_config=None, hook_type=None, compact_mode=False, **kwargs)[源代码]¶
Initialize with an optional sequence of providers.
- 参数:
providers – Optional initial providers (without namespacing). For namespaced providers, use add_provider() instead.
- _load_profile_configs(profile)[源代码]¶
Load Profile configurations.
This method loads Profile configuration(s) and retrieves the LLM config and metadata from ToolUniverse. It completely reuses ToolUniverse’s load_profile functionality without reimplementing any logic.
- _register_custom_mcp_methods()[源代码]¶
Register custom MCP protocol methods for enhanced functionality.
This method extends the standard MCP protocol by registering custom handlers for scientific tool discovery and search operations, as well as MCP Tasks support for long-running operations.
Custom Methods Registered:¶
tools/find: AI-powered tool discovery using natural language queries
tools/search: Alternative endpoint for tool search (alias for tools/find)
tasks/get: Get current task status
tasks/list: List all tasks
tasks/cancel: Cancel a running task
tasks/result: Wait for task completion and get result
Implementation Details:¶
Uses FastMCP’s middleware system instead of request handler patching
Implements custom middleware methods for tools/find and tools/search
Adds MCP Tasks protocol support for long-running tool operations
Standard MCP methods (tools/list, tools/call) are handled by FastMCP
Implements proper error handling and JSON-RPC 2.0 compliance
注意事项:¶
This method is called automatically during SMCP initialization and should not be called manually.
- async get_tools()[源代码]¶
Return registered tools as {name: Tool} dict (fastmcp 2/3 compat).
fastmcp 2 had get_tools() returning a dict; fastmcp 3 replaced it with list_tools() returning a list. This shim unifies both APIs.
- _load_tools_with_filters(tool_type=None)[源代码]¶
Load tools with the common set of filter parameters.
Centralizes the repeated pattern of calling load_tools with the same exclude/include/tools_file/config kwargs used across _setup_smcp_tools.
- async _tools_find_middleware(context, call_next)[源代码]¶
Middleware for handling tools/find and tools/search requests.
This middleware intercepts tools/find and tools/search requests and provides AI-powered tool discovery functionality.
- async _handle_tools_find(request_id, params)[源代码]¶
Handle the custom tools/find MCP method.
Searches for tools by natural language query and returns a JSON-RPC 2.0 response in either
detailed(default) ormcp_standardformat.
- async handle_tasks_result(task_id, auth_context=None, timeout=None)[源代码]¶
Wait for task completion and return its result.
- async _perform_tool_search(query, categories, limit, use_advanced_search, search_method='auto')[源代码]¶
Execute tool search using the most appropriate search method available.
Simplified unified interface that leverages the consistent tool interfaces. All search tools now return JSON format directly.
Parameters:¶
- querystr
Natural language query describing the desired tool functionality
- categorieslist of str, optional
Tool categories to filter results by
- limitint
返回的工具最大数量
- use_advanced_searchbool
Whether to prefer AI-powered search when available
- search_methodstr, default ‘auto’
Specific search method: ‘auto’, ‘llm’, ‘embedding’, ‘keyword’
Returns:¶
- str
JSON string containing search results
- _select_search_tool(search_method, use_advanced_search)[源代码]¶
Select the appropriate search tool based on method and availability.
- 返回:
Tool name to use for search
- 返回类型:
- _setup_smcp_tools()[源代码]¶
Initialize ToolUniverse tools, expose them as MCP tools, and set up search.
Handles: pre-loaded tool detection, category validation and loading with fallback, compact mode discovery categories, tool exposure to MCP, search initialization, and utility tool registration.
- _expose_tooluniverse_tools()[源代码]¶
Convert and register loaded ToolUniverse tools as MCP-compatible tools.
Skips meta-tools (MCPAutoLoaderTool, MCPClientTool) and tracks already-exposed tools to prevent duplicates. Individual tool failures are logged but do not halt the process.
- _add_search_tools()[源代码]¶
Register the
find_toolsMCP tool for AI-powered tool discovery.Initializes the tool finder (ToolFinderLLM > Tool_RAG > keyword fallback) and registers a
find_toolsMCP tool that delegates to_perform_tool_search.
- _init_tool_finder()[源代码]¶
Initialize the best available tool finder (LLM > RAG > keyword).
Sets
self.tool_finder_availableandself.tool_finder_type. Attempts to load thetool_findercategory if no search tools are found among the already-loaded tools.
- _add_utility_tools()[源代码]¶
Register utility tools (currently a no-op; execute_tool is a native ToolUniverse tool).
- add_custom_tool(name, function, description=None, **kwargs)[源代码]¶
Add a custom Python function as an MCP tool.
- 参数:
- 返回:
The decorated function registered with FastMCP.
- _get_tool_annotations(tool_config)[源代码]¶
Get MCP tool annotations from tool config.
Annotations should already be computed and stored in tool_config[‘mcp_annotations’] during tool registration. This method simply retrieves them, with a fallback to compute them if they’re missing (for backward compatibility).
- async close()[源代码]¶
Gracefully shut down the SMCP server, stopping the task manager and thread pool.
- _print_tooluniverse_banner()[源代码]¶
Print ToolUniverse branding banner after FastMCP banner with dynamic information.
- run(*args, **kwargs)[源代码]¶
重写运行方法以在FastMCP横幅之后显示ToolUniverse横幅。
此方法拦截父类的 run() 调用,以便在 FastMCP 显示其启动横幅后立即注入我们的自定义横幅。
- run_simple(transport='http', host='0.0.0.0', port=7000, **kwargs)[源代码]¶
Start the SMCP server with the given transport.
- _SIMPLE_TYPE_MAP = {'array': <class 'list'>, 'boolean': typing.Union[bool, str], 'integer': typing.Union[int, str], 'number': typing.Union[float, str], 'object': <class 'dict'>, 'string': <class 'str'>}¶
- static _resolve_oneof_type(param_info)[源代码]¶
Convert a JSON Schema oneOf spec to (python_type, field_kwargs_update).
- 返回:
(python_type, extra_field_kwargs) where extra_field_kwargs may contain json_schema_extra with the oneOf schema.
- 返回类型:
- classmethod _resolve_param_type(param_info)[源代码]¶
Map a single JSON Schema parameter to (python_type, extra_field_kwargs).
Handles oneOf, simple types, array items cleanup, and nested object cleanup.
- tooluniverse.create_smcp_server(name='SMCP Server', tool_categories=None, search_enabled=True, **kwargs)[源代码]¶
Create a configured SMCP server instance.
Convenience wrapper around
SMCP(...)with sensible defaults.- 参数:
- 返回:
Configured SMCP server instance ready to run.
- 返回类型:
- class tooluniverse.ToolUniverseClient[源代码]¶
基类:
objectStandalone client that mirrors ALL ToolUniverse methods via HTTP.
Uses __getattr__ magic to dynamically proxy any method call to the server. When you call client.some_method(**kwargs), it makes an HTTP POST to the server with the method name and arguments.
Benefits: - No need to update client when ToolUniverse changes - Standalone (only needs ‘requests’, no ToolUniverse package) - Automatic method discovery - Identical API to local ToolUniverse
示例
client = ToolUniverseClient(”http://localhost:8080”)
# These all work automatically: client.load_tools(tool_type=[‘uniprot’, ‘ChEMBL’]) prompts = client.prepare_tool_prompts(tool_list, mode=”prompt”) result = client.run_one_function(function_call_json)
# Tomorrow you add a new method to ToolUniverse? # It automatically works: client.your_new_method(param=”value”)
- __init__(base_url='http://localhost:8080')[源代码]¶
Initialize client.
- 参数:
base_url (str) – Base URL of ToolUniverse HTTP API server
- __getattr__(method_name)[源代码]¶
Magic method that intercepts attribute access.
When you call client.some_method(**kwargs), Python: 1. Looks for ‘some_method’ attribute - doesn’t find it 2. Calls this __getattr__(“some_method”) 3. We return a function that makes HTTP call 4. That function gets called with your arguments 5. HTTP request sent to server with method name + args 6. Server calls tu.some_method(**kwargs) 7. Result returned to client
This means ANY ToolUniverse method works automatically! No need to define methods in this class.
- list_available_methods()[源代码]¶
List all available ToolUniverse methods from the server.
- 返回:
name: Method name
parameters: List of parameter info
docstring: Method documentation
- 返回类型:
List of method information dicts with
示例
methods = client.list_available_methods() for m in methods:
print(f”{m[‘name’]}: {m[‘docstring’]}”)
- help(method_name=None)[源代码]¶
Get help about available methods.
- 参数:
method_name (str | None) – Optional specific method to get help for. If None, lists all methods.
示例
client.help() # List all methods client.help(“load_tools”) # Help for specific method
- class tooluniverse.ProfileLoader[源代码]¶
基类:
objectSimplified loader for ToolUniverse Profile configurations.
- load(uri)[源代码]¶
Load Profile configuration from URI.
- 参数:
uri (str) – Profile URI (e.g., “hf:user/repo”, “./config.yaml”, “https://example.com/config.yaml”)
- 退货
Loaded configuration dictionary
- 抛出:
ValueError – If URI is unsupported or configuration is invalid
- _resolve_extends(config, _chain=None)[源代码]¶
Resolve the
extendsfield by loading the base Profile and merging.The base Profile is loaded first; the current config is then deep-merged on top so that every field in the current config overrides the base. The
extendskey itself is removed from the final result._chaintracks the URIs already being resolved in the current call stack and is used to detect circular references before they cause infinite recursion.
- resolve_to_local_dir(uri)[源代码]¶
Resolve any URI to a local directory that contains Profile tool files.
Supported URI forms: - Local path (file or directory): returned as a
Path(file → parent) -hf:user/repo: full repo downloaded viasnapshot_download-https://github.com/user/repo[/tree/branch]: zip downloaded & extracted - Otherhttp(s)://URL: single file downloaded; its parent dir returnedThe result is always a
Pathto an existing directory.
- _resolve_github_to_dir(uri)[源代码]¶
Download a GitHub repo as a ZIP and extract it; return extracted dir.
- static get_tool_files_from_dir(dir_path)[源代码]¶
Scan
dir_pathfor Python tool files and JSON config files.Follows the same layout convention as
_get_user_tool_files(): - Flat:*.py/*.jsondirectly in the directory - Organised:tools/*.pyanddata/*.json/configs/*.jsonprofile.yaml/profile.jsonare excluded (handled separately).__init__.pyis excluded (not a tool file).
- static _deep_merge(base, override)[源代码]¶
Recursively merge two dicts.
For keys present in both: dicts are merged recursively; all other types are replaced by the override value. Lists are replaced, not concatenated, so
include_toolsin the child fully replaces the parent list rather than extending it.
- tooluniverse.validate_profile_config(config)[源代码]¶
Validate a Profile configuration using JSON Schema.
This is a legacy function that now uses the JSON Schema validation system. For new code, use validate_with_schema() instead.
- tooluniverse.validate_with_schema(yaml_content, fill_defaults_flag=True)[源代码]¶
Validate YAML content using JSON Schema and optionally fill default values.
- tooluniverse.validate_yaml_file_with_schema(file_path, fill_defaults_flag=True)[源代码]¶
Validate a YAML file using JSON Schema and optionally fill default values.
- tooluniverse.validate_yaml_format_by_template(yaml_content)[源代码]¶
Validate YAML format by comparing against default template format.
This method uses the JSON Schema as a reference to validate the structure and content of Profile YAML configurations.
- class tooluniverse.ADAStandardsTool[源代码]¶
基类:
BaseToolAmerican Diabetes Association (ADA) Standards of Care tools.
Supports three operations: - list_sections: List all sections of the current ADA Standards of Care - search: Search ADA guidelines by topic via PubMed - get_section: Fetch content of a specific ADA Standards section via PMC
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.AHAACCGuidelineTool[源代码]¶
基类:
BaseToolAmerican Heart Association (AHA) and American College of Cardiology (ACC) guideline tools. Uses PubMed to search and list clinical practice guidelines.
Supports three operations: - search: Search AHA/ACC guidelines by topic - list_aha: List recent AHA guidelines - list_acc: List recent ACC guidelines
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.APPRISTool[源代码]¶
基类:
BaseToolTool for APPRIS principal isoform annotation queries.
- BASE_URL = 'https://apprisws.bioinfo.cnio.es/rest'¶
- VALID_METHODS = {'appris', 'corsair', 'crash', 'firestar', 'matador3d', 'proteo', 'spade', 'thump', 'tsl'}¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ARCHS4Tool[源代码]¶
基类:
BaseToolTool for querying the ARCHS4 gene expression database.
ARCHS4 provides uniformly processed RNA-seq data from GEO, covering 300K+ human and mouse samples with pre-computed expression levels and gene co-expression correlations.
Supported operations: - get_gene_expression: Get expression across tissues/cell lines for a gene - get_gene_correlations: Get co-expressed genes (Pearson correlation)
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.AddgeneTool[源代码]¶
基类:
BaseToolTool for querying the Addgene plasmid repository.
Addgene is a nonprofit global plasmid repository that archives and distributes plasmids for the scientific community. This tool provides access to: - Plasmid search (by name, gene, species, vector type, purpose) - Plasmid detail retrieval (cloning info, inserts, resistance markers) - Depositor/PI search
Requires API token via ADDGENE_API_KEY environment variable. Register at https://developers.addgene.org/ for access.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _search_plasmids(arguments)[源代码]¶
Search Addgene plasmid catalog.
Supports filtering by name, genes, species, vector_types, purpose, experimental_use, expression, and more.
- _get_plasmid(arguments)[源代码]¶
Get detailed information about a specific plasmid.
Returns full plasmid record including cloning info, inserts, resistance markers, growth conditions, article, depositor comments.
- _search_depositors(arguments)[源代码]¶
Search for depositors (PIs) by querying plasmids and extracting unique depositor information.
The Addgene API does not have a dedicated depositor search endpoint, so this searches plasmids filtered by PI name or institution, then extracts and deduplicates depositor info from results.
- class tooluniverse.AgenticTool[源代码]¶
基类:
BaseTool围绕LLM提示的通用包装器,支持使用JSON定义的配置以及提示和输入参数。
- STREAM_FLAG_KEY = '_tooluniverse_stream'¶
- static has_any_api_keys()[源代码]¶
检查所有支持的 API 类型中是否有可用的 API 密钥。
- 退货
bool: True if at least one API type has all required keys, False otherwise
- run(arguments, stream_callback=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.AllenBrainTool[源代码]¶
基类:
BaseToolTool for querying the Allen Brain Atlas REST API.
- class tooluniverse.AllianceGenomeTool[源代码]¶
基类:
BaseToolTool for querying the Alliance of Genome Resources API.
Provides cross-species gene information across 7 model organisms (yeast, fly, worm, zebrafish, rat, mouse, frog) plus human. Supports gene detail, disease associations, phenotypes, and search.
No authentication required.
- class tooluniverse.AlphaFoldRESTTool[源代码]¶
基类:
BaseToolAlphaFold Protein Structure Database API tool. Generic wrapper for AlphaFold API endpoints from alphafold_tools.json.
- class tooluniverse.AlphaMissenseTool[源代码]¶
基类:
BaseToolTool for querying AlphaMissense pathogenicity predictions.
AlphaMissense uses deep learning trained on evolutionary data to predict the pathogenicity of all possible single amino acid substitutions in human proteins.
Classification thresholds: - Pathogenic: score > 0.564 - Ambiguous: 0.34 <= score <= 0.564 - Benign: score < 0.34
No authentication required. Free for academic/research use.
- PATHOGENIC_THRESHOLD = 0.564¶
- BENIGN_THRESHOLD = 0.34¶
- _get_protein_scores(arguments)[源代码]¶
Get AlphaMissense scores for a protein by UniProt ID.
Note: The AlphaMissense API requires querying individual residue positions. This method demonstrates access to the data by sampling the first position. For complete protein-wide analysis, use get_residue_scores for each position.
- class tooluniverse.ArXivPDFSnippetsTool[源代码]¶
基类:
BaseToolFetch an arXiv paper’s PDF and return bounded text snippets around user-provided terms. Uses markitdown to convert PDF to markdown text.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ArXivTool[源代码]¶
基类:
BaseTool使用公共 arXiv API 按关键词搜索 arXiv 论文。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _VALID_SORT_BY = {'lastUpdatedDate', 'relevance', 'submittedDate'}¶
- _build_search_query(query)[源代码]¶
Build arXiv search_query, joining multi-word queries with AND.
If the query already contains arXiv field prefixes (au:, ti:, cat:, abs:, etc.) or boolean operators (AND, OR, ANDNOT), pass it through as-is. Otherwise, split into tokens respecting quoted phrases and join with AND.
Special handling: single-prefix queries with multi-word unquoted values (e.g. ‘au:Shanghua Gao’) get auto-quoted (‘au:”Shanghua Gao”’) so the arXiv API treats the full name as the author field value.
- class tooluniverse.ArrayExpressRESTTool[源代码]¶
基类:
BaseToolArrayExpress REST API tool - Original ArrayExpress Database.
Accesses the official ArrayExpress functional genomics database. ArrayExpress is the authoritative source for gene expression data, microarray experiments, and RNA-seq studies from EBI.
The database infrastructure uses BioStudies backend for improved performance and integration, but this tool specifically queries the ArrayExpress collection to maintain the original data source.
- class tooluniverse.BRENDATool[源代码]¶
基类:
BaseToolTool for querying BRENDA enzyme database via SOAP API.
Supports Km, kcat, inhibitor, and general enzyme info queries. Requires BRENDA_EMAIL and BRENDA_PASSWORD environment variables. Register for free at https://www.brenda-enzymes.org/register.php
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.BVBRCTool[源代码]¶
基类:
BaseToolTool for querying the BV-BRC pathogen genomics database.
BV-BRC provides comprehensive pathogen genome data including genome metadata, antimicrobial resistance phenotypes, and annotated genome features. Covers bacteria and viruses with rich AMR surveillance data.
No authentication required.
- _build_query_string(conditions, limit=25, select_fields=None)[源代码]¶
Build BV-BRC SOLR-like query string.
- class tooluniverse.BaseMCPClient[源代码]¶
基类:
objectBase MCP client with common functionality shared between MCPClientTool and MCPAutoLoaderTool. Provides session management, request handling, and async cleanup patterns.
- class tooluniverse.BasePythonExecutor[源代码]¶
基类:
objectBase class for Python execution tools with shared security features.
- SAFE_BUILTINS = {'__import__', 'abs', 'all', 'any', 'bool', 'callable', 'dict', 'enumerate', 'filter', 'float', 'getattr', 'hasattr', 'int', 'isinstance', 'len', 'list', 'map', 'max', 'min', 'print', 'range', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'str', 'sum', 'tuple', 'type', 'zip'}¶
- DEFAULT_ALLOWED_MODULES = {'collections', 'dataclasses', 'datetime', 'decimal', 'fractions', 'itertools', 'json', 'math', 'matplotlib', 'numpy', 'random', 're', 'scipy', 'statistics', 'sympy', 'typing'}¶
- FORBIDDEN_AST_NODES = {'Attribute': ['__import__', 'open', 'file'], 'Call': ['open', 'eval', 'exec', 'compile', '__import__', 'input', 'raw_input'], 'Import': ['os', 'sys', 'subprocess', 'socket', 'urllib', 'requests', 'http']}¶
- _create_safe_globals(additional_vars=None)[源代码]¶
Create a safe globals dictionary with restricted builtins.
- _execute_with_timeout(func, timeout_seconds, *args, **kwargs)[源代码]¶
Execute function with timeout using signal or threading.
- _format_error_response(error, error_type, stdout='', stderr='', execution_time=0)[源代码]¶
Format error response with detailed information.
- _format_success_response(result, stdout, stderr, execution_time, code_lines=0, ast_warnings=None)[源代码]¶
Format success response with execution details.
- class tooluniverse.BaseRESTTool[源代码]¶
基类:
BaseToolBase class for REST API tools with common HTTP request handling.
Provides reusable methods for: - Building URLs with path parameters (e.g., {id}, {doi}) - Constructing query parameters - Making HTTP requests with retry logic - Standard error handling and response formatting
Subclasses should override: - _get_param_mapping() - to customize parameter name mappings - _process_response() - to customize response processing - _handle_special_endpoint() - for endpoint-specific logic
- _get_param_mapping()[源代码]¶
Get parameter name mappings from argument names to API parameter names.
Override this in subclasses to provide custom mappings. Example: {“limit”: “rows”, “query”: “q”}
- _process_response(response, url)[源代码]¶
Process successful API response.
Override this in subclasses for API-specific response handling.
- class tooluniverse.BgeeTool[源代码]¶
基类:
BaseToolTool for querying the Bgee gene expression database.
Bgee integrates expression data from multiple data types (RNA-Seq, Affymetrix, EST, in situ hybridization) and provides curated present/absent expression calls across tissues and developmental stages.
No authentication required.
- class tooluniverse.BiGGModelsTool[源代码]¶
基类:
BaseToolBiGG Models API tool for metabolic modeling.
Provides access to: - Genome-scale metabolic models (85+ organisms) - Reactions, metabolites, and genes - Universal reaction/metabolite databases - Model downloads in multiple formats
- class tooluniverse.BinaryDownloadTool[源代码]¶
基类:
BaseToolDownload binary files with chunked streaming.
Optimized for large binary files like images, videos, executables. Supports chunked downloads for better memory management.
Expects: {“url”: “https://…”, “output_path”: “/path/to/save”} Optional: {“chunk_size”: bytes, “timeout”: seconds} Returns: {“file_path”: “…”, “size”: bytes, “content_type”: “…”}
- class tooluniverse.BindingDBTool[源代码]¶
基类:
BaseToolTool for querying BindingDB binding affinity database.
- BASE_URL = 'https://www.bindingdb.org/rest'¶
- _BROKEN_MSG = 'BindingDB REST API is currently unavailable (requests time out). Use ChEMBL (ChEMBL_get_target_activities) or PubChem BioAssay for binding affinity data.'¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.BioGRIDRESTTool[源代码]¶
基类:
BaseToolBioGRID Database REST API tool. Generic wrapper for BioGRID API endpoints defined in ppi_tools.json.
- _ORGANISM_MAP = {'homo sapiens': 9606, 'mus musculus': 10090, 'saccharomyces cerevisiae': 559292}¶
- _LIST_PARAM_MAP = {'chemical_names': 'chemicalList', 'evidence_types': 'evidenceList', 'gene_names': 'geneList', 'ptm_type': 'ptmType', 'pubmed_ids': 'pubmedList'}¶
- class tooluniverse.BioImageArchiveTool[源代码]¶
基类:
BaseToolTool for querying the BioImage Archive at EBI.
Provides access to biological imaging datasets including fluorescence microscopy, cryo-EM, confocal imaging, and other life sciences imaging modalities. Supports searching studies and retrieving detailed metadata.
No authentication required.
- class tooluniverse.BioModelsRESTTool[源代码]¶
基类:
BaseRESTToolGeneric REST tool for BioModels API endpoints.
- class tooluniverse.BioPortalTool[源代码]¶
基类:
BaseToolTool for querying BioPortal, the largest biomedical ontology repository.
BioPortal hosts 900+ ontologies covering diseases (DOID, MONDO), phenotypes (HPO), gene function (GO), chemicals (CHEBI), anatomy (UBERON), drugs (RXNORM), and more.
Supports: cross-ontology search, concept detail lookup, text annotation with ontology terms, and concept hierarchy traversal.
Uses public demo API key (no registration required).
- class tooluniverse.BioRxivTool[源代码]¶
基类:
BaseToolGet bioRxiv or medRxiv preprint metadata by DOI.
This tool retrieves full metadata for a specific preprint using the bioRxiv API. For searching preprints by keywords, use EuropePMC_search_articles with ‘SRC:PPR’ filter instead.
- 参数:
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.BioSamplesTool[源代码]¶
基类:
BaseToolTool for querying EBI BioSamples database.
Provides access to biological sample metadata including organism, tissue type, disease state, and links to associated data archives.
No authentication required for read access.
- class tooluniverse.BioStudiesRESTTool[源代码]¶
基类:
BaseToolBioStudies REST API tool.
BioStudies is a general-purpose repository for biological studies at EMBL-EBI. It provides access to diverse study types including genomics, transcriptomics, proteomics, imaging, and more.
- class tooluniverse.BioregistryTool[源代码]¶
基类:
BaseToolTool for querying the Bioregistry meta-registry.
Provides: - Identifier resolution across 2600+ databases - Registry metadata (prefix, name, pattern, providers) - Search across all registered resources
- class tooluniverse.Boltz2DockingTool[源代码]¶
基类:
BaseToolTool to perform protein-ligand docking and affinity prediction using the local Boltz-2 model. This tool constructs a YAML input file, runs the boltz predict command, and parses the output to return the predicted structure and affinity.
- __init__(tool_config)[源代码]¶
Initializes the BoltzDockingTool. Checks if the ‘boltz’ command is available in the system’s PATH.
- run(arguments=None, timeout=1200)[源代码]¶
Executes the Boltz prediction.
- 参数:
arguments (
dict) – A dictionary containing the necessary inputs. - protein_sequence (str): The amino acid sequence of the protein. - ligands (list[dict]): A list of ligands, each with a ‘smiles’ or ‘ccd’ key. - constraints (list[dict], optional): Covalent bonds or other constraints. - templates (list[dict], optional): Structural templates. - other optional boltz CLI flags (e.g., ‘recycling_steps’).timeout (
int) – The maximum time in seconds to wait for the Boltz command to complete.
- 退货
dict: A dictionary containing the path to the predicted structure and affinity data, or an error.
- class tooluniverse.BridgeDbTool[源代码]¶
基类:
BaseToolTool for mapping biological identifiers across databases using BridgeDb.
BridgeDb provides cross-reference lookups for genes, proteins, metabolites, and other biological entities across 45+ databases including HMDB, ChEBI, KEGG, PubChem, Ensembl, UniProt, and HGNC.
Supported operations: - xrefs: Get all cross-references for an identifier - search: Search for identifiers by name - attributes: Get properties/attributes of an identifier
- class tooluniverse.CADDTool[源代码]¶
基类:
BaseToolTool for querying CADD API for variant deleteriousness scores.
CADD integrates diverse annotations into a single metric (PHRED score) by contrasting variants that survived natural selection with simulated mutations.
PHRED score interpretation: - >= 10: Top 10% most deleterious (likely damaging) - >= 20: Top 1% most deleterious (damaging) - >= 30: Top 0.1% most deleterious (highly damaging) - Common pathogenic threshold: 15-20
Supported genome builds: GRCh37, GRCh38 Current version: v1.7
No authentication required. API is experimental.
- DEFAULT_VERSION = 'GRCh38-v1.7'¶
- _get_variant_score(arguments)[源代码]¶
Get CADD score for a specific SNV.
Query format: chrom:pos_ref_alt (e.g., 7:140453136_A_T for BRAF V600E)
- class tooluniverse.CATHTool[源代码]¶
基类:
BaseToolTool for querying the CATH protein structure classification database.
CATH classifies protein domain structures into a hierarchy: Class -> Architecture -> Topology -> Homologous superfamily. Covers 500,000+ domains from PDB and AFDB structures.
No authentication required.
- class tooluniverse.CBioPortalRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CDCRESTTool[源代码]¶
基类:
BaseToolCDC Data.CDC.gov REST API tool (Socrata-based open data portal).
- class tooluniverse.CELLxGENECensusTool[源代码]¶
基类:
BaseToolCELLxGENE Census API tool for accessing single-cell RNA-seq data. Provides access to cell metadata, gene expression, and embeddings.
- class tooluniverse.CIViCTool[源代码]¶
基类:
BaseToolTool for querying CIViC (Clinical Interpretation of Variants in Cancer).
CIViC provides: - Expert-curated cancer variant interpretations - Clinical evidence levels - Drug-variant associations - Disease-variant associations
Uses GraphQL API. No authentication required. Free for academic/research use.
- class tooluniverse.CMAGuidelinesTool[源代码]¶
基类:
BaseToolCanadian clinical practice guidelines search tool. Searches PubMed for Canadian clinical practice guidelines published by Canadian healthcare organizations including CMA, Canadian Task Force, and others.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CODTool[源代码]¶
基类:
BaseRESTToolTool for querying the Crystallography Open Database (COD).
Adds user-friendly aliases and client-side result limiting: - query -> text - spacegroup -> sg - cod_id -> id - max_results / results -> client-side truncation
- class tooluniverse.COSMICTool[源代码]¶
基类:
BaseToolTool for querying COSMIC (Catalogue of Somatic Mutations in Cancer).
COSMIC provides: - Somatic mutation data in human cancers - Gene-level mutation information - Mutation coordinates and amino acid changes - Associated cancer types
Uses NLM Clinical Tables API. No authentication required.
- class tooluniverse.CPICGetRecommendationsTool[源代码]¶
基类:
BaseToolGet CPIC dosing recommendations by guideline_id, or auto-resolve from drug name.
Accepts either a numeric guideline_id directly, or a drug name that is resolved to a guideline_id via the CPIC /drug endpoint.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CPICListGuidelinesTool[源代码]¶
基类:
BaseToolList CPIC pharmacogenomic guidelines with optional gene-symbol filtering.
Fetches all guidelines and optionally filters client-side by gene symbol, since the CPIC /guideline endpoint does not support server-side gene filtering.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CPICSearchPairsTool[源代码]¶
基类:
BaseRESTToolSearch CPIC gene-drug pairs with automatic PostgREST operator normalization.
Accepts plain gene symbols and CPIC levels (e.g., ‘CYP2D6’, ‘A’) and auto-prepends the required ‘eq.’ PostgREST operator so users do not need to know the PostgREST filter syntax.
- _FILTER_PARAMS = ('genesymbol', 'cpiclevel')¶
- class tooluniverse.CTDTool[源代码]¶
基类:
BaseToolTool for querying the Comparative Toxicogenomics Database (CTD).
CTD curates chemical-gene, chemical-disease, and gene-disease relationships from peer-reviewed literature. Supports queries by chemical names, gene symbols, disease names, or their standard identifiers.
No authentication required.
- class tooluniverse.CTFPHCListGuidelinesTool[源代码]¶
基类:
BaseToolList all published guidelines from the Canadian Task Force on Preventive Health Care (CTFPHC). Fetches the official published-guidelines index page and returns title, URL, and year for each guideline.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CTFPHCSearchGuidelinesTool[源代码]¶
基类:
BaseToolSearch published guidelines from the Canadian Task Force on Preventive Health Care (CTFPHC) by keyword. Fetches the official index and filters client-side by title match.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CTGovAPITool[源代码]¶
基类:
BaseRESTToolTool for querying the ClinicalTrials.gov API v2.
Provides access to 572,000+ clinical trial records including: - Study protocol information (design, eligibility, interventions) - Recruitment status and enrollment data - Results and outcome measures - Sponsor and contact information
No authentication required.
- class tooluniverse.CancerPrognosisTool[源代码]¶
基类:
BaseToolCancer prognosis data retrieval from cBioPortal.
Queries the cBioPortal REST API for survival clinical data, gene expression values, and study information. Provides raw data that can be used with local Survival Analysis tools for custom Kaplan-Meier, log-rank, and Cox regression analyses.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _resolve_study(cancer_or_study)[源代码]¶
Resolve TCGA abbreviation or study ID to a cBioPortal study ID.
- _api_post(path, json_data, params=None, timeout=60)[源代码]¶
POST request to cBioPortal API with retry.
- _get_expression_units(profile_id, profile_name=None)[源代码]¶
Feature-49A-M1: Infer expression data type/units from the cBioPortal profile. Feature-54A-002: Prefer the actual profile name from the API (e.g., ‘mRNA expression (log2 RNA Seq RPKM)’) over ID-based inference, since some studies use misleading ID suffixes (e.g., aml_ohsu_2022 uses _rna_seq_v2_mrna but stores log2 RPKM).
- _get_mrna_profile(study_id)[源代码]¶
Find the best mRNA expression profile for a study. Returns (profile_id, profile_name) tuple, or None if not found. Feature-54A-002: also return the human-readable profile name so _get_expression_units can use the actual description instead of inferring from the profile ID string.
- class tooluniverse.CancerVarTool[源代码]¶
基类:
BaseToolCancerVar: AMP/ASCO/CAP 2017 somatic variant interpretation tool.
Classifies somatic cancer variants into four tiers per the AMP/ASCO/CAP 2017 guidelines: Tier I (strong clinical significance), Tier II (potential clinical significance), Tier III (unknown significance), Tier IV (benign/likely benign).
Returns all 12 CBP criteria scores, the tier assignment, and the Oncogenicity Pathogenicity Index (OPAI, 0–1).
Input: genomic coordinates (chr, pos, ref, alt) in hg19 or hg38. No authentication required.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CellMarkerTool[源代码]¶
基类:
BaseToolTool for querying the CellMarker 2.0 cell type marker database.
CellMarker 2.0 provides curated marker genes for hundreds of cell types across tissues in human and mouse, sourced from single-cell RNA-seq studies, experiments, reviews, and commercial antibody panels.
Supported operations: - search_by_gene: Find cell types that express a given marker gene - search_by_cell_type: Find marker genes for a specific cell type - list_cell_types: List available cell types in a tissue - search_cancer_markers: Search cancer-specific cell markers
- _search_by_gene(arguments)[源代码]¶
Find cell types that express a given marker gene.
Uses Marker_table.jsp with POST: markerSpecies + markerMarker params. Returns HTML table rows parsed into structured data.
- _search_by_cell_type(arguments)[源代码]¶
Find marker genes for a specific cell type.
Uses Marker_table.jsp with quickkeyword + quick_v=yes for general search, then filters results to match the target cell type.
- _list_cell_types(arguments)[源代码]¶
List available cell types in a tissue.
Uses the CONTROL endpoint which returns a JavaScript array of cell types for a given tissue and species combination.
- _search_cancer_markers(arguments)[源代码]¶
Search cancer-specific cell markers.
Searches for markers in cancer cell contexts. Can filter by: - cancer_type (tissue where cancer occurs, e.g., “Breast”, “Lung”) - gene_symbol (specific marker gene) - cell_type (specific cancer cell type)
Uses Marker_table.jsp with markerSpecies/markerMarker for gene-based search, or quickkeyword search for cell type / cancer type searches.
- class tooluniverse.CellPaintingTool[源代码]¶
基类:
BaseToolTool for querying Cell Painting datasets hosted on the Image Data Resource (IDR).
Provides access to: - Available Cell Painting screens (studies) - Plates within a screen - Well-level metadata and image links for a plate
- class tooluniverse.CellosaurusGetCellLineInfoTool[源代码]¶
基类:
BaseTool用于通过细胞系的登录号获取详细信息的工具。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CellosaurusQueryConverterTool[源代码]¶
基类:
BaseTool用于将自然语言查询转换为适用于Cellosaurus API的Solr语法的工具。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _calculate_similarity(term, text)[源代码]¶
Calculate similarity between a term and text using SequenceMatcher.
- _map_term_to_field(term)[源代码]¶
Map a natural language term to Cellosaurus fields based on semantic similarity.
- _extract_field_terms(query)[源代码]¶
Extract field-specific terms from the query using semantic mapping.
- class tooluniverse.CellosaurusSearchTool[源代码]¶
基类:
BaseTool使用官方API搜索Cellosaurus细胞系的工具。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CellxGeneDiscoveryTool[源代码]¶
基类:
BaseToolTool for CZI CellxGene Discovery API providing access to single-cell RNA-seq datasets and curated collections.
No authentication required.
- class tooluniverse.ChEBITool[源代码]¶
基类:
BaseToolTool for querying ChEBI (Chemical Entities of Biological Interest).
Provides compound lookup, text search, and ontology navigation for small molecules of biological relevance.
No authentication required.
- class tooluniverse.ChEMBLRESTTool[源代码]¶
基类:
BaseToolGeneric ChEMBL REST API tool. Wrapper for ChEMBL API endpoints defined in chembl_tools.json. Supports all ChEMBL data resources: molecules, targets, assays, activities, drugs, etc.
- _lookup_chembl_id_by_name(drug_name)[源代码]¶
Look up a ChEMBL molecule ID by preferred name (case-insensitive).
Feature-79B-001: Uses icontains first (most reliable), then iexact as fallback. The iexact and search endpoints frequently timeout for newer drugs. Returns the ChEMBL ID of the first matching molecule, or None.
- class tooluniverse.ChEMBLTool[源代码]¶
基类:
BaseTool使用ChEMBL Web Services API,根据给定的化合物名称或SMILES搜索相似分子的工具。
Note: This tool is designed for small molecule compounds only. Biologics (antibodies, proteins, oligonucleotides, etc.) do not have SMILES structures and cannot be used for structure-based similarity search. The tool will provide detailed error messages when biologics are queried, explaining the reason and suggesting alternative tools.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ChIPAtlasTool[源代码]¶
基类:
BaseToolChIP-Atlas API tool for accessing chromatin data. Provides enrichment analysis, peak browsing, and dataset search.
- _enrichment_analysis(arguments)[源代码]¶
Perform enrichment analysis on genomic regions, motifs, or gene lists. Identifies proteins bound to input regions more often than expected.
- class tooluniverse.ChemComputeTool[源代码]¶
基类:
BaseToolLocal computational chemistry tools using RDKit.
No external API calls. Provides: - Synthetic Accessibility (SA) Score computation
- class tooluniverse.ClinGenARTool[源代码]¶
基类:
BaseToolTool for querying the ClinGen Allele Registry.
The Allele Registry normalizes variant nomenclature and provides canonical allele identifiers (CA IDs) that link to ClinVar, dbSNP, COSMIC, gnomAD, and other variant databases. Supports HGVS notation lookup and external record retrieval.
No authentication required.
- class tooluniverse.ClinGenAlleleTool[源代码]¶
基类:
BaseToolLook up canonical allele identifiers and cross-database links.
- run(params)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ClinGenDosageTool[源代码]¶
基类:
BaseToolClinGen Dosage Sensitivity JSON API tool.
Uses the search.clinicalgenome.org/api/dosage endpoint which returns structured JSON with detailed dosage sensitivity curations.
- class tooluniverse.ClinGenTool[源代码]¶
基类:
BaseToolClinGen Database REST API tool.
Provides access to ClinGen curated data including gene-disease validity, dosage sensitivity, and clinical actionability.
- _get_actionability_pediatric(arguments)[源代码]¶
Get clinical actionability curations for pediatric context.
- _get_actionability(arguments, context)[源代码]¶
Get clinical actionability curations for a specific context.
- _search_actionability(arguments)[源代码]¶
Search clinical actionability across both adult and pediatric contexts.
- class tooluniverse.ClinVarGetClinicalSignificance[源代码]¶
-
Get clinical significance information for variants.
- class tooluniverse.ClinVarRESTTool[源代码]¶
基类:
BaseToolBase class for ClinVar REST API tools.
- _make_request(endpoint, params=None, max_retries=3)[源代码]¶
Make a request to the ClinVar API with automatic retry for rate limiting.
- class tooluniverse.ClinicalTrialsDetailsTool[源代码]¶
-
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ClinicalTrialsGovTool[源代码]¶
基类:
BaseToolTool for searching clinical trials using ClinicalTrials.gov API v2.
- BASE_URL = 'https://clinicaltrials.gov/api/v2/studies'¶
- run(arguments)[源代码]¶
Executes the ClinicalTrials tool action.
- 参数:
arguments (
Dict[str, Any]) – Dictionary containing the action and its parameters. Expected keys: - action (str): “search_studies” or “get_study_details” - condition (str, optional): Condition to search for. - intervention (str, optional): Intervention/Drug to search for. - nct_id (str, optional): NCT ID for details. - limit (int, optional): Max results (default 10).- 返回:
The results.
- 返回类型:
Dict[str, Any]
- class tooluniverse.ClinicalTrialsSearchTool[源代码]¶
- class tooluniverse.ClinicalTrialsTool[源代码]¶
基类:
RESTfulTool- _BASE_URL = 'https://clinicaltrials.gov/api/v2'¶
- _OPERATION_URLS = {'field_values': '/stats/field-values', 'get_study': '/studies', 'search': '/studies', 'stats_size': '/stats/size'}¶
- _map_param_names(arguments)[源代码]¶
Maps the parameter names in the arguments dictionary to the expected parameter names defined in the tool’s JSON configuration.
- 参数:
arguments (
dict) – Runtime arguments provided to the tool’s run method.
- 退货
dict: A new dictionary with mapped parameter names.
- _prepare_api_params(arguments)[源代码]¶
Prepares the dictionary of parameters for the API query string based on tool config and runtime arguments.
- 参数:
arguments (
dict) – Runtime arguments provided to the tool’s run method.
- 退货
dict: A dictionary of parameters ready for the API requests.
- _format_endpoint_url(arguments)[源代码]¶
Formats the endpoint URL by substituting path parameters (like {nctId}) with values from the arguments dictionary.
- 参数:
arguments (
dict) – Runtime arguments provided to the tool’s run method.
- 退货
str: The formatted endpoint URL.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ClueTool[源代码]¶
基类:
BaseToolTool for querying the CLUE.io L1000 Connectivity Map API.
Provides access to: - Perturbation signatures (genetic and chemical) - Gene expression profiles - Cell line information - Compound/drug information
- _unwrap_list(data)[源代码]¶
Extract the list payload from an API response that may be a list or a dict with a ‘data’ key.
- class tooluniverse.ComplexPortalTool[源代码]¶
基类:
BaseToolTool for querying the EBI Complex Portal for curated protein complexes.
Provides access to: - Protein complex search by gene/protein name - Detailed complex compositions and stoichiometry - Complex function, disease associations, and cross-references - Data from CORUM and other curated complex databases
No authentication required.
- class tooluniverse.ComposeTool[源代码]¶
基类:
BaseTool一个灵活的工具,可通过自定义代码逻辑组合其他工具。支持内联的composition_code和外部Python文件。具有智能依赖管理功能,可自动加载工具。
- __init__(tool_config, tooluniverse=None)[源代码]¶
Initialize the ComposeTool.
- 参数:
tool_config (
dict) – Tool configuration containing composition code or file referencetooluniverse (
ToolUniverse) – Reference to the ToolUniverse instance
- _discover_tool_dependencies()[源代码]¶
从组合代码中自动发现工具依赖关系。
- 退货
set: Set of tool names that this composition calls
- _get_tool_category_mapping()[源代码]¶
Create a mapping from tool names to their categories.
- 退货
dict: Mapping of tool names to category names
- _load_missing_dependencies(missing_tools)[源代码]¶
自动加载缺失的工具依赖项。
- 参数:
missing_tools (
set) – Set of missing tool names
- 退货
元组: (successfully_loaded, failed_to_load)
- run(arguments, stream_callback=None)[源代码]¶
执行带有自定义代码逻辑的组合工具。
- 参数:
arguments (
dict) – 组成的输入参数stream_callback (
callable, optional) – 用于流式输出的回调函数
- 退货
Any: Result from the composition execution
- _emit_stream_chunk(chunk, stream_callback)[源代码]¶
如果提供了回调函数,则发出一个数据块流。
- 参数:
chunk (
str) – 要发出的区块stream_callback (
callable, optional) – 用于流式输出的回调函数
- _create_event_emitter(stream_callback)[源代码]¶
为 compose 脚本创建一个事件触发器函数。
- 参数:
stream_callback (
callable, optional) – 用于流式输出的回调函数
- 退货
callable:事件触发器函数
- _execute_from_file(arguments, stream_callback=None)[源代码]¶
从外部文件执行组合代码。
- 参数:
arguments (
dict) – Input argumentsstream_callback (
callable, optional) – 用于流式输出的回调函数
- 退货
Any: Result from the composition execution
- class tooluniverse.CorePDFSnippetsTool[源代码]¶
基类:
BaseToolFetch an open-access PDF (commonly returned by CORE) and return bounded text snippets around user-provided terms.
Extraction backends (fastest first when extractor=”auto”): - PyMuPDF (fitz) - pypdf - markitdown
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CoreTool[源代码]¶
基类:
BaseTool用于搜索CORE开放获取学术论文的工具。
- class tooluniverse.CrossrefRESTTool[源代码]¶
基类:
BaseRESTToolGeneric REST tool for Crossref API endpoints.
- class tooluniverse.CryoETTool[源代码]¶
基类:
BaseToolCryoET Data Portal tool for browsing cryo-electron tomography datasets, runs, tomograms, and annotations from the CZ BioHub portal.
- class tooluniverse.CrystalStructureTool[源代码]¶
基类:
BaseToolValidate crystal structure by computing density from unit cell parameters.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.CustomTool[源代码]¶
基类:
BaseToolCustomTool class for executing dynamically generated tools
- class tooluniverse.DBLPTool[源代码]¶
基类:
BaseTool在 DBLP 计算机科学文献库中搜索出版物。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DBpediaSPARQLTool[源代码]¶
基类:
BaseToolRun SPARQL queries against DBpedia to retrieve structured knowledge.
DBpedia is a project that extracts structured information from Wikipedia and makes it available as linked data. This tool is particularly useful for querying information about people, places, organizations, works, and other entities, especially in humanities and social sciences domains.
- 参数(参数):
sparql (str): SPARQL query string max_results (int): Optional result limit override
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DataQualityTool[源代码]¶
基类:
BaseToolAssess tabular data quality: missing values, outliers, correlations.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DGIdbTool[源代码]¶
基类:
BaseToolTool for querying DGIdb REST API.
DGIdb provides drug-gene interaction data including: - Drug-gene interactions from 30+ sources - Druggability annotations - Gene categories (kinase, ion channel, etc.)
No authentication required. Free for academic/research use.
- class tooluniverse.DNATool[源代码]¶
基类:
BaseToolLocal DNA sequence analysis and design tools.
No external API calls. Provides: - Restriction site detection (NEB enzyme library) - Open reading frame (ORF) finding - GC content calculation - Reverse complement generation - DNA to protein translation
- _find_restriction_sites(arguments)[源代码]¶
Find restriction enzyme recognition sites in a DNA sequence.
- _calculate_gc_content(arguments)[源代码]¶
Calculate GC content and nucleotide composition of a DNA sequence.
- _translate_sequence(arguments)[源代码]¶
Translate a DNA sequence to protein using the standard codon table.
- _codon_optimize(arguments)[源代码]¶
Codon-optimize an amino acid sequence for expression in a target species.
- _calc_tm_nn(primer)[源代码]¶
Calculate melting temperature using SantaLucia 1998 nearest-neighbor model.
- Uses terminal-specific initiation parameters (SantaLucia 1998, Table 2):
GC terminal: dH = +0.1 kcal/mol, dS = -2.8 cal/mol/K (per end) AT terminal: dH = +2.3 kcal/mol, dS = +4.1 cal/mol/K (per end)
Applied to both the 5’ and 3’ terminal base pairs.
Requires a fully-resolved sequence (no ambiguous bases). N-containing dinucleotides are absent from NN_PARAMS; silently skipping them underestimates dH/dS and produces an erroneously low Tm. Returns 0.0 for sequences containing N (same sentinel as length < 2).
- class tooluniverse.DOAJTool[源代码]¶
基类:
BaseTool搜索 DOAJ(开放获取期刊目录)中的文章和期刊。
- 参数(参数):
query (str): 查询字符串(支持 DOAJ 的 Lucene 语法) max_results (int): 最大结果数(默认值为 10,最大值为 100) type (str): “articles” 或 “journals”(默认值:”articles”)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DailyMedSPLParserTool[源代码]¶
基类:
BaseToolParse DailyMed SPL XML into structured data (adverse reactions, dosing, contraindications, interactions, PK).
- class tooluniverse.DataCiteRESTTool[源代码]¶
基类:
BaseRESTToolREST tool for DataCite API endpoints with custom parameter mapping.
- class tooluniverse.DataGovTool[源代码]¶
基类:
BaseToolSearch US federal open data catalog (Data.gov) for datasets.
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DatasetTool[源代码]¶
基类:
BaseTool用于搜索和筛选DrugBank词汇数据集的工具。提供按名称、ID、同义词搜索药物的功能,并可根据各种条件进行筛选。
- _drugbank_search(arguments)[源代码]¶
通过名称、编号、同义词或其他字段使用文本查询搜索药物。
该功能专用于在指定字段中进行基于文本的搜索。它根据用户偏好执行子字符串匹配或精确匹配。
- 参数:
arguments (
dict) – 搜索参数包括: - query(字符串):搜索文本 - search_fields(列表):搜索的字段 - case_sensitive(布尔值):是否区分大小写 - exact_match(布尔值):是否进行精确匹配 - limit(整数):最大结果数量
- 退货
dict:包含匹配记录及元数据的搜索结果
- _drugbank_filter(arguments)[源代码]¶
根据特定标准和字段条件筛选药物。
此功能专用于基于条件的过滤,采用简单的字段-条件-数值参数。支持的过滤类型包括 contains、starts_with、ends_with、exact、not_empty。
- 参数:
arguments (
dict) – 过滤参数包括: - field(字符串):用于过滤的字段名称 - condition(字符串):条件类型(包含、以…开头、以…结尾、完全匹配、非空) - value(字符串):用于过滤的值(对于非空条件可选) - limit(整数):结果的最大数量
- 退货
dict: 过滤后的结果,包含匹配的记录和已应用的筛选条件
- class tooluniverse.DbfetchRESTTool[源代码]¶
基类:
BaseToolDbfetch REST API tool. Generic wrapper for Dbfetch API endpoints defined in dbfetch_tools.json.
- class tooluniverse.DeepGOTool[源代码]¶
基类:
BaseToolTool for predicting protein function using DeepGO.
- BASE_URL = 'https://deepgo.cbrc.kaust.edu.sa/deepgo'¶
- API_VERSION = '1.0.26'¶
- class tooluniverse.DegreesOfUnsaturationTool[源代码]¶
基类:
BaseToolCalculate degrees of unsaturation from a molecular formula.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DepMapTool[源代码]¶
基类:
BaseToolTool for querying DepMap/Sanger Cell Model Passports API.
Provides access to: - Cancer cell line dependency data (CRISPR screens) - Drug sensitivity profiles - Cell line metadata and annotations - Gene effect scores for target validation
No authentication required for non-commercial use.
- _get_cell_lines(arguments)[源代码]¶
Get list of cancer cell lines with metadata.
Filter by tissue type or cancer type.
- _get_cell_line(arguments)[源代码]¶
Get detailed information for a specific cell line.
Returns metadata, mutations, and available data types.
- _get_gene_dependencies(arguments)[源代码]¶
Get CRISPR gene dependency data.
Returns gene effect scores indicating essentiality in cancer cell lines. Negative scores indicate the gene is essential (cell death upon knockout).
- class tooluniverse.DetailedTermInfo[源代码]¶
基类:
TermInfoExtended term details in OLS.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tooluniverse.DfamTool[源代码]¶
基类:
BaseToolTool for querying Dfam transposable element / repeat element database.
Supports: - Search TE families by name prefix, clade (taxon ID), and repeat type - Get detailed family info including consensus sequence and classification - Get TE annotation hits for genomic regions
No authentication required.
- class tooluniverse.DisGeNETTool[源代码]¶
基类:
BaseToolTool for querying DisGeNET gene-disease association database.
DisGeNET provides: - Gene-disease associations (GDAs) - Variant-disease associations (VDAs) - Disease-disease associations - Aggregated evidence scores
Requires API key via DISGENET_API_KEY environment variable. Register for free at https://www.disgenet.org/
- _get_gene_disease_associations(arguments)[源代码]¶
Get gene-disease associations with filtering options.
- class tooluniverse.DisProtTool[源代码]¶
基类:
BaseToolTool for querying DisProt intrinsically disordered protein database.
Supports: - Search disordered proteins by text query - Get detailed disorder region annotations for a specific protein
No authentication required.
- class tooluniverse.DiseaseOntologyTool[源代码]¶
基类:
BaseToolTool for querying the Disease Ontology (DO) REST API.
The Disease Ontology semantically integrates disease and medical vocabularies through cross-mapping of DO terms to MeSH, ICD, NCI Thesaurus, SNOMED CT, and OMIM.
Supports: term lookup, parent hierarchy navigation.
No authentication required.
- class tooluniverse.DiseaseTargetScoreTool[源代码]¶
基类:
GraphQLTool从特定数据源中提取疾病-靶点关联评分的工具
- class tooluniverse.DoseResponseTool[源代码]¶
基类:
BaseToolLocal dose-response curve fitting and IC50 calculation tools.
Implements the 4-Parameter Logistic (4PL) model: f(x) = Bottom + (Top - Bottom) / (1 + (IC50/x)^Hill)
No external API required. Uses scipy.optimize for curve fitting.
- class tooluniverse.DrugCentralTool[源代码]¶
基类:
BaseToolTool for accessing DrugCentral data via MyChem.info.
Provides drug target information, indications, contraindications, off-label uses, regulatory approvals, and cross-references from DrugCentral’s curated database.
No authentication required.
- class tooluniverse.DrugPropertiesTool[源代码]¶
基类:
BaseToolDrug-likeness property filters and assessments using RDKit.
Endpoints: - lipinski_filter: Lipinski Ro5 + Veber + Pfizer 3/75 + Egan + Ghose - calculate_qed: QED score + full descriptor profile - pains_filter: PAINS + Brenk + NIH substructure filters
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.DrugSynergyTool[源代码]¶
基类:
BaseToolLocal drug combination synergy analysis tools.
Implements standard pharmacological synergy models: - Bliss Independence model - Highest Single Agent (HSA) model - ZIP (Zero Interaction Potency) model - Loewe Additivity model - Combination Index (Chou-Talalay) model
No external API required. Uses numpy/scipy for computation.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _calculate_bliss(arguments)[源代码]¶
Calculate Bliss Independence synergy score.
Bliss model: E_expected = E_a + E_b - E_a * E_b Synergy score = E_combination - E_expected Positive score = synergy; Negative = antagonism.
Effects should be expressed as fractional inhibition (0-1).
- _calculate_hsa(arguments)[源代码]¶
Calculate Highest Single Agent (HSA) synergy score.
HSA model: E_expected = max(E_a, E_b) at each dose point Synergy = E_combination - max single agent effect.
- _calculate_zip(arguments)[源代码]¶
Calculate ZIP (Zero Interaction Potency) synergy score.
ZIP model uses dose-response curves to calculate delta scores. Input: doses_a, doses_b (1D arrays), viability_matrix (2D). Output: ZIP delta synergy score.
- _fit_hill_for_loewe(doses, effects)[源代码]¶
Fit a Hill/sigmoid model: f(d) = Emax * d^m / (Dm^m + d^m) Returns (Dm, m, Emax) or None if fitting fails. Dm = dose producing half-maximal effect (IC50/EC50). m = Hill coefficient (slope). Emax = maximum effect.
- _calculate_loewe(arguments)[源代码]¶
Calculate Loewe Additivity synergy score.
Loewe model: d_a/D_a(E) + d_b/D_b(E) = 1 for additive combinations. Where D_a(E) and D_b(E) are the doses of A and B alone that produce effect E. If the sum < 1, the combination is synergistic; > 1 antagonistic.
Requires dose-response data for each drug individually, plus combination doses and their observed effects.
- _calculate_ci(arguments)[源代码]¶
Calculate Chou-Talalay Combination Index (CI).
Based on the Median Effect Equation: fa/fu = (D/Dm)^m where fa = fraction affected, fu = fraction unaffected, D = dose, Dm = median-effect dose (IC50), m = Hill coefficient.
CI < 1: synergy CI = 1: additive CI > 1: antagonism
Supports both mutually exclusive (MEE) and mutually non-exclusive (MNEE) assumptions.
- class tooluniverse.DynaMut2Tool[源代码]¶
基类:
BaseToolTool for predicting the effect of single-point mutations on protein stability and dynamics using the DynaMut2 web server.
Supports two operations: - predict_stability: Submit a stability prediction for a PDB structure
with a specified single-point mutation. Downloads the PDB file from RCSB, uploads to DynaMut2, and polls for results.
get_job: Retrieve results for a previously submitted DynaMut2 job by job ID.
The prediction returns ddG (change in Gibbs free energy, kcal/mol). Positive values indicate stabilizing mutations; negative values indicate destabilizing mutations.
- _predict_stability(arguments)[源代码]¶
Predict the stability effect of a single-point mutation on a protein.
Steps: 1. Download PDB file from RCSB 2. Upload to DynaMut2 with mutation and chain 3. Poll for results 4. Return structured prediction
- _poll_job_status(endpoint, job_id, max_wait=300, interval=10)[源代码]¶
Poll DynaMut2 job status until completion or timeout.
- 参数:
endpoint – API endpoint (e.g., ‘prediction_single’)
job_id – Job ID string
max_wait – Maximum seconds to wait
interval – Seconds between poll attempts
- 返回:
dict with result data if complete, or None if timeout
- class tooluniverse.DynamicPackageDiscovery[源代码]¶
基类:
BaseToolSearches PyPI and evaluates packages dynamically based on requirements
- class tooluniverse.EBIProteinsCoordinatesTool[源代码]¶
基类:
BaseToolTool for querying EBI Proteins API coordinate mappings.
Supports: - Map protein positions to genomic coordinates (exon-level) - Get protein-to-genome coordinate mappings for a UniProt accession
No authentication required.
- class tooluniverse.EBIProteinsEpitopeTool[源代码]¶
基类:
BaseToolTool for querying protein epitope data from the EBI Proteins API.
Epitopes are regions of proteins recognized by the immune system (antibodies, T cells). This tool retrieves experimentally-determined epitope regions from the Immune Epitope Database (IEDB), including epitope sequences, positions, and supporting literature.
Useful for: vaccine design, therapeutic antibody development, immunogenicity assessment, B-cell/T-cell epitope mapping.
No authentication required.
- class tooluniverse.EBIProteinsExtTool[源代码]¶
基类:
BaseToolExtended tool for EBI Proteins API covering mutagenesis and PTM data.
These endpoints provide detailed mutagenesis experiment results and mass spectrometry-based post-translational modification evidence mapped to UniProt protein sequences.
Supports: mutagenesis data, proteomics PTM evidence.
No authentication required.
- class tooluniverse.EBIProteinsFeaturesTool[源代码]¶
基类:
BaseToolTool for retrieving category-specific protein features from EBI Proteins API.
Different from EBIProteinsExtTool (mutagenesis, PTM) - this covers domain/site annotations, molecule processing info, and secondary structure.
No authentication required.
- class tooluniverse.EBIProteinsInteractionsTool[源代码]¶
基类:
BaseToolTool for querying EBI Proteins protein-protein interaction data.
Supports: - Get interaction partners for a protein (from IntAct) - Get detailed protein info with interactions, diseases, locations
No authentication required.
- class tooluniverse.EBISearchRESTTool[源代码]¶
基类:
BaseToolEBI Search API tool. Generic wrapper for EBI Search API endpoints defined in ebi_search_tools.json.
- class tooluniverse.EBITaxonomyTool[源代码]¶
基类:
BaseToolTool for querying the EBI Taxonomy REST API.
Provides taxonomy lookup by ID, scientific name, common/any name, and name suggestion for search or submission. Returns taxonomic classification including lineage, rank, division, and genetic codes.
No authentication required.
- class tooluniverse.EFOTool[源代码]¶
基类:
BaseTool通过EMBL-EBI OLS API查找疾病的实验因子本体(EFO)ID的工具。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ELMTool[源代码]¶
基类:
BaseToolTool for querying the ELM (Eukaryotic Linear Motif) database.
Supported operations: - get_instances: Get experimentally validated motif instances for a protein - list_classes: List all ELM motif classes with regex patterns
- class tooluniverse.EMDBRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EMPIARTool[源代码]¶
基类:
BaseToolTool for accessing the EMPIAR database of raw electron microscopy images.
- EMPIAR_API_BASE = 'https://www.ebi.ac.uk/empiar/api'¶
- EBI_SEARCH_BASE = 'https://www.ebi.ac.uk/ebisearch/ws/rest/empiar'¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EMoleculesTool[源代码]¶
基类:
BaseToolTool for searching eMolecules vendor aggregator.
eMolecules provides: - Multi-vendor compound search - Pricing and availability - Structure search - Building block sourcing
Note: Full API access may require registration. Basic search functionality available without API key.
- _search(arguments)[源代码]¶
Search eMolecules by keyword or compound name.
Note: eMolecules does not provide a public API. This tool returns search URLs for the eMolecules web interface.
- _search_smiles(arguments)[源代码]¶
Search eMolecules by SMILES structure.
Note: eMolecules does not provide a public API. This tool returns search URLs for the eMolecules web interface.
- class tooluniverse.ENABrowserRESTTool[源代码]¶
基类:
BaseToolENA Browser API REST tool. Generic wrapper for ENA Browser API endpoints defined in ena_browser_tools.json.
- class tooluniverse.ENAPortalTool[源代码]¶
基类:
BaseToolTool for querying the European Nucleotide Archive (ENA) Portal API.
Supports searching for studies, samples, and sequences with flexible filtering by taxonomy, text content, and custom field selection.
No authentication required.
- tooluniverse.ENCODEFilesTool¶
ENCODESearchTool的别名
- class tooluniverse.ENCODERESTTool[源代码]¶
基类:
BaseRESTToolGeneric REST tool for ENCODE detail endpoints.
- tooluniverse.ENCODESearchBiosamplesTool¶
ENCODESearchTool的别名
- class tooluniverse.ENCODESearchTool[源代码]¶
基类:
objectGeneric search tool for ENCODE database.
Searches experiments, files, or biosamples depending on search_type in config. Consolidates ENCODESearchTool, ENCODEFilesTool, and ENCODESearchBiosamplesTool.
- class tooluniverse.EOLTool[源代码]¶
基类:
BaseToolTool for querying the Encyclopedia of Life (EOL).
EOL aggregates biodiversity data from hundreds of sources into a comprehensive knowledge base covering ~3.6 million species pages. Provides species search, detailed taxon pages with media (images, text descriptions), taxonomy hierarchies from multiple classification systems, and curated collections.
Supports: species search, taxon page details, taxonomy hierarchy, collections browse.
No authentication required.
- class tooluniverse.EPMCAnnotationsTool[源代码]¶
基类:
BaseRESTToolTool for retrieving text-mined annotations from Europe PMC articles.
Provides: - Get genes/proteins mentioned in a paper - Get diseases mentioned in a paper - Get chemicals/drugs mentioned in a paper - Get organisms mentioned in a paper - Get GO terms mentioned in a paper
Uses PubMed IDs (PMID) or PMC IDs. No authentication required.
- class tooluniverse.ESMTool[源代码]¶
基类:
BaseToolESM3 / ESMC tool for protein sequence embeddings, generation, structure prediction, and sequence scoring via the EvolutionaryScale Forge API.
- _get_protein_embedding(arguments)[源代码]¶
Get ESMC per-residue and mean-pooled embeddings for a protein sequence.
- class tooluniverse.EVETool[源代码]¶
基类:
BaseToolTool for querying EVE variant effect predictions.
EVE provides: - Unsupervised pathogenicity predictions trained on evolutionary data - Scores from 0 (benign) to 1 (pathogenic) - Predictions for single amino acid variants
EVE scores complement supervised methods like ClinVar annotations. Uses Ensembl VEP API with EVE plugin for variant scoring.
- PATHOGENIC_THRESHOLD = 0.5¶
- class tooluniverse.EmbeddingCollectionSearchTool[源代码]¶
基类:
BaseToolGeneric search tool for any embedding datastore collection.
Runtime arguments¶
- querystr (required)
Search query text.
- methodstr = “hybrid”
One of: “keyword”, “embedding”, “hybrid”.
- top_kint = 10
Number of results to return.
- alphafloat = 0.5
Balance for hybrid search (0=keyword only, 1=embedding only).
- returns:
doc_id
doc_key
text
metadata
score
snippet (first ~280 chars)
- rtype:
List[dict] with keys
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EmbeddingDatabase[源代码]¶
基类:
BaseTool- Exposes actions:
create_from_docs
add_docs
search
Backed by SQLiteStore + VectorStore + Embedder.
- static _validate_doc_args(args)[源代码]¶
Validate and extract common arguments for document operations.
Returns (error_dict, name, docs, metas) where error_dict is None on success.
- static _build_doc_rows(docs, metas)[源代码]¶
Build (doc_key, text, meta, text_hash) rows and the corresponding key list.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EmbeddingSync[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EnamineTool[源代码]¶
基类:
BaseToolTool for searching Enamine compound libraries.
Enamine provides: - Make-on-demand compounds (REAL database) - Building blocks - Screening libraries - Fragment libraries
Note: Full API access may require registration. Basic search functionality available without API key.
- class tooluniverse.EnrichrExtTool[源代码]¶
基类:
BaseToolExtended Enrichr tools for gene set enrichment analysis.
Operations: - list_libraries: List all available gene set libraries with statistics - enrich: Submit a gene list and get enrichment results for a library - get_top_enriched: Submit genes and return top enriched terms across libraries
- class tooluniverse.EnrichrTool[源代码]¶
基类:
BaseToolTool to perform gene enrichment analysis using Enrichr.
- get_official_gene_name(gene_name)[源代码]¶
Retrieve the official gene symbol for a given gene name or synonym using the MyGene.info API.
- 参数
gene_name (str): The gene name or synonym to query.
- 退货
str: The official gene symbol if found; otherwise, raises an Exception.
- submit_gene_list(gene_list)[源代码]¶
Submit the gene list to Enrichr and return the user list ID.
- 参数
gene_list (str): Newline-separated string of gene names.
- 退货
str: The user list ID from Enrichr.
- get_enrichment_results(user_list_id, library)[源代码]¶
Fetch enrichment results for a specific library.
- 参数
user_list_id (str): The user list ID from Enrichr. library (str): The name of the enrichment library.
- 退货
dict: The enrichment results.
- build_graph(genes, enrichment_results)[源代码]¶
Initialize and build the graph with gene nodes and enriched terms.
- 参数
genes (list): List of gene names. enrichment_results (dict): Dictionary of enrichment results by library.
- 退货
networkx.Graph: The constructed graph.
- rank_paths_by_weight(G, source, target)[源代码]¶
Find and rank paths between source and target based on total edge weight.
- 参数
G (networkx.Graph): The graph to search. source (str): The source node. target (str): The target node.
- 退货
list: List of tuples (path, weight) sorted by weight descending.
- rank_paths_to_term(G, gene, term)[源代码]¶
Find and rank paths from each gene to a specified term based on total edge weight.
- 参数
G (networkx.Graph): The graph to search. gene (str): The source gene. term (str): The target term.
- 退货
list or None: List of tuples (path, weight) sorted by weight descending, or None if no paths.
- class tooluniverse.EnsemblArchiveTool[源代码]¶
基类:
BaseToolTool for Ensembl Archive API providing stable ID history tracking and batch ID version lookups.
No authentication required.
- class tooluniverse.EnsemblComparaTool[源代码]¶
基类:
BaseToolTool for querying Ensembl Compara comparative genomics data.
Ensembl Compara contains whole-genome alignments, gene trees, and homology data for vertebrates and other eukaryotes. Supports finding orthologues (between-species homologs) and paralogues (within-species gene duplications).
Supports: orthologue search, paralogue search, gene tree retrieval.
No authentication required.
- class tooluniverse.EnsemblGetSequence[源代码]¶
-
Legacy: Get DNA or protein sequences. Use EnsemblRESTTool with endpoint=’/sequence/id/{id}’ instead.
- class tooluniverse.EnsemblGetVariants[源代码]¶
-
Legacy: Get variant information. Use EnsemblRESTTool with endpoint=’/overlap/region/{species}/{region}’ instead.
- class tooluniverse.EnsemblInfoTool[源代码]¶
基类:
BaseToolTool for Ensembl info endpoints providing genome assembly metadata and species catalog.
These endpoints complement existing Ensembl tools (sequence, variation, overlap, xrefs, etc.) by providing assembly-level and species-level information needed for genomic coordinate interpretation.
No authentication required.
- class tooluniverse.EnsemblLDTool[源代码]¶
基类:
BaseToolTool for querying linkage disequilibrium data from Ensembl REST API.
Provides LD statistics (r2, D’) between variants using 1000 Genomes Phase 3 population data across 26 populations.
No authentication required.
- class tooluniverse.EnsemblLookupGene[源代码]¶
-
Legacy: Lookup gene information by ID or symbol. Use EnsemblRESTTool with endpoint=’/lookup/id/{id}’ instead.
- class tooluniverse.EnsemblMapTool[源代码]¶
基类:
BaseToolTool for Ensembl coordinate mapping operations.
Supports: - Assembly-to-assembly coordinate conversion (GRCh37 <-> GRCh38) - Protein position to genomic coordinate mapping - cDNA position to genomic coordinate mapping
No authentication required.
- class tooluniverse.EnsemblOverlapTool[源代码]¶
基类:
BaseToolTool for querying Ensembl Overlap API.
Supports: - Get features overlapping a genomic region (genes, transcripts, regulatory) - Get features overlapping an Ensembl gene ID
No authentication required.
- class tooluniverse.EnsemblPhenotypeTool[源代码]¶
基类:
BaseToolTool for querying phenotype/disease associations from Ensembl REST API.
Provides gene-phenotype, region-phenotype, and variant-phenotype lookups. No authentication required.
- class tooluniverse.EnsemblRESTTool[源代码]¶
基类:
BaseToolGeneric Ensembl REST API tool. Handles all Ensembl endpoints based on endpoint template in JSON config. Supports path parameters (e.g., {species}, {id}) and query parameters.
- _build_url(arguments)[源代码]¶
Combines endpoint_template (containing {xxx}) with path parameters from arguments. For example endpoint_template=”/lookup/id/{id}”, arguments={“id”:”ENSG00000139618”} → Returns “https://rest.ensembl.org/lookup/id/ENSG00000139618”
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EnsemblRegulationTool[源代码]¶
基类:
BaseToolTool for querying regulatory and conservation features from Ensembl REST API.
Provides TF binding motifs, constrained elements, and binding matrices. No authentication required.
- class tooluniverse.EnsemblSequenceTool[源代码]¶
基类:
BaseToolTool for Ensembl sequence retrieval endpoints providing DNA and protein sequences for genes, transcripts, proteins, and genomic regions.
Complements existing Ensembl tools by providing direct sequence access for specific region coordinates and protein/cDNA sequence retrieval.
No authentication required.
- class tooluniverse.EnsemblVEPTool[源代码]¶
基类:
BaseToolTool for Ensembl VEP variant annotation and Variant Recoder ID conversion.
Supports three modes: - vep_hgvs: Annotate variants using HGVS notation (e.g., BRAF:p.Val600Glu) - vep_id: Annotate variants using dbSNP rsID (e.g., rs7903146) - variant_recoder: Convert variant IDs between formats (rsID -> HGVS, SPDI)
No authentication required.
- class tooluniverse.EnsemblVariationExtTool[源代码]¶
基类:
BaseToolTool for querying Ensembl variant population frequencies and detailed variant info.
Supports: - Allele frequency data across gnomAD and 1000 Genomes populations - Detailed variant records with consequences, synonyms, and evidence
No authentication required.
- class tooluniverse.EnsemblXrefsTool[源代码]¶
基类:
BaseToolTool for querying Ensembl cross-references API.
Supports: - Get all external database cross-references for an Ensembl ID - Filter by external database name
No authentication required.
- class tooluniverse.EpiGraphDBTool[源代码]¶
基类:
BaseRESTToolTool for querying the EpiGraphDB API.
Provides access to: - Mendelian Randomization (MR) results between GWAS traits - Genetic correlations between traits - Drug repurposing via genetic evidence (drugs targeting risk factor genes) - GWAS trait to EFO/disease ontology mapping - Gene druggability information via PPI network - Gene-drug associations from pharmacogenomics databases - OpenGWAS GWAS study search
Uses IEU OpenGWAS trait IDs (e.g., ‘ieu-a-2’ for BMI, ‘ieu-a-7’ for CHD). No authentication required.
- class tooluniverse.EpidemiologyTool[源代码]¶
基类:
BaseToolEpidemiology calculator: R0, NNT, diagnostic tests, Bayes, vaccine coverage.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EpigenomicsTool[源代码]¶
基类:
BaseToolTool for epigenomics and methylation analysis across multiple databases.
Supports: - ENCODE histone ChIP-seq, methylation (WGBS/RRBS), chromatin accessibility - ENCODE annotations (cCREs, chromatin states) - GEO methylation and ChIP-seq dataset search - Ensembl regulatory features
No authentication required.
- _ORGANISM_ALIASES = {'fly': 'Drosophila melanogaster', 'homo sapiens': 'Homo sapiens', 'human': 'Homo sapiens', 'mouse': 'Mus musculus', 'mus musculus': 'Mus musculus', 'rat': 'Rattus norvegicus', 'worm': 'Caenorhabditis elegans', 'zebrafish': 'Danio rerio'}¶
- static _is_histone_mark(target)[源代码]¶
Return True if target looks like a histone modification (e.g. H3K27ac, H3K4me3).
- _encode_chromatin_accessibility_search(arguments)[源代码]¶
Search ENCODE chromatin accessibility experiments (ATAC-seq / DNase-seq).
- _encode_chromatin_state_search(arguments)[源代码]¶
Search ENCODE chromatin state annotations (ChromHMM).
- _encode_rnaseq_search(arguments)[源代码]¶
Search ENCODE RNA-seq experiments by biosample, organism, or assay type.
- class tooluniverse.EuHealthDeepDiveTool[源代码]¶
基类:
BaseToolWrapper for the EU Health deep dive function.
- You can dive:
explicit UUIds: uuids=[…]
or a topic: topic=”euhealthinfo_search_cancer”
- Supported arguments:
uuids: Optional[List[str]]
topic: Optional[str]
limit: int
links_per: int
method: “keyword” | “embedding” | “hybrid”
alpha: float
top_k: int
country: Optional[str]
language: Optional[str]
term_override: Optional[str]
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuHealthTopicSearchTool[源代码]¶
基类:
BaseToolGeneric wrapper for all EU Health ‘topic search’ tools.
- The associated JSON config supplies:
fields.topic = “euhealthinfo_search_cancer” (for example)
- Supported arguments:
limit: int
method: “keyword” | “embedding” | “hybrid”
alpha: float
top_k: int
country: Optional[str]
language: Optional[str]
term_override: Optional[str]
- 返回:
{“warning”: “…”, “results”: […]} (fallback) or
[… shaped rows …]
- 返回类型:
Either
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuroPMCAnnotationsTool[源代码]¶
基类:
BaseToolTool for extracting text-mined annotations from scientific articles via the Europe PMC Annotations API.
Supports annotation types: Chemicals, Organisms, Gene Ontology, Diseases, Genes & Proteins, Accession Numbers.
No authentication required.
- _fetch_annotations(article_ids, annotation_type=None, page_size=None)[源代码]¶
Fetch annotations from the API.
- class tooluniverse.EuropePMCFullTextFetchTool[源代码]¶
基类:
BaseToolFetch full text content for a PMC article with deterministic fallbacks and machine-readable provenance (retrieval_trace).
This tool is intended for machine consumption: it always returns a structured status payload and, when successful, includes source/format/content_type.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuropePMCFullTextSnippetsTool[源代码]¶
基类:
BaseToolFetch Europe PMC fullTextXML (open access) and return bounded text snippets around user-provided terms. This helps answer questions where the crucial detail is present in the full text (e.g., methods/section titles) but not necessarily in the abstract.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuropePMCGuidelinesTool[源代码]¶
基类:
BaseToolSearch Europe PMC for clinical guidelines. Europe PMC provides access to life science literature including guidelines.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuropePMCRESTTool[源代码]¶
基类:
BaseToolGeneric REST tool for Europe PMC API endpoints. Supports citations, references, and other article-related endpoints.
- class tooluniverse.EuropePMCStructuredFullTextTool[源代码]¶
基类:
BaseToolRetrieve and parse full-text XML from Europe PMC into structured sections (title, abstract, introduction, methods, results, discussion, figures, tables, references). Accepts a PMC ID or PMID (auto-resolved via the Europe PMC search API).
- _SECTION_KEYWORDS: dict[str, list[str]] = {'acknowledgments': ['acknowledgments', 'acknowledgements', 'funding'], 'conclusions': ['conclusions', 'conclusion', 'summary'], 'discussion': ['discussion'], 'introduction': ['introduction', 'background', 'intro'], 'methods': ['methods', 'materials and methods', 'material and methods', 'methodology', 'experimental', 'experimental procedures', 'study design', 'patients and methods'], 'results': ['results', 'findings']}¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.EuropePMCTool[源代码]¶
基类:
BaseTool用于在 Europe PMC 上搜索文章(包括摘要)的工具。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- tooluniverse.ExecuteTool¶
ExecuteToolTool的别名
- class tooluniverse.ExecuteToolTool[源代码]¶
基类:
BaseToolExecute a ToolUniverse tool directly with custom arguments.
- run(arguments)[源代码]¶
Execute a ToolUniverse tool directly with custom arguments.
- 参数:
arguments (
dict) –Dictionary containing: - tool_name (str): Name of the tool to execute - arguments (dict|str): Arguments to pass to the tool.
Accepts: 1) JSON object/dict: {“param1”: “value1”, “param2”: 5} 2) JSON string that parses to object:
”{“param1”: “value1”, “param2”: 5}”
- 返回:
- Tool execution result. If result is already a dict,
return as-is. If it’s a string (JSON), parse and return as dict.
- 返回类型:
- class tooluniverse.ExpressionAtlasTool[源代码]¶
基类:
BaseToolTool for querying EBI Expression Atlas gene expression data.
Provides access to: - Baseline gene expression across tissues and cell types - Differential expression in disease and treatment contexts - Experiment search and metadata - Both bulk RNA-seq and single-cell data
No authentication required.
- _get_baseline_expression(arguments)[源代码]¶
Get baseline expression experiments for a gene.
Uses EBI Search to find experiments mentioning the gene, then filters the Expression Atlas experiment catalog for baseline experiments in the specified species.
- _search_differential_experiments(arguments)[源代码]¶
Search for differential expression experiments by gene and/or condition.
- class tooluniverse.FAERSAnalyticsTool[源代码]¶
基类:
BaseToolFAERS Analytics Tool for statistical signal detection in adverse event data.
Provides: - Disproportionality analysis (ROR, PRR, IC, EBGM) - Demographic stratification - Serious event filtering - Drug comparison - Temporal trend analysis - MedDRA hierarchy rollups
- _with_data_payload(result)[源代码]¶
Ensure successful operation responses include a standardized data wrapper.
- _calculate_disproportionality(arguments)[源代码]¶
Calculate disproportionality measures (ROR, PRR, IC) with 95% confidence intervals.
- Uses 2x2 contingency table:
Event+ Event-
Drug+ a b Drug- c d
- _stratify_by_demographics(arguments)[源代码]¶
Stratify adverse event data by demographics (age, sex, country).
- _filter_serious_events(arguments)[源代码]¶
Filter for serious adverse events (death, hospitalization, disability, life-threatening).
- _rollup_meddra_hierarchy(arguments)[源代码]¶
Aggregate adverse events by MedDRA hierarchy levels (PT → HLT → SOC).
- class tooluniverse.FDACountAdditiveReactionsTool[源代码]¶
-
利用 openFDA API 在一次请求中统计多个药物的不良反应事件数量。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FDADrugAdverseEventDetailTool[源代码]¶
基类:
BaseToolTool for retrieving detailed adverse event reports from FAERS. Uses limit/skip parameters instead of count aggregation.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _extract_essential_fields(report)[源代码]¶
Extract only essential fields from a FAERS report. Removes verbose metadata like openfda to keep output concise. Can be customized via tool_config[‘fields’][‘essential_fields’].
- class tooluniverse.FDADrugAdverseEventTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FDADrugInteractionDetailTool[源代码]¶
基类:
BaseToolTool for retrieving detailed adverse event reports involving multiple drugs (drug interactions). Uses limit/skip parameters instead of count aggregation.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _extract_essential_fields(report)[源代码]¶
Extract only essential fields from a FAERS report. Removes verbose metadata like openfda to keep output concise. Can be customized via tool_config[‘fields’][‘essential_fields’].
- tooluniverse.FDADrugLabel¶
FDADrugLabelTool的别名
- tooluniverse.FDADrugLabelAggregated¶
- class tooluniverse.FDADrugLabelFieldValueTool[源代码]¶
基类:
BaseToolSearch the openFDA drug label dataset by specifying a single openFDA field (e.g., “openfda.generic_name”) and a corresponding field_value.
This tool is intentionally generic and does not modify any existing FDA tools.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FDADrugLabelGetDrugNamesByIndicationAggregated[源代码]¶
-
Enhanced version of FDA_get_drug_names_by_indication that: - Iterates through all results in batches of 100 (no limit) - Aggregates results by generic name - Returns one entry per generic name with indication and all brand names
- run(arguments)[源代码]¶
Run the aggregated drug names search by indication.
Iterates through all results in batches of 100, aggregates by generic name, and returns a list where each entry contains: - generic_name: The generic drug name - indication: The indication (from input) - brand_names: List of all brand names for this generic name
- class tooluniverse.FDADrugLabelGetDrugNamesByIndicationStats[源代码]¶
-
Enhanced version using FDA count API to efficiently aggregate drug names by indication. Uses count mechanism to get brand_name and generic_name distributions without fetching full records.
- class tooluniverse.FDADrugLabelSearchIDTool[源代码]¶
基类:
FDATool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FDADrugLabelSearchTool[源代码]¶
基类:
FDATool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- tooluniverse.FDADrugLabelStats¶
- class tooluniverse.FDAGSRSTool[源代码]¶
基类:
BaseToolFDA GSRS substance lookup and search tools.
- Operations:
search_substances: Search substances by name, UNII, InChIKey, or formula
get_substance: Retrieve full substance record by UNII or UUID
get_structure: Get structure data (SMILES, formula, InChI) by UNII
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FDALabelTool[源代码]¶
基类:
BaseToolTool for querying FDA-approved drug label (prescribing information).
Supports searching by drug name, indication, or listing drug classes. Returns official FDA clinical content: indications, dosing, contraindications, warnings, drug interactions, and adverse reactions.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _query_drug_fields(drug_name, limit)[源代码]¶
Search generic_name then brand_name with quoted then unquoted fallback.
Returns extracted label results on first match, or None if no results found. Quoted search finds exact matches; unquoted fallback catches salt forms (e.g., “tofacitinib” matching “TOFACITINIB CITRATE”).
- class tooluniverse.FDAOrangeBookTool[源代码]¶
基类:
BaseToolFDA Orange Book and Drugs@FDA tool for drug approval information.
Provides: - Drug approval history - Patent information - Exclusivity dates - Therapeutic equivalence (TE) codes - Generic availability - Regulatory review documents
- _with_data_payload(result)[源代码]¶
Ensure successful operation responses include a standardized data wrapper.
- _get_approval_history(arguments)[源代码]¶
Get approval history and submission details for an application.
- class tooluniverse.FDAPharmacogenomicBiomarkersTool[源代码]¶
基类:
BaseToolTool to retrieve data from the FDA’s Table of Pharmacogenomic Biomarkers in Drug Labeling. Fetches the table from the FDA website and provides filtering capabilities.
- FDA_URL = 'https://www.fda.gov/drugs/science-and-research-drugs/table-pharmacogenomic-biomarkers-drug-labeling'¶
- HEADERS = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}¶
- run(arguments)[源代码]¶
Executes the tool to retrieve and filter pharmacogenomic biomarkers.
- 参数:
arguments (
Dict[str, Any]) –drug_name (str, optional): Filter by drug name (case-insensitive partial match).
biomarker (str, optional): Filter by biomarker (case-insensitive partial match).
limit (int, optional): Maximum number of results to return (default: 10).
- 返回:
A dictionary containing the ‘count’ and ‘results’ list.
- 返回类型:
Dict[str, Any]
- class tooluniverse.FDATool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FatcatMetadataParser[源代码]¶
基类:
HTMLParserExtract metadata from Fatcat release page meta tags.
- __init__()[源代码]¶
Initialize and reset this instance.
If convert_charrefs is true (the default), all character references are automatically converted to the corresponding Unicode characters.
If scripting is false (the default), the content of the
noscriptelement is parsed normally; if it’s true, it’s returned as is without being parsed.
- class tooluniverse.FatcatResultParser[源代码]¶
基类:
HTMLParserParse Fatcat search results from HTML.
- __init__()[源代码]¶
Initialize and reset this instance.
If convert_charrefs is true (the default), all character references are automatically converted to the corresponding Unicode characters.
If scripting is false (the default), the content of the
noscriptelement is parsed normally; if it’s true, it’s returned as is without being parsed.
- class tooluniverse.FatcatScholarTool[源代码]¶
基类:
BaseToolSearch Internet Archive Scholar via Fatcat releases search.
Uses web scraping of the scholar.archive.org interface to retrieve bibliographic information about research papers and publications.
- 参数(参数):
query (str): Query string max_results (int): Max results (default 10, max 100)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.FederalRegisterTool[源代码]¶
基类:
BaseRESTToolREST tool for Federal Register API with bracket-notation parameter mapping.
- class tooluniverse.FileDownloadTool[源代码]¶
基类:
BaseToolDownload files from HTTP/HTTPS URLs - similar to curl.
Supports: - Direct file downloads to specified or temporary locations - Binary and text file handling - Progress tracking (optional) - Cross-platform (Windows, Mac, Linux)
Expects: {“url”: “https://…”, “output_path”: “/path/to/save”} Optional: {“timeout”: seconds, “return_content”: bool} Returns: {“file_path”: “…”, “file_size”: bytes} or {“error”: “…”}
- run(arguments)[源代码]¶
Download a file from a URL.
- 参数:
arguments (Dict[str, Any]) – Dictionary containing: - url (str): URL to download from - output_path (str, optional): Path to save the file - timeout (int, optional): Request timeout (default: 30) - return_content (bool): Return as text (default: False) - chunk_size (int, optional): Chunk size (default: 8192) - follow_redirects (bool): Follow redirects (default: True)
- 返回:
Dict with file_path and file_size, or content, or error
- 返回类型:
- class tooluniverse.FinnGenTool[源代码]¶
基类:
BaseToolTool for querying FinnGen, the Finnish population genomics study.
Provides access to phenotype metadata, variant fine-mapping regions, and regional GWAS associations for 2,470 disease endpoints from the Finnish biobank.
No authentication required.
- class tooluniverse.FoldseekTool[源代码]¶
基类:
BaseRESTToolTool for searching protein structures using Foldseek.
Supports: - Submitting PDB structures for similarity search against AlphaFold DB,
PDB, and other databases
Polling for job completion (async)
Retrieving alignment results
No authentication required.
- class tooluniverse.FoodDataCentralTool[源代码]¶
基类:
BaseToolTool for querying the USDA FoodData Central API.
FoodData Central provides comprehensive food and nutrient data including: - Food search by name/keyword - Detailed food nutrient profiles - Food listing with pagination - Multiple data types: Foundation, SR Legacy, Branded, Survey (FNDDS)
Authentication: Requires a free API key from data.gov. Rate limit: 1,000 requests per hour per IP address. Set the FDC_API_KEY environment variable, or use ‘DEMO_KEY’ for testing.
- class tooluniverse.FourDNTool[源代码]¶
基类:
BaseTool4DN Data Portal API tool for accessing Hi-C and chromatin conformation data.
- class tooluniverse.GDCClinicalDataTool[源代码]¶
基类:
objectGet detailed clinical data for GDC/TCGA cancer cases.
- _CLINICAL_FIELDS = 'case_id,submitter_id,project.project_id,project.name,primary_site,disease_type'¶
- _FILTER_MAP = {'disease_type': 'disease_type', 'gender': 'demographic.gender', 'primary_site': 'primary_site', 'project_id': 'project.project_id', 'vital_status': 'demographic.vital_status'}¶
- class tooluniverse.GDCMutationFrequencyTool[源代码]¶
基类:
objectGet mutation frequency for a gene across cancer types.
- class tooluniverse.GDCProjectsTool[源代码]¶
基类:
objectList GDC projects including TCGA and TARGET cohorts.
- class tooluniverse.GDCSurvivalTool[源代码]¶
基类:
objectGet Kaplan-Meier survival data for GDC/TCGA cohorts.
- class tooluniverse.GEOGetDatasetInfo[源代码]¶
基类:
GEORESTToolGet detailed information about a specific GEO dataset.
- class tooluniverse.GEOGetSampleInfo[源代码]¶
基类:
GEORESTToolGet sample information for a GEO dataset.
- class tooluniverse.GEORESTTool[源代码]¶
-
GEO Database REST API tool with rate limiting. Generic wrapper for GEO API endpoints defined in expression_tools.json.
- _detect_database(dataset_id)[源代码]¶
Return the appropriate NCBI GEO database name.
For NCBI E-utilities, GEO records (GDS, GSE, GSM, GPL) are all accessed through the single gds database. The accession prefix (GDS/GSE/GSM) is used in the search term, not as the database name.
- class tooluniverse.GEOSearchDatasets[源代码]¶
基类:
GEORESTToolSearch GEO datasets by various criteria.
- class tooluniverse.GINGuidelinesTool[源代码]¶
基类:
BaseToolGuidelines International Network (GIN) Guidelines Search Tool. Searches the global guidelines database with 6400+ guidelines from various organizations.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.GNPSTool[源代码]¶
基类:
BaseToolTool for querying GNPS mass spectrometry spectral data.
Provides access to reference MS/MS spectra through Universal Spectrum Identifiers (USIs) for metabolomics compound identification.
No authentication required.
- class tooluniverse.GOAPITool[源代码]¶
基类:
BaseToolTool for querying the Gene Ontology (GO) REST API.
The GO API provides access to three major ontology domains: - Biological Process (BP): cellular/organismal processes - Molecular Function (MF): molecular-level activities - Cellular Component (CC): locations of gene products
Supports: GO term lookup, gene GO annotations, gene function associations.
No authentication required.
- class tooluniverse.GPCRdbTool[源代码]¶
基类:
BaseToolTool for querying GPCRdb GPCR database.
GPCRdb provides: - GPCR protein information and classification - Structure data for GPCR crystal/cryo-EM structures - Ligand binding data - Mutation data and effects - Sequence alignments
No authentication required. Free public access.
- _normalize_protein(protein)[源代码]¶
Resolve gene symbol (e.g. ADRB2) to GPCRdb entry name (e.g. adrb2_human).
- _FAMILY_NAME_TO_SLUG = {'5-hydroxytryptamine': '001_001_001', 'adhesion': '003', 'adrenergic': '001_001_003', 'adrenergic receptors': '001_001_003', 'adrenoceptor': '001_001_003', 'aminergic': '001_001', 'aminergic receptors': '001_001', 'beta-adrenergic': '001_001_003_008', 'chemokine': '001_003_002', 'chemokine receptors': '001_003_002', 'class a': '001', 'class a (rhodopsin)': '001', 'class b': '002', 'class b1': '002', 'class b2': '003', 'class c': '004', 'class f': '005', 'class t': '006', 'dopamine': '001_001_004', 'endothelin': '001_003_006', 'frizzled': '005', 'glutamate': '004', 'histamine': '001_001_005', 'lipid receptors': '001_007', 'muscarinic': '001_001_002', 'opioid': '001_003_015', 'peptide receptors': '001_003', 'purine receptors': '001_004', 'rhodopsin': '001', 'secretin': '002', 'serotonin': '001_001_001', 'taste2': '006'}¶
- _list_proteins(arguments)[源代码]¶
List GPCR protein families from GPCRdb.
- 参数:
Dict containing: - family: GPCR family slug (e.g., ‘001’) or human-readable name
(e.g., ‘Chemokine receptors’). If provided, returns proteins in that family.
protein_class: Alias for family; accepts human-readable names.
Note: GPCRdb API does not support listing all proteins by species alone. Without family, returns list of protein families.
- class tooluniverse.GProfilerTool[源代码]¶
基类:
BaseToolTool for g:Profiler functional enrichment, ID conversion, and ortholog mapping.
Supports: - g:GOSt: Functional enrichment analysis (GO, KEGG, Reactome, WP, HP, MIRNA, CORUM) - g:Convert: Gene ID conversion between namespaces - g:Orth: Cross-species ortholog mapping
No authentication required.
- class tooluniverse.GTDBTool[源代码]¶
基类:
BaseToolTool for querying the Genome Taxonomy Database (GTDB).
GTDB is a genome-based taxonomy for prokaryotes, maintained by the Ecogenomics lab at the University of Queensland.
Supported operations: - search_taxon: Search for taxa by partial name - get_species: Get species cluster details with genomes - get_taxon_info: Get taxon card info (rank, genome count, lineage) - search_genomes: Search genomes by organism name - get_genome: Get detailed genome metadata
- class tooluniverse.GTExV2Tool[源代码]¶
基类:
BaseToolGTEx Portal API V2 tool for gene expression and eQTL analysis.
Provides access to: - Gene expression data (median, per-sample) - eQTL associations (single-tissue, multi-tissue) - Tissue and sample metadata - Dataset information
- class tooluniverse.GWASAssociationByID[源代码]¶
基类:
GWASRESTTool通过其ID获取特定的GWAS关联。
- class tooluniverse.GWASAssociationSearch[源代码]¶
基类:
GWASRESTTool根据各种条件搜索GWAS关联。
- class tooluniverse.GWASAssociationsForSNP[源代码]¶
基类:
GWASRESTTool获取特定SNP的所有关联。
- class tooluniverse.GWASAssociationsForStudy[源代码]¶
基类:
GWASRESTTool获取特定研究的所有关联。
- class tooluniverse.GWASAssociationsForTrait[源代码]¶
基类:
GWASRESTTool获取特定性状的所有关联,并按p值排序。
- class tooluniverse.GWASGeneSearch[源代码]¶
基类:
BaseToolLocal tool wrapper for GWAS Catalog REST API. Searches associations by gene name.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.GWASRESTTool[源代码]¶
基类:
BaseToolBase class for GWAS Catalog REST API tools.
- _efo_id_from_uri_or_id(value)[源代码]¶
Best-effort normalize an EFO/OBA/etc identifier.
Accepts either a full URI (e.g., ‘http://www.ebi.ac.uk/efo/OBA_2050062’) or a bare ID (e.g., ‘OBA_2050062’ or ‘OBA:2050062’).
Note: The GWAS Catalog v2 REST API supports filtering by efo_id (and sometimes efo_trait) on associations/studies endpoints. Passing a full URI via efo_uri is not consistently supported; we normalize to efo_id.
- _resolve_trait_to_efo_id(disease_trait)[源代码]¶
Resolve a disease trait name to an EFO ID.
Tries the GWAS Catalog efoTraits endpoint first, then falls back to a study-based resolution. The /v2/associations endpoint ignores the disease_trait query parameter, so we must resolve to an EFO ID.
- _resolve_trait_or_error(disease_trait, efo_id)[源代码]¶
Resolve disease_trait to efo_id if needed.
Returns {“efo_id”: <str>} on success, or {“error”: <dict>} when resolution fails and would produce an unfiltered query. Callers check
"error" in resultand returnresult["error"].
- static _empty_result_note(efo_id)[源代码]¶
Return a suggestion note when no associations are found for an EFO ID.
- _add_empty_result_note(result, efo_id)[源代码]¶
Add a suggestion note to result if the data list is empty.
- class tooluniverse.GWASSNPByID[源代码]¶
基类:
GWASRESTTool通过其 rs ID 获取特定的 GWAS SNP。
- class tooluniverse.GWASSNPSearch[源代码]¶
基类:
GWASRESTTool搜索 GWAS 单核苷酸多态性(SNPs)。
- class tooluniverse.GWASSNPsForGene[源代码]¶
基类:
GWASRESTTool获取映射到特定基因的SNP。
- class tooluniverse.GWASStudiesForTrait[源代码]¶
基类:
GWASRESTTool获取针对特定特征的研究,并可选择使用筛选器。
- class tooluniverse.GWASStudyByID[源代码]¶
基类:
GWASRESTTool通过其ID获取特定的GWAS研究。
- class tooluniverse.GWASStudySearch[源代码]¶
基类:
GWASRESTTool根据各种条件搜索GWAS研究。
- class tooluniverse.GWASSumStatsTool[源代码]¶
基类:
BaseToolTool for querying EBI GWAS Summary Statistics API.
Provides full variant-level summary statistics from deposited GWAS studies, including effect sizes, p-values, and allele frequencies for specific genomic regions.
No authentication required.
- class tooluniverse.GWASVariantsForTrait[源代码]¶
基类:
GWASRESTTool获取与特定特性关联的所有变体。
- class tooluniverse.GenCCTool[源代码]¶
基类:
BaseToolTool for querying GenCC gene-disease validity classifications.
GenCC (Gene Curation Coalition) aggregates gene-disease validity assessments from multiple expert curators worldwide. Classifications range from Definitive to Refuted, following ClinGen gene-disease validity framework standards.
No authentication required. Data is downloaded from GenCC bulk export.
- class tooluniverse.GeneOntologyTool[源代码]¶
基类:
BaseToolA general-purpose tool for calling the Gene Ontology (GO) API. It is configured via a dictionary that defines the specific API endpoint.
- __init__(tool_config)[源代码]¶
Initializes the tool with a configuration.
- 参数:
tool_config (
Dict) – A dictionary containing ‘fields’ with an ‘endpoint’.
- _extract_data(data, extract_path)[源代码]¶
Extract specific data from the GO API response using custom paths.
- class tooluniverse.GenomeNexusTool[源代码]¶
基类:
BaseToolTool for annotating cancer variants using Genome Nexus (MSK).
Supports: - Full variant annotation (VEP + SIFT + PolyPhen + AlphaMissense + hotspots) - Cancer hotspot lookup - Canonical transcript retrieval - Coordinate-based mutation annotation
No authentication required. All coordinates in GRCh37/hg19.
- class tooluniverse.GetSPLBySetIDTool[源代码]¶
基类:
BaseTool根据SPL集ID获取完整的SPL标签,返回内容支持XML或JSON格式。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- tooluniverse.GetToolInfo¶
GetToolInfoTool的别名
- class tooluniverse.GetToolInfoTool[源代码]¶
基类:
BaseToolGet tool information with configurable detail level. Supports single or batch tool queries.
- run(arguments)[源代码]¶
Get tool information with configurable detail level.
- 参数:
arguments (
dict) –Dictionary containing: - tool_names (str | list): Single tool name (string) or list of tool names - detail_level (str, optional): “description” or “full”. Default: “full”
”description”: Returns only the description field (complete, not truncated)
”full”: Returns complete tool definition including parameter schema
- 返回:
Dictionary with tool information - Single tool: Direct tool info object - Batch tools: {“tools”: […], “total_requested”: N, “total_found”: M}
- 返回类型:
- class tooluniverse.GlyGenTool[源代码]¶
基类:
BaseToolTool for querying the GlyGen glycoinformatics database.
GlyGen provides access to glycan structures, glycoproteins, glycosylation sites, biosynthetic enzymes, and related publications from integrated sources including GlyTouCan, GlyConnect, UniProt, and PubMed.
No authentication required.
- _glycan_detail(arguments)[源代码]¶
Get detailed information about a specific glycan by GlyTouCan accession.
- class tooluniverse.GmrepoTool[源代码]¶
基类:
BaseToolTool for querying the GMrepo gut microbiome database.
Supported operations: - search_species: Search gut microbiome species by name, filtering the
full species catalog. Can also filter by phenotype association count.
get_phenotypes: List all phenotypes/conditions with microbiome data, optionally filtered by keyword.
- class tooluniverse.GraphQLTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- tooluniverse.GrepTools¶
GrepToolsTool的别名
- class tooluniverse.GrepToolsTool[源代码]¶
基类:
BaseToolNative grep-like pattern search for tools (simple regex, independent from Tool_Finder_Keyword).
- run(arguments)[源代码]¶
Search tools using simple text matching or regex pattern matching.
- 参数:
arguments (
dict) –Dictionary containing: - pattern (str): Search pattern (text or regex) - field (str, optional): Field to search in: “name”,
”description”, “type”, “category” (default: “name”)
search_mode (str, optional): “text” for simple text matching or “regex” for regex (default: “text”)
categories (list, optional): Optional category filter
- 返回:
Dictionary with matching tools (name + description)
- 返回类型:
- class tooluniverse.GtoPdbRESTTool[源代码]¶
基类:
BaseTool- _search_targets_by_abbreviation_variants(query, limit)[源代码]¶
Feature-44A-04: When name search returns results whose names don’t contain the query (e.g., ‘PARP’ → tankyrase via PARP5 synonym), also search for numbered variants like PARP1, PARP2, PARP3 and merge results.
GtoPdb stores PARPs under full names (‘poly(ADP-ribose) polymerase 1’) but the abbreviation field has ‘PARP1’. The API name= parameter matches abbreviations, so name=PARP1 finds the right target.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.GxATool[源代码]¶
基类:
BaseToolTool for EBI Gene Expression Atlas API providing access to baseline and differential gene expression experiments across tissues and conditions.
No authentication required.
- class tooluniverse.HALTool[源代码]¶
基类:
BaseTool通过其公共 API 搜索法国 HAL 开放存档。
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HCATool[源代码]¶
基类:
BaseToolTool for interacting with the Human Cell Atlas (HCA) Data Coordination Platform (DCP) v2 API. Allows searching for projects and retrieving file manifests.
- BASE_URL = 'https://service.azul.data.humancellatlas.org'¶
- run(arguments)[源代码]¶
Executes the HCA tool action.
- 参数:
arguments (
Dict[str, Any]) – Dictionary containing the action and its parameters. Expected keys: - action (str): “search_projects” or “get_file_manifest” - organ (str, optional): Organ to filter by (for search_projects) - disease (str, optional): Disease to filter by (for search_projects) - project_id (str, optional): Project ID (for get_file_manifest) - limit (int, optional): Max results to return (default 10)- 返回:
The results of the action.
- 返回类型:
Dict[str, Any]
- class tooluniverse.HGNCTool[源代码]¶
基类:
BaseToolTool for querying the HGNC gene nomenclature database.
HGNC provides authoritative human gene naming. Supports fetching genes by symbol, HGNC ID, or searching by various fields including name, location, and aliases.
No authentication required.
- class tooluniverse.HPAGetBiologicalProcessTool[源代码]¶
-
Get biological process information related to a gene. Get specific biological processes a gene is involved in by gene name.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetCancerPrognosticsTool[源代码]¶
-
Get prognostic value of a gene across various cancers. Uses the efficient JSON API to retrieve cancer prognostic data.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetComparativeExpressionTool[源代码]¶
-
Compare gene expression levels in specific cell lines and healthy tissues. Get expression data for comparison by gene name and cell line name.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetContextualBiologicalProcessTool[源代码]¶
基类:
BaseToolAnalyze a gene’s biological processes in the context of specific tissue or cell line. Enhanced with intelligent context validation and recommendation.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetDiseaseExpressionTool[源代码]¶
-
Get expression data for a gene in specific diseases and tissues. Get related expression information by gene name, tissue type, and disease name.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetGeneJSONTool[源代码]¶
-
增强的旧版工具 - 使用 Ensembl 基因 ID 获取基本基因信息。现在使用高效的 JSON API 替代了搜索 API。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetGenePageDetailsTool[源代码]¶
-
Get detailed information about a gene page, including images, protein expression, antibody data, etc. Get the most comprehensive data by parsing HPA’s single gene XML endpoint. Enhanced version with improved image extraction and comprehensive data parsing based on optimization plan.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _parse_gene_xml(root, ensembl_id, include_images, include_antibodies, include_expression)[源代码]¶
Parse gene XML data comprehensively based on actual HPA XML schema
- _extract_ihc_images(root)[源代码]¶
Extract tissue immunohistochemistry (IHC) images based on actual HPA XML structure
- _extract_if_images(root)[源代码]¶
Extract subcellular immunofluorescence (IF) images based on actual HPA XML structure
- _extract_expression_summary(root)[源代码]¶
Extract expression summary information from actual HPA XML structure
- class tooluniverse.HPAGetGeneXMLTool[源代码]¶
-
遗留工具 - 获取基因TSV格式数据(XML的替代方案)。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetProteinInteractionsTool[源代码]¶
-
Get protein-protein interaction partners for a gene. Uses search API to retrieve interaction data.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetRnaExpressionBySourceTool[源代码]¶
-
Get RNA expression for a gene from specific biological sources using optimized columns parameter. This tool directly leverages the comprehensive columns table for efficient queries.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetRnaExpressionByTissueTool[源代码]¶
-
Query RNA expression levels for a gene in specific tissues. More precise than general tissue expression queries.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAGetSubcellularLocationTool[源代码]¶
-
Get annotated subcellular locations for a protein using optimized columns parameter. Uses scml (main location) and scal (additional location) columns for efficient queries.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPAJsonApiTool[源代码]¶
基类:
BaseToolBase class for interacting with HPA’s /{ensembl_id}.json API. More efficient for getting comprehensive gene data.
- class tooluniverse.HPASearchApiTool[源代码]¶
基类:
BaseToolBase class for interacting with HPA’s search_download.php API. Uses HPA’s search and download API to get protein expression data.
- class tooluniverse.HPASearchGenesTool[源代码]¶
-
Search for matching genes by gene name, keywords, or cell line names and return Ensembl ID list. This is the entry tool for many query workflows.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HPASearchTool[源代码]¶
-
Generic search tool for Human Protein Atlas.
This tool allows custom search queries and retrieval of specific columns from the Human Protein Atlas API. It provides more flexibility than the specialized tools by allowing direct access to the search API with custom parameters.
- 参数:
search_query (
str) – The search term to query for (e.g., gene name, description).columns (
str, optional) –Comma-separated list of columns to retrieve. Defaults to “g,gs,gd” (Gene, Gene synonym, Gene description).
Available columns and their specifiers: - g: Gene name - gs: Gene synonym - gd: Gene description - e: Ensembl ID - u: UniProt ID - en: Enhanced - pe: Protein existence - r: Reliability - p: Pathology - c: Cancer - pt: Protein tissue - ptm: Predicted Transmembrane - s: Subcellular location - scml: Subcellular main location - scal: Subcellular additional location - rnat: RNA tissue specificity - rnats: RNA tissue specific score - rnatsm: RNA tissue specific nTPM - rnablm: RNA blood lineage specific nTPM - rnabrm: RNA brain region specific nTPM - rnascm: RNA single cell type specific nTPM
See HPA API documentation for the full list of over 40 available columns.
format (
str, optional) – Response format, “json” or “tsv”. Defaults to “json”.
- 返回:
- A dictionary containing the search results.
If successful, returns the API response (list of entries). If failed, returns a dictionary with an “error” key.
- 返回类型:
示例
>>> tool = HPASearchTool() >>> result = tool.run({ ... "search_query": "p53", ... "columns": "g,gs,scml,rnat", ... "format": "json" ... }) >>> print(result[0]["Gene"]) TP53
- class tooluniverse.HPAXmlApiTool[源代码]¶
基类:
BaseToolBase class for interacting with HPA’s /{ensembl_id}.xml API. Optimized for comprehensive XML data extraction.
- class tooluniverse.HPOTool[源代码]¶
基类:
BaseToolTool for querying the Human Phenotype Ontology (HPO) at JAX.
HPO provides structured phenotype terms used in clinical genetics, rare disease research, and differential diagnosis. Each term has definitions, synonyms, cross-references, and hierarchical relationships.
No authentication required.
- class tooluniverse.HarmonizomeTool[源代码]¶
基类:
BaseToolTool for querying Harmonizome gene and dataset information.
Supports: - Gene details (symbol, name, description, synonyms, proteins) - Dataset catalog (100+ integrated genomics datasets)
No authentication required.
- class tooluniverse.HealthDisparitiesTool[源代码]¶
基类:
BaseToolHealth disparities data information tool.
- class tooluniverse.HocomocoTool[源代码]¶
基类:
BaseToolTool for querying HOCOMOCO v14 transcription factor binding motif database.
Supported operations: - search_motifs: Search for TF motifs by gene/protein name - get_motif: Get detailed motif information including PWM and quality
- class tooluniverse.HuBMAPTool[源代码]¶
基类:
BaseToolTool for querying HuBMAP datasets, organs, and dataset details.
Supports searching published human tissue datasets by organ, assay type, and free text; listing available organs; and getting dataset metadata.
No authentication required.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.HumanBaseTool[源代码]¶
基类:
BaseToolTool to retrieve protein-protein interactions and biological processes from HumanBase.
- get_official_gene_name(gene_name)[源代码]¶
Retrieve the official gene symbol for a given gene name or synonym using the MyGene.info API.
- 参数
gene_name (str): The gene name or synonym to query.
- 退货
str: The official gene symbol if found; otherwise, an error message string.
- get_entrez_ids(gene_names)[源代码]¶
Convert gene names to Entrez IDs using NCBI Entrez API.
- 参数
gene_names (list): List of gene names to convert.
- 退货
list: List of Entrez IDs corresponding to the gene names.
- humanbase_ppi_retrieve(genes, tissue, max_node=10, interaction=None)[源代码]¶
Retrieve protein-protein interactions and biological processes from HumanBase.
- 参数
genes (list): List of gene names to analyze. tissue (str): Tissue type for tissue-specific interactions. max_node (int): Maximum number of nodes to retrieve. interaction (str): Specific interaction type to filter by.
- 退货
tuple: (NetworkX Graph of interactions, list of biological processes)
- _convert_to_string(graph, bp_collection, original_genes, tissue)[源代码]¶
Convert NetworkX graph and biological processes to string representation.
- 参数
graph (networkx.Graph): The network graph. bp_collection (list): List of biological processes. original_genes (list): Original gene list provided by user. tissue (str): Tissue type used for analysis.
- 退货
str: Comprehensive string representation of the network data.
- class tooluniverse.ICDTool[源代码]¶
基类:
BaseToolWHO ICD-11 API tool for disease classification and coding.
- _PLACEHOLDER_KEYS = {'{code}': 'code', '{entity_id}': 'entity_id', '{linearization}': 'linearization'}¶
- _BOOL_PARAMS = ('flatResults', 'useFlexisearch')¶
- class tooluniverse.ICiteSearchPublicationsTool[源代码]¶
基类:
BaseRESTToolSearch PubMed by keyword, then enrich results with iCite citation metrics.
The iCite API only accepts PMIDs — it has no keyword search endpoint. This tool first queries PubMed eSearch, then batch-fetches iCite metrics.
- _last_request_time = 0.0¶
- _rate_limit_lock = <unlocked _thread.lock object>¶
- PUBMED_ESEARCH = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi'¶
- ICITE_API = 'https://icite.od.nih.gov/api/pubs'¶
- class tooluniverse.IDTTool[源代码]¶
基类:
BaseToolTool for oligo thermodynamic analysis using the IDT OligoAnalyzer API.
- BASE_URL = 'https://www.idtdna.com/calc/analyzer/home'¶
- class tooluniverse.IEDBPredictionTool[源代码]¶
基类:
BaseToolTool for predicting peptide-MHC binding using IEDB Analysis Resource.
Supported operations: - predict_mhci: Predict MHC class I binding (CD8+ T cell epitopes) - predict_mhcii: Predict MHC class II binding (CD4+ T cell epitopes)
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.IEDBTool[源代码]¶
基类:
BaseToolTool for interacting with the IEDB Query API (PostgREST).
This tool is JSON-config driven: each tool config supplies fields.endpoint and (optionally) fields.default_params + fields.shorthand_filters to map friendly arguments into PostgREST filter expressions (e.g., eq.123, ilike.*KVF*).
- QUERY_API_URL = 'https://query-api.iedb.org'¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.IGSRTool[源代码]¶
基类:
BaseToolTool for querying the International Genome Sample Resource (1000 Genomes).
Provides access to population, sample, and data collection metadata from the 1000 Genomes Project and related studies.
Supported operations: - search_populations: Search/list populations with superpopulation filtering - search_samples: Search samples by population, data collection - list_data_collections: List available data collections/studies
- class tooluniverse.IMGTTool[源代码]¶
基类:
BaseToolTool for accessing IMGT immunoglobulin/TCR data.
IMGT provides: - Immunoglobulin gene sequences - T cell receptor sequences - MHC/HLA sequences - Germline gene assignments
Uses EBI DBFetch for sequence retrieval. No authentication required.
- class tooluniverse.IMPCTool[源代码]¶
基类:
BaseToolTool for querying IMPC mouse phenotyping data via Solr API.
Provides access to: - Gene information and phenotyping status - Mouse knockout phenotype associations (MP terms) - Statistical results from standardized phenotyping - Viability and fertility data
No authentication required. Data freely available (CC-BY 4.0).
- _solr_query(core, query, rows=50, fields=None, filter_query=None)[源代码]¶
Execute a Solr query against an IMPC core.
- _get_gene_summary(arguments)[源代码]¶
Get gene summary from IMPC including phenotyping status, viability, and basic info.
Queries the ‘gene’ core for a given gene symbol.
- _get_phenotypes_by_gene(arguments)[源代码]¶
Get all phenotype annotations for a gene from IMPC knockout mice.
Queries the ‘genotype-phenotype’ core for significant phenotype calls.
- class tooluniverse.INDRADBTool[源代码]¶
基类:
BaseToolTool for querying the INDRA Database of biological statements.
Provides literature-mined statements about: - Activation / Inhibition relationships - Phosphorylation and other modifications - Complex formation - Increase/Decrease Amount Each statement includes evidence with source text and PubMed IDs.
- STATEMENT_TYPES = ['Activation', 'Inhibition', 'Phosphorylation', 'Dephosphorylation', 'Ubiquitination', 'Deubiquitination', 'Acetylation', 'Deacetylation', 'IncreaseAmount', 'DecreaseAmount', 'Complex', 'Translocation', 'Autophosphorylation']¶
- class tooluniverse.INaturalistTool[源代码]¶
基类:
BaseToolTool for querying iNaturalist biodiversity data.
iNaturalist aggregates citizen science observations from around the world. Research-grade observations are community-verified and used in scientific research. Covers all kingdoms of life with over 150 million observations.
Supports: taxa search, taxon details, observation search, species counts.
No authentication required.
- class tooluniverse.ITISTool[源代码]¶
基类:
BaseToolTool for querying the ITIS taxonomic database.
ITIS provides standardized species names, classification hierarchies, common names, and authority references. Supports search by scientific name, common name, TSN (Taxonomic Serial Number), and hierarchy retrieval.
No authentication required.
- class tooluniverse.IdentifiersOrgTool[源代码]¶
基类:
BaseRESTToolTool for Identifiers.org - biological identifier resolution service.
Resolves compact identifiers (e.g., ‘uniprot:P04637’) to resource URLs and searches the namespace registry.
No authentication required.
- class tooluniverse.ImmPortTool[源代码]¶
基类:
BaseToolTool for searching ImmPort, the NIAID-funded immunology database with 900+ open studies covering vaccine trials, flow cytometry, ELISPOT, RNA-seq, and clinical immunology data.
No authentication required for study search.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.IntActRESTTool[源代码]¶
基类:
BaseToolIntAct REST API tool. Generic wrapper for IntAct API endpoints defined in intact_tools.json.
- class tooluniverse.IntOGenTool[源代码]¶
基类:
BaseToolTool for querying IntOGen, the cancer driver gene database.
IntOGen systematically identifies cancer driver genes using seven computational methods applied to somatic mutation data from 28,000+ tumors across 87 cancer types from 271 cohorts. It classifies genes as cancer drivers when they are identified by at least one method.
Endpoints: - get_drivers: get driver genes for a specific cancer type - get_gene_info: get driver info for a gene across cancer types - list_cohorts: list available cancer cohorts - list_cancer_types: list all cancer types
No authentication required.
- _get_drivers(arguments)[源代码]¶
Get driver genes for a specific cancer type.
Fetches the cancer type page and extracts the DriverGenes data.
- _get_gene_info(arguments)[源代码]¶
Get driver classification for a gene across all cancer types.
Fetches the gene page and extracts GeneMethods data showing which methods detected the gene as a driver in each cancer type.
- class tooluniverse.InterProDomainArchTool[源代码]¶
基类:
BaseToolTool for InterPro domain architecture analysis via the InterPro API.
No authentication required.
- class tooluniverse.InterProEntryTool[源代码]¶
基类:
BaseToolTool for InterPro entry API providing protein-to-domain mappings and domain/family search.
Complements existing InterPro tools by offering reverse lookups (protein -> all domains) and keyword-based entry search.
No authentication required.
- class tooluniverse.InterProExtTool[源代码]¶
基类:
BaseToolExtended InterPro API tool for protein-by-domain queries.
Complements existing InterPro tools (get_protein_domains, search_domains, get_domain_details) by providing reverse lookup: find all proteins containing a specific domain.
No authentication required.
- class tooluniverse.InterProRESTTool[源代码]¶
基类:
BaseTool
- class tooluniverse.InterProScanTool[源代码]¶
基类:
BaseToolTool for running InterProScan sequence analysis via EBI REST API.
Provides protein domain/family prediction by scanning sequences against: - Pfam - PRINTS - ProSite - SMART - Gene3D - TIGRFAM - SUPERFAMILY - CDD - PANTHER
Job-based API: Submit sequence, poll for results. Max 100 sequences per request. Results available for 7 days.
- MAX_POLL_ATTEMPTS = 60¶
- POLL_INTERVAL = 2¶
- _scan_sequence(arguments)[源代码]¶
Submit a protein sequence for InterProScan analysis.
Submits the job and polls for results (up to 2 minutes). For longer jobs, use get_job_status and get_job_results.
- class tooluniverse.InterVarTool[源代码]¶
基类:
BaseToolInterVar: ACMG/AMP 2015 germline variant interpretation tool.
- Classifies germline variants as:
Pathogenic | Likely Pathogenic | Uncertain Significance | Likely Benign | Benign
according to the ACMG/AMP 2015 standards and guidelines. Returns individual evidence criteria (PVS1, PS1-PS4, PM1-PM6, PP1-PP5, BA1, BP1-BP7, BS1-BS4) with their activation status.
Input: genomic coordinates (chr, pos, ref, alt) in hg19 or hg38. No authentication required.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.JASPARRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.KEGGExtTool[源代码]¶
基类:
BaseToolTool for KEGG REST API extended endpoints providing gene-pathway links, pathway gene lists, and compound details.
No authentication required.
- _resolve_gene_symbol(symbol, organism='hsa')[源代码]¶
Resolve gene symbol (e.g. TP53) to KEGG gene ID (e.g. hsa:7157).
Parses /find results and matches by exact gene symbol (case-insensitive).
- class tooluniverse.KEGGFindGenes[源代码]¶
基类:
KEGGRESTToolFind genes by keyword in KEGG database.
- class tooluniverse.KEGGGetGeneInfo[源代码]¶
基类:
KEGGRESTToolGet detailed gene information by gene ID.
- class tooluniverse.KEGGGetPathwayInfo[源代码]¶
基类:
KEGGRESTToolGet detailed pathway information by pathway ID.
- class tooluniverse.KEGGListOrganisms[源代码]¶
基类:
KEGGRESTToolList available organisms in KEGG database.
- class tooluniverse.KEGGSearchPathway[源代码]¶
基类:
KEGGRESTToolSearch KEGG pathways by keyword.
- class tooluniverse.L1000FWDTool[源代码]¶
基类:
BaseToolTool for querying the L1000FWD Connectivity Map API.
Provides access to: - Signature search: find L1000 signatures similar or opposite to a user gene set
- class tooluniverse.LINCSSignatureTool[源代码]¶
基类:
BaseToolTool for querying LINCS SigCom drug perturbation signatures.
Supports: search_signatures (find signatures by drug/perturbagen), list_libraries (browse available signature libraries).
No authentication required.
- class tooluniverse.LOINCTool[源代码]¶
基类:
BaseToolLOINC tool for lab tests, code details, answer lists, and clinical forms.
- _parse_search_results(api_response, fields)[源代码]¶
Parse the Clinical Tables response: [total_count, codes, extra_info, data].
- _OPERATION_MAP = {'get_answer_list': '_get_answer_list', 'get_code_details': '_get_code_details', 'search_forms': '_search_forms', 'search_tests': '_search_loinc_items'}¶
- class tooluniverse.LOVDTool[源代码]¶
基类:
BaseToolTool for querying LOVD (Leiden Open Variation Database) REST API.
LOVD provides curated variant data including: - Gene information (symbol, chromosomal location, RefSeq, curators) - Variant details (DNA/RNA/protein notation, genomic position) - Variant search by DBID or HGVS DNA notation
No authentication required.
- _get_gene(arguments)[源代码]¶
Get gene information from LOVD by gene symbol.
Returns gene details including HGNC ID, Entrez ID, chromosome location, RefSeq transcripts, and curation information.
- class tooluniverse.LipidMapsTool[源代码]¶
基类:
BaseToolTool for querying LIPID MAPS Structure Database REST API.
LIPID MAPS provides comprehensive lipidomics data including: - Lipid structure information (LMSD - LIPID MAPS Structure Database) - Lipid-related gene information (LMPD - LIPID MAPS Proteome Database) - Lipid-related protein information - Mass spectrometry m/z search
No authentication required. Free for academic/research use.
URL Pattern: /rest/{context}/{input_item}/{input_value}/{output_item}/{output_format}
- tooluniverse.ListTools¶
ListToolsTool的别名
- class tooluniverse.ListToolsTool[源代码]¶
基类:
BaseToolUnified tool listing with multiple modes.
Note: Defaults to mode=’names’ to avoid huge outputs when many tools are loaded. For getting tool descriptions or detailed information, use the ‘get_tool_info’ tool instead (supports single or batch queries), as modes like ‘basic’/’summary’ can return very large payloads.
- run(arguments)[源代码]¶
List tools with configurable output format via mode parameter.
- 参数:
arguments (
dict) –Dictionary containing: - mode (str, optional, default=”names”): Output mode
”names”: Return only tool names (default, recommended for large tool sets)
”basic”: Return name + description (warning: can return very large payloads)
”categories”: Return category statistics
”by_category”: Return tools grouped by category
”summary”: Return name + description + type + has_parameters (warning: can return very large payloads)
”custom”: Return user-specified fields
Note: For getting tool descriptions, use ‘get_tool_info’ tool instead of ‘basic’/’summary’ modes to avoid large payloads. - categories (list, optional): Filter by categories - fields (list, required for mode=”custom”): Fields to include - group_by_category (bool, optional): Group by category
(mode=”names”|”basic”|”summary”)
brief (bool, optional): Truncate description (mode=”basic”|”summary”)
- 返回:
Dictionary with tools in requested format
- 返回类型:
- class tooluniverse.MCPAutoLoaderTool[源代码]¶
-
一种先进的MCP工具,可自动从MCP服务器中发现并加载所有工具。它能够将发现的工具注册为独立的ToolUniverse工具,以实现无缝使用。
- class tooluniverse.MCPProxyTool[源代码]¶
-
A proxy tool that automatically forwards tool calls to an MCP server. This creates individual tools for each tool available on the MCP server.
- class tooluniverse.MCPServerDiscovery[源代码]¶
基类:
objectHelper class to discover and create tool configurations for MCP servers.
- async static discover_server_tools(server_url, transport='http')[源代码]¶
Discover all tools available on an MCP server and return tool configurations.
- static create_mcp_tools_config(server_configs)[源代码]¶
Create tool configurations for multiple MCP servers.
- 参数:
server_configs (List[Dict[str, str]]) – List of server configurations, each containing: - server_url: URL of the MCP server - transport: ‘http’ or ‘websocket’ (optional, defaults to ‘http’) - server_name: Name prefix for tools (optional)
- 返回:
List of tool configurations that can be loaded into ToolUniverse
- 返回类型:
- class tooluniverse.MEMETool[源代码]¶
基类:
BaseToolTool for motif analysis using the MEME Suite web services.
Supports three core operations: - fimo_scan: Scan sequences for known TF binding motifs - discover_motifs: De novo motif discovery with MEME - tomtom_compare: Compare motifs against known databases - list_databases: List available motif databases (local, no API call)
All operations except list_databases submit jobs to meme-suite.org and poll for results.
- _fimo_scan(arguments)[源代码]¶
Scan sequences for known TF binding motifs using FIMO.
Submits a FIMO job with inline motifs (MEME format) or database motifs, polls for completion, and returns parsed TSV results.
- _discover_motifs(arguments)[源代码]¶
Run de novo motif discovery using MEME.
Requires multiple FASTA sequences (>= 2) as input. Discovers overrepresented sequence patterns.
- _tomtom_compare(arguments)[源代码]¶
Compare a query motif against a database of known motifs using TOMTOM.
The query motif must be in MEME format. Compares against a selected target database (JASPAR, HOCOMOCO, etc.).
- _list_databases(arguments)[源代码]¶
List available motif databases on MEME Suite (local data, no API call).
- class tooluniverse.MGnifyExpandedTool[源代码]¶
基类:
BaseToolExpanded tool for querying MGnify metagenomics database.
Covers genome catalog, taxonomic profiling, biome browsing, and sample metadata - extending existing study/analysis tools.
No authentication required.
- class tooluniverse.MODOMICSTool[源代码]¶
基类:
BaseToolTool for querying the MODOMICS RNA modification database.
Supports: list_modifications, get_modification, search_modifications.
No authentication required.
- class tooluniverse.MPDRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.MarkItDownTool[源代码]¶
基类:
BaseToolMarkItDown tool for converting files to Markdown.
- class tooluniverse.MassIVETool[源代码]¶
基类:
BaseToolTool for querying MassIVE proteomics repository via ProXI API.
Supports searching datasets and retrieving dataset details. No authentication required.
- class tooluniverse.MaveDBTool[源代码]¶
基类:
BaseToolSearch MaveDB for variant effect score sets and retrieve details.
- run(params)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.MculeTool[源代码]¶
基类:
BaseToolTool for querying the Mcule compound purchasing platform.
Mcule is a compound vendor aggregator with 30M+ purchasable molecules. It provides compound lookup, property data, and database file access.
Supported operations: - lookup_compound: Look up compounds by SMILES, InChIKey, or Mcule ID - get_compound: Get detailed compound info (properties, formula, CAS) - list_databases: List available compound database files - get_database: Get detail for a specific database file
- _lookup_compound(arguments)[源代码]¶
Look up compounds by SMILES, InChIKey, or Mcule ID.
Uses the /search/lookup/ endpoint which accepts any of: - SMILES string (e.g., CC(=O)Oc1ccccc1C(=O)O) - InChIKey (e.g., BSYNRYMUTXBXSQ-UHFFFAOYSA-N) - Mcule ID (e.g., MCULE-3199019536)
- _get_compound(arguments)[源代码]¶
Get detailed compound information by Mcule ID.
Returns SMILES, InChIKey, formula, molecular properties, CAS numbers, and stereo type.
- class tooluniverse.MeSHTool[源代码]¶
基类:
BaseToolTool for querying NLM’s MeSH (Medical Subject Headings) vocabulary.
MeSH is the authoritative vocabulary for biomedical indexing, used by PubMed to categorize literature. Supports descriptor lookup, term search, and hierarchical tree browsing.
No authentication required.
- class tooluniverse.MedGenTool[源代码]¶
基类:
BaseRESTToolTool for querying the NCBI MedGen database.
Provides access to: - Search for genetic conditions/diseases - Get detailed condition summaries (definition, synonyms, genes, HPO features) - Map conditions to OMIM, Orphanet, SNOMED CT identifiers
Uses NCBI E-utilities. No authentication required.
- _get_clinical_features(arguments)[源代码]¶
Get HPO clinical features associated with a MedGen condition.
- class tooluniverse.MedlinePlusRESTTool[源代码]¶
基类:
BaseToolMedlinePlus REST API 工具类。支持健康主题搜索、代码查询、遗传信息检索等功能。
- class tooluniverse.MetaCycTool[源代码]¶
基类:
BaseToolTool for querying MetaCyc metabolic pathway database.
MetaCyc provides: - Experimentally elucidated metabolic pathways - Enzymes and reactions - Metabolites and compounds - Pathway diagrams
Uses BioCyc web services API. No authentication required for basic access.
- _fetch_biocyc_xml(object_id)[源代码]¶
Fetch BioCyc XML for a MetaCyc object using the web services API.
Feature-84B-004/005: biocyc.org/getxml?META=ID returns HTML (wrong). websvc.biocyc.org/getxml?id=META:ID returns XML (correct). Returns “AUTH_REQUIRED” if BioCyc redirects to account-required page.
- class tooluniverse.MetaboAnalystTool[源代码]¶
基类:
BaseToolMetabolomics analysis tool providing metabolite name mapping, pathway enrichment, pathway library listing, and biomarker set enrichment. Uses KEGG REST API + local scipy statistics.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _kegg_find_compound(name)[源代码]¶
Resolve a metabolite name to (KEGG compound ID, matched name). Returns the first exact-ish hit or None.
- _kegg_get_compound_info(compound_id)[源代码]¶
Get compound detail from KEGG (name, formula, exact mass, etc.).
- static _parse_dblinks(first_line, full_text)[源代码]¶
Parse DBLINKS section from KEGG flat-file format.
- class tooluniverse.MetaboLightsRESTTool[源代码]¶
基类:
BaseToolMetaboLights REST API tool. Generic wrapper for MetaboLights API endpoints defined in metabolights_tools.json.
- class tooluniverse.MetaAnalysisTool[源代码]¶
基类:
BaseToolRun fixed-effects or random-effects meta-analysis.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.MetaboliteTool[源代码]¶
基类:
BaseToolTool for querying metabolite data via PubChem (compound info) and CTD (disease associations). Accepts HMDB IDs, compound names, and PubChem CIDs.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _extract_identifier(arguments)[源代码]¶
Extract identifier from hmdb_id, compound_name, or pubchem_cid arguments.
- _resolve_to_cid(identifier)[源代码]¶
Resolve an HMDB ID, compound name, or PubChem CID string to a CID integer. Returns None if resolution fails.
- _resolve_ctd_term(title, synonyms)[源代码]¶
Try multiple name variants to find a CTD match. Returns (term_used, disease_rows).
- _get_info(arguments)[源代码]¶
Get compound info for a metabolite by HMDB ID, compound name, or PubChem CID. Returns common name, IUPAC name, formula, weight, SMILES, InChIKey.
- class tooluniverse.MetabolomicsWorkbenchTool[源代码]¶
基类:
BaseToolTool for querying Metabolomics Workbench REST API.
Metabolomics Workbench provides metabolomics data including: - Study metadata and experimental results - Compound/metabolite information and structures - RefMet standardized nomenclature - Mass spectrometry data searches
No authentication required. Free for academic/research use.
- class tooluniverse.MobiDBTool[源代码]¶
基类:
BaseToolTool for querying MobiDB protein disorder database.
Supports: - Get protein disorder predictions, curated regions, PTMs, binding modes - Get consensus disorder summary for a protein
No authentication required.
- class tooluniverse.Molecule3DTool[源代码]¶
-
Tool for visualizing 3D molecular structures using RDKit and py3Dmol.
- _create_molecule_html(mol, input_data, input_type, width, height, mol_props, style, color_scheme)[源代码]¶
Create HTML content for molecule 3D visualization.
- tooluniverse.Monarch¶
MonarchTool的别名
- tooluniverse.MonarchDiseasesForMultiplePheno¶
- class tooluniverse.MonarchDiseasesForMultiplePhenoTool[源代码]¶
基类:
MonarchTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.MonarchTool[源代码]¶
基类:
RESTfulTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.MonarchV3Tool[源代码]¶
基类:
BaseToolTool for querying the Monarch Initiative V3 knowledge graph.
Monarch provides integrated data linking genes, diseases, phenotypes, and model organisms. The V3 API supports entity lookup, association queries, and cross-species phenotype comparisons. Data sources include OMIM, ClinVar, HPO, MGI, ZFIN, FlyBase, WormBase, and others.
Supports: entity lookup, phenotype associations, disease-gene associations.
No authentication required.
- _get_associations(arguments)[源代码]¶
Get associations for an entity with optional filtering by category.
- class tooluniverse.MutalyzerTool[源代码]¶
基类:
BaseToolTool for HGVS variant nomenclature validation and normalization using the Mutalyzer API.
Supports: normalize (validate + predict protein), back_translate (protein to DNA variants), description_to_model (parse HGVS to structured model).
No authentication required.
- class tooluniverse.MyChemTool[源代码]¶
基类:
BaseToolTool for querying MyChem.info API.
MyChem.info provides chemical/drug annotation data from 30+ sources for 90M+ chemicals and drugs.
No authentication required. Free for academic/research use.
- MYCHEM_BASE_URL = 'https://mychem.info/v1'¶
- class tooluniverse.MyDiseaseTool[源代码]¶
基类:
BaseToolTool for MyDisease.info BioThings API providing aggregated disease annotations from MONDO, Disease Ontology, CTD, HPO, and DisGeNET.
No authentication required.
- class tooluniverse.MyGeneTool[源代码]¶
基类:
BaseToolTool for querying MyGene.info API.
MyGene.info provides gene annotation data from 30+ sources including Entrez Gene, Ensembl, UniProt, HGNC, and more.
No authentication required. Free for academic/research use.
- class tooluniverse.MyVariantTool[源代码]¶
基类:
BaseToolTool for querying MyVariant.info API.
MyVariant.info provides variant annotation data from 19+ sources for 400M+ human variants.
No authentication required. Free for academic/research use.
- MYVARIANT_BASE_URL = 'https://myvariant.info/v1'¶
- class tooluniverse.NCATool[源代码]¶
基类:
BaseToolNon-Compartmental Analysis (NCA) for pharmacokinetics.
Endpoints: - compute_parameters: Full NCA from time-concentration data - fit_one_compartment: 1-compartment IV bolus model fitting - calculate_bioavailability: Oral bioavailability F calculation
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _auc_trapezoid(times, concs)[源代码]¶
Linear-log trapezoidal AUC calculation.
Uses logarithmic trapezoid for declining phases (more accurate), linear trapezoid for ascending phases and zero concentrations.
- _aumc_trapezoid(times, concs)[源代码]¶
Linear trapezoidal AUMC calculation (area under the first-moment curve).
AUMC = integral(t * C(t) dt). Used to compute model-independent MRT: MRT_iv = AUMC_0-inf / AUC_0-inf.
Uses the linear trapezoid rule throughout: each interval contributes dt * (t1*C1 + t2*C2) / 2. This is consistent with most NCA software (e.g., Phoenix WinNonlin uses linear AUMC with log-linear AUC).
- _estimate_terminal_slope(times, concs, n_points=3, tmax=None)[源代码]¶
Estimate terminal elimination rate constant (λz) from log-linear regression.
Per FDA NCA guidance (2003) and Rowland & Tozer (2011), λz should be estimated from all time points in the log-linear terminal phase, which begins after Tmax. When tmax is provided, all post-Tmax positive-concentration points are used. Falls back to the last n_points if fewer than 2 post-Tmax points are available.
Returns: (lambda_z, r_squared, intercept) or (None, None, None) on failure.
- class tooluniverse.NCBIDatasetsTool[源代码]¶
基类:
BaseToolTool for querying the NCBI Datasets API v2.
Provides access to gene information by ID/symbol, gene orthologs, genome assembly reports by taxon, taxonomy details by taxon ID, and taxonomy name suggestions.
No authentication required.
- class tooluniverse.NCBIEUtilsTool[源代码]¶
基类:
BaseToolBase class for NCBI E-utilities tools with rate limiting.
- class tooluniverse.NCBINucleotideSearchTool[源代码]¶
-
NCBI Nucleotide Database Search Tool using E-utilities. Searches GenBank/EMBL/RefSeq for DNA/RNA sequences by organism, gene, keywords.
- _search_nucleotide(arguments)[源代码]¶
Search NCBI nucleotide database and return UIDs. Uses esearch to find matching records.
- class tooluniverse.NCBISRATool[源代码]¶
-
NCBI SRA Tool using E-utilities for sequencing run metadata and downloads.
- _OPERATIONS = {'get_download_urls': '_get_download_urls', 'get_run_info': '_get_run_info', 'link_to_biosample': '_link_to_biosample', 'search': '_search_sra_runs'}¶
- static _normalize_accessions(arguments)[源代码]¶
Extract and normalize accessions from arguments, always returning a list.
- _SEARCH_FIELDS = {'organism': 'Organism', 'platform': 'Platform', 'source': 'Source', 'strategy': 'Strategy', 'study': 'Study'}¶
- class tooluniverse.NCBIVariationTool[源代码]¶
基类:
BaseToolTool for SPDI/HGVS variant notation conversion and normalization using the NCBI Variation Services API.
Supports: spdi_to_hgvs, hgvs_to_spdi, spdi_equivalents, spdi_canonical, rsid_lookup.
No authentication required.
- class tooluniverse.NCCNGuidelineTool[源代码]¶
基类:
BaseToolNational Comprehensive Cancer Network (NCCN) guideline tools.
Supports three operations: - list_patient: List NCCN Guidelines for Patients (free, scraped from nccn.org) - search: Search NCCN content via PubMed (JNCCN journal articles) - get_patient: Get content from a specific NCCN patient guideline page
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.NCICACTUSTool[源代码]¶
基类:
BaseToolConvert chemical identifiers using the NCI CACTUS resolver.
Accepts chemical names, SMILES, InChI, InChIKey, or CAS numbers as input and returns the requested representation (SMILES, IUPAC name, InChI, InChIKey, molecular formula, molecular weight, CAS number, or synonyms).
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.NCIThesaurusTool[源代码]¶
基类:
BaseToolTool for querying the NCI Thesaurus (NCIt).
NCIt provides a rich set of cancer-related terms with definitions, synonyms, semantic types, and cross-references to ICD, SNOMED-CT, MedDRA, and CDISC. Covers ~190,000 concepts organized in a polyhierarchy.
Supports: concept search, concept details, hierarchy navigation.
No authentication required.
- class tooluniverse.NDExTool[源代码]¶
基类:
BaseToolTool for querying the NDEx biological network repository.
NDEx provides access to thousands of published biological networks including protein-protein interaction (PPI), signaling pathways, gene regulatory networks, and metabolic networks. Networks are contributed by research groups and databases like NCI-PID, SIGNOR, and individual labs.
Supports: network search, network summary, network content retrieval.
No authentication required for public networks.
- class tooluniverse.NEBTmTool[源代码]¶
基类:
BaseToolTool for calculating primer Tm/Ta using the NEB Tm Calculator API.
- BASE_URL = 'https://tmapi.neb.com'¶
- class tooluniverse.NHANESTool[源代码]¶
基类:
BaseToolNHANES data information tool.
- _search_datasets(arguments)[源代码]¶
Search NHANES variable list dynamically via CDC website.
Queries the actual NHANES variable catalog at wwwn.cdc.gov instead of using hardcoded keyword lists.
- _CYCLE_SUFFIX = {'2011-2012': '_G', '2013-2014': '_H', '2015-2016': '_I', '2017-2018': '_J', '2019-2020': '_K'}¶
- _COMPONENT_PREFIX = {'BodyMeasures': 'BMX', 'Demographics': 'DEMO', 'Dietary': 'DR1TOT', 'DietaryDay2': 'DR2TOT', 'Examination': 'BPX', 'Questionnaire': 'PFQ'}¶
- _resolve_filename(component, cycle, dataset_name=None)[源代码]¶
Resolve component + cycle to the XPT filename (without .XPT).
- static _format_age_bounds(age_min, age_max)[源代码]¶
Format age bounds into a human-readable string like ‘>= 60 and <= 80’.
- class tooluniverse.NICEGuidelineFullTextTool[源代码]¶
基类:
BaseToolFetch full text content from NICE guideline pages. Takes a NICE guideline URL and extracts the complete guideline content.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.NICEWebScrapingTool[源代码]¶
基类:
BaseToolReal NICE guidelines search using web scraping. Makes actual HTTP requests to NICE website and parses HTML responses.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.NeuroMorphoTool[源代码]¶
基类:
BaseToolTool for querying NeuroMorpho.Org neuron morphology database.
Provides access to: - Neuron metadata (species, brain region, cell type, etc.) - Morphometric measurements (surface area, volume, branch count) - Associated literature - Search/filtering by multiple neuron attributes
No authentication required.
- class tooluniverse.NextstrainTool[源代码]¶
基类:
BaseToolTool for querying Nextstrain, the pathogen evolution tracker.
Provides access to phylogenetic datasets for various pathogens including influenza, SARS-CoV-2, Zika, Ebola, Dengue, and more. Returns metadata and phylogenetic tree data.
No authentication required.
- class tooluniverse.NvidiaNIMTool[源代码]¶
基类:
BaseToolNVIDIA NIM Healthcare API tool.
Provides unified access to 16 NVIDIA cloud-hosted healthcare AI APIs:
Structure Prediction: - AlphaFold2, AlphaFold2-Multimer, ESMFold, OpenFold2, OpenFold3, Boltz2
Protein Design: - ProteinMPNN, RFdiffusion
Molecular Tools: - DiffDock, GenMol, MolMIM
Genomics: - Evo2-40B, MSA-Search, ESM2-650M
Medical Imaging: - MAISI, Vista3D
Configuration fields: - endpoint: API endpoint path (relative to base URL) - base_url: Override base URL (default: https://health.api.nvidia.com/v1/biology) - async_expected: Whether 202 async response is expected - poll_seconds: NVCF-POLL-SECONDS header value (default 300) - response_type: Expected response type (json, pdb, mfasta, zip) - timeout: Request timeout in seconds (default 600)
- DEFAULT_BASE_URL = 'https://health.api.nvidia.com/v1/biology'¶
- STATUS_URL = 'https://integrate.api.nvidia.com/v1/status'¶
- ASSETS_URL = 'https://api.nvcf.nvidia.com/v2/nvcf/assets'¶
- DEFAULT_TIMEOUT = 600¶
- DEFAULT_POLL_SECONDS = 300¶
- MAX_POLL_ATTEMPTS = 120¶
- POLL_INTERVAL = 5¶
- _upload_asset(content, description='diffdock-file')[源代码]¶
Upload a file to NVIDIA’s asset storage for tools that require staged inputs (e.g., DiffDock).
This implements the NVCF asset upload pattern: 1. POST to assets API to get an upload URL and asset ID 2. PUT the file content to the upload URL 3. Return the asset ID to be used in the main API request
- class tooluniverse.ODPHPItemList[源代码]¶
-
检索主题或类别列表。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ODPHPMyHealthfinder[源代码]¶
-
搜索特定人群的健康建议(MyHealthfinder)。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ODPHPOutlinkFetch[源代码]¶
基类:
BaseTool根据AccessibleVersion / RelatedItems.Url获取引用的文章页面,并返回可读文本。 - HTML:提取主要内容/文章/正文文本;移除导航栏(nav)、侧边栏(aside)、页脚(footer)、脚本(script)和样式(style)。 - PDF或非HTML:返回元数据和URL,以便代理能够显示相关内容。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ODPHPRESTTool[源代码]¶
基类:
BaseToolBase class for ODPHP (MyHealthfinder) REST API tools.
- class tooluniverse.ODPHPTopicSearch[源代码]¶
-
通过 ID、类别或关键词搜索健康主题。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OLSRESTTool[源代码]¶
基类:
BaseToolGeneric tool for the EMBL-EBI OLS v4 REST API.
This is a JSON-config driven tool. Each tool config supplies: - fields.kind: “search” | “term” | “children” | “ontology” | “ontologies” - fields.base_url: optional override (defaults to OLS4 API root) - fields.ontology_id: optional ontology scope (e.g., “efo”)
- DEFAULT_BASE_URL = 'https://www.ebi.ac.uk/ols4/api'¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OLSTool[源代码]¶
基类:
BaseToolInteract with the EMBL-EBI Ontology Lookup Service (OLS) REST API.
- _OPERATIONS = {'find_similar_terms': '_handle_find_similar_terms', 'get_ontology_info': '_handle_get_ontology_info', 'get_term_ancestors': '_handle_get_term_ancestors', 'get_term_children': '_handle_get_term_children', 'get_term_info': '_handle_get_term_info', 'search_ontologies': '_handle_search_ontologies', 'search_terms': '_handle_search_terms'}¶
- _get_json(path, params=None)[源代码]¶
Make a GET request to the OLS API and return JSON response.
- 参数:
- 返回:
JSON response as dictionary
- 抛出:
requests.RequestException – On network errors or timeouts
requests.HTTPError – On HTTP errors (4xx, 5xx)
- 返回类型:
- class tooluniverse.OMATool[源代码]¶
基类:
BaseToolTool for querying the OMA Orthology Browser.
OMA provides orthology relationships among 2,600+ complete genomes using a highly reliable algorithm. Supports protein lookup, pairwise orthologs, Hierarchical Orthologous Groups (HOGs), and OMA Groups.
No authentication required.
- class tooluniverse.OMIMTool[源代码]¶
基类:
BaseToolTool for querying OMIM (Online Mendelian Inheritance in Man).
OMIM provides: - Mendelian disease information - Gene-disease relationships - Clinical synopses - Inheritance patterns
Requires API key via OMIM_API_KEY environment variable. Register at https://omim.org/api for free academic access.
- class tooluniverse.ORCIDTool[源代码]¶
基类:
BaseToolTool for querying the ORCID Public API.
Provides access to: - Researcher profiles and biographical data - Publication works - Search across all ORCID records - Employment and affiliation history
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OSFPreprintsTool[源代码]¶
基类:
BaseToolSearch OSF Preprints via OSF API v2 filters.
- 参数(参数):
query (str): Query string max_results (int): Max results (default 10, max 100) provider (str): Optional preprint provider (e.g., ‘osf’, ‘psyarxiv’)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OmniPathTool[源代码]¶
基类:
BaseToolTool for querying OmniPath intercellular and intracellular signaling data.
OmniPath integrates 100+ databases covering: - Ligand-receptor interactions (14,000+ pairs) - Intercellular communication roles - Signaling pathway interactions - Protein complexes (22,000+) - Cell communication annotations - Enzyme-substrate relationships
No authentication required.
- _get_ligand_receptor(arguments)[源代码]¶
Get ligand-receptor interactions from the ligrecextra dataset.
- class tooluniverse.OncoKBTool[源代码]¶
基类:
BaseToolTool for querying OncoKB precision oncology knowledge base.
OncoKB provides: - Actionable cancer variant annotations - Evidence levels for clinical actionability - FDA-approved and investigational treatments - Gene-level oncogenic classifications
Requires API token via ONCOKB_API_TOKEN environment variable. Demo API available for testing (limited to BRAF, TP53, ROS1 genes).
- _apply_demo_gene_warning(data, metadata, gene)[源代码]¶
Mutate data and metadata in-place with demo-mode warning when gene is absent.
- _make_request(endpoint, params)[源代码]¶
Make a GET request to the OncoKB API with standard error handling.
- class tooluniverse.OncoTreeGetTypeTool[源代码]¶
-
Get a specific OncoTree cancer type by its unique code.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OncoTreeListTissuesTool[源代码]¶
-
List all top-level tissue categories in the OncoTree hierarchy.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OncoTreeSearchTool[源代码]¶
-
Search OncoTree cancer types by name, code, main type, or tissue.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.AgingCohortSearchTool[源代码]¶
基类:
BaseToolSearch a curated registry of major aging and longitudinal cohort studies.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OntologyInfo[源代码]¶
基类:
BaseModelDescription of a single ontology entry in OLS.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tooluniverse.OntologySearchResponse[源代码]¶
-
Paginated collection of ontologies returned by the search endpoint.
- ontologies: List[OntologyInfo]¶
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tooluniverse.OpenAIREDatasetTool[源代码]¶
基类:
BaseToolSearch OpenAIRE for European research datasets.
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- static _extract_text(field)[源代码]¶
Extract first text value from OpenAIRE’s {‘$’: value} or list-of-dicts.
- class tooluniverse.OpenAIRETool[源代码]¶
基类:
BaseToolSearch OpenAIRE Explore for research products (publications by default).
- 参数(参数):
query (str): Query string max_results (int): Max number of results (default 10, max 100) type (str): product type filter: publications | datasets | software
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OpenAlexGuidelinesTool[源代码]¶
基类:
BaseToolOpenAlex Guidelines Search Tool. Specialized tool for searching clinical practice guidelines using OpenAlex API.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OpenAlexRESTTool[源代码]¶
基类:
BaseToolGeneric JSON-config driven OpenAlex REST tool.
Notes: - OpenAlex strongly encourages providing a contact email via the mailto query param. - This tool returns a consistent wrapper: {status, data, url} (plus error fields on failure).
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OpenAlexTool[源代码]¶
基类:
BaseToolTool to retrieve literature from OpenAlex based on search keywords.
- search_literature(search_keywords, max_results=10, year_from=None, year_to=None, open_access=None, *, require_has_fulltext=False, fulltext_terms=None)[源代码]¶
Search for literature using OpenAlex API.
- 参数
search_keywords (str): Keywords to search for in title, abstract, and content. max_results (int): Maximum number of results to return (default: 10). year_from (int): Start year for publication date filter (optional). year_to (int): End year for publication date filter (optional). open_access (bool): Filter for open access papers only (optional).
- 退货
list: List of dictionaries containing paper information.
- _extract_paper_info(work)[源代码]¶
Extract relevant information from a work object returned by OpenAlex API.
- 参数
work (dict): Work object from OpenAlex API response.
- 退货
dict: Formatted paper information.
- class tooluniverse.OpenCRAVATTool[源代码]¶
基类:
BaseToolTool for querying OpenCRAVAT variant annotation API.
Supports single-variant annotation with configurable annotator selection. No authentication required for the public annotation endpoint.
- class tooluniverse.OpenFDAApprovalTool[源代码]¶
基类:
BaseToolTool for querying FDA drug approval and registration data via openFDA.
Uses the Drugs@FDA API to retrieve drug approval history, application types, sponsor information, and approved product details.
Supported operations: - search_approvals: Search drug approvals by name, sponsor, or application number - get_approval_history: Get complete approval/submission history for a drug - get_approved_products: Get approved product details (strengths, forms, routes)
- class tooluniverse.OpenFDADrugEventsTool[源代码]¶
基类:
BaseRESTToolOpenFDA drug adverse event search with convenience parameters.
Accepts either a raw Lucene ‘search’ string or the convenience parameters ‘drug_name’ and ‘reaction’ (which are assembled into a Lucene query).
Note: MedDRA terms in FAERS use British English spelling (e.g. ‘haemorrhage’ not ‘hemorrhage’, ‘haematoma’ not ‘hematoma’).
- _VALID_API_PARAMS = frozenset({'api_key', 'count', 'limit', 'search', 'skip'})¶
- class tooluniverse.OpenNeuroTool[源代码]¶
基类:
GraphQLToolTool for querying the OpenNeuro neuroimaging data repository.
OpenNeuro stores brain imaging datasets in BIDS format including: - MRI, fMRI, EEG, MEG, PET datasets - Dataset metadata, subjects, tasks, modalities - Download information and analytics
No authentication required for public datasets.
- tooluniverse.OpenTarget¶
OpentargetTool的别名
- tooluniverse.OpenTargetGenetics¶
- class tooluniverse.OpenTreeTool[源代码]¶
基类:
BaseToolTool for querying the Open Tree of Life.
The Open Tree synthesizes published phylogenetic trees and taxonomy from NCBI, GBIF, IRMNG, and other sources into a single comprehensive tree of all life on Earth (~2.3 million tips).
Supports: name resolution (TNRS), taxonomy lookup, MRCA computation, and induced subtree extraction.
No authentication required.
- class tooluniverse.OpentargetGeneticsTool[源代码]¶
基类:
GraphQLTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OpentargetTool[源代码]¶
基类:
GraphQLTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OpentargetToolDrugNameMatch[源代码]¶
基类:
GraphQLTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.OrphanetTool[源代码]¶
基类:
BaseToolTool for querying Orphanet rare disease database.
Orphanet provides: - Rare disease nomenclature and classification - Disease-gene associations - Epidemiology data (prevalence, inheritance) - Expert centers and patient organizations
RDcode API requires apiKey header (any value accepted). Orphadata API is free public access.
- _extract_genes_from_associations(associations)[源代码]¶
Extract gene info dicts from DisorderGeneAssociation list.
- _fetch_genes_for_code(orpha_code, headers)[源代码]¶
Fetch gene associations for a single ORPHA code. Returns [] on failure.
- _find_subtype_codes(disease_name, exclude_code, headers)[源代码]¶
Find orphacodes whose name contains disease_name, excluding exclude_code.
- _get_genes(arguments)[源代码]¶
Get genes associated with a rare disease.
Strategy: 1. Try direct Orphadata orphacode lookup for gene associations 2. If not found (parent codes often lack direct entries), search for
subtype entries whose name matches the disease name
Fall back to gene name search as last resort
- _get_natural_history(arguments)[源代码]¶
Get natural history data for a rare disease (age of onset, inheritance).
- _resolve_gene_symbol(symbol)[源代码]¶
Resolve a gene symbol (e.g. ‘FBN1’) to its full name (e.g. ‘fibrillin 1’).
The Orphadata /genes/names/ endpoint only matches full gene names, not symbols. When the caller passes a symbol, look it up in the gene list and return the full name so the name-search endpoint can find it. Returns None if no match is found.
- _get_gene_diseases(arguments)[源代码]¶
Get rare diseases associated with a gene name or symbol.
Uses Orphadata gene name search to find diseases associated with genes matching the given search term. Accepts gene symbols (e.g., ‘FBN1’, ‘BRCA1’) or gene name keywords (e.g., ‘fibrillin’, ‘huntingtin’). Gene symbols are auto-resolved to full names for the API query.
- class tooluniverse.OrthoDBTool[源代码]¶
基类:
BaseToolOrthoDB v12 tool for orthologous group analysis.
Provides search for orthologous groups, group details with functional annotations (KEGG, GO), and member gene lists across species.
No authentication required.
- class tooluniverse.OxOTool[源代码]¶
基类:
BaseToolTool for EBI OxO (Ontology Xref Service) API providing cross-reference mappings between ontology terms across biomedical databases.
No authentication required.
- class tooluniverse.PANTHERTool[源代码]¶
基类:
BaseToolTool for querying PANTHER gene classification and enrichment analysis.
Provides gene functional annotation, overrepresentation analysis with GO/pathway enrichment, and ortholog mapping across 144 organisms.
No authentication required.
- class tooluniverse.PDBECompoundTool[源代码]¶
基类:
BaseToolTool for querying PDBe compound (ligand/small molecule) information.
Supports: - Get compound summary (formula, weight, SMILES, InChI, cross-references) - Get all PDB structures containing a specific compound
No authentication required.
- class tooluniverse.PDBeAPIRESTTool[源代码]¶
基类:
BaseToolPDBe API REST tool. Generic wrapper for PDBe API endpoints defined in pdbe_api_tools.json.
- class tooluniverse.PDBeLigandsTool[源代码]¶
基类:
BaseToolTool for querying PDBe structure-bound ligands and residue details.
Supports: - Get all ligands bound in a PDB structure (drug-like, cofactors, ions) - Get per-residue listing with observed ratio for a PDB chain
No authentication required.
- class tooluniverse.PDBePISATool[源代码]¶
基类:
BaseToolTool for querying PDBePISA (Protein Interfaces, Surfaces and Assemblies).
PISA analyzes crystal structures to identify biological assemblies, protein-protein interfaces, and surface properties.
Supported operations: - get_interfaces: Get interface analysis for a PDB entry - get_assemblies: Get biological assembly predictions - get_monomer_analysis: Get monomer surface area analysis
- class tooluniverse.PDBeSIFTSTool[源代码]¶
基类:
BaseToolPDBe SIFTS Mapping tool for UniProt-PDB cross-referencing.
Provides ranked best structures for a protein, PDB-to-UniProt chain mapping, and comprehensive structure coverage analysis.
No authentication required.
- class tooluniverse.PDBeSearchTool[源代码]¶
基类:
BaseToolTool for searching PDBe, the Protein Data Bank in Europe.
Provides full-text and field-specific Solr queries across all PDB entries, plus compound/ligand lookup by identifier.
No authentication required.
- class tooluniverse.PDBeValidationTool[源代码]¶
基类:
BaseToolTool for querying PDBe structure validation data.
Supports: - Global quality percentile scores (Ramachandran, rotamer, clashscore) - Residue-level validation outliers
No authentication required.
- class tooluniverse.PDBe_KB_Tool[源代码]¶
基类:
BaseToolTool for querying PDBe-KB (Knowledge Base) Graph API.
PDBe-KB aggregates structural biology knowledge including: - Ligand binding sites mapped to UniProt positions - Protein-protein interaction interfaces - Structural coverage statistics - Superposition clusters and best chain coverage
Data is indexed by UniProt accession and provides residue-level annotations using UniProt numbering.
No authentication required.
- class tooluniverse.PDCTool[源代码]¶
基类:
BaseToolTool for querying the NCI Proteomics Data Commons (PDC).
PDC houses annotated proteomics data from CPTAC, ICPC, APOLLO, CBTN, and other cancer research programs covering 19+ cancer types with 160+ datasets.
Provides access to: - Study search and metadata (disease type, analytical fraction, experiment type) - Gene/protein information with spectral counts across studies - Program and project listings (CPTAC, ICPC, APOLLO, etc.) - Detailed study summaries with file counts - Clinical data per study (demographics, diagnoses)
- class tooluniverse.PMCTool[源代码]¶
基类:
BaseTool用于搜索PMC全文生物医学文献的工具。
- _parse_esummary_xml(xml_text)[源代码]¶
Parse NCBI E-utilities esummary XML into a dict keyed by numeric PMC id.
- class tooluniverse.PRIDERESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PROSITETool[源代码]¶
基类:
BaseToolTool for querying the PROSITE protein motif/domain database.
Supports three operations: - get_entry: Retrieve a PROSITE entry by accession (parses text format) - search: Search PROSITE entries by keyword (via InterPro API) - scan_sequence: Scan a protein sequence for PROSITE pattern matches
- PROSITE_BASE_URL = 'https://prosite.expasy.org'¶
- INTERPRO_BASE_URL = 'https://www.ebi.ac.uk/interpro/api'¶
- SCANPROSITE_URL = 'https://prosite.expasy.org/cgi-bin/prosite/PSScan.cgi'¶
- _parse_prosite_text(text)[源代码]¶
Parse PROSITE text format into a structured dictionary.
PROSITE text format uses two-letter tags: ID - Entry name and type AC - Accession number DT - Date stamps DE - Description PA - Pattern (for PATTERN type entries) MA - Matrix (for MATRIX/PROFILE type entries) CC - Comments (functional annotations, sites) PR - ProRule reference DO - Documentation reference DR - Database cross-references
- class tooluniverse.PackageTool[源代码]¶
基类:
BaseTool通用工具,用于提供有关 Python 包的信息。通过 PyPI API 获取实时数据,并支持本地备用方案。
- class tooluniverse.PagedResponse[源代码]¶
基类:
BaseModelBase structure for paginated responses returned by OLS.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tooluniverse.PaleobiologyRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PathwayCommonsTool[源代码]¶
基类:
BaseToolTool for querying Pathway Commons (PC2) unified pathway/interaction database.
Supported operations: - search: Search for pathways, interactions, or molecular entities by gene/keyword - get_pathway: Get pathway details by URI - get_neighborhood: Get interaction neighborhood for a gene (SIF format)
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PfamTool[源代码]¶
基类:
BaseToolTool for Pfam protein family queries via the InterPro API.
No authentication required.
- class tooluniverse.PharmGKBTool[源代码]¶
基类:
BaseToolTool for querying PharmGKB REST API.
PharmGKB provides pharmacogenomics data: - Drug-gene-variant clinical annotations - CPIC dosing guidelines - Drug and gene details - Pharmacogenetic pathways
No authentication required for most endpoints.
- class tooluniverse.PharmacoDBTool[源代码]¶
基类:
BaseToolTool for querying the PharmacoDB cancer pharmacogenomics database.
PharmacoDB integrates drug sensitivity data across 10 major datasets: CCLE, CTRPv2, FIMM, GDSC1, GDSC2, GRAY, NCI60, PRISM, UHNBreast, gCSI.
Provides access to: - Compound/drug information with annotations and targets - Cell line information with tissue classification - Drug sensitivity experiments with dose-response curves - Pharmacological profiles (IC50, AAC, EC50, DSS scores) - Gene-compound biomarker associations
- class tooluniverse.PharosTool[源代码]¶
基类:
BaseToolTool for querying Pharos/TCRD GraphQL API.
Pharos provides drug target information including: - Target Development Level (Tdark, Tbio, Tchem, Tclin) - Druggability assessments - Protein family classifications - Disease associations - Ligand/drug information
No authentication required. Free for academic/research use.
- _get_target(arguments)[源代码]¶
Get detailed target information by gene symbol or UniProt ID.
Returns TDL classification, protein family, disease associations, ligands, and druggability information.
- _search_targets(arguments)[源代码]¶
Search targets by query string.
Returns targets matching the search term with TDL classification.
- _get_tdl_summary(arguments)[源代码]¶
Get Target Development Level summary statistics.
Returns counts of targets at each TDL level: - Tclin: Targets with approved drugs - Tchem: Targets with small molecule activities - Tbio: Targets with biological annotations - Tdark: Understudied targets with minimal information
- class tooluniverse.PlantReactomeTool[源代码]¶
基类:
BaseToolTool for querying the Plant Reactome pathway database.
Plant Reactome provides curated plant metabolic and regulatory pathways. Supports searching pathways, getting pathway details, and listing available species. Covers photosynthesis, carbon fixation, nitrogen metabolism, hormone signaling, secondary metabolites, and more.
No authentication required.
- class tooluniverse.PomBaseTool[源代码]¶
基类:
BaseToolTool for querying PomBase, the S. pombe genome database.
Provides detailed gene information for fission yeast including protein domains, GO annotations, phenotypes, and more.
No authentication required.
- class tooluniverse.PopGenTool[源代码]¶
基类:
BaseToolPopulation genetics calculator: HWE, Fst, inbreeding, haplotypes.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ProgenetixTool[源代码]¶
基类:
BaseToolTool for querying the Progenetix cancer CNV database via GA4GH Beacon v2.
Progenetix contains genome-wide CNV profiles from 100,000+ tumor samples across hundreds of cancer types, classified using NCIt ontology codes.
No authentication required.
- _get_biosamples(arguments)[源代码]¶
Search biosamples (tumor samples) by NCIt disease code or other filters.
- _get_individuals(arguments)[源代码]¶
Search individuals (patients) by NCIt disease code or other filters.
- class tooluniverse.ProtVarMapTool[源代码]¶
基类:
object
- tooluniverse.ProtVarTool¶
ProtVarMapTool的别名
- class tooluniverse.ProtacDBTool[源代码]¶
基类:
BaseToolTool for querying PROTAC-DB 3.0 (Zhejiang University).
Provides access to: - PROTAC compound search and retrieval by target or E3 ligase - Compound details (SMILES, DC50, Dmax, cell lines, references) - Target protein information
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ProteinStructure3DTool[源代码]¶
-
Tool for visualizing 3D protein structures using py3Dmol.
- class tooluniverse.ProteinsAPIRESTTool[源代码]¶
基类:
BaseToolProteins API REST tool. Generic wrapper for Proteins API endpoints defined in proteins_api_tools.json.
- _extract_from_protein_endpoint(accession, tool_name)[源代码]¶
Extract data from main protein endpoint when specific endpoints don’t exist
- _parse_accessions(accession)[源代码]¶
Parse accession parameter - handle string, list, or comma-separated string
- class tooluniverse.ProteinsPlusRESTTool[源代码]¶
基类:
AsyncPollingToolProteinsPlus API tool for protein-ligand docking and binding site analysis.
Now uses AsyncPollingTool base class for automatic polling, progress reporting, and timeout management. Original functionality preserved.
- _SIENA_OPTIONAL_KEYS = {'flexibility_sensitivity': 'flexibility_sensitivity', 'fragment_length': 'fragment_length', 'maximum_mutations': 'maximum_mutations', 'minimal_site_coverage': 'minimalSiteCoverage', 'minimal_site_identity': 'minimalSiteIdentity', 'site_radius': 'siteRadius'}¶
- _transform_params(arguments)[源代码]¶
Transform user-facing arguments into the nested format ProteinsPlus expects.
- _build_api_url(arguments)[源代码]¶
Build API URL by substituting argument placeholders in the endpoint.
- submit_job(arguments)[源代码]¶
Submit job to ProteinsPlus API and return job location URL.
This method handles job submission for async tools. For sync tools, it’s not called (handled by run() override).
- check_status(job_id)[源代码]¶
Check ProteinsPlus job status and return result if complete.
- 参数:
job_id (str) – Job location URL from submit_job()
- 返回:
done (bool): True if complete
result (any): Results if done
progress (int): Progress percentage (0-100)
error (str): Error message if failed
- 返回类型:
Dict with keys
- async run(arguments, progress=None)[源代码]¶
使用提供的参数执行工具。
Overrides AsyncPollingTool.run() to support both sync and async tools.
- _abc_impl = <_abc._abc_data object>¶
- class tooluniverse.ProteomeXchangeTool[源代码]¶
基类:
BaseToolTool for querying ProteomeXchange, the proteomics data consortium.
Provides access to metadata for proteomics datasets including species, instruments, publications, and data files from PRIDE, MassIVE, PeptideAtlas, jPOST, and iProX.
No authentication required.
- class tooluniverse.ProteomicsDBTool[源代码]¶
基类:
BaseToolTool for querying ProteomicsDB, a mass spectrometry-based protein expression database covering human tissues, cell lines, and body fluids.
Complements HPA (antibody-based) with MS-based quantitative proteomics from the Human Proteome Project. Provides iBAQ and TOP3 quantification across 340+ biological sources.
- class tooluniverse.PubChemBioAssayTool[源代码]¶
基类:
BaseToolTool for querying PubChem BioAssay data.
Access biological assay descriptions, targets, and screening results from PubChem. Supports searching by assay ID, target gene, or keyword.
No authentication required.
- class tooluniverse.PubChemRESTTool[源代码]¶
基类:
BaseTool通用的PubChem PUG-REST工具类。直接根据fields.endpoint模板拼接URL,并向PubChem PUG-REST发送请求。
- _build_url(arguments)[源代码]¶
使用正则表达式替换 endpoint_template 中的所有 {placeholder} 以生成完整的 URL 路径。例如,endpoint_template=”/compound/cid/{cid}/property/{property_list}/JSON”,参数 arguments={“cid”:2244},property_list=[“MolecularWeight”,”IUPACName”] → “/compound/cid/2244/property/MolecularWeight,IUPACName/JSON”。最终返回 “https://pubchem.ncbi.nlm.nih.gov/rest/pug” + 拼接后的路径。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PubChemToxTool[源代码]¶
基类:
BaseToolTool for PubChem toxicity and safety data via PUG View API.
No authentication required.
- _find_sections_recursive(sections, heading)[源代码]¶
Recursively find all sections matching a heading at any depth.
- _extract_info_from_sections(sections, heading)[源代码]¶
Find sections matching heading recursively and extract their Information entries.
- _get_ghs_classification(arguments)[源代码]¶
Get GHS (Globally Harmonized System) hazard classification for a compound.
- _get_toxicity_values(arguments)[源代码]¶
Get non-human toxicity values (LD50, LC50, etc.) for a compound.
- class tooluniverse.PubMedGuidelinesTool[源代码]¶
基类:
BaseToolSearch PubMed for clinical practice guidelines. Uses NCBI E-utilities with guideline publication type filter.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PubMedRESTTool[源代码]¶
基类:
BaseRESTToolGeneric REST tool for PubMed E-utilities (efetch, elink).
Implements rate limiting per NCBI guidelines: - Without API key: 3 requests/second - With API key: 10 requests/second
API key is read from environment variable NCBI_API_KEY. Get your free key at: https://www.ncbi.nlm.nih.gov/account/
- _last_request_time = 0.0¶
- _rate_limit_lock = <unlocked _thread.lock object>¶
- _enforce_rate_limit(has_api_key)[源代码]¶
Enforce NCBI E-utilities rate limits.
- 参数:
has_api_key (bool) – Whether an API key is provided
- class tooluniverse.PubTatorTool[源代码]¶
基类:
BaseTool围绕单个PubTator 3端点的通用包装器,支持JSON定义的配置。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.PyPIPackageInspector[源代码]¶
基类:
BaseToolExtracts comprehensive package information from PyPI and GitHub. Provides detailed metrics on popularity, maintenance, security, and compatibility.
- _calculate_quality_scores(pypi_data, downloads, github_data)[源代码]¶
Calculate quality scores based on collected metrics
- _generate_recommendation(scores, pypi_data, github_data)[源代码]¶
Generate a human-readable recommendation based on scores
- class tooluniverse.PythonCodeExecutor[源代码]¶
基类:
BasePythonExecutor,BaseToolExecute Python code snippets safely in sandboxed environment.
- class tooluniverse.PythonScriptRunner[源代码]¶
基类:
BasePythonExecutor,BaseToolRun Python script files in isolated subprocess with resource limits.
- class tooluniverse.QuickGOTool[源代码]¶
基类:
BaseToolTool for querying the EBI QuickGO Gene Ontology browser.
QuickGO provides comprehensive GO annotation data with filtering by gene product, GO term, taxon, evidence code, and more. Also provides ontology term details and hierarchical relationships.
No authentication required.
- class tooluniverse.RCSBAdvancedSearchTool[源代码]¶
基类:
BaseToolAdvanced attribute-based search of the RCSB Protein Data Bank.
Enables complex queries combining organism, resolution, experimental method, molecular weight, and more. Returns PDB IDs matching all criteria.
No authentication required.
- class tooluniverse.RCSBDataTool[源代码]¶
基类:
BaseToolTool for RCSB PDB Data API providing direct REST access to PDB structure metadata, biological assembly info, and non-polymer entities.
Complements existing RCSB GraphQL and Search tools by providing simpler, direct access to individual resource endpoints.
No authentication required.
- class tooluniverse.RCSBGraphQLTool[源代码]¶
基类:
BaseToolTool for querying the RCSB PDB Data API via GraphQL.
Supports: - Structure summary (title, resolution, method, citation, etc.) - Chemical component / ligand details (formula, SMILES, targets) - Polymer entity details (sequence, annotations, descriptions)
No authentication required.
- class tooluniverse.RCSBSearchTool[源代码]¶
基类:
BaseToolTool for searching similar protein structures using RCSB PDB Search API v2.
Supports: - Sequence-based similarity search - Structure-based similarity search (using PDB ID) - Text-based search (by name, keyword, etc.)
- _build_sequence_query(sequence, identity_cutoff, max_results)[源代码]¶
Build sequence similarity search query.
Uses the correct RCSB Search API v2 format: - Uses “value” parameter (not “target”) - Includes evalue_cutoff (required, default 0.1) - Includes identity_cutoff (optional, 0-1) - Includes sequence_type (“protein”)
- _build_structure_query(pdb_id, similarity_threshold, max_results)[源代码]¶
Build structure similarity search query.
Uses the correct RCSB Search API v2 format: - Uses “value” as an object with “entry_id” and “assembly_id” - Includes “operator” (default: “strict_shape_match”) - Includes “target_search_space” (default: “assembly”)
- _build_text_query(search_text, max_results)[源代码]¶
Build text search query.
Uses the correct RCSB Search API v2 format: - Searches in multiple attributes
(struct.title, struct_keywords.pdbx_keywords)
Uses OR logic to combine search conditions
Supports pagination and sorting
- _parse_search_results(response_data)[源代码]¶
Parse RCSB Search API response.
Expected response format: {
“query_id”: “…”, “result_type”: “entry”, “total_count”: 123, “result_set”: [
{“identifier”: “6B3Q”, “score”: 1.0}, …
]
请提供需要翻译的具体英文文本内容,我将为您翻译成符合要求的中文。
- run(arguments=None, stream_callback=None, use_cache=False, validate=True)[源代码]¶
Execute structure similarity search.
- 参数:
arguments (Dict[str, Any] | None) –
Dictionary containing: - query: PDB ID, protein sequence, or search text - search_type: “sequence”, “structure”, or “text”
(default: “sequence”)
similarity_threshold: Similarity threshold 0-1 (default: 0.7) (not used for text search)
max_results: Maximum number of results (default: 20)
stream_callback (Any | None) – Optional callback for streaming
use_cache (bool) – Whether to use caching
validate (bool) – Whether to validate parameters
- 返回:
Dictionary with search results or error information
- 返回类型:
- class tooluniverse.RCSBTool[源代码]¶
基类:
BaseTool- run(params)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RDKitCheminfoTool[源代码]¶
基类:
BaseToolRDKit-based cheminformatics tools for pharmacophore and MMP analysis.
Endpoints: - pharmacophore_features: Extract pharmacophore feature centers from SMILES - matched_molecular_pair: Find molecular transformation between two SMILES
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RESTfulTool[源代码]¶
基类:
GraphQLTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RGDTool[源代码]¶
基类:
BaseToolTool for querying the Rat Genome Database (RGD).
Supported operations: - get_gene: Get rat gene details by RGD ID - search_genes: Search rat genes by symbol/keyword - get_annotations: Get disease/phenotype annotations for a gene - get_orthologs: Get orthologs across species
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.Re3DataTool[源代码]¶
基类:
BaseToolSearch and retrieve metadata from the re3data.org registry of research data repositories.
- BASE_URL = 'https://www.re3data.org/api/beta'¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ReMapRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ReactomeAnalysisTool[源代码]¶
基类:
BaseToolTool for Reactome pathway analysis (enrichment/overrepresentation).
Accepts gene/protein identifiers and performs overrepresentation analysis or species comparison against Reactome pathways. Returns enriched pathways with p-values, FDR, and entity counts.
No authentication required.
- class tooluniverse.ReactomeContentTool[源代码]¶
基类:
BaseToolTool for Reactome Content Service providing pathway search, contained event retrieval, and enhanced pathway details.
Complements existing Reactome tools by adding free-text search and hierarchical event decomposition.
No authentication required.
- class tooluniverse.ReactomeInteractorsTool[源代码]¶
基类:
BaseToolTool for querying protein interactors and entity pathways from Reactome.
Reactome provides curated protein-protein interaction data derived from IntAct, with confidence scores and evidence counts. Also supports finding Reactome pathways associated with specific entities.
Supports: get protein interactors, find pathways for entity, search Reactome entities.
No authentication required.
- class tooluniverse.ReactomeRESTTool[源代码]¶
基类:
BaseTool通用Reactome内容服务REST工具。如果配置中没有“fields.extract_path”或其值为空,则返回完整的JSON;否则,根据extract_path中的“点分隔路径”向下钻取,并返回对应的子节点。
- _build_url(arguments)[源代码]¶
将包含 {xxx} 的 endpoint_template 与参数中的路径参数结合,生成完整的 URL。例如 endpoint_template=”/data/pathway/{stId}”,arguments={“stId”:”R-HSA-73817”} → 返回 “https://reactome.org/ContentService/data/pathway/R-HSA-73817”
- run(arguments, stream_callback=None, use_cache=False, validate=True)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RegulomeDBRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RemoteTool[源代码]¶
基类:
BaseToolA placeholder tool class for external MCP/SMCP tools.
RemoteTool represents tools that are hosted on external MCP/SMCP servers and are only available for discovery and listing purposes. These tools cannot be executed locally through ToolUniverse but their configurations are preserved for reference.
- __init__(tool_config=None)[源代码]¶
Initialize the RemoteTool.
- 参数:
tool_config (
dict, optional) – Tool configuration dictionary
- run(arguments=None)[源代码]¶
Placeholder run method for remote tools.
Remote tools cannot be executed locally. This method always returns an error message indicating that the tool is not available for local execution.
- 参数:
arguments (
dict, optional) – Tool arguments (ignored)
- 退货
dict: Error message indicating the tool is not available locally
- get_remote_info()[源代码]¶
Get information about the remote server hosting this tool.
- 退货
dict: Remote server information including server type, URL, and original tool type
- class tooluniverse.RfamTool[源代码]¶
基类:
BaseToolRfam Database API tool for RNA family data.
Provides access to: - RNA family information and metadata - Secondary structure diagrams - Covariance models - Sequence alignments (Stockholm, FASTA formats) - Phylogenetic trees - Sequence searches
- class tooluniverse.RheaTool[源代码]¶
基类:
BaseToolTool for querying the Rhea biochemical reaction database.
Rhea contains over 15,000 manually curated biochemical reactions, each linked to ChEBI compounds and EC enzyme numbers. The search API returns TSV which is parsed to structured JSON.
No authentication required.
- class tooluniverse.RxClassTool[源代码]¶
基类:
BaseToolDrug classification via NLM RxClass API.
- Operations:
get_drug_classes: Get ATC, EPC, MoA, VA drug classes for a drug
get_class_members: List drugs in a specified drug class
find_classes: Search drug classes by keyword
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.RxNormExtendedTool[源代码]¶
基类:
BaseToolExtended RxNorm tools for drug information retrieval.
- Supports three operations:
find_rxcui: Resolve a drug name to its RXCUI identifier(s)
get_drug_info: Fetch full properties (name, TTY, synonym) by RXCUI or name
- get_related_drugs: List all branded and generic clinical drug products
that share an active ingredient
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
List branded and generic products for an ingredient RXCUI (or name).
- class tooluniverse.RxNormTool[源代码]¶
基类:
BaseToolTool for querying RxNorm API to get drug standardization information.
This tool performs a two-step process: 1. Look up RXCUI (RxNorm Concept Unique Identifier) by drug name 2. Retrieve all associated names (generic names, brand names, synonyms, etc.) using RXCUI
- _preprocess_drug_name(drug_name)[源代码]¶
Preprocess drug name to improve matching success rate. Removes common patterns that might prevent matching: - Dosage information (e.g., “200mg”, “81mg”) - Formulations (e.g., “tablet”, “capsule”, “oral”) - Modifiers (e.g., “Extra Strength”, “Extended Release”) - Special characters that might interfere
- _get_all_names_by_rxcui(rxcui)[源代码]¶
Get all names associated with an RXCUI, including generic names, brand names, and synonyms.
- run(arguments)[源代码]¶
Execute the RxNorm tool.
- 参数:
arguments (Dict[str, Any]) – Dictionary containing: - drug_name (str, required): The name of the drug to search for
- 返回:
rxcui: The RxNorm Concept Unique Identifier
names: List of all associated names (generic names, brand names, synonyms, etc.)
drug_name: The original drug name queried
processed_name: The preprocessed drug name used for search (if different)
- 返回类型:
Dictionary containing
- class tooluniverse.SABIORKTool[源代码]¶
基类:
BaseToolTool for querying SABIO-RK biochemical reaction kinetics database.
Retrieves kinetic parameters (Km, kcat, Vmax, Ki, etc.) with experimental conditions, organism, and literature references.
No authentication required.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SASBDBRESTTool[源代码]¶
基类:
BaseToolSASBDB API tool for small-angle scattering (SAXS/SANS) data.
- class tooluniverse.SASBDBSearchTool[源代码]¶
基类:
BaseToolSASBDB search tool - lists entries by molecular type or all entries.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SASBDBTextSearchTool[源代码]¶
基类:
BaseToolSASBDB search by text query — routes to UniProt lookup or molecular-type listing.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SAbDabTool[源代码]¶
基类:
BaseToolTool for querying SAbDab structural antibody database.
SAbDab provides: - Antibody structures from PDB - CDR (complementarity-determining region) annotations - Heavy/light chain pairing information - Antigen binding information
No authentication required.
- class tooluniverse.SCExpressionAtlasTool[源代码]¶
基类:
BaseToolTool for querying EBI Single Cell Expression Atlas.
Supports listing single-cell RNA-seq experiments with metadata (species, cell counts, technology, factors) and searching for experiments where a gene is expressed at single-cell resolution.
No authentication required.
- class tooluniverse.SCREENRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SGDTool[源代码]¶
基类:
BaseToolTool for querying the Saccharomyces Genome Database (SGD).
SGD provides curated information about the budding yeast S. cerevisiae, including gene function, phenotypes, interactions, GO annotations, pathways, and literature.
No authentication required.
- class tooluniverse.SIGNListGuidelinesTool[源代码]¶
基类:
BaseToolList SIGN (Scottish Intercollegiate Guidelines Network) clinical guidelines, optionally filtered by clinical topic/specialty. Returns up to limit guidelines from the full SIGN guidelines table.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SIGNORTool[源代码]¶
基类:
BaseToolQuery SIGNOR for causal signaling relationships and pathways.
- run(params)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SIGNSearchGuidelinesTool[源代码]¶
基类:
BaseToolSearch SIGN (Scottish Intercollegiate Guidelines Network) clinical guidelines by keyword. Fetches the full SIGN guidelines table (84 guidelines as of 2024) and filters results client-side.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SIMBADAdvancedTool[源代码]¶
基类:
BaseToolAdvanced SIMBAD queries using TAP (Table Access Protocol) for complex queries.
This tool allows ADQL (Astronomical Data Query Language) queries for more sophisticated database searches.
- class tooluniverse.SIMBADTool[源代码]¶
基类:
BaseToolQuery the SIMBAD astronomical database for object information.
SIMBAD (Set of Identifications, Measurements, and Bibliography for Astronomical Data) is a comprehensive database of astronomical objects beyond the Solar System.
- class tooluniverse.SMILESVerifyTool[源代码]¶
基类:
BaseToolParse SMILES and compute/verify molecular properties without RDKit.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SRATool[源代码]¶
基类:
BaseToolTool for searching NCBI SRA (Sequence Read Archive) for sequencing experiments, runs, and studies.
Supports keyword search, organism filtering, and retrieval of experiment metadata including platform, library strategy, and run statistics.
No authentication required.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.STITCHTool[源代码]¶
基类:
BaseToolTool for querying STITCH database.
STITCH provides chemical-protein interaction data including: - Known drug-target interactions - Predicted chemical-protein interactions - Interaction scores and evidence - Network analysis data
No authentication required. Free for academic/research use.
- _get_interactions(arguments)[源代码]¶
Get chemical-protein interactions.
Endpoint: GET /json/interactions
- class tooluniverse.STRINGExtTool[源代码]¶
基类:
BaseToolExtended STRING API tool for functional annotation queries.
Complements existing STRING tools (interactions, enrichment, network, PPI enrichment) by providing per-protein functional annotations from GO, KEGG, DISEASES, TISSUES, COMPARTMENTS, and other databases.
No authentication required.
- class tooluniverse.STRINGRESTTool[源代码]¶
基类:
BaseToolSTRING Database REST API tool. Generic wrapper for STRING API endpoints defined in ppi_tools.json.
- class tooluniverse.SYNERGxDBTool[源代码]¶
基类:
BaseToolTool for querying the SYNERGxDB drug combination synergy database.
SYNERGxDB is a comprehensive database integrating drug combination screening data from 9 major studies with synergy scores (Bliss, Loewe, HSA, ZIP) and pharmacogenomic biomarker associations.
Supported operations: - search_combos: Search drug combination synergy scores - get_combo_matrix: Get dose-response matrix data - list_drugs: List all drugs in the database - get_drug: Get drug details by ID - list_cell_lines: List all cell lines - list_datasets: List all screening datasets - get_combo_stats: Get per-dataset combination statistics
- _DATASET_NAME_TO_ID = {'CLOUD': 6, 'DECREASE': 9, 'MERCK': 1, 'MIT-MELANOMA': 7, 'NCI-ALMANAC': 2, 'STANFORD': 8, 'VISAGE': 10, 'YALE-PDAC': 4, 'YALE-TNBC': 5}¶
- _TISSUE_ALIASES: Dict[str, str] = {'brca': 'breast', 'cns': 'brain', 'colon': 'colorectal', 'colon cancer': 'colorectal', 'colorectal cancer': 'colorectal', 'crc': 'colorectal', 'gastroesophageal': 'upper digestive tract', 'gbm': 'brain', 'glioblastoma': 'brain', 'glioma': 'brain', 'leukemia': 'blood', 'luad': 'lung', 'lymphoma': 'blood', 'melanoma': 'skin', 'nsclc': 'lung', 'rectal': 'colorectal', 'upper gi': 'upper digestive tract'}¶
- _DRUG_SYNONYMS: Dict[str, str] = {'5 fluorouracil': 'fluorouracil', '5-fluorouracil': 'fluorouracil', '5-fu': 'fluorouracil', '5fu': 'fluorouracil', 'avastin': 'bevacizumab', 'carboplatin': 'carboplat', 'cis-platinum': 'diamminedichloroplatinum', 'cisplatin': 'diamminedichloroplatinum', 'gleevec': 'imatinib', 'herceptin': 'trastuzumab', 'iressa': 'gefitinib', 'platinol': 'diamminedichloroplatinum', 'rituxan': 'rituximab', 'sprycel': 'dasatinib', 'tarceva': 'erlotinib', 'taxol': 'paclitaxel', 'taxotere': 'docetaxel', 'velcade': 'bortezomib'}¶
- class tooluniverse.ScientificCalculatorTool[源代码]¶
基类:
BaseToolGeneral-purpose scientific calculators.
No external API calls. Provides: - DNA translation in all 3 reading frames - Molecular formula analysis and combustion analysis - Chemical equilibrium solver (Ksp, complex formation, common-ion) - Enzyme kinetics (Km/Vmax, Hill, Ki) - Statistical tests (chi-square, Fisher, regression, t-test)
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SearchSPLTool[源代码]¶
基类:
BaseTool根据多个筛选条件(drug_name/ndc/rxcui/setid/published_date)搜索SPL列表。返回原始的DailyMed API JSON(包括元数据和数据数组)。
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SemanticScholarPDFSnippetsTool[源代码]¶
基类:
BaseToolFetch a paper’s PDF from Semantic Scholar and return bounded text snippets around user-provided terms. Uses markitdown to convert PDF to markdown text.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SemanticScholarTool[源代码]¶
基类:
BaseTool用于在Semantic Scholar上搜索论文(包括摘要)的工具。
API key is read from environment variable SEMANTIC_SCHOLAR_API_KEY. Request an API key at: https://www.semanticscholar.org/product/api
Rate limits: - Without API key: 1 request/second - With API key: 100 requests/second
- _last_request_time = 0.0¶
- _rate_limit_lock = <unlocked _thread.lock object>¶
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SequenceAnalyzeTool[源代码]¶
基类:
BaseToolSequence analysis: residue counting, GC content, reverse complement, stats.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.SiderTool[源代码]¶
基类:
BaseToolTool for querying the SIDER drug side effects database.
SIDER contains information on marketed medicines and their recorded adverse drug reactions extracted from drug labels. It includes side effect frequencies, therapeutic indications, and MedDRA concept codes.
Supported operations: - search_drug: Search for a drug by name and get its SIDER ID - get_side_effects: Get side effects for a drug (with frequencies if available) - get_indications: Get therapeutic indications for a drug - get_drugs_for_side_effect: Find drugs associated with a specific side effect - search_side_effect: Search for a side effect by name
- class tooluniverse.SmolAgentTool[源代码]¶
基类:
BaseToolWrap smolagents agents so they can be used as ToolUniverse tools.
Supports: - CodeAgent, ToolCallingAgent, Agent, ManagedAgent - Mixed tools: ToolUniverse tools and smolagents-native tools - Streaming integration with ToolUniverse stream callbacks
- _import_smolagents_tool(class_name, import_path)[源代码]¶
Dynamically import smolagents tool class with helpful error messages.
- run(arguments, stream_callback=None, **_)[源代码]¶
Execute the agent with optional streaming back into ToolUniverse.
Supports: - Streaming output (when stream_callback is provided and agent.stream_outputs=True) - Execution timeout (via agent_init_params.max_execution_time) - Thread-safe stdout/stderr redirection
- class tooluniverse.SpliceAITool[源代码]¶
基类:
BaseToolSpliceAI and Pangolin Splice Prediction API tool.
Provides access to deep learning-based splice prediction scores from the Broad Institute’s SpliceAI Lookup service.
- class tooluniverse.SurvivalTool[源代码]¶
基类:
BaseToolLocal survival analysis tools.
Implements: - Kaplan-Meier survival estimator - Log-rank test (Mantel-Cox) - Cox proportional hazards regression (basic)
No external API required. Uses numpy/scipy.
- _km_estimator(durations, events)[源代码]¶
Compute Kaplan-Meier product-limit survival estimate with Greenwood 95% CI.
Returns (times, survival, at_risk, events_at_t, n_censored, ci_lower, ci_upper). All returned lists have the same length (N+1), with index 0 representing the baseline (t=0, S=1, all subjects at risk, zero events/censored).
95% confidence intervals use the log-log (complementary log-log) transformation, the default in R survfit() and recommended by Collett (2015):
Greenwood sum G = sum_j( d_j / (n_j * (n_j - d_j)) ) U = log(-log(S(t))) (complementary log-log) SE_U = sqrt(G) / |log(S(t))| (delta method) CI = [S(t)^exp(+1.96*SE_U), S(t)^exp(-1.96*SE_U)]
Result is naturally in (0, 1) without clamping. Edge cases: S=1 → CI=[1,1]; S=0 → CI=[0,0]; |log(S)| < 1e-10 → plain linear fallback to avoid numerical blow-up.
- References: Collett (2015) Modelling Survival Data in Medical Research, §2.3;
Kalbfleisch & Prentice (2002) §1.3.
- _kaplan_meier(arguments)[源代码]¶
Compute Kaplan-Meier survival estimate.
durations: list of observed times event_observed: list of 1 (event occurred) or 0 (censored) group_labels: optional list of group labels for stratified analysis
- class tooluniverse.SwissADMETool[源代码]¶
基类:
BaseToolTool for computing ADMET properties and drug-likeness using SwissADME.
Supported operations: - calculate_adme: Compute full ADMET property profile for a SMILES molecule - check_druglikeness: Quick drug-likeness filter check
- _submit_and_get_csv(smiles, name=None)[源代码]¶
Submit SMILES to SwissADME and retrieve the CSV results.
Returns the CSV text content on success, or None on failure.
- class tooluniverse.SwissDockTool[源代码]¶
基类:
AsyncPollingToolTool for molecular docking using SwissDock REST API with AsyncPollingTool base class.
SwissDock performs protein-ligand docking using: - Attracting Cavities 2.0 (default) - cavity-based docking - AutoDock Vina - blind or targeted docking
Now uses AsyncPollingTool for automatic polling, progress reporting, and timeout management.
- _set_docking_parameters(session_id, exhaustiveness=8, box_center=None, box_size=None, docking_engine='attracting_cavities')[源代码]¶
Set docking parameters (raises on error).
- _STATUS_KEYWORD_MAP = [(('COMPLETE', 'FINISHED', 'DONE'), 'FINISHED'), (('RUNNING', 'PROGRESS'), 'RUNNING'), (('ERROR', 'FAIL'), 'ERROR')]¶
- submit_job(arguments)[源代码]¶
Submit docking job through multi-step workflow.
This handles the complete SwissDock workflow: 1. Check server status 2. Prepare ligand from SMILES 3. Prepare target protein 4. Set docking parameters 5. Start docking job
Returns session_id for polling.
- check_status(job_id)[源代码]¶
Check SwissDock job status and retrieve results if complete.
- 参数:
job_id (str) – Session ID from submit_job()
- 返回:
done (bool): True if complete
result (any): Results if done
progress (int): Progress percentage
error (str): Error message if failed
- 返回类型:
Dict with keys
- _OPERATION_HANDLERS = {'check_job_status': '_check_job_status_operation', 'retrieve_results': '_retrieve_results_operation'}¶
- async run(arguments, progress=None)[源代码]¶
Execute the SwissDock API call.
Routes to appropriate operation handler based on tool configuration.
- async _check_job_status_operation(arguments)[源代码]¶
Check the status of a docking job by session ID (instant operation).
- async _retrieve_results_operation(arguments)[源代码]¶
Retrieve results for a completed docking job (instant operation).
- _abc_impl = <_abc._abc_data object>¶
- class tooluniverse.SwissModelTool[源代码]¶
基类:
BaseToolTool for querying the SWISS-MODEL Repository.
Provides pre-computed protein homology models for UniProt entries, including template structures, sequence coverage, quality metrics, and download coordinates.
No authentication required.
- class tooluniverse.SwissTargetTool[源代码]¶
基类:
BaseToolTool for predicting protein targets of small molecules using SwissTargetPrediction.
SwissTargetPrediction uses a combination of 2D (FP2, MACCS, Morgan) and 3D (Electroshape) similarity measures to predict the most probable macromolecular targets of a small molecule.
Supported operations: - predict: Predict protein targets for a given SMILES - get_organisms: List supported organisms for prediction
- _predict(arguments)[源代码]¶
Predict protein targets for a SMILES molecule.
Workflow: 1. POST SMILES + organism to predict.php (streamed response) 2. Extract job redirect URL from the last <script> tag 3. GET result.php?job=X&organism=Y to fetch results 4. Parse the HTML DataTable into structured data
- _extract_job_url(html)[源代码]¶
Extract the result page URL from the streamed predict.php response.
The predict.php response uses chunked transfer encoding to stream progress updates. The final chunk contains a JavaScript redirect: location.replace(”http://www.swisstargetprediction.ch/result.php?job=XXXX&organism=Y”);
- class tooluniverse.SynBioHubTool[源代码]¶
基类:
BaseToolTool for querying SynBioHub, a synthetic biology parts repository.
SynBioHub hosts the iGEM Registry (20,000+ BioBricks), as well as other public collections of genetic parts and designs encoded in SBOL format. Parts include promoters, coding sequences (CDS), terminators, ribosome binding sites (RBS), reporters (GFP, RFP, LacZ), regulatory elements, and composite devices.
Supports: search parts by keyword, list collections, get part SBOL data.
No authentication required for public collections.
- class tooluniverse.T3DBTool[源代码]¶
基类:
BaseToolTool for querying the Toxin and Toxin-Target Database (T3DB).
Supported operations: - get_toxin: Get detailed toxin info by T3DB ID - search_toxins: Search toxins by name
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.TCDBTool[源代码]¶
基类:
BaseToolTool for querying TCDB (Transporter Classification Database).
Supports lookup by UniProt accession, family search by TC# or name, and substrate-based search. Data is fetched from bulk flat files and cached in memory.
- _get_human_transporters()[源代码]¶
Parse human.csv into {uniprot_acc: {name, symbol, aliases, tc_number}}.
- _family_for_tc(tc_number, families)[源代码]¶
Find the family description for a TC number by matching prefixes.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.TIMERTool[源代码]¶
基类:
BaseToolReplicates TIMER2.0 tumor immune estimation using cBioPortal TCGA data.
Since TIMER3.0 no longer has a public REST API, this tool queries cBioPortal (www.cbioportal.org) for TCGA expression and survival data and computes equivalent statistics locally.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.TRIPDatabaseTool[源代码]¶
基类:
BaseToolSearch TRIP Database (Turning Research into Practice). Specialized evidence-based medicine database with clinical guidelines filter.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- _search_trip_database(query, limit, search_type)[源代码]¶
Search TRIP Database for clinical guidelines.
- _fetch_guideline_content(url)[源代码]¶
Extract content from a guideline URL using targeted parsers when available.
- class tooluniverse.TermInfo[源代码]¶
基类:
BaseModelBasic term representation returned by OLS.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- iri: HttpUrl¶
- _abc_impl = <_abc._abc_data object>¶
- class tooluniverse.TermSearchResponse[源代码]¶
-
Paginated set of OLS terms.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tooluniverse.TextDownloadTool[源代码]¶
基类:
BaseToolDownload and return text content from URLs.
Optimized for text files - returns content as string directly. Supports encoding detection and normalization.
Expects: {“url”: “https://…”} Optional: {“encoding”: “utf-8”, “timeout”: seconds} Returns: {“content”: “text content”, “encoding”: “utf-8”}
- class tooluniverse.TheraSAbDabTool[源代码]¶
基类:
BaseToolTool for querying Thera-SAbDab therapeutic antibody database.
Provides access to: - WHO INN therapeutic antibody names - Heavy/light chain sequences - Target antigens - Clinical trial status - PDB structural coverage
No authentication required.
- _therapeutics_cache = None¶
- _search_therapeutics(arguments)[源代码]¶
Search therapeutic antibodies by name or keyword.
Searches the Thera-SAbDab database for matching therapeutics.
- class tooluniverse.ThreeDBeaconsTool[源代码]¶
基类:
BaseToolTool for 3D Beacons Hub API providing aggregated 3D structure models from multiple providers for a given UniProt protein accession.
Aggregates experimental structures (PDBe), predicted models (AlphaFold DB), homology models (SWISS-MODEL), conformational ensembles (PED), and more.
No authentication required.
- class tooluniverse.ToolFinderEmbedding[源代码]¶
基类:
BaseTool一种工具查找模型,使用RAG(检索增强生成)通过语义相似性搜索,根据用户查询查找相关工具。
该类利用句子转换器对工具描述进行编码,并通过基于嵌入的相似性匹配,为给定的查询找到最相关的工具。
- rag_model¶
加载的句子转换器模型
- 类型:
句子转换器
- tool_desc_embedding¶
工具描述的缓存嵌入
- 类型:
torch.Tensor
- tool_name¶
可用工具名称列表
- 类型:
列表
- special_tools_name¶
排除结果的特殊工具列表
- 类型:
列表
- tooluniverse¶
参考包含所有工具的工具库
- __init__(tool_config, tooluniverse)[源代码]¶
使用配置和RAG模型初始化ToolFinderEmbedding。
- 参数:
tool_config (
dict) – 工具的配置字典
- _maybe_refresh_embeddings()[源代码]¶
Check if the tool list has changed and refresh embeddings if needed.
This method is called before each Tool_RAG query to ensure the embeddings are up-to-date with the currently loaded tools. This is critical when using Tool_RAG via HTTP API where tools are loaded dynamically.
- load_rag_model()[源代码]¶
加载用于基于RAG的工具检索的句子转换器模型。
将模型配置为适当的序列长度和分词器设置,以优化工具描述编码的性能。
The model is automatically moved to GPU if available for faster inference.
- 抛出:
ImportError – If sentence-transformers is not installed.
- load_tool_desc_embedding(tooluniverse, include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
从工具库中加载或生成工具描述的嵌入数据。
此方法会从磁盘加载缓存的嵌入向量,或者通过编码所有工具描述生成新的嵌入向量。嵌入向量会被缓存到磁盘,以加快后续加载速度。在生成嵌入向量后,会适当清理内存以避免出现内存溢出(OOM)问题。
- 参数:
tooluniverse – ToolUniverse 实例,包含所有可用工具
include_names (
list, optional) – 特定工具名称包括exclude_names (
list, optional) – 要排除的工具名称include_categories (
list, optional) – 工具类别包括exclude_categories (
list, optional) – 要排除的工具类别
- rag_infer(query, top_k=5)[源代码]¶
执行 RAG 推理以查找与给定查询最相关的工具。
利用查询嵌入与预先计算的工具嵌入之间的语义相似性来识别最相关的工具。
- 参数:
query (
str) – 用户查询或所需功能的描述top_k (
int, optional) – 返回的顶级工具数量。默认为5。
- 退货
list: List of top-k tool names ranked by relevance to the query
- 抛出:
ImportError – If dependencies are not available.
SystemExit – 如果未加载 tool_desc_embedding
- find_tools(message=None, picked_tool_names=None, rag_num=5, return_call_result=False, categories=None)[源代码]¶
根据消息或预先选择的工具名称查找相关工具。
此方法通过RAG推理根据消息查找工具,或处理预先选择的工具名称列表。它会过滤掉特殊工具,并返回适用于代理工作流程的工具提示。
- 参数:
message (
str, optional) – 查询消息以查找工具。如果 picked_tool_names 为 None,则此项为必填。picked_tool_names (
list, optional) – 预先选择的工具名称以进行处理。如果消息为 None,则此项为必填。rag_num (
int, optional) – 筛选后返回的工具数量。默认值为5。return_call_result (
bool, optional) – 如果为 True,则返回提示和工具名称。默认为 False。categories (
list, optional) – 工具类别筛选列表。目前尚未针对基于嵌入的搜索实现。
- 退货
- str or tuple:
如果 return_call_result 为 False:工具将以格式化字符串的形式提示
如果 return_call_result 为 True:返回 (tool_prompts, tool_names) 的元组
- 抛出:
AssertionError – 如果 message 和 picked_tool_names 都为 None
- class tooluniverse.ToolFinderKeyword[源代码]¶
基类:
BaseTool高级基于关键词的工具查找器,采用复杂的文本处理技术和TF-IDF评分算法。
该类实现了用于工具发现的自然语言处理技术,包括: - 分词和规范化 - 停用词移除 - 基本词干提取 - TF-IDF 相关性评分 - 语义短语匹配
搜索通过解析用户查询以提取关键术语,将其通过自然语言处理(NLP)管道进行处理,并与预先构建的工具元数据索引进行匹配,从而实现高效且相关的工具发现。
- STOP_WORDS = {'a', 'all', 'an', 'and', 'any', 'are', 'as', 'at', 'be', 'boy', 'but', 'by', 'came', 'can', 'day', 'did', 'do', 'down', 'each', 'for', 'from', 'get', 'had', 'has', 'have', 'he', 'how', 'if', 'in', 'is', 'it', 'its', 'long', 'made', 'may', 'new', 'no', 'now', 'number', 'of', 'old', 'on', 'part', 'said', 'see', 'that', 'the', 'their', 'they', 'this', 'time', 'to', 'two', 'up', 'use', 'was', 'way', 'what', 'which', 'who', 'will', 'with', 'your'}¶
- STEMMING_RULES = [('ies', 'y'), ('ied', 'y'), ('ying', 'y'), ('ing', ''), ('ly', ''), ('ed', ''), ('ies', 'y'), ('ier', 'y'), ('iest', 'y'), ('s', ''), ('es', ''), ('er', ''), ('est', ''), ('tion', 't'), ('sion', 's'), ('ness', ''), ('ment', ''), ('able', ''), ('ible', ''), ('ful', ''), ('less', ''), ('ous', ''), ('ive', ''), ('al', ''), ('ic', ''), ('ize', ''), ('ise', ''), ('ate', ''), ('fy', ''), ('ify', '')]¶
- __init__(tool_config, tooluniverse=None)[源代码]¶
初始化高级基于关键字的工具查找器。
- 参数:
tool_config (
dict) – 工具的配置字典tooluniverse – 引用包含所有工具的 ToolUniverse 实例
- _tokenize_and_normalize(text)[源代码]¶
Tokenize text and apply normalization including stop word removal and stemming.
- 参数:
text (
str) – Input text to tokenize
- 退货
List[str]: List of processed tokens
- _apply_stemming(word)[源代码]¶
Apply basic stemming rules to reduce words to their root form.
- 参数:
word (
str) – Word to stem
- 退货
str: Stemmed word
- _extract_phrases(tokens, max_phrase_length=3)[源代码]¶
Extract meaningful phrases from tokens for better semantic matching.
- 参数:
tokens (
List[str]) – Tokenized wordsmax_phrase_length (
int) – Maximum length of phrases to extract
- 退货
List[str]: List of phrases and individual tokens
- _build_tool_index(tools)[源代码]¶
Build TF-IDF index for all tools to enable efficient relevance scoring.
- 参数:
tools (
List[Dict]) – List of tool configurations
- _extract_parameter_text(parameter_schema)[源代码]¶
Extract searchable text from parameter schema.
Only parameter names are indexed (not their free-text descriptions). Parameter descriptions often contain boilerplate phrases like “Whether to include usage examples and quick start guide” that appear identically across many tools, inflating term frequencies for words like “guide” and producing false matches for domain-specific queries (e.g. “CRISPR guide RNA design”). Parameter names (e.g. “sequence_type”, “gene_id”, “format”) are more discriminating and carry genuine signal about tool capabilities.
- 参数:
parameter_schema (
Dict) – Tool parameter schema
- 退货
List[str]: List of parameter name text elements
- _calculate_tfidf_score(query_terms, tool_name)[源代码]¶
Calculate BM25-based relevance score for a tool given query terms.
BM25 (Best Match 25) is a bag-of-words retrieval function that improves on plain TF-IDF by incorporating document-length normalization directly into the term-frequency saturation formula. This eliminates the bias where short tool descriptions (few tokens) score disproportionately high because their TF values are inflated by a small denominator.
- BM25 term score for a single term t in document d:
IDF(t) * (tf * (k1 + 1)) / (tf + k1 * (1 - b + b * dl / avgdl))
- where:
tf = raw count of term in document dl = document length (raw token count, not phrase count) avgdl = average document length across all indexed tools k1 = term-frequency saturation parameter (default 1.5) b = document-length normalization strength (default 0.75)
Using raw_token_count (word-only length, without bigrams/trigrams) as dl so that phrase expansion does not double-penalize longer documents.
- 参数:
query_terms (
List[str]) – Processed query terms and phrasestool_name (
str) – Name of the tool to score
- 退货
float: BM25 relevance score
- _calculate_exact_match_bonus(query, tool)[源代码]¶
Calculate bonus score for exact matches in tool name or key phrases.
Tool names use underscores as word separators (e.g. “BLAST_nucleotide_search”), so the query is also checked in its underscore-normalized form so that “UniProt search” correctly matches “uniprot_search”.
Individual query tokens are also checked against the tool name so that a query like “sequence alignment BLAST” gives a bonus to BLAST_nucleotide_search even though the full query string does not appear literally in the name.
- 参数:
query (
str) – Original query stringtool (
Dict) – Tool configuration
- 退货
float: Exact match bonus score
- find_tools(message=None, picked_tool_names=None, rag_num=5, return_call_result=False, categories=None)[源代码]¶
根据消息或预先选择的工具名称查找相关工具。
此方法与其他工具查找器的接口保持一致,以确保无缝替换。它使用基于关键字的搜索,而非嵌入相似性搜索。
- 参数:
message (
str, optional) – 查询消息以查找工具。如果 picked_tool_names 为 None,则此项为必填。picked_tool_names (
list, optional) – 预先选择的工具名称以进行处理。如果消息为 None,则此项为必填。rag_num (
int, optional) – 筛选后返回的工具数量。默认值为5。return_call_result (
bool, optional) – 如果为 True,则返回提示和工具名称。默认为 False。categories (
list, optional) – 工具类别筛选列表
- 退货
- str or tuple:
如果 return_call_result 为 False:工具将以格式化字符串的形式提示
如果 return_call_result 为 True:返回 (tool_prompts, tool_names) 的元组
- 抛出:
AssertionError – 如果 message 和 picked_tool_names 都为 None
- run(arguments)[源代码]¶
使用基于高级关键词的搜索功能,结合NLP处理和TF-IDF评分来查找工具。
此方法提供了与其他工具查找器兼容的统一接口。
- 参数:
arguments (
dict) – 字典包含: - description(字符串):搜索查询字符串(统一参数名称) - categories(列表,可选):用于筛选的类别列表 - limit(整数,可选):返回结果的最大数量(默认值:10) - picked_tool_names(列表,可选):预选的工具名称列表 - return_call_result(布尔值,可选):是否同时返回提示和名称。默认值为 False。
- 退货
- str or tuple:
如果 return_call_result 为 False:工具将以格式化字符串的形式提示
如果 return_call_result 为 True:返回 (tool_prompts, tool_names) 的元组
- class tooluniverse.ToolFinderLLM[源代码]¶
基类:
BaseTool基于LLM的工具查找器,利用自然语言处理技术选择相关工具。
此类利用AgenticTool的LLM功能来分析工具描述并将其与用户查询匹配。通过仅向LLM发送必要信息(工具名称和描述),优化了上下文窗口成本,提供了一种智能的替代方案,以替代基于嵌入的相似性搜索。
成本优化: - 在LLM提示中仅包含工具名称和描述 - 使用紧凑格式以最小化Token使用量 - 排除不必要的工具元数据和参数 - 实现缓存以避免重复的工具处理
- __init__(tool_config, tooluniverse=None)[源代码]¶
初始化基于LLM的工具查找器。
- 参数:
tool_config (
dict) – 包含LLM设置和提示的配置字典tooluniverse – 引用包含所有工具的 ToolUniverse 实例
- _get_tool_selection_prompt()[源代码]¶
Get the prompt template for tool selection. Optimized for minimal token usage.
- _get_available_tools(force_refresh=False)[源代码]¶
Get available tools with their descriptions, with caching.
- 参数:
force_refresh (
bool) – Whether to force refresh the cache
- 退货
list: List of tool dictionaries with names and descriptions
- _prefilter_tools_by_keywords(available_tools, query, max_tools=100)[源代码]¶
Pre-filter tools using keyword matching to reduce context size before LLM processing.
- 参数:
- 退货
list: Filtered list of tools
- _format_tools_for_prompt(tools)[源代码]¶
Format tools for inclusion in the LLM prompt with minimal information to reduce context cost. Only includes name and description to minimize token usage.
- 参数:
tools (
list) – List of tool dictionaries
- 退货
str: Compact formatted tool descriptions for the prompt
- find_tools_llm(query, limit=5, include_reasoning=False, categories=None)[源代码]¶
使用基于LLM的选择功能查找相关工具。
- 参数:
- 退货
dict: Dictionary containing selected tools and metadata
- find_tools(message=None, picked_tool_names=None, rag_num=5, return_call_result=False, categories=None, return_list_only=None)[源代码]¶
根据消息或预先选择的工具名称查找相关工具。
此方法与原始的ToolFinderEmbedding接口保持一致,以确保无缝替换。它使用基于LLM的选择方法,而非嵌入相似性。
- 参数:
message (
str, optional) – 查询消息以查找工具。如果 picked_tool_names 为 None,则此项为必填。picked_tool_names (
list, optional) – 预先选择的工具名称以进行处理。如果消息为 None,则此项为必填。rag_num (
int, optional) – 筛选后返回的工具数量。默认值为5。return_call_result (
bool, optional) – 如果为 True,则返回提示和工具名称。默认为 False。categories (
list, optional) – 工具类别筛选列表。在选择LLM之前应用。return_list_only (
bool, optional) – 如果为 True,则仅返回工具规格列表。此选项会覆盖其他返回选项。
- 退货
- str, tuple, or list:
如果 return_list_only 为 True:工具规格列表
如果 return_call_result 为 False:工具将以格式化字符串的形式提示
如果 return_call_result 为 True:返回 (tool_prompts, tool_names) 的元组
- 抛出:
AssertionError – 如果 message 和 picked_tool_names 都为 None
- _format_as_json(result, query, limit, categories, return_call_result)[源代码]¶
Format the find_tools result as a standardized JSON string.
- 参数:
result – Result from find_tools method (either string, list, or tuple)
query – Original search query
limit – Requested number of tools
categories – Requested categories filter
return_call_result – Whether return_call_result was True
- 退货
str: JSON formatted search results
- run(arguments)[源代码]¶
根据标准工具接口,使用给定的参数运行工具查找器。
此方法现在默认返回JSON格式,以确保与其他搜索工具的一致性并简化与SMCP的集成。
- 参数:
arguments (
dict) – 包含以下内容的字典: - **description**(字符串,可选):用于查询工具的消息(对应“message”) - **limit**(整数,可选):返回的工具数量(对应“rag_num”)。默认为5。 - **picked_tool_names**(列表,可选):预先选择要处理的工具名称 - **return_call_result**(布尔值,可选):是否同时返回提示和名称。默认为False。 - **return_format**(字符串,可选):返回格式为“json”(默认)或“legacy”(旧格式) - **return_list_only**(布尔值,可选):是否仅以列表形式返回工具规格 - **categories**(列表,可选):用于筛选的工具类别列表
- class tooluniverse.ToolUniversePageTool[源代码]¶
基类:
BaseToolReturn the public ToolUniverse web page URL for a tool by its name.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.ToolUniverseTool[源代码]¶
基类:
objectAdapter that wraps a ToolUniverse tool and exposes it as a smolagents Tool.
We create the real subclass dynamically to avoid hard dependency when the module is imported without smolagents installed.
- class tooluniverse.UCSCEpigenomicsTool[源代码]¶
基类:
BaseToolUCSC Genome Browser epigenomics-specific tools.
Provides access to: - CpG island annotations - ENCODE4 candidate cis-Regulatory Elements (cCREs) - Transcription Factor binding site clusters
No authentication required.
- class tooluniverse.UCSCGenomeTool[源代码]¶
基类:
BaseToolTool for querying the UCSC Genome Browser REST API.
Provides genomic search, DNA sequence retrieval, and annotation track data for 220+ genome assemblies (hg38, mm39, etc.).
No authentication required.
- class tooluniverse.URLHTMLTagTool[源代码]¶
基类:
BaseTool获取网页并提取指定HTML标签的内容。 预期输入:{“url”: “https://…”} 需提取的标签在工具配置中指定。 可选参数:{“timeout”: <秒>}(默认值为20) 返回值:{“content”: “<提取的内容>”} 或 {“error”: “…”}
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.URLToPDFTextTool[源代码]¶
基类:
BaseTool加载网页(包含 JavaScript),将其导出为 PDF,并提取文本。 期望输入:{“url”: “https://…”} 可选参数:{“timeout”: <秒>}(默认值为 30) 返回值:{“text”: “<提取的文本>”} 或 {“error”: “…”}
- _ensure_playwright_browsers(browsers=('chromium',), with_deps=False, timeout_seconds=600)[源代码]¶
Ensure Playwright browser binaries are installed.
- 退货
None on success, or an error string on failure.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.USPTOOpenDataPortalTool[源代码]¶
基类:
BaseTool用于与USPTO开放数据门户API交互的工具,可用于搜索和检索专利信息。运行方法会根据提供的工具配置动态构建API请求。
- class tooluniverse.UniChemTool[源代码]¶
基类:
BaseToolTool for querying UniChem compound cross-referencing service.
Maps chemical identifiers across 40+ databases using InChIKey, source compound IDs, or UCIs (UniChem Compound Identifiers).
No authentication required.
- class tooluniverse.UniParcTool[源代码]¶
基类:
BaseToolTool for querying UniProt UniParc sequence archive.
Supports: - Get UniParc entry by UPI identifier (cross-references, sequence features) - Search UniParc by gene name, organism, database membership
No authentication required.
- class tooluniverse.UniProtIDMappingTool[源代码]¶
基类:
BaseToolTool for converting identifiers between databases using the UniProt ID Mapping service.
Handles the async submit -> poll -> results workflow automatically. No authentication required.
- class tooluniverse.UniProtLocationsTool[源代码]¶
基类:
BaseToolTool for querying the UniProt Subcellular Locations database.
Supports: - Get location details by ID (SL-XXXX) - Search locations by name or keyword
No authentication required.
- class tooluniverse.UniProtRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.UniProtRefTool[源代码]¶
基类:
BaseToolTool for querying UniProt reference datasets (diseases, keywords, proteomes).
UniProt maintains curated controlled vocabularies that standardize protein annotations across the database. This tool provides access to: - Disease vocabulary: 6K+ curated disease entries with cross-refs to OMIM, MeSH, MedGen - Keyword vocabulary: 1.2K+ standardized terms for biological process, function, etc. - Proteomes: Reference proteome summaries with assembly and component data
No authentication required.
- class tooluniverse.UniProtTaxonomyTool[源代码]¶
基类:
BaseToolTool for querying UniProt taxonomy data.
Supports: - Get taxonomy details by NCBI taxon ID - Search taxonomy by name
No authentication required.
- class tooluniverse.UniRefTool[源代码]¶
基类:
BaseToolTool for querying UniProt UniRef protein sequence clusters.
Supports: - Get cluster details by ID (UniRef90_XXXXX, UniRef50_XXXXX, UniRef100_XXXXX) - Search clusters by protein name, gene, or organism
No authentication required.
- class tooluniverse.UnpaywallTool[源代码]¶
基类:
BaseToolQuery Unpaywall by DOI to check open-access status, OA locations, and retrieve full-text URLs.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.UsageTipsTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.VDJDBTool[源代码]¶
基类:
BaseToolTool for querying the VDJdb T-cell receptor sequence database.
VDJdb is a curated database of TCR sequences with experimentally verified antigen specificity. It links CDR3 sequences to specific epitopes, MHC alleles, and antigen sources.
Supported operations: - search_cdr3: Search by CDR3 amino acid sequence - get_antigen_specificity: Search by epitope sequence - get_database_summary: Get database statistics
- _post_search(filters, page=None, page_size=25, paired=False, sort=None)[源代码]¶
Make a POST search request to VDJdb API.
- class tooluniverse.VisualizationTool[源代码]¶
基类:
BaseToolBase class for all visualization tools in ToolUniverse.
Provides common functionality for: - HTML generation and embedding - Static image conversion - Error handling - Output formatting
- create_visualization_response(html_content, viz_type, data=None, static_image=None, metadata=None)[源代码]¶
Create a standardized visualization response.
- create_error_response(error_message, error_type='VisualizationError')[源代码]¶
Create a standardized error response.
- create_plotly_html(fig, width=None, height=None, include_plotlyjs='cdn')[源代码]¶
Create HTML from Plotly figure.
- class tooluniverse.WFGYPromptBundleTool[源代码]¶
基类:
BaseToolLocal prompt-bundle tool for triaging LLM/RAG failures via WFGY ProblemMap.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WHOGHOQueryTool[源代码]¶
-
Tool for answering generic health questions using natural language.
- class tooluniverse.WHOGHORESTTool[源代码]¶
基类:
BaseToolBase class for WHO Global Health Observatory (GHO) REST API tools.
- static parse_query(query)[源代码]¶
Parse natural language query to extract health topic, country, year.
- static format_health_answer(value, indicator_name, country_code=None, year=None)[源代码]¶
Format health data into a human-readable answer.
- class tooluniverse.WHOGuidelineFullTextTool[源代码]¶
基类:
BaseToolFetch full text content from WHO guideline pages. Takes a WHO publication URL and extracts content or PDF download link.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WHOGuidelinesTool[源代码]¶
基类:
BaseToolWHO (World Health Organization) Guidelines Search Tool. Searches WHO official guidelines from their publications website.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WebAPIDocumentationSearchTool[源代码]¶
-
Specialized web search tool for API documentation and Python libraries.
This tool is optimized for finding API documentation, Python packages, and technical resources using DDGS with multiple search engines.
- run(arguments)[源代码]¶
Execute API documentation focused search.
- class tooluniverse.WebSearchTool[源代码]¶
基类:
BaseToolWeb search tool using DDGS library.
This tool performs web searches using the DDGS library which supports multiple search engines including Google, Bing, Brave, Yahoo, DuckDuckGo, etc.
- _search_with_ddgs(query, max_results=10, backend='auto', region='us-en', safesearch='moderate')[源代码]¶
Perform a web search using DDGS library and return formatted results.
- 参数:
- 返回:
List of search results with title, url, and snippet
- 返回类型:
- _search_with_fallback(query, max_results, backend, region, safesearch)[源代码]¶
Search with backend fallback strategy.
- _search_with_duckduckgo_html(query, max_results)[源代码]¶
Fallback provider: parse DuckDuckGo HTML results without DDGS.
- run(arguments)[源代码]¶
Execute web search using DDGS.
- 参数:
arguments (Dict[str, Any]) – Dictionary containing: - query: Search query string - max_results: Maximum number of results (default: 10) - search_type: Type of search (default: ‘general’) - backend: Search engine backend (default: ‘auto’) - region: Search region (default: ‘us-en’) - safesearch: Safe search level (default: ‘moderate’)
- 返回:
Dictionary containing search results
- 返回类型:
- class tooluniverse.WikiPathwaysExtTool[源代码]¶
基类:
BaseToolTool for WikiPathways extended API endpoints.
No authentication required.
- class tooluniverse.WikidataSPARQLTool[源代码]¶
基类:
BaseToolRun SPARQL queries against Wikidata (powering Scholia views).
- 参数(参数):
sparql (str): SPARQL query string max_results (int): Optional result limit override
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WikipediaContentTool[源代码]¶
基类:
BaseToolExtract content from Wikipedia articles using MediaWiki API.
- 参数(参数):
title (str): Article title (required) language (str): Wikipedia language code (default: “en”) extract_type (str): Type of content - “intro” (first paragraph),
“summary” (first few paragraphs), or “full” (entire article) (default: “summary”)
- max_chars (int): Maximum characters for summary/extract
(default: 2000)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WikipediaSearchTool[源代码]¶
基类:
BaseToolSearch Wikipedia articles using MediaWiki API.
- 参数(参数):
query (str): Search query string limit (int): Maximum number of results to return (default: 10, max: 50) language (str): Wikipedia language code (default: “en”)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WikipediaSummaryTool[源代码]¶
基类:
BaseToolGet a brief summary/introduction from a Wikipedia article.
This is a convenience tool that extracts just the first paragraph(s) of an article.
- 参数(参数):
title (str): Article title (required) language (str): Wikipedia language code (default: “en”) max_chars (int): Maximum characters to return (default: 500)
- run(arguments=None)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WoRMSRESTTool[源代码]¶
基类:
BaseTool- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.WormBaseTool[源代码]¶
基类:
BaseToolTool for querying WormBase, the C. elegans genome database.
Provides detailed gene information for C. elegans and other nematodes including phenotypes, expression data, orthologs, and functional annotations.
No authentication required.
- class tooluniverse.XMLDatasetTool[源代码]¶
基类:
BaseTool用于搜索和筛选以可搜索记录集合形式组织的XML数据集(例如,医学主题或药物描述的数据集)的工具。支持用户友好的查询,无需掌握XPath知识。
- _find_matches(record_data, search_query, search_fields, case_sensitive, exact_match)[源代码]¶
Find matching fields in a record.
- tooluniverse.XMLTool¶
XMLDatasetTool的别名
- class tooluniverse.XenbaseTool[源代码]¶
基类:
BaseToolTool for querying Xenopus gene data via the Alliance of Genome Resources.
Supported operations: - search_genes: Search Xenopus genes by name/symbol - get_gene: Get detailed gene information by Xenbase gene ID
- class tooluniverse.ZenodoRESTTool[源代码]¶
基类:
BaseRESTToolGeneric REST tool for Zenodo API endpoints.
- class tooluniverse.ZincTool[源代码]¶
基类:
BaseToolTool for querying the ZINC database of commercially available compounds.
ZINC is a free database of commercially-available compounds for virtual screening, maintained by the Irwin and Shoichet labs at UCSF.
Supported operations: - search_compounds: Search by name or keyword - get_compound: Get details for a ZINC ID (properties + vendors) - search_by_smiles: Search by SMILES string (exact or substructure) - get_purchasable: Browse purchasable compounds by availability tier - search_by_properties: Filter compounds by molecular properties
- class tooluniverse.gnomADGraphQLQueryTool[源代码]¶
-
Generic gnomAD GraphQL tool driven by JSON config.
Config fields supported: - fields.query_schema: GraphQL query string - fields.variable_map: map tool argument names -> GraphQL variable names - fields.default_variables: default GraphQL variable values
- class tooluniverse.iPTMnetTool[源代码]¶
基类:
BaseToolTool for querying the iPTMnet PTM network database.
Supported operations: - search: Search proteins by name/keyword with role and PTM type filters - get_ptm_sites: Get all PTM sites for a protein (phosphorylation, etc.) - get_proteoforms: Get proteoform records with specific PTM combinations - get_ptm_ppi: Get PTM-dependent protein-protein interactions
- class tooluniverse.miRNAGetTool[源代码]¶
基类:
BaseToolGet detailed miRNA/lncRNA information from RNAcentral by ID. Returns sequence, species, RNA type, and database cross-references.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- class tooluniverse.miRNASearchTool[源代码]¶
基类:
BaseToolSearch for miRNAs/lncRNAs/ncRNAs via EBI Search of RNAcentral. Can filter results by RNA type for focused results.
- run(arguments)[源代码]¶
执行该工具。
默认的 BaseTool 实现接受一个可选的参数映射,以便与大多数具体工具实现保持一致,这些工具通常期望输入为字典形式。
- 参数:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – 是否启用了结果缓存validate (
bool, optional) – 是否已执行参数验证
备注
这些附加参数(stream_callback、use_cache、validate)由 run_one_function() 传递,用于提供有关执行的上下文。工具可以利用这些参数进行优化或特殊处理。
为了向后兼容,不支持这些参数的工具仍然可以正常运行——它们只会接收到 arguments 参数。
- tooluniverse.__dir__()[源代码]¶
Dynamic directory listing. Includes standard globals plus all available tools.
- tooluniverse.__getattr__(name)[源代码]¶
Dynamic dispatch for tool classes. This replaces the manual _LazyImportProxy list.
子包¶
- tooluniverse.compose_scripts 包
- tooluniverse.compose_scripts.biomarker_discovery 模块
- tooluniverse.compose_scripts.comprehensive_drug_discovery 模块
- tooluniverse.compose_scripts.drug_safety_analyzer 模块
- tooluniverse.compose_scripts.literature_tool 模块
- tooluniverse.compose_scripts.output_summarizer 模块
- tooluniverse.compose_scripts.tool_description_optimizer 模块
- tooluniverse.compose_scripts.tool_discover 模块
- tooluniverse.compose_scripts.tool_graph_composer 模块
- tooluniverse.compose_scripts.tool_graph_generation 模块
- tooluniverse.compose_scripts.tool_metadata_generator 模块
子模块¶
- tooluniverse.admetai_tool 模块
- tooluniverse.agentic_tool 模块
- tooluniverse.alphafold_tool 模块
- tooluniverse.arxiv_tool 模块
- tooluniverse.base_tool module
- tooluniverse.biorxiv_tool 模块
- tooluniverse.boltz_tool 模块
- tooluniverse.chem_tool 模块
- tooluniverse.compose_tool 模块
- tooluniverse.core_tool 模块
- tooluniverse.crossref_tool 模块
- tooluniverse.ctg_tool 模块
- tooluniverse.custom_tool 模块
- tooluniverse.dailymed_tool 模块
- tooluniverse.dataset_tool 模块
- tooluniverse.dblp_tool 模块
- tooluniverse.default_config 模块
- tooluniverse.doaj_tool 模块
- tooluniverse.efo_tool 模块
- tooluniverse.embedding_database 模块
- tooluniverse.embedding_sync 模块
- tooluniverse.enrichr_tool 模块
- tooluniverse.europe_pmc_tool 模块
- tooluniverse.execute_function 模块
- tooluniverse.extended_hooks 模块
- tooluniverse.fatcat_tool 模块
- tooluniverse.gene_ontology_tool 模块
- tooluniverse.graphql_tool 模块
- tooluniverse.gwas_tool 模块
- tooluniverse.hal_tool 模块
- tooluniverse.hpa_tool 模块
- tooluniverse.humanbase_tool 模块
- tooluniverse.llm_clients 模块
- tooluniverse.logging_config 模块
- tooluniverse.mcp_client_tool 模块
- tooluniverse.mcp_integration 模块
- tooluniverse.mcp_tool_registry 模块
- tooluniverse.medlineplus_tool 模块
- tooluniverse.medrxiv_tool 模块
- tooluniverse.memory_manager 模块
- tooluniverse.odphp_tool 模块
- tooluniverse.openaire_tool 模块
- tooluniverse.openalex_tool 模块
- tooluniverse.openfda_adv_tool 模块
- tooluniverse.openfda_tool 模块
- tooluniverse.osf_preprints_tool 模块
- tooluniverse.output_hook 模块
- tooluniverse.package_tool 模块
- tooluniverse.pmc_tool 模块
- tooluniverse.pubchem_tool 模块
- tooluniverse.pubmed_tool 模块
- tooluniverse.pubtator_tool 模块
- tooluniverse.rcsb_pdb_tool 模块
- tooluniverse.reactome_tool 模块
- tooluniverse.remote_tool 模块
- tooluniverse.restful_tool 模块
- tooluniverse.semantic_scholar_tool 模块
- tooluniverse.smcp 模块
- tooluniverse.smcp_server 模块
- tooluniverse.tool_finder_embedding 模块
- tooluniverse.tool_finder_keyword 模块
- tooluniverse.tool_finder_llm 模块
- tooluniverse.tool_graph_web_ui 模块
- tooluniverse.tool_registry 模块
- tooluniverse.unified_guideline_tools 模块
- tooluniverse.uniprot_tool 模块
- tooluniverse.unpaywall_tool 模块
- tooluniverse.url_tool 模块
- tooluniverse.uspto_tool 模块
- tooluniverse.utils 模块
- tooluniverse.wikidata_sparql_tool 模块
- tooluniverse.xml_tool 模块
- tooluniverse.zenodo_tool 模块