Repository navigation
geckopy 0.1.0a3 (second alpha)
Pre-release
Pre-release
Second public alpha. Layering pass: the bits of geckopy that aren't GECKO-specific moved into raven-python, and gecko-light ecModels are now buildable end-to-end. Repo housekeeping for a discoverable first GitHub release.
(v0.1.0a2 was tagged earlier but its release.yml build failed — hatchling rejected the raven-python @ git+https://... direct reference. v0.1.0a3 carries the same content with the one-line [tool.hatch.metadata] allow-direct-references = true fix.)
Install
pip install \
git+https://github.com/SysBioChalmers/raven-python.git@develop \
git+https://github.com/SysBioChalmers/geckopy.git@v0.1.0a3raven-python is not yet on PyPI; geckopy's PyPI name is currently taken by another project. Both currently install from git.
Highlights
- gecko-light ecModel end-to-end (#20) —
make_ec_model(gecko_light=True)produces a working light ecModel; cobra reactions stay singular and per-isozyme coupling lives inec.rxnsas duplicate rows with a###_counter prefix.apply_kcat_constraintspicks the lowest-cost isozyme per cobra reaction. Newtutorials/light_ecModel/protocol.py+ opt-in Human-GEM smoke test (pytest -m smoke, ~2.5 min). Seedocs/gecko_light_status.md. - YAML I/O + typed
EcDatadelegated to raven-python (#19) —save_ec_model/load_ec_modelare now ~80-LOC wrappers aroundraven_python.io.read_yaml_model/write_yaml_model. SBML ecModel I/O removed (cobra.io.read_sbml_modelis still used for loading the conventional starting GEM).geckopy.EcDatare-exports raven'sEcData. Seedocs/raven_integration.md. ec_fseofre-aligned withraven_python.analysis.fseof(#21) — thin wrapper over raven's regression-based FSEOF; selection moves from MATLAB GECKO's strict monotonicity + top-25 %-by-slope to|correlation| ≥ thresholdwith pFBA per step. Result type is raven'sFSEOFResult; action labels areamplify/knockdown/knockout.get_conc_control_coeffssolver-state guard fix — gates both shadow-price and finite-difference helpers onsol.status == "optimal"; previously accepted infeasible-LP states where glpk returns a non-NaN objective from the binding-constraint rhs.
Removed (breaking from 0.1.0a1)
geckopy.io.sbml.{read,write}_sbml_ec_modeland thegeckopy.iopackage.geckopy.EcFseofResult(useraven_python.analysis.fseof.FSEOFResult).- Top-level
requirements.txt(apip freezesnapshot duplicatingpyproject.toml).
Repo housekeeping (PRs #22, #23, #24)
- MIT
LICENSEtext added at repo root (was only declared inpyproject.toml). - Internal planning docs moved from
docs/todocs/internal/so the user-facing tree only carries reference documentation. [tool.hatch.metadata] allow-direct-references = truesopython -m buildaccepts the raven-python git URL dependency.permissions: contents: writeon the release.yml build job sosoftprops/action-gh-releasecan attach assets without HTTP 403.
Full notes: CHANGELOG.md § 0.1.0a3 + § 0.1.0a2.