Skip to content

Terrium v0.3.4

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:38
· 223 commits to main since this release

Terrium v0.3.4

The first person to run 0.3.3 from a clean checkout said it only worked
with handpicked commands. They were right, and this release is the
answer: every shape now builds from its own description, the verdict
agrees with the evidence, and the common ways of typing an input wrong
each get a sentence saying what to fix.

The verdict now agrees with the table under it

When a literature search sourced the constants, the verdict at the top of
the report still said "none has been run" and graded the model
STRUCTURAL, directly above a table listing three BRENDA citations. The
verdict now reads the search's results:

  • all constants sourced: GROUNDED
  • some sourced: says how many, and what to do about the rest
  • none: says the search ran and found nothing usable, not that it never ran

Plain Michaelis-Menten builds

The most common model in enzymology had no rule. "Michaelis Menten",
"michaelis-menten kinetics", "simple enzyme kinetics" and "an enzyme
converting substrate to product" were all refused. They now build one
enzyme turning one substrate into one product. Shapes with more
structure, such as an inhibitor, reversibility or cooperativity, still
win when your words name them.

Run once each, unscripted, with real constants and citations:

terrium compose "Michaelis Menten" --subject 2.7.1.1 --organism "Homo sapiens" --substrate glucose
terrium compose "Michaelis Menten" --subject 1.1.1.1 --organism "Saccharomyces cerevisiae" --substrate ethanol
terrium compose "Michaelis Menten" --subject 3.4.21.1 --organism "Bos taurus" --substrate "N-acetyl-L-tyrosine ethyl ester"

All three are GROUNDED.

Every shape builds from the words it is described in

terrium compose --shapes lists each shape in one line and says to
describe any of them in your own words. 21 of the 36 did not build from
their own line, and "two genes repressing each other", the first example
in the help, was refused. All 36 now build, and a test checks every line
and every example in the help and the guide, so they cannot drift again.

Found on the way:

  • "3 step phosphorylation cascade" crashed with a Python traceback: any
    description starting with a digit did. Fixed.
  • The Hill-function shape triggered on the letters hill, so a sentence
    containing "uphill" or "downhill" built a Hill-function model.

Inputs typed the way people type them

  • --organism human, --organism "homo sapiens", yeast, E. coli,
    rabbit and other model organisms are read as their Latin names, and
    the report says so. Before, they found nothing and blamed the
    literature. Names that mean many species ("fish") are not guessed.
  • With no --organism, the report now says which organism the search
    chose for you.
  • A misspelt substrate (glucoze) lists the substrates BRENDA does hold
    for the enzyme (D-glucose, ...), instead of "nothing found".
  • An EC number BRENDA doesn't have (9.9.9.9) says so and how to look one
    up, instead of printing an HTTP 404. An incomplete one (2.7.1) is
    named as incomplete. Both exit 3, and the verdict gives the fix instead
    of "run the literature search".
  • A gene circuit is no longer told to "name the enzyme": its constants
    are in no enzyme database, and the advice now says so.

The first screen tells the truth

Running terrium with nothing after it said that joining a composed
mechanism to sourced constants "is not wired yet", which had been false
since 0.3.3. It now shows the command that does it, and compose --help
leads with it. Every example in compose --help is run by a test.

Feedback inhibition does what its note promised

"Say which step to inhibit and it can be added" was printed, and naming
the step changed nothing. Now "a 3 step pathway where the end product
inhibits step 1", "... the first step", "... the committed step" and
"... the last step" wire the end product back as an inhibitor of that
step. With no step named it still builds the plain chain and says so,
because which step a real pathway regulates is not something to guess.

A withheld constant says how to get one

"cross-species use was not opted into" named an option that does not
exist. It now says to re-run with --organism set to one of the organisms
listed as holding a measurement. Another organism's value is still never
substituted for yours.

Install

As for 0.3.3: clone the repository and run make setup for the literature
search, or download the app folder for your platform below. The app builds
and simulates models but cannot search the literature; it says so.