CLI ============ The :py:mod:`cli ` module implements a command line interface that allows to interact with Curveball through a command line or terminal, without any knowledge in Python programming. The :doc:`tutorial` includes a complete walkthrough on using the CLI to analyse growth cruves data. Fit-and-compete --------------- Use ``curveball fit_compete`` to estimate competition coefficients from mixed-culture data (requires a plate template that includes a ``total`` strain): >>> curveball fit_compete mixed.xlsx --analyse_file=summary.csv --ref_strain=G --total=RG This command reads the per-strain fits generated by :ref:`curveball analyse ` but does **not** rerun individual competitions; instead it combines the reference and competitor parameter estimates, fits the predicted mixed OD curve to the observed total trace, and adjusts the competition coefficients to minimize the mean squared error. The output CSV contains: - ``a1``, ``a2``: competition coefficients from :py:func:`curveball.competitions.fit_and_compete` - ``MSE``: mean squared error of the mixed-culture fit Because ``fit_compete`` never reconstructs the separate time series for the assay and reference strains, it cannot derive the LTEE-style relative fitness (``w``). That value is only available through ``curveball analyse``, which fits each strain individually, runs :py:func:`curveball.competitions.compete`, and evaluates ``fitness_LTEE`` on the resulting time course. Analyse output columns ---------------------- The ``curveball analyse`` command outputs a CSV table with one row per strain. Key columns include: - ``folder``, ``filename``: input file location and base name. - ``strain``: strain label from the plate template. - ``model``: best-fit model name. - ``RSS``, ``RMSD``, ``NRMSD``, ``CV(RMSD)``: fit error metrics. - ``bic``, ``aic``, ``weighted_bic``, ``weighted_aic``: model selection scores. - ``y0``, ``K``, ``r``, ``nu``, ``q0``, ``v``: fitted growth parameters. - ``has_lag``, ``has_nu``: model selection flags. - ``max_growth_rate``, ``min_doubling_time``, ``lag``: derived metrics. - ``w``: relative fitness vs. reference strain. If ``--ci`` is used, additional ``*_low``/``*_high`` columns are included for confidence intervals (e.g., ``lag_low``, ``lag_high``, ``K_low``, ``K_high``). Members ------- .. automodule:: curveball.scripts.cli :members: