starplast.strategy_panel
The Strategies tab: thirty-nine ways to infer something, each explained, runnable and self-testing.
Docked to the right of Evidence and Analysis. The top half lists the strategies by family, with the
verdict each one earned when its self-test was run on the shipped data. The bottom half shows the
selected one as a CARD first (strategy_card.StrategyCard): what it answers, the same four bars
for every strategy (better than chance, reach, and two plain task metrics, each against chance),
Run / Test / Details, four collapsed lines about its test, and one real failure beside one real
success. Details ▸ opens the three tabs that hold everything else:
Guide what it infers, why that works, how it fails, a step-by-step walkthrough, and how
it is tested -- the text a person needs before believing its output
Settings its parameters, each with a tooltip saying why it exists, and Run / Test / Stop
Results the summary, the tables it produced, and the verdict of the last self-test
A strategy runs on the window's job runner, so it appears in the Jobs panel and can be stopped
there like anything else. Results tables are registered through AnalysisPanel.results_table
when the analysis panel is present, so they carry the same row action and right-click save as
every other results table in the application.
Nothing here computes anything: strategies and strategy_catalog do, and this is their face.
The shipped self-test verdicts for one organism, or nothing if they were never measured.
metric -> (value, low, high) measured on the shipped data: the calibration's defaults with their 95% interval where the sweep recorded scorecards, else the single self-test.
A module function, not only a method, because the Start-here tab shows the same four bars for the strategies it recommends and must not compute them a second way.
(card, verdict, grade, basis) for one strategy's four bars, as StrategyCard takes them.
The calibration sweep's defaults with their 95% intervals where it measured the strategy on this space, else the single shipped self-test, else nothing and a line saying so.
The strategy list, a guide to the selected strategy, its settings, and its results.
Build the panel over one organism's table. Nothing is computed until something is run.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal's arguments.
Make key the current strategy: its guide, and a fresh form of its parameters.
(card, verdict, grade, basis) for the card's four bars, for this panel's organism.
Open the Guide, Settings and Results behind the card, optionally at one tab.
metric -> (value, low, high) measured on the shipped data, for this panel's organism.
The strategy's scorecard: its task's standard metrics, each explained, with the values measured on the shipped data where they exist.
Ask for the box's genes to be hidden together and tested. Returns how many resolved.
Fill a gene box from a file. Returns how many identifiers were read.
Fill a gene box with a known category's members, so a list strategy can be tried.
Set one parameter's control -- for scripting the panel and for tests.
Fill the form with the calibrated best setting; returns what was applied.
A value the form cannot hold (an option this table lacks) is skipped and said, rather than failing the rest -- calibration ran on the shipped table and a user's may differ.
Ask every job this panel started to stop. Returns how many were asked.
The whole frame behind result table index, not only the rows on screen.