Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle compartment nomenclature #1

Open
michaelsilverstein opened this issue Mar 3, 2022 · 1 comment
Open

Handle compartment nomenclature #1

michaelsilverstein opened this issue Mar 3, 2022 · 1 comment
Assignees

Comments

@michaelsilverstein
Copy link
Collaborator

michaelsilverstein commented Mar 3, 2022

BIGG names compartments as e whereas CarveMe uses C_e. Handling:

  1. Infer compartment: default, throw a warning if inferred, throw an error if we can't infer
  2. Force options on user: preference, but prevents unskilled users

For inference, need checkpoint to ensure that all models contain shared compartment

Unittest: on BIGG and CarveMe model

@hgscott hgscott self-assigned this Mar 8, 2022
@michaelsilverstein
Copy link
Collaborator Author

Proposal: we can use the compartment for reactions model.exchanges to find the name of the extracellular compartment.

Reactions are classified as "exchange" reactions if it has no reactants or products (model.reaction.boundary = True).

Here is where model.exchanges is define: https://github.com/opencobra/cobrapy/blob/e838e5403be7243a18dc7ae10e26551cb28d21cc/src/cobra/core/model.py#L966-L972

Where model.reaction.boundary is defined: https://github.com/opencobra/cobrapy/blob/dc68ee66f6192ad02687aa2da12def3cfe36513d/src/cobra/core/reaction.py#L537-L543

Cobrapy even relies on e in compartment name: https://github.com/opencobra/cobrapy/blob/e838e5403be7243a18dc7ae10e26551cb28d21cc/src/cobra/medium/boundary_types.py#L29-L59

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants