Skip to content

Releases: math12345678/caterva

Caterva v0.5.1-rc.2

Caterva v0.5.1-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Oct 03:39

Caterva v0.5.1

Caterva.app updates itself. From this version the Mac app offers new
versions inside the app, so you no longer download the disk image for every
release. Everything else is as in 0.5.0, and the notes for that release
(docs/releases/v0.5.0.md) still describe what Caterva Studio and the
commands do.

Updates in the Mac app

  • Install this one by hand. This is the first copy with the updater, so
    it comes from the disk image (Caterva-0.5.1-macos-arm64.dmg) like 0.5.0
    did, with the same Open Anyway step. A 0.5.0 app has no updater and is
    replaced by hand. After this one, new versions arrive in the app.
  • Where it is. Caterva menu, Check for Updates; Settings, Updates shows
    the installed version and when the app last checked, and has Check now,
    Check automatically (about once a day, on by default) and Include
    prereleases (off by default).
  • It asks first and keeps your work. Nothing installs without your say.
    Installing closes the app and stops its server first; if runs are going the
    app asks whether to wait for them. Your runs and settings are in
    ~/Library/Application Support/Caterva, outside the app, and an update does
    not touch them. Updating from a disk image does not work: put Caterva in
    Applications first.
  • Not an Apple signature. Each update is checked against a key built into
    the app before it installs, which protects against a substituted file. The
    app is still not signed with an Apple Developer ID and not notarised. Whether
    an update installed by the app opens without macOS asking has not been tried
    on a Mac by the people who wrote this; if macOS does ask, the Open Anyway
    steps in the disk image's README apply.
  • What it contacts. GitHub, once a day while the check is on (and the
    Releases API if you include prereleases). docs/PRIVACY.md says what that
    reveals. Turning the check off in Settings stops it.
  • The update file. The release page carries Caterva-0.5.1-macos-arm64.zip
    (what the app downloads) and appcast.xml (what it reads), both in
    SHA256SUMS. You do not need either to install by hand.

How this release was cut

As for 0.5.0: the first attempt is a release candidate, v0.5.1-rc.1, which
runs the whole pipeline and publishes a pre-release; the plain v0.5.1 tag is
cut after a candidate has shipped every artifact. The release stops, and
publishes nothing, if the update key (a repository secret) is missing.

Install

The Mac app (Caterva-0.5.1-macos-arm64.dmg), the app folder (a .tar.gz or
.zip per platform), the Python wheel, or a clone and make setup, from the
releases page. Every file
is listed with its SHA-256 in SHA256SUMS.

Caterva v0.5.1-rc.1

Caterva v0.5.1-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 22:23

Caterva v0.5.1

Caterva.app updates itself. From this version the Mac app offers new
versions inside the app, so you no longer download the disk image for every
release. Everything else is as in 0.5.0, and the notes for that release
(docs/releases/v0.5.0.md) still describe what Caterva Studio and the
commands do.

Updates in the Mac app

  • Install this one by hand. This is the first copy with the updater, so
    it comes from the disk image (Caterva-0.5.1-macos-arm64.dmg) like 0.5.0
    did, with the same Open Anyway step. A 0.5.0 app has no updater and is
    replaced by hand. After this one, new versions arrive in the app.
  • Where it is. Caterva menu, Check for Updates; Settings, Updates shows
    the installed version and when the app last checked, and has Check now,
    Check automatically (about once a day, on by default) and Include
    prereleases (off by default).
  • It asks first and keeps your work. Nothing installs without your say.
    Installing closes the app and stops its server first; if runs are going the
    app asks whether to wait for them. Your runs and settings are in
    ~/Library/Application Support/Caterva, outside the app, and an update does
    not touch them. Updating from a disk image does not work: put Caterva in
    Applications first.
  • Not an Apple signature. Each update is checked against a key built into
    the app before it installs, which protects against a substituted file. The
    app is still not signed with an Apple Developer ID and not notarised. Whether
    an update installed by the app opens without macOS asking has not been tried
    on a Mac by the people who wrote this; if macOS does ask, the Open Anyway
    steps in the disk image's README apply.
  • What it contacts. GitHub, once a day while the check is on (and the
    Releases API if you include prereleases). docs/PRIVACY.md says what that
    reveals. Turning the check off in Settings stops it.
  • The update file. The release page carries Caterva-0.5.1-macos-arm64.zip
    (what the app downloads) and appcast.xml (what it reads), both in
    SHA256SUMS. You do not need either to install by hand.

How this release was cut

As for 0.5.0: the first attempt is a release candidate, v0.5.1-rc.1, which
runs the whole pipeline and publishes a pre-release; the plain v0.5.1 tag is
cut after a candidate has shipped every artifact. The release stops, and
publishes nothing, if the update key (a repository secret) is missing.

Install

The Mac app (Caterva-0.5.1-macos-arm64.dmg), the app folder (a .tar.gz or
.zip per platform), the Python wheel, or a clone and make setup, from the
releases page. Every file
is listed with its SHA-256 in SHA256SUMS.

Caterva v0.5.0-rc.2

Caterva v0.5.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 18:05

Caterva v0.5.0

Caterva has a window. Caterva Studio shows what caterva compose,
caterva bind, caterva structure and the rest compute, in a page where
every number says whether it was a cited measurement, a fit, a computation,
a value you chose, or a placeholder and why. On an Apple silicon Mac it is
an app, Caterva.app, in a disk image on this page. Everywhere else it is
caterva studio and your browser. This release also adds caterva enzyme,
which tells you which enzyme a name means, and puts the literature search
inside every download, which until now only worked from a source checkout.

Caterva Studio

  • Screens. Home (one written line starts a model), Compose, Constants
    (every BRENDA row the resolver read, with its reference, organism and
    conditions), Stochastic, Binding, Structures (with a 3D view), Prepare,
    Dynamics, Analyze, History, Settings and About. Each runs the same library
    function as its command and shows the command that reproduces it.
  • Nothing is computed twice. A parity test per screen holds the studio's
    numbers equal to the command's, for real inputs.
  • Local and private. The server listens on 127.0.0.1 only, with a fresh
    session key every launch. Runs and settings live in a folder on your
    computer (~/Library/Application Support/Caterva on macOS).
  • Not done yet. There is no Rates screen: caterva rates works in the
    terminal and its screen is reserved. The wheel and the plain app folder
    carry no built page, so caterva studio there serves a page saying so;
    the page comes with the DMG, or from make studio-page in a checkout.
    Two servers on one data folder share settings.json last-writer-wins, and
    a server started with & stops about a second after its parent shell
    exits (docs/studio/README.md).

The Mac app

  • Apple silicon, macOS 14 or later. The libraries inside (NumPy, SciPy,
    libRoadRunner) are built for macOS 14. On an older macOS the app says so
    and quits. There is no Intel build.
  • It is not signed with an Apple Developer ID and not notarised. The
    project holds no Developer ID. To open it: try to open Caterva, dismiss
    the message, then System Settings, Privacy & Security, scroll to the
    message about Caterva, Open Anyway. If macOS keeps refusing, or the window
    says the server could not start:
    xattr -dr com.apple.quarantine /Applications/Caterva.app. Check the
    download first against the SHA-256 in SHA256SUMS on this page.
  • Help, Licences opens the licence texts of everything the app carries,
    including the page's JavaScript packages and typefaces.

Which enzyme does this name mean

caterva enzyme "pyruvate kinase" prints every enzyme the name could mean,
why it matched, its reaction and class, the organism's proteins, and the
exact caterva compose ... --subject EC line to use. It reads the IUBMB
nomenclature as ExPASy ENZYME distributes it (SIB Swiss Institute of
Bioinformatics, CC BY 4.0), packaged with Caterva, so it works offline.

  • One name policy. --subject NAME in caterva compose, caterva structure, the report scripts and the API server resolve a name the same
    way: the nomenclature first, UniProt only for a name it does not hold. A
    name that means several enzymes is refused with each candidate named.
  • A fragment is not a name. "angiotensin converting enzyme" is ACE
    (EC 3.4.15.1), not the start of "angiotensin-converting enzyme 2".
  • The isozyme notice. When an EC number is several proteins in your
    organism (EC 2.7.1.1 is five in human) and you named no --isoform, the
    verdict says so and names them. The constants do not change; the report
    stops implying that they belong to one protein.

The literature search is in the download

Until now caterva compose --subject EC searched BRENDA only from a
checkout. The resolvers are now inside the wheel, the app folder and the
Mac app (caterva/_literature/), and the release build checks that the
frozen folder can run

caterva compose "Michaelis Menten" --subject 2.7.1.1 --organism human --substrate glucose

before it is archived. It reads BRENDA, NCBI, UniProt and PubChem live and
needs a network connection. BRENDA's data are CC BY 4.0; NOTICE carries the
attribution. No recorded page or fixture is shipped.

