Repository navigation
Edge cases of GECKO agree with geckopy - #21
Merged
Merged
Conversation
A model without metFormulas gave an error from the field access; every exchange now gets the carbon number 1 and a warning, as geckopy does.
…rches the selected reactions only
…ion and an unknown condition
…columns, and reads nested parentheses in headers
…eUsage reads filtered usage and rejects a negative topAbsUsage
…-tagged sources by their underlying source
…eld with an opening quote and no closing one
…ctions and leaves out unknown substrates; writeDLKcatInput writes an empty file for an empty selection
… explicit empty ecRxns as no reaction; getStandardKcat matches pseudoreaction names in any case and runs twice on a light ecModel
# Conflicts: # test/VerificationMatrix.tsv
A model without annotation.description gets 'Enzyme-constrained model of <id>'; an existing description is kept, as save_ec_model does.
… and clears its pool coefficients when every kcat is 0
…y the wildcard level and origin in brackets, as geckopy does
…ore the bracketed detail
…unnamed metabolites with a warning
# Conflicts: # test/VerificationMatrix.tsv
# Conflicts: # test/VerificationMatrix.tsv
# Conflicts: # test/VerificationMatrix.tsv
…the model has no eccodes
Unit test results71 tests 71 ✅ 11s ⏱️ Results for commit 87017dc. |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Where GECKO and geckopy gave different results for the same input, both now behave alike. Invalid input raises, data that cannot apply to an item is skipped with a warning, and an explicitly empty list selects nothing. Each change has a unit test (
tc0300totc0700).loadKcatSourceloadKcatSource:quote; a row of empty quoted fields is skippedcollectKcats,mergeKcatsdatabase_topanddatabase_bottomis one candidate list; a leadingokp_of a source is dropped for matchingreadDLKcatOutputinfand malformed kcats are dropped; a row with a substrate the model lacks is dropped with a warning, and the optionstrictraises instead; a file without any kcat raisesreadDLKcatOutput:noKcatswriteDLKcatInputkcatAssignmentConfigmax,min,medianormean, and asourcesthat is not a cell raisekcatAssignment:configkcatsFromECTreeecRxnsselects nothing; a repeated reaction gives one rowgetStandardKcatPseudoreactionandSLIME rxnmatch in any case; a second call on a light model worksassignKcatValuesec.sourceis the lower-case label with(wc=…, origin=…)when known, as geckopy writes itresolveTunableContextcombined (sd=0.10, n=2)belongs to the group of its name before the bracket and gets that group's sigma0ecStatsFromBrenda,loadBrendaMeasurementsloadBRENDAdata, EC keys keep their case;measurements.tsv.xzis read in preference tomeasurements.tsvgetECfromDatabasedisplaywarns and takes the lowest-index protein; an empty logical selection searches nothing; any other action thandisplayorignoreraisesgetECfromDatabase:unsupportedActionecFSEOFgetECfromGEMmodel.eccodeswarns (getECfromGEM:noEccodes) and every EC number is emptyfindMetSmilesfillCarbonNummetFormulaswarns and gives every exchange the carbon number 1addNewRxnsToEC,applyComplexDatacalculateFfactor,relaxProteomicsGreedy{}means no enzymes,[]means every enzymeconstrainEnzConcs,fillEnzConcsconstrainFluxData,loadFluxDatamaxMinGrowth, an unknown condition, a missing file, a file without exchange columns and a ragged row raisegetEnzymeUsage,reportEnzymeUsagezero=falseworks; a negativetopAbsUsageraisestruncateValuesInfis returned unchangedapplyKcatConstraintssaveEcModelThe format change for ec reactions without enzymes (no
enzymesentry) is in RAVEN (writeYAMLmodel), whichsaveEcModeluses; this branch has its test,tc0700. Parity: CompMetEng/raven-gecko-parity ledger and scenarios.