mdtbxに新しいargparseサブコマンドを追加する
mdtbxに新しいargparseサブコマンドを追加するスキル。
以下をユーザーに確認する:
calc_rmsd, gen_topology) — CLIで mdtbx <名前> として呼ぶsrc/build/ — 系構築 (addace, amb2gro, gen_posres等と同種)src/trajectory/ — 軌跡処理 (fit, trjcat等と同種)src/analysis/ — 解析 (extract_str等と同種)src/cv/ — Collective Variable計算src/utils/ — 汎用ユーティリティ (mod_mdp, convert等と同種)${SKILL_ROOT}/template.py を参考に新ファイルを作成する。
必須パターン:
add_subcmd(subparsers) の末尾に必ず parser.set_defaults(func=run) を置くrun(args) が実装本体from ..logger import generate_logger / LOGGER = generate_logger(__name__)argparse.ArgumentDefaultsHelpFormatter を使うsrc/utils/ のパーサーを使う場合は
from ..utils.atom_selection_parser import AtomSelector のように参照するsrc/cli.py に2箇所追加:
importブロック (対応するカテゴリのブロックに追加):
from .build import <name> # build の場合
from .trajectory import <name> # trajectory の場合
from .analysis import <name> # analysis の場合
from .cv import <name> # cv の場合
from .utils import <name> # utils の場合
add_subcmdの呼び出し (同カテゴリのブロックに追加):
<name>.add_subcmd(subparsers)
tests/test_<category>/test_<name>.py にユニットテストを追加する:
tmp_path fixture を使用conftest.py の trajectory_files fixture を使用unittest.mock.patch でモックpixi run r # ruff format + lint
pixi run test # 全テスト
エラーがあれば修正する。