1

我一直在寻找实现这一目标的方法,但找不到。

我有多个 python 脚本,其中一些是预处理实用工具,一些执行数据分析,一些创建可视化。它们都是相关的,但可能依赖也可能不依赖,并且可能具有单独的输入参数。我正在尝试在一个包中创建一套工具,并希望用户根据需要选择和运行工具/模块。

例如:这是一个名为 GATK 的基于 java 的软件。“gatk”是一个包含多个工具的 .jar,其中一个是“AnnotateIntervals”,它有一组输入要求。用户这样运行

gatk AnnotateIntervals \ -R reference.fa \ -L intervals.interval_list \ --interval-merging-rule OVERLAPPING_ONLY \ -O annotated_intervals.tsv

https://gatk.broadinstitute.org/hc/en-us/articles/360040098252-AnnotateIntervals

我想在python中开发完全一样的东西,

main_app.py first_module -l <> -m <>这甚至可能吗?如果是这样,我怎么能做到这一点?

4

1 回答 1

2

您可能想阅读setuptools入口点和/或argparse子命令。这只是一种组合,可能是最“标准”的一种,但还有许多其他选择(poetryflitclickfire等)。

于 2020-03-18T09:42:23.567 回答