Also in this release

  • caterva rates fits your own initial rates, with a profile-likelihood
    interval for every constant and what the data cannot determine said
    plainly; caterva analyze reports each catalytic residue's solvent
    exposure and the principal motions of the active site per replica. Both
    are described in CHANGELOG.md, section 0.5.0.
  • The Studio page's third-party packages are listed with their licence
    texts in licenses/THIRD-PARTY-NOTICES.txt beside the page, and NOTICE now
    says what the app and the page carry.
  • caterva md with no arguments says what it needs instead of a Python
    error.
  • Fixed: the app folder's built-in smoke check required a word the
    archived population-genetics engine used to print, which would have
    refused every build; the README inside the folder now describes sim
    as the Gillespie engine it is.

Nothing about the science changed in the commands that existed in 0.4.0.

How this release was cut

The Mac app is built on a macOS runner that this repository's authors cannot
reproduce locally, and a failure there withholds the whole release. So the
first attempt at 0.5.0 is a release candidate, v0.5.0-rc.1, which runs the
whole pipeline and publishes a pre-release; the plain v0.5.0 tag is cut
after a candidate has shipped every artifact. If you are reading this on a
pre-release page, that is why.

Install

Download for your platform from the
releases page: the
Mac app (Caterva-0.5.0-macos-arm64.dmg), the app folder (a .tar.gz or
.zip per platform), the Python wheel, or clone the repository and run
make setup. Every file is listed with its SHA-256 in SHA256SUMS.

Caterva v0.5.0-rc.1

Caterva v0.5.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 06:39

Caterva v0.5.0

Caterva has a window. Caterva Studio shows what caterva compose,
caterva bind, caterva structure and the rest compute, in a page where
every number says whether it was a cited measurement, a fit, a computation,
a value you chose, or a placeholder and why. On an Apple silicon Mac it is
an app, Caterva.app, in a disk image on this page. Everywhere else it is
caterva studio and your browser. This release also adds caterva enzyme,
which tells you which enzyme a name means, and puts the literature search
inside every download, which until now only worked from a source checkout.

Caterva Studio

  • Screens. Home (one written line starts a model), Compose, Constants
    (every BRENDA row the resolver read, with its reference, organism and
    conditions), Stochastic, Binding, Structures (with a 3D view), Prepare,
    Dynamics, Analyze, History, Settings and About. Each runs the same library
    function as its command and shows the command that reproduces it.
  • Nothing is computed twice. A parity test per screen holds the studio's
    numbers equal to the command's, for real inputs.
  • Local and private. The server listens on 127.0.0.1 only, with a fresh
    session key every launch. Runs and settings live in a folder on your
    computer (~/Library/Application Support/Caterva on macOS).
  • Not done yet. There is no Rates screen: caterva rates works in the
    terminal and its screen is reserved. The wheel and the plain app folder
    carry no built page, so caterva studio there serves a page saying so;
    the page comes with the DMG, or from make studio-page in a checkout.
    Two servers on one data folder share settings.json last-writer-wins, and
    a server started with & stops about a second after its parent shell
    exits (docs/studio/README.md).

The Mac app

  • Apple silicon, macOS 14 or later. The libraries inside (NumPy, SciPy,
    libRoadRunner) are built for macOS 14. On an older macOS the app says so
    and quits. There is no Intel build.
  • It is not signed with an Apple Developer ID and not notarised. The
    project holds no Developer ID. To open it: try to open Caterva, dismiss
    the message, then System Settings, Privacy & Security, scroll to the
    message about Caterva, Open Anyway. If macOS keeps refusing, or the window
    says the server could not start:
    xattr -dr com.apple.quarantine /Applications/Caterva.app. Check the
    download first against the SHA-256 in SHA256SUMS on this page.
  • Help, Licences opens the licence texts of everything the app carries,
    including the page's JavaScript packages and typefaces.

Which enzyme does this name mean

caterva enzyme "pyruvate kinase" prints every enzyme the name could mean,
why it matched, its reaction and class, the organism's proteins, and the
exact caterva compose ... --subject EC line to use. It reads the IUBMB
nomenclature as ExPASy ENZYME distributes it (SIB Swiss Institute of
Bioinformatics, CC BY 4.0), packaged with Caterva, so it works offline.

  • One name policy. --subject NAME in caterva compose, caterva structure, the report scripts and the API server resolve a name the same
    way: the nomenclature first, UniProt only for a name it does not hold. A
    name that means several enzymes is refused with each candidate named.
  • A fragment is not a name. "angiotensin converting enzyme" is ACE
    (EC 3.4.15.1), not the start of "angiotensin-converting enzyme 2".
  • The isozyme notice. When an EC number is several proteins in your
    organism (EC 2.7.1.1 is five in human) and you named no --isoform, the
    verdict says so and names them. The constants do not change; the report
    stops implying that they belong to one protein.

