查找与调用数据库接口¶
按名称或关键词查找并调用数据库接口。
1) 按操作名称与参数调用数据库功能¶
- 作用: 根据操作名和参数字典调用数据库接口。
- 处理方法: 校验操作名和参数后调用对应接口,保留提供方返回的字段。
- API:
dnakit.databases.call(operation, arguments=None, *, max_result_bytes=20000000, verbose=True) - 输入: 必须提供
operation。 - 输出: 返回所选操作的结果;本例为 BRCA1 的 Ensembl 查询记录。
- 示例代码:
import dnakit
result = dnakit.databases.call(
operation='ensembl_lookup_gene',
arguments={'id': 'BRCA1', 'species': 'homo_sapiens'},
verbose=False,
)
print(result)
- 示例结果: 返回所选操作的结果;本例为 BRCA1 的 Ensembl 查询记录。
2) 查看数据库功能的输入约束与来源¶
- 作用: 查看单个接口的实际输入 Schema、上游别名和实现信息。
- 处理方法: 从本地接口目录读取参数约束与来源信息,不联网。
- API:
dnakit.databases.describe(operation, *, verbose=True) - 输入: 必须提供
operation。 - 输出: 字典;input_schema 为实际输入约束,config 保存提供方配置,upstream_name 为原接口名。
- 示例代码:
import dnakit
result = dnakit.databases.describe(
operation='gnomad_get_sv_by_region',
verbose=False,
)
print(result)
- 示例结果: 字典;input_schema 为实际输入约束,config 保存提供方配置,upstream_name 为原接口名。
返回结构节选;<…> 表示类型占位符,非本次查询的实测数据。
3) 使用结构化请求执行数据库操作¶
- 作用: 使用操作名或结构化请求分发一次调用。
- 处理方法: 解析操作名或 name/arguments 请求,再调用对应数据库接口。
- API:
dnakit.databases.execute(request, arguments=None, *, verbose=True) - 输入: 必须提供
request。 - 输出: 返回请求中所选操作的结果;本例为 BRCA1 的 Ensembl 查询记录。
- 示例代码:
import dnakit
example_request = {'name': 'ensembl_lookup_gene',
'arguments': {'id': 'BRCA1', 'species': 'homo_sapiens'}}
result = dnakit.databases.execute(
request=example_request,
verbose=False,
)
print(result)
- 示例结果: 返回请求中所选操作的结果;本例为 BRCA1 的 Ensembl 查询记录。
4) 按兼容工具名称调用数据库功能¶
- 作用: 根据工具名与参数调用本地 DNAKit 数据库操作;禁止递归调用自身。
- 处理方法: 通过
Execute按输入条件检索或提交请求,并解析响应。 - API:
dnakit.databases.execute_tool(*, tool_name, arguments=None, verbose=True) - 输入: 必须提供
tool_name。 - 输出: 返回 tool_name 所选接口的结果,字段由该接口定义。
- 示例代码:
import dnakit
result = dnakit.databases.execute_tool(
tool_name='list_tools',
arguments={'mode': 'names', 'limit': '3'},
verbose=False,
)
print(result)
- 示例结果: 返回 tool_name 所选接口的结果,字段由该接口定义。
5) 离线列出数据库操作与兼容名称¶
- 作用: 离线列出全部数据库操作名与上游别名。
- 处理方法: 读取本地登记目录,列出函数名及上游别名。
- API:
dnakit.databases.list_operations(*, verbose=True) - 输入: 按示例选择查询条件;可选参数使用接口默认值。
- 输出: 列表,每项包含 name、upstream_name。
- 示例代码:
- 示例结果: 列表,每项包含 name、upstream_name。
返回结构节选;<…> 表示类型占位符,非本次查询的实测数据。
6) 按任务关键词离线查找数据库功能¶
- 作用: 按名称、任务关键词或描述离线搜索数据库接口。
- 处理方法: 在本地接口名称和描述中匹配关键词,按匹配数排序。
- API:
dnakit.databases.search(query, *, limit=10, verbose=True) - 输入: 必须提供
query。 - 输出: 列表,每项包含 name、description、upstream_name。
- 示例代码:
import dnakit
result = dnakit.databases.search(
query='gnomad',
limit=5,
verbose=False,
)
print(result)
- 示例结果: 列表,每项包含 name、description、upstream_name。
返回结构节选;<…> 表示类型占位符,非本次查询的实测数据。