Source code for bioblend.toolshed.tools
"""
Interaction with a Tool Shed instance tools
"""
from typing import (
Any,
Dict,
TYPE_CHECKING,
)
from bioblend.galaxy.client import Client
if TYPE_CHECKING:
from bioblend.toolshed import ToolShedInstance
[docs]
class ToolShedToolClient(Client):
gi: "ToolShedInstance"
module = "tools"
def __init__(self, toolshed_instance: "ToolShedInstance") -> None:
super().__init__(toolshed_instance)
[docs]
def search_tools(self, q: str, page: int = 1, page_size: int = 10) -> Dict[str, Any]:
"""
Search for tools in a Galaxy Tool Shed.
:type q: str
:param q: query string for searching purposes
:type page: int
:param page: page requested
:type page_size: int
:param page_size: page size requested
:rtype: dict
:return: dictionary containing search hits as well as metadata for the
search. For example::
{'hits': [{'matched_terms': [],
'score': 3.0,
'tool': {'description': 'convert between various FASTQ quality formats',
'id': '69819b84d55f521efda001e0926e7233',
'name': 'FASTQ Groomer',
'repo_name': None,
'repo_owner_username': 'devteam'}},
{'matched_terms': [],
'score': 3.0,
'tool': {'description': 'converts a bam file to fastq files.',
'id': '521e282770fd94537daff87adad2551b',
'name': 'Defuse BamFastq',
'repo_name': None,
'repo_owner_username': 'jjohnson'}}],
'hostname': 'https://testtoolshed.g2.bx.psu.edu/',
'page': '1',
'page_size': '2',
'total_results': '118'}
"""
params = {"q": q, "page": page, "page_size": page_size}
return self._get(params=params)