tooluniverse 1.0.9.1__py3-none-any.whl → 1.0.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tooluniverse might be problematic. Click here for more details.
- tooluniverse/__init__.py +57 -1
- tooluniverse/admetai_tool.py +1 -1
- tooluniverse/agentic_tool.py +65 -17
- tooluniverse/base_tool.py +19 -8
- tooluniverse/blast_tool.py +132 -0
- tooluniverse/boltz_tool.py +3 -3
- tooluniverse/cache/result_cache_manager.py +167 -12
- tooluniverse/cbioportal_tool.py +42 -0
- tooluniverse/clinvar_tool.py +268 -74
- tooluniverse/compose_scripts/drug_safety_analyzer.py +1 -1
- tooluniverse/compose_scripts/multi_agent_literature_search.py +1 -1
- tooluniverse/compose_scripts/output_summarizer.py +4 -4
- tooluniverse/compose_scripts/tool_discover.py +1941 -443
- tooluniverse/compose_scripts/tool_graph_composer.py +1 -1
- tooluniverse/compose_scripts/tool_metadata_generator.py +1 -1
- tooluniverse/compose_tool.py +9 -9
- tooluniverse/core_tool.py +2 -2
- tooluniverse/ctg_tool.py +4 -4
- tooluniverse/custom_tool.py +1 -1
- tooluniverse/data/agentic_tools.json +0 -370
- tooluniverse/data/alphafold_tools.json +6 -6
- tooluniverse/data/blast_tools.json +112 -0
- tooluniverse/data/cbioportal_tools.json +87 -0
- tooluniverse/data/clinvar_tools.json +235 -0
- tooluniverse/data/compose_tools.json +0 -89
- tooluniverse/data/dbsnp_tools.json +275 -0
- tooluniverse/data/emdb_tools.json +61 -0
- tooluniverse/data/ensembl_tools.json +259 -0
- tooluniverse/data/file_download_tools.json +275 -0
- tooluniverse/data/geo_tools.json +200 -48
- tooluniverse/data/gnomad_tools.json +109 -0
- tooluniverse/data/gtopdb_tools.json +68 -0
- tooluniverse/data/gwas_tools.json +32 -0
- tooluniverse/data/interpro_tools.json +199 -0
- tooluniverse/data/jaspar_tools.json +70 -0
- tooluniverse/data/kegg_tools.json +356 -0
- tooluniverse/data/mpd_tools.json +87 -0
- tooluniverse/data/ols_tools.json +314 -0
- tooluniverse/data/package_discovery_tools.json +64 -0
- tooluniverse/data/packages/categorized_tools.txt +0 -1
- tooluniverse/data/packages/machine_learning_tools.json +0 -47
- tooluniverse/data/paleobiology_tools.json +91 -0
- tooluniverse/data/pride_tools.json +62 -0
- tooluniverse/data/pypi_package_inspector_tools.json +158 -0
- tooluniverse/data/python_executor_tools.json +341 -0
- tooluniverse/data/regulomedb_tools.json +50 -0
- tooluniverse/data/remap_tools.json +89 -0
- tooluniverse/data/screen_tools.json +89 -0
- tooluniverse/data/tool_discovery_agents.json +428 -0
- tooluniverse/data/tool_discovery_agents.json.backup +1343 -0
- tooluniverse/data/uniprot_tools.json +77 -0
- tooluniverse/data/web_search_tools.json +250 -0
- tooluniverse/data/worms_tools.json +55 -0
- tooluniverse/dataset_tool.py +2 -2
- tooluniverse/dbsnp_tool.py +196 -58
- tooluniverse/default_config.py +36 -3
- tooluniverse/emdb_tool.py +30 -0
- tooluniverse/enrichr_tool.py +14 -14
- tooluniverse/ensembl_tool.py +140 -47
- tooluniverse/execute_function.py +594 -29
- tooluniverse/extended_hooks.py +4 -4
- tooluniverse/file_download_tool.py +269 -0
- tooluniverse/gene_ontology_tool.py +1 -1
- tooluniverse/generate_tools.py +3 -3
- tooluniverse/geo_tool.py +81 -28
- tooluniverse/gnomad_tool.py +100 -52
- tooluniverse/gtopdb_tool.py +41 -0
- tooluniverse/humanbase_tool.py +10 -10
- tooluniverse/interpro_tool.py +72 -0
- tooluniverse/jaspar_tool.py +30 -0
- tooluniverse/kegg_tool.py +230 -0
- tooluniverse/logging_config.py +2 -2
- tooluniverse/mcp_client_tool.py +57 -129
- tooluniverse/mcp_integration.py +52 -49
- tooluniverse/mcp_tool_registry.py +147 -528
- tooluniverse/mpd_tool.py +42 -0
- tooluniverse/ncbi_eutils_tool.py +96 -0
- tooluniverse/ols_tool.py +435 -0
- tooluniverse/openalex_tool.py +8 -8
- tooluniverse/openfda_tool.py +2 -2
- tooluniverse/output_hook.py +15 -15
- tooluniverse/package_discovery_tool.py +217 -0
- tooluniverse/package_tool.py +1 -1
- tooluniverse/paleobiology_tool.py +30 -0
- tooluniverse/pmc_tool.py +2 -2
- tooluniverse/pride_tool.py +30 -0
- tooluniverse/pypi_package_inspector_tool.py +593 -0
- tooluniverse/python_executor_tool.py +711 -0
- tooluniverse/regulomedb_tool.py +30 -0
- tooluniverse/remap_tool.py +44 -0
- tooluniverse/remote/boltz/boltz_mcp_server.py +1 -1
- tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +3 -3
- tooluniverse/remote/immune_compass/compass_tool.py +3 -3
- tooluniverse/remote/pinnacle/pinnacle_tool.py +2 -2
- tooluniverse/remote/transcriptformer/transcriptformer_tool.py +3 -3
- tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +3 -3
- tooluniverse/remote_tool.py +4 -4
- tooluniverse/screen_tool.py +44 -0
- tooluniverse/scripts/filter_tool_files.py +2 -2
- tooluniverse/smcp.py +93 -12
- tooluniverse/smcp_server.py +100 -21
- tooluniverse/space/__init__.py +46 -0
- tooluniverse/space/loader.py +133 -0
- tooluniverse/space/validator.py +353 -0
- tooluniverse/tool_finder_embedding.py +5 -3
- tooluniverse/tool_finder_keyword.py +12 -10
- tooluniverse/tool_finder_llm.py +12 -8
- tooluniverse/tools/{UCSC_get_genes_by_region.py → BLAST_nucleotide_search.py} +22 -26
- tooluniverse/tools/BLAST_protein_search.py +63 -0
- tooluniverse/tools/ClinVar_search_variants.py +26 -15
- tooluniverse/tools/CodeQualityAnalyzer.py +3 -3
- tooluniverse/tools/EMDB_get_structure.py +46 -0
- tooluniverse/tools/GtoPdb_get_targets.py +52 -0
- tooluniverse/tools/InterPro_get_domain_details.py +46 -0
- tooluniverse/tools/InterPro_get_protein_domains.py +49 -0
- tooluniverse/tools/InterPro_search_domains.py +52 -0
- tooluniverse/tools/JASPAR_get_transcription_factors.py +52 -0
- tooluniverse/tools/MPD_get_phenotype_data.py +59 -0
- tooluniverse/tools/PRIDE_search_proteomics.py +52 -0
- tooluniverse/tools/PackageAnalyzer.py +55 -0
- tooluniverse/tools/Paleobiology_get_fossils.py +52 -0
- tooluniverse/tools/PyPIPackageInspector.py +59 -0
- tooluniverse/tools/ReMap_get_transcription_factor_binding.py +59 -0
- tooluniverse/tools/ReferenceInfoAnalyzer.py +55 -0
- tooluniverse/tools/RegulomeDB_query_variant.py +46 -0
- tooluniverse/tools/SCREEN_get_regulatory_elements.py +59 -0
- tooluniverse/tools/{ArgumentDescriptionOptimizer.py → TestResultsAnalyzer.py} +13 -13
- tooluniverse/tools/ToolDiscover.py +11 -11
- tooluniverse/tools/UniProt_id_mapping.py +63 -0
- tooluniverse/tools/UniProt_search.py +63 -0
- tooluniverse/tools/UnifiedToolGenerator.py +59 -0
- tooluniverse/tools/WoRMS_search_species.py +49 -0
- tooluniverse/tools/XMLToolOptimizer.py +55 -0
- tooluniverse/tools/__init__.py +119 -29
- tooluniverse/tools/_shared_client.py +3 -3
- tooluniverse/tools/alphafold_get_annotations.py +3 -3
- tooluniverse/tools/alphafold_get_prediction.py +3 -3
- tooluniverse/tools/alphafold_get_summary.py +3 -3
- tooluniverse/tools/cBioPortal_get_cancer_studies.py +46 -0
- tooluniverse/tools/cBioPortal_get_mutations.py +52 -0
- tooluniverse/tools/{gnomAD_query_variant.py → clinvar_get_clinical_significance.py} +8 -11
- tooluniverse/tools/clinvar_get_variant_details.py +49 -0
- tooluniverse/tools/dbSNP_get_variant_by_rsid.py +7 -7
- tooluniverse/tools/dbsnp_get_frequencies.py +46 -0
- tooluniverse/tools/dbsnp_search_by_gene.py +52 -0
- tooluniverse/tools/download_binary_file.py +66 -0
- tooluniverse/tools/download_file.py +71 -0
- tooluniverse/tools/download_text_content.py +55 -0
- tooluniverse/tools/dynamic_package_discovery.py +59 -0
- tooluniverse/tools/ensembl_get_sequence.py +52 -0
- tooluniverse/tools/{Ensembl_lookup_gene_by_symbol.py → ensembl_get_variants.py} +11 -11
- tooluniverse/tools/ensembl_lookup_gene.py +46 -0
- tooluniverse/tools/geo_get_dataset_info.py +46 -0
- tooluniverse/tools/geo_get_sample_info.py +46 -0
- tooluniverse/tools/geo_search_datasets.py +67 -0
- tooluniverse/tools/gnomad_get_gene_constraints.py +49 -0
- tooluniverse/tools/kegg_find_genes.py +52 -0
- tooluniverse/tools/kegg_get_gene_info.py +46 -0
- tooluniverse/tools/kegg_get_pathway_info.py +46 -0
- tooluniverse/tools/kegg_list_organisms.py +44 -0
- tooluniverse/tools/kegg_search_pathway.py +46 -0
- tooluniverse/tools/ols_find_similar_terms.py +63 -0
- tooluniverse/tools/{get_hyperopt_info.py → ols_get_ontology_info.py} +13 -10
- tooluniverse/tools/ols_get_term_ancestors.py +67 -0
- tooluniverse/tools/ols_get_term_children.py +67 -0
- tooluniverse/tools/{TestCaseGenerator.py → ols_get_term_info.py} +12 -9
- tooluniverse/tools/{CodeOptimizer.py → ols_search_ontologies.py} +22 -14
- tooluniverse/tools/ols_search_terms.py +71 -0
- tooluniverse/tools/python_code_executor.py +79 -0
- tooluniverse/tools/python_script_runner.py +79 -0
- tooluniverse/tools/web_api_documentation_search.py +63 -0
- tooluniverse/tools/web_search.py +71 -0
- tooluniverse/uniprot_tool.py +219 -16
- tooluniverse/url_tool.py +19 -1
- tooluniverse/uspto_tool.py +1 -1
- tooluniverse/utils.py +12 -12
- tooluniverse/web_search_tool.py +229 -0
- tooluniverse/worms_tool.py +64 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/METADATA +8 -3
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/RECORD +184 -92
- tooluniverse/data/genomics_tools.json +0 -174
- tooluniverse/tools/ToolDescriptionOptimizer.py +0 -67
- tooluniverse/tools/ToolImplementationGenerator.py +0 -67
- tooluniverse/tools/ToolOptimizer.py +0 -59
- tooluniverse/tools/ToolSpecificationGenerator.py +0 -67
- tooluniverse/tools/ToolSpecificationOptimizer.py +0 -63
- tooluniverse/ucsc_tool.py +0 -60
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/WHEEL +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/entry_points.txt +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/licenses/LICENSE +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/top_level.txt +0 -0
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
clinvar_get_clinical_significance
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Get clinical significance information for a variant from ClinVar. Returns pathogenicity classific...
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Any, Optional, Callable
|
|
8
8
|
from ._shared_client import get_shared_client
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def
|
|
11
|
+
def clinvar_get_clinical_significance(
|
|
12
12
|
variant_id: str,
|
|
13
|
-
dataset: Optional[str] = "gnomad_r4",
|
|
14
13
|
*,
|
|
15
14
|
stream_callback: Optional[Callable[[str], None]] = None,
|
|
16
15
|
use_cache: bool = False,
|
|
17
16
|
validate: bool = True,
|
|
18
17
|
) -> dict[str, Any]:
|
|
19
18
|
"""
|
|
20
|
-
|
|
19
|
+
Get clinical significance information for a variant from ClinVar. Returns pathogenicity classific...
|
|
21
20
|
|
|
22
21
|
Parameters
|
|
23
22
|
----------
|
|
24
23
|
variant_id : str
|
|
25
|
-
|
|
26
|
-
dataset : str
|
|
27
|
-
Dataset ID (e.g., gnomad_r4).
|
|
24
|
+
ClinVar variant ID (e.g., '12345', '123456')
|
|
28
25
|
stream_callback : Callable, optional
|
|
29
26
|
Callback for streaming output
|
|
30
27
|
use_cache : bool, default False
|
|
@@ -40,8 +37,8 @@ def gnomAD_query_variant(
|
|
|
40
37
|
|
|
41
38
|
return get_shared_client().run_one_function(
|
|
42
39
|
{
|
|
43
|
-
"name": "
|
|
44
|
-
"arguments": {"variant_id": variant_id
|
|
40
|
+
"name": "clinvar_get_clinical_significance",
|
|
41
|
+
"arguments": {"variant_id": variant_id},
|
|
45
42
|
},
|
|
46
43
|
stream_callback=stream_callback,
|
|
47
44
|
use_cache=use_cache,
|
|
@@ -49,4 +46,4 @@ def gnomAD_query_variant(
|
|
|
49
46
|
)
|
|
50
47
|
|
|
51
48
|
|
|
52
|
-
__all__ = ["
|
|
49
|
+
__all__ = ["clinvar_get_clinical_significance"]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""
|
|
2
|
+
clinvar_get_variant_details
|
|
3
|
+
|
|
4
|
+
Get detailed variant information from ClinVar by variant ID. Returns comprehensive variant data i...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def clinvar_get_variant_details(
|
|
12
|
+
variant_id: str,
|
|
13
|
+
*,
|
|
14
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
15
|
+
use_cache: bool = False,
|
|
16
|
+
validate: bool = True,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
"""
|
|
19
|
+
Get detailed variant information from ClinVar by variant ID. Returns comprehensive variant data i...
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
variant_id : str
|
|
24
|
+
ClinVar variant ID (e.g., '12345', '123456')
|
|
25
|
+
stream_callback : Callable, optional
|
|
26
|
+
Callback for streaming output
|
|
27
|
+
use_cache : bool, default False
|
|
28
|
+
Enable caching
|
|
29
|
+
validate : bool, default True
|
|
30
|
+
Validate parameters
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
dict[str, Any]
|
|
35
|
+
"""
|
|
36
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
37
|
+
|
|
38
|
+
return get_shared_client().run_one_function(
|
|
39
|
+
{
|
|
40
|
+
"name": "clinvar_get_variant_details",
|
|
41
|
+
"arguments": {"variant_id": variant_id},
|
|
42
|
+
},
|
|
43
|
+
stream_callback=stream_callback,
|
|
44
|
+
use_cache=use_cache,
|
|
45
|
+
validate=validate,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
__all__ = ["clinvar_get_variant_details"]
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
dbsnp_get_variant_by_rsid
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Get variant information from dbSNP by rsID. Returns genomic coordinates, alleles, and basic varia...
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Any, Optional, Callable
|
|
8
8
|
from ._shared_client import get_shared_client
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def
|
|
11
|
+
def dbsnp_get_variant_by_rsid(
|
|
12
12
|
rsid: str,
|
|
13
13
|
*,
|
|
14
14
|
stream_callback: Optional[Callable[[str], None]] = None,
|
|
@@ -16,12 +16,12 @@ def dbSNP_get_variant_by_rsid(
|
|
|
16
16
|
validate: bool = True,
|
|
17
17
|
) -> dict[str, Any]:
|
|
18
18
|
"""
|
|
19
|
-
|
|
19
|
+
Get variant information from dbSNP by rsID. Returns genomic coordinates, alleles, and basic varia...
|
|
20
20
|
|
|
21
21
|
Parameters
|
|
22
22
|
----------
|
|
23
23
|
rsid : str
|
|
24
|
-
rsID
|
|
24
|
+
dbSNP rsID (e.g., 'rs12345', '12345')
|
|
25
25
|
stream_callback : Callable, optional
|
|
26
26
|
Callback for streaming output
|
|
27
27
|
use_cache : bool, default False
|
|
@@ -36,11 +36,11 @@ def dbSNP_get_variant_by_rsid(
|
|
|
36
36
|
# Handle mutable defaults to avoid B006 linting error
|
|
37
37
|
|
|
38
38
|
return get_shared_client().run_one_function(
|
|
39
|
-
{"name": "
|
|
39
|
+
{"name": "dbsnp_get_variant_by_rsid", "arguments": {"rsid": rsid}},
|
|
40
40
|
stream_callback=stream_callback,
|
|
41
41
|
use_cache=use_cache,
|
|
42
42
|
validate=validate,
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
__all__ = ["
|
|
46
|
+
__all__ = ["dbsnp_get_variant_by_rsid"]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""
|
|
2
|
+
dbsnp_get_frequencies
|
|
3
|
+
|
|
4
|
+
Get allele frequencies for a variant from dbSNP. Returns population-specific allele frequency data.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def dbsnp_get_frequencies(
|
|
12
|
+
rsid: str,
|
|
13
|
+
*,
|
|
14
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
15
|
+
use_cache: bool = False,
|
|
16
|
+
validate: bool = True,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
"""
|
|
19
|
+
Get allele frequencies for a variant from dbSNP. Returns population-specific allele frequency data.
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
rsid : str
|
|
24
|
+
dbSNP rsID (e.g., 'rs12345', '12345')
|
|
25
|
+
stream_callback : Callable, optional
|
|
26
|
+
Callback for streaming output
|
|
27
|
+
use_cache : bool, default False
|
|
28
|
+
Enable caching
|
|
29
|
+
validate : bool, default True
|
|
30
|
+
Validate parameters
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
dict[str, Any]
|
|
35
|
+
"""
|
|
36
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
37
|
+
|
|
38
|
+
return get_shared_client().run_one_function(
|
|
39
|
+
{"name": "dbsnp_get_frequencies", "arguments": {"rsid": rsid}},
|
|
40
|
+
stream_callback=stream_callback,
|
|
41
|
+
use_cache=use_cache,
|
|
42
|
+
validate=validate,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
__all__ = ["dbsnp_get_frequencies"]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""
|
|
2
|
+
dbsnp_search_by_gene
|
|
3
|
+
|
|
4
|
+
Search for variants in a specific gene. Returns variants associated with the gene symbol.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def dbsnp_search_by_gene(
|
|
12
|
+
gene_symbol: str,
|
|
13
|
+
limit: Optional[int] = 20,
|
|
14
|
+
*,
|
|
15
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
16
|
+
use_cache: bool = False,
|
|
17
|
+
validate: bool = True,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
"""
|
|
20
|
+
Search for variants in a specific gene. Returns variants associated with the gene symbol.
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
gene_symbol : str
|
|
25
|
+
Gene symbol (e.g., 'BRCA1', 'TP53', 'APOE')
|
|
26
|
+
limit : int
|
|
27
|
+
Maximum number of results to return
|
|
28
|
+
stream_callback : Callable, optional
|
|
29
|
+
Callback for streaming output
|
|
30
|
+
use_cache : bool, default False
|
|
31
|
+
Enable caching
|
|
32
|
+
validate : bool, default True
|
|
33
|
+
Validate parameters
|
|
34
|
+
|
|
35
|
+
Returns
|
|
36
|
+
-------
|
|
37
|
+
dict[str, Any]
|
|
38
|
+
"""
|
|
39
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
40
|
+
|
|
41
|
+
return get_shared_client().run_one_function(
|
|
42
|
+
{
|
|
43
|
+
"name": "dbsnp_search_by_gene",
|
|
44
|
+
"arguments": {"gene_symbol": gene_symbol, "limit": limit},
|
|
45
|
+
},
|
|
46
|
+
stream_callback=stream_callback,
|
|
47
|
+
use_cache=use_cache,
|
|
48
|
+
validate=validate,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
__all__ = ["dbsnp_search_by_gene"]
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""
|
|
2
|
+
download_binary_file
|
|
3
|
+
|
|
4
|
+
Download binary files (images, videos, executables) with chunked
|
|
5
|
+
streaming for better memory management.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Optional, Callable
|
|
9
|
+
from ._shared_client import get_shared_client
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def download_binary_file(
|
|
13
|
+
url: str,
|
|
14
|
+
output_path: str,
|
|
15
|
+
chunk_size: Optional[int] = 1048576,
|
|
16
|
+
timeout: Optional[int] = 30,
|
|
17
|
+
*,
|
|
18
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
19
|
+
use_cache: bool = False,
|
|
20
|
+
validate: bool = True,
|
|
21
|
+
) -> Any:
|
|
22
|
+
"""
|
|
23
|
+
Download binary files (images, videos, executables) with chunked
|
|
24
|
+
streaming for better memory management.
|
|
25
|
+
|
|
26
|
+
Parameters
|
|
27
|
+
----------
|
|
28
|
+
url : str
|
|
29
|
+
HTTP or HTTPS URL to download from
|
|
30
|
+
output_path : str
|
|
31
|
+
Full path where to save the binary file
|
|
32
|
+
(e.g., /tmp/image.jpg or C:/Users/Downloads/file.pdf)
|
|
33
|
+
chunk_size : int
|
|
34
|
+
Download chunk size in bytes (default: 1MB for binary files)
|
|
35
|
+
timeout : int
|
|
36
|
+
Request timeout in seconds
|
|
37
|
+
stream_callback : Callable, optional
|
|
38
|
+
Callback for streaming output
|
|
39
|
+
use_cache : bool, default False
|
|
40
|
+
Enable caching
|
|
41
|
+
validate : bool, default True
|
|
42
|
+
Validate parameters
|
|
43
|
+
|
|
44
|
+
Returns
|
|
45
|
+
-------
|
|
46
|
+
Any
|
|
47
|
+
"""
|
|
48
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
49
|
+
|
|
50
|
+
return get_shared_client().run_one_function(
|
|
51
|
+
{
|
|
52
|
+
"name": "download_binary_file",
|
|
53
|
+
"arguments": {
|
|
54
|
+
"url": url,
|
|
55
|
+
"output_path": output_path,
|
|
56
|
+
"chunk_size": chunk_size,
|
|
57
|
+
"timeout": timeout,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
stream_callback=stream_callback,
|
|
61
|
+
use_cache=use_cache,
|
|
62
|
+
validate=validate,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
__all__ = ["download_binary_file"]
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"""
|
|
2
|
+
download_file
|
|
3
|
+
|
|
4
|
+
Download files from HTTP/HTTPS URLs with cross-platform support (Windows, Mac, Linux). Similar to...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def download_file(
|
|
12
|
+
url: str,
|
|
13
|
+
output_path: Optional[str] = None,
|
|
14
|
+
timeout: Optional[int] = 30,
|
|
15
|
+
return_content: Optional[bool] = False,
|
|
16
|
+
chunk_size: Optional[int] = 8192,
|
|
17
|
+
follow_redirects: Optional[bool] = True,
|
|
18
|
+
*,
|
|
19
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
20
|
+
use_cache: bool = False,
|
|
21
|
+
validate: bool = True,
|
|
22
|
+
) -> Any:
|
|
23
|
+
"""
|
|
24
|
+
Download files from HTTP/HTTPS URLs with cross-platform support (Windows, Mac, Linux). Similar to...
|
|
25
|
+
|
|
26
|
+
Parameters
|
|
27
|
+
----------
|
|
28
|
+
url : str
|
|
29
|
+
HTTP or HTTPS URL to download from (e.g., https://example.com/file.txt)
|
|
30
|
+
output_path : str
|
|
31
|
+
Optional path to save the file. If not specified, file will be saved to syste...
|
|
32
|
+
timeout : int
|
|
33
|
+
Request timeout in seconds
|
|
34
|
+
return_content : bool
|
|
35
|
+
If true, return file content as text instead of saving to disk (default: false)
|
|
36
|
+
chunk_size : int
|
|
37
|
+
Download chunk size in bytes (default: 8192)
|
|
38
|
+
follow_redirects : bool
|
|
39
|
+
Follow HTTP redirects (default: true)
|
|
40
|
+
stream_callback : Callable, optional
|
|
41
|
+
Callback for streaming output
|
|
42
|
+
use_cache : bool, default False
|
|
43
|
+
Enable caching
|
|
44
|
+
validate : bool, default True
|
|
45
|
+
Validate parameters
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
Any
|
|
50
|
+
"""
|
|
51
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
52
|
+
|
|
53
|
+
return get_shared_client().run_one_function(
|
|
54
|
+
{
|
|
55
|
+
"name": "download_file",
|
|
56
|
+
"arguments": {
|
|
57
|
+
"url": url,
|
|
58
|
+
"output_path": output_path,
|
|
59
|
+
"timeout": timeout,
|
|
60
|
+
"return_content": return_content,
|
|
61
|
+
"chunk_size": chunk_size,
|
|
62
|
+
"follow_redirects": follow_redirects,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
stream_callback=stream_callback,
|
|
66
|
+
use_cache=use_cache,
|
|
67
|
+
validate=validate,
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
__all__ = ["download_file"]
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""
|
|
2
|
+
download_text_content
|
|
3
|
+
|
|
4
|
+
Download and return text content from URLs. Optimized for text files with automatic encoding dete...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def download_text_content(
|
|
12
|
+
url: str,
|
|
13
|
+
encoding: Optional[str] = None,
|
|
14
|
+
timeout: Optional[int] = 30,
|
|
15
|
+
*,
|
|
16
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
17
|
+
use_cache: bool = False,
|
|
18
|
+
validate: bool = True,
|
|
19
|
+
) -> Any:
|
|
20
|
+
"""
|
|
21
|
+
Download and return text content from URLs. Optimized for text files with automatic encoding dete...
|
|
22
|
+
|
|
23
|
+
Parameters
|
|
24
|
+
----------
|
|
25
|
+
url : str
|
|
26
|
+
HTTP or HTTPS URL to download text from
|
|
27
|
+
encoding : str
|
|
28
|
+
Text encoding (e.g., utf-8, latin1). Auto-detected if not specified.
|
|
29
|
+
timeout : int
|
|
30
|
+
Request timeout in seconds
|
|
31
|
+
stream_callback : Callable, optional
|
|
32
|
+
Callback for streaming output
|
|
33
|
+
use_cache : bool, default False
|
|
34
|
+
Enable caching
|
|
35
|
+
validate : bool, default True
|
|
36
|
+
Validate parameters
|
|
37
|
+
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
|
+
Any
|
|
41
|
+
"""
|
|
42
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
43
|
+
|
|
44
|
+
return get_shared_client().run_one_function(
|
|
45
|
+
{
|
|
46
|
+
"name": "download_text_content",
|
|
47
|
+
"arguments": {"url": url, "encoding": encoding, "timeout": timeout},
|
|
48
|
+
},
|
|
49
|
+
stream_callback=stream_callback,
|
|
50
|
+
use_cache=use_cache,
|
|
51
|
+
validate=validate,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
__all__ = ["download_text_content"]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""
|
|
2
|
+
dynamic_package_discovery
|
|
3
|
+
|
|
4
|
+
Dynamically searches PyPI and evaluates packages based on requirements
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def dynamic_package_discovery(
|
|
12
|
+
requirements: str,
|
|
13
|
+
functionality: Optional[str] = None,
|
|
14
|
+
constraints: Optional[dict[str, Any]] = None,
|
|
15
|
+
*,
|
|
16
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
17
|
+
use_cache: bool = False,
|
|
18
|
+
validate: bool = True,
|
|
19
|
+
) -> dict[str, Any]:
|
|
20
|
+
"""
|
|
21
|
+
Dynamically searches PyPI and evaluates packages based on requirements
|
|
22
|
+
|
|
23
|
+
Parameters
|
|
24
|
+
----------
|
|
25
|
+
requirements : str
|
|
26
|
+
Description of what the package should do
|
|
27
|
+
functionality : str
|
|
28
|
+
Specific functionality needed
|
|
29
|
+
constraints : dict[str, Any]
|
|
30
|
+
Constraints (python version, license, etc.)
|
|
31
|
+
stream_callback : Callable, optional
|
|
32
|
+
Callback for streaming output
|
|
33
|
+
use_cache : bool, default False
|
|
34
|
+
Enable caching
|
|
35
|
+
validate : bool, default True
|
|
36
|
+
Validate parameters
|
|
37
|
+
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
|
+
dict[str, Any]
|
|
41
|
+
"""
|
|
42
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
43
|
+
|
|
44
|
+
return get_shared_client().run_one_function(
|
|
45
|
+
{
|
|
46
|
+
"name": "dynamic_package_discovery",
|
|
47
|
+
"arguments": {
|
|
48
|
+
"requirements": requirements,
|
|
49
|
+
"functionality": functionality,
|
|
50
|
+
"constraints": constraints,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
stream_callback=stream_callback,
|
|
54
|
+
use_cache=use_cache,
|
|
55
|
+
validate=validate,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
__all__ = ["dynamic_package_discovery"]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ensembl_get_sequence
|
|
3
|
+
|
|
4
|
+
Get DNA sequence for a gene, transcript, or genomic region. Returns sequence in FASTA format.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def ensembl_get_sequence(
|
|
12
|
+
sequence_id: str,
|
|
13
|
+
type: Optional[str] = "genomic",
|
|
14
|
+
*,
|
|
15
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
16
|
+
use_cache: bool = False,
|
|
17
|
+
validate: bool = True,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
"""
|
|
20
|
+
Get DNA sequence for a gene, transcript, or genomic region. Returns sequence in FASTA format.
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
sequence_id : str
|
|
25
|
+
Ensembl gene/transcript ID or genomic region (e.g., 'ENSG00000139618' or '1:1...
|
|
26
|
+
type : str
|
|
27
|
+
Sequence type: 'genomic', 'cds', 'cdna', 'peptide'
|
|
28
|
+
stream_callback : Callable, optional
|
|
29
|
+
Callback for streaming output
|
|
30
|
+
use_cache : bool, default False
|
|
31
|
+
Enable caching
|
|
32
|
+
validate : bool, default True
|
|
33
|
+
Validate parameters
|
|
34
|
+
|
|
35
|
+
Returns
|
|
36
|
+
-------
|
|
37
|
+
dict[str, Any]
|
|
38
|
+
"""
|
|
39
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
40
|
+
|
|
41
|
+
return get_shared_client().run_one_function(
|
|
42
|
+
{
|
|
43
|
+
"name": "ensembl_get_sequence",
|
|
44
|
+
"arguments": {"sequence_id": sequence_id, "type": type},
|
|
45
|
+
},
|
|
46
|
+
stream_callback=stream_callback,
|
|
47
|
+
use_cache=use_cache,
|
|
48
|
+
validate=validate,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
__all__ = ["ensembl_get_sequence"]
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
ensembl_get_variants
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Get genetic variants in a genomic region. Returns SNP and indel information.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Any, Optional, Callable
|
|
8
8
|
from ._shared_client import get_shared_client
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def
|
|
12
|
-
|
|
11
|
+
def ensembl_get_variants(
|
|
12
|
+
region: str,
|
|
13
13
|
species: Optional[str] = "homo_sapiens",
|
|
14
14
|
*,
|
|
15
15
|
stream_callback: Optional[Callable[[str], None]] = None,
|
|
@@ -17,14 +17,14 @@ def Ensembl_lookup_gene_by_symbol(
|
|
|
17
17
|
validate: bool = True,
|
|
18
18
|
) -> dict[str, Any]:
|
|
19
19
|
"""
|
|
20
|
-
|
|
20
|
+
Get genetic variants in a genomic region. Returns SNP and indel information.
|
|
21
21
|
|
|
22
22
|
Parameters
|
|
23
23
|
----------
|
|
24
|
+
region : str
|
|
25
|
+
Genomic region in format 'chromosome:start-end' (e.g., '13:32315086-32400268')
|
|
24
26
|
species : str
|
|
25
|
-
Species name
|
|
26
|
-
symbol : str
|
|
27
|
-
Gene symbol (e.g., BRCA1).
|
|
27
|
+
Species name
|
|
28
28
|
stream_callback : Callable, optional
|
|
29
29
|
Callback for streaming output
|
|
30
30
|
use_cache : bool, default False
|
|
@@ -40,8 +40,8 @@ def Ensembl_lookup_gene_by_symbol(
|
|
|
40
40
|
|
|
41
41
|
return get_shared_client().run_one_function(
|
|
42
42
|
{
|
|
43
|
-
"name": "
|
|
44
|
-
"arguments": {"
|
|
43
|
+
"name": "ensembl_get_variants",
|
|
44
|
+
"arguments": {"region": region, "species": species},
|
|
45
45
|
},
|
|
46
46
|
stream_callback=stream_callback,
|
|
47
47
|
use_cache=use_cache,
|
|
@@ -49,4 +49,4 @@ def Ensembl_lookup_gene_by_symbol(
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
__all__ = ["
|
|
52
|
+
__all__ = ["ensembl_get_variants"]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ensembl_lookup_gene
|
|
3
|
+
|
|
4
|
+
Lookup gene information by Ensembl gene ID or symbol. Returns gene details including location, de...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def ensembl_lookup_gene(
|
|
12
|
+
gene_id: str,
|
|
13
|
+
*,
|
|
14
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
15
|
+
use_cache: bool = False,
|
|
16
|
+
validate: bool = True,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
"""
|
|
19
|
+
Lookup gene information by Ensembl gene ID or symbol. Returns gene details including location, de...
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
gene_id : str
|
|
24
|
+
Ensembl gene ID or symbol (e.g., 'ENSG00000139618' or 'BRCA1')
|
|
25
|
+
stream_callback : Callable, optional
|
|
26
|
+
Callback for streaming output
|
|
27
|
+
use_cache : bool, default False
|
|
28
|
+
Enable caching
|
|
29
|
+
validate : bool, default True
|
|
30
|
+
Validate parameters
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
dict[str, Any]
|
|
35
|
+
"""
|
|
36
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
37
|
+
|
|
38
|
+
return get_shared_client().run_one_function(
|
|
39
|
+
{"name": "ensembl_lookup_gene", "arguments": {"gene_id": gene_id}},
|
|
40
|
+
stream_callback=stream_callback,
|
|
41
|
+
use_cache=use_cache,
|
|
42
|
+
validate=validate,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
__all__ = ["ensembl_lookup_gene"]
|