The literature search is in the download

Until now caterva compose --subject EC searched BRENDA only from a
checkout. The resolvers are now inside the wheel, the app folder and the
Mac app (caterva/_literature/), and the release build checks that the
frozen folder can run

caterva compose "Michaelis Menten" --subject 2.7.1.1 --organism human --substrate glucose

before it is archived. It reads BRENDA, NCBI, UniProt and PubChem live and
needs a network connection. BRENDA's data are CC BY 4.0; NOTICE carries the
attribution. No recorded page or fixture is shipped.

Also in this release

  • caterva rates fits your own initial rates, with a profile-likelihood
    interval for every constant and what the data cannot determine said
    plainly; caterva analyze reports each catalytic residue's solvent
    exposure and the principal motions of the active site per replica. Both
    are described in CHANGELOG.md, section 0.5.0.
  • The Studio page's third-party packages are listed with their licence
    texts in licenses/THIRD-PARTY-NOTICES.txt beside the page, and NOTICE now
    says what the app and the page carry.
  • caterva md with no arguments says what it needs instead of a Python
    error.
  • Fixed: the app folder's built-in smoke check required a word the
    archived population-genetics engine used to print, which would have
    refused every build; the README inside the folder now describes sim
    as the Gillespie engine it is.

Nothing about the science changed in the commands that existed in 0.4.0.

How this release was cut

The Mac app is built on a macOS runner that this repository's authors cannot
reproduce locally, and a failure there withholds the whole release. So the
first attempt at 0.5.0 is a release candidate, v0.5.0-rc.1, which runs the
whole pipeline and publishes a pre-release; the plain v0.5.0 tag is cut
after a candidate has shipped every artifact. If you are reading this on a
pre-release page, that is why.

Install

Download for your platform from the
releases page: the
Mac app (Caterva-0.5.0-macos-arm64.dmg), the app folder (a .tar.gz or
.zip per platform), the Python wheel, or clone the repository and run
make setup. Every file is listed with its SHA-256 in SHA256SUMS.

Caterva v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 22:42

Caterva v0.4.0

Terrium is now Caterva. A new logo, the same code, the same promise: a
mechanistic model whose every number says where it came from. The new name
ends the confusion with Tellurium, an established and unrelated
systems-biology project, which had already led one researcher to read a
cold email as a false claim of credit.

The new logo is a C made of eleven dots, in ink on paper: caterva is
Latin for a crowd, a band gathered together. Files and colours are in
docs/brand/.

What changes for you

  • The command is caterva. caterva compose "...", caterva sim ...,
    caterva --version. The old terrium command still works as an alias.
  • The Python package is caterva (it was Terium):
    from caterva.compose.pipeline import compose.
  • The repository is https://github.com/math12345678/caterva. GitHub
    redirects the old address, but update your remote:
    git remote set-url origin https://github.com/math12345678/caterva.git.
  • Re-clone if you cloned before 2026-09-27. The history was rewritten
    when the repository went public (below), so an old clone cannot git pull
    the new one.
  • Environment variables were renamed TERRIUM_* to CATERVA_*, for
    example CATERVA_PYTHON. Anyone deploying the API server should rename
    them.

The repository is public

It went public on 2026-09-27. Before that, private business records (a cap
table, a fundraising tracker, a pitch deck and seven internal documents)
were removed from the repository and from its entire history.

Also in this release:

  • Security reports can be filed privately from the repository's Security
    tab, as well as by email.
  • The README quick start said cd main after cloning a repository that
    creates a caterva folder. Fixed.
  • The website credited a nonexistent "Terium" project at a nonexistent
    address as powering its engine, left over from an earlier bulk rename of
    "Tellurium". Removed: the engine is libRoadRunner, credited beside it.
  • Links to domains that never existed (terrium.app, terrium.dev) now
    point at the repository.

Nothing about the science changed. Every test that passed in 0.3.4 passes
here under the new name.

Install

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, and says so.

Terrium v0.3.4

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:38

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.

Terrium v0.3.4-rc.4

Terrium v0.3.4-rc.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:26

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.

Terrium v0.3.4-rc.3

Terrium v0.3.4-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 21:06

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.

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.

Terrium v0.3.4-rc.2

Terrium v0.3.4-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:47

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 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.

Terrium v0.3.4-rc.1

Terrium v0.3.4-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 03:06

Terrium v0.3.4

The first person to run 0.3.3 from a clean checkout found two things that
made it read like a demo rather than a tool. Both are fixed.

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.

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.